Переглянути джерело

修改倒库多拼卸货地点

liyg 2 роки тому
батько
коміт
8bc7cfcc8d

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -361,4 +361,6 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     //查询内转多拼
     Map<String, Object> getMulInwardOrderMessageToApp(Map<String, Object> map);
 
+    List<Map<String, Object>> getMulInwardMaterials(Map<String, Object> map);
+
 }

+ 21 - 0
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -2086,6 +2086,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 break;
             case 25:
                 mesMap = omstruckOrderMapper.getMulInwardOrderMessageToApp(map);
+                handleMulInward(omstruckOrderMapper.getMulInwardMaterials(map),mesMap);
                 mesMap.put("inwardType", "内转倒库");
                 break;
             case 21:
@@ -2289,4 +2290,24 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         }
         return mapList;
     }
+
+    /**
+     * 处理内转多拼的装卸货点
+     * @param list
+     * @param map
+     */
+    private void handleMulInward(List<Map<String,Object>> list,Map<String,Object> map){
+        String loadName="";
+        String unloadName="";
+        for(Map<String,Object> temp:list){
+            if(temp==null)
+                continue;
+            if(temp.get("loadName")!=null)
+                loadName+=(temp.get("loadName").toString()+";");
+            if(temp.get("unloadName")!=null)
+                unloadName+=(temp.get("unloadName").toString()+";");
+        }
+        map.put("loadName",loadName);
+        map.put("unloadName",unloadName);
+    }
 }

+ 37 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -4162,4 +4162,41 @@
             AND OO.ORDER_STATUS in (2, 4, 5, 6)
         </if>
     </select>
+
+    <select id="getMulInwardMaterials" resultType="java.util.Map" parameterType="java.util.Map">
+        SELECT DISTINCT
+        RW1.WAREHOUSE_NAME       "shipperName",
+        RW1.WAREHOUSE_NAME || '(' || RM.MATERIAL_NAME  || ')'     "loadName",
+        RW.WAREHOUSE_NAME  || '(' || RM.MATERIAL_NAME  || ')'      "unloadName",
+        RW.WAREHOUSE_NAME        "consigneeCompanyName"
+        FROM OMSTRUCK_ORDER OO
+        LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
+        ON OO.ORDER_PLAN_ID = AIP.PLAN_ID
+        LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
+        ON ARP.PLAN_ID = AIP.PLAN_ID
+        LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR
+        ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
+        LEFT JOIN RMS_SHIPPER RS
+        ON RS.SHIPPER_ID = AIR.REQUIREMENT_SHIPPER_ID
+        LEFT JOIN RMS_CAPACITY RC
+        ON RC.CAPACITY_ID = OO.CAPACITY_ID
+        LEFT JOIN AMSTRUCK_REQUIREMENT_MATERIAL ARM
+        ON ARM.REQUIREMENT_ID = AIR.REQUIREMENT_ID
+        LEFT JOIN RMS_WAREHOUSE RW
+        ON RW.WAREHOUSE_ID = ARM.REQUIREMENT_UNLOAD_UNIT_ID
+        LEFT JOIN RMS_WAREHOUSE RW1
+        ON RW1.WAREHOUSE_ID = ARM.REQUIREMENT_PLATFORM_ID
+        LEFT JOIN RMS_MATERIAL RM
+        ON RM.MATERIAL_ID=ARM.MATERIAL_ID
+        where oo.order_id = #{orderId}
+        <if test="status == null">
+            AND OO.ORDER_STATUS in (4, 5, 6)
+        </if>
+        <if test="status == 2">
+            AND OO.ORDER_STATUS = 2
+        </if>
+        <if test="status == 22">
+            AND OO.ORDER_STATUS in (2, 4, 5, 6)
+        </if>
+    </select>
 </mapper>