出库单导入调整

上架收货数量为0不生成上架任务
This commit is contained in:
秦鸿展
2026-02-04 11:10:58 +08:00
parent 296f9a2818
commit 5189806635
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.UserServiceFeign;
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.domain.materialBaseInfo.entity.MaterialBaseInfo;
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.stockOutOrder.entity.StockOutOrder;
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
@@ -49,6 +52,8 @@ public class ExcelParseService {
@Autowired
private MaterialBaseInfoMapper materialBaseInfoMapper;
@Autowired
private MaterialBaseInfoApplicationService materialBaseInfoService;
@Autowired
private StockOutOrderDomainService stockOutOrderDomainService;
@Resource
private UserServiceFeign userServiceFeign;
@@ -92,13 +97,18 @@ public class ExcelParseService {
itemReader.finish();
List<OutMaterialDetailDO> itemList = itemListener.getItemList();
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.setWarehouseName(warehouseName);
stockOutOrder.setWarehouseCode(warehouseCode);
stockOutOrder.setWarehouseId(warehouseId);
initDict(stockOutOrder);
LoginUser loginUser = SecurityUtils.getLoginUser();
if (loginUser != null){
stockOutOrder.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
stockOutOrder.setOrganizationId(loginUser.getUserPo().getOrganizationId());
@@ -222,19 +232,140 @@ public class ExcelParseService {
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) {
outMaterialDetailDO.setWarehouseId(warehouseId);
outMaterialDetailDO.setWarehouseCode(warehouseCode);
outMaterialDetailDO.setWarehouseName(warehouseName);
// 根据明细表中的字段查询物料基础信息(优先:料号 > 商品SKU码 > 商品名称)
// 注意:查询时必须加上货主ID条件,确保查询到的是该货主绑定的物料
Long materialBaseInfoId = null;
MaterialBaseInfoPO materialBaseInfoPO = null;
// 优先使用料号查询(materialNo对应materialCode
String materialNo = outMaterialDetailDO.getMaterialNo();
List<MaterialBaseInfo> materialBaseInfos = materialBaseInfoMapper.selectList(new LambdaQueryWrapper<MaterialBaseInfo>().eq(MaterialBaseInfo::getMaterialCode, materialNo));
if (!materialBaseInfos.isEmpty()) {
if (materialBaseInfos.size() > 1) {
return;
if (StringUtils.isNotBlank(materialNo)) {
MaterialBaseInfoDO queryDO = new MaterialBaseInfoDO();
queryDO.setMaterialCode(materialNo);
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);
List<ShelfMaterialDetailDO> shelfMaterialDetailDOList = new ArrayList<>();
stockReceiptOrderDO.getMaterialDetailList().forEach(receiptMaterialDetailDO -> {
// 如果已收货数量为0,跳过该明细,不生成上架单明细任务
if (receiptMaterialDetailDO.getReceiptQuantity() == null ||
receiptMaterialDetailDO.getReceiptQuantity().compareTo(BigDecimal.ZERO) <= 0) {
return;
}
ShelfMaterialDetailDO shelfMaterialDetailDO = new ShelfMaterialDetailDO();
BeanUtils.copyProperties(receiptMaterialDetailDO, shelfMaterialDetailDO);
shelfMaterialDetailDO.setQuantity(receiptMaterialDetailDO.getReceiptQuantity());
@@ -699,40 +705,50 @@ public class StockReceiptOrderDomainService {
// 如果转换失败,不设置该字段
}
}
receiptMaterialDetailDO.getChildren().forEach(receiptMaterialDetailDOChildren -> {
ShelfMaterialDetailDO shelfMaterialDetailDOChildren = new ShelfMaterialDetailDO();
BeanUtils.copyProperties(receiptMaterialDetailDOChildren, shelfMaterialDetailDOChildren);
shelfMaterialDetailDOChildren.setQuantity(receiptMaterialDetailDOChildren.getReceiptQuantity());
shelfMaterialDetailDOChildren.setInUniqueId(receiptMaterialDetailDO.getInUniqueId());
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) {
// 如果转换失败,不设置该字段
// 处理子项:如果子项的已收货数量为0,跳过该子项
if (receiptMaterialDetailDO.getChildren() != null && !receiptMaterialDetailDO.getChildren().isEmpty()) {
receiptMaterialDetailDO.getChildren().forEach(receiptMaterialDetailDOChildren -> {
// 如果子项的已收货数量为0,跳过该子项,不生成上架单明细任务
if (receiptMaterialDetailDOChildren.getReceiptQuantity() == null ||
receiptMaterialDetailDOChildren.getReceiptQuantity().compareTo(BigDecimal.ZERO) <= 0) {
return;
}
}
if (receiptMaterialDetailDOChildren.getExtAttr4() != null && !receiptMaterialDetailDOChildren.getExtAttr4().isEmpty()) {
try {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
shelfMaterialDetailDOChildren.setExtAttr4(sdf.parse(receiptMaterialDetailDOChildren.getExtAttr4()));
} catch (Exception e) {
// 如果转换失败,不设置该字段
ShelfMaterialDetailDO shelfMaterialDetailDOChildren = new ShelfMaterialDetailDO();
BeanUtils.copyProperties(receiptMaterialDetailDOChildren, shelfMaterialDetailDOChildren);
shelfMaterialDetailDOChildren.setQuantity(receiptMaterialDetailDOChildren.getReceiptQuantity());
shelfMaterialDetailDOChildren.setInUniqueId(receiptMaterialDetailDO.getInUniqueId());
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) {
// 如果转换失败,不设置该字段
}
}
}
shelfMaterialDetailDOList.add(shelfMaterialDetailDOChildren);
});
if (receiptMaterialDetailDOChildren.getExtAttr4() != null && !receiptMaterialDetailDOChildren.getExtAttr4().isEmpty()) {
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);
});
stockShelfOrderDO.setMaterialDetailList(shelfMaterialDetailDOList);
@@ -786,6 +802,12 @@ public class StockReceiptOrderDomainService {
}
for (ReceiptMaterialDetailPO receiptMaterialDetailPO : receiptMaterialDetailPOS) {
if (2 == receiptMaterialDetailPO.getGenStockShelf()) {
// 如果已收货数量为0,跳过该明细,不生成上架单明细任务
if (receiptMaterialDetailPO.getReceiptQuantity() == null ||
receiptMaterialDetailPO.getReceiptQuantity().compareTo(BigDecimal.ZERO) <= 0) {
continue;
}
ShelfMaterialDetailDO shelfMaterialDetailDO = new ShelfMaterialDetailDO();
BeanUtils.copyProperties(receiptMaterialDetailPO, shelfMaterialDetailDO);
shelfMaterialDetailDO.setQuantity(receiptMaterialDetailPO.getReceiptQuantity());
@@ -869,6 +891,12 @@ public class StockReceiptOrderDomainService {
List<ReceiptMaterialDetailPO> receiptMaterialDetailPODbs = receiptMaterialDetailPOListMap.get(p.getReceiptOrderNumber());
List<ShelfMaterialDetailDO> shelfMaterialDetailDOList = new ArrayList<>();
receiptMaterialDetailPODbs.forEach(receiptMaterialDetailPO -> {
// 如果已收货数量为0,跳过该明细,不生成上架单明细任务
if (receiptMaterialDetailPO.getReceiptQuantity() == null ||
receiptMaterialDetailPO.getReceiptQuantity().compareTo(BigDecimal.ZERO) <= 0) {
return;
}
ShelfMaterialDetailDO shelfMaterialDetailDO = new ShelfMaterialDetailDO();
BeanUtils.copyProperties(receiptMaterialDetailPO, shelfMaterialDetailDO);
shelfMaterialDetailDO.setQuantity(receiptMaterialDetailPO.getReceiptQuantity());
@@ -900,40 +928,49 @@ public class StockReceiptOrderDomainService {
// 如果转换失败,不设置该字段
}
}
receiptMaterialDetailPO.getChildren().forEach(receiptMaterialDetailDOChildren -> {
ShelfMaterialDetailDO shelfMaterialDetailDOChildren = new ShelfMaterialDetailDO();
BeanUtils.copyProperties(receiptMaterialDetailDOChildren, shelfMaterialDetailDOChildren);
shelfMaterialDetailDOChildren.setQuantity(receiptMaterialDetailDOChildren.getReceiptQuantity());
shelfMaterialDetailDOChildren.setInUniqueId(receiptMaterialDetailPO.getInUniqueId());
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) {
// 如果转换失败,不设置该字段
// 处理子项:如果子项的已收货数量为0,跳过该子项
if (receiptMaterialDetailPO.getChildren() != null && !receiptMaterialDetailPO.getChildren().isEmpty()) {
receiptMaterialDetailPO.getChildren().forEach(receiptMaterialDetailDOChildren -> {
// 如果子项的已收货数量为0,跳过该子项,不生成上架单明细任务
if (receiptMaterialDetailDOChildren.getReceiptQuantity() == null ||
receiptMaterialDetailDOChildren.getReceiptQuantity().compareTo(BigDecimal.ZERO) <= 0) {
return;
}
}
if (receiptMaterialDetailDOChildren.getExtAttr4() != null && !receiptMaterialDetailDOChildren.getExtAttr4().isEmpty()) {
try {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
shelfMaterialDetailDOChildren.setExtAttr4(sdf.parse(receiptMaterialDetailDOChildren.getExtAttr4()));
} catch (Exception e) {
// 如果转换失败,不设置该字段
ShelfMaterialDetailDO shelfMaterialDetailDOChildren = new ShelfMaterialDetailDO();
BeanUtils.copyProperties(receiptMaterialDetailDOChildren, shelfMaterialDetailDOChildren);
shelfMaterialDetailDOChildren.setQuantity(receiptMaterialDetailDOChildren.getReceiptQuantity());
shelfMaterialDetailDOChildren.setInUniqueId(receiptMaterialDetailPO.getInUniqueId());
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) {
// 如果转换失败,不设置该字段
}
}
}
shelfMaterialDetailDOList.add(shelfMaterialDetailDOChildren);
});
if (receiptMaterialDetailDOChildren.getExtAttr4() != null && !receiptMaterialDetailDOChildren.getExtAttr4().isEmpty()) {
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);
});
stockShelfOrderDO.setMaterialDetailList(shelfMaterialDetailDOList);