diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/persistence/OutMaterialDetailImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/persistence/OutMaterialDetailImpl.java index ffdeaca2f..511a238a5 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/persistence/OutMaterialDetailImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/persistence/OutMaterialDetailImpl.java @@ -1145,6 +1145,20 @@ public class OutMaterialDetailImpl extends ServiceImpl copyCodeReferenceIdsCancel = outMaterialDetailDO.getCopyCodeReferenceIdsCancel(); + String copyCodeReferenceIds = outMaterialDetailDb.getCopyCodeReferenceIds(); + List copyCodeReferenceIdsList = Arrays.stream(copyCodeReferenceIds.split(",")).map(Integer::parseInt).collect(Collectors.toList()); + List collect = copyCodeReferenceIdsList.stream().filter(id -> !copyCodeReferenceIdsCancel.contains(id)).collect(Collectors.toList()); + String collect1 = collect.stream().map(String::valueOf).collect(Collectors.joining(",")); + outMaterialDetail.setCopyCodeReferenceIds(collect1); + //抄码商品重置为可用 + copyCodeReferenceService.lambdaUpdate() + .set(CopyCodeReference::getMaterialStatusCode, 1) + .set(CopyCodeReference::getMaterialStatusName, "可用") + .in(CopyCodeReference::getId, copyCodeReferenceIdsCancel); + } outMaterialDetail.setMaterialDetailId(outMaterialDetailDO.getMaterialDetailId()); if (1 == type){ //复核 diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/persistence/PickingMaterialDetailImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/persistence/PickingMaterialDetailImpl.java index 7a6947e51..a83121073 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/persistence/PickingMaterialDetailImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/persistence/PickingMaterialDetailImpl.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mhd.common.core.exception.ServiceException; import com.mhd.common.security.utils.SecurityUtils; import com.mhd.system.api.model.LoginUser; +import com.mhd.wms.domain.copyCodeReference.entity.CopyCodeReference; +import com.mhd.wms.domain.copyCodeReference.repository.facade.ICopyCodeReferenceService; import com.mhd.wms.domain.outMaterialDetail.repository.mapper.OutMaterialDetailMapper; import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO; import com.mhd.wms.domain.outMaterialDetailSerialNumber.entity.OutMaterialDetailSerialNumber; @@ -28,10 +30,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -125,6 +124,9 @@ public class PickingMaterialDetailImpl extends ServiceImpl copDO = Arrays.stream(pickingMaterialDetailDb.getCopyCodeReferenceIds().split(",")) + .map(Integer::parseInt).collect(Collectors.toList()); + //用户取消后的 + List cop = Arrays.stream(pickingMaterialDetailDO.getCopyCodeReferenceIds().split(",")) + .map(Integer::parseInt).collect(Collectors.toList()); + List collect = copDO.stream().filter(id -> !cop.contains(id)).collect(Collectors.toList()); + copyCodeReferenceService.lambdaUpdate() + .set(CopyCodeReference::getMaterialStatusCode, 1) + .set(CopyCodeReference::getMaterialStatusName, "可用") + .in(CopyCodeReference::getId, collect); } pickingMaterialDetail.setMaterialDetailId(pickingMaterialDetailDO.getMaterialDetailId()); pickingMaterialDetail.setUpdateBy(loginUser.getUserid()); diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java index 1397525a0..caf7082f2 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java @@ -910,6 +910,10 @@ public class StockOutOrderDomainService { stockOutOrderPO.setOutMaterialCheckPO(outMaterialCheckPO); List materialDetailList = stockOutOrderPO.getMaterialDetailList(); + for (OutMaterialDetailPO outMaterialDetailPO : materialDetailList) { + MaterialBaseInfo materialBaseInfo = materialBaseInfoMapper.selectById(outMaterialDetailPO.getMaterialBaseInfoId()); + outMaterialDetailPO.setCopyCode(materialBaseInfo.getCopyCode()); + } // 性能优化:批量获取批次属性,避免N+1查询问题 // 1. 收集所有唯一的materialBaseInfoId Set materialBaseInfoIdSet = materialDetailList.stream()