liyg 2 lat temu
rodzic
commit
c24b12748a

+ 23 - 0
src/main/java/com/steerinfo/dil/feign/AmsFeign.java

@@ -0,0 +1,23 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.framework.controller.RESTfulResult;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ author    :HJG
+ * @ time      :2022/1/10 14:16
+ */
+
+@FeignClient(value = "dil-ams-api", url = "${openfeign.AmsFeign.url}")
+public interface AmsFeign {
+
+    //继续装
+    @PostMapping("api/v1/ams/amssaleorders/continueSteelOrder")
+    RESTfulResult continueSteelOrder(@RequestBody List<Map<String, Object>> mapList);
+
+}

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

@@ -52,4 +52,7 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
 
     int uncloseOrderNotIn(BigDecimal saleOrderId);
 
+    List<Map<String,Object>> selectPreviousOrderNumber(BigDecimal saleOrderId);
+
+    Map<String,Object> selectOrderDetails(Map<String,Object> map);
 }

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

@@ -3,6 +3,7 @@ package com.steerinfo.dil.service.impl;
 import com.alibaba.druid.support.json.JSONUtils;
 import com.alibaba.fastjson.JSON;
 import com.google.gson.JsonObject;
+import com.steerinfo.dil.feign.AmsFeign;
 import com.steerinfo.dil.mapper.*;
 import com.steerinfo.dil.model.*;
 import com.steerinfo.dil.service.IAmsSaleOrderService;
@@ -59,6 +60,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     RmstrainArrivalSendMapper rmstrainArrivalSendMapper;
     @Autowired
     OmstrainOrderMapper omstrainOrderMapper;
+    @Autowired
+    AmsFeign amsFeign;
 
     /**
      * 查询销售订单
@@ -206,6 +209,18 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
             // 如果是财务审批后,将不可作业的运输订单改为已接收状态
             result += amsSaleOrderMapper.updateTruckOrderStatus(amsSaleOrder.getSaleOrderId());
+            try{
+                //查询销售订单车序号表是否存在上一个运输订单号,如果存在,调用钢材继续装派单接口
+                List<Map<String,Object>> saleOrders=amsSaleOrderMapper.selectPreviousOrderNumber(DataChange.dataToBigDecimal(map.get("saleOrderId")));
+                for (Map<String,Object> temp:saleOrders){
+                    temp.putAll(amsSaleOrderMapper.selectOrderDetails(temp));
+                }
+                if(saleOrders != null && saleOrders.size() > 0){
+                    amsFeign.continueSteelOrder(saleOrders);
+                }
+            }catch (Exception e) {
+                e.printStackTrace();
+            }
         }
         if (orderStatus.equals("2") && closeStatus.equals("1")){
             // 得到账户余额

+ 2 - 0
src/main/resources/application-prod.yml

@@ -16,5 +16,7 @@ openfeign:
     url: ${TMSTRUCKFEIGN_URL:172.16.33.166:8088}
   BmsTruckFeign:
     url: ${BMSTRUCKFEIGN_URL:172.16.33.166:8009}
+  AmsFeign:
+    url: ${AMSFEIGN_URL:172.16.33.166:8079}
 server:
   port: 8066

+ 20 - 2
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -1051,7 +1051,7 @@
     where ASO.SALE_NUMBER=#{saleNumber}
   </select>
 
-  <update id="updateTruckOrderStatus" parameterType="DECIMAL">
+    <update id="updateTruckOrderStatus" parameterType="DECIMAL">
     UPDATE OMSTRUCK_ORDER OO
     SET OO.CAN_WORK = 0
     WHERE OO.ORDER_ID IN (
@@ -1064,7 +1064,25 @@
         AND OO.CAN_WORK = 1
         AND ASOM.SALE_ORDER_ID = #{saleOrderId})
   </update>
-
+  <select id="selectPreviousOrderNumber" resultType="java.util.Map">
+    SELECT DISTINCT
+           ASOM.SALE_ORDER_ID "saleOrderId",
+           ASOM.SALE_ORDER_MATERIAL_ID "saleOrderMaterialId",
+           ASOM.PREVIOUS_ORDER_NUMBER "orderNumber"
+    FROM AMS_SALE_ORDER_MATERIAL ASOM
+    WHERE ASOM.PREVIOUS_ORDER_NUMBER IS NOT NULL
+    AND ASOM.SALE_ORDER_ID =  #{saleOrderId}
+  </select>
+  <select id="selectOrderDetails" resultType="java.util.Map">
+    SELECT
+      OO.ORDER_ID "orderId",
+      TLR.RESULT_TOTAL_ID "resultTotalId"
+    FROM OMSTRUCK_ORDER OO
+    LEFT JOIN TMSTRUCK_TOTAL_RESULT TLR ON TLR.ORDER_ID = OO.ORDER_ID
+    WHERE OO.ORDER_NUMBER=#{orderNumber}
+    ORDER BY OO.ORDER_ID
+      FETCH NEXT 1 ROWS ONLY
+  </select>
 
 
 </mapper>