From 1f7a2b7352d3155e3b716751ccca94ef253fd399 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期三, 04 十二月 2024 10:32:30 +0800 Subject: [PATCH] 合并数据 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java | 105 +++++++++++++--------------------------------------- 1 files changed, 26 insertions(+), 79 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java index 0f529eb..0bca0d3 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java @@ -1,9 +1,6 @@ package com.ltkj.web.controller.system; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.ServletSecurityElement; @@ -69,6 +66,8 @@ private LisApiMethod lisApiMethod; @Autowired private ISysConfigService configService; + @Autowired + private SamplingServiceApi samplingService; /** * 鏌ヨ浣撴閲囨牱绠$悊鍒楄〃 @@ -270,6 +269,28 @@ if(null !=order)sampling.setCardId(order.getCardId()); sampling.setCustomer(customer); } + + if (list.size() >= 2) { + // 杩涜鍚堝苟 + List<String> stringList = list.stream().map(TjSampling::getId).collect(Collectors.toList()); + log.info("鎻愬彇id ->{}",stringList); + for (String s : stringList) { + if (tjSamplingService.isMergeItem(s) != 0) { + list.removeIf(item -> Objects.equals(item.getId(), s)); + } + } + Map<String, List<TjSampling>> map = list.stream().collect(Collectors.groupingBy(item -> item.getSpecimenTypeCode())); + for (Map.Entry<String, List<TjSampling>> entry : map.entrySet()) { + List<TjSampling> entryValue = entry.getValue(); + tjSamplingService.mergeCaiYangTran(entryValue.stream().map(TjSampling::getId).collect(Collectors.toList())); + } + } + wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjSampling::getCusId, cusId); + wrapper.eq(TjSampling::getIsSignFor,isSignFor); + wrapper.and(i -> i.isNull(TjSampling::getParentId).or().eq(TjSampling::getIsMerge,1)); + wrapper.orderByDesc(TjSampling::getIsMerge); + list = tjSamplingService.list(wrapper); return AjaxResult.success(list); } @@ -361,80 +382,6 @@ public AjaxResult confirmSampling(@RequestBody List<String> ids) { String config = configService.selectConfigByKey("sfkqdyhis"); String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request"); - return confirm(ids,config,mergeRequest); - } - - /** - * 纭閲囨牱鎺ュ彛 - */ - public Boolean confirmSamplingApi(List<String> ids,String sfkqdyhis,String mergeRequest) { - AjaxResult confirm = confirm(ids, sfkqdyhis, mergeRequest); - log.info("纭閲囨牱杩斿洖 ->{}",confirm); - return confirm.get("code").toString().equals("200"); - } - - private AjaxResult confirm(List<String> ids,String config,String mergeRequest) { - if (null == ids || ids.isEmpty()) { - return AjaxResult.error("璇烽�夋嫨瑕佺‘璁ら」"); - } - List<TjSampling> tjSamplings = tjSamplingService.listByIds(ids); - if (tjSamplings.isEmpty()) - return AjaxResult.error("璇烽�夋嫨瑕佺‘璁ら」"); - String errorMsg = ""; - for (TjSampling sampling : tjSamplings) { - if (sampling.getJyxmdm() == null) - errorMsg+=sampling.getProName()+"鍦╨is绯荤粺鏈壘鍒板搴旂紪鐮佹棤娉曞彂鍑虹敵璇�"; - sampling.setIsSignFor("0"); -// LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); -// wq.eq(TjProject::getProParentId, sampling.getProId()); -// List<TjProject> projectList = projectService.list(wq); -// List<String> collect = new ArrayList<>(); -// for (TjProject project : projectList) { -// Long proId = project.getProId(); -// collect.add(String.valueOf(proId)); -// } -// LambdaQueryWrapper<TjSampling> wq1 = new LambdaQueryWrapper<>(); -// wq1.eq(TjSampling::getTjNum, sampling.getTjNum()); -// wq1.in(TjSampling::getProId, collect); -// List<TjSampling> samplingList = tjSamplingService.list(wq1); -// if (null != samplingList && samplingList.size() > 0) { -// for (TjSampling tjSampling : samplingList) { -// tjSampling.setIsSignFor("0"); -// tjSamplingService.updateById(tjSampling); -// } -// } - TjOrder tjOrder = orderService.getOrderByTjNum(sampling.getTjNum()); - if(null==tjOrder) return AjaxResult.error("浣撴璁板綍涓嶅瓨鍦�"); - TjCustomer tjCustomer = customerService.getById(tjOrder.getUserId()); - boolean updChild; - Boolean save; - if (null != config && config.equals("Y") && !mergeRequest.equals("Y")) { - save = lisApiMethod.save(sampling, tjOrder, tjCustomer); - }else { - save = true; - } - if (save) { - if (sampling.getIsMerge() == 1) { - LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TjSampling::getParentId, sampling.getId()); - List<TjSampling> list = tjSamplingService.list(wrapper); - for (TjSampling tjSampling : list) { - tjSampling.setIsSignFor("0"); - } - updChild = tjSamplingService.updateBatchById(list); - } else { - updChild = true; - } - if (!tjSamplingService.updateById(sampling) && !updChild) { -// lisApiMethod.cancel(sampling.getJyxh(), tjOrder.getCardId(), PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "")); -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return AjaxResult.error("鎿嶄綔澶辫触璇烽噸璇�"); - } - } else { - return AjaxResult.error("鎿嶄綔澶辫触璇烽噸璇�"); - } - } - if (StrUtil.isNotBlank(errorMsg)) return AjaxResult.error(errorMsg); - return AjaxResult.success("鎿嶄綔鎴愬姛"); + return samplingService.confirm(ids,config,mergeRequest); } } -- Gitblit v1.8.0