소스 검색

feat:运力实时调度新增历史行车接口

wangweiyu 4 년 전
부모
커밋
d365763116

+ 46 - 0
src/main/java/com/aoyang/tms/controller/WorkOrderManageController.java

@@ -10,10 +10,12 @@ import com.aoyang.tms.common.ErrCodeEnum;
 import com.aoyang.tms.common.WorkOrderEnum;
 import com.aoyang.tms.controller.param.WorkManagePageParam;
 import com.aoyang.tms.controller.vo.AddWorkOrderVO;
+import com.aoyang.tms.controller.vo.TruckHistoryTripVO;
 import com.aoyang.tms.controller.vo.TruckOrderManageVO;
 import com.aoyang.tms.controller.vo.TruckOrderStatisticsVO;
 import com.aoyang.tms.entity.*;
 import com.aoyang.tms.service.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -59,6 +61,10 @@ public class WorkOrderManageController {
     private TruckDriverService truckDriverService;
     @Resource
     private WorkSpotService workSpotService;
+    @Resource
+    private WorkCycleService workCycleService;
+    @Resource
+    private WorkLogService workLogService;
 
     @ApiOperation(value = "获取运力调度列表",notes="")
     @PostMapping("/list")
@@ -78,6 +84,46 @@ public class WorkOrderManageController {
         return new Result<>(workOrderService.getTruckOrderStatistics(orgId));
     }
 
+    @ApiOperation(value = "车辆历史行程",notes="")
+    @PostMapping("/history_trip")
+    public Result<List<TruckHistoryTripVO>> historyTrip(@RequestBody Truck truck) {
+        if (truck == null || truck.getTruckId() == null) {
+            return new Result<>(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
+        }
+        log.info("获取车辆历史行程,调用/tms/work_order_manage/history_trip truck:{} ", truck.getTruckId());
+        List<WorkCycle> workCycles = workCycleService.list(new QueryWrapper<WorkCycle>().eq("truck_id", truck.getTruckId()));
+        List<TruckHistoryTripVO> resultList = new ArrayList<>();
+        for (WorkCycle workCycle : workCycles) {
+            TruckHistoryTripVO vo = new TruckHistoryTripVO();
+            vo.setCycleId(workCycle.getId());
+            QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("cycle_id", workCycle.getId());
+            queryWrapper.eq("type", 1);
+            vo.setLoadCount(workOrderService.count(queryWrapper));
+            queryWrapper.eq("type", 2);
+            vo.setUnloadCount(workOrderService.count(queryWrapper));
+            vo.setStartTime(workCycle.getStartTime());
+            vo.setEndTime(workCycle.getEndTime());
+            resultList.add(vo);
+        }
+        return new Result<>(resultList);
+    }
+
+    @ApiOperation(value = "车辆行车详情",notes="")
+    @PostMapping("/history_trip_detail")
+    public Result<List<WorkLog>> historyTripDetail(@RequestBody IdParam idParam) {
+        log.info("获取车辆历史行程,调用/tms/work_order_manage/history_trip idParam:{} ", JSON.toJSONString(idParam));
+        if (idParam == null || idParam.getId() == null) {
+            return new Result<>(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
+        }
+        WorkCycle workCycle = workCycleService.getById(idParam.getId());
+        if (workCycle == null) {
+            return new Result<>(ErrCodeEnum.BAD_PARAM.getCode(), "行车周期不存在");
+        }
+        List<WorkLog> workLogs = workLogService.list(new QueryWrapper<WorkLog>().eq("cycle_id", idParam.getId()));
+        return new Result<>(workLogs);
+    }
+
     @ApiOperation(value = "新增装车派单", notes = "调度员派单操作")
     @PostMapping("/add_load_order")
     public Result add(@RequestHeader(value = "orgId") Long orgId,

+ 39 - 0
src/main/java/com/aoyang/tms/controller/vo/TruckHistoryTripVO.java

@@ -0,0 +1,39 @@
+package com.aoyang.tms.controller.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+    * 运力调度列表实体VO
+ * </p>
+ *
+ */
+@Data
+@ApiModel(value="TruckHistoryTripVO对象", description="车辆历史行车")
+public class TruckHistoryTripVO implements Serializable {
+
+    @ApiModelProperty(value = "行车周期id")
+    private Long cycleId;
+
+    @ApiModelProperty(value = "装车运单数")
+    private Integer loadCount;
+
+    @ApiModelProperty(value = "卸车运单数")
+    private Integer unloadCount;
+
+    @ApiModelProperty(value = "开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime startTime;
+
+    @ApiModelProperty(value = "结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime endTime;
+
+}

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

@@ -210,7 +210,7 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
             if (location != null) {
                 vo.setLatitude(location.getLatitude());
                 vo.setLongitude(location.getLongitude());
-                vo.setLocation(commonService.longitudeToAddress(location.getLatitude(), location.getLongitude()));
+                vo.setLocation(commonService.longitudeToAddress(location.getLongitude(), location.getLatitude()));
             }
             if (vo.getOrderId() != null) {
                 // 设置已读未读信息

+ 2 - 0
src/main/java/com/aoyang/tms/service/impl/WorkerServiceImpl.java

@@ -40,6 +40,8 @@ public class WorkerServiceImpl implements WorkerService {
     public Boolean startOrder(Long userId, String userName, WorkOrder workOrderParam) {
         Boolean flag = true;
         try {
+            // TODO 查询是否有中止的装车运单
+
             WorkOrder workOrder = workOrderService.getById(workOrderParam.getId());
             if (workOrder != null) {
                 //1.车辆进入出车前检车状态