上架oms添加入库件数

This commit is contained in:
zhou-hongcheng
2026-04-21 15:53:35 +08:00
parent 1f5aef417b
commit f394f03dd9
9 changed files with 45 additions and 1 deletions
+4
View File
@@ -39,3 +39,7 @@ ALTER TABLE SHELF_MATERIAL_DETAIL ADD COPY_DETAILS VARCHAR;
ALTER TABLE NGWL_TEST_WMS.IN_MATERIAL_DETAIL ADD OMS_IN_MATERIAL_DETAIL varchar(100) NULL;
ALTER TABLE NGWL_TEST_WMS.STOCK_IN_ORDER ADD OMS_STOCK_IN_ORDER_ID varchar(100) NULL;
ALTER TABLE NGWL_TEST_WMS.RECEIPT_MATERIAL_DETAIL ADD oms_in_material_detail varchar(100) NULL;
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;
@@ -19,6 +19,8 @@ import com.mhd.wms.domain.shelfMaterialDetail.repository.facade.IShelfMaterialDe
import com.mhd.wms.domain.shelfMaterialDetail.repository.mapper.ShelfMaterialDetailMapper;
import com.mhd.wms.domain.shelfMaterialDetail.repository.po.ShelfMaterialDetailPO;
import com.mhd.wms.domain.shelfMaterialDetail.repository.todo.ShelfMaterialDetailDO;
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
import com.mhd.wms.domain.stockShelfOrder.repository.facade.IStockShelfOrderService;
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
import com.mhd.common.core.utils.StringUtils;
import com.mhd.system.api.domain.BatchDetailFeignPO;
@@ -395,6 +397,8 @@ public class ShelfMaterialDetailImpl extends ServiceImpl<ShelfMaterialDetailMapp
// 批量新增序列号
List<InMaterialDetailSerialNumber> materialDetailSerialNumberList = new ArrayList<>();
for (ShelfMaterialDetailDO shelfMaterialDetailDO : shelfMaterialDetailDOList){
//更新oms入库单信息
OMSWarehouseEntryDetails(shelfMaterialDetailDO);
//序列号
if (shelfMaterialDetailDO.getSerialNumberManage() == 1) {
if (CollectionUtils.isEmpty(shelfMaterialDetailDO.getMaterialDetailSerialNumberList())) {
@@ -413,6 +417,7 @@ public class ShelfMaterialDetailImpl extends ServiceImpl<ShelfMaterialDetailMapp
if (isShelfParentCopyMirrorRow(shelfMaterialDetailDO, shelfMaterialDetailDOChild)) {
continue;
}
OMSWarehouseEntryDetails(shelfMaterialDetailDOChild);
ShelfMaterialDetail shelfMaterialDetailChild = new ShelfMaterialDetail();
BeanUtils.copyProperties(shelfMaterialDetailDOChild, shelfMaterialDetailChild);
shelfMaterialDetailChild.setCreateBy(loginUser.getUserid());
@@ -462,6 +467,18 @@ public class ShelfMaterialDetailImpl extends ServiceImpl<ShelfMaterialDetailMapp
}
}
@Autowired
private IStockShelfOrderService stockShelfOrderService;
private void OMSWarehouseEntryDetails(ShelfMaterialDetailDO shelfMaterialDetailDO) {
if (shelfMaterialDetailDO.getOmsInMaterialDetail() == null){
return;
}
String omsInMaterialDetail = shelfMaterialDetailDO.getOmsInMaterialDetail();//oms详情id
shelfMaterialDetailDO.getShelvesQuantity();//入库件数
shelfMaterialDetailDO.getTotalNetWeight();//重量
stockShelfOrderService.updateOmsDocument(shelfMaterialDetailDO.getShelvesQuantity(),shelfMaterialDetailDO.getTotalNetWeight(),omsInMaterialDetail);
}
/**
* PDA getInfo 注入的 parent_copy:与主项同 material_detail_id 或 unique_id,仅用于展示;落库子项循环需跳过,避免重复 UPDATE 覆盖主行 level。
* 口径与 {@link com.mhd.wms.application.service.stockShelfOrder.StockShelfOrderApplicationService#isShelfParentCopyPo} 一致。
@@ -376,4 +376,8 @@ public class ShelfMaterialDetailPO extends BaseVOEntity {
@ApiModelProperty("抄码克重明细 JSON")
@Excel(name = "抄码克重明细")
private String copyDetails;
@ApiModelProperty("oms入库单详情id")
@Excel(name = "oms入库单详情id")
private String omsInMaterialDetail;
}
@@ -5,6 +5,7 @@ import com.mhd.wms.domain.stockShelfOrder.entity.StockShelfOrder;
import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
import java.math.BigDecimal;
import java.util.List;
/**
@@ -48,4 +49,6 @@ public interface IStockShelfOrderService extends IService<StockShelfOrder>
public void updateOmsOrder(String orderNumber, Integer status, Integer shelvesQuantity);
public void updateOmsDocument(BigDecimal shelvesQuantity, BigDecimal totalNetWeight, String omsInMaterialDetail);
}
@@ -6,6 +6,7 @@ import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
/**
@@ -23,4 +24,5 @@ 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);
}
@@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -112,6 +113,11 @@ public class StockShelfOrderImpl extends ServiceImpl<StockShelfOrderMapper, Stoc
stockShelfOrderMapper.updateOmsOrder(orderNumber, status,shelvesQuantity);
}
@Override
public void updateOmsDocument(BigDecimal shelvesQuantity, BigDecimal totalNetWeight, String omsInMaterialDetail) {
stockShelfOrderMapper.updateOmsDocument(shelvesQuantity, totalNetWeight, omsInMaterialDetail);
}
/**
* @description 更新订单任务下发状态
* @author ZhouGY
@@ -346,4 +346,8 @@ public class ShelfMaterialDetailDTO extends BaseVOEntity {
@ApiModelProperty("抄码批次号")
@Excel(name = "抄码批次号")
private String copyBatch;
@ApiModelProperty("oms入库单详情id")
@Excel(name = "oms入库单详情id")
private String omsInMaterialDetail;
}
@@ -76,11 +76,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="copyQuantity" column="copy_quantity" />
<result property="copyDetails" column="copy_details" />
<result property="alreadyShelvesArea" column="total_area" />
<result property="omsInMaterialDetail" column="OMS_IN_MATERIAL_DETAIL" />
</resultMap>
<sql id="selectShelfMaterialDetailPo">
select material_detail_id, organization_id, organization_name, top_organization_id, unique_id, shelf_order_number, material_base_info_id, material_code, material_name, bar_code, dimensions, quantity, already_shelves_quantity, shelves_quantity, shelves_status, pack_id, pack_code, pack_name,
select material_detail_id, organization_id, organization_name, top_organization_id, unique_id, shelf_order_number, material_base_info_id, material_code, material_name, bar_code, dimensions, quantity, already_shelves_quantity, shelves_quantity, shelves_status, pack_id, pack_code, pack_name, OMS_IN_MATERIAL_DETAIL,
CASE
WHEN pack_detail_id IS NULL OR TRIM(pack_detail_id) = '' THEN NULL
ELSE CAST(pack_detail_id AS BIGINT)
@@ -128,4 +128,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<update id="updateOmsOrder">
update "NGWL_TEST_OMS".RESERVATION_STOCK_IN_ORDER set ISSUE_STATUS = #{status},quantity = #{shelvesQuantity},STORAGE_TIME = CURRENT_TIMESTAMP where IN_ORDER_NUMBER = #{orderNumber}
</update>
<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>
</mapper>