From 03842918ab065ec70e4260e221754f48a7b69db6 Mon Sep 17 00:00:00 2001 From: litao Date: Thu, 23 Nov 2023 14:59:31 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E8=B5=84=E7=AE=A1=E7=90=86=E5=90=88?= =?UTF-8?q?=E5=90=8C=E5=85=A5=E5=BA=93bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../goods/controller/ContractController.java | 46 +++++++++++-------- .../goods/controller/GoodsController.java | 12 ++--- .../lims/controller/EntrustController.java | 13 ++++-- .../lims/service/impl/EntrustServiceImpl.java | 8 +--- .../lims/service/impl/ExamineServiceImpl.java | 8 ++++ 5 files changed, 51 insertions(+), 36 deletions(-) diff --git a/lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/ContractController.java b/lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/ContractController.java index ce2fc24..a895710 100644 --- a/lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/ContractController.java +++ b/lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/ContractController.java @@ -188,30 +188,38 @@ public class ContractController extends BladeController { // queryWrapper1.eq("company_id", one.getId()); queryWrapper1.eq("name", contract.getGoodsName()); queryWrapper1.eq("brand", contract.getBrand()); - Goods one1 = goodsService.getOne(queryWrapper1); - if (one1 == null) { - // 库存里没有这个物品,增个库存, - Goods goods = new Goods(); + List list = goodsService.list(queryWrapper1); + if (CollectionUtils.isEmpty(list)) { + ContractDetail detail = new ContractDetail(); + // 计算本次导出数据中心已存在的同名称同品牌物品数量,如果已经有了则不新增 + List collect = goodsList.stream().filter(goods -> + contract.getGoodsName().equals(goods.getName()) + && contract.getBrand().equals(goods.getBrand())).collect(Collectors.toList()); Long goodIds = RandomUtil.randomLong(); - goods.setId(goodIds); - goods.setName(contract.getGoodsName()); - goods.setCompanyId(one.getId()); - goods.setCompany(one.getName()); - goods.setXh(contract.getXh()); - goods.setRule(contract.getRule()); - goods.setNum(0); - goods.setUnit(contract.getUnit()); - goods.setBrand(contract.getBrand()); - goods.setYt(contract.getYt()); - goods.setCreateTime(new Date()); - goodsList.add(goods); + if (CollectionUtils.isEmpty(collect)) { + // 库存里没有这个物品,增个库存, + Goods goods = new Goods(); + goods.setId(goodIds); + goods.setName(contract.getGoodsName()); + goods.setCompanyId(one.getId()); + goods.setCompany(one.getName()); + goods.setXh(contract.getXh()); + goods.setRule(contract.getRule()); + goods.setNum(0); + goods.setUnit(contract.getUnit()); + goods.setBrand(contract.getBrand()); + goods.setYt(contract.getYt()); + goods.setCreateTime(new Date()); + goodsList.add(goods); + detail.setGoodsId(goodIds); + } else { + detail.setGoodsId(collect.get(0).getId()); + } - ContractDetail detail = new ContractDetail(); detail.setContractId(contractId); detail.setGoodsName(contract.getGoodsName()); detail.setGoodsNum(contract.getGoodsNum()); detail.setRemark(contract.getRemark()); - detail.setGoodsId(goodIds); detail.setInNum(0); detail.setNotNum(contract.getGoodsNum()); detail.setStatus(0); @@ -222,7 +230,7 @@ public class ContractController extends BladeController { detail.setRemark(contract.getRemark()); detail.setGoodsNum(contract.getGoodsNum()); detail.setGoodsName(contract.getGoodsName()); - detail.setGoodsId(one1.getId()); + detail.setGoodsId(list.get(0).getId()); detail.setInNum(0); detail.setNotNum(contract.getGoodsNum()); detail.setStatus(0); diff --git a/lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/GoodsController.java b/lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/GoodsController.java index 33fbc2c..81d06b1 100644 --- a/lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/GoodsController.java +++ b/lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/GoodsController.java @@ -132,13 +132,13 @@ public class GoodsController extends BladeController { // 重名校验 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Goods::getName, goods.getName()); - wrapper.eq(Goods::getCompanyId, goods.getCompanyId()); +// wrapper.eq(Goods::getCompanyId, goods.getCompanyId()); wrapper.eq(Goods::getBrand, goods.getBrand()); - wrapper.eq(Goods::getBigClassId, goods.getBigClassId()); - wrapper.eq(Goods::getXh, goods.getXh()); - wrapper.eq(Goods::getRule, goods.getRule()); - List list2 = goodsService.list(wrapper); - if (list2 != null && list2.size() > 0) { +// wrapper.eq(Goods::getBigClassId, goods.getBigClassId()); +// wrapper.eq(Goods::getXh, goods.getXh()); +// wrapper.eq(Goods::getRule, goods.getRule()); + int count = goodsService.count(wrapper); + if (count > 0) { throw new Exception("数据重复!"); } goods.setId(RandomUtils.nextLong()); diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/EntrustController.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/EntrustController.java index d81d892..2e5391d 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/EntrustController.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/EntrustController.java @@ -622,11 +622,15 @@ public class EntrustController extends BladeController { if (i == split.length - 1) { name += reagent.getName(); manufacturer += reagent.getManufacturer(); - batchNo += split1[1]; + if (split1.length > 1) { + batchNo += split1[1]; + } } else { name += reagent.getName() + ","; manufacturer += reagent.getManufacturer() + ","; - batchNo += split1[1] + ","; + if (split1.length > 1) { + batchNo += split1[1] + ","; + } } } } @@ -666,8 +670,9 @@ public class EntrustController extends BladeController { for (String batch : split3) { String reagenId = batch.split("-")[0]; String realBatch = ""; - if (StringUtils.isNotBlank(batch.split("-")[1])) { - realBatch = batch.split("-")[1]; + String[] split = batch.split("-"); + if (split.length > 1) { + realBatch = split[1]; } List list = tempListMap.get(reagenId); if (CollectionUtils.isNotEmpty(list)) { 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 3487eee..424294c 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 @@ -403,20 +403,14 @@ public class EntrustServiceImpl extends BaseServiceImpl if ("2".equals(examineWay.getInputMode()) || "6".equals(examineWay.getInputMode()) || "7".equals(examineWay.getInputMode())) { List list = JSON.parseArray(examineResult.getExamineDataArr(), ExamineTemplate2Excel.class); System.out.println("list: " + list); - if (list != null && list.size() > 0) { + if (CollectionUtils.isNotEmpty(list)) { for (int i1 = 0; i1 < list.size(); i1++) { ExamineTemplate2Excel excel = list.get(i1); System.out.println("excel: " + excel); ExamineResultVo resultVo = new ExamineResultVo(); -// LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); -// wrapper1.eq(Simple::getEntrustId, id); -// wrapper1.eq(Simple::getExperieNum, excel.getExperieNum()); -// Simple simple = simpleService.getOne(wrapper1); - List collect = simples.stream().filter(simple1 -> simple1.getExperieNum().equals(excel.getExperieNum())).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(collect)) { Simple simple = collect.get(0); -// System.out.println("simple: " + simple); if (simple != null) { resultVo.setOriginalNum(simple.getOriginalNum()); resultVo.setNum(simple.getExperieNum()); diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineServiceImpl.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineServiceImpl.java index 014a6de..ccef0d8 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineServiceImpl.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineServiceImpl.java @@ -6,7 +6,9 @@ import com.alibaba.nacos.common.utils.CollectionUtils; import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.AllArgsConstructor; +import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; @@ -229,6 +231,12 @@ public class ExamineServiceImpl extends BaseServiceImpl @Override @Transactional(rollbackFor = Exception.class) public boolean batchUpdate(Simple simple) { + // 已提交实验结果的实验数量 + int count = this.count(Wrappers.lambdaQuery().eq(Examine::getEntrustId, simple.getEntrustId()).eq(Examine::getIsFinished, "1")); + if (count > 0) { + throw new ServiceException("有检测已提交实验结果,不可修改!"); + } + // 委托单id Long entrustId = simple.getEntrustId(); // 要修改的检测编号前缀