收货添加属性信息;

This commit is contained in:
王奎兴
2026-02-06 15:36:58 +08:00
parent 55a41408b3
commit 5e50398687
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.common.core.constant.SnowFlakeConstants; import com.mhd.common.core.constant.SnowFlakeConstants;
import com.mhd.common.core.exception.ServiceException; import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.utils.DateUtils;
import com.mhd.common.core.utils.IgnoreNullUtil; import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.core.utils.OrderSequence; import com.mhd.common.core.utils.OrderSequence;
import com.mhd.common.core.utils.uuid.IdGenerator; import com.mhd.common.core.utils.uuid.IdGenerator;
@@ -243,6 +244,70 @@ public class ReceiptMaterialDetailImpl extends ServiceImpl<ReceiptMaterialDetail
List<MaterialMoreDetail> materialMoreDetailList = new ArrayList<>(); List<MaterialMoreDetail> materialMoreDetailList = new ArrayList<>();
List<InMaterialDetailSerialNumber> materialDetailSerialNumberList = new ArrayList<>(); List<InMaterialDetailSerialNumber> materialDetailSerialNumberList = new ArrayList<>();
for (ReceiptMaterialDetailDO receiptMaterialDetailDO : receiptMaterialDetailDOList){ for (ReceiptMaterialDetailDO receiptMaterialDetailDO : receiptMaterialDetailDOList){
List<MaterialMoreDetailDO> materialMoreDetailList1 = receiptMaterialDetailDO.getMaterialMoreDetailList();
for (MaterialMoreDetailDO materialMoreDetailDO : materialMoreDetailList1) {
String batchLabels = materialMoreDetailDO.getBatchLabels();
String attributeValue = materialMoreDetailDO.getAttributeValue();
if (attributeValue != null && !attributeValue.isEmpty() && attributeValue != "" && attributeValue.length() > 0 ) {
attributeValue = attributeValue.trim();
switch (batchLabels) {
case "扩展字段4":
receiptMaterialDetailDO.setExtAttr4(attributeValue);
break;
case "扩展字段3":
receiptMaterialDetailDO.setExtAttr3(attributeValue);
break;
case "扩展字段2":
receiptMaterialDetailDO.setExtAttr2(attributeValue);
break;
case "扩展字段1":
receiptMaterialDetailDO.setExtAttr1(attributeValue);
break;
case "箱号/卡板号":
receiptMaterialDetailDO.setBoxPalletNo(attributeValue);
break;
case "Sheet Ref NO's":
receiptMaterialDetailDO.setSheetRefNo(attributeValue);
break;
case "Batch Ref NO's":
receiptMaterialDetailDO.setBatchRefNo(attributeValue);
break;
case "库存日期":
// 判断是否是日期格式再赋值避免报错
try {
if (attributeValue.matches("\\d{4}-\\d{2}-\\d{2}.*")) {
receiptMaterialDetailDO.setInventoryDate(DateUtils.parseDate(attributeValue));
}
} catch (Exception e) {
log.warn("库存日期格式转换失败,物料:{},原始值:{}", receiptMaterialDetailDO.getMaterialName(), attributeValue);
}
//receiptMaterialDetailDO.setInventoryDate(DateUtils.parseDate(attributeValue));
break;
case "过期日期":
// 判断是否是日期格式再赋值避免报错
try {
if (attributeValue.matches("\\d{4}-\\d{2}-\\d{2}.*")) {
receiptMaterialDetailDO.setExpiryDate(DateUtils.parseDate(attributeValue));
}
} catch (Exception e) {
log.warn("库存日期格式转换失败,物料:{},原始值:{}", receiptMaterialDetailDO.getMaterialName(), attributeValue);
}
//receiptMaterialDetailDO.setExpiryDate(DateUtils.parseDate(attributeValue));
break;
case "生产日期":
// 判断是否是日期格式再赋值避免报错
try {
if (attributeValue.matches("\\d{4}-\\d{2}-\\d{2}.*")) {
receiptMaterialDetailDO.setProductionDate(DateUtils.parseDate(attributeValue));
}
} catch (Exception e) {
log.warn("库存日期格式转换失败,物料:{},原始值:{}", receiptMaterialDetailDO.getMaterialName(), attributeValue);
}
//receiptMaterialDetailDO.setProductionDate(DateUtils.parseDate(attributeValue));
break;
}
}
}
// 自动生成批次号并校验唯一性(包括子项) // 自动生成批次号并校验唯一性(包括子项)
generateAndValidateBatchNumber(receiptMaterialDetailDO, shipperId); generateAndValidateBatchNumber(receiptMaterialDetailDO, shipperId);
//更多属性 //更多属性