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 d56f10fbd..038cc5d7e 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -553,6 +553,7 @@ public class IoCodeTempController extends BaseController { if (CollUtil.isEmpty(codeList)) return ResultVOUtils.error(500, "追溯码不能为空"); List vailCodeResultResponses = new ArrayList<>(); + Integer groupNumber = getMaxGroupNumber() == null ? 1 : getMaxGroupNumber() + 1; for (String code : codeList) { VailCodeResultResponse vailCodeResultResponse = new VailCodeResultResponse(); AddOrderRequest addOrderRequest = new AddOrderRequest(); @@ -599,7 +600,7 @@ public class IoCodeTempController extends BaseController { } if (IntUtil.value(udiEntity.getProductType()) == 2) { try { - baseResponse = addDrugOrder(addOrderRequest, udiEntity, code); + baseResponse = addDrugOrder(addOrderRequest, udiEntity, code,groupNumber); } catch (JsonException e) { if (e.getCode() == 507) { baseResponse = ResultVOUtils.error(e.getCode(), e.getMessage()); @@ -690,7 +691,8 @@ public class IoCodeTempController extends BaseController { //ioSplitFifoInvService.getOne(new LambdaQueryWrapper().eq(IoSplitFifoInv::getInvCode,"").last("limit 1")); } if (IntUtil.value(udiEntity.getProductType()) == 2) { - return addDrugOrder(addOrderRequest, udiEntity, code); + Integer groupNumber = getMaxGroupNumber() == null ? 1 : getMaxGroupNumber() + 1; + return addDrugOrder(addOrderRequest, udiEntity, code,groupNumber); } else { return addMaterOrder(addOrderRequest, udiEntity, code); } @@ -1360,8 +1362,10 @@ public class IoCodeTempController extends BaseController { @Autowired RelCodeBatchService relCodeBatchService; + + // @Transactional(rollbackFor = Exception.class) - public BaseResponse addDrugOrder(AddOrderRequest addOrderRequest, UdiEntity udiEntity, String code) { + public BaseResponse addDrugOrder(AddOrderRequest addOrderRequest, UdiEntity udiEntity, String code,Integer groupNumber) { AddCodeResult addCodeResult = new AddCodeResult(); BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction()); InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(addOrderRequest.getInvCode()); @@ -1619,6 +1623,7 @@ public class IoCodeTempController extends BaseController { } } } + if (exitLocalEntity == null) { if (codeTempService.ieExitRel(code, orderId)) { return ResultVOUtils.error(500, "当前追溯码已上传关联关系,请勿重复扫码!"); @@ -1646,6 +1651,8 @@ public class IoCodeTempController extends BaseController { codeEnttity.setPrice(udiRelevanceResponse.getPrice()); codeEnttity.setProductType(2); codeEnttity.setCount(1); + codeEnttity.setGroupNumber(groupNumber); + //如果是阿里拉的单据会有批次号 IoCollectOrderCodeMan codeMan = ioCollectOrderCodeManService.getOne(new LambdaQueryWrapper().eq(IoCollectOrderCodeMan::getUdiCode, code)); @@ -1936,6 +1943,13 @@ public class IoCodeTempController extends BaseController { + public Integer getMaxGroupNumber(){ + Integer groupNumber = codeTempService.selectMaxGroupNumber(); + return groupNumber; + } + + + public void updateRelCode(BasicBussinessTypeEntity bussinessTypeEntity, String code) { if (!(bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT) || bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_RETURN))) relCodeBatchService.threadUpdateIoCodeTempEntity(code); @@ -1999,7 +2013,8 @@ public class IoCodeTempController extends BaseController { if (ioOrderEntity != null) { addOrderRequest.setBillNo(ioOrderEntity.getBillNo()); } - return addDrugOrder(addOrderRequest, udiEntity, code); + Integer groupNumber = getMaxGroupNumber() == null ? 1 : getMaxGroupNumber() + 1; + return addDrugOrder(addOrderRequest, udiEntity, code,groupNumber); } public void checkPrice(IoCodeTempEntity codeTempEntity, BasicBussinessTypeEntity bussinessTypeEntity, String @@ -2978,6 +2993,7 @@ public class IoCodeTempController extends BaseController { if (CollUtil.isEmpty(codeOnelist)) return ResultVOUtils.error(500, "追溯码不能为空"); List vailCodeResultResponses = new ArrayList<>(); + Integer groupNumber = getMaxGroupNumber() == null ? 1 : getMaxGroupNumber() + 1; for (String code : codeOnelist) { VailCodeResultResponse vailCodeResultResponse = new VailCodeResultResponse(); AddOrderRequest addOrderRequest = new AddOrderRequest(); @@ -3020,7 +3036,7 @@ public class IoCodeTempController extends BaseController { addOrderRequest.setCode(code); if (IntUtil.value(udiEntity.getProductType()) == 2) { try { - baseResponse = addDrugOrder(addOrderRequest, udiEntity, code); + baseResponse = addDrugOrder(addOrderRequest, udiEntity, code,groupNumber); } catch (JsonException e) { if (e.getCode() == 507) { baseResponse = ResultVOUtils.error(e.getCode(), e.getMessage()); @@ -3071,4 +3087,24 @@ public class IoCodeTempController extends BaseController { } + @AuthRuleAnnotation("") + @GetMapping("admin/warehouse/inout/getCodes") + public BaseResponse findCodesByRelId(FilterCodeRequest filterCodeRequest) { + List list = codeTempService.findCodeList(filterCodeRequest); + for (IoCodeTempResponse ioSplitCodeResponse : list) { + if (StrUtil.isEmpty(ioSplitCodeResponse.getGgxh())) { + ioSplitCodeResponse.setGgxh(ioSplitCodeResponse.getBzgg()); + + } + } + if (list.size() == 0 || list == null) { + return codeTempService.findCodes(filterCodeRequest); + } + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(pageInfo.getList()); + return ResultVOUtils.success(pageSimpleResponse); + } + } diff --git a/src/main/java/com/glxp/api/dao/inout/IoCodeTempDao.java b/src/main/java/com/glxp/api/dao/inout/IoCodeTempDao.java index 520276049..bd043246f 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoCodeTempDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoCodeTempDao.java @@ -23,5 +23,5 @@ public interface IoCodeTempDao extends BaseMapperPlus filterJoinProduct(FilterCodeRequest filterCodeRequest); - + Integer selectMaxGroupNumber(); } 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 74d51b1c9..a3f195f33 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java @@ -227,4 +227,11 @@ public class IoCodeTempEntity { */ @TableField(value = "grantPaCode") private String grantPaCode; + + + /** + * 组号 每次扫码都会增加 + */ + @TableField(value = "groupNumber") + private Integer groupNumber; } diff --git a/src/main/java/com/glxp/api/res/inout/IoCodeTempResponse.java b/src/main/java/com/glxp/api/res/inout/IoCodeTempResponse.java index a331eae4f..d0fe51423 100644 --- a/src/main/java/com/glxp/api/res/inout/IoCodeTempResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoCodeTempResponse.java @@ -160,4 +160,9 @@ public class IoCodeTempResponse { @TableField(value = "drugLink") private Integer drugLink; + /** + * 组号 + */ + private Integer groupNumber; + } diff --git a/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java b/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java index 6bab611f3..abb7c2c53 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java @@ -326,6 +326,10 @@ public class IoCodeTempService { return ResultVOUtils.success(pageSimpleResponse); } + public Integer selectMaxGroupNumber() { + return ioCodeTempDao.selectMaxGroupNumber(); + } + // public IoCodeTempResponse convertToIoCodeTempResponse(IoCodeResponse response) { // IoCodeTempResponse tempResponse = new IoCodeTempResponse(); // BeanUtils.copyProperties(response,tempResponse); diff --git a/src/main/resources/mybatis/mapper/inout/IoCodeTempDao.xml b/src/main/resources/mybatis/mapper/inout/IoCodeTempDao.xml index 2bdf3c1db..936f92552 100644 --- a/src/main/resources/mybatis/mapper/inout/IoCodeTempDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoCodeTempDao.xml @@ -22,6 +22,11 @@ AND code = #{code} + + AND ic.relId = #{relId} + + + GROUP BY ic.id @@ -67,4 +72,7 @@ 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 001159224..ad539704f 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -5269,3 +5269,8 @@ CALL Pro_Temp_ColumnWork('io_order', 'ycBillNo', CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'ycBizNo', ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''来源阳采交易明细单号''', 1); + + +CALL Pro_Temp_ColumnWork('io_code_temp', 'groupNumber', + 'int NULL DEFAULT NULL COMMENT ''组号''', + 1);