diff --git a/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java b/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java index 4151ff490..e5a536647 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java @@ -160,8 +160,8 @@ public class UdiContrastController { udiRelevanceEntity.setSupName(udiCombineRequest.getSupName()); udiRelevanceEntity.setUpdateUser(customerService.getUserId() + ""); UdiRelevanceResponse temp = udiContrastService.findById(udiRelevanceEntity.getId()); - if (temp.getType() == 2){ - if (udiContrastService.isDrugExit(temp.getOriginUuid(),udiRelevanceEntity.getMainId(), udiCombineRequest.getThirdSys())) { + if (temp.getType() == 2) { + if (udiContrastService.isDrugExit(temp.getOriginUuid(), udiRelevanceEntity.getMainId(), udiCombineRequest.getThirdSys())) { return ResultVOUtils.error(500, "已存在相同的对照关系,对照失败!"); } else { try { @@ -170,7 +170,7 @@ public class UdiContrastController { return ResultVOUtils.error(500, "已存在相同的对照关系,对照失败!"); } } - }else { + } else { if (udiContrastService.isExit(temp.getOriginUuid(), udiRelevanceEntity.getMainId(), udiCombineRequest.getThirdSys())) { return ResultVOUtils.error(500, "已存在相同的对照关系,对照失败!"); } else { 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 24bbb2f80..7fa8369ec 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -3,9 +3,13 @@ package com.glxp.api.controller.inout; import com.glxp.api.annotation.CusRedissonAnnotation; import com.glxp.api.constant.*; import com.glxp.api.entity.basic.*; +import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.exception.JsonException; +import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.res.inout.IoOrderDetailCodeResponse; +import com.glxp.api.service.collect.IoCollectOrderService; +import com.glxp.api.service.collect.IoCollectOriginService; import com.glxp.api.service.inout.impl.IoCodeService; import com.glxp.api.service.inv.impl.InvProductDetailService; import org.springframework.beans.BeanUtils; @@ -96,6 +100,10 @@ public class IoCodeTempController extends BaseController { IoCheckInvService checkInvService; @Resource IoSplitFifoCodeService splitFifoCodeService; + @Resource + IoCollectOriginService collectOriginService; + @Resource + IoCollectOrderService collectOrderService; /** * PDA-----单据上传 @@ -216,20 +224,48 @@ public class IoCodeTempController extends BaseController { UdiEntity udiEntity = FilterUdiUtils.getUdi(code); if (udiEntity == null) { - String sptmtodi = systemParamConfigService.selectValueByParamKey(Constant.SPTM_TO_DI); - if (sptmtodi.equals("1")) { - if (code.length() == 13) { - UdiProductEntity udiProductEntity = udiProductService.findBySptm(code); - if (udiProductEntity != null) { - BaseResponse baseResponse = ResultVOUtils.error(508, "UDI码格式错误"); - baseResponse.setData(udiProductEntity); - return baseResponse; + String viewType = addEnterCodeRequest.getViewType(); + if (viewType.equals("tagCode")){ + IoCollectOrder collectOrder = collectOrderService.getByBillNo(code); + if (collectOrder == null ){ + //=============================================// + //本地数据库 无此单据时 触发 用billNo 到 处方下载方法 进行下载 + CollectOrderRequest collectOrderRequest = new CollectOrderRequest(); + collectOrderRequest.setBusType("YPCF002"); + collectOrderRequest.setBillNo(code); + BaseResponse baseResponse = collectOriginService.downloadOrder(collectOrderRequest); + if (ResultEnum.SUCCESS.getCode() == baseResponse.getCode()){ + collectOrder = collectOrderService.getByBillNo(code); + //=============================================// + BaseResponse response = ResultVOUtils.error(601, code); + response.setData(collectOrder); + return response; + }else { + BaseResponse response = ResultVOUtils.error(501, "UDI码格式错误"); + response.setData(originCode); + return response; + } + }else { + BaseResponse response = ResultVOUtils.error(601, code); + response.setData(collectOrder); + return response; + } + } else{ + String sptmtodi = systemParamConfigService.selectValueByParamKey(Constant.SPTM_TO_DI); + if (sptmtodi.equals("1")) { + if (code.length() == 13) { + UdiProductEntity udiProductEntity = udiProductService.findBySptm(code); + if (udiProductEntity != null) { + BaseResponse baseResponse = ResultVOUtils.error(508, "UDI码格式错误"); + baseResponse.setData(udiProductEntity); + return baseResponse; + } } } + BaseResponse baseResponse = ResultVOUtils.error(501, "UDI码格式错误"); + baseResponse.setData(originCode); + return baseResponse; } - BaseResponse baseResponse = ResultVOUtils.error(501, "UDI码格式错误"); - baseResponse.setData(originCode); - return baseResponse; } if (IntUtil.value(udiEntity.getProductType()) == 2) { //药品 @@ -773,12 +809,12 @@ public class IoCodeTempController extends BaseController { return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "单只允许录入非集采产品!"); } - if (IntUtil.value(addOrderRequest.getFifoSplit()) == 2 && IntUtil.value(udiRelevanceResponse.getSplitEnable())) { - return ResultVOUtils.error(500, "当前上货只允许录入整取产品!"); - } - if (IntUtil.value(addOrderRequest.getFifoSplit()) == 1 && !IntUtil.value(udiRelevanceResponse.getSplitEnable())) { - return ResultVOUtils.error(500, "当前上货只允许录入拆零产品!"); - } +// if (IntUtil.value(addOrderRequest.getFifoSplit()) == 2 && IntUtil.value(udiRelevanceResponse.getSplitEnable())) { +// return ResultVOUtils.error(500, "当前上货只允许录入整取产品!"); +// } +// if (IntUtil.value(addOrderRequest.getFifoSplit()) == 1 && !IntUtil.value(udiRelevanceResponse.getSplitEnable())) { +// return ResultVOUtils.error(500, "当前上货只允许录入拆零产品!"); +// } //计算实际数量 if (bussinessTypeEntity.isUse()) { codeEnttity.setReCount(IntUtil.value(codeEnttity.getMyReCount()) + udiCalCountUtil.getUseActCount(udiRelevanceResponse)); @@ -1061,9 +1097,9 @@ public class IoCodeTempController extends BaseController { exitLocalEntity.setCount(exitLocalEntity.getMyCount() + 1); if (bussinessTypeEntity.isUse()) { - exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getUseActCount(udiRelevanceResponses.get(0))); + exitLocalEntity.setReCount(exitLocalEntity.getMyReCount() * udiCalCountUtil.getUseActCount(udiRelevanceResponses.get(0))); } else { - exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getCirActCount(udiRelevanceResponses.get(0))); + exitLocalEntity.setReCount(exitLocalEntity.getMyReCount() * udiCalCountUtil.getCirActCount(udiRelevanceResponses.get(0))); } if (!StringUtils.isBlank(exitLocalEntity.getSerialNo())) { @@ -1185,12 +1221,12 @@ public class IoCodeTempController extends BaseController { if (bussinessTypeEntity.getVailGroupBuy() == 2 && udiRelevanceResponse.isGroupBuy()) { //只采集非集采产品 return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "单只允许录入非集采产品!"); } - if (IntUtil.value(addOrderRequest.getFifoSplit()) == 2 && IntUtil.value(udiRelevanceResponse.getSplitEnable())) { - return ResultVOUtils.error(500, "当前上货只允许录入整取产品!"); - } - if (IntUtil.value(addOrderRequest.getFifoSplit()) == 1 && !IntUtil.value(udiRelevanceResponse.getSplitEnable())) { - return ResultVOUtils.error(500, "当前上货只允许录入拆零产品!"); - } +// if (IntUtil.value(addOrderRequest.getFifoSplit()) == 2 && IntUtil.value(udiRelevanceResponse.getSplitEnable())) { +// return ResultVOUtils.error(500, "当前上货只允许录入整取产品!"); +// } +// if (IntUtil.value(addOrderRequest.getFifoSplit()) == 1 && !IntUtil.value(udiRelevanceResponse.getSplitEnable())) { +// return ResultVOUtils.error(500, "当前上货只允许录入拆零产品!"); +// } //计算实际数量 if (bussinessTypeEntity.isUse()) { @@ -2147,12 +2183,12 @@ public class IoCodeTempController extends BaseController { if (bussinessTypeEntity.getVailGroupBuy() == 2 && udiRelevanceResponse.isGroupBuy()) { //只采集非集采产品 return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "单只允许录入非集采产品!"); } - if (IntUtil.value(addOrderRequest.getFifoSplit()) == 2 && IntUtil.value(udiRelevanceResponse.getSplitEnable())) { - return ResultVOUtils.error(500, "当前上货只允许录入整取产品!"); - } - if (IntUtil.value(addOrderRequest.getFifoSplit()) == 1 && !IntUtil.value(udiRelevanceResponse.getSplitEnable())) { - return ResultVOUtils.error(500, "当前上货只允许录入拆零产品!"); - } +// if (IntUtil.value(addOrderRequest.getFifoSplit()) == 2 && IntUtil.value(udiRelevanceResponse.getSplitEnable())) { +// return ResultVOUtils.error(500, "当前上货只允许录入整取产品!"); +// } +// if (IntUtil.value(addOrderRequest.getFifoSplit()) == 1 && !IntUtil.value(udiRelevanceResponse.getSplitEnable())) { +// return ResultVOUtils.error(500, "当前上货只允许录入拆零产品!"); +// } //计算实际数量 codeEnttity.setReCount(IntUtil.value(codeEnttity.getMyReCount()) + udiCalCountUtil.getActCount(udiRelevanceResponse)); } else if (udiRelevanceResponses.size() == 0) { diff --git a/src/main/java/com/glxp/api/entity/collect/IoCollectOrderCodeMan.java b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderCodeMan.java index 72dd57679..b951fd9ec 100644 --- a/src/main/java/com/glxp/api/entity/collect/IoCollectOrderCodeMan.java +++ b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderCodeMan.java @@ -92,6 +92,9 @@ public class IoCollectOrderCodeMan implements Serializable { @ApiModelProperty(value = "") private Long updateUser; + @TableField(exist = false) + private Boolean removeFlag; + private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/glxp/api/entity/inout/IoSplitCodeEntity.java b/src/main/java/com/glxp/api/entity/inout/IoSplitCodeEntity.java index 4d5f570d0..3b9f2a6bb 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoSplitCodeEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoSplitCodeEntity.java @@ -10,13 +10,19 @@ import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.util.Date; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; /** * 科室出库码拆零表 */ @ApiModel(value = "com-glxp-api-entity-inout-IoSplitCode") @Data +@Builder +@AllArgsConstructor +@NoArgsConstructor @TableName(value = "io_split_code") public class IoSplitCodeEntity implements Serializable { @TableId(value = "id", type = IdType.INPUT) diff --git a/src/main/java/com/glxp/api/req/inout/AddEnterCodeRequest.java b/src/main/java/com/glxp/api/req/inout/AddEnterCodeRequest.java index 5fed7d48d..3fc9186a6 100644 --- a/src/main/java/com/glxp/api/req/inout/AddEnterCodeRequest.java +++ b/src/main/java/com/glxp/api/req/inout/AddEnterCodeRequest.java @@ -6,4 +6,5 @@ import lombok.Data; public class AddEnterCodeRequest { private String originCode; private String code; + private String viewType; } diff --git a/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java b/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java index 0f53bc37d..4805437fa 100644 --- a/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java +++ b/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java @@ -127,4 +127,9 @@ public class CollectOrderBizResponse { private Integer autoResCount; private String replaceCode; + + /** + * 自动赋码状态:1:无法自动赋码;2:可以自动赋码;3:可以自动赋码,但是数量不足 + */ + private Integer autoTagStatus; } diff --git a/src/main/java/com/glxp/api/service/basic/UdiProductService.java b/src/main/java/com/glxp/api/service/basic/UdiProductService.java index 40468f531..7932c93b5 100644 --- a/src/main/java/com/glxp/api/service/basic/UdiProductService.java +++ b/src/main/java/com/glxp/api/service/basic/UdiProductService.java @@ -268,8 +268,8 @@ public class UdiProductService { udiProductEntity.setDiType(1); } int i = udiProductDao.updateById(udiProductEntity); - if (i == 0){ - throw new JsonException(500,"更新错误"); + if (i == 0) { + throw new JsonException(500, "更新错误"); } } @@ -418,16 +418,16 @@ public class UdiProductService { if (nextLevelProduct2 != null && IntUtil.value(nextLevelProduct2.getPackLevel()) > IntUtil.value(curLevel)) { UdiProductEntity nextLevelProduct3 = getNextLevelProduct(nextLevelProduct2, udiProductEntities); if (nextLevelProduct3 != null && IntUtil.value(nextLevelProduct3.getPackLevel()) == IntUtil.value(curLevel)) { - udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getMyBhxjsl()) * IntUtil.value(nextLevelProduct1.getMyBhxjsl()) * IntUtil.value(nextLevelProduct2.getMyBhxjsl()) ); + udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getMyBhxjsl()) * IntUtil.value(nextLevelProduct1.getMyBhxjsl()) * IntUtil.value(nextLevelProduct2.getMyBhxjsl())); } else { - udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getMyBhxjsl()) * IntUtil.value(nextLevelProduct1.getMyBhxjsl()) * IntUtil.value(nextLevelProduct2.getMyBhxjsl()) ); + udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getMyBhxjsl()) * IntUtil.value(nextLevelProduct1.getMyBhxjsl()) * IntUtil.value(nextLevelProduct2.getMyBhxjsl())); } } else { - udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getMyBhxjsl()) * IntUtil.value(nextLevelProduct1.getMyBhxjsl()) ); + udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getMyBhxjsl()) * IntUtil.value(nextLevelProduct1.getMyBhxjsl())); } } else { if (nextLevelProduct1 != null && IntUtil.value(nextLevelProduct1.getPackLevel()) == IntUtil.value(curLevel)) { - udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getMyBhxjsl()) ); + udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getMyBhxjsl())); } } } else { @@ -462,10 +462,10 @@ public class UdiProductService { List byUuids = udiProductDao.findByUuids(updateLevelDrugRequest.getUuid()); UdiProductEntity udiProductEntity1 = null; - if (byUuids.size() == 1){ + if (byUuids.size() == 1) { //只有一条药品数据 - udiProductEntity1 = byUuids.get(0); - if (udiProductEntity1!= null && udiProductEntity1.getNameCode() == null){ + udiProductEntity1 = byUuids.get(0); + if (udiProductEntity1 != null && udiProductEntity1.getNameCode() == null) { //更新 udiProductEntity1.setNameCode(updateLevelDrugRequest.getNameCode()); udiProductEntity1.setPackLevel(updateLevelDrugRequest.getPackLevel() + ""); @@ -473,35 +473,38 @@ public class UdiProductService { udiProductEntity1.setSjcpbm(updateLevelDrugRequest.getSjcpbm()); udiProductEntity1.setBhxjcpbm(updateLevelDrugRequest.getBhxjcpbm()); udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getMyBhxjsl()); - udiProductDao.updateById(udiProductEntity1); + } } - udiProductEntity1 = udiProductDao.findByNameCode(updateLevelDrugRequest.getNameCode()); + udiProductEntity1 = udiProductDao.findByNameCode(updateLevelDrugRequest.getNameCode()); //有药品数据 但是nameCode如果为空的话 院内新增的 更改nameCode - if (udiProductEntity1 != null) { - //更新 - udiProductEntity1.setNameCode(updateLevelDrugRequest.getNameCode()); - udiProductEntity1.setPackLevel(updateLevelDrugRequest.getPackLevel() + ""); - udiProductEntity1.setPackUnit(updateLevelDrugRequest.getPackUnit()); - udiProductEntity1.setSjcpbm(updateLevelDrugRequest.getSjcpbm()); - udiProductEntity1.setBhxjcpbm(updateLevelDrugRequest.getBhxjcpbm()); - udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getMyBhxjsl()); - udiProductDao.updateById(udiProductEntity1); - } else { - //新增 - udiProductEntity1 = udiProductDao.findByUuid(udiRelevanceEntity.getUuid()); - udiProductEntity1.setNameCode(updateLevelDrugRequest.getNameCode()); - udiProductEntity1.setPackLevel(updateLevelDrugRequest.getPackLevel() + ""); - udiProductEntity1.setPackUnit(updateLevelDrugRequest.getPackUnit()); - udiProductEntity1.setSjcpbm(updateLevelDrugRequest.getSjcpbm()); - udiProductEntity1.setBhxjcpbm(updateLevelDrugRequest.getBhxjcpbm()); - udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getMyBhxjsl()); - udiProductEntity1.setUuid(udiRelevanceEntity.getUuid()); - udiProductEntity1.setId(IdUtil.getSnowflakeNextId()); - udiProductDao.insert(udiProductEntity1); + if (udiProductEntity1 != null) { + //更新 + udiProductEntity1.setNameCode(updateLevelDrugRequest.getNameCode()); + udiProductEntity1.setPackLevel(updateLevelDrugRequest.getPackLevel() + ""); + udiProductEntity1.setPackUnit(updateLevelDrugRequest.getPackUnit()); + udiProductEntity1.setSjcpbm(updateLevelDrugRequest.getSjcpbm()); + udiProductEntity1.setBhxjcpbm(updateLevelDrugRequest.getBhxjcpbm()); + udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getMyBhxjsl()); + } else { + //新增 + udiProductEntity1 = udiProductDao.findByUuid(udiRelevanceEntity.getUuid()); + udiProductEntity1.setNameCode(updateLevelDrugRequest.getNameCode()); + udiProductEntity1.setPackLevel(updateLevelDrugRequest.getPackLevel() + ""); + udiProductEntity1.setPackUnit(updateLevelDrugRequest.getPackUnit()); + udiProductEntity1.setSjcpbm(updateLevelDrugRequest.getSjcpbm()); + udiProductEntity1.setBhxjcpbm(updateLevelDrugRequest.getBhxjcpbm()); + udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getMyBhxjsl()); + udiProductEntity1.setUuid(udiRelevanceEntity.getUuid()); + udiProductEntity1.setId(IdUtil.getSnowflakeNextId()); + } + if (IntUtil.value(udiProductEntity1.getPackLevel()) == 1) { + if (IntUtil.value(udiProductEntity1.getPackLevel()) == 1) { + calculateDistCount(udiProductEntity1, udiRelevanceEntity); + calculateUseCount(udiProductEntity1, udiRelevanceEntity); } - - + } + udiProductDao.updateById(udiProductEntity1); } else { //必须先提交后才能保存 UdiProductEntity udiProductEntity1 = udiProductDao.findByNameCode(updateLevelDrugRequest.getNameCode()); @@ -520,6 +523,7 @@ public class UdiProductService { findUltimateEntity(udiProductEntity, udiProductEntities, xjCountWrapper); udiRelevanceEntity.setDistributeLevelDi(udiProductEntity.getNameCode()); udiRelevanceEntity.setDistributeLevelUnit(udiProductEntity.getPackUnit()); + udiRelevanceEntity.setDistributeLevel(IntUtil.value(udiProductEntity.getPackLevel())); udiRelevanceEntity.setDistributeLevelCount(xjCountWrapper.getCount()); } @@ -532,6 +536,7 @@ public class UdiProductService { findUltimateEntity(udiProductEntity, udiProductEntities, xjCountWrapper); udiRelevanceEntity.setUseLevelDi(udiProductEntity.getNameCode()); udiRelevanceEntity.setUseLevelUnit(udiProductEntity.getPackUnit()); + udiRelevanceEntity.setUseLevel(IntUtil.value(udiProductEntity.getPackLevel())); udiRelevanceEntity.setUseLeverCount(xjCountWrapper.getCount()); } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java index a80013f95..b2d00bf9a 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java @@ -321,7 +321,6 @@ public class IoCollectOrderCodeManService extends ServiceImpl removeIds = new ArrayList<>(); for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) { + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(collectOrderBiz.getRelId()); + //去除掉已经手动扫码的数据,找出需要自动扫码的明细,执行上述的拆零或整取 int unTagCount = collectOrderBiz.getCount() - IntUtil.value(collectOrderBiz.getScanActCount()); if (unTagCount > 0) { collectOrderBiz.setUnTagCount(unTagCount); } else { collectOrderBiz.setTagStatus(3); + //手动扫码时涉及到拆零时,把拆零剩余数量插入至拆零表里 + if (unTagCount < 0) { + if (IntUtil.value(udiRelevanceEntity.getUseLeverCount()) > -unTagCount) { + + Optional firstMatch = collectOrderCodeMEN.stream() + .filter(item -> !IntUtil.value(item.getRemoveFlag())) + .findFirst(); + if (firstMatch.isPresent()) { + IoCollectOrderCodeMan result = firstMatch.get(); + IoSplitCodeEntity ioSplitCodeEntity = IoSplitCodeEntity.builder().code(result.getUdiCode()) + .errUdiCode(result.getUdiCode()) + .orderId(result.getOrderIdFk()) + .action(collectOrder.getBusType()) + .relId(result.getRelId()) + .nameCode(result.getNameCode()) + .batchNo(result.getBatchNo()) + .produceDate(result.getProductDate()) + .expireDate(result.getExpireDate()) + .serialNo(result.getSerialNo()) + .scanCount(result.getScanCount()) + .totalCount(result.getScanCount()) + .workPlaceCode(collectOrder.getWorkPlaceCode()) + .status(2) + .fifoSplit(1) + .createTime(new Date()).updateTime(new Date()) + .remainCount(-unTagCount).build(); + splitCodeService.save(ioSplitCodeEntity); + } + + } + } + + continue; } - UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(collectOrderBiz.getRelId()); + int quotient = collectOrderBiz.getUnTagCount() / IntUtil.value(udiRelevanceEntity.getUseLeverCount()); int remainder = collectOrderBiz.getUnTagCount() % IntUtil.value(udiRelevanceEntity.getUseLeverCount()); //2.如果整盒,从工位队列扣除 @@ -546,6 +586,7 @@ public class IoSplitCodeService extends ServiceImpl= needCount) { break; diff --git a/src/main/java/com/glxp/api/service/inout/IoSplitFifoCodeService.java b/src/main/java/com/glxp/api/service/inout/IoSplitFifoCodeService.java index f0e00e09b..55332c9de 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitFifoCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitFifoCodeService.java @@ -54,12 +54,14 @@ public class IoSplitFifoCodeService extends ServiceImpl splitFifoCodeEntities = list(new LambdaQueryWrapper() .eq(IoSplitFifoCodeEntity::getWorkPlaceCode, workPlaceCode) - .eq(StrUtil.isNotEmpty(busType), IoSplitFifoCodeEntity::getBusType, busType) + .eq(IoSplitFifoCodeEntity::getRelId, relId) .eq(StrUtil.isNotEmpty(batchNo), IoSplitFifoCodeEntity::getBatchNo, batchNo) .orderByAsc(IoSplitFifoCodeEntity::getInBactchNo) ); +// 暂时不穿todo +// .eq(StrUtil.isNotEmpty(busType), IoSplitFifoCodeEntity::getBusType, busType) return splitFifoCodeEntities; } @@ -191,13 +193,13 @@ public class IoSplitFifoCodeService extends ServiceImpl orderList = collectOrderMapper.filterList(collectOrderRequest); if (CollUtil.isEmpty(orderList)) throw new JsonException("未找到对应的单据!"); IoCollectOrderResponse order = orderList.get(0); - Integer invAlert1 = order.getInvAlert(); - - if (lockType == 1) { - if (invAlert1 == 1) throw new JsonException("该单据已锁定库存过请勿重复锁定!"); - } else if (lockType == 2) { - if (invAlert1 != 1) throw new JsonException("该单据未正常锁定库存过不可进行解锁库存操作!"); - } +// Integer invAlert1 = order.getInvAlert(); +// +// if (lockType == 1) { +// if (invAlert1 == 1) throw new JsonException("该单据已锁定库存过请勿重复锁定!"); +// } else if (lockType == 2) { +// if (invAlert1 != 1) throw new JsonException("该单据未正常锁定库存过不可进行解锁库存操作!"); +// } //2、获取该单据下的biz明细 CollectOrderBizRequest bizRequest = new CollectOrderBizRequest(); @@ -210,8 +212,24 @@ public class IoSplitFifoCodeService extends ServiceImpl ioSplitInvResponses = splitFifoInvService.filterList(ioSplitFifoInvRequest); - if (CollUtil.isEmpty(ioSplitInvResponses)) return false; - Map> splitInvMap = ioSplitInvResponses.stream().collect(Collectors.groupingBy(IoSplitInvResponse::getRelId)); + if (CollUtil.isEmpty(ioSplitInvResponses)){ + collectOrderMapper.updateInvAlert(order.getId(), 2); + + if (CollUtil.isNotEmpty(bizList)) { + for (int i = 0; i < bizList.size(); i++) { + CollectOrderBizResponse collectOrderBizResponse = bizList.get(i); + Integer count = 0; + if (IntUtil.value(collectOrderBizResponse.getAutoResCount()) < 0) { + count = 0 - IntUtil.value(collectOrderBizResponse.getAutoResCount()); + } else { + count = collectOrderBizResponse.getCount(); + } + collectOrderBizMapper.updateAutoResCount(collectOrderBizResponse.getId(), -count); + } + } + return false; + } + Map> splitInvMap = ioSplitInvResponses.stream().filter(item -> item.getRelId() != null).collect(Collectors.groupingBy(IoSplitInvResponse::getRelId)); if (CollUtil.isNotEmpty(bizList)) { if (lockType == 1) { diff --git a/src/main/resources/mybatis/mapper/inout/IoSplitFifoInvMapper.xml b/src/main/resources/mybatis/mapper/inout/IoSplitFifoInvMapper.xml index 169a5a7cb..2ca6bd907 100644 --- a/src/main/resources/mybatis/mapper/inout/IoSplitFifoInvMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoSplitFifoInvMapper.xml @@ -88,6 +88,9 @@ or bp.nameCode like concat('%', #{keywords}, '%') or bp.zczbhhzbapzbh like concat('%', #{keywords}, '%') or bp.ylqxzcrbarmc like concat('%', #{keywords}, '%') + or bp.manufactory like concat('%',#{keywords},'%') + or bc.name like concat('%',#{keywords},'%') + or swd.busName like concat('%',#{keywords},'%') )