出口仓单型号规格
This commit is contained in:
+42
@@ -23,6 +23,8 @@ import com.mhd.system.api.domain.cache.SystemServiceCacheUtil;
|
|||||||
import com.mhd.system.api.model.LoginUser;
|
import com.mhd.system.api.model.LoginUser;
|
||||||
import com.mhd.wms.application.service.materialBaseInfo.MaterialBaseInfoApplicationService;
|
import com.mhd.wms.application.service.materialBaseInfo.MaterialBaseInfoApplicationService;
|
||||||
import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO;
|
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.materialMoreDetail.repository.po.MaterialMoreDetailPO;
|
||||||
import com.mhd.wms.domain.pickingMaterialDetail.repository.facade.IPickingMaterialDetailService;
|
import com.mhd.wms.domain.pickingMaterialDetail.repository.facade.IPickingMaterialDetailService;
|
||||||
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO;
|
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO;
|
||||||
@@ -89,6 +91,8 @@ public class PickingOrderApplicationService {
|
|||||||
private MaterialBaseInfoApplicationService materialBaseInfoApplicationService;
|
private MaterialBaseInfoApplicationService materialBaseInfoApplicationService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IPickingMaterialDetailService pickingMaterialDetailService;
|
private IPickingMaterialDetailService pickingMaterialDetailService;
|
||||||
|
@Autowired
|
||||||
|
private IInMaterialDetailService inMaterialDetailService;
|
||||||
|
|
||||||
|
|
||||||
private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData";
|
private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData";
|
||||||
@@ -192,6 +196,44 @@ public class PickingOrderApplicationService {
|
|||||||
pickingOrderPO.setMaterialQuantity(0);
|
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());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ========== 批量查保管明细表补规格型号结束 ==========
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
@@ -162,4 +162,8 @@ public class PickingOrderPO extends StockOutOrderBasePO {
|
|||||||
|
|
||||||
@ApiModelProperty("是否报关")
|
@ApiModelProperty("是否报关")
|
||||||
private String needDeclareFlag;
|
private String needDeclareFlag;
|
||||||
|
|
||||||
|
@ApiModelProperty("规格型号")
|
||||||
|
@Excel(name = "规格型号")
|
||||||
|
private String specificationModel;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user