Merge branch 'dev_qinhongzhanWMS' into wms_dev

This commit is contained in:
秦鸿展
2026-02-04 11:11:29 +08:00
2 changed files with 241 additions and 73 deletions
@@ -17,9 +17,12 @@ import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.SystemServiceFeign; import com.mhd.system.api.SystemServiceFeign;
import com.mhd.system.api.UserServiceFeign; import com.mhd.system.api.UserServiceFeign;
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.stockOutOrder.StockOutOrderApplicationService; import com.mhd.wms.application.service.stockOutOrder.StockOutOrderApplicationService;
import com.mhd.wms.domain.materialBaseInfo.entity.MaterialBaseInfo; import com.mhd.wms.domain.materialBaseInfo.entity.MaterialBaseInfo;
import com.mhd.wms.domain.materialBaseInfo.repository.mapper.MaterialBaseInfoMapper; import com.mhd.wms.domain.materialBaseInfo.repository.mapper.MaterialBaseInfoMapper;
import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO;
import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO;
import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO; import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO;
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder; import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService; import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
@@ -49,6 +52,8 @@ public class ExcelParseService {
@Autowired @Autowired
private MaterialBaseInfoMapper materialBaseInfoMapper; private MaterialBaseInfoMapper materialBaseInfoMapper;
@Autowired @Autowired
private MaterialBaseInfoApplicationService materialBaseInfoService;
@Autowired
private StockOutOrderDomainService stockOutOrderDomainService; private StockOutOrderDomainService stockOutOrderDomainService;
@Resource @Resource
private UserServiceFeign userServiceFeign; private UserServiceFeign userServiceFeign;
@@ -92,13 +97,18 @@ public class ExcelParseService {
itemReader.finish(); itemReader.finish();
List<OutMaterialDetailDO> itemList = itemListener.getItemList(); List<OutMaterialDetailDO> itemList = itemListener.getItemList();
StockOutOrderDO stockOutOrder = headerListener.getStockOutOrder(); StockOutOrderDO stockOutOrder = headerListener.getStockOutOrder();
initList(itemList,warehouseId,warehouseCode,warehouseName); // 提前获取货主ID,用于查询物料基础信息时过滤
String customerName = stockOutOrder.getCustomerName();
Long shipperId = getShipperIdByCustomerName(customerName);
LoginUser loginUser = SecurityUtils.getLoginUser();
Long topOrganizationId = loginUser != null && loginUser.getUserPo() != null
? loginUser.getUserPo().getTopOrganizationId() : null;
initList(itemList, warehouseId, warehouseCode, warehouseName, shipperId, topOrganizationId);
stockOutOrder.setMaterialDetailList(itemList); stockOutOrder.setMaterialDetailList(itemList);
stockOutOrder.setWarehouseName(warehouseName); stockOutOrder.setWarehouseName(warehouseName);
stockOutOrder.setWarehouseCode(warehouseCode); stockOutOrder.setWarehouseCode(warehouseCode);
stockOutOrder.setWarehouseId(warehouseId); stockOutOrder.setWarehouseId(warehouseId);
initDict(stockOutOrder); initDict(stockOutOrder);
LoginUser loginUser = SecurityUtils.getLoginUser();
if (loginUser != null){ if (loginUser != null){
stockOutOrder.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); stockOutOrder.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
stockOutOrder.setOrganizationId(loginUser.getUserPo().getOrganizationId()); stockOutOrder.setOrganizationId(loginUser.getUserPo().getOrganizationId());
@@ -222,19 +232,140 @@ public class ExcelParseService {
return errorMsg; return errorMsg;
} }
private void initList(List<OutMaterialDetailDO> outMaterialDetailDOList, Long warehouseId, String warehouseCode, String warehouseName) { /**
* @description 根据客户名称获取货主ID(用于导入时提前获取货主ID)
* @param customerName 客户名称(在出库单中,客户名称就是货主名称)
* @return 货主ID,如果找不到则返回null
*/
private Long getShipperIdByCustomerName(String customerName) {
if (StringUtils.isEmpty(customerName)) {
return null;
}
try {
if (!customerName.matches("\\d+")) {
// 按名称查询
AjaxResult ajaxResult = userServiceFeign.getInfoByName(customerName);
if ("200".equals(String.valueOf(ajaxResult.get("code")))) {
UserPo userPo = JSON.parseObject(com.alibaba.fastjson2.JSONObject.toJSONString(ajaxResult.get("data")), UserPo.class);
if (userPo != null) {
return userPo.getUserId();
}
}
} else {
// 按ID查询
AjaxResult ajaxResult = userServiceFeign.getInfo(Long.valueOf(customerName));
if ("200".equals(String.valueOf(ajaxResult.get("code")))) {
UserPo userPo = JSON.parseObject(com.alibaba.fastjson2.JSONObject.toJSONString(ajaxResult.get("data")), UserPo.class);
if (userPo != null) {
return userPo.getUserId();
}
}
}
} catch (Exception e) {
// 如果查询失败,返回null,后续在shipperParam方法中会再次尝试
}
return null;
}
/**
* @description 初始化物料明细列表,查询物料基础信息并设置物料基础信息ID(改为与入库单相同的逻辑)
* @param outMaterialDetailDOList 出库物料明细列表
* @param warehouseId 仓库ID
* @param warehouseCode 仓库编码
* @param warehouseName 仓库名称
* @param shipperId 货主ID(用于过滤物料基础信息,确保查询到的是该货主绑定的物料)
* @param topOrganizationId 一级组织ID(用于过滤物料基础信息)
*/
private void initList(List<OutMaterialDetailDO> outMaterialDetailDOList, Long warehouseId, String warehouseCode, String warehouseName, Long shipperId, Long topOrganizationId) {
for (OutMaterialDetailDO outMaterialDetailDO : outMaterialDetailDOList) { for (OutMaterialDetailDO outMaterialDetailDO : outMaterialDetailDOList) {
outMaterialDetailDO.setWarehouseId(warehouseId); outMaterialDetailDO.setWarehouseId(warehouseId);
outMaterialDetailDO.setWarehouseCode(warehouseCode); outMaterialDetailDO.setWarehouseCode(warehouseCode);
outMaterialDetailDO.setWarehouseName(warehouseName); outMaterialDetailDO.setWarehouseName(warehouseName);
// 根据明细表中的字段查询物料基础信息(优先:料号 > 商品SKU码 > 商品名称)
// 注意:查询时必须加上货主ID条件,确保查询到的是该货主绑定的物料
Long materialBaseInfoId = null;
MaterialBaseInfoPO materialBaseInfoPO = null;
// 优先使用料号查询(materialNo对应materialCode
String materialNo = outMaterialDetailDO.getMaterialNo(); String materialNo = outMaterialDetailDO.getMaterialNo();
List<MaterialBaseInfo> materialBaseInfos = materialBaseInfoMapper.selectList(new LambdaQueryWrapper<MaterialBaseInfo>().eq(MaterialBaseInfo::getMaterialCode, materialNo)); if (StringUtils.isNotBlank(materialNo)) {
if (!materialBaseInfos.isEmpty()) { MaterialBaseInfoDO queryDO = new MaterialBaseInfoDO();
if (materialBaseInfos.size() > 1) { queryDO.setMaterialCode(materialNo);
return; if (topOrganizationId != null) {
queryDO.setTopOrganizationId(topOrganizationId);
}
// 加上货主ID条件,确保查询到的是该货主绑定的物料
if (shipperId != null) {
queryDO.setShipperId(shipperId);
}
List<MaterialBaseInfoPO> materialList = materialBaseInfoService.queryList(queryDO);
if (materialList != null && !materialList.isEmpty()) {
materialBaseInfoPO = materialList.get(0);
materialBaseInfoId = materialBaseInfoPO.getMaterialBaseInfoId();
}
}
// 如果料号查询不到,使用商品SKU码查询(skucode对应barCode
if (materialBaseInfoId == null && StringUtils.isNotBlank(outMaterialDetailDO.getSkucode())) {
MaterialBaseInfoDO queryDO = new MaterialBaseInfoDO();
queryDO.setBarCode(outMaterialDetailDO.getSkucode());
if (topOrganizationId != null) {
queryDO.setTopOrganizationId(topOrganizationId);
}
// 加上货主ID条件,确保查询到的是该货主绑定的物料
if (shipperId != null) {
queryDO.setShipperId(shipperId);
}
List<MaterialBaseInfoPO> materialList = materialBaseInfoService.queryList(queryDO);
if (materialList != null && !materialList.isEmpty()) {
materialBaseInfoPO = materialList.get(0);
materialBaseInfoId = materialBaseInfoPO.getMaterialBaseInfoId();
}
}
// 如果料号和SKU码都查询不到,使用商品名称查询(commodityName对应materialName
if (materialBaseInfoId == null && StringUtils.isNotBlank(outMaterialDetailDO.getCommodityName())) {
MaterialBaseInfoDO queryDO = new MaterialBaseInfoDO();
queryDO.setMaterialName(outMaterialDetailDO.getCommodityName());
if (topOrganizationId != null) {
queryDO.setTopOrganizationId(topOrganizationId);
}
// 加上货主ID条件,确保查询到的是该货主绑定的物料
if (shipperId != null) {
queryDO.setShipperId(shipperId);
}
List<MaterialBaseInfoPO> materialList = materialBaseInfoService.queryList(queryDO);
if (materialList != null && !materialList.isEmpty()) {
materialBaseInfoPO = materialList.get(0);
materialBaseInfoId = materialBaseInfoPO.getMaterialBaseInfoId();
}
}
// 设置物料基础信息ID,并从物料基础信息中回填料号、物料编码、物料名称等信息
if (materialBaseInfoId != null && materialBaseInfoPO != null) {
outMaterialDetailDO.setMaterialBaseInfoId(materialBaseInfoId);
// 如果Excel中没有料号,从物料基础信息中回填
if (StringUtils.isBlank(outMaterialDetailDO.getMaterialNo())) {
outMaterialDetailDO.setMaterialNo(materialBaseInfoPO.getMaterialCode());
}
// 回填物料编码
if (StringUtils.isBlank(outMaterialDetailDO.getMaterialCode())) {
outMaterialDetailDO.setMaterialCode(materialBaseInfoPO.getMaterialCode());
}
// 回填物料名称(如果Excel中的商品名称为空,使用物料基础信息中的名称)
if (StringUtils.isBlank(outMaterialDetailDO.getCommodityName())) {
outMaterialDetailDO.setCommodityName(materialBaseInfoPO.getMaterialName());
}
// 回填物料名称到materialName字段
outMaterialDetailDO.setMaterialName(materialBaseInfoPO.getMaterialName());
// 如果Excel中没有SKU码,从物料基础信息中回填
if (StringUtils.isBlank(outMaterialDetailDO.getSkucode())) {
outMaterialDetailDO.setSkucode(materialBaseInfoPO.getBarCode());
} }
MaterialBaseInfo materialBaseInfo = materialBaseInfos.get(0);
outMaterialDetailDO.setMaterialBaseInfoId(materialBaseInfo.getMaterialBaseInfoId());
} }
} }
} }
@@ -668,6 +668,12 @@ public class StockReceiptOrderDomainService {
stockShelfOrderDO.setStatus(1); stockShelfOrderDO.setStatus(1);
List<ShelfMaterialDetailDO> shelfMaterialDetailDOList = new ArrayList<>(); List<ShelfMaterialDetailDO> shelfMaterialDetailDOList = new ArrayList<>();
stockReceiptOrderDO.getMaterialDetailList().forEach(receiptMaterialDetailDO -> { stockReceiptOrderDO.getMaterialDetailList().forEach(receiptMaterialDetailDO -> {
// 如果已收货数量为0,跳过该明细,不生成上架单明细任务
if (receiptMaterialDetailDO.getReceiptQuantity() == null ||
receiptMaterialDetailDO.getReceiptQuantity().compareTo(BigDecimal.ZERO) <= 0) {
return;
}
ShelfMaterialDetailDO shelfMaterialDetailDO = new ShelfMaterialDetailDO(); ShelfMaterialDetailDO shelfMaterialDetailDO = new ShelfMaterialDetailDO();
BeanUtils.copyProperties(receiptMaterialDetailDO, shelfMaterialDetailDO); BeanUtils.copyProperties(receiptMaterialDetailDO, shelfMaterialDetailDO);
shelfMaterialDetailDO.setQuantity(receiptMaterialDetailDO.getReceiptQuantity()); shelfMaterialDetailDO.setQuantity(receiptMaterialDetailDO.getReceiptQuantity());
@@ -699,40 +705,50 @@ public class StockReceiptOrderDomainService {
// 如果转换失败,不设置该字段 // 如果转换失败,不设置该字段
} }
} }
receiptMaterialDetailDO.getChildren().forEach(receiptMaterialDetailDOChildren -> {
ShelfMaterialDetailDO shelfMaterialDetailDOChildren = new ShelfMaterialDetailDO(); // 处理子项:如果子项的已收货数量为0,跳过该子项
BeanUtils.copyProperties(receiptMaterialDetailDOChildren, shelfMaterialDetailDOChildren); if (receiptMaterialDetailDO.getChildren() != null && !receiptMaterialDetailDO.getChildren().isEmpty()) {
shelfMaterialDetailDOChildren.setQuantity(receiptMaterialDetailDOChildren.getReceiptQuantity()); receiptMaterialDetailDO.getChildren().forEach(receiptMaterialDetailDOChildren -> {
shelfMaterialDetailDOChildren.setInUniqueId(receiptMaterialDetailDO.getInUniqueId()); // 如果子项的已收货数量为0,跳过该子项,不生成上架单明细任务
shelfMaterialDetailDOChildren.setReceiptUniqueId(receiptMaterialDetailDO.getUniqueId()); if (receiptMaterialDetailDOChildren.getReceiptQuantity() == null ||
// 传递生产日期、过期日期、存货日期、Batch Ref NO's、Sheet Ref NO's、箱号/卡板号、扩展属性1-4 receiptMaterialDetailDOChildren.getReceiptQuantity().compareTo(BigDecimal.ZERO) <= 0) {
shelfMaterialDetailDOChildren.setProductionDate(receiptMaterialDetailDOChildren.getProductionDate()); return;
shelfMaterialDetailDOChildren.setExpiryDate(receiptMaterialDetailDOChildren.getExpiryDate());
shelfMaterialDetailDOChildren.setInventoryDate(receiptMaterialDetailDOChildren.getInventoryDate());
shelfMaterialDetailDOChildren.setBatchRefNo(receiptMaterialDetailDOChildren.getBatchRefNo());
shelfMaterialDetailDOChildren.setSheetRefNo(receiptMaterialDetailDOChildren.getSheetRefNo());
shelfMaterialDetailDOChildren.setBoxPalletNo(receiptMaterialDetailDOChildren.getBoxPalletNo());
shelfMaterialDetailDOChildren.setExtAttr1(receiptMaterialDetailDOChildren.getExtAttr1());
shelfMaterialDetailDOChildren.setExtAttr2(receiptMaterialDetailDOChildren.getExtAttr2());
// extAttr3和extAttr4在ReceiptMaterialDetailDO中是String类型,在ShelfMaterialDetailDO中是Date类型,需要转换
if (receiptMaterialDetailDOChildren.getExtAttr3() != null && !receiptMaterialDetailDOChildren.getExtAttr3().isEmpty()) {
try {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
shelfMaterialDetailDOChildren.setExtAttr3(sdf.parse(receiptMaterialDetailDOChildren.getExtAttr3()));
} catch (Exception e) {
// 如果转换失败,不设置该字段
} }
}
if (receiptMaterialDetailDOChildren.getExtAttr4() != null && !receiptMaterialDetailDOChildren.getExtAttr4().isEmpty()) { ShelfMaterialDetailDO shelfMaterialDetailDOChildren = new ShelfMaterialDetailDO();
try { BeanUtils.copyProperties(receiptMaterialDetailDOChildren, shelfMaterialDetailDOChildren);
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); shelfMaterialDetailDOChildren.setQuantity(receiptMaterialDetailDOChildren.getReceiptQuantity());
shelfMaterialDetailDOChildren.setExtAttr4(sdf.parse(receiptMaterialDetailDOChildren.getExtAttr4())); shelfMaterialDetailDOChildren.setInUniqueId(receiptMaterialDetailDO.getInUniqueId());
} catch (Exception e) { shelfMaterialDetailDOChildren.setReceiptUniqueId(receiptMaterialDetailDO.getUniqueId());
// 如果转换失败,不设置该字段 // 传递生产日期、过期日期、存货日期、Batch Ref NO's、Sheet Ref NO's、箱号/卡板号、扩展属性1-4
shelfMaterialDetailDOChildren.setProductionDate(receiptMaterialDetailDOChildren.getProductionDate());
shelfMaterialDetailDOChildren.setExpiryDate(receiptMaterialDetailDOChildren.getExpiryDate());
shelfMaterialDetailDOChildren.setInventoryDate(receiptMaterialDetailDOChildren.getInventoryDate());
shelfMaterialDetailDOChildren.setBatchRefNo(receiptMaterialDetailDOChildren.getBatchRefNo());
shelfMaterialDetailDOChildren.setSheetRefNo(receiptMaterialDetailDOChildren.getSheetRefNo());
shelfMaterialDetailDOChildren.setBoxPalletNo(receiptMaterialDetailDOChildren.getBoxPalletNo());
shelfMaterialDetailDOChildren.setExtAttr1(receiptMaterialDetailDOChildren.getExtAttr1());
shelfMaterialDetailDOChildren.setExtAttr2(receiptMaterialDetailDOChildren.getExtAttr2());
// extAttr3和extAttr4在ReceiptMaterialDetailDO中是String类型,在ShelfMaterialDetailDO中是Date类型,需要转换
if (receiptMaterialDetailDOChildren.getExtAttr3() != null && !receiptMaterialDetailDOChildren.getExtAttr3().isEmpty()) {
try {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
shelfMaterialDetailDOChildren.setExtAttr3(sdf.parse(receiptMaterialDetailDOChildren.getExtAttr3()));
} catch (Exception e) {
// 如果转换失败,不设置该字段
}
} }
} if (receiptMaterialDetailDOChildren.getExtAttr4() != null && !receiptMaterialDetailDOChildren.getExtAttr4().isEmpty()) {
shelfMaterialDetailDOList.add(shelfMaterialDetailDOChildren); try {
}); java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
shelfMaterialDetailDOChildren.setExtAttr4(sdf.parse(receiptMaterialDetailDOChildren.getExtAttr4()));
} catch (Exception e) {
// 如果转换失败,不设置该字段
}
}
shelfMaterialDetailDOList.add(shelfMaterialDetailDOChildren);
});
}
shelfMaterialDetailDOList.add(shelfMaterialDetailDO); shelfMaterialDetailDOList.add(shelfMaterialDetailDO);
}); });
stockShelfOrderDO.setMaterialDetailList(shelfMaterialDetailDOList); stockShelfOrderDO.setMaterialDetailList(shelfMaterialDetailDOList);
@@ -786,6 +802,12 @@ public class StockReceiptOrderDomainService {
} }
for (ReceiptMaterialDetailPO receiptMaterialDetailPO : receiptMaterialDetailPOS) { for (ReceiptMaterialDetailPO receiptMaterialDetailPO : receiptMaterialDetailPOS) {
if (2 == receiptMaterialDetailPO.getGenStockShelf()) { if (2 == receiptMaterialDetailPO.getGenStockShelf()) {
// 如果已收货数量为0,跳过该明细,不生成上架单明细任务
if (receiptMaterialDetailPO.getReceiptQuantity() == null ||
receiptMaterialDetailPO.getReceiptQuantity().compareTo(BigDecimal.ZERO) <= 0) {
continue;
}
ShelfMaterialDetailDO shelfMaterialDetailDO = new ShelfMaterialDetailDO(); ShelfMaterialDetailDO shelfMaterialDetailDO = new ShelfMaterialDetailDO();
BeanUtils.copyProperties(receiptMaterialDetailPO, shelfMaterialDetailDO); BeanUtils.copyProperties(receiptMaterialDetailPO, shelfMaterialDetailDO);
shelfMaterialDetailDO.setQuantity(receiptMaterialDetailPO.getReceiptQuantity()); shelfMaterialDetailDO.setQuantity(receiptMaterialDetailPO.getReceiptQuantity());
@@ -869,6 +891,12 @@ public class StockReceiptOrderDomainService {
List<ReceiptMaterialDetailPO> receiptMaterialDetailPODbs = receiptMaterialDetailPOListMap.get(p.getReceiptOrderNumber()); List<ReceiptMaterialDetailPO> receiptMaterialDetailPODbs = receiptMaterialDetailPOListMap.get(p.getReceiptOrderNumber());
List<ShelfMaterialDetailDO> shelfMaterialDetailDOList = new ArrayList<>(); List<ShelfMaterialDetailDO> shelfMaterialDetailDOList = new ArrayList<>();
receiptMaterialDetailPODbs.forEach(receiptMaterialDetailPO -> { receiptMaterialDetailPODbs.forEach(receiptMaterialDetailPO -> {
// 如果已收货数量为0,跳过该明细,不生成上架单明细任务
if (receiptMaterialDetailPO.getReceiptQuantity() == null ||
receiptMaterialDetailPO.getReceiptQuantity().compareTo(BigDecimal.ZERO) <= 0) {
return;
}
ShelfMaterialDetailDO shelfMaterialDetailDO = new ShelfMaterialDetailDO(); ShelfMaterialDetailDO shelfMaterialDetailDO = new ShelfMaterialDetailDO();
BeanUtils.copyProperties(receiptMaterialDetailPO, shelfMaterialDetailDO); BeanUtils.copyProperties(receiptMaterialDetailPO, shelfMaterialDetailDO);
shelfMaterialDetailDO.setQuantity(receiptMaterialDetailPO.getReceiptQuantity()); shelfMaterialDetailDO.setQuantity(receiptMaterialDetailPO.getReceiptQuantity());
@@ -900,40 +928,49 @@ public class StockReceiptOrderDomainService {
// 如果转换失败,不设置该字段 // 如果转换失败,不设置该字段
} }
} }
receiptMaterialDetailPO.getChildren().forEach(receiptMaterialDetailDOChildren -> { // 处理子项:如果子项的已收货数量为0,跳过该子项
ShelfMaterialDetailDO shelfMaterialDetailDOChildren = new ShelfMaterialDetailDO(); if (receiptMaterialDetailPO.getChildren() != null && !receiptMaterialDetailPO.getChildren().isEmpty()) {
BeanUtils.copyProperties(receiptMaterialDetailDOChildren, shelfMaterialDetailDOChildren); receiptMaterialDetailPO.getChildren().forEach(receiptMaterialDetailDOChildren -> {
shelfMaterialDetailDOChildren.setQuantity(receiptMaterialDetailDOChildren.getReceiptQuantity()); // 如果子项的已收货数量为0,跳过该子项,不生成上架单明细任务
shelfMaterialDetailDOChildren.setInUniqueId(receiptMaterialDetailPO.getInUniqueId()); if (receiptMaterialDetailDOChildren.getReceiptQuantity() == null ||
shelfMaterialDetailDOChildren.setReceiptUniqueId(receiptMaterialDetailPO.getUniqueId()); receiptMaterialDetailDOChildren.getReceiptQuantity().compareTo(BigDecimal.ZERO) <= 0) {
// 传递生产日期、过期日期、存货日期、Batch Ref NO's、Sheet Ref NO's、箱号/卡板号、扩展属性1-4 return;
shelfMaterialDetailDOChildren.setProductionDate(receiptMaterialDetailDOChildren.getProductionDate());
shelfMaterialDetailDOChildren.setExpiryDate(receiptMaterialDetailDOChildren.getExpiryDate());
shelfMaterialDetailDOChildren.setInventoryDate(receiptMaterialDetailDOChildren.getInventoryDate());
shelfMaterialDetailDOChildren.setBatchRefNo(receiptMaterialDetailDOChildren.getBatchRefNo());
shelfMaterialDetailDOChildren.setSheetRefNo(receiptMaterialDetailDOChildren.getSheetRefNo());
shelfMaterialDetailDOChildren.setBoxPalletNo(receiptMaterialDetailDOChildren.getBoxPalletNo());
shelfMaterialDetailDOChildren.setExtAttr1(receiptMaterialDetailDOChildren.getExtAttr1());
shelfMaterialDetailDOChildren.setExtAttr2(receiptMaterialDetailDOChildren.getExtAttr2());
// extAttr3和extAttr4在ReceiptMaterialDetailPO中是String类型,在ShelfMaterialDetailDO中是Date类型,需要转换
if (receiptMaterialDetailDOChildren.getExtAttr3() != null && !receiptMaterialDetailDOChildren.getExtAttr3().isEmpty()) {
try {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
shelfMaterialDetailDOChildren.setExtAttr3(sdf.parse(receiptMaterialDetailDOChildren.getExtAttr3()));
} catch (Exception e) {
// 如果转换失败,不设置该字段
} }
}
if (receiptMaterialDetailDOChildren.getExtAttr4() != null && !receiptMaterialDetailDOChildren.getExtAttr4().isEmpty()) { ShelfMaterialDetailDO shelfMaterialDetailDOChildren = new ShelfMaterialDetailDO();
try { BeanUtils.copyProperties(receiptMaterialDetailDOChildren, shelfMaterialDetailDOChildren);
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); shelfMaterialDetailDOChildren.setQuantity(receiptMaterialDetailDOChildren.getReceiptQuantity());
shelfMaterialDetailDOChildren.setExtAttr4(sdf.parse(receiptMaterialDetailDOChildren.getExtAttr4())); shelfMaterialDetailDOChildren.setInUniqueId(receiptMaterialDetailPO.getInUniqueId());
} catch (Exception e) { shelfMaterialDetailDOChildren.setReceiptUniqueId(receiptMaterialDetailPO.getUniqueId());
// 如果转换失败,不设置该字段 // 传递生产日期、过期日期、存货日期、Batch Ref NO's、Sheet Ref NO's、箱号/卡板号、扩展属性1-4
shelfMaterialDetailDOChildren.setProductionDate(receiptMaterialDetailDOChildren.getProductionDate());
shelfMaterialDetailDOChildren.setExpiryDate(receiptMaterialDetailDOChildren.getExpiryDate());
shelfMaterialDetailDOChildren.setInventoryDate(receiptMaterialDetailDOChildren.getInventoryDate());
shelfMaterialDetailDOChildren.setBatchRefNo(receiptMaterialDetailDOChildren.getBatchRefNo());
shelfMaterialDetailDOChildren.setSheetRefNo(receiptMaterialDetailDOChildren.getSheetRefNo());
shelfMaterialDetailDOChildren.setBoxPalletNo(receiptMaterialDetailDOChildren.getBoxPalletNo());
shelfMaterialDetailDOChildren.setExtAttr1(receiptMaterialDetailDOChildren.getExtAttr1());
shelfMaterialDetailDOChildren.setExtAttr2(receiptMaterialDetailDOChildren.getExtAttr2());
// extAttr3和extAttr4在ReceiptMaterialDetailPO中是String类型,在ShelfMaterialDetailDO中是Date类型,需要转换
if (receiptMaterialDetailDOChildren.getExtAttr3() != null && !receiptMaterialDetailDOChildren.getExtAttr3().isEmpty()) {
try {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
shelfMaterialDetailDOChildren.setExtAttr3(sdf.parse(receiptMaterialDetailDOChildren.getExtAttr3()));
} catch (Exception e) {
// 如果转换失败,不设置该字段
}
} }
} if (receiptMaterialDetailDOChildren.getExtAttr4() != null && !receiptMaterialDetailDOChildren.getExtAttr4().isEmpty()) {
shelfMaterialDetailDOList.add(shelfMaterialDetailDOChildren); try {
}); java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
shelfMaterialDetailDOChildren.setExtAttr4(sdf.parse(receiptMaterialDetailDOChildren.getExtAttr4()));
} catch (Exception e) {
// 如果转换失败,不设置该字段
}
}
shelfMaterialDetailDOList.add(shelfMaterialDetailDOChildren);
});
}
shelfMaterialDetailDOList.add(shelfMaterialDetailDO); shelfMaterialDetailDOList.add(shelfMaterialDetailDO);
}); });
stockShelfOrderDO.setMaterialDetailList(shelfMaterialDetailDOList); stockShelfOrderDO.setMaterialDetailList(shelfMaterialDetailDOList);