路泰机电科技体检——数据平台后端
zhaowenxuan
2025-06-19 e460e434fe3975a4ae33466710d8292245ad8e07
src/main/java/com/example/service/shanjianyi/shanxiqin/baoji/bjfhyy/BjfhyyHisService.java
@@ -16,7 +16,6 @@
import com.example.utils.AjaxResult;
import com.example.utils.FieldNameConverter;
import com.example.utils.HttpClientUtils;
import com.example.utils.synczd.shanjianyi.DictionaryUtilShanXiWeiNanBjfhyy;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
@@ -35,7 +34,7 @@
@Service("ShanXiQinBaoJiBjfhyy")
public class BjfhyyHisService implements HisService {
    @Autowired
    private DictionaryUtilShanXiWeiNanBjfhyy syncZd;
    private DictionaryUtilShanXiBaoJiBjfhyy syncZd;
    @Autowired
    private ConfigValue configValue;
@@ -50,6 +49,10 @@
    @Autowired
    private DictCommonHisConfigService dictCommonHisConfigService;
    private static final String HOSP_ID = "bjfhyy";
    private static final String TJ_HOSP_ID = "shanxiqinbjfhyy";
    //获取token
    private JSONObject getToken () {
        String GRANT_TYPE = "client_credentials";
@@ -62,7 +65,7 @@
        map.put("client_secret", CLIENT_SECRET);
//        map.put("scope",SCOP);
//        String post = sendPostTokenFormUrlencoded (HIS_URL+"/oauth/token", map);
        String his_url = dictCommonHisConfigService.getConfigValByHospitalAndKey("bjfhyy", "HIS_URL");
        String his_url = dictCommonHisConfigService.getConfigValByHospitalAndKey(HOSP_ID, "HIS_URL");
        String post = HttpClientUtils.sendPostTokenFormUrlencoded(his_url + "/oauth/token", map, null);
        if (StrUtil.isBlank(post)) return null;
        return JSONUtil.parseObj(post);
@@ -90,7 +93,7 @@
        map.put ("feiYongLb","");
        map.put ("feiYongXz","");
        map.put ("jiLuLy","3");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        map.put ("caoZuoYuan",config.getCzyId());
        map.put ("chongZhiJe","");
        map.put ("yiBaoKh","");
@@ -121,7 +124,7 @@
    @Override
    public String getBingRenXxByShengFenZheng(Map<String, Object> params) {
        Map<String, Object> map = new HashMap<> ();
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        map.put ("caoZuoYuan",config.getCzyId());
        map.put ("shenFenZh", params.get(ApiParamsConstants.CUS_ID_CARD));
        map.put ("danWeiBh",params.get(ApiParamsConstants.COMP_ID));
@@ -174,7 +177,7 @@
        map.put ("feiYongLb","");
        map.put ("feiYongXz","");
        map.put ("jiLuLy","3");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        map.put ("caoZuoYuan",config.getCzyId());
        //职业编码
        String post = sendPost(config.getHisUrl() + "/menZhenJz/saveBingRenXx", map);
@@ -198,7 +201,7 @@
        map.put ("jiuZhenKh",params.get(ApiParamsConstants.CARD_ID));
        map.put ("yuanQuId","1");
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        String post = sendPost(config.getHisUrl() + "/shouFei/getListDaiShouFei", map);
        JSONObject jsonObject = JSONUtil.parseObj(post);
        if (jsonObject.getStr("returnCode").equals("1")) {
@@ -216,7 +219,7 @@
    @Override
    public String createMenZhenFy(Map<String, Object> params) {
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        Map<String, Object> map = new HashMap<> ();
        map.put ("bingRenId",params.get(ApiParamsConstants.PATIONID));
        map.put ("jiuZhenKh",params.get(ApiParamsConstants.CARD_ID));
@@ -266,7 +269,7 @@
            ids.add(object);
        });
        map.put ("feiYongIdList",ids);
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        //职业编码
        String post = sendPost(config.getHisUrl() + "/shouFei/cheXiaoMzFy", map);
        JSONObject entries = JSONUtil.parseObj(post);
@@ -283,7 +286,7 @@
        map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX));
        map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE));
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getKeShi", map);
    }
