出库交接根据出库单号单号和业务id,上架增加根据lot编号同步oms

This commit is contained in:
zhou-hongcheng
2026-04-21 17:44:27 +08:00
parent f394f03dd9
commit 404c1e1225
7 changed files with 62 additions and 6 deletions
+2
View File
@@ -42,4 +42,6 @@ ALTER TABLE NGWL_TEST_WMS.RECEIPT_MATERIAL_DETAIL ADD oms_in_material_detail var
ALTER TABLE NGWL_TEST_WMS.SHELF_MATERIAL_DETAIL ADD OMS_IN_MATERIAL_DETAIL varchar(100) NULL;
ALTER TABLE NGWL_TEST_OMS.RESERVATION_IN_MATERIAL_DETAIL ADD INBOUND_ITEMS varchar(100) NULL;
ALTER TABLE NGWL_TEST_OMS.RESERVATION_OUT_MATERIAL_DETAIL ADD INBOUND_ITEMS varchar(100) NULL;
@@ -30,7 +30,9 @@ import com.mhd.wms.domain.outMaterialDetail.entity.OutMaterialDetail;
import com.mhd.wms.domain.outMaterialDetail.repository.mapper.OutMaterialDetailMapper;
import com.mhd.wms.domain.pickingMaterialDetail.repository.mapper.PickingMaterialDetailMapper;
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO;
import com.mhd.wms.domain.shelfMaterialDetail.repository.todo.ShelfMaterialDetailDO;
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
import com.mhd.wms.domain.stockShelfOrder.repository.facade.IStockShelfOrderService;
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;
@@ -333,6 +335,8 @@ public class HandoverTaskOrderDomainService {
.eq(OutMaterialDetail::getDelFlag, 1));
Integer review = stockOutOrder != null ? stockOutOrder.getReview() : null;
for (OutMaterialDetail outMaterialDetail : outMaterialDetailList) {
//oms详情同步
OMSWarehouseEntryDetails(outMaterialDetail);
if (outMaterialDetail.getCopyCodeReferenceIds() != null){
List<Integer> copyCodeReferenceIds = Arrays.stream(outMaterialDetail.getCopyCodeReferenceIds().split(","))
.map(Integer::parseInt).collect(Collectors.toList());
@@ -486,6 +490,22 @@ public class HandoverTaskOrderDomainService {
}
}
@Autowired
private IStockShelfOrderService stockShelfOrderService;
private void OMSWarehouseEntryDetails(OutMaterialDetail outMaterialDetail) {
outMaterialDetail.getOutOrderNumber();//出库单号
outMaterialDetail.getUniqueId();
outMaterialDetail.getCheckQuantity();//入库件数
outMaterialDetail.getTotalNetWeight();//重量
//以出库单号和业务唯一id判断
stockShelfOrderService.updateOmsHandover(
outMaterialDetail.getCheckQuantity(),
outMaterialDetail.getTotalNetWeight(),
outMaterialDetail.getOutOrderNumber(),
outMaterialDetail.getUniqueId()
);
}
private void getBarCode(MaterialInventory materialInventoryPO, InventoryAdjustmentRecord inventoryAdjustmentRecord) {
List<MaterialBarCodePO> materialBarCodePOList = materialBarCodeService.getInfoByMaterialBaseInfoIds(materialInventoryPO.getMaterialBaseInfoId());
@@ -470,13 +470,19 @@ public class ShelfMaterialDetailImpl extends ServiceImpl<ShelfMaterialDetailMapp
@Autowired
private IStockShelfOrderService stockShelfOrderService;
private void OMSWarehouseEntryDetails(ShelfMaterialDetailDO shelfMaterialDetailDO) {
if (shelfMaterialDetailDO.getOmsInMaterialDetail() == null){
return;
if (shelfMaterialDetailDO.getOmsInMaterialDetail() != null){
String omsInMaterialDetail = shelfMaterialDetailDO.getOmsInMaterialDetail();//oms详情id
shelfMaterialDetailDO.getShelvesQuantity();//入库件数
shelfMaterialDetailDO.getTotalNetWeight();//重量
stockShelfOrderService.updateOmsDocument(shelfMaterialDetailDO.getShelvesQuantity(),shelfMaterialDetailDO.getTotalNetWeight(),omsInMaterialDetail);
}else {
shelfMaterialDetailDO.getLotNumber();
shelfMaterialDetailDO.getShelvesQuantity();//入库件数
shelfMaterialDetailDO.getTotalNetWeight();//重量
stockShelfOrderService.updateOmsDocumentLot(shelfMaterialDetailDO.getShelvesQuantity(),
shelfMaterialDetailDO.getTotalNetWeight(),shelfMaterialDetailDO.getLotNumber());
}
String omsInMaterialDetail = shelfMaterialDetailDO.getOmsInMaterialDetail();//oms详情id
shelfMaterialDetailDO.getShelvesQuantity();//入库件数
shelfMaterialDetailDO.getTotalNetWeight();//重量
stockShelfOrderService.updateOmsDocument(shelfMaterialDetailDO.getShelvesQuantity(),shelfMaterialDetailDO.getTotalNetWeight(),omsInMaterialDetail);
}
/**
@@ -51,4 +51,8 @@ public interface IStockShelfOrderService extends IService<StockShelfOrder>
public void updateOmsOrder(String orderNumber, Integer status, Integer shelvesQuantity);
public void updateOmsDocument(BigDecimal shelvesQuantity, BigDecimal totalNetWeight, String omsInMaterialDetail);
public void updateOmsHandover(BigDecimal checkQuantity, BigDecimal totalNetWeight, String outOrderNumber, Long uniqueId);
public void updateOmsDocumentLot(BigDecimal shelvesQuantity, BigDecimal totalNetWeight, String lotNumber);
}
@@ -25,4 +25,8 @@ public interface StockShelfOrderMapper extends BaseMapper<StockShelfOrder>
public void updateOmsOrder(@Param("orderNumber") String orderNumber, @Param("status") Integer status, @Param("shelvesQuantity") Integer shelvesQuantity);
void updateOmsDocument(BigDecimal shelvesQuantity, BigDecimal totalNetWeight, String omsInMaterialDetail);
void updateOmsHandover(BigDecimal checkQuantity, BigDecimal totalNetWeight, String outOrderNumber, Long uniqueId);
void updateOmsDocumentLot(BigDecimal shelvesQuantity, BigDecimal totalNetWeight, String lotNumber);
}
@@ -118,6 +118,16 @@ public class StockShelfOrderImpl extends ServiceImpl<StockShelfOrderMapper, Stoc
stockShelfOrderMapper.updateOmsDocument(shelvesQuantity, totalNetWeight, omsInMaterialDetail);
}
@Override
public void updateOmsHandover(BigDecimal checkQuantity, BigDecimal totalNetWeight, String outOrderNumber, Long uniqueId) {
stockShelfOrderMapper.updateOmsHandover(checkQuantity, totalNetWeight, outOrderNumber, uniqueId);
}
@Override
public void updateOmsDocumentLot(BigDecimal shelvesQuantity, BigDecimal totalNetWeight, String lotNumber) {
stockShelfOrderMapper.updateOmsDocumentLot(shelvesQuantity, totalNetWeight, lotNumber);
}
/**
* @description 更新订单任务下发状态
* @author ZhouGY
@@ -131,4 +131,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<update id="updateOmsDocument">
update "NGWL_TEST_OMS".RESERVATION_IN_MATERIAL_DETAIL set INBOUND_ITEMS = #{shelvesQuantity}, TOTAL_NET_WEIGHT= #{totalNetWeight},STORAGE_TIME = CURRENT_TIMESTAMP where MATERIAL_DETAIL_ID = #{omsInMaterialDetail}
</update>
<update id="updateOmsHandover">
update "NGWL_TEST_OMS".RESERVATION_OUT_MATERIAL_DETAIL set INBOUND_ITEMS = #{checkQuantity},
TOTAL_NET_WEIGHT= #{totalNetWeight}
,STORAGE_TIME = CURRENT_TIMESTAMP
where OUT_ORDER_NUMBER = #{outOrderNumber} and UNIQUE_ID = #{uniqueId}
</update>
<update id="updateOmsDocumentLot">
update "NGWL_TEST_OMS".RESERVATION_IN_MATERIAL_DETAIL set INBOUND_ITEMS = #{shelvesQuantity}, TOTAL_NET_WEIGHT= #{totalNetWeight},STORAGE_TIME = CURRENT_TIMESTAMP
where LOT_NO = #{lotNumber}
</update>
</mapper>