Merge remote-tracking branch 'origin/dev_WMS20260401' into dev_WMS20260401
This commit is contained in:
+43
-1
@@ -23,6 +23,8 @@ import com.mhd.system.api.domain.cache.SystemServiceCacheUtil;
|
||||
import com.mhd.system.api.model.LoginUser;
|
||||
import com.mhd.wms.application.service.materialBaseInfo.MaterialBaseInfoApplicationService;
|
||||
import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO;
|
||||
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
||||
import com.mhd.wms.domain.inMaterialDetail.repository.facade.IInMaterialDetailService;
|
||||
import com.mhd.wms.domain.materialMoreDetail.repository.po.MaterialMoreDetailPO;
|
||||
import com.mhd.wms.domain.pickingMaterialDetail.repository.facade.IPickingMaterialDetailService;
|
||||
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO;
|
||||
@@ -89,6 +91,8 @@ public class PickingOrderApplicationService {
|
||||
private MaterialBaseInfoApplicationService materialBaseInfoApplicationService;
|
||||
@Autowired
|
||||
private IPickingMaterialDetailService pickingMaterialDetailService;
|
||||
@Autowired
|
||||
private IInMaterialDetailService inMaterialDetailService;
|
||||
|
||||
|
||||
private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData";
|
||||
@@ -192,9 +196,47 @@ public class PickingOrderApplicationService {
|
||||
pickingOrderPO.setMaterialQuantity(0);
|
||||
}
|
||||
}
|
||||
|
||||
// ========== 批量查保管明细表补规格型号 ==========
|
||||
Set<String> inOrderNumberSet = new HashSet<>();
|
||||
Set<Long> materialBaseInfoIdSet = new HashSet<>();
|
||||
for (List<PickingMaterialDetailPO> details : materialDetailsByOrderNumber.values()) {
|
||||
for (PickingMaterialDetailPO d : details) {
|
||||
if (StringUtils.isNotBlank(d.getInOrderNumber()) && d.getMaterialBaseInfoId() != null) {
|
||||
inOrderNumberSet.add(d.getInOrderNumber());
|
||||
materialBaseInfoIdSet.add(d.getMaterialBaseInfoId());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!inOrderNumberSet.isEmpty() && !materialBaseInfoIdSet.isEmpty()) {
|
||||
LambdaQueryWrapper<InMaterialDetail> inWrapper = new LambdaQueryWrapper<>();
|
||||
inWrapper.in(InMaterialDetail::getInOrderNumber, inOrderNumberSet);
|
||||
inWrapper.in(InMaterialDetail::getMaterialBaseInfoId, materialBaseInfoIdSet);
|
||||
inWrapper.eq(InMaterialDetail::getDelFlag, 1);
|
||||
List<InMaterialDetail> inDetailList = inMaterialDetailService.list(inWrapper);
|
||||
// 按 inOrderNumber + materialBaseInfoId 分组
|
||||
Map<String, Map<Long, List<InMaterialDetail>>> grouped = inDetailList.stream()
|
||||
.collect(Collectors.groupingBy(InMaterialDetail::getInOrderNumber,
|
||||
Collectors.groupingBy(InMaterialDetail::getMaterialBaseInfoId)));
|
||||
// 回填到拣货单头
|
||||
for (PickingOrderPO po : pickingOrderPOList) {
|
||||
List<PickingMaterialDetailPO> details = materialDetailsByOrderNumber.get(po.getPickingOrderNumber());
|
||||
if (CollectionUtils.isEmpty(details)) continue;
|
||||
PickingMaterialDetailPO first = details.get(0);
|
||||
Map<Long, List<InMaterialDetail>> byBaseId = grouped.get(first.getInOrderNumber());
|
||||
if (byBaseId != null) {
|
||||
List<InMaterialDetail> list = byBaseId.get(first.getMaterialBaseInfoId());
|
||||
if (list != null && !list.isEmpty()) {
|
||||
po.setSpecificationModel(list.get(0).getSpecificationModel());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// ========== 批量查保管明细表补规格型号结束 ==========
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return pickingOrderPOList;
|
||||
}
|
||||
|
||||
|
||||
+4
@@ -162,4 +162,8 @@ public class PickingOrderPO extends StockOutOrderBasePO {
|
||||
|
||||
@ApiModelProperty("是否报关")
|
||||
private String needDeclareFlag;
|
||||
|
||||
@ApiModelProperty("规格型号")
|
||||
@Excel(name = "规格型号")
|
||||
private String specificationModel;
|
||||
}
|
||||
Reference in New Issue
Block a user