소스 검색

库存库位批次查询修改

andy 3 년 전
부모
커밋
4bff48155c

+ 17 - 0
ruoyi-admin/src/test/java/com/ruoyi/admin/test/base/WarehouseTest.java

@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSON;
 import com.ruoyi.RuoYiApplication;
 import com.ruoyi.ams.config.domain.dto.InWarehouseDTO;
 import com.ruoyi.ams.business.IBusinessService;
+import com.ruoyi.ams.config.domain.dto.LotattDTO;
+import com.ruoyi.ams.config.domain.dto.OutWarehouseDTO;
 import com.ruoyi.ams.config.service.LocationAllocationStrategy;
 import com.ruoyi.ams.inv.mapper.InvLotLocIdMapper;
 import com.ruoyi.ams.locationView.domain.form.LocationViewForm;
@@ -67,6 +69,21 @@ public class WarehouseTest {
         }
     }
 
+    @Test
+    public void testAllocation() {
+        LotattDTO lotattDTO = new LotattDTO();
+        lotattDTO.setLotatt01("A");
+        OutWarehouseDTO outWarehouseDTO = new OutWarehouseDTO();
+        outWarehouseDTO.setSku("A");
+        outWarehouseDTO.setWarehouseId(1L);
+        outWarehouseDTO.setLotattDTO(lotattDTO);
+        BaseLocationInfo locationInfo = businessService.outInvAllocation(outWarehouseDTO);
+        if (locationInfo != null) {
+            System.out.println("-------------------");
+            System.out.println(locationInfo.getId());
+        }
+    }
+
     @Test
     public void test2() {
         //String str = sysIdsequenceService.generateId("ASNNO");

+ 1 - 3
warewms-ams/src/main/java/com/ruoyi/ams/business/BusinessServiceImpl.java

@@ -145,8 +145,6 @@ public class BusinessServiceImpl implements IBusinessService {
                 query.setLocationZone(zoneId.toString());
                 List<LocationPriorityHeaderVO> list = locationPriorityHeaderService.selectLocationPriorityHeaderList(query);
                 if (list != null && list.size() > 0) {
-                    //根据策略进行库位分配
-                    //sku 批次属性 库存
                     LocationPriorityHeaderVO locationPriorityHeaderVO = list.get(0);
                     resultLocation = locationAllocationStrategy.filterLockLocation(zoneId, inWarehouseDTO, locationPriorityHeaderVO);
                 } else {
@@ -177,7 +175,7 @@ public class BusinessServiceImpl implements IBusinessService {
             if (!StringUtils.isEmpty(outWarehouseDTO.getLocationZoneFrom())) {
                 zoneIdList.add(Long.parseLong(outWarehouseDTO.getLocationZoneFrom()));
             } else {
-                List<BaseLocationLotattVO> zoneList = invLotLocIdMapper.selectInvZoneBySkuOrSkuType(outWarehouseDTO.getSku(), outWarehouseDTO.getSkuType());
+                List<BaseLocationLotattVO> zoneList = invLotLocIdMapper.selectInvZoneBySkuLotatt(outWarehouseDTO.getSku(), outWarehouseDTO.getSkuType(), outWarehouseDTO.getLotattDTO());
                 for (BaseLocationLotattVO vo : zoneList) {
                     zoneIdList.add(vo.getZoneId());
                 }

+ 2 - 2
warewms-ams/src/main/java/com/ruoyi/ams/inv/mapper/InvLotLocIdMapper.java

@@ -78,12 +78,12 @@ public interface InvLotLocIdMapper
      List<BaseLocationLotattVO> selectInvLocationList(@Param("zoneId") Long zoneId,@Param("sku") String sku,@Param("skuType") String skuType,@Param("weight") Double weight,@Param("supplier") String supplier,@Param("lotattDTO") LotattDTO lotattDTO);
 
     /**
-     * 根据sku和skuType查询已存在库存的区域
+     * 根据sku和批次属性获取
      * @param sku
      * @param skuType
      * @return
      */
-     List<BaseLocationLotattVO> selectInvZoneBySkuOrSkuType(@Param("sku") String sku,@Param("skuType") String skuType);
+     List<BaseLocationLotattVO> selectInvZoneBySkuLotatt(@Param("sku") String sku,@Param("skuType") String skuType,@Param("lotattDTO") LotattDTO lotattDTO);
 
     /**
      * 查询物料批次信息列表

+ 19 - 1
warewms-ams/src/main/resources/mapper/ams/InvLotLocIdMapper.xml

@@ -233,7 +233,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         order by lpad(b.row_no, 11, '0'),b.row_index,lpad(b.shift_no, 11, '0'),b.shift_index,lpad(b.col_no, 11, '0'),b.col_index desc
     </select>
 
-    <select id="selectInvZoneBySkuOrSkuType" resultMap="BaseLocationInfoLotattResult">
+    <select id="selectInvZoneBySkuLotatt" resultMap="BaseLocationInfoLotattResult">
         select
         b.zone_id
         from inv_lot_loc_id inv
@@ -244,6 +244,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <where>
             <if test="sku != null  and sku != ''"> and sk.sku = #{sku}</if>
             <if test="skuType != null  and skuType != ''"> and skt.item_code = #{skuType}</if>
+            <if test="lotattDTO.lotatt01 != null  and lotattDTO.lotatt01 != ''"> and att.lotatt01 = #{lotattDTO.lotatt01}</if>
+            <if test="lotattDTO.lotatt02 != null  and lotattDTO.lotatt02 != ''"> and att.lotatt02 = #{lotattDTO.lotatt02}</if>
+            <if test="lotattDTO.lotatt03 != null  and lotattDTO.lotatt03 != ''"> and att.lotatt03 = #{lotattDTO.lotatt03}</if>
+            <if test="lotattDTO.lotatt04 != null  and lotattDTO.lotatt04 != ''"> and att.lotatt04 = #{lotattDTO.lotatt04}</if>
+            <if test="lotattDTO.lotatt05 != null  and lotattDTO.lotatt05 != ''"> and att.lotatt05 = #{lotattDTO.lotatt05}</if>
+            <if test="lotattDTO.lotatt06 != null  and lotattDTO.lotatt06 != ''"> and att.lotatt06 = #{lotattDTO.lotatt06}</if>
+            <if test="lotattDTO.lotatt07 != null  and lotattDTO.lotatt07 != ''"> and att.lotatt07 = #{lotattDTO.lotatt07}</if>
+            <if test="lotattDTO.lotatt08 != null  and lotattDTO.lotatt08 != ''"> and att.lotatt08 = #{lotattDTO.lotatt08}</if>
+            <if test="lotattDTO.lotatt09 != null  and lotattDTO.lotatt09 != ''"> and att.lotatt09 = #{lotattDTO.lotatt09}</if>
+            <if test="lotattDTO.lotatt10 != null  and lotattDTO.lotatt10 != ''"> and att.lotatt10 = #{lotattDTO.lotatt10}</if>
+            <if test="lotattDTO.lotatt11 != null  and lotattDTO.lotatt11 != ''"> and att.lotatt11 = #{lotattDTO.lotatt11}</if>
+            <if test="lotattDTO.lotatt12 != null  and lotattDTO.lotatt12 != ''"> and att.lotatt12 = #{lotattDTO.lotatt12}</if>
+            <if test="lotattDTO.lotatt13 != null  and lotattDTO.lotatt13 != ''"> and att.lotatt13 = #{lotattDTO.lotatt13}</if>
+            <if test="lotattDTO.lotatt14 != null  and lotattDTO.lotatt14 != ''"> and att.lotatt14 = #{lotattDTO.lotatt14}</if>
+            <if test="lotattDTO.lotatt15 != null  and lotattDTO.lotatt15 != ''"> and att.lotatt15 = #{lotattDTO.lotatt15}</if>
+            <if test="lotattDTO.lotatt16 != null  and lotattDTO.lotatt16 != ''"> and att.lotatt16 = #{lotattDTO.lotatt16}</if>
+            <if test="lotattDTO.lotatt17 != null  and lotattDTO.lotatt17 != ''"> and att.lotatt17 = #{lotattDTO.lotatt17}</if>
+            <if test="lotattDTO.lotatt18 != null  and lotattDTO.lotatt18 != ''"> and att.lotatt18 = #{lotattDTO.lotatt18}</if>
         </where>
     </select>