瀏覽代碼

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU2/DAI_DAZHOU-OMS

zyf 2 年之前
父節點
當前提交
d30e177c07

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

@@ -357,4 +357,10 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     int closeInwardOrderByPlan(BigDecimal bigDecimal);
 
     Map<String, Object> getInwardSteelOrderMessageToApp(Map<String, Object> map);
+
+    //查询内转多拼
+    Map<String, Object> getMulInwardOrderMessageToApp(Map<String, Object> map);
+
+    List<Map<String, Object>> getMulInwardMaterials(Map<String, Object> map);
+
 }

+ 26 - 2
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -901,7 +901,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 if (!"200".equals(mcMap.get("code"))) {
                     throw new RuntimeException("委托发送失败!");
                 }
-            }else if(orderType!=21){
+            }else if(orderType!=21&&orderType!=25){
                 //添加各个实绩
                 omstruckOrderSeparateService.addAllSonResult(orderMessage);
             }
@@ -2084,6 +2084,11 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 mesMap = omstruckOrderMapper.getInwardOrderMessageToApp(map);
                 mesMap.put("inwardType", "内转计重");
                 break;
+            case 25:
+                mesMap = omstruckOrderMapper.getMulInwardOrderMessageToApp(map);
+                handleMulInward(omstruckOrderMapper.getMulInwardMaterials(map),mesMap);
+                mesMap.put("inwardType", "内转倒库");
+                break;
             case 21:
                 mesMap =omstruckOrderMapper.getInwardTimeOrderMessageToApp(map);
                 mesMap.put("inwardType", "内转计时");
@@ -2098,7 +2103,6 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                  mesMap.put("type", "零星退货");
         }
         mesMap.put("materialMesList", omstruckOrderMapper.getMaterialMes(orderId, steelJudge));
-
         return mesMap;
     }
 
@@ -2286,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);
+    }
 }

+ 73 - 1
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -3585,7 +3585,8 @@
         where ADSO.DISPATCH_ID  = #{dispatchId}
     </select>
     <select id="getInwardOrderMessageToApp" resultType="java.util.Map" parameterType="java.util.Map">
-        SELECT OO.ORDER_ID            "orderId",
+        SELECT DISTINCT
+        OO.ORDER_ID            "orderId",
         OO.ORDER_NUMBER        "orderNumber",
         OO.ORDER_LINE_SEQUENCE "orderLineSequence",
         RC.CAPACITY_NUMBER     "capacityNumber",
@@ -4127,4 +4128,75 @@
         AND OO.ORDER_TYPE = 11
     </update>
 
+    <select id="getMulInwardOrderMessageToApp" resultType="java.util.Map" parameterType="java.util.Map">
+        SELECT DISTINCT
+        OO.ORDER_ID            "orderId",
+        OO.ORDER_NUMBER        "orderNumber",
+        OO.ORDER_LINE_SEQUENCE "orderLineSequence",
+        RC.CAPACITY_NUMBER     "capacityNumber",
+        OO.ORDER_TYPE          "orderType",
+        OO.ORDER_STATUS        "orderStatus",
+        RS.SHIPPER_NAME        "shipperUnitName",
+        AIR.REQUIREMENT_ID     "requirementId",
+        AIR.DUE_DATE             "saleDateOfReceipt",
+        AIR.REQUIREMENT_TRUCK_TIME "requirementTruckTime"
+        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
+        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>
+
+    <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>