Redeem 1 年之前
父节点
当前提交
a1cd4667dc

+ 2 - 2
pom.xml

@@ -5,8 +5,8 @@
     <modelVersion>4.0.0</modelVersion>
 
     <groupId>org.example</groupId>
-    <artifactId>dil-api</artifactId>
-    <version>1.0-SNAPSHOT</version>
+    <artifactId>dil-otms-api</artifactId>
+    <version>1.9</version>
 
     <parent>
         <groupId>org.springframework.boot</groupId>

+ 20 - 0
src/main/java/com/steerinfo/dil/controller/OffSiteTransportationController.java

@@ -3,6 +3,7 @@ package com.steerinfo.dil.controller;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.steerinfo.dil.gaode.SearchPoint2;
+import com.steerinfo.dil.mapper.TmstruckReceiptResultMapper;
 import com.steerinfo.dil.service.ITmstruckLeaveFactoryResultService;
 import com.steerinfo.dil.service.ITmstruckReceiptResultService;
 import com.steerinfo.dil.service.impl.OffSiteTransportationServiceImpl;
@@ -13,6 +14,7 @@ import com.steerinfo.dil.util.PageListAdd;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageHelper;
 import com.steerinfo.route.config.ImageFileUtils;
+import com.steerinfo.route.mapper.TmstruckArrivalResultMapper;
 import com.steerinfo.route.service.impl.RouteServiceImpl;
 import com.steerinfo.route.threeRequest.ZhongJiaoXingLu;
 import com.steerinfo.route.util.DataConversionTool;
@@ -36,6 +38,7 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartRequest;
 
+import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
@@ -52,6 +55,10 @@ public class OffSiteTransportationController extends BaseRESTfulController {
 
     @Autowired
     private RouteServiceImpl routeService;
+
+    @Resource
+    TmstruckArrivalResultMapper tmstruckArrivalResultMapper;
+
     @Autowired
     ColumnDataUtil columnDataUtil;
     @Autowired
@@ -355,6 +362,19 @@ public class OffSiteTransportationController extends BaseRESTfulController {
         }else{
             return failed("签收失败,请刷新重试");
         }
+        //传入运输订单号,不同于该运单的其他未抵达签收的运单
+        Map<String, Object> searchMap = new HashMap<>();
+        searchMap.put("orderNumber",orderNumber);
+        //首先根据运输订单号查询该运单类型是哪一个
+        BigDecimal saleType = tmstruckArrivalResultMapper.getSaleType(orderNumber);
+        if(saleType != null && saleType.intValue() == 50) {
+            //如果是出库库房里面的订单,则找寻该车同一天下发的订单里面是否有无已完成但未抵达签收的运单,如果有,恢复为5;
+            BigDecimal oldOrderId = tmstruckArrivalResultMapper.getOldOrderId(searchMap);
+            if(oldOrderId != null && oldOrderId.intValue() != 0) {
+                //更新该运单状态
+                tmstruckArrivalResultMapper.updateOldOrderStatus(oldOrderId);
+            }
+        }
         return success("签收成功");
     }
 

+ 7 - 0
src/main/java/com/steerinfo/route/mapper/TmstruckArrivalResultMapper.java

@@ -33,4 +33,11 @@ public interface TmstruckArrivalResultMapper extends IBaseMapper<TmstruckArrival
 
     //删除所有订单签收实绩
     int deleteAllReceipt(String orderNumber);
+
+    BigDecimal getOldOrderId(Map<String, Object> searchMap);
+
+    BigDecimal getSaleType(String orderNumber);
+
+    int updateOldOrderStatus(BigDecimal oldOrderId);
+
 }

+ 44 - 3
src/main/resources/com/steerinfo/route/mapper/TmstruckArrivalResultMapper.xml

@@ -656,9 +656,7 @@
                          on t_total.ORDER_ID=o_order.ORDER_ID
         where o_order.ORDER_NUMBER = #{orderNumber} AND o_order.ORDER_STATUS IN (2,5)
   </select>
-  
-  
-  <sql id="orderBy">
+    <sql id="orderBy">
     <if test="orderField != null and orderField != ''">
       order by  "${orderField}"
       <if test="orderType != null and orderType != ''">
@@ -694,4 +692,47 @@
       where OO.ORDER_NUMBER = #{orderNumber}
     )
   </delete>
+  <select id="getOldOrderId" resultType="java.math.BigDecimal">
+    SELECT OO.ORDER_ID
+    FROM OMSTRUCK_ORDER OO
+           LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+                     ON TTR.ORDER_ID = OO.ORDER_ID
+           LEFT JOIN TMSTRUCK_ARRIVAL_RESULT TAR
+                     ON TAR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+           LEFT JOIN RMS_CAPACITY RC
+                     ON RC.CAPACITY_ID = OO.CAPACITY_ID
+           LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                     ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
+           LEFT JOIN AMS_SALE_ORDER ASO
+                     ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+    WHERE TAR.RESULT_ID IS NULL
+      AND OO.ORDER_TYPE = 1
+      AND OO.ORDER_STATUS = 2
+      AND OO.ORDER_NUMBER != #{orderNumber}
+      AND to_date(to_char(OO.ORDER_ISSUE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') =
+          (SELECT to_date(TO_CHAR(ORDER_ISSUE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') FROM OMSTRUCK_ORDER
+          WHERE ORDER_NUMBER = #{orderNumber}
+          ORDER BY ORDER_ID DESC
+          FETCH NEXT 1 ROWS ONLY)
+      AND OO.CAPACITY_ID = (SELECT CAPACITY_ID FROM OMSTRUCK_ORDER WHERE ORDER_NUMBER = #{orderNumber}
+          ORDER BY ORDER_ID DESC
+          FETCH NEXT 1 ROWS ONLY)
+      ORDER BY ASO.SALE_TYPE DESC
+      FETCH NEXT 1 ROWS ONLY
+  </select>
+  <select id="getSaleType" resultType="java.math.BigDecimal">
+    SELECT ASO.SALE_TYPE FROM OMSTRUCK_ORDER OO
+    LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+    ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
+    LEFT JOIN AMS_SALE_ORDER ASO
+    ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+    WHERE OO.ORDER_NUMBER = #{orderNumber}
+  </select>
+  <update id="updateOldOrderStatus">
+    UPDATE OMSTRUCK_ORDER OO
+    SET OO.ORDER_STATUS = 5,
+        OO.INSERT_UPDATE_REMARK = '抵达签收恢复上一个运单抵达签收'
+    WHERE OO.ORDER_ID = #{orderId}
+  </update>
+
 </mapper>