抄码商品分配库存

This commit is contained in:
zhou-hongcheng
2026-04-16 11:12:54 +08:00
parent 2b1170bde5
commit 4d9fe3dc40
5 changed files with 42 additions and 1 deletions
@@ -493,4 +493,8 @@ public class OutMaterialDetail extends BaseVOEntity {
@ApiModelProperty("库存数量")
@Excel(name = "库存数量")
private BigDecimal stockQuantity;
@ApiModelProperty("抄码总重量")
@Excel(name = "抄码总重量")
private BigDecimal copyTotalWeight;
}
@@ -13,6 +13,8 @@ import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.uuid.IdGenerator;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import com.mhd.wms.domain.copyCodeReference.entity.CopyCodeReference;
import com.mhd.wms.domain.copyCodeReference.repository.facade.ICopyCodeReferenceService;
import com.mhd.wms.domain.inventoryAdjustmentRecord.entity.InventoryAdjustmentRecord;
import com.mhd.wms.domain.inventoryAdjustmentRecord.repository.mapper.InventoryAdjustmentRecordMapper;
import com.mhd.wms.domain.materialBarCode.repository.facade.IMaterialBarCodeService;
@@ -294,6 +296,8 @@ public class OutMaterialDetailImpl extends ServiceImpl<OutMaterialDetailMapper,
outMaterialDetail.setUpdateBy(loginUser.getUserid());
outMaterialDetail.setUpdateByName(loginUser.getUsername());
outMaterialDetail.setUpdateTime(new Date());
//抄码总重量
outMaterialDetail.setCopyTotalWeight(outMaterialDetailDb.getCopyTotalWeight());
outMaterialDetailList.add(outMaterialDetail);
//判断是否存在子项
List<OutMaterialDetailDO> materialDetailDOChildList = outMaterialDetailDO.getChildren();
@@ -333,6 +337,10 @@ public class OutMaterialDetailImpl extends ServiceImpl<OutMaterialDetailMapper,
}
}
totalAllocationQuantity = totalAllocationQuantity.add(lineAllocatedSum);
//处理抄码数据
if (!CollectionUtils.isEmpty(outMaterialDetailDO.getCopyCodeReferenceIds())){
processingCodeCopyingData(outMaterialDetailDO);
}
}
stockOutOrderPO.setAllocationQuantity(totalAllocationQuantity);
//分配(修改库存)
@@ -345,6 +353,17 @@ public class OutMaterialDetailImpl extends ServiceImpl<OutMaterialDetailMapper,
return stockOutOrderPO;
}
@Autowired
private ICopyCodeReferenceService copyCodeReferenceService;
private void processingCodeCopyingData(OutMaterialDetailDO outMaterialDetailDO) {
for (Integer copyCodeReferenceId : outMaterialDetailDO.getCopyCodeReferenceIds()) {
CopyCodeReference copyCodeReference = copyCodeReferenceService.getById(copyCodeReferenceId);
copyCodeReference.setMaterialStatusCode("2");
copyCodeReference.setMaterialStatusName("冻结");
copyCodeReferenceService.updateById(copyCodeReference);
}
}
/**
* @description 手动取消分配批量修改物流明细(弹窗方式,类似batchAssignUpdate
@@ -472,4 +472,13 @@ public class OutMaterialDetailDO extends BaseVOEntity {
@ApiModelProperty("库存数量")
@Excel(name = "库存数量")
private BigDecimal stockQuantity;
@ApiModelProperty("抄码id数组")
@Excel(name = "抄码id数组")
private List<Integer> copyCodeReferenceIds;
@ApiModelProperty("抄码总重量")
@Excel(name = "抄码总重量")
private BigDecimal copyTotalWeight;
}
@@ -1140,7 +1140,7 @@ public class StockShelfOrderDomainService {
copyCodeReference.setMaterialDetailId(shelfMaterialDetail.getMaterialDetailId());
copyCodeReference.setMaterialInventoryId(materialInventoryId.getMaterialInventoryId());
copyCodeReference.setInOrderNumber(materialInventoryId.getInOrderNumber());
copyCodeReference.setInventoryQuantity(new BigDecimal(shelfMaterialDetail.getCopyQuantity()));
copyCodeReference.setInventoryQuantity(new BigDecimal(1));
copyCodeReference.setNetWeight(shelfMaterialDetail.getTotalNetWeight());
copyCodeReference.setGrossWeight(shelfMaterialDetail.getTotalGrossWeight());
copyCodeReference.setShipperName(materialBaseInfo.getShipperName());
@@ -462,4 +462,13 @@ public class OutMaterialDetailDTO extends BaseVOEntity {
@ApiModelProperty("库存数量")
@Excel(name = "库存数量")
private BigDecimal stockQuantity;
@ApiModelProperty("抄码id数组")
@Excel(name = "抄码id数组")
private List<Integer> copyCodeReferenceIds;
@ApiModelProperty("抄码总重量")
@Excel(name = "抄码总重量")
private BigDecimal copyTotalWeight;
}