修改移位后生成的库存批次属性维护的值没保存上
This commit is contained in:
+1
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
|||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.mhd.common.core.annotation.Excel;
|
import com.mhd.common.core.annotation.Excel;
|
||||||
import com.mhd.common.core.web.domain.BaseVOEntity;
|
import com.mhd.common.core.web.domain.BaseVOEntity;
|
||||||
|
import com.mhd.wms.domain.materialMoreDetail.repository.po.MaterialMoreDetailPO;
|
||||||
import com.mhd.wms.domain.shiftMaterialDetail.repository.todo.ShiftMaterialDetailDO;
|
import com.mhd.wms.domain.shiftMaterialDetail.repository.todo.ShiftMaterialDetailDO;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
+60
-4
@@ -19,6 +19,7 @@ import com.mhd.wms.domain.inventoryStandingDetail.repository.todo.InventoryStand
|
|||||||
import com.mhd.wms.domain.materialInventory.entity.MaterialInventory;
|
import com.mhd.wms.domain.materialInventory.entity.MaterialInventory;
|
||||||
import com.mhd.wms.domain.materialInventory.repository.facade.IMaterialInventoryService;
|
import com.mhd.wms.domain.materialInventory.repository.facade.IMaterialInventoryService;
|
||||||
import com.mhd.wms.domain.materialInventory.repository.todo.MaterialInventoryDO;
|
import com.mhd.wms.domain.materialInventory.repository.todo.MaterialInventoryDO;
|
||||||
|
import com.mhd.wms.domain.materialMoreDetail.repository.po.MaterialMoreDetailPO;
|
||||||
import com.mhd.wms.domain.outMaterialDetailSerialNumber.repository.facade.IOutMaterialDetailSerialNumberService;
|
import com.mhd.wms.domain.outMaterialDetailSerialNumber.repository.facade.IOutMaterialDetailSerialNumberService;
|
||||||
import com.mhd.wms.domain.outMaterialDetailSerialNumber.repository.po.OutMaterialDetailSerialNumberPO;
|
import com.mhd.wms.domain.outMaterialDetailSerialNumber.repository.po.OutMaterialDetailSerialNumberPO;
|
||||||
import com.mhd.wms.domain.outMaterialDetailSerialNumber.repository.todo.OutMaterialDetailSerialNumberDO;
|
import com.mhd.wms.domain.outMaterialDetailSerialNumber.repository.todo.OutMaterialDetailSerialNumberDO;
|
||||||
@@ -37,6 +38,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -274,7 +277,7 @@ public class ShiftManageDomainService {
|
|||||||
.set(ShiftManage::getUpdateTime, new Date())
|
.set(ShiftManage::getUpdateTime, new Date())
|
||||||
.eq(ShiftManage::getShiftManageId, shiftManageDO.getShiftManageId()));
|
.eq(ShiftManage::getShiftManageId, shiftManageDO.getShiftManageId()));
|
||||||
//修改库存
|
//修改库存
|
||||||
updateMaterialInventory(shiftManagePO.getShiftNumber());
|
updateMaterialInventory(shiftManagePO.getShiftNumber(),shiftManageDO.getShiftMaterialDetailList());
|
||||||
//生成移位追溯记录
|
//生成移位追溯记录
|
||||||
genInventoryStandingDetail(shiftManagePO);
|
genInventoryStandingDetail(shiftManagePO);
|
||||||
return true;
|
return true;
|
||||||
@@ -305,7 +308,7 @@ public class ShiftManageDomainService {
|
|||||||
.set(ShiftManage::getUpdateTime, new Date())
|
.set(ShiftManage::getUpdateTime, new Date())
|
||||||
.eq(ShiftManage::getShiftManageId, shiftManageDO.getShiftManageId()));
|
.eq(ShiftManage::getShiftManageId, shiftManageDO.getShiftManageId()));
|
||||||
//修改库存
|
//修改库存
|
||||||
updateMaterialInventory(shiftManagePO.getShiftNumber());
|
updateMaterialInventory(shiftManagePO.getShiftNumber(),shiftManageDO.getShiftMaterialDetailList());
|
||||||
//生成移位追溯记录
|
//生成移位追溯记录
|
||||||
genInventoryStandingDetail(shiftManagePO);
|
genInventoryStandingDetail(shiftManagePO);
|
||||||
return true;
|
return true;
|
||||||
@@ -412,7 +415,7 @@ public class ShiftManageDomainService {
|
|||||||
//移位完成
|
//移位完成
|
||||||
if (shiftStatus == 4){
|
if (shiftStatus == 4){
|
||||||
//修改库存
|
//修改库存
|
||||||
updateMaterialInventory(shiftManagePO.getShiftNumber());
|
updateMaterialInventory(shiftManagePO.getShiftNumber(),shiftManageDO.getShiftMaterialDetailList());
|
||||||
//生成移位追溯记录
|
//生成移位追溯记录
|
||||||
genInventoryStandingDetail(shiftManagePO);
|
genInventoryStandingDetail(shiftManagePO);
|
||||||
}
|
}
|
||||||
@@ -426,16 +429,21 @@ public class ShiftManageDomainService {
|
|||||||
* @return Boolean
|
* @return Boolean
|
||||||
*/
|
*/
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void updateMaterialInventory(String shiftNumber){
|
public void updateMaterialInventory(String shiftNumber,List<ShiftMaterialDetailDO> shiftMaterialDetailList){
|
||||||
List<MaterialInventoryDO> materialInventoryOldList = new ArrayList<>();
|
List<MaterialInventoryDO> materialInventoryOldList = new ArrayList<>();
|
||||||
List<MaterialInventoryDO> materialInventoryNowList = new ArrayList<>();
|
List<MaterialInventoryDO> materialInventoryNowList = new ArrayList<>();
|
||||||
ShiftMaterialDetailDO shiftMaterialDetailDO = new ShiftMaterialDetailDO();
|
ShiftMaterialDetailDO shiftMaterialDetailDO = new ShiftMaterialDetailDO();
|
||||||
shiftMaterialDetailDO.setShiftNumber(shiftNumber);
|
shiftMaterialDetailDO.setShiftNumber(shiftNumber);
|
||||||
List<ShiftMaterialDetailPO> shiftMaterialDetailPOList = shiftMaterialDetailService.queryListChildren(shiftMaterialDetailDO);
|
List<ShiftMaterialDetailPO> shiftMaterialDetailPOList = shiftMaterialDetailService.queryListChildren(shiftMaterialDetailDO);
|
||||||
|
Map<String, List<MaterialMoreDetailPO>> MaterialMoreDetailMap = shiftMaterialDetailList.stream().collect(Collectors.toMap(
|
||||||
|
ShiftMaterialDetailDO::getShiftNumber,
|
||||||
|
ShiftMaterialDetailDO::getMaterialMoreDetailList
|
||||||
|
));
|
||||||
for (ShiftMaterialDetailPO shiftMaterialDetailPO : shiftMaterialDetailPOList){
|
for (ShiftMaterialDetailPO shiftMaterialDetailPO : shiftMaterialDetailPOList){
|
||||||
MaterialInventory materialInventoryOldDb = materialInventoryService.getById(shiftMaterialDetailPO.getMaterialInventoryId());
|
MaterialInventory materialInventoryOldDb = materialInventoryService.getById(shiftMaterialDetailPO.getMaterialInventoryId());
|
||||||
BigDecimal shiftQuantity = shiftMaterialDetailPO.getShiftQuantity();
|
BigDecimal shiftQuantity = shiftMaterialDetailPO.getShiftQuantity();
|
||||||
//构建新物料库存信息
|
//构建新物料库存信息
|
||||||
|
shiftMaterialDetailPO.setMaterialMoreDetailList(MaterialMoreDetailMap.get(shiftMaterialDetailPO.getShiftNumber()));
|
||||||
// shiftMaterialDetailPO.setNetWeight(materialInventoryOldDb.getNetWeight());
|
// shiftMaterialDetailPO.setNetWeight(materialInventoryOldDb.getNetWeight());
|
||||||
// shiftMaterialDetailPO.setGrossWeight(materialInventoryOldDb.getGrossWeight());
|
// shiftMaterialDetailPO.setGrossWeight(materialInventoryOldDb.getGrossWeight());
|
||||||
// shiftMaterialDetailPO.setVolume(materialInventoryOldDb.getVolume());
|
// shiftMaterialDetailPO.setVolume(materialInventoryOldDb.getVolume());
|
||||||
@@ -530,8 +538,10 @@ public class ShiftManageDomainService {
|
|||||||
queryWrapper.eq(MaterialInventory::getContainerId,shiftMaterialDetailPO.getContainerId());
|
queryWrapper.eq(MaterialInventory::getContainerId,shiftMaterialDetailPO.getContainerId());
|
||||||
}
|
}
|
||||||
MaterialInventory materialInventoryDb = materialInventoryService.getOne(queryWrapper);
|
MaterialInventory materialInventoryDb = materialInventoryService.getOne(queryWrapper);
|
||||||
|
List<MaterialMoreDetailPO> materialMoreDetailList = shiftMaterialDetailPO.getMaterialMoreDetailList();
|
||||||
if (ObjectUtil.isNull(materialInventoryDb)){
|
if (ObjectUtil.isNull(materialInventoryDb)){
|
||||||
MaterialInventoryDO materialInventoryDONow = new MaterialInventoryDO();
|
MaterialInventoryDO materialInventoryDONow = new MaterialInventoryDO();
|
||||||
|
BatchAttributeAssignment(materialMoreDetailList, materialInventoryDONow);//批次属性赋值
|
||||||
materialInventoryDONow.setMaterialBaseInfoId(shiftMaterialDetailPO.getMaterialBaseInfoId());
|
materialInventoryDONow.setMaterialBaseInfoId(shiftMaterialDetailPO.getMaterialBaseInfoId());
|
||||||
materialInventoryDONow.setWarehouseId(shiftMaterialDetailPO.getNewWarehouseId());
|
materialInventoryDONow.setWarehouseId(shiftMaterialDetailPO.getNewWarehouseId());
|
||||||
materialInventoryDONow.setWarehouseCode(shiftMaterialDetailPO.getNewWarehouseCode());
|
materialInventoryDONow.setWarehouseCode(shiftMaterialDetailPO.getNewWarehouseCode());
|
||||||
@@ -568,4 +578,50 @@ public class ShiftManageDomainService {
|
|||||||
return materialInventoryDONow;
|
return materialInventoryDONow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void BatchAttributeAssignment(List<MaterialMoreDetailPO> materialMoreDetailList, MaterialInventoryDO materialInventoryDONow) {
|
||||||
|
for (MaterialMoreDetailPO materialMoreDetailPO : materialMoreDetailList) {
|
||||||
|
if (materialMoreDetailPO == null || materialMoreDetailPO.getBatchLabels() == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
String attributeValue = materialMoreDetailPO.getAttributeValue();
|
||||||
|
switch (materialMoreDetailPO.getBatchLabels()) {
|
||||||
|
case "生产日期":
|
||||||
|
if (attributeValue != null && !attributeValue.isEmpty()) {
|
||||||
|
materialInventoryDONow.setProductionDate(stringToDate(attributeValue));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "过期日期":
|
||||||
|
if (attributeValue != null && !attributeValue.isEmpty()) {
|
||||||
|
materialInventoryDONow.setExpiryDate(stringToDate(attributeValue));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "存货日期":
|
||||||
|
if (attributeValue != null && !attributeValue.isEmpty()) {
|
||||||
|
materialInventoryDONow.setInventoryDate(stringToDate(attributeValue));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "Batch Ref NO's":
|
||||||
|
materialInventoryDONow.setBatchRefNo(attributeValue);
|
||||||
|
break;
|
||||||
|
case "Sheet Ref NO's":
|
||||||
|
materialInventoryDONow.setSheetRefNo(attributeValue);
|
||||||
|
break;
|
||||||
|
case "箱号/卡板号":
|
||||||
|
materialInventoryDONow.setBoxPalletNo(attributeValue);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date stringToDate(String dateStr) {
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
try {
|
||||||
|
return sdf.parse(dateStr);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.mhd.common.core.annotation.Excel;
|
import com.mhd.common.core.annotation.Excel;
|
||||||
import com.mhd.common.core.web.domain.BaseVOEntity;
|
import com.mhd.common.core.web.domain.BaseVOEntity;
|
||||||
|
import com.mhd.wms.domain.materialMoreDetail.repository.po.MaterialMoreDetailPO;
|
||||||
import com.mhd.wms.domain.outMaterialDetailSerialNumber.repository.todo.OutMaterialDetailSerialNumberDO;
|
import com.mhd.wms.domain.outMaterialDetailSerialNumber.repository.todo.OutMaterialDetailSerialNumberDO;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -269,4 +270,7 @@ public class ShiftMaterialDetailDO extends BaseVOEntity {
|
|||||||
|
|
||||||
@ApiModelProperty("序列号")
|
@ApiModelProperty("序列号")
|
||||||
private List<OutMaterialDetailSerialNumberDO> materialDetailSerialNumberList;
|
private List<OutMaterialDetailSerialNumberDO> materialDetailSerialNumberList;
|
||||||
|
|
||||||
|
@ApiModelProperty("批次属性")
|
||||||
|
private List<MaterialMoreDetailPO> materialMoreDetailList;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
|||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.mhd.common.core.annotation.Excel;
|
import com.mhd.common.core.annotation.Excel;
|
||||||
import com.mhd.common.core.web.domain.BaseVOEntity;
|
import com.mhd.common.core.web.domain.BaseVOEntity;
|
||||||
|
import com.mhd.wms.domain.materialMoreDetail.repository.po.MaterialMoreDetailPO;
|
||||||
import com.mhd.wms.domain.shiftMaterialDetail.repository.po.ShiftMoveMaterialQuantityPO;
|
import com.mhd.wms.domain.shiftMaterialDetail.repository.po.ShiftMoveMaterialQuantityPO;
|
||||||
import com.mhd.wms.interfaces.dto.shiftMaterialDetail.ShiftMaterialDetailDTO;
|
import com.mhd.wms.interfaces.dto.shiftMaterialDetail.ShiftMaterialDetailDTO;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|||||||
+4
@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.mhd.common.core.annotation.Excel;
|
import com.mhd.common.core.annotation.Excel;
|
||||||
import com.mhd.common.core.web.domain.BaseVOEntity;
|
import com.mhd.common.core.web.domain.BaseVOEntity;
|
||||||
|
import com.mhd.wms.domain.materialMoreDetail.repository.po.MaterialMoreDetailPO;
|
||||||
import com.mhd.wms.interfaces.dto.outMaterialDetailSerialNumber.OutMaterialDetailSerialNumberDTO;
|
import com.mhd.wms.interfaces.dto.outMaterialDetailSerialNumber.OutMaterialDetailSerialNumberDTO;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -274,4 +275,7 @@ public class ShiftMaterialDetailDTO extends BaseVOEntity {
|
|||||||
@ApiModelProperty("序列号")
|
@ApiModelProperty("序列号")
|
||||||
private List<OutMaterialDetailSerialNumberDTO> materialDetailSerialNumberList;
|
private List<OutMaterialDetailSerialNumberDTO> materialDetailSerialNumberList;
|
||||||
|
|
||||||
|
@ApiModelProperty("批次属性")
|
||||||
|
private List<MaterialMoreDetailPO> materialMoreDetailList;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user