路泰机电科技体检——数据平台后端
zhaowenxuan
2025-06-19 e460e434fe3975a4ae33466710d8292245ad8e07
2025-06-19
2 文件已复制
4个文件已修改
1 文件已重命名
334 ■■■■■ 已修改文件
src/main/java/com/example/factory/ServiceFactory.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/service/shanjianyi/shanxiqin/baoji/bjfhyy/BjfhyyHisService.java 75 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/service/shanjianyi/shanxiqin/baoji/bjfhyy/DictionaryUtilShanXiBaoJiBjfhyy.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/service/shanjianyi/shanxiqin/baoji/bjsqyy/BjsqyyHisService.java 75 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/service/shanjianyi/shanxiqin/baoji/bjsqyy/DictionaryUtilShanXiBaoJiBjsqyy.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/service/shanjianyi/shanxiqin/baoji/ssyjyy/DictionaryUtilShanXiBaoJiSsyjyy.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/service/shanjianyi/shanxiqin/baoji/ssyjyy/SsyjyyHisService.java 76 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/factory/ServiceFactory.java
@@ -55,6 +55,10 @@
                return "ShanXiQinBaoJiBjxjyy";
            case "shanxiqinbjfhyy":
                return "ShanXiQinBaoJiBjfhyy";
            case "shanxiqinbjsqyy":
                return "ShanXiQinBaoJiBjsqyy";
            case "shanxiqinssyjyy":
                return "ShanXiQinBaoJiSsyjyy";
            default:
                throw new RuntimeException("找不到对应的医院服务配置:" + hospName);
        }
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;
src/main/java/com/example/service/shanjianyi/shanxiqin/baoji/bjfhyy/DictionaryUtilShanXiBaoJiBjfhyy.java
File was renamed from src/main/java/com/example/utils/synczd/shanjianyi/DictionaryUtilShanXiWeiNanBjfhyy.java
@@ -1,4 +1,4 @@
package com.example.utils.synczd.shanjianyi;
package com.example.service.shanjianyi.shanxiqin.baoji.bjfhyy;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONArray;
@@ -33,42 +33,14 @@
 */
