Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

wangweiyu 4 vuotta sitten
vanhempi
commit
98cf83d0b2

+ 2 - 2
src/main/java/com/aoyang/tms/controller/JxlsExportTestController.java

@@ -1,7 +1,7 @@
 package com.aoyang.tms.controller;
 
 import com.alibaba.fastjson.JSON;
-import com.aoyang.tms.entity.TmsGasFee;
+import com.aoyang.tms.entity.WorkOrder;
 import com.aoyang.tms.service.JxlsExportTestService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -34,7 +34,7 @@ public class JxlsExportTestController {
 
     @ApiOperation(value = "下载行车日志,测试自用")
     @PostMapping("/download_test")
-    public StreamingResponseBody download(HttpServletResponse response, @RequestBody TmsGasFee param) {
+    public StreamingResponseBody download(HttpServletResponse response, @RequestBody WorkOrder param) {
         log.info("下载行车日志,导出专用,调用/tms/jxls_export/download_test,参数:{}", JSON.toJSONString(param));
         if (null == param) {
             log.error("download_list param is null");

+ 3 - 3
src/main/java/com/aoyang/tms/controller/WorkerController.java

@@ -419,7 +419,7 @@ public class WorkerController {
             utf8Name = URLDecoder.decode(userName, "UTF-8");
         } catch (UnsupportedEncodingException ignored) {
         }
-        //TODO 1.车辆进入收车中状态,2.订单完成状态,3.并记行车日志
+        //1.车辆进入收车中状态,2.订单完成状态,3.并记行车日志
         Boolean flag = workerService.finishOrder(userId, utf8Name, workOrder);
         return new Result<>(flag);
     }
@@ -436,7 +436,7 @@ public class WorkerController {
             utf8Name = URLDecoder.decode(userName, "UTF-8");
         } catch (UnsupportedEncodingException ignored) {
         }
-        //TODO 1.车辆进入收车后检查状态,2.并记行车日志
+        //1.车辆进入收车后检查状态,2.并记行车日志
         Boolean flag = workerService.arriveTerminal(userId, utf8Name, workOrder);
         return new Result<>(flag);
     }
@@ -453,7 +453,7 @@ public class WorkerController {
             utf8Name = URLDecoder.decode(userName, "UTF-8");
         } catch (UnsupportedEncodingException ignored) {
         }
-        //TODO 1.车辆进入已经收车状态,3.并记行车日志,4.结束当前行程周期(从收车中到出车检查也结束当前行程周期)
+        // 1.车辆进入已经收车状态,3.并记行车日志,4.结束当前行程周期(从收车中到出车检查也结束当前行程周期)
         Boolean flag = workerService.finishWork(userId, utf8Name, workOrder);
         return new Result<>(flag);
     }

+ 4 - 0
src/main/java/com/aoyang/tms/entity/WorkOrder.java

@@ -262,5 +262,9 @@ public class WorkOrder implements Serializable {
     @TableField("update_date")
     private LocalDateTime updateDate;
 
+    @ApiModelProperty(value = "总计时间(导出用)")
+    @TableField(exist = false)
+    private  String betweenTime;
+
 
 }

+ 2 - 2
src/main/java/com/aoyang/tms/service/JxlsExportTestService.java

@@ -18,7 +18,7 @@ public interface JxlsExportTestService {
      * @Date 2022/4/13
      * @Param
      **/
-    WorkLogTplVO workLogTplVO(WorkOrder param);
+    WorkLogTplVO getWorkLogTplVO(WorkOrder param);
 
     /**
      * @return
@@ -27,5 +27,5 @@ public interface JxlsExportTestService {
      * @Date 2022/4/13
      * @Param
      **/
-    StreamingResponseBody download(TmsGasFee param, HttpServletResponse response) throws IOException;
+    StreamingResponseBody download(WorkOrder param, HttpServletResponse response) throws IOException;
 }

+ 25 - 6
src/main/java/com/aoyang/tms/service/impl/JxlsExportTestServiceImpl.java

@@ -4,6 +4,7 @@ package com.aoyang.tms.service.impl;
 import com.aoyang.tms.controller.vo.*;
 import com.aoyang.tms.entity.*;
 import com.aoyang.tms.service.*;
+import com.aoyang.tms.util.DateUtils;
 import com.aoyang.tms.util.FileUtil;
 import com.aoyang.tms.util.JxlsUtils;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -46,12 +47,16 @@ public class JxlsExportTestServiceImpl implements JxlsExportTestService {
     private TruckCheckInfoService truckCheckInfoService;
 
     @Override
-    public WorkLogTplVO workLogTplVO(WorkOrder param) {
+    public WorkLogTplVO getWorkLogTplVO(WorkOrder param) {
         WorkLogTplVO workLogTplVO = new WorkLogTplVO();
 
         WorkCycle workCycle = workCycleService.getById(param.getCycleId());
         workLogTplVO.setWorkCycle(workCycle);
-
+        workLogTplVO.setBetweenTime(DateUtils.betweenTime(workCycle.getStartTime(),workCycle.getEndTime()));
+        int year = DateUtils.getCurrentYear(workCycle.getCreateDate());
+        int month = DateUtils.getCurrentMonths(workCycle.getCreateDate());
+        int day = DateUtils.getCurrentDay(workCycle.getCreateDate());
+        workLogTplVO.setLogDate(year+" 年"+month+" 月"+day+" 日");
         //根据行程周期获取运单列表,按时间正序,第一单为装单,接下来为顺序卸单
         QueryWrapper<WorkOrder> workOrderQueryWrapper = new QueryWrapper<WorkOrder>();
         if (param.getCycleId() != null) {
@@ -63,6 +68,7 @@ public class JxlsExportTestServiceImpl implements JxlsExportTestService {
         int listSize = workOrderList.size();
         for (int i = 0; i < listSize; i++) {
             WorkOrder workOrderParam = workOrderList.get(i);
+            workOrderParam.setBetweenTime(DateUtils.betweenTime(workOrderParam.getActualReachTime(),workOrderParam.getActualLeaveTime()));
             workOrders.add(workOrderParam);
         }
         workLogTplVO.setWorkOrderList(workOrders);
@@ -138,11 +144,12 @@ public class JxlsExportTestServiceImpl implements JxlsExportTestService {
     }
 
     @Override
-    public StreamingResponseBody download(TmsGasFee param, HttpServletResponse response) throws IOException {
+    public StreamingResponseBody download(WorkOrder param, HttpServletResponse response) throws IOException {
 
-        WorkLogTplVO workLogTplVO = new WorkLogTplVO();
-        TmsGasFee tmsGasFee = tmsGasFeeService.getById(param);
-        byte imageBytes[] = getImageBytes("/cn/chendd/examples/images/splash.jpg");
+        WorkLogTplVO workLogTplVO = getWorkLogTplVO(param);
+        byte driverOneSignUrl[] = getImageBytes(workLogTplVO.getWorkCycle().getDriverOneSignUrl());
+        byte driverTwoSignUrl[] = getImageBytes(workLogTplVO.getWorkCycle().getDriverTwoSignUrl());
+        byte escortSignUrl[] = getImageBytes(workLogTplVO.getWorkCycle().getEscortSignUrl());
 
         // 获取模板文件
         String tplfileName = "circle_sign_tpl.xlsx";
@@ -156,6 +163,18 @@ public class JxlsExportTestServiceImpl implements JxlsExportTestService {
         if (os != null && inputStream != null) {
             Map<String, Object> model = new HashMap<String, Object>();
             model.put("workLogTplVO", workLogTplVO);
+            model.put("workOrderList", workLogTplVO.getWorkOrderList());
+            model.put("tmsGasFeeList", workLogTplVO.getTmsGasFeeList());
+            model.put("tmsLineCostList", workLogTplVO.getTmsLineCostList());
+
+            model.put("truckRepairInfoList", workLogTplVO.getTruckRepairInfoList());
+            model.put("restInfoList", workLogTplVO.getRestInfoList());
+            model.put("truckCheckInfoList", workLogTplVO.getTruckCheckInfoList());
+
+            model.put("driverOneSignUrl", driverOneSignUrl);
+            model.put("driverTwoSignUrl", driverTwoSignUrl);
+            model.put("escortSignUrl", escortSignUrl);
+
             JxlsUtils.exportExcel(inputStream, os, model);
             os.close();
         }

+ 11 - 8
src/main/java/com/aoyang/tms/service/impl/WorkerServiceImpl.java

@@ -296,20 +296,23 @@ public class WorkerServiceImpl implements WorkerService {
                 Truck truck = truckService.getById(workOrder.getTruckId());
                 truck.setTmsStatus(TmsTruckStatus.DONE);
                 truckService.updateById(truck);
-                //2.结束当前行程周期(从收车中到出车检查也结束当前行程周期)
-                WorkCycle workCycle = workCycleService.findCurrentWorkCycle(workOrder.getTruckId());
-                workCycle.setEndTime(LocalDateTime.now());
-                BeanUtils.copyProperties(truck, workCycle);
-                BeanUtils.copyProperties(workOrder, workCycle);
-                workCycleService.updateById(workCycle);
-
+                //2.上传订单信息
                 workOrder.setWeightingListNo(workOrderParam.getWeightingListNo());
                 workOrder.setWeightingListUrl(workOrderParam.getWeightingListUrl());
                 workOrder.setPiWeight(workOrderParam.getPiWeight());
                 workOrder.setMaoWeight(workOrderParam.getMaoWeight());
                 workOrder.setJingWeight(workOrderParam.getJingWeight());
                 workOrderService.updateById(workOrder);
-                //3 记录日志
+
+                //3.结束当前行程周期(从收车中到出车检查也结束当前行程周期)
+                WorkCycle workCycle = workCycleService.findCurrentWorkCycle(workOrder.getTruckId());
+                workCycle.setEndTime(LocalDateTime.now());
+                BeanUtils.copyProperties(truck, workCycle);
+                BeanUtils.copyProperties(workOrder, workCycle);
+                workCycle.setJingWeight(Integer.valueOf(workOrderParam.getJingWeight()));
+                workCycleService.updateById(workCycle);
+
+                //4 记录日志
                 workLogService.logWorkCycleInfo(WorkLogTypeEnum.CLOSED, workOrder);
             }
         } catch (Exception e) {

+ 15 - 0
src/main/java/com/aoyang/tms/util/DateUtils.java

@@ -190,6 +190,21 @@ public class DateUtils {
 
     }
 
+    public static int getCurrentMonths(LocalDateTime localDate) {
+        int currentMonth = localDate.getMonth().getValue();
+        return currentMonth;
+    }
+
+    public static int getCurrentYear(LocalDateTime localDate) {
+        int currentYear = localDate.getYear();
+        return currentYear;
+    }
+
+    public static int getCurrentDay(LocalDateTime localDate) {
+        int currentDay = localDate.getDayOfMonth();
+        return currentDay;
+    }
+
     public static void main(String[] args) {
         LocalDateTime now = LocalDateTime.of(2022, 4, 24, 11, 9, 38);
         LocalDateTime end = LocalDateTime.of(2022, 4, 25, 14, 12, 32);

+ 39 - 0
src/main/java/com/aoyang/tms/util/JxlsUtils.java

@@ -133,4 +133,43 @@ public class JxlsUtils {
         }
         return str;
     }
+
+    /**
+     * @return
+     * @Author chengang
+     * @Description id转换
+     * @Date 2022/4/27
+     * @Param
+     **/
+    public static String idToName(Long id, Integer type) {
+        String str = "";
+        if (id != null && type == 1) {
+            str = "休息:";
+        }
+        if (id != null && type == 2) {
+            str = "维修:";
+        }
+        if (id != null && type == 3) {
+            str = "检查:";
+        }
+        return str;
+    }
+
+    /**
+     * @return
+     * @Author chengang
+     * @Description 前往装卸车点转换
+     * @Date 2022/4/27
+     * @Param
+     **/
+    public static String idToGoSpot(Long id, Integer type) {
+        String str = "";
+        if (id != null && type == 1) {
+            str = "前往装车点";
+        }
+        if (id != null && type == 2) {
+            str = "前往卸车点:";
+        }
+        return str;
+    }
 }

BIN
src/main/resources/exceltpl/work_log_tpl.xlsx