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 ffb09f8ec..33407a4ed 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -899,6 +899,12 @@ public class IoCodeTempController extends BaseController { return ResultVOUtils.error(500, "重复扫码!"); } + //匹配biz + IoOrderDetailCodeEntity byRelId = ioOrderDetailCodeService.findByRelNameCode(addOrderRequest.getBillNo(), udiEntity.getUdi(), udiEntity.getBatchNo()); + if (byRelId!=null){ + exitLocalEntity.setBizId(byRelId.getId()); + } + //校验库存 BaseResponse invRes = null; if (IntUtil.value(bussinessTypeEntity.getUseDyCount()) == 2) { @@ -1349,6 +1355,14 @@ public class IoCodeTempController extends BaseController { exitLocalEntity.setReCount(exitLocalEntity.getMyReCount() * udiCalCountUtil.getCirActCount(udiRelevanceResponses.get(0))); } + + //匹配biz + IoOrderDetailCodeEntity byRelId = ioOrderDetailCodeService.findByRelNameCode(addOrderRequest.getBillNo(), udiEntity.getUdi(), udiEntity.getBatchNo()); + if (byRelId!=null){ + exitLocalEntity.setBizId(byRelId.getId()); + } + + //校验库存 BaseResponse invRes = null; if (IntUtil.value(bussinessTypeEntity.getUseDyCount()) == 2) { @@ -1463,6 +1477,12 @@ public class IoCodeTempController extends BaseController { codeEnttity.setGroupNumber(groupNumber); codeEnttity.setQueueCode(queueCode); + //匹配biz + IoOrderDetailCodeEntity byRelId = ioOrderDetailCodeService.findByRelNameCode(addOrderRequest.getBillNo(), udiEntity.getUdi(), udiEntity.getBatchNo()); + if (byRelId!=null){ + codeEnttity.setBizId(byRelId.getId()); + } + //如果是阿里拉的单据会有批次号 IoCollectOrderCodeMan codeMan = ioCollectOrderCodeManService.getOne(new LambdaQueryWrapper().eq(IoCollectOrderCodeMan::getUdiCode, code)); if (codeMan != null) { diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index 152d19c68..52e6b87ab 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -596,6 +596,17 @@ public class IoOrderController extends BaseController { pageSimpleResponse.setList(codeEntities); return ResultVOUtils.success(pageSimpleResponse); } + @AuthRuleAnnotation("") + @GetMapping("admin/warehouse/inout/findCheckCodeByBiz") + public BaseResponse findCheckCodeByBiz(FilterCodeRequest filterCodeRequest) { + //校验单据是否已完成 + List codeTempEntities = codeTempService.findJoinByBizId(filterCodeRequest.getBizId()); + List codeEntities = getCheckRusultCode(filterCodeRequest.getOrderId(), codeTempEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(0l); + pageSimpleResponse.setList(codeEntities); + return ResultVOUtils.success(pageSimpleResponse); + } /** diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java index 8428a980a..786a7f457 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java @@ -1076,6 +1076,13 @@ public class IoOrderDetailBizController extends BaseController { Long id = codeLostEntity.getId(); if (id == null) codeLostEntity.setId(IdUtil.getSnowflakeNextId()); } + + //匹配biz + IoOrderDetailCodeEntity byRelId = orderDetailCodeService.findByRelNameCode(addOrderRequest.getBillNo(), nameCode, aliYljgBillDetailDrug.getProduceBatchNo()); + if (byRelId!=null){ + codeLostEntity.setBizId(byRelId.getId()); + } + ioCodeLostService.insertOrUpdate(codeLostEntity); UdiEntity udiEntityy = FilterUdiUtils.getUdi(addOrderRequest.getCode()); diff --git a/src/main/java/com/glxp/api/entity/inout/IoCodeLostEntity.java b/src/main/java/com/glxp/api/entity/inout/IoCodeLostEntity.java index b842db97b..ac6ea1d4d 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoCodeLostEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoCodeLostEntity.java @@ -87,7 +87,8 @@ public class IoCodeLostEntity { @TableField(exist = false) private String endTime; - + @TableField(value = "bizId") + private Long bizId; public static final String COL_ID = "id"; diff --git a/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java b/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java index 647d79335..4e1401178 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java @@ -240,4 +240,10 @@ public class IoCodeTempEntity { */ @TableField(value = "queueCode") private String queueCode; + + /** + * bizId + */ + @TableField(value = "bizId") + private Long bizId; } diff --git a/src/main/java/com/glxp/api/req/inout/FilterCodeRequest.java b/src/main/java/com/glxp/api/req/inout/FilterCodeRequest.java index c5aa8a6eb..3d718a968 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterCodeRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterCodeRequest.java @@ -97,4 +97,6 @@ public class FilterCodeRequest extends ListPageRequest { */ private Integer groupNumber; + private Long bizId; + } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java index fbcba013b..e9e79d2b9 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java @@ -705,6 +705,7 @@ public class IoCollectOrderService extends ServiceImpl findJoinByBizId(Long bizId) { + if (bizId == null) + return null; + FilterCodeRequest filterCodeRequest = new FilterCodeRequest(); + filterCodeRequest.setBizId(bizId); + return ioCodeTempDao.filterJoinProduct(filterCodeRequest); + } + public int updateById(IoCodeTempEntity codeEnttity) { return ioCodeTempDao.updateById(codeEnttity); diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java index 7072056d9..c94a009bc 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java @@ -38,6 +38,7 @@ public interface IoOrderDetailBizService { IoOrderDetailBizEntity findByRelId(String orderId, Long relId); + IoOrderDetailBizEntity findByRelId(String orderId, String nameCode, String batchNo); List filterList(FilterOrderDetailBizRequest orderDetailBizRequest); diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java index 6d4a20b60..297d5b97a 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java @@ -14,6 +14,7 @@ public interface IoOrderDetailCodeService { List findByOrderDetail(String orderId, String productName); IoOrderDetailCodeEntity findByUnique(String orderId, Long relId, String bacthNo, BigDecimal price); + IoOrderDetailCodeEntity findByRelNameCode(String orderId, String nameCode , String bacthNo); int findByRelIdCount(String orderId, Long relId, String batchNo); diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java index d1bc59623..2d715c858 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java @@ -156,6 +156,20 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService { return null; } + @Override + public IoOrderDetailBizEntity findByRelId(String orderId, String nameCode, String batchNo) { + List orderDetailBizEntities = + ioOrderDetailBizDao.selectList(new QueryWrapper() + .eq("orderIdFk", orderId) + .eq("nameCode", nameCode) + .eq("batchNo", batchNo) + ); + if (CollUtil.isNotEmpty(orderDetailBizEntities)) { + return orderDetailBizEntities.get(0); + } + return null; + } + @Override public List filterList(FilterOrderDetailBizRequest orderDetailBizRequest) { if (null == orderDetailBizRequest) { @@ -767,6 +781,13 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService { if (!StringUtils.isBlank(exitLocalEntity.getSerialNo())) { return ResultVOUtils.error(500, "重复扫码!"); } + + //匹配biz + IoOrderDetailCodeEntity byRelId = orderDetailCodeService.findByRelNameCode(addOrderRequest.getBillNo(), udiEntity.getUdi(), udiEntity.getBatchNo()); + if (byRelId!=null){ + exitLocalEntity.setBizId(byRelId.getId()); + } + codeTempService.updateById(exitLocalEntity); } } @@ -793,6 +814,13 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService { codeEnttity.setFifoSplit(addOrderRequest.getFifoSplit()); codeEnttity.setProductType(2); codeEnttity.setCount(1); + + //匹配biz + IoOrderDetailCodeEntity byRelId = ioOrderDetailCodeService.findByRelNameCode(addOrderRequest.getBillNo(), udiEntity.getUdi(), udiEntity.getBatchNo()); + if (byRelId!=null){ + codeEnttity.setBizId(byRelId.getId()); + } + String unitFk = null; if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { unitFk = addOrderRequest.getFromCorp(); diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java index dfe977546..34ce2bcdc 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java @@ -65,6 +65,17 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService { ); } + @Override + public IoOrderDetailCodeEntity findByRelNameCode(String orderId, String nameCode, String bacthNo) { + return ioOrderDetailCodeDao.selectOne(new QueryWrapper() + .eq("orderIdFk", orderId) + .eq("nameCode", nameCode) + .eq(StrUtil.isNotEmpty(bacthNo), "batchNo", bacthNo) + .isNull(StrUtil.isEmpty(bacthNo), "batchNo") + .last("limit 1") + ); + } + @Override public int findByRelIdCount(String orderId, Long relId, String batchNo) { Integer count = ioOrderDetailCodeDao.findByRelIdCount(orderId, relId, batchNo); diff --git a/src/main/resources/mybatis/mapper/inout/IoCodeTempDao.xml b/src/main/resources/mybatis/mapper/inout/IoCodeTempDao.xml index aa13337f6..e2c377762 100644 --- a/src/main/resources/mybatis/mapper/inout/IoCodeTempDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoCodeTempDao.xml @@ -19,6 +19,9 @@ orderId = #{orderId} + + bizId = #{bizId} + AND code = #{code} @@ -75,6 +78,9 @@ AND ic.orderId = #{orderId} + + AND ic.bizId = #{bizId} + group by ic.id diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 5ab868f86..7b7d8e321 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -5267,6 +5267,16 @@ ALTER TABLE rel_code_batch MODIFY COLUMN `batchNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '批次号'; + +CALL Pro_Temp_ColumnWork('io_code_temp', 'bizId', + 'bigint DEFAULT NULL COMMENT ''biz表主键''', + 1); + + +CALL Pro_Temp_ColumnWork('io_code_lost', 'bizId', + 'bigint DEFAULT NULL COMMENT ''biz表主键''', + 1); + CALL Pro_Temp_ColumnWork('basic_corp', 'aliEntId', 'varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''阿里供应商ID''', 1); @@ -5315,6 +5325,8 @@ CALL Modify_index('rel_code_batch', 'packageSpec', 'rel_code_batch_packageSpec', CALL Modify_index('io_code', 'code', 'idex_code_query', 'BTREE'); CALL Modify_index('io_code_temp', 'code', 'idex_code_temp_query', 'BTREE'); +CALL Modify_index('io_code_temp', 'orderId', 'idex_orderId_temp_query', 'BTREE'); +CALL Modify_index('io_code_temp', 'bizId', 'idex_bizId_temp_query', 'BTREE'); CALL Pro_Temp_ColumnWork('sys_workplace', 'jobMode',