@Slf4j
@Component
public class DictionaryUtilShanXiWeiNanBjfhyy {
public class DictionaryUtilShanXiBaoJiBjfhyy {
//    @Autowired
//    private ConfigValue configValue;
    @Autowired
    private HisSyncDictMapper hisSyncDictMapper;
    @Autowired
    private DictCommonHisConfigService dictCommonHisConfigService;
//    private static String CONFIG_PATH;
//    private static String BASE_API_URL = "";
    private static final int SIZE = 100;
//    private static String USER = "";
//    private static String PASSWORD = "";
//    private static String URL = "";
//    private static String NAME = "";
//    @Value("${config.path}")
//    public void setConfigPath(String configPath) {
//        CONFIG_PATH = configPath;
//        NAME = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.name");
//        URL = "jdbc:mysql://" + configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.ip")
//        + ":" + configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.prot") + "/" + NAME +
//                "?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8";
//        USER = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.username");
//        PASSWORD = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.password");
//        String apiUrl = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.his_api_url");
//        String apiPort = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.his_api_port");
//        BASE_API_URL = apiUrl+":"+apiPort+configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.hisapiappend");
//    }
    /**
     * 暂时不做
     * 1.90 门诊明细计费及组合计费项目 MZJFZHMXXM
     *
     */
// 分页每次1000条
    static {
@@ -290,7 +262,7 @@
            connection.setRequestProperty("Authorization", token);
            log.info("请求接口 ->{}", hisSyncDict.getUrl());
            if (hisSyncDict.getUrl().equals("/zhuShuJu/getListYiShengZd") || hisSyncDict.getUrl().equals("/zhuShuJu/getZhiGongPage") || hisSyncDict.getUrl().equals("/zhuShuJu/getJianChaXm")){
                connection.setRequestProperty("dangQianYhId","1001");
                connection.setRequestProperty("dangQianYhId","1323");
                if (hisSyncDict.getUrl().equals("/zhuShuJu/getJianChaXm"))
                    connection.setRequestProperty("yuanQuId","1");
            }
src/main/java/com/example/service/shanjianyi/shanxiqin/baoji/bjsqyy/BjsqyyHisService.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.DictionaryUtilShanXiWeiNanBjxjyy;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
@@ -35,7 +34,7 @@
@Service("ShanXiQinBaoJiBjsqyy")
public class BjsqyyHisService implements HisService {
    @Autowired
    private DictionaryUtilShanXiWeiNanBjxjyy syncZd;
    private DictionaryUtilShanXiBaoJiBjsqyy syncZd;
    @Autowired
    private ConfigValue configValue;
@@ -50,6 +49,10 @@
    @Autowired
    private DictCommonHisConfigService dictCommonHisConfigService;
    private static final String HOSP_ID = "bjsqyy";
    private static final String TJ_HOSP_ID = "shanxiqinbjsqyy";
    //获取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("bjsqyy", "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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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("bjsqyy");
        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","bjsqyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjsqyy");
        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:shanxiqinbjsqyy");
        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:shanxiqinbjsqyy");
        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:shanxiqinbjsqyy");
        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:shanxiqinbjsqyy", parseObj);
                redisTemplate.expire("token:his:shanxiqinbjsqyy", 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","shanxiqinbjsqyy");
        map.put("hosp",TJ_HOSP_ID);
        HashMap<String, Object> headers = new HashMap<>();
        headers.put("hospId","bjsqyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjsqyy");
        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:shanxiqinbjsqyy");
            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:shanxiqinbjsqyy", parseObj);
                            redisTemplate.expire("token:his:shanxiqinbjsqyy", 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:shanxiqinbjsqyy", parseObj);
                        redisTemplate.expire("token:his:shanxiqinbjsqyy", 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;
src/main/java/com/example/service/shanjianyi/shanxiqin/baoji/bjsqyy/DictionaryUtilShanXiBaoJiBjsqyy.java
copy from src/main/java/com/example/utils/synczd/shanjianyi/DictionaryUtilShanXiWeiNanBjfhyy.java copy to src/main/java/com/example/service/shanjianyi/shanxiqin/baoji/bjsqyy/DictionaryUtilShanXiBaoJiBjsqyy.java
File was copied from src/main/java/com/example/utils/synczd/shanjianyi/DictionaryUtilShanXiWeiNanBjfhyy.java
@@ -1,4 +1,4 @@
package com.example.utils.synczd.shanjianyi;
package com.example.service.shanjianyi.shanxiqin.baoji.bjsqyy;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONArray;
@@ -33,42 +33,14 @@
 */
@Slf4j
@Component
public class DictionaryUtilShanXiWeiNanBjfhyy {
public class DictionaryUtilShanXiBaoJiBjsqyy {
//    @Autowired
//    private ConfigValue configValue;
    @Autowired
    private HisSyncDictMapper hisSyncDictMapper;
    @Autowired
    private DictCommonHisConfigService dictCommonHisConfigService;
//    private static String CONFIG_PATH;
//    private static String BASE_API_URL = "";
    private static final int SIZE = 100;
//    private static String USER = "";
//    private static String PASSWORD = "";
//    private static String URL = "";
//    private static String NAME = "";
//    @Value("${config.path}")
//    public void setConfigPath(String configPath) {
//        CONFIG_PATH = configPath;
//        NAME = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.name");
//        URL = "jdbc:mysql://" + configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.ip")
//        + ":" + configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.prot") + "/" + NAME +
//                "?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8";
//        USER = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.username");
//        PASSWORD = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.password");
//        String apiUrl = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.his_api_url");
//        String apiPort = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.his_api_port");
//        BASE_API_URL = apiUrl+":"+apiPort+configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.hisapiappend");
//    }
    /**
     * 暂时不做
     * 1.90 门诊明细计费及组合计费项目 MZJFZHMXXM
     *
     */
// 分页每次1000条
    static {
@@ -83,7 +55,7 @@
     * 进行同步
     */
    public void exec(List<HisSyncDict> hisSyncDicts, String token){
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjsqyy");
        log.info("开始执行同步");
        Connection connection = getConnection(config);
        if (connection == null)
src/main/java/com/example/service/shanjianyi/shanxiqin/baoji/ssyjyy/DictionaryUtilShanXiBaoJiSsyjyy.java
copy from src/main/java/com/example/utils/synczd/shanjianyi/DictionaryUtilShanXiWeiNanBjfhyy.java copy to src/main/java/com/example/service/shanjianyi/shanxiqin/baoji/ssyjyy/DictionaryUtilShanXiBaoJiSsyjyy.java
File was copied from src/main/java/com/example/utils/synczd/shanjianyi/DictionaryUtilShanXiWeiNanBjfhyy.java
@@ -1,4 +1,4 @@
package com.example.utils.synczd.shanjianyi;
package com.example.service.shanjianyi.shanxiqin.baoji.ssyjyy;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONArray;
@@ -33,42 +33,14 @@
 */
@Slf4j
@Component
public class DictionaryUtilShanXiWeiNanBjfhyy {
public class DictionaryUtilShanXiBaoJiSsyjyy {
//    @Autowired
//    private ConfigValue configValue;
    @Autowired
    private HisSyncDictMapper hisSyncDictMapper;
    @Autowired
    private DictCommonHisConfigService dictCommonHisConfigService;
//    private static String CONFIG_PATH;
//    private static String BASE_API_URL = "";
    private static final int SIZE = 100;
//    private static String USER = "";
//    private static String PASSWORD = "";
//    private static String URL = "";
//    private static String NAME = "";
//    @Value("${config.path}")
//    public void setConfigPath(String configPath) {
//        CONFIG_PATH = configPath;
//        NAME = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.name");
//        URL = "jdbc:mysql://" + configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.ip")
//        + ":" + configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.prot") + "/" + NAME +
//                "?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8";
//        USER = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.username");
//        PASSWORD = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.password");
//        String apiUrl = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.his_api_url");
//        String apiPort = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.his_api_port");
//        BASE_API_URL = apiUrl+":"+apiPort+configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.hisapiappend");
//    }
    /**
     * 暂时不做
     * 1.90 门诊明细计费及组合计费项目 MZJFZHMXXM
     *
     */
// 分页每次1000条
    static {
@@ -83,7 +55,7 @@
     * 进行同步
     */
    public void exec(List<HisSyncDict> hisSyncDicts, String token){
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjfhyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        log.info("开始执行同步");
        Connection connection = getConnection(config);
        if (connection == null)
@@ -290,7 +262,7 @@
            connection.setRequestProperty("Authorization", token);
            log.info("请求接口 ->{}", hisSyncDict.getUrl());
            if (hisSyncDict.getUrl().equals("/zhuShuJu/getListYiShengZd") || hisSyncDict.getUrl().equals("/zhuShuJu/getZhiGongPage") || hisSyncDict.getUrl().equals("/zhuShuJu/getJianChaXm")){
                connection.setRequestProperty("dangQianYhId","1001");
                connection.setRequestProperty("dangQianYhId","1025");
                if (hisSyncDict.getUrl().equals("/zhuShuJu/getJianChaXm"))
                    connection.setRequestProperty("yuanQuId","1");
            }
src/main/java/com/example/service/shanjianyi/shanxiqin/baoji/ssyjyy/SsyjyyHisService.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.DictionaryUtilShanXiWeiNanBjxjyy;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
@@ -35,7 +34,7 @@
@Service("ShanXiQinBaoJiSsyjyy")
public class SsyjyyHisService implements HisService {
    @Autowired
    private DictionaryUtilShanXiWeiNanBjxjyy syncZd;
    private DictionaryUtilShanXiBaoJiSsyjyy syncZd;
    @Autowired
    private ConfigValue configValue;
@@ -50,6 +49,11 @@
    @Autowired
    private DictCommonHisConfigService dictCommonHisConfigService;
    private static final String HOSP_ID = "ssyjyy";
    private static final String TJ_HOSP_ID = "shanxiqinssyjyy";
    //获取token
    private JSONObject getToken () {
        String GRANT_TYPE = "client_credentials";
@@ -62,7 +66,7 @@
        map.put("client_secret", CLIENT_SECRET);
//        map.put("scope",SCOP);
//        String post = sendPostTokenFormUrlencoded (HIS_URL+"/oauth/token", map);
        String his_url = dictCommonHisConfigService.getConfigValByHospitalAndKey("ssyjyy", "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 +94,7 @@
        map.put ("feiYongLb","");
        map.put ("feiYongXz","");
        map.put ("jiLuLy","3");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        map.put ("caoZuoYuan",config.getCzyId());
        map.put ("chongZhiJe","");
        map.put ("yiBaoKh","");
@@ -121,7 +125,7 @@
    @Override
    public String getBingRenXxByShengFenZheng(Map<String, Object> params) {
        Map<String, Object> map = new HashMap<> ();
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        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 +178,7 @@
        map.put ("feiYongLb","");
        map.put ("feiYongXz","");
        map.put ("jiLuLy","3");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        map.put ("caoZuoYuan",config.getCzyId());
        //职业编码
        String post = sendPost(config.getHisUrl() + "/menZhenJz/saveBingRenXx", map);
@@ -198,7 +202,7 @@
        map.put ("jiuZhenKh",params.get(ApiParamsConstants.CARD_ID));
        map.put ("yuanQuId","1");
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        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 +220,7 @@
    @Override
    public String createMenZhenFy(Map<String, Object> params) {
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        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 +270,7 @@
            ids.add(object);
        });
        map.put ("feiYongIdList",ids);
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        //职业编码
        String post = sendPost(config.getHisUrl() + "/shouFei/cheXiaoMzFy", map);
        JSONObject entries = JSONUtil.parseObj(post);
@@ -283,7 +287,7 @@
        map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX));
        map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE));
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getKeShi", map);
    }
@@ -296,7 +300,7 @@
        map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX));
        map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE));
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getListYiShengZd", map);
    }
@@ -308,7 +312,7 @@
        map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX));
        map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE));
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getShouFeiXm", map);
    }
@@ -322,7 +326,7 @@
        map.put ("keShiIds",params.get(ApiParamsConstants.DEPT_IDS));
        map.put ("ifPlus","");
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getKeShiByConditions", map);
    }
@@ -333,7 +337,7 @@
        map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX));
        map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE));
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getYangBen", map);
    }
