From fe9f16a02c89eb6c5264c06bf76e748a0d809647 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期五, 01 十一月 2024 18:03:58 +0800 Subject: [PATCH] 2024-11-01 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java | 189 +++++++++++++++++++++++++++++++--------------- 1 files changed, 126 insertions(+), 63 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java index 5f69744..136cd37 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java @@ -18,6 +18,7 @@ import com.ltkj.web.controller.lis.LisApiMethod; import com.ltkj.web.controller.pacs.PacsApiMethodService; import com.ltkj.web.controller.service.TjSysAsyncServiceImpl; +import com.ltkj.web.controller.system.SamplingServiceApi; import jdk.nashorn.internal.runtime.logging.Logger; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -75,6 +76,12 @@ private TjSysAsyncServiceImpl tjSysAsyncService; @Autowired private LisApiMethod lisApiMethod; + @Autowired + private ISysConfigService configService; + @Autowired + private ITjSamplingService tjSamplingService; + @Autowired + private SamplingServiceApi samplingService; //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 @@ -269,6 +276,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")) @@ -288,11 +296,13 @@ tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } - TjOrder tjOrder = orderService.getOrderByCardId(cardId); - if(null !=tjOrder){ - List<TjOrderDetail> dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); - tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null); - } + // TODO 涓汉浠ュ強鍥綋 鏆備笉鍚戦噰鏍风鐞嗗啓鏁版嵁 + // HIS鍙戦�佹棤娉曞悎骞舵搷浣� 鏃犳硶鑾峰彇LIS鐨勬楠屽簭鍙� 鏉$爜鏃犳硶鎵撳嵃 +// TjOrder tjOrder = orderService.getOrderByCardId(cardId); +// if(null !=tjOrder){ +// List<TjOrderDetail> dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); +// tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null); +// } } } @@ -374,6 +384,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")) @@ -571,6 +582,50 @@ // log.info("TjOrderDetail ->{}",JSONUtil.toJsonStr(detailList1)); tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser,null); + String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request"); + if (mergeRequest.equals("Y")){ + LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber()); + 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 = samplingService.confirmSamplingApi(ids, "Y", "N"); + if (!confirmed) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("澶勭悊澶辫触"); + } + } + } + //妫�楠岀敵璇� // OutpintestapplyDto dto = new OutpintestapplyDto(); // dto.setHisRegistrationId(tjOrder.getCardId()); @@ -740,10 +795,6 @@ Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); - List<String> jcsqdh = orderService.getHuoQuJcsqdh(order.getCardId()); - - List<String> jysqdh = orderService.getHuoQuJysqdh(order.getCardId()); - List<String> zlsqdh = orderService.getHuoQuZlsqdh(order.getCardId()); @@ -756,25 +807,28 @@ JSONObject object1 = null; String code1 = null; - if (isUseLisAndPacsRegister){ +// if (isUseLisAndPacsRegister){ TjCustomer customer1 = customerService.getById(order.getUserId()); // 浣滃簾妫�鏌ョ敵璇� - if (jcsqdh != null && !jcsqdh.isEmpty()){ - for (String sqdh : jcsqdh) { - AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName()); - String result = cancelPacsAjaxResult.get("data").toString(); - JSONObject object = JSONUtil.parseObj(result); - String code = object.getStr("ResultCode"); - if(code.equals("1")){ - orderService.delHuoQuJcsqdh(order.getCardId()); - } + List<String> bljcsqdhByPacs = orderService.getBljcsqdhByPacs(order.getCardId()); + if (bljcsqdhByPacs != null && !bljcsqdhByPacs.isEmpty()){ + for (String sqdh : bljcsqdhByPacs) { + AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName()); + String result = cancelPacsAjaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(result); + String code = object.getStr("ResultCode"); + if(code.equals("1")){ + orderService.delHuoQuJcsqdh(order.getCardId()); } } + } // 浣滃簾妫�楠岀敵璇� - if (jysqdh != null && !jysqdh.isEmpty()){ - for (String sqdh : jysqdh) { - AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName()); - log.info("lis璇锋眰杩斿洖 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult)); + List<String> bljysqdhByLis = orderService.getBljysqdhByLis(order.getCardId()); + if (bljysqdhByLis != null && !bljysqdhByLis.isEmpty()){ + for (String sqdh : bljysqdhByLis) { + AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName()); + log.info("lis璇锋眰杩斿洖 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult)); + if (cancelLisAjaxResult.get("code").toString().equals("200")){ String result = cancelLisAjaxResult.get("data").toString(); JSONObject object = JSONUtil.parseObj(result); String code= object.getStr("ResultCode"); @@ -783,8 +837,12 @@ } } } + } - }else { +// }else { + List<String> jcsqdh = orderService.getHuoQuJcsqdh(order.getCardId()); + + List<String> jysqdh = orderService.getHuoQuJysqdh(order.getCardId()); //2.1.6.5 浣滃簾闂ㄨ瘖妫�鏌ョ敵璇� if (null != jcsqdh && jcsqdh.size()>0) { for (String s : jcsqdh) { @@ -842,7 +900,7 @@ } } } - } +// } //2.1.3 闂ㄨ瘖鍖荤敓鍙栨秷鎺ヨ瘖 ajaxResult = controller.Outpinunconapply(order.getCardId(), date, "00029"); @@ -859,14 +917,11 @@ //浣滃簾琛ュ綍椤圭洰 public boolean ZfBlXm(List<String> bldhs, TjOrder order) { - + log.info("bldhs ->{}",JSONUtil.toJsonStr(bldhs)); if(null !=bldhs && bldhs.size()>0){ + log.info("杩涘叆鍒ゆ柇"); try { for (String bldh : bldhs) { - List<String> jcsqdh = orderService.getHuoQuBlJcsqdh(order.getCardId(),bldh); - - List<String> jysqdh = orderService.getHuoQuBlJysqdh(order.getCardId(),bldh); - List<String> zlsqdh = orderService.getHuoQuBlZlsqdh(order.getCardId(),bldh); @@ -877,42 +932,50 @@ String result2 = null; JSONObject object1 = null; String code1 = null; - - if (lisApiMethod.isUseLisAndPacsRegister(order)) { - TjCustomer customer1 = customerService.getById(order.getUserId()); - // 浣滃簾妫�鏌ョ敵璇� - if (jcsqdh != null && !jcsqdh.isEmpty()){ - for (String sqdh : jcsqdh) { - AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName()); - log.info("浣滃簾妫�鏌� pacs杩斿洖 ->{}",JSONUtil.toJsonStr(cancelPacsAjaxResult)); - String result = cancelPacsAjaxResult.get("data").toString(); - JSONObject object = JSONUtil.parseObj(result); - String code = object.getStr("ResultCode"); - if(code.equals("1")){ - orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh); - }else { - return false; - } + log.info("鏌ヨ鍓�"); +// if (lisApiMethod.isUseLisAndPacsRegister(order)) { + TjCustomer customer1 = customerService.getById(order.getUserId()); + log.info("customer1 ->{}",customer1); + List<String> bljcsqdhByPacs = orderService.getBljcsqdhByPacs(order.getCardId(), bldh); + log.info("bljcsqdhByPacs ->{}",bljcsqdhByPacs); + // 浣滃簾妫�鏌ョ敵璇� + if (bljcsqdhByPacs != null && !bljcsqdhByPacs.isEmpty()){ + for (String sqdh : bljcsqdhByPacs) { + AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName()); + log.info("浣滃簾妫�鏌� pacs杩斿洖 ->{}",JSONUtil.toJsonStr(cancelPacsAjaxResult)); + String result = cancelPacsAjaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(result); + String code = object.getStr("ResultCode"); + if(code.equals("1")){ + orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh); + }else { + return false; } } - // 浣滃簾妫�楠岀敵璇� - if (jysqdh != null && !jysqdh.isEmpty()){ - for (String sqdh : jysqdh) { - AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName()); - log.info("浣滃簾妫�楠� pacs杩斿洖 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult)); - String result = cancelLisAjaxResult.get("data").toString(); - JSONObject object = JSONUtil.parseObj(result); - String code= object.getStr("ResultCode"); - if(code.equals("1")){ - orderService.delHuoQuBlJysqdh(order.getCardId(),bldh); - }else { - return false; - } + } + List<String> bljysqdhByLis = orderService.getBljysqdhByLis(order.getCardId(), bldh); + log.info("bljysqdhByLis ->{}",bljysqdhByLis); + // 浣滃簾妫�楠岀敵璇� + if (bljysqdhByLis != null && !bljysqdhByLis.isEmpty()){ + for (String sqdh : bljysqdhByLis) { + AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName()); + log.info("浣滃簾妫�楠� pacs杩斿洖 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult)); + String result = cancelLisAjaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(result); + String code= object.getStr("ResultCode"); + if(code.equals("1")){ + orderService.delHuoQuBlJysqdh(order.getCardId(),bldh); + }else { + return false; } } + } - }else { - //2.1.6.5 浣滃簾闂ㄨ瘖妫�鏌ョ敵璇� + List<String> jcsqdh = orderService.getHuoQuBlJcsqdh(order.getCardId(),bldh); + + List<String> jysqdh = orderService.getHuoQuBlJysqdh(order.getCardId(),bldh); +// }else { +// 2.1.6.5 浣滃簾闂ㄨ瘖妫�鏌ョ敵璇� if (null != jcsqdh && jcsqdh.size()>0) { for (String s : jcsqdh) { AjaxResult result = controller.Outpindelexamapply(order.getCardId(), "00029", s); @@ -971,11 +1034,11 @@ } } } - } +// } return true; } } catch (Exception e) { - e.printStackTrace(); + log.error(e.getMessage()); return false; } } -- Gitblit v1.8.0