Ver código fonte

重车、空车逻辑

guoyong 4 anos atrás
pai
commit
79438e68e6

+ 2 - 2
src/main/java/com/aoyang/tms/common/WorkOrderEnum.java

@@ -17,7 +17,7 @@ public enum WorkOrderEnum {
     ZHUANGCHE_WAIT(20, "装车等待"),
 
     //装车磅单报备中
-    ZHUANGCHE_RESULT_SUBMIT(30, "磅单报备"),
+    ZHUANGCHE_RESULT_SUBMIT(30, "磅单报备"),
 
     //前往卸车点
     GOTO_XIECHE_SPOT(10, "前往卸车点"),
@@ -26,7 +26,7 @@ public enum WorkOrderEnum {
     XIECHE_WAIT(20, "卸车等待"),
 
     //卸车磅单报备
-    XIECHE_RESULT_SUBMIT(30, "磅单报备"),
+    XIECHE_RESULT_SUBMIT(30, "磅单报备"),
 
     //已完成
     COMPLETED(40, "已完成"),

+ 3 - 1
src/main/java/com/aoyang/tms/controller/vo/WorkerInfo.java

@@ -64,6 +64,9 @@ public class WorkerInfo {
     @ApiModelProperty(value = "挂车牌号")
     private String trailerNumber;
 
+    @ApiModelProperty(value = "当前作业订单ID")
+    private Long orderId;
+
     @ApiModelProperty(value = "订单状态,待执行0,前往装车点10,装车等待20,装车成果报备中30,前往卸车点10,卸车等待20,卸车成果报备30,已完成40,已关闭50,已作废60")
     private int orderStatus;
 
@@ -95,5 +98,4 @@ public class WorkerInfo {
     private String lastTime;
 
 
-
 }

+ 16 - 5
src/main/java/com/aoyang/tms/service/WorkOrderService.java

@@ -28,16 +28,26 @@ import java.util.List;
 public interface WorkOrderService extends IService<WorkOrder> {
 
     /**
+     * @return
+     * @Author guoyong
+     * @Description 查询卡车最近的笔订单
+     * @Date 2022/4/24
+     * @Param
+     **/
+    WorkOrder findCurrentWorkOrder(Long truckId);
+
+    /**
+     * @return
      * @Author guoyong
      * @Description 根据卡车id获取待执行运单
-     * @Date  2022/4/22
-     * @Param  userId,当前用户id
-     * @return 
-    **/
-    List<WorkOrderVO> findWorkOrderList(Long userId,WorkOrder workOrder);
+     * @Date 2022/4/22
+     * @Param userId, 当前用户id
+     **/
+    List<WorkOrderVO> findWorkOrderList(Long userId, WorkOrder workOrder);
 
     /**
      * 根据组织id查询运力调度统计汇总信息
+     *
      * @param orgId
      * @return
      */
@@ -45,6 +55,7 @@ public interface WorkOrderService extends IService<WorkOrder> {
 
     /**
      * 分页查询运力调度统计列表
+     *
      * @return
      */
     Result<IPage<TruckOrderManageVO>> getTruckOrderManageList(PageParam<WorkManagePageParam> pageParam);

+ 27 - 11
src/main/java/com/aoyang/tms/service/impl/CommonServiceImpl.java

@@ -2,6 +2,7 @@ package com.aoyang.tms.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.aoyang.common.result.Result;
+import com.aoyang.tms.common.WorkOrderEnum;
 import com.aoyang.tms.controller.vo.LocationVO;
 import com.aoyang.tms.controller.vo.WorkerInfo;
 import com.aoyang.tms.entity.*;
@@ -34,24 +35,20 @@ public class CommonServiceImpl implements CommonService {
 
     @Resource
     private StrategyFeignClient strategyFeignClient;
-
     @Resource
     private UserFeignClient userFeignClient;
-
     @Resource
     private MongoTemplate mongoTemplate;
-
     @Resource
     private TruckService truckService;
-
     @Resource
     private TruckDriverService truckDriverService;
-
     @Resource
     private TruckSimCardService truckSimCardService;
-
     @Resource
     private TruckEscortService truckEscortService;
+    @Resource
+    private WorkOrderService workOrderService;
 
     @Override
     public Org findOrg(Long orgId) {
@@ -80,11 +77,30 @@ public class CommonServiceImpl implements CommonService {
             workerInfo.setDeptId(truck.getDeptId());
             workerInfo.setDeptName(truck.getDeptName());
 
-            //已收车
-            if (truck.getTmsStatus() == 0) {
-                workerInfo.setIsZhongche("空车");
-                workerInfo.setZhuangcheNumber(0);
-                workerInfo.setXiecheNumber(0);
+            WorkOrder workOrder = workOrderService.findCurrentWorkOrder(truckId);
+            if (workOrder != null) {
+                //装车订单判断
+                if (workOrder.getType() == 1) {
+                    if (workOrder.getOrderStatus().equals(WorkOrderEnum.ZHUANGCHE_RESULT_SUBMIT.orderStatus()) || workOrder.getOrderStatus().equals(WorkOrderEnum.COMPLETED.orderStatus()) || workOrder.getOrderStatus().equals(WorkOrderEnum.CLOSED.orderStatus())) {
+                        workerInfo.setIsZhongche("重车");
+                    } else {
+                        workerInfo.setIsZhongche("空车");
+                    }
+                }
+
+                //卸车订单判断
+                if (workOrder.getType() == 2) {
+                    if (workOrder.getOrderStatus().equals(WorkOrderEnum.COMPLETED.orderStatus())) {
+                        if (Double.valueOf(workOrder.getJingWeight()) > 0) {
+                            workerInfo.setIsZhongche("重车");
+                        } else {
+                            workerInfo.setIsZhongche("空车");
+                        }
+                    } else {
+                        workerInfo.setIsZhongche("空车");
+                    }
+                }
+
             }
         }
         log.info("findTruckInfo findTruckDrivers 参数:{}", JSON.toJSONString(truckId));

+ 10 - 0
src/main/java/com/aoyang/tms/service/impl/WorkOrderServiceImpl.java

@@ -54,6 +54,16 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
     private WorkOrderReadinfoService workOrderReadinfoService;
 
     @Override
+    public WorkOrder findCurrentWorkOrder(Long truckId) {
+        QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<WorkOrder>();
+        queryWrapper.eq("truck_id", truckId);
+        queryWrapper.orderByDesc("create_date");
+        queryWrapper.last("limit 1");
+        WorkOrder workOrder = workOrderMapper.selectOne(queryWrapper);
+        return workOrder;
+    }
+
+    @Override
     public List<WorkOrderVO> findWorkOrderList(Long userId, WorkOrder workOrderParam) {
         QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<WorkOrder>();
         queryWrapper.eq("truck_id", workOrderParam.getTruckId());