From 18dd637d9a579540d54584525e0137e5b324d4b6 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期一, 14 十月 2024 11:23:19 +0800 Subject: [PATCH] 补录增加lis pacs --- ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 279 ++++++++++++++++++++++++++++++++----------------------- 1 files changed, 163 insertions(+), 116 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java index 620b462..e425d74 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java @@ -15,6 +15,7 @@ import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.hisDto.*; +import com.ltkj.hosp.pacsDto.SavePacsApply; import com.ltkj.hosp.service.*; import com.ltkj.hosp.vodomain.AddNewReservationConfirm; import com.ltkj.hosp.vodomain.LineChartsVo; @@ -26,6 +27,9 @@ import com.ltkj.system.service.ISysUserService; import com.ltkj.web.controller.his.HisApiGetMethodService; import com.ltkj.web.controller.his.HisApiMethodService; +import com.ltkj.web.controller.pacs.PacsApiMethodService; +import com.ltkj.web.controller.system.TjOrderController; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -48,6 +52,7 @@ * @Date: 2023/9/15 15:57 */ +@Slf4j @Service @Transactional public class TjSysAsyncServiceImpl implements TjAsyncService { @@ -131,6 +136,10 @@ private TjCfService cfService; @Resource private LtkjHysqdService hysqdService; + @Autowired + private TjOrderController tjOrderController; + @Autowired + private PacsApiMethodService pacsApiMethodService; @Override public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { @@ -773,6 +782,9 @@ } + ArrayList<TjProject> jianChaProjects = new ArrayList<>(); + ArrayList<TjProject> jianYanProjects = new ArrayList<>(); + if(!projectList.isEmpty()){ List<TjProject> list = projectList.stream().distinct().collect(Collectors.toList()); for (TjProject project : list) { @@ -808,6 +820,7 @@ // if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && (project.getDeptId() == 241L || project.getDeptId() == 317L)) { if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJyDeptIds().contains(project.getDeptId().toString())) { if (null != project.getHisXmbm()) { + jianYanProjects.add(project); OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); @@ -855,6 +868,7 @@ // project.getDeptId() == 275L || project.getDeptId() == 298L)) { if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) { if (null != project.getHisXmbm()) { + jianChaProjects.add(project); OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); if (project.getSfzhfy().equals("Y")) { @@ -941,131 +955,142 @@ } if(null !=config && config.equals("Y")){ + if (tjOrderController.isUseLisAndPacsRegister(order)) { + List<TjProject> projectList2 = jianYanProjects.stream().distinct().collect(Collectors.toList()); + LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>(); + wq.eq(TjOrderDetail::getOrderId, order.getOrderId()); + wq.isNotNull(TjOrderDetail::getFlowingWaterId); + wq.eq(TjOrderDetail::getIsSampling, 0); + List<TjOrderDetail> detailList = tjOrderDetailService.list(wq); + addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser); - //妫�楠岀敵璇� - if(!detailsDtos.isEmpty()){ - OutpintestapplyDto dto = new OutpintestapplyDto(); - dto.setHisRegistrationId(order.getCardId()); - dto.setSfzh(customer.getCusIdcard()); - dto.setSqysbm("00029"); - dto.setMzksbm("0101"); - dto.setSjrq(date); - dto.setCzybm("00029"); - dto.setCzyksbm("0101"); - dto.setSfjz("0"); - dto.setDetails(detailsDtos.stream().distinct().collect(Collectors.toList())); - AjaxResult ajaxResult1 = controller.Outpintestapply(dto); - String result5 = getAjaxResult(ajaxResult1); - JSONObject object3 = getJSONObject(result5); - String code3 = object3.getStr("ResultCode"); - if (code3.equals("0")) { - List<OutpintestapplyDetailsDto> details = dto.getDetails(); - for (OutpintestapplyDetailsDto detail : details) { - LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); - tree.setSfjx("Y"); - tree.setJxbz(jxbz); - tree.setCardId(dto.getHisRegistrationId()); - LambdaQueryWrapper<TjCustomer> wrapper4 = new LambdaQueryWrapper<>(); - wrapper4.eq(TjCustomer::getCardId, tree.getCardId()); - TjCustomer tjCustomer = tjCustomerService.getOne(wrapper4); - tree.setPationid(tjCustomer.getPationId()); - JSONObject resultData = object3.getJSONObject("ResultData"); - tree.setSqdh(resultData.getStr("jysqdh")); - tree.setFyhj(resultData.getStr("fyhj")); - String mxfyxmbm = detail.getMxfyxmbm(); - tree.setHisXmdm(mxfyxmbm); - tree.setType("妫�楠�"); - LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); - List<TjProject> list = projectService.list(wrapper); - String tj_price = ""; - for (TjProject project : list) { - tj_price += project.getProPrice() + "銆�"; + // 妫�鏌ョ敵璇� + pacsReg(order, customer, jianChaProjects); + }else { + //妫�楠岀敵璇� + if(!detailsDtos.isEmpty()){ + OutpintestapplyDto dto = new OutpintestapplyDto(); + dto.setHisRegistrationId(order.getCardId()); + dto.setSfzh(customer.getCusIdcard()); + dto.setSqysbm("00029"); + dto.setMzksbm("0101"); + dto.setSjrq(date); + dto.setCzybm("00029"); + dto.setCzyksbm("0101"); + dto.setSfjz("0"); + dto.setDetails(detailsDtos.stream().distinct().collect(Collectors.toList())); + AjaxResult ajaxResult1 = controller.Outpintestapply(dto); + String result5 = getAjaxResult(ajaxResult1); + JSONObject object3 = getJSONObject(result5); + String code3 = object3.getStr("ResultCode"); + if (code3.equals("0")) { + List<OutpintestapplyDetailsDto> details = dto.getDetails(); + for (OutpintestapplyDetailsDto detail : details) { + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setSfjx("Y"); + tree.setJxbz(jxbz); + tree.setCardId(dto.getHisRegistrationId()); + LambdaQueryWrapper<TjCustomer> wrapper4 = new LambdaQueryWrapper<>(); + wrapper4.eq(TjCustomer::getCardId, tree.getCardId()); + TjCustomer tjCustomer = tjCustomerService.getOne(wrapper4); + tree.setPationid(tjCustomer.getPationId()); + JSONObject resultData = object3.getJSONObject("ResultData"); + tree.setSqdh(resultData.getStr("jysqdh")); + tree.setFyhj(resultData.getStr("fyhj")); + String mxfyxmbm = detail.getMxfyxmbm(); + tree.setHisXmdm(mxfyxmbm); + tree.setType("妫�楠�"); + LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); + List<TjProject> list = projectService.list(wrapper); + String tj_price = ""; + for (TjProject project : list) { + tj_price += project.getProPrice() + "銆�"; + } + tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1)); + LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); + if (detail.getSfzhfy().equals("1")) + wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); + else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); + List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); + if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { + String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); + LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); + LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); + LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); + wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); + LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); + tree.setXmfl(ejjfxmzd.getYjkmdm()); + } + tree.setCreateTime(dates); + ltkjJianchajianyanTreeService.save(tree); } - tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1)); - LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); - if (detail.getSfzhfy().equals("1")) - wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); - else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); - List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); - if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { - String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); - LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); - wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); - LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); - LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); - wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); - LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); - tree.setXmfl(ejjfxmzd.getYjkmdm()); - } - tree.setCreateTime(dates); - ltkjJianchajianyanTreeService.save(tree); + } - } - } - //闂ㄨ瘖妫�鏌ョ敵璇� - if(!detailsDtoss.isEmpty()){ - OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); - outpinexamapplyDto.setHisRegistrationId(order.getCardId()); - outpinexamapplyDto.setSfzh(customer.getCusIdcard()); - outpinexamapplyDto.setSqysbm("00029"); - outpinexamapplyDto.setMzksbm("0101"); - outpinexamapplyDto.setCzybm("00029"); - outpinexamapplyDto.setCzyksbm("0101"); - outpinexamapplyDto.setSfjz("0"); - outpinexamapplyDto.setDetails(detailsDtoss.stream().distinct().collect(Collectors.toList())); - AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto); - String result6 = getAjaxResult(ajaxResult2); - JSONObject object5 = getJSONObject(result6); - String code4 = object5.getStr("ResultCode"); - if (code4.equals("0")) { - List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails(); - for (OutpintestapplyDetailsDto detail : details) { - LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); - tree.setSfjx("Y"); - tree.setJxbz(jxbz); - tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); - LambdaQueryWrapper<TjCustomer> wrapper4 = new LambdaQueryWrapper<>(); - wrapper4.eq(TjCustomer::getCardId, tree.getCardId()); - TjCustomer tjCustomer = tjCustomerService.getOne(wrapper4); - tree.setPationid(tjCustomer.getPationId()); - JSONObject resultData = object5.getJSONObject("ResultData"); - tree.setSqdh(resultData.getStr("jcsqdh")); - tree.setFyhj(resultData.getStr("fyhj")); - String mxfyxmbm = detail.getMxfyxmbm(); - tree.setHisXmdm(mxfyxmbm); - tree.setType("妫�鏌�"); - LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); - List<TjProject> list = projectService.list(wrapper); - String tj_price = ""; - for (TjProject project : list) { - tj_price += project.getProPrice() + "銆�"; + //闂ㄨ瘖妫�鏌ョ敵璇� + if(!detailsDtoss.isEmpty()){ + OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); + outpinexamapplyDto.setHisRegistrationId(order.getCardId()); + outpinexamapplyDto.setSfzh(customer.getCusIdcard()); + outpinexamapplyDto.setSqysbm("00029"); + outpinexamapplyDto.setMzksbm("0101"); + outpinexamapplyDto.setCzybm("00029"); + outpinexamapplyDto.setCzyksbm("0101"); + outpinexamapplyDto.setSfjz("0"); + outpinexamapplyDto.setDetails(detailsDtoss.stream().distinct().collect(Collectors.toList())); + AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto); + String result6 = getAjaxResult(ajaxResult2); + JSONObject object5 = getJSONObject(result6); + String code4 = object5.getStr("ResultCode"); + if (code4.equals("0")) { + List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails(); + for (OutpintestapplyDetailsDto detail : details) { + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setSfjx("Y"); + tree.setJxbz(jxbz); + tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); + LambdaQueryWrapper<TjCustomer> wrapper4 = new LambdaQueryWrapper<>(); + wrapper4.eq(TjCustomer::getCardId, tree.getCardId()); + TjCustomer tjCustomer = tjCustomerService.getOne(wrapper4); + tree.setPationid(tjCustomer.getPationId()); + JSONObject resultData = object5.getJSONObject("ResultData"); + tree.setSqdh(resultData.getStr("jcsqdh")); + tree.setFyhj(resultData.getStr("fyhj")); + String mxfyxmbm = detail.getMxfyxmbm(); + tree.setHisXmdm(mxfyxmbm); + tree.setType("妫�鏌�"); + LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); + List<TjProject> list = projectService.list(wrapper); + String tj_price = ""; + for (TjProject project : list) { + tj_price += project.getProPrice() + "銆�"; + } + tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1)); + LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); + if (detail.getSfzhfy().equals("1")) + wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); + else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); + List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); + if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { + String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); + LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); + LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); + LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); + wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); + LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); + tree.setXmfl(ejjfxmzd.getYjkmdm()); + } + tree.setCreateTime(dates); + ltkjJianchajianyanTreeService.save(tree); } - tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1)); - LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); - if (detail.getSfzhfy().equals("1")) - wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); - else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); - List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); - if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { - String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); - LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); - wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); - LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); - LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); - wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); - LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); - tree.setXmfl(ejjfxmzd.getYjkmdm()); - } - tree.setCreateTime(dates); - ltkjJianchajianyanTreeService.save(tree); } } } - //鑽搧鐢宠 if(!outpinmedicapplyDetilsDtos.isEmpty()){ OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); @@ -1197,6 +1222,28 @@ // } } + private void pacsReg(TjOrder order, TjCustomer customer, ArrayList<TjProject> jianChaProjects) { + List<TjProject> projectList1 = jianChaProjects.stream().distinct().collect(Collectors.toList()); + JSONArray array = JSONUtil.createArray(); + ArrayList<SavePacsApply> successPacsList = new ArrayList<>(); + ArrayList<SavePacsApply> errorPacsList = new ArrayList<>(); + int allTotal = 0; + try { + allTotal = pacsApiMethodService.saveProjects(order, customer, projectList1, array, successPacsList, errorPacsList); + } catch (Exception e) { + log.error(e.getMessage()); + for (Object object : array) { + JSONObject jsonObject = (JSONObject) object; + pacsApiMethodService.updatePacsApply(jsonObject.getStr("regNo"), jsonObject.getStr("cardId"), jsonObject.getStr("name")); + } + } + log.info("妫�鏌ユ�昏 ->{}涓�", allTotal); + if (!errorPacsList.isEmpty()) { + log.info("鎴愬姛 ->{}", successPacsList); + log.error("澶辫触 ->{}", errorPacsList); + } + } + @Override @Async("async") public void dockerSetCustomerLisByRedis(List<Long> ksproList, String ksId) { -- Gitblit v1.8.0