@@ -345,7 +349,7 @@
        map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX));
        map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE));
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getListBingQuZd", map);
    }
@@ -356,7 +360,7 @@
        map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX));
        map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE));
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getZhiGongPage", map);
    }
@@ -368,7 +372,7 @@
        map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX));
        map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE));
        //职业编码
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getJianChaXm", map);
    }
@@ -378,7 +382,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("ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getJianYanXm", hashMap);
    }
@@ -387,7 +391,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("ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getShouFeiXmJg", hashMap);
    }
@@ -397,7 +401,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("ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getRongQi", hashMap);
    }
@@ -407,7 +411,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("ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital(HOSP_ID);
        return sendPost(config.getHisUrl()+"/zhuShuJu/getYangBen", hashMap);
    }
@@ -424,8 +428,8 @@
        // 参数类型区分
        map.put("type","1");
        HashMap<String, Object> headers = new HashMap<>();
        headers.put("hospId","ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        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 +447,7 @@
    private String sendPost(String url, Map<String, Object> hashMap){
        Map<Object, Object> entries = redisTemplate.opsForHash().entries("token:his:shanxiqinssyjyy");
        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 +473,7 @@
    }
    private String sendPostTokenFormUrlencoded(String url, Map<String, Object> hashMap){
        Map<Object, Object> entries = redisTemplate.opsForHash().entries("token:his:shanxiqinssyjyy");
        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 +495,7 @@
    }
    private String sendPostTokenFormData(String url, Map<String, Object> hashMap){
        Map<Object, Object> entries = redisTemplate.opsForHash().entries("token:his:shanxiqinssyjyy");
        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 +525,8 @@
            Integer expiresIn = parseObj.getInt("expires_in");
            if (expiresIn != null) {
                parseObj.putOpt("time", Instant.now().getEpochSecond());
                redisTemplate.opsForHash().putAll("token:his:shanxiqinssyjyy", parseObj);
                redisTemplate.expire("token:his:shanxiqinssyjyy", 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 +558,16 @@
    @Override
    public void syncDict(String hospName) {
        HashMap<String, Object> map = new HashMap<>();
        map.put("hosp","shanxiqinssyjyy");
        map.put("hosp",TJ_HOSP_ID);
        HashMap<String, Object> headers = new HashMap<>();
        headers.put("hospId","ssyjyy");
        DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("ssyjyy");
        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:shanxiqinssyjyy");
            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 +581,8 @@
                        expiresIn = parseObj.getLong("expires_in");
                        if (expiresIn != null) {
                            parseObj.putOpt("time", Instant.now().getEpochSecond());
                            redisTemplate.opsForHash().putAll("token:his:shanxiqinssyjyy", parseObj);
                            redisTemplate.expire("token:his:shanxiqinssyjyy", 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 +599,8 @@
                    Integer expiresIn = parseObj.getInt("expires_in");
                    if (expiresIn != null) {
                        parseObj.putOpt("time", Instant.now().getEpochSecond());
                        redisTemplate.opsForHash().putAll("token:his:shanxiqinssyjyy", parseObj);
                        redisTemplate.expire("token:his:shanxiqinssyjyy", 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;