@@ -296,7 +299,7 @@
        map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX));
        map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE));
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getListYiShengZd", map);
    }
@@ -308,7 +311,7 @@
        map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX));
        map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE));
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getShouFeiXm", map);
    }
@@ -322,7 +325,7 @@
        map.put ("keShiIds",params.get(ApiParamsConstants.DEPT_IDS));
        map.put ("ifPlus","");
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getKeShiByConditions", map);
    }
@@ -333,7 +336,7 @@
        map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX));
        map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE));
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getYangBen", map);
    }
@@ -345,7 +348,7 @@
        map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX));
        map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE));
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getListBingQuZd", map);
    }
@@ -356,7 +359,7 @@
        map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX));
        map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE));
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getZhiGongPage", map);
    }
@@ -368,7 +371,7 @@
        map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX));
        map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE));
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getJianChaXm", map);
    }
@@ -378,7 +381,7 @@
        hashMap.put("queryCode",map.get(ApiParamsConstants.COMMON_QUERY_KEY));
        hashMap.put("page",map.get(ApiParamsConstants.PAGE_INDEX));
        hashMap.put("size",map.get(ApiParamsConstants.PAGE_SIZE));
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getJianYanXm", hashMap);
    }
@@ -387,7 +390,7 @@
        HashMap<String, Object> hashMap = new HashMap<>();
        hashMap.put("shouFeiXmId",map.get(ApiParamsConstants.COMMON_QUERY_KEY));
        hashMap.put("jiaGeTx",map.get(ApiParamsConstants.COMMON_QUERY_KEY2));
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getShouFeiXmJg", hashMap);
    }
@@ -397,7 +400,7 @@
        hashMap.put("queryString",map.get(ApiParamsConstants.COMMON_QUERY_KEY));
        hashMap.put("pageIndex",map.get(ApiParamsConstants.PAGE_INDEX));
        hashMap.put("pageSize",map.get(ApiParamsConstants.PAGE_SIZE));
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getRongQi", hashMap);
    }
@@ -407,7 +410,7 @@
        hashMap.put("queryString",map.get(ApiParamsConstants.COMMON_QUERY_KEY));
        hashMap.put("pageIndex",map.get(ApiParamsConstants.PAGE_INDEX));
        hashMap.put("pageSize",map.get(ApiParamsConstants.PAGE_SIZE));
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getYangBen", hashMap);
    }
