抄码出库交接

This commit is contained in:
zhou-hongcheng
2026-04-17 14:04:56 +08:00
parent 7cc2081ad3
commit ff32e5d32c
@@ -9,6 +9,9 @@ import com.mhd.common.core.utils.OrderSequence;
import com.mhd.common.core.utils.bean.BeanUtils;
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.copyCodeReference.service.CopyCodeReferenceDomainService;
import com.mhd.wms.domain.deliveTask.repository.facade.IDeliveTaskService;
import com.mhd.wms.domain.deliveTask.repository.todo.DeliveTaskDO;
import com.mhd.wms.domain.handoverTaskOrder.entity.HandoverTaskOrder;
@@ -41,10 +44,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.stream.Collectors;
/**
@@ -77,6 +77,8 @@ public class HandoverTaskOrderDomainService {
private IMaterialInventoryService materialInventoryService;
@Autowired
private IStockOutOrderService stockOutOrderService;
@Autowired
private CopyCodeReferenceDomainService copyCodeReferenceDomainService;
/**
@@ -307,6 +309,8 @@ public class HandoverTaskOrderDomainService {
}
}
@Autowired
private ICopyCodeReferenceService copyCodeReferenceService;
public synchronized void xgkc(List<Long> handoverTaskOrderIds,LoginUser loginUser) {
for (Long handoverTaskOrderId : handoverTaskOrderIds) {
@@ -329,6 +333,14 @@ public class HandoverTaskOrderDomainService {
.eq(OutMaterialDetail::getDelFlag, 1));
Integer review = stockOutOrder != null ? stockOutOrder.getReview() : null;
for (OutMaterialDetail outMaterialDetail : outMaterialDetailList) {
if (outMaterialDetail.getCopyCodeReferenceIds() != null){
List<Integer> copyCodeReferenceIds = Arrays.stream(outMaterialDetail.getCopyCodeReferenceIds().split(","))
.map(Integer::parseInt).collect(Collectors.toList());
copyCodeReferenceService.lambdaUpdate()
.set(CopyCodeReference::getMaterialStatusCode, 3)
.set(CopyCodeReference::getMaterialStatusName, "已出库")
.in(CopyCodeReference::getId, copyCodeReferenceIds);
}
Long materialInventoryId = outMaterialDetail.getMaterialInventoryId();
// 复核什么扣减什么:需要复核用check_quantity,不需要复核用picking_quantity
BigDecimal effectiveQuantity = Integer.valueOf(1).equals(review)