| | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import cn.hutool.core.date.DateTime; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.extra.pinyin.PinyinUtil; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.ltkj.common.core.domain.entity.SysMenu; |
| | |
| | | import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; |
| | | import com.ltkj.hosp.domain.DictHosp; |
| | | import com.ltkj.hosp.domain.TjJcycxm; |
| | | import com.ltkj.hosp.domain.TjOrder; |
| | | import com.ltkj.hosp.domain.TjProject; |
| | | import com.ltkj.hosp.mapper.TestMapper; |
| | | import com.ltkj.hosp.service.*; |
| | |
| | | @GetMapping ("/shoudongtbjyjcwsxmjg") |
| | | @ApiOperation(value = "手动同步检验检查外送项目结果接口") |
| | | public AjaxResult shoudongtbjyjcwsxmjg(@RequestParam @ApiParam(value = "jy检验 jc检查 jyjc检验和检查") String tblx, |
| | | @ApiParam(value = "体检号")@RequestParam String tjh) { |
| | | |
| | | log.info("手动同步检验或检查结果开始->{}",DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss")); |
| | | @ApiParam(value = "体检号")@RequestParam String tjh, HttpServletRequest request) { |
| | | String hospId = request.getHeader("hospId"); |
| | | log.info("手动同步检验或检查结果开始->{}{}",hospId,DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss")); |
| | | try { |
| | | |
| | | switch (tblx){ |
| | | case "jy": |
| | | tbjianyan(tjh); |
| | | tbjianyan(tjh,hospId); |
| | | log.info("当前同步的是->{} 结果","检验"); |
| | | break; |
| | | case "jc": |
| | | tbjiancha(tjh); |
| | | tbjiancha(tjh,hospId); |
| | | log.info("当前同步的是->{} 结果","检查"); |
| | | break; |
| | | case "jyjc": |
| | | tbjianyan(tjh); |
| | | tbjiancha(tjh); |
| | | tbjianyan(tjh,hospId); |
| | | tbjiancha(tjh,hospId); |
| | | log.info("当前同步的是->{} 结果","检验检查"); |
| | | break; |
| | | default: |
| | |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | private void tbjianyan(String s) { |
| | | private void tbjianyan(String s,String hosp) { |
| | | try { |
| | | |
| | | String isWsByView = configService.selectConfigByKey("is_ws_by_view"); |
| | | if (StrUtil.isNotBlank(isWsByView) && isWsByView.equals("Y")){ |
| | | List<LtkjHysqd> sqd = testMapper.getWsHySqdByView(s); |
| | | if (sqd != null && !sqd.isEmpty()){ |
| | | for (LtkjHysqd hysqd : sqd) { |
| | | LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(hysqd.getTjh(), hysqd.getTmh()); |
| | | if (null != jybgid) { |
| | | ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(hysqd.getTjh(), hysqd.getTmh()); |
| | | ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(hysqd.getTmh()); |
| | | } |
| | | if (ltkjHysqdService.save(hysqd)) { |
| | | List<LtkjHybgd> wsbg = testMapper.getWsHyBgdByView(hysqd.getTmh()); |
| | | ltkjHybgdService.saveBatch(wsbg); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | List<Aws> awsList = testMapper.getWsxmLtkjHysqdByLisViBySLAVEWS(s); |
| | | if(null !=awsList && !awsList.isEmpty()){ |
| | | log.info("外送项目个数->{} 结果",awsList.size()); |
| | |
| | | awsService.saveBatch(awsList); |
| | | log.info("保存外送项目成功"); |
| | | } |
| | | List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(s); |
| | | List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(s,hosp); |
| | | log.info("原hysqdList->{} 结果", JSONUtil.parseObj(hysqdList)); |
| | | List<LtkjHysqd> wssq = testMapper.getWsxmLtkjHysqdByLisVi(s); |
| | | if(null !=wssq && !wssq.isEmpty()){ |
| | |
| | | } |
| | | |
| | | |
| | | private void tbjiancha(String s) { |
| | | |
| | | private void tbjiancha(String s,String hosp) { |
| | | String yqbm = configService.selectConfigByKey("common_api_service_hospbm"); |
| | | try { |
| | | List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(s); |
| | | List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(s,hosp); |
| | | log.info("手动同步检查申请单数据:"+jcsqdList); |
| | | if (null != jcsqdList && !jcsqdList.isEmpty()) { |
| | | DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | jcsqdService.deletedLtkjJcsqdByTjhAndTmh(s); |
| | | jcbgdService.deletedLtkjJcbgdByTjhAndTmh(s); |
| | | jcsqdService.saveBatch(jcsqdList); |
| | | List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(s); |
| | | DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(s,hosp); |
| | | // DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | log.info("手动同步检查报告单数据:"+jcbgdList); |
| | | if (null != jcbgdList && !jcbgdList.isEmpty()) jcbgdService.saveBatch(jcbgdList); |
| | | jcycxmService.deletedByTjh(s); |
| | | for (LtkjExamJcsqd jcsqd : jcsqdList) { |
| | | if(StringUtil.isNotBlank(jcsqd.getJgzt())){ |
| | | String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("。|;|;"); |
| | | for (String jg : split) { |
| | | if(StringUtil.isNotBlank(jg) && !jg.contains("未见异常") |
| | | && !jg.contains("未见明显异常") && !jg.contains("未见占位") && !jg.contains("未见") |
| | | && !jg.contains("未见明显")&& !jg.contains("正常")&& !jg.contains("双侧椎间孔无狭窄")&& !jg.contains("无殊")){ |
| | | TjJcycxm jcycxm=new TjJcycxm(); |
| | | jcycxm.setTjh(s); |
| | | jcycxm.setYqid(yqbm); |
| | | String[] split1 = jcsqd.getJcxmid().split(";"); |
| | | jcycxm.setProId(split1[0]); |
| | | jcycxm.setProName(jcsqd.getJcxmmc()); |
| | | jcycxm.setCreateTime(new Date()); |
| | | jcycxm.setJcjg(jg); |
| | | jcycxmService.save(jcycxm); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | } |
| | | } catch (Exception e) { |
| | |
| | | } |
| | | |
| | | |
| | | @GetMapping ("/chaxunjyjcwsxmjg") |
| | | @ApiOperation(value = "查询检验检查项目结果接口") |
| | | public AjaxResult chaxunjyjcwsxmjg(@RequestParam @ApiParam(value = "jy检验 jc检查 jyjc检验和检查") String tblx, |
| | | @ApiParam(value = "体检号")@RequestParam String tjh, HttpServletRequest request) { |
| | | String hospId = request.getHeader("hospId"); |
| | | log.info("手动查询检验或检查结果开始->{}{}",hospId,DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss")); |
| | | try { |
| | | |
| | | switch (tblx){ |
| | | case "jy": |
| | | List<Map<String, Object>> hysqdList = testMapper.sysgetCcXZxYyLtkjHysqdByLisVi(tjh,hospId); |
| | | if (null != hysqdList && !hysqdList.isEmpty()) { |
| | | for (Map<String, Object> map : hysqdList) { |
| | | List<Map<String, Object>> hybgdList = testMapper.sysgetCcXZxYyLtkjHybgdByLisVi(map.get("条码号").toString()); |
| | | map.put("jybgd",hybgdList); |
| | | } |
| | | DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | } |
| | | |
| | | log.info("当前查询的是->{} 结果","检验"); |
| | | return AjaxResult.success(hysqdList); |
| | | |
| | | case "jc": |
| | | List<Map<String, Object>> jcsqdList = testMapper.sysgetCcXZxYyPacsLtkjExamJcsqd(tjh,hospId); |
| | | DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | log.info("当前查询的是->{} 结果","检查"); |
| | | return AjaxResult.success(jcsqdList); |
| | | default: |
| | | log.info("没有找到所匹配的同步类型"); |
| | | // return AjaxResult.error("没有找到所匹配的同步类型!"); |
| | | } |
| | | log.info("手动查询检验或检查结果开始->{}",DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss")); |
| | | return AjaxResult.error("没有找到所匹配的同步类型!"); |
| | | |
| | | } catch (Exception e) { |
| | | log.error(String.valueOf(e)); |
| | | return AjaxResult.error(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | @GetMapping ("/zxsq")//执行 |
| | |
| | | public AjaxResult zx(@RequestParam int day) { |
| | | try { |
| | | List<DictHosp> list = dictHospService.list(); |
| | | DateTime dateTime1 = DateUtil.offsetMonth(new Date(), day); |
| | | DateTime dateTime1 = DateUtil.offsetDay(new Date(), day); |
| | | for (DictHosp dictHosp : list) { |
| | | String mallMerchantSecretKey = SecurityUtils.getMallMerchantSecretKey(secret, dictHosp.getHospAreaId(), dictHosp.getHospAreaName(), dateTime1); |
| | | dictHosp.setSecretKey(mallMerchantSecretKey); |
| | |
| | | |
| | | |
| | | @GetMapping ("/tjjcycxm")//同步his项目单价信息 |
| | | // @PreAuthorize("@ss.hasPermi('system:config:tbhisproprice')") |
| | | @ApiOperation (value = "tjjcycxm") |
| | | public AjaxResult tjjcycxm() { |
| | | String yqbm = configService.selectConfigByKey("common_api_service_hospbm"); |
| | | List<String> jc = orderService.getJianChaTjNum(); |
| | | if (null != jc && !jc.isEmpty()) { |
| | | for (String s : jc) { |
| | | jcycxmService.deletedByTjh(s); |
| | | List<LtkjExamJcsqd> list = jcsqdService.getLtkjJcsqdByTjh(s); |
| | | if(null !=list && !list.isEmpty()){ |
| | | for (LtkjExamJcsqd jcsqd : list) { |
| | | if(jcsqd.getJgbx().contains("。")){ |
| | | String[] split = jcsqd.getJgzt().split("。"); |
| | | for (String jg : split) { |
| | | if(StringUtil.isNotBlank(jg) && !jg.contains("未见异常") |
| | | && !jg.contains("未见明显异常") && !jg.contains("未见占位") |
| | | && !jg.contains("未见明显")&& !jg.contains("正常")&& !jg.contains("双侧椎间孔无狭窄")&& !jg.contains("无殊")){ |
| | | TjJcycxm jcycxm=new TjJcycxm(); |
| | | jcycxm.setTjh(s); |
| | | jcycxm.setYqid(yqbm); |
| | | String[] split1 = jcsqd.getJcxmid().split(";"); |
| | | jcycxm.setProId(split1[0]); |
| | | jcycxm.setProName(jcsqd.getJcxmmc()); |
| | | jcycxm.setCreateTime(new Date()); |
| | | jcycxm.setJcjg(jg); |
| | | jcycxmService.save(jcycxm); |
| | | } |
| | | } |
| | | public AjaxResult tjjcycxm(@ApiParam("体检号") @RequestParam(required = false)String tjh) { |
| | | String yqbm = configService.selectConfigByKey("dqyyyqbm"); |
| | | if(StringUtil.isNotBlank(tjh)){ |
| | | extracted(tjh, yqbm); |
| | | }else { |
| | | List<String> jc = orderService.getJianChaTjNum(); |
| | | if (null != jc && !jc.isEmpty()) { |
| | | for (String s : jc) { |
| | | extracted(s, yqbm); |
| | | } |
| | | } |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | private void extracted(String s, String yqbm) { |
| | | TjOrder order = orderService.getOrderByTjNum(s); |
| | | jcycxmService.deletedByTjh(order.getCardId()); |
| | | List<LtkjExamJcsqd> list = jcsqdService.getLtkjJcsqdByTjh(order.getCardId()); |
| | | if(null !=list && !list.isEmpty()){ |
| | | for (LtkjExamJcsqd jcsqd : list) { |
| | | if(StringUtil.isNotBlank(jcsqd.getJgzt())){ |
| | | String regex = configService.selectConfigByKey("jcycxmzz"); |
| | | if(StringUtil.isBlank(regex)) regex= "。|;|;|,|,"; |
| | | System.out.println("jcycxmzz值为"+regex); |
| | | String[] split = jcsqd.getJgzt().replaceAll("\n", "").split(regex); |
| | | for (String jg : split) { |
| | | if(StringUtil.isNotBlank(jg) && !jg.contains("未见异常") |
| | | && !jg.contains("未见明显异常") && !jg.matches("\\d+") && !jg.contains("未见占位") && !jg.contains("未见") |
| | | && !jg.contains("未见明显")&& !jg.contains("正常")&& !jg.contains("双侧椎间孔无狭窄")&& !jg.contains("无殊")){ |
| | | TjJcycxm jcycxm=new TjJcycxm(); |
| | | jcycxm.setTjh(s); |
| | | jcycxm.setYqid(yqbm); |
| | | String[] split1 = jcsqd.getJcxmid().split(";"); |
| | | jcycxm.setProId(split1[0]); |
| | | jcycxm.setProName(jcsqd.getJcxmmc()); |
| | | jcycxm.setCreateTime(new Date()); |
| | | jcycxm.setJcjg(jg); |
| | | jcycxmService.save(jcycxm); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | @GetMapping ("/shoudongtbjcbgdsj") |
| | | @ApiOperation(value = "手动同步检查报告单结果接口") |
| | | public AjaxResult shoudongtbjcbgdsj(HttpServletRequest request) { |
| | | String hospId = request.getHeader("hospId"); |
| | | log.info("手动同步检验或检查结果开始->{}{}",hospId,DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss")); |
| | | try { |
| | | List<String> jc = orderService.shoudongtbjcbgdsj(); |
| | | for (String s : jc) { |
| | | jcbgdService.deletedLtkjJcbgdByTjhAndTmh(s); |
| | | List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(s,hospId); |
| | | log.info("手动同步检查报告单数据:"+jcbgdList); |
| | | if (null != jcbgdList && !jcbgdList.isEmpty()) jcbgdService.saveBatch(jcbgdList); |
| | | } |
| | | |
| | | log.info("当前同步的是->{} 结果","检查"); |
| | | return AjaxResult.success("同步成功"); |
| | | |
| | | } catch (Exception e) { |
| | | log.error(String.valueOf(e)); |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |