瀏覽代碼

Merge branch 'dev' of https://git.steerinfo.com/DAL-DAZHOU2/DAI_DAZHOU-OMS into dev

txf 3 年之前
父節點
當前提交
d4bb52653c

+ 7 - 2
src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java

@@ -379,8 +379,13 @@ public class OmstruckOrderController extends BaseRESTfulController {
             @ApiImplicitParam(name = "saleOrderId", value = "销售订单", required = false, dataType = "Integer"),
     })
     @PostMapping("/undoOrder")
-    public RESTfulResult undoOrder(@RequestBody(required = false) Map<String, Object> mapValue) {
-        int i = omstruckOrderService.undoOrder(mapValue);
+    public RESTfulResult undoOrder(@RequestBody(required = false) Map<String, Object> mapValue) throws Exception {
+        int i=0;
+        try {
+             i = omstruckOrderService.undoOrder(mapValue);
+        } catch (Exception e) {
+            return failed(e.getMessage());
+        }
         return success(i);
     }
 

+ 6 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -302,6 +302,9 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
    //删除进厂实绩
    int deleteEnResult(BigDecimal resultTotalId);
 
+   //判断计时实绩是否已经存在
+    int getTimeTaskByTotalId(BigDecimal resultTotalId);
+
    List<Map<String, Object>> getPurInwardOrderList(Map<String, Object> mapValue);
 
    Map<String, Object> selectOrderMap(BigDecimal orderId);
@@ -320,4 +323,7 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     List<Map<String, Object>> getPauseTimeTaskDetail(Integer orderId);
 
     Map<String, Object> getInwardOrderMessage(Map<String, Object> map);
+
+     //删除计时实绩
+    int deleteTimeTaskByTotalId(BigDecimal resultTotalId);
 }

+ 1 - 1
src/main/java/com/steerinfo/dil/service/IOmstruckOrderService.java

@@ -190,7 +190,7 @@ public interface IOmstruckOrderService {
     void pushMessageToDriver(Map<String, Object> mapValue);
 
     //撤销订单
-    int undoOrder(Map<String,Object> map);
+    int undoOrder(Map<String,Object> map) throws Exception;
 
     //修改运力
     int updateCapacityId(Map<String,Object> map);

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

@@ -549,7 +549,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     //撤销订单
     @Transactional
     @Override
-    public int undoOrder(Map<String, Object> map) {
+    public int undoOrder(Map<String, Object> map) throws Exception{
         int result=0;
         BigDecimal orderId =DataChange.dataToBigDecimal(map.get("orderId"));
         Map<String, Object> mesMap = omstruckOrderSeparateMapper.getOrderMesByOrderId(orderId);
@@ -566,6 +566,16 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             result += omstruckOrderMapper.deleteLoadResult(resultTotalId);
             return result ;
         }
+        if (orderType==21){
+            //根据总实绩id查找计时实绩id
+            int timeTaskByTotalId = omstruckOrderMapper.getTimeTaskByTotalId(resultTotalId);
+            if (timeTaskByTotalId!=0)
+            {
+                throw new Exception("已经计时开始");
+            }else {
+                result += omstruckOrderMapper.deleteTimeTaskByTotalId(resultTotalId);
+            }
+        }
         //通过总实绩ID删除所有已经生成的实绩
         result += omstruckOrderMapper.deleteEnResult(resultTotalId);
         result += omstruckOrderMapper.deleteWeightResult(resultTotalId);

+ 12 - 1
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -3196,7 +3196,11 @@
         delete from TMSTRUCK_ENFACTORY_RESULT
         where RESULT_TOTAL_ID = #{resultTotalId}
     </delete>
-<!--根据订单id查询运输订单信息-->
+    <delete id="deleteTimeTaskByTotalId" parameterType="java.math.BigDecimal">
+        delete from TMSTRUCK_TIME_TASK_RESULT
+        where RESULT_TOTAL_ID = #{resultTotalId}
+    </delete>
+    <!--根据订单id查询运输订单信息-->
     <select id="selectOrderMap" resultType="java.util.Map" parameterType="DECIMAL">
         select oo.order_plan_id "planId",
         oo.capacity_id   "capacityId",
@@ -3424,4 +3428,11 @@
             AND OO.ORDER_STATUS in (2, 4, 5, 6)
         </if>
     </select>
+    <select id="getTimeTaskByTotalId" resultType="java.lang.Integer" parameterType="java.math.BigDecimal">
+        select COUNT(*)
+        from TMSTRUCK_TOTAL_RESULT TTR
+        LEFT JOIN TMSTRUCK_TIME_TASK_RESULT TTTR
+        ON TTR.RESULT_TOTAL_ID=TTTR.RESULT_TOTAL_ID
+      WHERE TTR.RESULT_TOTAL_ID=#{resultTotalId} and TTTR.RESULT_TIME_TYPE=1
+    </select>
 </mapper>