From 9143281b2e8dbabfef4e754d1dc3b2893d6bc04e Mon Sep 17 00:00:00 2001 From: yewj Date: Fri, 8 Nov 2024 14:35:22 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=89=AB=E7=A0=81=E5=85=B3?= =?UTF-8?q?=E8=81=94=E5=85=B3=E7=B3=BB=E6=89=B9=E6=AC=A1=E5=8F=B7=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoCodeTempController.java | 21 +++++++++-- .../api/dao/collect/RelCodeDetailMapper.java | 1 + .../service/collect/RelCodeDetailService.java | 36 +++++++++++++------ .../api/service/inout/IoAddInoutService.java | 2 ++ 4 files changed, 47 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index 63604764..679d1dce 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -36,11 +36,13 @@ import com.glxp.api.req.inout.PostOrderRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRlSupResponse; +import com.glxp.api.res.collect.RelCodeDetailResponse; import com.glxp.api.res.inout.AddCodeResult; import com.glxp.api.res.inout.IoCodeTempResponse; import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.basic.*; import com.glxp.api.service.collect.RelCodeBatchService; +import com.glxp.api.service.collect.RelCodeDetailService; import com.glxp.api.service.inout.*; import com.glxp.api.service.inout.impl.IoCodeService; import com.glxp.api.service.inout.impl.IoCodeTempService; @@ -919,6 +921,8 @@ public class IoCodeTempController extends BaseController { @Resource RelCodeBatchService relCodeBatchService; + @Resource + RelCodeDetailService relCodeDetailService; //前端扫码提交(药品) @AuthRuleAnnotation("") @@ -955,7 +959,21 @@ public class IoCodeTempController extends BaseController { if (StrUtil.isNotEmpty(addOrderRequest.getSerialNo())) { udiEntity.setSerialNo(addOrderRequest.getSerialNo()); } - + if (StrUtil.isEmpty(udiEntity.getBatchNo())) { + IoCodeLostEntity codeLostEntity = codeLostService.findByCode(code); + if (codeLostEntity != null) { + udiEntity.setBatchNo(codeLostEntity.getBatchNo()); + udiEntity.setProduceDate(codeLostEntity.getProduceDate()); + udiEntity.setExpireDate(codeLostEntity.getExpireDate()); + } else { + RelCodeDetailResponse codeRelEntity = relCodeDetailService.findByCode(code); + if (codeRelEntity != null) { + udiEntity.setBatchNo(codeRelEntity.getBatchNo()); + udiEntity.setProduceDate(DateUtil.formatDate(codeRelEntity.getMadeDate(), "yyMMdd")); + udiEntity.setExpireDate(DateUtil.formatDate(codeRelEntity.getValidateDate(), "yyMMdd")); + } + } + } //批次号校验 //判断此产品是否开启允许无批次号 UdiProductEntity udiInfoEntity = udiProductService.findByNameCode(udiEntity.getUdi()); @@ -986,7 +1004,6 @@ public class IoCodeTempController extends BaseController { } } - UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); long recent = 0; if (udiRelevanceResponse.getRecentDateTime() != null) diff --git a/src/main/java/com/glxp/api/dao/collect/RelCodeDetailMapper.java b/src/main/java/com/glxp/api/dao/collect/RelCodeDetailMapper.java index f2354f64..40447209 100644 --- a/src/main/java/com/glxp/api/dao/collect/RelCodeDetailMapper.java +++ b/src/main/java/com/glxp/api/dao/collect/RelCodeDetailMapper.java @@ -13,6 +13,7 @@ import java.util.List; @Mapper public interface RelCodeDetailMapper extends BaseMapperPlus { + List filterList(RelCodeDetailRequest relCodeDetailRequest); } diff --git a/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java b/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java index 2d004bf1..35bb93cf 100644 --- a/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java +++ b/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java @@ -28,20 +28,21 @@ public class RelCodeDetailService extends ServiceImpl list = this.baseMapper.selectList(new LambdaQueryWrapper().eq(RelCodeDetail::getCurCode, curCode)); - if (CollUtil.isNotEmpty(list)){ + if (CollUtil.isNotEmpty(list)) { throw new JsonException("当前条码关联关系已被维护!"); } - if(StrUtil.isNotBlank(parentCode)){ + if (StrUtil.isNotBlank(parentCode)) { if (parentCode.endsWith("\u001D")) { parentCode = parentCode.replace("\u001D", ""); } - if(StrUtil.equals(curCode,parentCode)){ + if (StrUtil.equals(curCode, parentCode)) { throw new JsonException("录入条码重复!"); } UdiEntity parentCodeUdi = FilterUdiUtils.getUdi(parentCode); - if (parentCodeUdi == null){ + if (parentCodeUdi == null) { throw new JsonException("无效父级条码!"); } LambdaQueryWrapper pw = new LambdaQueryWrapper() .eq(BasicProductsEntity::getNameCode, parentCodeUdi.getUdi()) .last("limit 1"); BasicProductsEntity parent = basicProductsDao.selectOne(pw); - if(parent == null){ + if (parent == null) { throw new JsonException("父级产品信息不存在"); } - if(!StrUtil.equals(parent.getUuid(),cur.getUuid())){ + if (!StrUtil.equals(parent.getUuid(), cur.getUuid())) { throw new JsonException("当前条码不是同一产品"); } - if(Integer.valueOf(parent.getPackLevel()) - Integer.valueOf(cur.getPackLevel()) != 1){ + if (Integer.valueOf(parent.getPackLevel()) - Integer.valueOf(cur.getPackLevel()) != 1) { throw new JsonException("当前条码不属于子条码"); } - }else { + } else { parentCode = "0"; } relCodeDetailResponse.setCurCode(curCode); @@ -99,6 +100,7 @@ public class RelCodeDetailService extends ServiceImpl relCodeDetailResponse = filterList(relCodeDetailRequest); + if (CollUtil.isNotEmpty(relCodeDetailResponse)) { + return relCodeDetailResponse.get(0); + } else { + return null; + } + } + + } diff --git a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java index 7a5e9011..e2c3b903 100644 --- a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java @@ -697,8 +697,10 @@ public class IoAddInoutService { } else return null; } + @Resource IoCodeLostService codeLostService; + public String checkOriginCode(IoCodeTempEntity warehouseEntity) { UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode());