| | |
| | | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.json.JSON; |
| | | import cn.hutool.json.JSONObject; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.example.config.ConfigValue; |
| | | import com.example.domain.TjCustomer; |
| | | import com.example.dto.xian.meiji.CheXiaoMzFyDto; |
| | | import com.example.dto.xian.meiji.CreateMenZhenFyDto; |
| | | import com.example.constant.ApiParamsConstants; |
| | | import com.example.service.HisService; |
| | | import com.example.service.ISysConfigService; |
| | | import com.example.utils.FieldNameConverter; |
| | | import com.example.utils.HttpClientUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Qualifier; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.context.ApplicationContext; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.io.FileInputStream; |
| | | import java.io.IOException; |
| | | import java.time.Instant; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Properties; |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | /** |
| | |
| | | map.put("client_id", CLIENT_ID); |
| | | map.put("client_secret", CLIENT_SECRET); |
| | | // map.put("scope",SCOP); |
| | | String post = sendPost (HIS_URL+"/oauth/token", map); |
| | | String post = sendPostTokenFormUrlencoded (HIS_URL+"/oauth/token", map); |
| | | if (StrUtil.isBlank(post)) return null; |
| | | return JSONUtil.parseObj(post); |
| | | } |
| | | |
| | | //建档 |
| | | public String jianDang (TjCustomer customer) { |
| | | @Override |
| | | public String jianDang(Map<String, Object> params) { |
| | | String czy = configService.selectConfigByKey("dfhisczybm"); |
| | | |
| | | Map<String, Object> map = new HashMap<> (); |
| | | map.put ("jiuZhenKh", customer.getPationId ()); |
| | | map.put ("jiuZhenKh", params.get(ApiParamsConstants.CARD_ID)); |
| | | map.put ("kaiLeiXing","4"); |
| | | map.put ("xingMing", customer.getCusName ()); |
| | | Long cusSex = customer.getCusSex(); |
| | | map.put ("xingMing", params.get(ApiParamsConstants.CUS_NAME)); |
| | | long cusSex = Long.parseLong(map.get(ApiParamsConstants.CUS_SEX).toString()); |
| | | if(cusSex==0L){ |
| | | map.put ("xingBie","男"); |
| | | }else if(cusSex==1L){ |
| | |
| | | }else { |
| | | map.put ("xingBie","未知"); |
| | | } |
| | | map.put ("shenFenZh", customer.getCusIdcard ()); |
| | | map.put ("shenFenZh", ApiParamsConstants.CUS_ID_CARD); |
| | | map.put ("danWeiBh",""); |
| | | map.put ("chuShengRq", DateUtil.format(customer.getCusBrithday(),"yyyy-MM-dd")); |
| | | map.put ("lianXiDz", customer.getCusAddr()); |
| | | map.put ("lianXiDh", customer.getCusPhone ()); |
| | | map.put ("chuShengRq", DateUtil.format((LocalDateTime) map.get(ApiParamsConstants.CUS_BRITHDAY),"yyyy-MM-dd")); |
| | | map.put ("lianXiDz", map.get(ApiParamsConstants.CUS_ADDR)); |
| | | map.put ("lianXiDh", map.get(ApiParamsConstants.CUS_PHONE)); |
| | | map.put ("feiYongLb",""); |
| | | map.put ("feiYongXz",""); |
| | | map.put ("jiLuLy","3"); |
| | |
| | | map.put ("yiBaoKh",""); |
| | | map.put ("geRenBh",""); |
| | | map.put ("yiBaoBrXx",""); |
| | | map.put ("gongZuoDw",customer.getCompName()); |
| | | map.put ("gongZuoDw",params.get(ApiParamsConstants.COMP_NAME)); |
| | | map.put ("canBaoXzMc",""); |
| | | map.put ("muLuBlLb",""); |
| | | map.put ("kunNanJzDj",""); |
| | |
| | | map.put ("minZuDm",""); |
| | | map.put ("minZuMc",""); |
| | | //职业编码 |
| | | return sendPost (HIS_URL+"/menZhenJz/jianDang", map); |
| | | return sendPostTokenFormData(HIS_URL+"/menZhenJz/jianDang", map); |
| | | } |
| | | |
| | | //验证身份证是否建过档 |
| | | public String getBingRenXxByShengFenZheng (TjCustomer customer) { |
| | | @Override |
| | | public String getBingRenXxByShengFenZheng(Map<String, Object> params) { |
| | | String czy = configService.selectConfigByKey("dfhisczybm"); |
| | | Map<String, Object> map = new HashMap<> (); |
| | | map.put ("caoZuoYuan",czy); |
| | | map.put ("shenFenZh", customer.getCusIdcard ()); |
| | | map.put ("shenFenZh", params.get(ApiParamsConstants.CUS_ID_CARD)); |
| | | map.put ("danWeiBh",""); |
| | | //职业编码 |
| | | return sendPost (HIS_URL+"/menZhenJz/getBingRenXxByShengFenZheng", map); |
| | | return sendPostTokenFormData(HIS_URL+"/menZhenJz/getBingRenXxByShengFenZheng", map); |
| | | } |
| | | |
| | | //病人基本信息变更 |
| | | public String saveBingRenXx (TjCustomer customer) { |
| | | @Override |
| | | public String saveBingRenXx(Map<String, Object> params) { |
| | | String czy = configService.selectConfigByKey("dfhisczybm"); |
| | | Map<String, Object> map = new HashMap<> (); |
| | | map.put ("jiuZhenKh", customer.getPationId ()); |
| | | map.put ("jiuZhenKh", params.get(ApiParamsConstants.PATIONID)); |
| | | map.put ("kaiLeiXing","4"); |
| | | map.put ("xingMing", customer.getCusName ()); |
| | | Long cusSex = customer.getCusSex(); |
| | | map.put ("xingMing", params.get(ApiParamsConstants.CUS_NAME)); |
| | | long cusSex = Long.parseLong(map.get(ApiParamsConstants.CUS_SEX).toString()); |
| | | if(cusSex==0L){ |
| | | map.put ("xingBie","男"); |
| | | }else if(cusSex==1L){ |
| | |
| | | }else { |
| | | map.put ("xingBie","未知"); |
| | | } |
| | | map.put ("shenFenZh", customer.getCusIdcard ()); |
| | | map.put ("shenFenZh", params.get(ApiParamsConstants.CUS_ID_CARD)); |
| | | map.put ("danWeiBh",""); |
| | | map.put ("chuShengRq", DateUtil.format(customer.getCusBrithday(),"yyyy-MM-dd")); |
| | | map.put ("lianXiDz", customer.getCusAddr()); |
| | | map.put ("lianXiDh", customer.getCusPhone ()); |
| | | map.put ("chuShengRq", DateUtil.format((LocalDateTime) params.get(ApiParamsConstants.CUS_BRITHDAY),"yyyy-MM-dd")); |
| | | map.put ("lianXiDz", params.get(ApiParamsConstants.CUS_ADDR)); |
| | | map.put ("lianXiDh", params.get(ApiParamsConstants.CUS_PHONE)); |
| | | map.put ("feiYongLb",""); |
| | | map.put ("feiYongXz",""); |
| | | map.put ("jiLuLy","3"); |
| | | map.put ("caoZuoYuan",czy); |
| | | //职业编码 |
| | | return sendPost (HIS_URL+"/menZhenJz/saveBingRenXx", map); |
| | | return sendPostTokenFormData(HIS_URL+"/menZhenJz/saveBingRenXx", map); |
| | | } |
| | | |
| | | //待收费费用查询 |
| | | public String getListDaiShouFei (String bingRenId, String jiuZhenKh, String yuanQuId) { |
| | | @Override |
| | | public String getListDaiShouFei(Map<String, Object> params) { |
| | | Map<String, Object> map = new HashMap<> (); |
| | | map.put ("bingRenId",bingRenId); |
| | | map.put ("jiuZhenKh",jiuZhenKh); |
| | | map.put ("yuanQuId",yuanQuId); |
| | | map.put ("bingRenId",params.get(ApiParamsConstants.PATIONID)); |
| | | map.put ("jiuZhenKh",params.get(ApiParamsConstants.CARD_ID)); |
| | | map.put ("yuanQuId",params.get(ApiParamsConstants.YUANQU_ID)); |
| | | //职业编码 |
| | | return sendPost (HIS_URL+"/shouFei/getListDaiShouFei", map); |
| | | return sendPostTokenFormData(HIS_URL+"/shouFei/getListDaiShouFei", map); |
| | | } |
| | | |
| | | |
| | | //生成待收费/待退费 费用 |
| | | public String createMenZhenFy (CreateMenZhenFyDto dto) { |
| | | @Override |
| | | public String createMenZhenFy(Map<String, Object> params) { |
| | | String czy = configService.selectConfigByKey("dfhisczybm"); |
| | | Map<String, Object> map = new HashMap<> (); |
| | | map.put ("bingRenId",dto.getBingRenId()); |
| | | map.put ("jiuZhenKh",dto.getJiuZhenKh()); |
| | | map.put ("bingRenId",params.get(ApiParamsConstants.PATIONID)); |
| | | map.put ("jiuZhenKh",params.get(ApiParamsConstants.CARD_ID)); |
| | | map.put ("caoZuoYuan",czy); |
| | | map.put ("yuanQuId",dto.getYuanQuId()); |
| | | map.put ("yingYongId",dto.getYingYongId()); |
| | | map.put ("kaiDanKs",dto.getKaiDanKs()); |
| | | map.put ("dengJiLsh",dto.getDengJiLsh()); |
| | | map.put ("shouTuiBz",dto.getShouTuiBz()); |
| | | map.put ("feiYongMxList",dto.getFeiYongMxList()); |
| | | map.put ("yuanQuId",params.get(ApiParamsConstants.YUANQU_ID)); |
| | | map.put ("yingYongId","870101"); |
| | | map.put ("kaiDanKs",params.get(ApiParamsConstants.kaiDanKeShi)); |
| | | map.put ("dengJiLsh",params.get(ApiParamsConstants.CARD_ID)); |
| | | map.put ("shouTuiBz",params.get(ApiParamsConstants.SHOU_TUI_STATUS)); |
| | | map.put ("feiYongMxList",params.get(ApiParamsConstants.FEI_YONG_INFO_LIST)); |
| | | //职业编码 |
| | | return sendPost (HIS_URL+"/shouFei/createMenZhenFy", map); |
| | | return sendPostTokenFormData(HIS_URL+"/shouFei/createMenZhenFy", map); |
| | | } |
| | | |
| | | |
| | | //门诊未收费费用撤销 |
| | | public String cheXiaoMzFy (CheXiaoMzFyDto dto) { |
| | | @Override |
| | | public String cheXiaoMzFy(Map<String, Object> params) { |
| | | Map<String, Object> map = new HashMap<> (); |
| | | map.put ("bingRenId",dto.getBingRenId()); |
| | | map.put ("jiuZhenKh",dto.getJiuZhenKh()); |
| | | map.put ("feiYongIdList",dto.getFeiYongIdList()); |
| | | map.put ("bingRenId",params.get(ApiParamsConstants.PATIONID)); |
| | | map.put ("jiuZhenKh",params.get(ApiParamsConstants.CARD_ID)); |
| | | ArrayList<JSONObject> ids = new ArrayList<>(); |
| | | String string = params.get(ApiParamsConstants.FEI_YONG_ID_LIST).toString(); |
| | | String[] split = string.split(","); |
| | | Arrays.stream(split).forEach(i -> { |
| | | JSONObject object = JSONUtil.createObj(); |
| | | object.putOpt("feiYongId",i); |
| | | ids.add(object); |
| | | }); |
| | | map.put ("feiYongIdList",ids); |
| | | //职业编码 |
| | | return sendPost (HIS_URL+"/shouFei/cheXiaoMzFy", map); |
| | | return sendPostTokenFormData(HIS_URL+"/shouFei/cheXiaoMzFy", map); |
| | | } |
| | | |
| | | |
| | | //收费/退费完成通知第三方 |
| | | public String pushZhiFuMsg (String feiYongId, int yeWuLx ) { |
| | | @Override |
| | | public String pushZhiFuMsg(Map<String, Object> params) { |
| | | Map<String, Object> map = new HashMap<> (); |
| | | map.put ("feiYongId",feiYongId); |
| | | map.put ("yeWuLx",yeWuLx); |
| | | map.put ("feiYongId",params.get(ApiParamsConstants.FEI_YONG_ID)); |
| | | map.put ("yeWuLx",params.get(ApiParamsConstants.FEI_YONG_STATUS)); |
| | | //职业编码 |
| | | return sendPost (HIS_URL+"/shouFei/pushZhiFuMsg", map); |
| | | return sendPostTokenFormData(HIS_URL+"/shouFei/pushZhiFuMsg", map); |
| | | } |
| | | |
| | | |
| | | //科室信息查询 |
| | | public String getKeShi (String yuanQuId, String keShiMc, int pageIndex, int pageSize ) { |
| | | @Override |
| | | public String getKeShi(Map<String, Object> params) { |
| | | Map<String, Object> map = new HashMap<> (); |
| | | map.put ("yuanQuId",yuanQuId); |
| | | map.put ("keShiMc",keShiMc); |
| | | map.put ("pageIndex",pageIndex); |
| | | map.put ("pageSize",pageSize); |
| | | map.put ("yuanQuId",params.get(ApiParamsConstants.YUANQU_ID)); |
| | | map.put ("keShiMc",params.get(ApiParamsConstants.DEPT_NAME)); |
| | | map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX)); |
| | | map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE)); |
| | | //职业编码 |
| | | return sendPost (HIS_URL+"/zhuShuJu/getKeShi", map); |
| | | return sendPostTokenFormData(HIS_URL+"/zhuShuJu/getKeShi", map); |
| | | } |
| | | |
| | | //医生信息查询 |
| | | public String getListYiShengZd (String yuanQuId, String keShiMc, int pageIndex, int pageSize ) { |
| | | @Override |
| | | public String getListYiShengZd(Map<String, Object> params) { |
| | | Map<String, Object> map = new HashMap<> (); |
| | | map.put ("yuanQuId",yuanQuId); |
| | | map.put ("keShiMc",keShiMc); |
| | | map.put ("yuanQuId",params.get(ApiParamsConstants.YUANQU_ID)); |
| | | map.put ("keShiMc",params.get(ApiParamsConstants.DEPT_NAME)); |
| | | map.put ("bianGengSj",""); |
| | | map.put ("pageIndex",pageIndex); |
| | | map.put ("pageSize",pageSize); |
| | | map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX)); |
| | | map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE)); |
| | | //职业编码 |
| | | return sendPost (HIS_URL+"/zhuShuJu/getListYiShengZd", map); |
| | | return sendPostTokenFormData(HIS_URL+"/zhuShuJu/getListYiShengZd", map); |
| | | } |
| | | |
| | | |
| | | //获取收费项目分页 |
| | | public String getShouFeiXm (String queryString, String bianGengSj, int pageIndex, int pageSize ) { |
| | | @Override |
| | | public String getShouFeiXm(Map<String, Object> params) { |
| | | Map<String, Object> map = new HashMap<> (); |
| | | map.put ("queryString",queryString); |
| | | map.put ("bianGengSj",bianGengSj); |
| | | map.put ("pageIndex",pageIndex); |
| | | map.put ("pageSize",pageSize); |
| | | map.put ("queryString",params.get(ApiParamsConstants.COMMON_QUERY_KEY)); |
| | | map.put ("bianGengSj",""); |
| | | map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX)); |
| | | map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE)); |
| | | //职业编码 |
| | | return sendPost (HIS_URL+"/zhuShuJu/getShouFeiXm", map); |
| | | return sendPostTokenFormData(HIS_URL+"/zhuShuJu/getShouFeiXm", map); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 科室信息推送 |
| | | * |
| | | * @param xingZhiSx 组织属性 第一位1 表示 挂号 |
| | | * 第二位 1表示临床 |
| | | * 第三位 1表示检查 |
| | | * 第四位 1 表示手术 |
| | | * 第五位 1 表示治疗 |
| | | * 第六位 1 表示护理 |
| | | * @param queryString 模糊匹配输⼊码1、科室名称 |
| | | * @param zuoFeiBz 作废标志:0 正常;1 作废 |
| | | * @param yuanQuId 院区id |
| | | * @param keShiIds 科室ID集合 |
| | | * @param ifPlus 是否查询plus属性 |
| | | * @return |
| | | */ |
| | | public String getKeShiByConditions (int xingZhiSx, String queryString, int zuoFeiBz, String yuanQuId, List<String> keShiIds, int ifPlus) { |
| | | @Override |
| | | public String getKeShiByConditions(Map<String, Object> params) { |
| | | Map<String, Object> map = new HashMap<> (); |
| | | map.put ("xingZhiSx",xingZhiSx); |
| | | map.put ("queryString",queryString); |
| | | map.put ("zuoFeiBz",zuoFeiBz); |
| | | map.put ("yuanQuId",yuanQuId); |
| | | map.put ("keShiIds",keShiIds); |
| | | map.put ("ifPlus",ifPlus); |
| | | map.put ("xingZhiSx",""); |
| | | map.put ("queryString",params.get(ApiParamsConstants.COMMON_QUERY_KEY)); |
| | | map.put ("zuoFeiBz",params.get(ApiParamsConstants.DEPT_ZUOFEI_STATUS)); |
| | | map.put ("yuanQuId",params.get(ApiParamsConstants.YUANQU_ID)); |
| | | map.put ("keShiIds",params.get(ApiParamsConstants.DEPT_IDS)); |
| | | map.put ("ifPlus",""); |
| | | //职业编码 |
| | | return sendPost (HIS_URL+"/zhuShuJu/getKeShiByConditions", map); |
| | | return sendPostTokenFormData(HIS_URL+"/zhuShuJu/getKeShiByConditions", map); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 取样本字典 |
| | | * |
| | | * @param queryString 样本类型名称(样本名称/样本类型id) |
| | | * @param pageIndex |
| | | * @param pageSize 每⻚条数(最⼤不能超过100) |
| | | * @return |
| | | */ |
| | | public String getYangBen (String queryString, int pageIndex, int pageSize ) { |
| | | @Override |
| | | public String getYangBen(Map<String, Object> params) { |
| | | Map<String, Object> map = new HashMap<> (); |
| | | map.put ("queryString",queryString); |
| | | map.put ("pageIndex",pageIndex); |
| | | map.put ("pageSize",pageSize); |
| | | map.put ("queryString",params.get(ApiParamsConstants.COMMON_QUERY_KEY)); |
| | | map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX)); |
| | | map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE)); |
| | | //职业编码 |
| | | return sendPost (HIS_URL+"/zhuShuJu/getYangBen", map); |
| | | return sendPostTokenFormData(HIS_URL+"/zhuShuJu/getYangBen", map); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 病区信息推送 |
| | | * |
| | | * @param yuanQuId 院区Id |
| | | * @param keShiId 科室Id |
| | | * @param pageIndex 当前⻚ |
| | | * @param pageSize 每⻚条数(最⼤不能超过100) |
| | | * @return |
| | | */ |
| | | public String getListBingQuZd (String yuanQuId, String keShiId, int pageIndex, int pageSize ) { |
| | | @Override |
| | | public String getListBingQuZd(Map<String, Object> params) { |
| | | Map<String, Object> map = new HashMap<> (); |
| | | map.put ("yuanQuId",yuanQuId); |
| | | map.put ("keShiId",keShiId); |
| | | map.put ("pageIndex",pageIndex); |
| | | map.put ("pageSize",pageSize); |
| | | map.put ("yuanQuId",params.get(ApiParamsConstants.YUANQU_ID)); |
| | | map.put ("keShiId",params.get(ApiParamsConstants.DEPT_ID)); |
| | | map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX)); |
| | | map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE)); |
| | | //职业编码 |
| | | return sendPost (HIS_URL+"/zhuShuJu/getListBingQuZd", map); |
| | | return sendPostTokenFormData(HIS_URL+"/zhuShuJu/getListBingQuZd", map); |
| | | } |
| | | |
| | | /** |
| | | * 职⼯信息 |
| | | * |
| | | * @param bianGengSj 变更时间 |
| | | * @param pageIndex 当前⻚ |
| | | * @param pageSize 每⻚条数(最⼤不能超过100) |
| | | * @return |
| | | */ |
| | | public String getZhiGongPage (String bianGengSj, int pageIndex, int pageSize ) { |
| | | @Override |
| | | public String getZhiGongPage(Map<String, Object> params) { |
| | | Map<String, Object> map = new HashMap<> (); |
| | | map.put ("bianGengSj",bianGengSj); |
| | | map.put ("pageIndex",pageIndex); |
| | | map.put ("pageSize",pageSize); |
| | | map.put ("bianGengSj",""); |
| | | map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX)); |
| | | map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE)); |
| | | //职业编码 |
| | | return sendPost (HIS_URL+"/zhuShuJu/getZhiGongPage", map); |
| | | return sendPostTokenFormData(HIS_URL+"/zhuShuJu/getZhiGongPage", map); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 检查项目 |
| | | * |
| | | * @param queryString |
| | | * @param bianGengSj |
| | | * @param pageIndex |
| | | * @param pageSize |
| | | * @return |
| | | */ |
| | | public String getJianChaXm (String queryString, String bianGengSj, int pageIndex, int pageSize ) { |
| | | @Override |
| | | public String getJianChaXm(Map<String, Object> params) { |
| | | Map<String, Object> map = new HashMap<> (); |
| | | map.put ("queryString",queryString); |
| | | map.put ("bianGengSj",bianGengSj); |
| | | map.put ("pageIndex",pageIndex); |
| | | map.put ("pageSize",pageSize); |
| | | map.put ("queryString",params.get(ApiParamsConstants.COMMON_QUERY_KEY)); |
| | | map.put ("bianGengSj",""); |
| | | map.put ("pageIndex",params.get(ApiParamsConstants.PAGE_INDEX)); |
| | | map.put ("pageSize",params.get(ApiParamsConstants.PAGE_SIZE)); |
| | | //职业编码 |
| | | return sendPost (HIS_URL+"/zhuShuJu/getJianChaXm", map); |
| | | return sendPostTokenFormData(HIS_URL+"/zhuShuJu/getJianChaXm", map); |
| | | } |
| | | |
| | | /** |
| | | * 检验项⽬推送 |
| | | * |
| | | * @param queryCode 查询码(项⽬编码/拼⾳码 |
| | | * @param page 当前⻚ |
| | | * @param size 每⻚条数(最⼤不能超过100 |
| | | * @return |
| | | */ |
| | | public String getJianYanXm(String queryCode, Integer page, Integer size){ |
| | | @Override |
| | | public String getJianYanXm(Map<String, Object> map) { |
| | | HashMap<String, Object> hashMap = new HashMap<>(); |
| | | hashMap.put("queryCode",queryCode); |
| | | hashMap.put("page",page); |
| | | hashMap.put("size",size); |
| | | return sendPost (HIS_URL+"/zhuShuJu/getJianYanXm", hashMap); |
| | | 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)); |
| | | return sendPostTokenFormData(HIS_URL+"/zhuShuJu/getJianYanXm", hashMap); |
| | | } |
| | | |
| | | /** |
| | | * 检验项⽬收费推送 |
| | | * |
| | | * @param shouFeiXmId 收费项⽬id |
| | | * @param jiaGeTx 价格体系 |
| | | * @return |
| | | */ |
| | | public String getShouFeiXmJg(String shouFeiXmId, String jiaGeTx){ |
| | | @Override |
| | | public String getShouFeiXmJg(Map<String, Object> map) { |
| | | HashMap<String, Object> hashMap = new HashMap<>(); |
| | | hashMap.put("shouFeiXmId",shouFeiXmId); |
| | | hashMap.put("jiaGeTx",jiaGeTx); |
| | | return sendPost (HIS_URL+"/zhuShuJu/getShouFeiXmJg", hashMap); |
| | | hashMap.put("shouFeiXmId",map.get(ApiParamsConstants.COMMON_QUERY_KEY)); |
| | | hashMap.put("jiaGeTx",map.get(ApiParamsConstants.COMMON_QUERY_KEY2)); |
| | | return sendPostTokenFormData(HIS_URL+"/zhuShuJu/getShouFeiXmJg", hashMap); |
| | | } |
| | | |
| | | /** |
| | | * 检验容器 |
| | | * |
| | | * @param queryString 容器名称(容器名称/输⼊码1) |
| | | * @param pageIndex 当前⻚ |
| | | * @param pageSize 每⻚条数(最⼤不能超过100) |
| | | * @return |
| | | */ |
| | | public String getRongQi(String queryString, Integer pageIndex, Integer pageSize){ |
| | | @Override |
| | | public String getRongQi(Map<String, Object> map) { |
| | | HashMap<String, Object> hashMap = new HashMap<>(); |
| | | hashMap.put("queryString",queryString); |
| | | hashMap.put("pageIndex",pageIndex); |
| | | hashMap.put("pageSize",pageSize); |
| | | return sendPost (HIS_URL+"/zhuShuJu/getRongQi", hashMap); |
| | | 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)); |
| | | return sendPostTokenFormData(HIS_URL+"/zhuShuJu/getRongQi", hashMap); |
| | | } |
| | | |
| | | /** |
| | | * 检验样本 |
| | | * |
| | | * @param queryString 样本类型名称(样本名称/样本类型id) |
| | | * @param pageIndex 当前⻚ |
| | | * @param pageSize 每⻚条数(最⼤不能超过100) |
| | | * @return |
| | | */ |
| | | public String getJyYangBen(String queryString, Integer pageIndex, Integer pageSize){ |
| | | @Override |
| | | public String getJyYangBen(Map<String, Object> map) { |
| | | HashMap<String, Object> hashMap = new HashMap<>(); |
| | | hashMap.put("queryString",queryString); |
| | | hashMap.put("pageIndex",pageIndex); |
| | | hashMap.put("pageSize",pageSize); |
| | | return sendPost (HIS_URL+"/zhuShuJu/getYangBen", hashMap); |
| | | 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)); |
| | | return sendPostTokenFormData(HIS_URL+"/zhuShuJu/getYangBen", hashMap); |
| | | } |
| | | |
| | | private String sendPost(String url,Map<String, Object> hashMap){ |
| | |
| | | } |
| | | } |
| | | |
| | | private String sendPostTokenFormUrlencoded(String url, Map<String, Object> hashMap){ |
| | | Map<Object, Object> entries = redisTemplate.opsForHash().entries("token:his:df"); |
| | | if (entries != null && !entries.isEmpty()) { |
| | | String timeStr = entries.get("time").toString(); |
| | | String expiresInStr = entries.get("expires_in").toString(); |
| | | long time = Long.parseLong(timeStr); |
| | | long expiresIn = Long.parseLong(expiresInStr); |
| | | Instant tokenExpirationTime = Instant.ofEpochSecond(time).plusSeconds(expiresIn); |
| | | Instant now = Instant.now(); |
| | | if (now.isAfter(tokenExpirationTime)){ |
| | | return refreshToken(url,hashMap); |
| | | }else { |
| | | String accessToken = entries.get("access_token").toString(); |
| | | String tokenType = entries.get("token_type").toString(); |
| | | String string = HttpClientUtils.sendPostTokenFormUrlencoded(url, hashMap, tokenType + " " + accessToken); |
| | | return StrUtil.isNotBlank(string) ? string : JSONUtil.createObj().toString(); |
| | | } |
| | | }else { |
| | | return refreshToken(url, hashMap); |
| | | } |
| | | } |
| | | |
| | | private String sendPostTokenFormData(String url, Map<String, Object> hashMap){ |
| | | Map<Object, Object> entries = redisTemplate.opsForHash().entries("token:his:df"); |
| | | if (entries != null && !entries.isEmpty()) { |
| | | String timeStr = entries.get("time").toString(); |
| | | String expiresInStr = entries.get("expires_in").toString(); |
| | | long time = Long.parseLong(timeStr); |
| | | long expiresIn = Long.parseLong(expiresInStr); |
| | | Instant tokenExpirationTime = Instant.ofEpochSecond(time).plusSeconds(expiresIn); |
| | | Instant now = Instant.now(); |
| | | if (now.isAfter(tokenExpirationTime)){ |
| | | return refreshToken(url,hashMap); |
| | | }else { |
| | | String accessToken = entries.get("access_token").toString(); |
| | | String tokenType = entries.get("token_type").toString(); |
| | | String string = HttpClientUtils.sendPostTokenFormData(url, hashMap, tokenType + " " + accessToken); |
| | | if(StrUtil.isNotBlank(string)){ |
| | | JSON json = FieldNameConverter.convertFieldNames(JSONUtil.parse(string)); |
| | | return JSONUtil.toJsonStr(json); |
| | | }else return JSONUtil.createObj().toString(); |
| | | } |
| | | }else { |
| | | return refreshToken(url, hashMap); |
| | | } |
| | | } |
| | | |
| | | private String refreshToken(String url, Map<String, Object> hashMap) { |
| | | JSONObject parseObj = getToken(); |
| | | if (parseObj != null) { |
| | |
| | | |
| | | String accessToken = parseObj.getStr("access_token"); |
| | | String tokenType = parseObj.getStr("token_type"); |
| | | String string = HttpClientUtils.sendPostToken(url, hashMap, tokenType + " " + accessToken); |
| | | return StrUtil.isNotBlank(string) ? string : JSONUtil.createObj().toString(); |
| | | String string = HttpClientUtils.sendPostTokenFormData(url, hashMap, tokenType + " " + accessToken); |
| | | if(StrUtil.isNotBlank(string)){ |
| | | JSON json = FieldNameConverter.convertFieldNames(JSONUtil.parse(string)); |
| | | return JSONUtil.toJsonStr(json); |
| | | } else return JSONUtil.createObj().toString(); |
| | | } |
| | | } |
| | | return JSONUtil.createObj().toString(); |