Przeglądaj źródła

后台删除多余实绩新增内转计重类型“

liyg 2 lat temu
rodzic
commit
48167140c3

+ 8 - 0
src/main/java/com/steerinfo/dil/mapper/BackgroundProcessingMapper.java

@@ -59,4 +59,12 @@ public interface BackgroundProcessingMapper {
 
     int updateOrderStatus(Map<String, Object> map);
 
+    //根据总实绩无差别删除多余计量实绩,仅保留一条
+    int deleteExtraWeight(BigDecimal resultTotalId);
+
+    //根据总实绩无差别删除多余装货实绩,仅保留一条
+    int deleteExtraLoad(BigDecimal resultTotalId);
+
+    //根据总实绩无差别删除多余卸货实绩,仅保留一条
+    int deleteExtraUnload(BigDecimal resultTotalId);
 }

+ 8 - 1
src/main/java/com/steerinfo/dil/service/impl/BackgroundProcessingServiceImpl.java

@@ -39,11 +39,18 @@ public class BackgroundProcessingServiceImpl implements IBackgroundProcessServic
     public int deleteErrorResult(String orderNumber) {
         Map<String, Object> orderMes = backgroundProcessingMapper.getOrderMesByOrderNum(orderNumber);
         int orderType = DataChange.dataToBigDecimal(orderMes.get("orderType")).intValue();
-        List<Integer> arrayList = Arrays.asList(11, 15, 16, 21); //没有固定路线不支持此操作
+        List<Integer> arrayList = Arrays.asList(15, 16, 21); //没有固定路线不支持此操作
         if(arrayList.contains(orderType)){
             return 0;
         }
         BigDecimal resultTotalId = DataChange.dataToBigDecimal(orderMes.get("resultTotalId"));
+        if(orderType==11){
+            //如果是内转计重,删除多余计量和装卸货实绩
+            backgroundProcessingMapper.deleteExtraWeight(resultTotalId);
+            backgroundProcessingMapper.deleteExtraLoad(resultTotalId);
+            backgroundProcessingMapper.deleteExtraUnload(resultTotalId);
+            return 0;
+        }
         List<Integer> enFactoryList = backgroundProcessingMapper.enFactoryCheck(resultTotalId);
         if(enFactoryList != null && enFactoryList.size() != 0){
             //查询出当前顺序号中所有的实绩

+ 57 - 0
src/main/resources/com/steerinfo/dil/mapper/BackgroundProcessingMapper.xml

@@ -213,4 +213,61 @@
             OO.INSERT_UPDATE_REMARK = '管理员操作修改状态'
         WHERE OO.ORDER_NUMBER = #{orderNumber}
     </update>
+    <delete id="deleteExtraWeight">
+        DELETE FROM TMSTRUCK_WEIGHT_RESULT WHERE WEIGHT_TASK_RESULT_ID IN
+         (
+             SELECT
+                 WEIGHT_TASK_RESULT_ID
+             FROM
+                 TMSTRUCK_WEIGHT_RESULT
+             WHERE RESULT_TOTAL_ID=#{resultTotalId}
+             FETCH NEXT
+                (
+                --查询需要删除的数量
+                SELECT COUNT(WEIGHT_TASK_RESULT_ID)-1
+                FROM TMSTRUCK_WEIGHT_RESULT
+                WHERE RESULT_TOTAL_ID=#{resultTotalId}
+                GROUP BY RESULT_TOTAL_ID
+                )
+            ROWS ONLY
+        )
+    </delete>
+    <delete id="deleteExtraLoad">
+        DELETE FROM TMSTRUCK_LOAD_RESULT WHERE RESULT_ID IN
+           (
+               SELECT
+                   RESULT_ID
+               FROM
+                   TMSTRUCK_LOAD_RESULT
+               WHERE RESULT_TOTAL_ID=#{resultTotalId}
+               FETCH NEXT
+                    (
+                    --查询需要删除的数量
+                    SELECT COUNT(RESULT_ID)-1
+                    FROM TMSTRUCK_LOAD_RESULT
+                    WHERE RESULT_TOTAL_ID=#{resultTotalId}
+                    GROUP BY RESULT_TOTAL_ID
+                    )
+                ROWS ONLY
+            )
+    </delete>
+    <delete id="deleteExtraUnload">
+        DELETE FROM TMSTRUCK_UNLOAD_RESULT WHERE RESULT_ID IN
+           (
+               SELECT
+                   RESULT_ID
+               FROM
+                   TMSTRUCK_UNLOAD_RESULT
+               WHERE RESULT_TOTAL_ID=#{resultTotalId}
+               FETCH NEXT
+                (
+                --查询需要删除的数量
+                SELECT COUNT(RESULT_ID)-1
+                FROM TMSTRUCK_UNLOAD_RESULT
+                WHERE RESULT_TOTAL_ID=#{resultTotalId}
+                GROUP BY RESULT_TOTAL_ID
+                )
+                ROWS ONLY
+            )
+    </delete>
 </mapper>