From f7e8d3bb52745a6ac951da0a7fc8a00a825e1790 Mon Sep 17 00:00:00 2001 From: swj <1211312234@qq.com> Date: Wed, 31 Aug 2022 22:14:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B7=E5=93=81=E5=8F=98=E6=9B=B4=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E6=97=B6=EF=BC=8C=E5=BA=8F=E5=8F=B7=E8=B7=9F=E7=9D=80?= =?UTF-8?q?=E5=8F=98=E7=9A=84=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/springblade/lims/entry/SimpleRel.java | 1 + .../lims/controller/SimpleRelController.java | 52 ++++++++++--------- .../lims/service/impl/EntrustServiceImpl.java | 12 ++--- 3 files changed, 33 insertions(+), 32 deletions(-) diff --git a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/SimpleRel.java b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/SimpleRel.java index 7e3277f..ca62721 100644 --- a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/SimpleRel.java +++ b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/SimpleRel.java @@ -44,5 +44,6 @@ public class SimpleRel extends BaseEntity implements Serializable { private Integer isDeleted; + private Integer sort; } diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/SimpleRelController.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/SimpleRelController.java index 2e3a877..4c6b230 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/SimpleRelController.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/SimpleRelController.java @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @author swj @@ -50,38 +51,41 @@ public class SimpleRelController extends BladeController { @PostMapping("/update") public void update(@RequestBody SimpleRel simpleRel) { + // 0.数据准备:检验编号 + String experieNum = simpleRel.getExamineExperieNum().substring(0, 13); + // 1.修改样品关联 simpleRelService.updateById(simpleRel); + // 2.查所有的样品关联 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SimpleRel::getEntrustId, simpleRel.getEntrustId()); wrapper.eq(SimpleRel::getStatus, 0); + wrapper.orderByAsc(SimpleRel::getSort); List rels = simpleRelService.list(wrapper); - - LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); - wrapper1.eq(Simple::getEntrustId, simpleRel.getEntrustId()); - List simples = simpleService.list(wrapper1); - int a = 1; - if (simples.size() > 0) { - a = simples.size() + 1; - } - String s = simpleRel.getExamineExperieNum().substring(0, 13); - // 实验检测编号 - for (SimpleRel rel : rels) { - String num = ""; - for (Integer i = 0; i < rel.getExamineNum(); i++) { - num += s + a + ","; - a++; + // 3.开始计算 + int num = 1; + Map> collect = rels.stream().collect(Collectors.groupingBy(SimpleRel::getSort)); + for (int i = 0; i < collect.size(); i++) { + List currSimpleRels = collect.get(i); + // 实验的 + for (SimpleRel currRel : currSimpleRels) { + String examineExperieNum = ""; + for (Integer j = 0; j < currRel.getExamineNum(); j++) { + examineExperieNum += experieNum + num + ","; + num ++; + } + currRel.setExamineExperieNum(examineExperieNum); } - rel.setExamineExperieNum(num); - } - // 留样检测编号 - for (SimpleRel rel : rels) { - String num = ""; - for (Integer i = 0; i < rel.getReagentNum(); i++) { - num += s + a + ","; - a++; + // 留样的 + for (SimpleRel currRel : currSimpleRels) { + String reagentNum = ""; + for (Integer k = 0; k < currRel.getReagentNum(); k++) { + reagentNum += experieNum + num + ","; + num ++; + } + currRel.setReagentExperieNum(reagentNum); } - rel.setReagentExperieNum(num); } + // 4.修改 simpleRelService.updateBatchById(rels); } diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java index 3d1e206..00299e2 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java @@ -197,12 +197,9 @@ public class EntrustServiceImpl extends BaseServiceImpl StringBuilder simpleName = new StringBuilder(); Integer simpleCount = 0; List> list = entrust.getSimpleNames(); - int sum = 1; - for (Map map : list) { - Integer count = (Integer) map.get("simpleCount"); - sum += count; - } + // 样品排序 + int sort = 1; for (Map map : list) { // 样品名称 String name = (String) map.get("simpleName"); @@ -224,17 +221,16 @@ public class EntrustServiceImpl extends BaseServiceImpl } simpleRel.setSimpleName(name); simpleRel.setReagentNum(1); -// simpleRel.setReagentExperieNum(s + sum); -// sum++; simpleRel.setReagentExperieNum(s + ((a - 1) * 2 + i + 1 + count)); simpleRel.setExamineNum(1); -// simpleRel.setExamineExperieNum(s + (i + a)); simpleRel.setExamineExperieNum(s + ((a - 1) * 2 + i + 1)); simpleRel.setRecessiveNum((i + a) + ""); simpleRel.setOriginalNum((i + a) + ""); simpleRel.setStatus(0); + simpleRel.setSort(sort); rels.add(simpleRel); } + sort ++; } simpleRelService.saveBatch(rels);