From 5c74f07cc49e8910051e4b9e841e8c7dea21aa49 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期一, 02 十二月 2024 19:36:22 +0800 Subject: [PATCH] zjh20241202 --- ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 125 ++++++++++++++++++++++++++++++----------- 1 files changed, 92 insertions(+), 33 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 fd1da94..1144249 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 @@ -12,7 +12,6 @@ import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.core.redis.RedisCache; import com.ltkj.common.utils.IdUtils; -import com.ltkj.common.utils.SecurityUtils; import com.ltkj.common.utils.StringUtils; import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.*; @@ -27,12 +26,11 @@ import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDeptService; import com.ltkj.system.service.ISysUserService; -import com.ltkj.web.config.IdcardUtil.IdcardUtil; import com.ltkj.web.controller.his.HisApiGetMethodService; import com.ltkj.web.controller.his.HisApiMethodService; import com.ltkj.web.controller.lis.LisApiMethod; import com.ltkj.web.controller.pacs.PacsApiMethodService; -import com.ltkj.web.controller.system.TjOrderController; +import com.ltkj.web.controller.system.SamplingServiceApi; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; @@ -150,6 +148,8 @@ private LtkjJybbzdService jybbzdService; @Autowired private LisJyflhbService lisJyflhbService; + @Autowired + private SamplingServiceApi samplingServiceApi; @Override @@ -234,7 +234,7 @@ String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); if (!b) { List<TjGroupingPro> proList = groupingProService.list(new LambdaQueryWrapper<TjGroupingPro>().eq(TjGroupingPro::getGroupingId, tjOrder.getGroupId())); - if (null != proList && proList.size() > 0) { + if (null != proList && !proList.isEmpty()) { for (TjGroupingPro groupingPro : proList) { TjOrderDetail detail = new TjOrderDetail(); // if (null != transition.getPacId()) { @@ -576,9 +576,9 @@ } @Override - @Async("async") +// @Async("async") // @Transactional - public void iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser) { + public Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser) { Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); @@ -828,8 +828,9 @@ } } - List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); - addCaiYangDengJi(detailList,!detailList.isEmpty(), order, sysUser,jxbz); + // TODO 鍜岀鍒扮櫥璁颁竴鏍� 鍙湁閰嶇疆涓殑浠ュ強鏀惰垂绫诲瀷涓轰綋妫�绁ㄦ椂鎵嶅鍔犲埌閲囨牱绠$悊琛� +// List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(),jxbz); +// addCaiYangDengJi(detailList,!detailList.isEmpty(), order, sysUser,jxbz); tjOrderDetails = new ArrayList<>(); @@ -995,13 +996,26 @@ // } } - List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); - addCaiYangDengJi(detailLists,!detailLists.isEmpty(), order, sysUser,jxbz); + // TODO 鍜岀鍒扮櫥璁颁竴鏍� 鍙湁閰嶇疆涓殑浠ュ強鏀惰垂绫诲瀷涓轰綋妫�绁ㄦ椂鎵嶅鍔犲埌閲囨牱绠$悊琛� + if(config.equals("Y")){ + if (lisApiMethod.isUseLisAndPacsRegister(order) && tjFlowingWater.getPayType() == 6L) { + List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz); + addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz); + } + }else { + tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(order.getOrderId()), + sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); + List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz); + addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz); + } + } // Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); if(null !=config && config.equals("Y")){ - tijianbulushenqing(customer,date,order.getCardId(),jxbz,jianChaProjects); + AjaxResult result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L); + if (!result.get("code").toString().equals("200")) + return false; // if (useLisAndPacsRegister) { // List<TjProject> projectList2 = jianYanProjects.stream().distinct().collect(Collectors.toList()); // 妫�鏌ョ敵璇� @@ -1268,29 +1282,72 @@ // tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId())); // chargingStandardService.save(tjChargingStandard); // } + return true; } //浣撴瀵筯is鐢宠鍗曡皟鐢ㄦ柟娉� - public AjaxResult tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects) { + public AjaxResult tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) { TjOrder order = orderService.getOrderByCardId(cardId); if(null !=order){ + String dept = configService.selectConfigByKey("request_default_dept"); + String ysbm = configService.selectConfigByKey("request_default_ysbm"); + String ysmc = configService.selectConfigByKey("request_default_ysmc"); List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(),cardId,jxbz); Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>(); - if (useLisAndPacsRegister) { + if (useLisAndPacsRegister && isTuanTiPiao) { // 妫�鏌ョ敵璇� pacsReg(order, customer, jianChaProjects); + LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjSampling::getTjNum,order.getTjNumber()); + wrapper.eq(TjSampling::getJxbz,jxbz); + List<TjSampling> list = tjSamplingService.list(wrapper); + log.info("閲囨牱鏁版嵁 ->{}",JSONUtil.toJsonStr(list)); + if (!list.isEmpty()){ + Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode)); + log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap)); + ArrayList<String> ids = new ArrayList<>(); + for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) { + log.info("key ->{},val ->{}",entry.getKey(),entry.getValue()); + // Lis鏍囨湰浠g爜 + String specimenTypeCode = entry.getKey(); + List<TjSampling> samplings = entry.getValue(); + if (samplings.size() >= 2){ + // 杩涜鍚堝苟 + List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList()); + log.info("鎻愬彇id ->{}",stringList); + for (int i = 0; i < stringList.size(); i++) { + String s = stringList.get(i); + if (tjSamplingService.isMergeItem(s) != 0) { + stringList.remove(s); + ids.add(s); + } + } + if (stringList.size() > 1) { + String id = tjSamplingService.mergeCaiYangApi(stringList); + ids.add(id); + }else { + ids.add(stringList.get(0)); + } + }else { + ids.add(samplings.get(0).getId()); + } + } + Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N"); + if (!confirmed) + return AjaxResult.error("澶勭悊澶辫触"); + } }else { //妫�楠岀敵璇� OutpintestapplyDto dto = new OutpintestapplyDto(); dto.setHisRegistrationId(cardId); dto.setSfzh(customer.getCusIdcard()); - dto.setSqysbm("00029"); - dto.setMzksbm("0101"); + dto.setSqysbm(ysbm); + dto.setMzksbm(dept); dto.setSjrq(date); - dto.setCzybm("00029"); - dto.setCzyksbm("0101"); + dto.setCzybm(ysbm); + dto.setCzyksbm(dept); dto.setSfjz("0"); List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); @@ -1364,6 +1421,7 @@ String mxfyxmbm = detail.getMxfyxmbm(); tree.setHisXmdm(mxfyxmbm); tree.setType("妫�楠�"); + tree.setService("his"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) @@ -1390,10 +1448,10 @@ OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); outpinexamapplyDto.setHisRegistrationId(cardId); outpinexamapplyDto.setSfzh(customer.getCusIdcard()); - outpinexamapplyDto.setSqysbm("00029"); - outpinexamapplyDto.setMzksbm("0101"); - outpinexamapplyDto.setCzybm("00029"); - outpinexamapplyDto.setCzyksbm("0101"); + outpinexamapplyDto.setSqysbm(ysbm); + outpinexamapplyDto.setMzksbm(dept); + outpinexamapplyDto.setCzybm(ysbm); + outpinexamapplyDto.setCzyksbm(dept); outpinexamapplyDto.setSfjz("0"); // List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>(); @@ -1465,6 +1523,7 @@ String mxfyxmbm = detail.getMxfyxmbm(); tree.setHisXmdm(mxfyxmbm); tree.setType("妫�鏌�"); + tree.setService("his"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) @@ -1491,11 +1550,11 @@ OutpintreatapplyDto dao = new OutpintreatapplyDto(); dao.setHisRegistrationId(cardId); dao.setSfzh(customer.getCusIdcard()); - dao.setSqysbm("00029"); - dao.setMzksbm("0101"); + dao.setSqysbm(ysbm); + dao.setMzksbm(dept); dao.setSjrq(date); - dao.setCzybm("00029"); - dao.setCzyksbm("0101"); + dao.setCzybm(ysbm); + dao.setCzyksbm(dept); dao.setSfjz("0"); // List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>(); @@ -1594,11 +1653,11 @@ OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); dto1.setHisRegistrationId(cardId); dto1.setSfzh(customer.getCusIdcard()); - dto1.setSqysbm("00029"); - dto1.setMzksbm("0101"); + dto1.setSqysbm(ysbm); + dto1.setMzksbm(dept); dto1.setSjrq(date); - dto1.setCzybm("00029"); - dto1.setCzyksbm("0101"); + dto1.setCzybm(ysbm); + dto1.setCzyksbm(dept); dto1.setCflxbm("A"); dto1.setYfbm("1"); dto1.setFyts("1"); @@ -1619,11 +1678,11 @@ cf.setCardId(cardId); cf.setSfzh(customer.getCusIdcard()); cf.setCfh(cfh); - cf.setSqysbm("00029"); - cf.setSqysxm("鐜嬪仴钀�"); - cf.setMzksbn("0101"); + cf.setSqysbm(ysbm); + cf.setSqysxm(ysmc); + cf.setMzksbn(dept); cf.setSqrq(date); - cf.setCzybm("00029"); + cf.setCzybm(ysbm); cf.setYpbm(detilsDto.getYpbm()); cf.setYpmc("灏跨礌[14C]鍛兼皵璇曢獙鑽洅"); cf.setSl(String.valueOf(detilsDto.getSl())); -- Gitblit v1.8.0