PC出库交接详情使用复核的物料明细

This commit is contained in:
秦鸿展
2026-03-14 18:46:43 +08:00
parent 1ee50cdfed
commit dab24d7b58
2 changed files with 57 additions and 1 deletions
@@ -7,7 +7,10 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.mhd.wms.domain.taskHandoverMaterialDetail.repository.po.TaskHandoverMaterialDetailPO;
import java.util.Date;
import java.util.List;
/**
@@ -136,4 +139,7 @@ public class HandoverTaskOrderPO extends BaseVOEntity {
@ApiModelProperty("app上传的图片")
private String pictureApp;
@ApiModelProperty("物料明细(根据复核单数据生成,数量为复核数量)")
private List<TaskHandoverMaterialDetailPO> materialDetailList;
}
@@ -21,6 +21,7 @@ import com.mhd.wms.domain.materialInventory.entity.MaterialInventory;
import com.mhd.wms.domain.materialInventory.repository.mapper.MaterialInventoryMapper;
import com.mhd.wms.domain.outMaterialDetail.entity.OutMaterialDetail;
import com.mhd.wms.domain.outMaterialDetail.repository.mapper.OutMaterialDetailMapper;
import com.mhd.wms.domain.taskHandoverMaterialDetail.repository.po.TaskHandoverMaterialDetailPO;
import com.mhd.wms.domain.shiftManage.repository.po.ShiftManagePO;
import com.mhd.wms.domain.shiftManage.repository.todo.ShiftManageDO;
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
@@ -94,10 +95,59 @@ public class HandoverTaskOrderDomainService {
/**
* 获取交接作业单详细信息
* 物料明细根据复核单(out_material_detail)数据生成,数量使用复核数量(check_quantity),不需要复核时使用拣货数量(picking_quantity
*/
public HandoverTaskOrderPO getInfo(Long outTaskOrderId)
{
return handoverTaskOrderService.getInfo(outTaskOrderId);
HandoverTaskOrderPO handoverTaskOrderPO = handoverTaskOrderService.getInfo(outTaskOrderId);
if (handoverTaskOrderPO == null) {
return null;
}
// 根据复核单数据生成物料明细:按出库单号查询 out_material_detail,使用复核数量
String orderNumber = handoverTaskOrderPO.getOrderNumber();
if (orderNumber != null && !orderNumber.trim().isEmpty()) {
List<OutMaterialDetail> outMaterialDetailList = outMaterialDetailMapper.selectList(
new QueryWrapper<OutMaterialDetail>().lambda()
.eq(OutMaterialDetail::getOutOrderNumber, orderNumber)
.eq(OutMaterialDetail::getDelFlag, 1));
List<TaskHandoverMaterialDetailPO> materialDetailList = new ArrayList<>();
for (OutMaterialDetail omd : outMaterialDetailList) {
TaskHandoverMaterialDetailPO detail = new TaskHandoverMaterialDetailPO();
detail.setMaterialDetailId(omd.getMaterialDetailId());
detail.setUniqueId(omd.getUniqueId());
detail.setTaskNumber(handoverTaskOrderPO.getTaskNumber());
detail.setOrganizationId(omd.getOrganizationId());
detail.setOrganizationName(omd.getOrganizationName());
detail.setTopOrganizationId(omd.getTopOrganizationId());
detail.setMaterialBaseInfoId(omd.getMaterialBaseInfoId());
detail.setMaterialCode(omd.getMaterialCode() != null ? omd.getMaterialCode() : omd.getMaterialNo());
detail.setMaterialName(omd.getMaterialName() != null ? omd.getMaterialName() : omd.getCommodityName());
detail.setBarCode(omd.getBarCode());
detail.setWeightLimit(omd.getWeightLimit());
detail.setVolumeLimit(omd.getVolumeLimit());
detail.setQuantity(omd.getQuantity());
detail.setPickingQuantity(omd.getPickingQuantity());
// 物料明细数量:优先使用复核数量(复核单数据),不需要复核时使用拣货数量
BigDecimal handoverQuantity = omd.getCheckQuantity();
if (handoverQuantity == null || handoverQuantity.compareTo(BigDecimal.ZERO) <= 0) {
handoverQuantity = omd.getPickingQuantity() != null ? omd.getPickingQuantity() : omd.getQuantity();
}
detail.setCheckQuantity(handoverQuantity);
detail.setPackId(omd.getPackId());
detail.setPackCode(omd.getPackCode());
detail.setPackName(omd.getPackName());
detail.setPackDetailId(omd.getPackDetailId() != null ? String.valueOf(omd.getPackDetailId()) : null);
detail.setUnitCode(omd.getUnitCode());
detail.setUnitName(omd.getUnitName());
detail.setUnitNumber(omd.getUnitNumber());
detail.setMaterialWarehouseControlId(omd.getMaterialWarehouseControlId());
detail.setSerialNumberManage(omd.getSerialNumberManage());
detail.setRemark(omd.getRemark());
materialDetailList.add(detail);
}
handoverTaskOrderPO.setMaterialDetailList(materialDetailList);
}
return handoverTaskOrderPO;
}