luobang 2 år sedan
förälder
incheckning
2fb382ad7c

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

@@ -409,4 +409,6 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     String getFactoryFlag();
 
+    String selectLineName(BigDecimal lineId);
+
 }

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

@@ -157,4 +157,6 @@ public interface OmstruckOrderSeparateMapper {
 
     String getSendStaionName(BigDecimal saleMaterialId);
 
+    int IsHaveEnFactoryResult(BigDecimal lineId);
+
 }

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

@@ -630,6 +630,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             }
             //校验是否成功删除,失败则不允许撤单
             if(jsonObject==null || "false".equals(jsonObject.getString("success"))){
+
                 throw new Exception("计量委托删除失败!");
             }
         }
@@ -958,6 +959,22 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                         throw new RuntimeException("委托发送失败!");
                     }
                 }
+                //判断该订单里面的路线有没有出厂
+                try {
+                    int isHaveEnFactoryResult = omstruckOrderSeparateMapper.IsHaveEnFactoryResult(DataChange.dataToBigDecimal(orderMessage.get("lineId")));
+                    if (isHaveEnFactoryResult == 0) {
+                        //即没有进厂实绩,则接单的时候发委托
+                        //看线路名称是否包含达钢
+                        orderMessage.put("orderId", orderId);
+                        orderMessage.put("asd", 1);
+                        Map<String, Object> mcMap = tmsTruckFeign.sendMeasureCommission(orderMessage);
+                        if (!"200".equals(mcMap.get("code"))) {
+                            throw new RuntimeException("委托发送失败!");
+                        }
+                    }
+                } catch (RuntimeException e) {
+                    e.printStackTrace();
+                }
             }
             //判断订单是否是一车多单
             if (orderType ==12 || orderType ==13 || orderType ==14 || orderType ==19) {

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

@@ -4554,4 +4554,8 @@
         SELECT DV.VERSION_VALUE FROM DIL_VERSION DV
         WHERE DV.VERSION_ID = 9
     </select>
+    <select id="selectLineName" resultType="java.lang.String" parameterType="decimal">
+        SELECT RL.LINE_NAME FROM RMS_LINE RL
+        WHERE RL.LINE_ID = #{lineId}
+    </select>
 </mapper>

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

@@ -1042,4 +1042,11 @@
         WHERE TPAR.RAIL_PLAN_ID = #{saleMaterialId}
         FETCH FIRST 1 ROW ONLY
     </select>
+    <select id="IsHaveEnFactoryResult" resultType="java.lang.Integer">
+        SELECT COUNT(RL.LINE_ID) FROM RMS_LINE RL
+        LEFT JOIN RMS_LINE_SEGEMNT RLS
+        ON RLS.LINE_ID = RL.LINE_ID
+        WHERE RLS.SEGMENT_START_NODE_ID = 1
+        AND RL.LINE_ID = #{lineId}
+    </select>
 </mapper>