@@ -424,8 +427,8 @@
        // 参数类型区分
        map.put("type","1");
        HashMap<String, Object> headers = new HashMap<>();
        headers.put("hospId","bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        headers.put("hospId",HOSP_ID);
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        String post = HttpClientUtils.sendPost(config.getTjUrl() + "/callBack/pushZhiFuMsg", map,headers);
        JSONObject jsonObject = JSONUtil.parseObj(post);
        JSONObject obj = JSONUtil.createObj();
@@ -443,7 +446,7 @@
    private String sendPost(String url, Map<String, Object> hashMap){
        Map<Object, Object> entries = redisTemplate.opsForHash().entries("token:his:shanxiqinbjfhyy");
        Map<Object, Object> entries = redisTemplate.opsForHash().entries("token:his:"+TJ_HOSP_ID);
        if (entries != null && !entries.isEmpty()) {
            String timeStr = entries.get("time").toString();
            String expiresInStr = entries.get("expires_in").toString();
@@ -469,7 +472,7 @@
    }
    private String sendPostTokenFormUrlencoded(String url, Map<String, Object> hashMap){
        Map<Object, Object> entries = redisTemplate.opsForHash().entries("token:his:shanxiqinbjfhyy");
        Map<Object, Object> entries = redisTemplate.opsForHash().entries("token:his:"+TJ_HOSP_ID);
        if (!entries.isEmpty()) {
            String timeStr = entries.get("time").toString();
            String expiresInStr = entries.get("expires_in").toString();
@@ -491,7 +494,7 @@
    }
    private String sendPostTokenFormData(String url, Map<String, Object> hashMap){
        Map<Object, Object> entries = redisTemplate.opsForHash().entries("token:his:shanxiqinbjfhyy");
        Map<Object, Object> entries = redisTemplate.opsForHash().entries("token:his:"+TJ_HOSP_ID);
        if (entries != null && !entries.isEmpty()) {
            String timeStr = entries.get("time").toString();
            String expiresInStr = entries.get("expires_in").toString();
@@ -521,8 +524,8 @@
            Integer expiresIn = parseObj.getInt("expires_in");
            if (expiresIn != null) {
                parseObj.putOpt("time", Instant.now().getEpochSecond());
                redisTemplate.opsForHash().putAll("token:his:shanxiqinbjfhyy", parseObj);
                redisTemplate.expire("token:his:shanxiqinbjfhyy", expiresIn - 10, TimeUnit.SECONDS);
                redisTemplate.opsForHash().putAll("token:his:"+TJ_HOSP_ID, parseObj);
                redisTemplate.expire("token:his:"+TJ_HOSP_ID, expiresIn - 10, TimeUnit.SECONDS);
                String accessToken = parseObj.getStr("access_token");
                String tokenType = parseObj.getStr("token_type");
@@ -554,16 +557,16 @@
    @Override
    public void syncDict(String hospName) {
        HashMap<String, Object> map = new HashMap<>();
        map.put("hosp","shanxiqinbjfhyy");
        map.put("hosp",TJ_HOSP_ID);
        HashMap<String, Object> headers = new HashMap<>();
        headers.put("hospId","bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        headers.put("hospId",HOSP_ID);
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        String post = HttpClientUtils.sendPost(config.getTjUrl() + "/callBack/getZdList", map,headers);
        JSONArray jsonArray = JSONUtil.parseObj(post).getJSONArray("data");
        if (jsonArray != null && !jsonArray.isEmpty()) {
            List<HisSyncDict> list = jsonArray.toList(HisSyncDict.class);
            String token = "";
            Map<Object, Object> entries = redisTemplate.opsForHash().entries("token:his:shanxiqinbjfhyy");
            Map<Object, Object> entries = redisTemplate.opsForHash().entries("token:his:"+TJ_HOSP_ID);
            if (!entries.isEmpty()) {
                String timeStr = entries.get("time").toString();
                String expiresInStr = entries.get("expires_in").toString();
@@ -577,8 +580,8 @@
                        expiresIn = parseObj.getLong("expires_in");
                        if (expiresIn != null) {
                            parseObj.putOpt("time", Instant.now().getEpochSecond());
                            redisTemplate.opsForHash().putAll("token:his:shanxiqinbjfhyy", parseObj);
                            redisTemplate.expire("token:his:shanxiqinbjfhyy", expiresIn - 10, TimeUnit.SECONDS);
                            redisTemplate.opsForHash().putAll("token:his:"+TJ_HOSP_ID, parseObj);
                            redisTemplate.expire("token:his:"+TJ_HOSP_ID, expiresIn - 10, TimeUnit.SECONDS);
                            String accessToken = parseObj.getStr("access_token");
                            String tokenType = parseObj.getStr("token_type");
                            token = tokenType + " " + accessToken;
@@ -595,8 +598,8 @@
                    Integer expiresIn = parseObj.getInt("expires_in");
                    if (expiresIn != null) {
                        parseObj.putOpt("time", Instant.now().getEpochSecond());
                        redisTemplate.opsForHash().putAll("token:his:shanxiqinbjfhyy", parseObj);
                        redisTemplate.expire("token:his:shanxiqinbjfhyy", expiresIn - 10, TimeUnit.SECONDS);
                        redisTemplate.opsForHash().putAll("token:his:"+TJ_HOSP_ID, parseObj);
                        redisTemplate.expire("token:his:"+TJ_HOSP_ID, expiresIn - 10, TimeUnit.SECONDS);
                        String accessToken = parseObj.getStr("access_token");
                        String tokenType = parseObj.getStr("token_type");
                        token = tokenType + " " + accessToken;