From 5f1d1c462bbf49bc6a22b9e17b49733bcc1e0bc6 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 20 六月 2025 19:01:13 +0800 Subject: [PATCH] zjh20250620 --- ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 103 ++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 72 insertions(+), 31 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 efaad75..66d92b1 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 @@ -42,6 +42,7 @@ import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import javax.annotation.Resource; import java.math.BigDecimal; @@ -473,6 +474,7 @@ else sampling.setJyxmdm(String.valueOf(project.getProId())); sampling.setSpecimenTypeCode(project.getSpecimenType()); sampling.setSpecimenType(dictLabel); + sampling.setYb(project.getYb()); // LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm()); // LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper); @@ -484,6 +486,7 @@ sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); sampling.setSpecimenTypeCode(project1.getSpecimenType()); sampling.setSpecimenType(dictLabel); + sampling.setYb(project.getYb()); if (config.equals("Y") && lisAndPacsRegister) sampling.setJyxmdm(project1.getLisXmbm()); else sampling.setJyxmdm(String.valueOf(project1.getProId())); @@ -2439,9 +2442,12 @@ String ysmc = configService.selectConfigByKey("request_default_ysmc"); String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), cardId, jxbz); - Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); +// Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos = new ArrayList<>(); - if (useLisAndPacsRegister && isTuanTiPiao) { + String isRequestLisAllzx = configService.selectConfigByKey("jcx_is_requestLisAllzx"); + + if (isTuanTiPiao) { + // 妫�鏌ョ敵璇� pacsReg(order, customer, jianChaProjects); LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); @@ -2449,40 +2455,75 @@ 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 (isRequestLisAllzx != null && isRequestLisAllzx.equalsIgnoreCase("Y")){ + log.info("琛ュ綍椤圭洰杩涘叆鍥綋鏍规嵁灏忛」鏍囨湰鍚堝苟鍙戦�佹柟娉�"); + + if(null !=list && !list.isEmpty()){ + 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(p->p.getSpecimenType()+"_"+p.getYb())); + + log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap)); + boolean save = lisApiMethod.save(listMap, order, customer); + if (!save) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("澶勭悊澶辫触"); } - if (stringList.size() > 1) { - String id = tjSamplingService.mergeCaiYangApi(stringList, lis_tmh_prefix); - ids.add(id); - } else { - ids.add(stringList.get(0)); + for (TjSampling tjSampling : list) { + tjSampling.setIsSignFor("0"); } - } else { - ids.add(samplings.get(0).getId()); + tjSamplingService.updateBatchById(list); } } - Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N"); - if (!confirmed) - return AjaxResult.error("澶勭悊澶辫触"); + + + }else { + if (!list.isEmpty()) { +// Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode)); + Map<String, List<TjSampling>> listMap = list.stream() + .collect(Collectors.groupingBy(p->p.getSpecimenTypeCode()+"_"+p.getYb())); + + 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 = samplingServiceApi.confirmSamplingApi(ids, "Y", "N"); + if (!confirmed) + return AjaxResult.error("澶勭悊澶辫触"); + } } + } else { List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list(); //妫�楠岀敵璇� -- Gitblit v1.8.0