luobang 3 tahun lalu
induk
melakukan
20af376687

+ 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/controller/OmstruckOrderSeparateController.java

@@ -301,4 +301,10 @@ public class OmstruckOrderSeparateController extends BaseRESTfulController {
         return success(omstruckOrderSeparateService.closeInwardOrder(orderId, sqe));
     }
 
+
+    @ApiOperation(value = "计时查询进程")
+    @PostMapping("/getTimeOrderResult")
+    public RESTfulResult getTimeOrderResult(@RequestBody(required = false) Map<String, Object> map){
+        return success(omstruckOrderSeparateService.getTimeOrderResult(map));
+    }
 }

+ 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);
 }

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

@@ -139,4 +139,7 @@ public interface OmstruckOrderSeparateMapper {
 
     int updateSporadicStatus(BigDecimal orderPlanId,int sporadicStatus);
 
+    //查询计时进程
+    List<Map<String, Object>> getTimeOrderResult(Map<String, Object> map);
+
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/service/IOmstruckOrderSeparateService.java

@@ -50,4 +50,6 @@ public interface IOmstruckOrderSeparateService {
     List<Map<String,Object>> getUnloadOrderWarehouseName(Map<String, Object> map);
 
     List<Map<String,Object>> getPauseTimeTaskDetail(Integer orderId);
+
+    List<Map<String, Object>> getTimeOrderResult(Map<String, Object> map);
 }

+ 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);

+ 44 - 0
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderSeparateServiceImpl.java

@@ -678,4 +678,48 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
     public List<Map<String, Object>> getPauseTimeTaskDetail(Integer orderId) {
         return omstruckOrderMapper.getPauseTimeTaskDetail(orderId);
     }
+
+
+    /**
+     * 计时查看进程方法
+     * @Author TXF
+     * @Date 2022/3/18 10:33
+     * @param map
+     * @return
+     **/
+    public List<Map<String, Object>> getTimeOrderResult(Map<String, Object> map){
+        List<Map<String, Object>> mapList = omstruckOrderSeparateMapper.getTimeOrderResult(map);
+        List<Map<String, Object>> returnMap = new ArrayList<>();
+        if(mapList.size() == 0){
+            return null;
+        }else {
+            int sqe = 1;
+            for (Map<String, Object> mesMap : mapList) {
+                int type = DataChange.dataToBigDecimal(mesMap.get("resultTimeType")).intValue();
+                switch (type){
+                    case 0:
+                        mesMap.put("linkName", "达兴门岗时间");
+                        mesMap.put("segmentSqe", sqe ++);
+                        break;
+                    case 1:
+                        mesMap.put("linkName", "计时开始");
+                        mesMap.put("segmentSqe", sqe ++);
+                        break;
+                    case 3:
+                        mesMap.put("linkName", "计时结束");
+                        mesMap.put("segmentSqe", sqe ++);
+                        break;
+                    case 5:
+                        mesMap.put("linkName", "开始暂停计时");
+                        mesMap.put("segmentSqe", sqe ++);
+                        break;
+                    case 7:
+                        mesMap.put("linkName", "结束暂停计时");
+                        mesMap.put("segmentSqe", sqe ++);
+                }
+                returnMap.add(mesMap);
+            }
+        }
+        return returnMap;
+    }
 }

+ 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>

+ 11 - 1
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.xml

@@ -167,7 +167,7 @@
     </select>
 
 <!--    通过总实绩ID和路段顺序号查询进厂实绩数据 -->
-    <select id="getEnFactoryMes" parameterType="map" resultType="java.util.Map">
+        <select id="getEnFactoryMes" parameterType="map" resultType="java.util.Map">
         select RG.GATEPOST_NAME             "pointName",
                TER.RESULT_ENTRY_GATE_TIME   "pointDate"
         from TMSTRUCK_ENFACTORY_RESULT TER
@@ -800,4 +800,14 @@
         where OO.ORDER_ID = #{orderId}
     </select>
 
+    <select id="getTimeOrderResult" parameterType="map" resultType="java.util.LinkedHashMap">
+        select TTTR.RESULT_TIME "pointDate",
+               TTTR.RESULT_TIME_TYPE    "resultTimeType"
+        from OMSTRUCK_ORDER OO
+                 left join TMSTRUCK_TOTAL_RESULT TTR on OO.ORDER_ID = TTR.ORDER_ID
+                 left join TMSTRUCK_TIME_TASK_RESULT TTTR on TTR.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID
+        where OO.ORDER_ID = #{orderId}
+        order by TTTR.RESULT_TIME
+    </select>
+
 </mapper>