Forráskód Böngészése

采购燃料一车多趟

txf 3 éve
szülő
commit
91d3a999e6

+ 1 - 0
src/main/java/com/steerinfo/DilApplicationMain.java

@@ -4,6 +4,7 @@ import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.web.servlet.ServletComponentScan;
+import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.scheduling.annotation.EnableScheduling;

+ 5 - 0
src/main/java/com/steerinfo/dil/feign/OmsFeign.java

@@ -30,10 +30,15 @@ public interface OmsFeign {
     //远程调用推送websocket
     @PostMapping("api/v1/oms/omstruckorderseparates/pushMesToWebsocket")
     RESTfulResult pushMesToWebsocket(@RequestBody(required = false) Map<String, Object> map);
+
     @PostMapping("api/v1/oms/omstruckorders/pushMessageToDriver")
     public RESTfulResult pushMessageToDriver(@RequestBody Map<String,Object> mapValue);
 
     // 远程调用查询销售订单所有信息
     @PostMapping("api/v1/oms/omstruckorderseparates/getSaleAllMessages")
     Map<String,Object> getSaleAllMessages(@RequestParam Integer orderId);
+
+    //跨服务调用新增采购订单接口(一车多趟)
+    @PostMapping("api/v1/oms/omstruckorderseparates/addNewTransportOrder")
+    Map<String,Object> addNewTransportOrder(@RequestParam Integer orderId);
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.java

@@ -54,4 +54,7 @@ public interface TmstruckLeaveFactoryResultMapper extends IBaseMapper<TmstruckLe
 
     // 查询零星物资出厂列表
     List<Map<String,Object>> getSporadicLeaveFactory(Map<String, Object> mapValue);
+
+    //根据采购订单ID查询是否为一车多趟
+    Integer getIsMoreTripsStatus(BigDecimal orderId);
 }

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

@@ -156,6 +156,7 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
      * @param map
      * @return
      */
+    @Transactional
     public int leaveFactoryByPDA(Map<String, Object> map) throws Exception{
         int i = 0;
         String orderNumber = (String) map.get("orderNumber");
@@ -191,9 +192,18 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
                 break;
             case 4:
                 break;
-            case 5:
             case 6:
             case 7:
+                //判断出厂路段顺序号是否为最后一个 采购订单关闭订单
+                i += utilsService.closeOrderNormally(map);
+                //查询是否为一车多趟采购订单类型
+                Integer isMoreTripsStatus = tmstruckLeaveFactoryResultMapper.getIsMoreTripsStatus(DataChange.dataToBigDecimal(selectMap.get("orderId")));
+                if(isMoreTripsStatus == 1){
+                    //如果是一车多趟 则重新下一个运输订单
+                    omsFeign.addNewTransportOrder(orderId.intValue());
+                }
+                break;
+            case 5:
             case 8:
             case 9:
             case 17:

+ 11 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.xml

@@ -1158,4 +1158,15 @@
         </where>
         <include refid="orderByOutTime"></include>
     </select>
+
+
+
+    <!--  根据采购订单ID查询是否为一车多趟  -->
+    <select id="getIsMoreTripsStatus" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
+        select APO.IS_MORE_TRIPS
+        from OMSTRUCK_ORDER OO
+                 left join AMS_PURCHASE_ORDER APO
+                           on APO.PURCHASE_ORDER_ID = OO.ORDER_PLAN_ID
+        where OO.ORDER_ID = #{orderId}
+    </select>
 </mapper>