liyg 2 anos atrás
pai
commit
2ca461599f

+ 1 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMapper.java

@@ -167,4 +167,5 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
 
     BigDecimal getMoreCarrier(String place);
 
+    Map<String,Object> getOrderIdByCapacity(Map<String,Object> map);
 }

+ 8 - 7
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderMaterialServiceImpl.java

@@ -831,14 +831,15 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
             // 运单状态
             omstruckOrder.setOrderStatus(new BigDecimal(4));
             BigDecimal status;
+            status = new BigDecimal(2);
             // 非钢材(危化品和焦炭)
-            if (isSteel != null && (isSteel.intValue() == 3 || isSteel.intValue() == 4)) {
-                status = new BigDecimal(2);
-            }
-            // 钢材
-            else {
-                status = new BigDecimal(1);
-            }
+//            if (isSteel != null && (isSteel.intValue() == 3 || isSteel.intValue() == 4 || isSteel.intValue() == 6)) {
+//                status = new BigDecimal(2);
+//            }
+//            // 钢材
+//            else {
+//                status = new BigDecimal(1);
+//            }
             // 订单类型
             omstruckOrder.setOrderType(status);
             // 运输线路id

+ 4 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -817,6 +817,10 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         for (Map<String,Object> map : mapList) {
             // 得到车牌号
             String capacityNumber = (String) map.get("capacityNumber");
+            Map<String,Object> details = amsSaleOrderMapper.getOrderIdByCapacity(map);
+            if(details!=null && details.get("orderId")!=null){
+                throw new Exception(capacityNumber+"有未完成的运输订单任务,无法派单");
+            }
             // 得到车序号表主键
             BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(map.get("saleOrderMaterialId"));
             // 得到承运商

+ 15 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -3378,6 +3378,8 @@
                      ON ASOM.SALE_SHIPPING_ADDRESS_ID = ACTP.PLACE_ID
     WHERE ACTP.CARRIER_ID = #{carrierId}
       AND ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+    ORDER BY ACTP.INSERT_TIME DESC
+    FETCH NEXT 1 ROWS ONLY
   </select>
 
   <select id="selectConsigneeName" parameterType="DECIMAL" resultType="java.lang.String" >
@@ -4552,4 +4554,17 @@
     SELECT count(RMCP.CARRIER_PLACE_ID) FROM RMS_MORE_CARRIER_PLACE RMCP
     WHERE RMCP.CARRIER_PLACE_VALUE LIKE #{place}
   </select>
+  <select id="getOrderIdByCapacity" resultType="java.util.Map">
+    select OO.order_ID "orderId",
+           RC.CAPACITY_NUMBER "capacityNumber",
+           OO.ORDER_STATUS "orderStatus",
+           OO.ORDER_LINE_SEQUENCE "orderLineSequence"
+    from OMSTRUCK_ORDER OO
+           LEFT JOIN RMS_CAPACITY RC ON OO.CAPACITY_ID =RC.CAPACITY_ID
+           LEFT JOIN RMS_CARRIER RCA ON OO.CARRIER_ID=RCA.CARRIER_ID
+           LEFT JOIN OMSTRAIN_ORDER_MATERIAL OOM ON OOM.ORDER_ID=OO.ORDER_ID
+           LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID=OOM.MATERIAL_ID
+    where RC.CAPACITY_NUMBER=#{capacityNumber} and OO.order_status=5
+      fetch next 1 rows only
+  </select>
 </mapper>