luobang 2 anni fa
parent
commit
35afa0ef89

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

@@ -25,4 +25,6 @@ public interface OmstrainOrderMapper extends IBaseMapper<OmstrainOrder, BigDecim
 
     String getInwardWarehouse(BigDecimal orderId);
 
+    List<BigDecimal> getTrainOrderIds(BigDecimal orderId);
+
 }

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

@@ -82,7 +82,13 @@ public class OmstrainOrderServiceImpl implements IOmstrainOrderService {
         if(map.get("trainOrderId") != null){
             trainOrderId = DataChange.dataToBigDecimal(map.get("trainOrderId"));
         }else{
-            trainOrderId = omstrainOrderMapper.getTrainOrder();
+            //根据运输订单ID去查询火运实绩ID
+            List<BigDecimal> trainOrderIds = omstrainOrderMapper.getTrainOrderIds(DataChange.dataToBigDecimal(map.get("orderId")));
+            if(trainOrderIds.size() > 0){
+                trainOrderId = trainOrderIds.get(0);
+            }else{
+                trainOrderId = omstrainOrderMapper.getTrainOrder();
+            }
         }
         //生成运输订单号
         String trainOrderNumber = DataChange.generateEightDigitsNumber("WHYDD",trainOrderId.intValue());
@@ -136,50 +142,56 @@ public class OmstrainOrderServiceImpl implements IOmstrainOrderService {
             i =+ omstrainOrderMapper.insertSelective(omstrainOrder);
         }
         //调用join接口推送数据(面向异地库)
-        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("重庆金田库")) {
-                for (Map<String,Object> jitianMap:data) {
-                    Map<String, Object> orchardStorehouse = new HashMap<>();
-                    List<Map<String, Object>> orchardStorehouseList = new ArrayList<>();
-                    Object sendTime = jitianMap.get("sendTime");
-                    String transportType = (String) jitianMap.get("transportType");
-                    //发送时间
-                    orchardStorehouse.put("sendTime", sendTime);
-                    //系统代码
-                    orchardStorehouse.put("sysCode", "DGXT");
-                    //仓库代码
-                    orchardStorehouse.put("warehouseCode", "LJJT");
-                    //运输方式
-                    orchardStorehouse.put("transportType", transportType);
-                    //去掉sendTime
-                    jitianMap.remove("sendTime");
-                    jitianMap.remove("transportType");
-
-                    orchardStorehouseList.add(jitianMap);
-                    orchardStorehouse.put("details", orchardStorehouseList);
-                    //调用果园库接口
-                    sendMesToGuoyuan(orchardStorehouse);
-                }
-            } else if (inwardWarehouse.equals("成都城嘉库")) {
-                //调用城嘉库登录接口获取token
-                //调用城嘉库推送接口
-                String token = DagonloginChenJiaku();
-                if (token != null) {
-                    for (Map<String,Object> map1:data) {
-                        map1.put("token", token);
-                        sendMesToChengJia(map1);
+        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("重庆金田库")) {
+                    for (Map<String,Object> jitianMap:data) {
+                        Map<String, Object> orchardStorehouse = new HashMap<>();
+                        List<Map<String, Object>> orchardStorehouseList = new ArrayList<>();
+                        Object sendTime = jitianMap.get("sendTime");
+                        String transportType = (String) jitianMap.get("transportType");
+                        //发送时间
+                        orchardStorehouse.put("sendTime", sendTime);
+                        //系统代码
+                        orchardStorehouse.put("sysCode", "DGXT");
+                        //仓库代码
+                        orchardStorehouse.put("warehouseCode", "LJJT");
+                        //运输方式
+                        orchardStorehouse.put("transportType", transportType);
+                        //去掉sendTime
+                        jitianMap.remove("sendTime");
+                        jitianMap.remove("transportType");
+
+                        orchardStorehouseList.add(jitianMap);
+                        orchardStorehouse.put("details", orchardStorehouseList);
+                        //调用果园库接口
+                        sendMesToGuoyuan(orchardStorehouse);
+                    }
+                } else if (inwardWarehouse.equals("成都城嘉库")) {
+                    //调用城嘉库登录接口获取token
+                    //调用城嘉库推送接口
+                    String token = DagonloginChenJiaku();
+                    if (token != null) {
+                        for (Map<String,Object> map1:data) {
+                            map1.put("token", token);
+                            sendMesToChengJia(map1);
+                        }
+                    } else {
+                        System.out.println("登录城嘉库失败");
                     }
-                } else {
-                    System.out.println("登录城嘉库失败");
-                }
 
+                }
             }
+        } catch (IOException e) {
+            e.printStackTrace();
+        } finally {
+            return i;
         }
-        return i;
+
     }
 
 

+ 6 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstrainOrderMapper.xml

@@ -629,5 +629,11 @@
                           </if>
                           )
   </select>
+    <select id="getTrainOrderIds" resultType="java.math.BigDecimal" parameterType="decimal">
+      SELECT OO.ORDER_ID FROM TMSTT_ORDER TTO
+        LEFT JOIN OMSTRAIN_ORDER OO
+        ON OO.ORDER_ID = TTO.TRAIN_ORDER_ID
+        WHERE TTO.TRUCK_ORDER_ID = #{orderId}
+    </select>
 
 </mapper>