拣货和复核添加体积重量面积逻辑;

This commit is contained in:
王奎兴
2026-02-04 16:06:03 +08:00
parent 62c42b3aaa
commit ae8bfcafcb
11 changed files with 165 additions and 6 deletions
@@ -180,7 +180,11 @@ public class HandoverTaskOrderDomainService {
.eq(OutMaterialDetail::getOutOrderNumber, orderNumber));
for (OutMaterialDetail outMaterialDetail : outMaterialDetailList) {
Long materialInventoryId = outMaterialDetail.getMaterialInventoryId();
BigDecimal checkQuantity = outMaterialDetail.getPickingQuantity();
BigDecimal checkQuantity = outMaterialDetail.getCheckQuantity();
BigDecimal checkArea = outMaterialDetail.getCheckArea();
BigDecimal checkVolume = outMaterialDetail.getCheckVolume();
BigDecimal checkGrossWeight = outMaterialDetail.getCheckGrossWeight();
BigDecimal checkNetWeight = outMaterialDetail.getCheckNetWeight();
MaterialInventory materialInventoryPO = materialInventoryMapper.selectById(materialInventoryId);
if (materialInventoryPO != null) {
//更新库存数量
@@ -192,8 +196,23 @@ public class HandoverTaskOrderDomainService {
BigDecimal newInventoryQuantity = oldInventoryQuantity.subtract(checkQuantity);
//分配后冻结数量
BigDecimal newFreezeQuantity = oldFreezeQuantity.subtract(checkQuantity);
BigDecimal oldArea = materialInventoryPO.getArea();
BigDecimal oldVolume = materialInventoryPO.getVolume();
BigDecimal oldGrossWeight = materialInventoryPO.getGrossWeight();
BigDecimal oldNetWeight = materialInventoryPO.getNetWeight();
BigDecimal newArea = oldArea.subtract(checkArea);
BigDecimal newVolume = oldVolume.subtract(checkVolume);
BigDecimal newGrossWeight = oldGrossWeight.subtract(checkGrossWeight);
BigDecimal newNetWeight = oldNetWeight.subtract(checkNetWeight);
materialInventoryPO.setInventoryQuantity(newInventoryQuantity);
materialInventoryPO.setFreezeQuantity(newFreezeQuantity);
materialInventoryPO.setArea(newArea);
materialInventoryPO.setVolume(newVolume);
materialInventoryPO.setGrossWeight(newGrossWeight);
materialInventoryPO.setNetWeight(newNetWeight);
MaterialInventory materialInventory = new MaterialInventory();
BeanUtils.copyProperties(materialInventoryPO, materialInventory);
materialInventoryMapper.updateById(materialInventory);
@@ -388,4 +388,20 @@ public class OutMaterialDetail extends BaseVOEntity {
@TableField(exist = false)
private BigDecimal actualQuantity;
@ApiModelProperty("复核总净重(KG)")
@Excel(name = "复核总净重(KG)")
private BigDecimal checkNetWeight;
@ApiModelProperty("复核总毛重(KG)")
@Excel(name = "复核总毛重(KG)")
private BigDecimal checkGrossWeight;
@ApiModelProperty("复核总体积(CBM)")
@Excel(name = "复核总体积(CBM)")
private BigDecimal checkVolume;
@ApiModelProperty("复核总面积(SQM)")
@Excel(name = "复核总面积(SQM)")
private BigDecimal checkArea;
}
@@ -748,6 +748,11 @@ public class OutMaterialDetailImpl extends ServiceImpl<OutMaterialDetailMapper,
outMaterialDetail.setUpdateBy(loginUser.getUserid());
outMaterialDetail.setUpdateByName(loginUser.getUsername());
outMaterialDetail.setUpdateTime(new Date());
outMaterialDetail.setCheckArea(outMaterialDetailDO.getCheckArea());
outMaterialDetail.setCheckVolume(outMaterialDetailDO.getCheckVolume());
outMaterialDetail.setCheckGrossWeight(outMaterialDetailDO.getCheckGrossWeight());
outMaterialDetail.setCheckNetWeight(outMaterialDetailDO.getCheckNetWeight());
outMaterialDetailList.add(outMaterialDetail);
checkQuantity = checkQuantity.add(outMaterialDetailDO.getActualQuantity());
}
@@ -443,4 +443,20 @@ public class OutMaterialDetailPO extends StockOutOrderBaseDO {
@ApiModelProperty("分配按钮显示类型:1-显示库存分配,2-显示取消分配")
@TableField(exist = false)
private Integer allocationButtonType;
@ApiModelProperty("复核总净重(KG)")
@Excel(name = "复核总净重(KG)")
private BigDecimal checkNetWeight;
@ApiModelProperty("复核总毛重(KG)")
@Excel(name = "复核总毛重(KG)")
private BigDecimal checkGrossWeight;
@ApiModelProperty("复核总体积(CBM)")
@Excel(name = "复核总体积(CBM)")
private BigDecimal checkVolume;
@ApiModelProperty("复核总面积(SQM)")
@Excel(name = "复核总面积(SQM)")
private BigDecimal checkArea;
}
@@ -401,4 +401,20 @@ public class OutMaterialDetailDO extends BaseVOEntity {
@Excel(name = "单位")
private String unit;
@ApiModelProperty("复核总净重(KG)")
@Excel(name = "复核总净重(KG)")
private BigDecimal checkNetWeight;
@ApiModelProperty("复核总毛重(KG)")
@Excel(name = "复核总毛重(KG)")
private BigDecimal checkGrossWeight;
@ApiModelProperty("复核总体积(CBM)")
@Excel(name = "复核总体积(CBM)")
private BigDecimal checkVolume;
@ApiModelProperty("复核总面积(SQM)")
@Excel(name = "复核总面积(SQM)")
private BigDecimal checkArea;
}
@@ -240,4 +240,19 @@ public class PickingMaterialDetail extends BaseVOEntity {
@Excel(name = "ExtAttr4", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date extAttr4;
}
@ApiModelProperty("总净重(KG)")
@Excel(name = "总净重(KG)")
private BigDecimal totalNetWeight;
@ApiModelProperty("总毛重(KG)")
@Excel(name = "总毛重(KG)")
private BigDecimal totalGrossWeight;
@ApiModelProperty("总体积(CBM)")
@Excel(name = "总体积(CBM)")
private BigDecimal totalVolume;
@ApiModelProperty("总面积(SQM)")
@Excel(name = "总面积(SQM)")
private BigDecimal totalArea;
}
@@ -141,6 +141,12 @@ public class PickingMaterialDetailImpl extends ServiceImpl<PickingMaterialDetail
pickingMaterialDetail.setUpdateBy(loginUser.getUserid());
pickingMaterialDetail.setUpdateByName(loginUser.getUsername());
pickingMaterialDetail.setUpdateTime(new Date());
pickingMaterialDetail.setTotalArea(pickingMaterialDetailDO.getTotalArea());
pickingMaterialDetail.setTotalVolume(pickingMaterialDetailDO.getTotalVolume());
pickingMaterialDetail.setTotalNetWeight(pickingMaterialDetailDO.getTotalNetWeight());
pickingMaterialDetail.setTotalGrossWeight(pickingMaterialDetailDO.getTotalGrossWeight());
pickingMaterialDetail.setUnitCode(pickingMaterialDetailDO.getUnitCode());
pickingMaterialDetail.setUnitName(pickingMaterialDetailDO.getUnitName());
BigDecimal actualQuantity = pickingMaterialDetailDO.getActualQuantity();
pickingMaterialDetail.setPickingQuantity(pickingMaterialDetailDb.getPickingQuantity().add(actualQuantity));
pickingMaterialDetailList.add(pickingMaterialDetail);
@@ -368,4 +374,4 @@ public class PickingMaterialDetailImpl extends ServiceImpl<PickingMaterialDetail
return 2;
}
}
}
}
@@ -258,4 +258,20 @@ public class PickingMaterialDetailPO extends BaseVOEntity {
@Excel(name = "ExtAttr4", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date extAttr4;
}
@ApiModelProperty("总净重(KG)")
@Excel(name = "总净重(KG)")
private BigDecimal totalNetWeight;
@ApiModelProperty("总毛重(KG)")
@Excel(name = "总毛重(KG)")
private BigDecimal totalGrossWeight;
@ApiModelProperty("总体积(CBM)")
@Excel(name = "总体积(CBM)")
private BigDecimal totalVolume;
@ApiModelProperty("总面积(SQM)")
@Excel(name = "总面积(SQM)")
private BigDecimal totalArea;
}
@@ -258,4 +258,21 @@ public class PickingMaterialDetailDO extends BaseVOEntity {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "ExtAttr4", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date extAttr4;
}
@ApiModelProperty("总净重(KG)")
@Excel(name = "总净重(KG)")
private BigDecimal totalNetWeight;
@ApiModelProperty("总毛重(KG)")
@Excel(name = "总毛重(KG)")
private BigDecimal totalGrossWeight;
@ApiModelProperty("总体积(CBM)")
@Excel(name = "总体积(CBM)")
private BigDecimal totalVolume;
@ApiModelProperty("总面积(SQM)")
@Excel(name = "总面积(SQM)")
private BigDecimal totalArea;
}
@@ -402,4 +402,21 @@ public class OutMaterialDetailDTO extends BaseVOEntity {
@ApiModelProperty("单位")
@Excel(name = "单位")
private String unit;
@ApiModelProperty("复核总净重(KG)")
@Excel(name = "复核总净重(KG)")
private BigDecimal checkNetWeight;
@ApiModelProperty("复核总毛重(KG)")
@Excel(name = "复核总毛重(KG)")
private BigDecimal checkGrossWeight;
@ApiModelProperty("复核总体积(CBM)")
@Excel(name = "复核总体积(CBM)")
private BigDecimal checkVolume;
@ApiModelProperty("复核总面积(SQM)")
@Excel(name = "复核总面积(SQM)")
private BigDecimal checkArea;
}
@@ -204,4 +204,20 @@ public class PickingMaterialDetailDTO extends BaseVOEntity {
@ApiModelProperty("作业数量:拣货数量")
@Excel(name = "作业数量:拣货数量")
private BigDecimal actualQuantity;
}
@ApiModelProperty("总净重(KG)")
@Excel(name = "总净重(KG)")
private BigDecimal totalNetWeight;
@ApiModelProperty("总毛重(KG)")
@Excel(name = "总毛重(KG)")
private BigDecimal totalGrossWeight;
@ApiModelProperty("总体积(CBM)")
@Excel(name = "总体积(CBM)")
private BigDecimal totalVolume;
@ApiModelProperty("总面积(SQM)")
@Excel(name = "总面积(SQM)")
private BigDecimal totalArea;
}