Przeglądaj źródła

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

luobang 2 lat temu
rodzic
commit
cc3e00c007

+ 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);
+
 }

+ 3 - 3
src/main/java/com/steerinfo/dil/service/impl/OmstrainOrderServiceImpl.java

@@ -38,6 +38,7 @@ import org.springframework.web.client.RestClientException;
 import org.springframework.web.client.RestTemplate;
 
 
+import java.io.EOFException;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.sql.Wrapper;
@@ -143,14 +144,13 @@ public class OmstrainOrderServiceImpl implements IOmstrainOrderService {
         }else{
             i =+ omstrainOrderMapper.insertSelective(omstrainOrder);
         }
-        //调用join接口推送数据(面向异地库)
         try {
             Map<String, Object> RemoteMap = joinFeign.selectSaleSteelOrder(map);
             List<Map<String,Object>> data =(List<Map<String, Object>>) RemoteMap.get("data");
             //根据汽运订单查找分属于哪个异地库。
             String inwardWarehouse = omstrainOrderMapper.getInwardWarehouse(orderId);
             if (inwardWarehouse!=null) {
-                if (inwardWarehouse.equals("重庆金田库")) {
+                if (inwardWarehouse.contains("重庆金田")) {
                     for (Map<String,Object> jitianMap:data) {
                         Map<String, Object> orchardStorehouse = new HashMap<>();
                         List<Map<String, Object>> orchardStorehouseList = new ArrayList<>();
@@ -173,7 +173,7 @@ public class OmstrainOrderServiceImpl implements IOmstrainOrderService {
                         //调用果园库接口
                         sendMesToGuoyuan(orchardStorehouse);
                     }
-                } else if (inwardWarehouse.equals("成都城嘉库")) {
+                } else if (inwardWarehouse.contains("成都城嘉")) {
                     //调用城嘉库登录接口获取token
                     //调用城嘉库推送接口
                     String token = DagonloginChenJiaku();

+ 1 - 1
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderSeparateServiceImpl.java

@@ -242,7 +242,7 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
         Map<String, Object> map = omstruckOrderSeparateMapper.getOrderMesByOrderId(orderId);
         int orderType = DataChange.dataToBigDecimal(map.get("orderType")).intValue();
         BigDecimal resultTotalId = DataChange.dataToBigDecimal(map.get("resultTotalId"));
-        if(orderType == 11){
+        if(orderType == 11 || orderType == 25){
             return getAllOrderResult(resultTotalId);
         }else if(orderType == 21){
             return getTimeOrderResult(resultTotalId);

+ 31 - 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);
             }
@@ -1567,6 +1567,11 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             orderType = BigDecimal.valueOf(21);
             mapValue.put("orderType", orderType);
         }
+        if (inwardType.equals("倒库")) {
+            mapValue.remove(orderType);
+            orderType = BigDecimal.valueOf(25);
+            mapValue.put("orderType", orderType);
+        }
         Integer carrierId = (Integer) mapValue.get("carrierId");
         AmstruckInwardPlan amstruckInwardPlan = amstruckInwardPlanMapper.selectByPrimaryKey(planId);
         amstruckInwardPlan.setPlanStatus(new BigDecimal(3));
@@ -2079,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", "内转计时");
@@ -2093,7 +2103,6 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                  mesMap.put("type", "零星退货");
         }
         mesMap.put("materialMesList", omstruckOrderMapper.getMaterialMes(orderId, steelJudge));
-
         return mesMap;
     }
 
@@ -2281,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>

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

@@ -635,7 +635,7 @@
                         TLR.RESULT_LOAD_END_TIME "pointDate",
                         RW.WAREHOUSE_NAME   "pointName",
                         RM.MATERIAL_NAME    "materialName",
-                        TLR.INSERT_UPDATE_REMARK    "remark",
+                        TLR.INSERT_UPDATE_REMARK||TLR.RESULT_MEASURED_TONNAGE    "remark",
                         '装货'                "linkName"
                  from TMSTRUCK_LOAD_RESULT TLR
                     left join RMS_WAREHOUSE RW on TLR.LOADING_ID = RW.WAREHOUSE_ID