From 2c19fa65dc87ea8f3d81f84154f4eeabff7f8d00 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 05 六月 2025 12:36:47 +0800 Subject: [PATCH] zjh20250605 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java | 540 +++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 395 insertions(+), 145 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 33ec23a..28223a3 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 @@ -28,6 +28,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.transaction.NoTransactionException; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -297,6 +298,7 @@ detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } @@ -411,6 +413,7 @@ detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } @@ -536,6 +539,7 @@ detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } @@ -582,64 +586,129 @@ } } - //鑽搧鐢宠 + //鑽搧鐢宠鍘熺増 +// if(!outpinmedicapplyDetilsDtos.isEmpty()){ +// OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); +// dto1.setHisRegistrationId(cardId); +// dto1.setSfzh(customer.getCusIdcard()); +// dto1.setSqysbm(ysbm); +// dto1.setMzksbm(dept); +// dto1.setSjrq(date); +// String yfbm = configService.selectConfigByKey("chufang_yfbm"); +// String mzzd = configService.selectConfigByKey("chufang_mzzd"); +// String czybm = configService.selectConfigByKey("chufang_czybm"); +// String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); +// String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); +// if (czybm.equalsIgnoreCase("N")) +// dto1.setCzybm(ysbm); +// else dto1.setCzybm(czybm); +// if (czyksbm.equalsIgnoreCase("N")) +// dto1.setCzyksbm(dept); +// else dto1.setCzyksbm(czyksbm); +// dto1.setCflxbm(cflxbm); +// if (yfbm.equalsIgnoreCase("N")) +// dto1.setYfbm("1"); +// else dto1.setYfbm(yfbm); +// dto1.setFyts("1"); +// if (mzzd.equalsIgnoreCase("N")) +// dto1.setMzzd(""); +// else dto1.setMzzd(mzzd); +// dto1.setDetails(outpinmedicapplyDetilsDtos); +// AjaxResult result = controller.Outpinmedicapply(dto1); +// String result1 = getAjaxResult(result); +// JSONObject object = getJSONObject(result1); +// String code = object.getStr("ResultCode"); +// if(null !=code && code.equals("0")){ +// JSONObject resultData = object.getJSONObject("ResultData"); +//// Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0); +// String cfh = resultData.getStr("cfh"); +// log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: "+cfh+" outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: "+outpinmedicapplyDetilsDtos.toString()); +// for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { +// TjCf cf=new TjCf(); +// cf.setCardId(cardId); +// cf.setSfzh(customer.getCusIdcard()); +// cf.setCfh(cfh); +// cf.setSqysbm(ysbm); +// cf.setSqysxm(ysmc); +// cf.setMzksbn(dept); +// cf.setSqrq(date); +// cf.setCzybm(ysbm); +// cf.setYpbm(detilsDto.getYpbm()); +// cf.setYpmc(detilsDto.getYpmc()); +// cf.setSl(String.valueOf(detilsDto.getSl())); +// cf.setDj(String.valueOf(detilsDto.getDj())); +// cf.setDcjl(String.valueOf(detilsDto.getDcjl())); +// cf.setPj(String.valueOf(detilsDto.getPj())); +// cf.setJj(String.valueOf(detilsDto.getJj())); +// cf.setCreateTime(new Date()); +// cfService.save(cf); +// } +// } +// } + + + /** + * 鑽搧鐢宠 澶勬柟绫诲瀷缁存姢鍦ㄨ嵂鍝佽〃 + */ if(!outpinmedicapplyDetilsDtos.isEmpty()){ - OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); - dto1.setHisRegistrationId(cardId); - dto1.setSfzh(customer.getCusIdcard()); - dto1.setSqysbm(ysbm); - dto1.setMzksbm(dept); - dto1.setSjrq(date); String yfbm = configService.selectConfigByKey("chufang_yfbm"); String mzzd = configService.selectConfigByKey("chufang_mzzd"); String czybm = configService.selectConfigByKey("chufang_czybm"); String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); - String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); - if (czybm.equalsIgnoreCase("N")) - dto1.setCzybm(ysbm); - else dto1.setCzybm(czybm); - if (czyksbm.equalsIgnoreCase("N")) - dto1.setCzyksbm(dept); - else dto1.setCzyksbm(czyksbm); - dto1.setCflxbm(cflxbm); - if (yfbm.equalsIgnoreCase("N")) - dto1.setYfbm("1"); - else dto1.setYfbm(yfbm); - dto1.setFyts("1"); - if (mzzd.equalsIgnoreCase("N")) - dto1.setMzzd(""); - else dto1.setMzzd(mzzd); - dto1.setDetails(outpinmedicapplyDetilsDtos); - AjaxResult result = controller.Outpinmedicapply(dto1); - String result1 = getAjaxResult(result); - JSONObject object = getJSONObject(result1); - String code = object.getStr("ResultCode"); - if(null !=code && code.equals("0")){ - JSONObject resultData = object.getJSONObject("ResultData"); -// Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0); - String cfh = resultData.getStr("cfh"); - log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: "+cfh+" outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: "+outpinmedicapplyDetilsDtos.toString()); - for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { - TjCf cf=new TjCf(); - cf.setCardId(cardId); - cf.setSfzh(customer.getCusIdcard()); - cf.setCfh(cfh); - cf.setSqysbm(ysbm); - cf.setSqysxm(ysmc); - cf.setMzksbn(dept); - cf.setSqrq(date); - cf.setCzybm(ysbm); - cf.setYpbm(detilsDto.getYpbm()); - cf.setYpmc(detilsDto.getYpmc()); - cf.setSl(String.valueOf(detilsDto.getSl())); - cf.setDj(String.valueOf(detilsDto.getDj())); - cf.setDcjl(String.valueOf(detilsDto.getDcjl())); - cf.setPj(String.valueOf(detilsDto.getPj())); - cf.setJj(String.valueOf(detilsDto.getJj())); - cf.setCreateTime(new Date()); - cfService.save(cf); +// String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); + Map<String, List<OutpinmedicapplyDetilsDto>> listMap = outpinmedicapplyDetilsDtos.stream().collect(Collectors.groupingBy(OutpinmedicapplyDetilsDto::getCflx)); + listMap.forEach((cflx, details) -> { + OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto(); + dto1.setHisRegistrationId(cardId); + dto1.setSfzh(customer.getCusIdcard()); + dto1.setSqysbm(ysbm); + dto1.setMzksbm(dept); + dto1.setSjrq(date); + if (czybm.equalsIgnoreCase("N")) + dto1.setCzybm(ysbm); + else dto1.setCzybm(czybm); + if (czyksbm.equalsIgnoreCase("N")) + dto1.setCzyksbm(dept); + else dto1.setCzyksbm(czyksbm); + dto1.setCflxbm(cflx); + if (yfbm.equalsIgnoreCase("N")) + dto1.setYfbm("1"); + else dto1.setYfbm(yfbm); + dto1.setFyts("1"); + if (mzzd.equalsIgnoreCase("N")) + dto1.setMzzd(""); + else dto1.setMzzd(mzzd); + dto1.setDetails(details); + AjaxResult result = controller.Outpinmedicapply(dto1); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if (null != code && code.equals("0")) { + JSONObject resultData = object.getJSONObject("ResultData"); + String cfh = resultData.getStr("cfh"); + log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: " + cfh + " outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: " + outpinmedicapplyDetilsDtos.toString()); + for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { + TjCf cf = new TjCf(); + cf.setCardId(cardId); + cf.setSfzh(customer.getCusIdcard()); + cf.setCfh(cfh); + cf.setSqysbm(ysbm); + cf.setSqysxm(ysmc); + cf.setMzksbn(dept); + cf.setSqrq(date); + cf.setCzybm(ysbm); + cf.setYpbm(detilsDto.getYpbm()); + cf.setYpmc(detilsDto.getYpmc()); + cf.setSl(String.valueOf(detilsDto.getSl())); + cf.setDj(String.valueOf(detilsDto.getDj())); + cf.setDcjl(String.valueOf(detilsDto.getDcjl())); + cf.setPj(String.valueOf(detilsDto.getPj())); + cf.setJj(String.valueOf(detilsDto.getJj())); + cf.setCreateTime(new Date()); + cfService.save(cf); + } } - } + }); } return AjaxResult.success(); @@ -1515,6 +1584,7 @@ detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } @@ -1623,6 +1693,7 @@ detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } @@ -1744,6 +1815,7 @@ detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } @@ -1790,64 +1862,128 @@ } } - //鑽搧鐢宠 + //鑽搧鐢宠 鍘熺増 +// if(!outpinmedicapplyDetilsDtos.isEmpty()){ +// OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); +// dto1.setHisRegistrationId(cardId); +// dto1.setSfzh(customer.getCusIdcard()); +// dto1.setSqysbm(ysbm); +// dto1.setMzksbm(dept); +// dto1.setSjrq(date); +// String yfbm = configService.selectConfigByKey("chufang_yfbm"); +// String mzzd = configService.selectConfigByKey("chufang_mzzd"); +// String czybm = configService.selectConfigByKey("chufang_czybm"); +// String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); +// String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); +// if (czybm.equalsIgnoreCase("N")) +// dto1.setCzybm(ysbm); +// else dto1.setCzybm(czybm); +// if (czyksbm.equalsIgnoreCase("N")) +// dto1.setCzyksbm(dept); +// else dto1.setCzyksbm(czyksbm); +// dto1.setCflxbm(cflxbm); +// if (yfbm.equalsIgnoreCase("N")) +// dto1.setYfbm("1"); +// else dto1.setYfbm(yfbm); +// dto1.setFyts("1"); +// if (mzzd.equalsIgnoreCase("N")) +// dto1.setMzzd(""); +// else dto1.setMzzd(mzzd); +// dto1.setDetails(outpinmedicapplyDetilsDtos); +// AjaxResult result = controller.Outpinmedicapply(dto1); +// String result1 = getAjaxResult(result); +// JSONObject object = getJSONObject(result1); +// String code = object.getStr("ResultCode"); +// if(null !=code && code.equals("0")){ +// JSONObject resultData = object.getJSONObject("ResultData"); +//// Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0); +// String cfh = resultData.getStr("cfh"); +// log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: "+cfh+" outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: "+outpinmedicapplyDetilsDtos.toString()); +// for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { +// TjCf cf=new TjCf(); +// cf.setCardId(cardId); +// cf.setSfzh(customer.getCusIdcard()); +// cf.setCfh(cfh); +// cf.setSqysbm(ysbm); +// cf.setSqysxm(ysmc); +// cf.setMzksbn(dept); +// cf.setSqrq(date); +// cf.setCzybm(ysbm); +// cf.setYpbm(detilsDto.getYpbm()); +// cf.setYpmc(detilsDto.getYpmc()); +// cf.setSl(String.valueOf(detilsDto.getSl())); +// cf.setDj(String.valueOf(detilsDto.getDj())); +// cf.setDcjl(String.valueOf(detilsDto.getDcjl())); +// cf.setPj(String.valueOf(detilsDto.getPj())); +// cf.setJj(String.valueOf(detilsDto.getJj())); +// cf.setCreateTime(new Date()); +// cfService.save(cf); +// } +// } +// } + + /** + * 鑽搧鐢宠 澶勬柟绫诲瀷缁存姢鍦ㄨ嵂鍝佽〃 + */ if(!outpinmedicapplyDetilsDtos.isEmpty()){ - OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); - dto1.setHisRegistrationId(cardId); - dto1.setSfzh(customer.getCusIdcard()); - dto1.setSqysbm(ysbm); - dto1.setMzksbm(dept); - dto1.setSjrq(date); String yfbm = configService.selectConfigByKey("chufang_yfbm"); String mzzd = configService.selectConfigByKey("chufang_mzzd"); String czybm = configService.selectConfigByKey("chufang_czybm"); String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); - String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); - if (czybm.equalsIgnoreCase("N")) - dto1.setCzybm(ysbm); - else dto1.setCzybm(czybm); - if (czyksbm.equalsIgnoreCase("N")) - dto1.setCzyksbm(dept); - else dto1.setCzyksbm(czyksbm); - dto1.setCflxbm(cflxbm); - if (yfbm.equalsIgnoreCase("N")) - dto1.setYfbm("1"); - else dto1.setYfbm(yfbm); - dto1.setFyts("1"); - if (mzzd.equalsIgnoreCase("N")) - dto1.setMzzd(""); - else dto1.setMzzd(mzzd); - dto1.setDetails(outpinmedicapplyDetilsDtos); - AjaxResult result = controller.Outpinmedicapply(dto1); - String result1 = getAjaxResult(result); - JSONObject object = getJSONObject(result1); - String code = object.getStr("ResultCode"); - if(null !=code && code.equals("0")){ - JSONObject resultData = object.getJSONObject("ResultData"); -// Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0); - String cfh = resultData.getStr("cfh"); - log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: "+cfh+" outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: "+outpinmedicapplyDetilsDtos.toString()); - for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { - TjCf cf=new TjCf(); - cf.setCardId(cardId); - cf.setSfzh(customer.getCusIdcard()); - cf.setCfh(cfh); - cf.setSqysbm(ysbm); - cf.setSqysxm(ysmc); - cf.setMzksbn(dept); - cf.setSqrq(date); - cf.setCzybm(ysbm); - cf.setYpbm(detilsDto.getYpbm()); - cf.setYpmc(detilsDto.getYpmc()); - cf.setSl(String.valueOf(detilsDto.getSl())); - cf.setDj(String.valueOf(detilsDto.getDj())); - cf.setDcjl(String.valueOf(detilsDto.getDcjl())); - cf.setPj(String.valueOf(detilsDto.getPj())); - cf.setJj(String.valueOf(detilsDto.getJj())); - cf.setCreateTime(new Date()); - cfService.save(cf); +// String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); + Map<String, List<OutpinmedicapplyDetilsDto>> listMap = outpinmedicapplyDetilsDtos.stream().collect(Collectors.groupingBy(OutpinmedicapplyDetilsDto::getCflx)); + listMap.forEach((cflx, details) -> { + OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto(); + dto1.setHisRegistrationId(cardId); + dto1.setSfzh(customer.getCusIdcard()); + dto1.setSqysbm(ysbm); + dto1.setMzksbm(dept); + dto1.setSjrq(date); + if (czybm.equalsIgnoreCase("N")) + dto1.setCzybm(ysbm); + else dto1.setCzybm(czybm); + if (czyksbm.equalsIgnoreCase("N")) + dto1.setCzyksbm(dept); + else dto1.setCzyksbm(czyksbm); + dto1.setCflxbm(cflx); + if (yfbm.equalsIgnoreCase("N")) + dto1.setYfbm("1"); + else dto1.setYfbm(yfbm); + dto1.setFyts("1"); + if (mzzd.equalsIgnoreCase("N")) + dto1.setMzzd(""); + else dto1.setMzzd(mzzd); + dto1.setDetails(details); + AjaxResult result = controller.Outpinmedicapply(dto1); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if (null != code && code.equals("0")) { + JSONObject resultData = object.getJSONObject("ResultData"); + String cfh = resultData.getStr("cfh"); + log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: " + cfh + " outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: " + outpinmedicapplyDetilsDtos.toString()); + for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { + TjCf cf = new TjCf(); + cf.setCardId(cardId); + cf.setSfzh(customer.getCusIdcard()); + cf.setCfh(cfh); + cf.setSqysbm(ysbm); + cf.setSqysxm(ysmc); + cf.setMzksbn(dept); + cf.setSqrq(date); + cf.setCzybm(ysbm); + cf.setYpbm(detilsDto.getYpbm()); + cf.setYpmc(detilsDto.getYpmc()); + cf.setSl(String.valueOf(detilsDto.getSl())); + cf.setDj(String.valueOf(detilsDto.getDj())); + cf.setDcjl(String.valueOf(detilsDto.getDcjl())); + cf.setPj(String.valueOf(detilsDto.getPj())); + cf.setJj(String.valueOf(detilsDto.getJj())); + cf.setCreateTime(new Date()); + cfService.save(cf); + } } - } + }); } return AjaxResult.success(); @@ -1866,59 +2002,86 @@ log.error("pacs鐢宠澶辫触 璇ョ櫥璁颁汉鎸傚彿澶辫触, 灏辫瘖鍙蜂负: " + tjOrder.getCardId()); return AjaxResult.error("鎸傚彿澶辫触!" + result.get("msg").toString()); } - -// LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>(); -// wq2.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId()); -// wq2.isNotNull(TjOrderDetail::getFlowingWaterId); -// wq2.eq(TjOrderDetail::getIsSampling, 0); -// List<TjOrderDetail> detailList1 = tjOrderDetailService.list(wq2); List<TjOrderDetail> detailList1 = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); -// 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"); String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); + String isRequestLisAllzx = configService.selectConfigByKey("jcx_is_requestLisAllzx"); 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 (isRequestLisAllzx != null && isRequestLisAllzx.equals("Y")){ + log.info("杩涘叆鍥綋鏍规嵁灏忛」鏍囨湰鍚堝苟鍙戦�佹柟娉�"); + LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber()); + List<TjSampling> list = tjSamplingService.list(wrapper); + List<String> strings = list.stream().map(TjSampling::getProId).collect(Collectors.toList()); + LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.in(TjProject::getProParentId,strings); + wrapper1.eq(TjProject::getProStatus,0); + wrapper1.groupBy(TjProject::getProId); + List<TjProject> tjProjectList = projectService.list(wrapper1); + if(null != tjProjectList && !tjProjectList.isEmpty()){ + Map<String, List<TjProject>> listMap = tjProjectList.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType)); + log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap)); + boolean save = lisApiMethod.save(listMap, tjOrder, customer); + if (!save) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("澶勭悊澶辫触"); + } + for (TjSampling tjSampling : list) { + tjSampling.setIsSignFor("0"); + } + tjSamplingService.updateBatchById(list); + } + + }else{ + try { + 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,lis_tmh_prefix); + ids.add(id); + }else { + ids.add(stringList.get(0)); + } + } else { + ids.add(samplings.get(0).getId()); } } - if (stringList.size() > 1) { - String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix); - ids.add(id); - }else { - ids.add(stringList.get(0)); + Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N"); + if (!confirmed) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("澶勭悊澶辫触"); } - } else { - ids.add(samplings.get(0).getId()); } - } - Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N"); - if (!confirmed) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return AjaxResult.error("澶勭悊澶辫触"); + } catch (NoTransactionException e) { +// throw new RuntimeException(e); + log.error(String.valueOf(e),e.getMessage()); } } + } //妫�楠岀敵璇� @@ -2084,6 +2247,93 @@ return AjaxResult.success(); } + + public AjaxResult tijianBlshenqing(TjCustomer customer,TjOrder tjOrder, SysUser sysUser,String jxbz) { + List<TbTransition> detailList = tbTransitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), tjOrder.getCardId(),jxbz); + pacsApiMethodService.save(tjOrder, customer, detailList); + List<TjOrderDetail> detailList1 = tjOrderDetailService.getCaiYangDengJiJxbz(tjOrder.getOrderId(), jxbz); + tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser,null); + + String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request"); + String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); + String isRequestLisAllzx = configService.selectConfigByKey("jcx_is_requestLisAllzx"); + if (mergeRequest.equals("Y")){ + if (isRequestLisAllzx != null && isRequestLisAllzx.equals("Y")){ + log.info("杩涘叆鍥綋鏍规嵁灏忛」鏍囨湰鍚堝苟鍙戦�佹柟娉�"); + LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber()); + wrapper.eq(TjSampling::getJxbz,jxbz); + List<TjSampling> list = tjSamplingService.list(wrapper); + List<String> strings = list.stream().map(TjSampling::getProId).collect(Collectors.toList()); + LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.in(TjProject::getProParentId,strings); + wrapper1.eq(TjProject::getProStatus,0); + wrapper1.eq(TjProject::getDeleted,0); + wrapper1.groupBy(TjProject::getProId); + List<TjProject> tjProjectList = projectService.list(wrapper1); + Map<String, List<TjProject>> listMap = tjProjectList.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType)); + log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap)); + boolean save = lisApiMethod.save(listMap, tjOrder, customer); + if (!save) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("澶勭悊澶辫触"); + } + for (TjSampling tjSampling : list) { + tjSampling.setIsSignFor("0"); + } + tjSamplingService.updateBatchById(list); + }else{ + try { + LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjSampling::getTjNum,tjOrder.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,lis_tmh_prefix); + 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("澶勭悊澶辫触"); + } + } + } catch (NoTransactionException e) { + log.error(String.valueOf(e),e.getMessage()); + } + } + + } + return AjaxResult.success(); + } + //閫�璐瑰悗鍙栨秷鎺ヨ瘖浣滃簾鐢宠鍗曠瓑鎿嶄綔 @Transactional public boolean ZfHisApiMethods(TjCustomer customer, TjOrder order,Boolean isUseLisAndPacsRegister) { -- Gitblit v1.8.0