Explorar o código

添加上传签名方法

guoyong %!s(int64=4) %!d(string=hai) anos
pai
achega
ee6d5c4874

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

@@ -24,13 +24,10 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
-import org.springframework.cloud.netflix.ribbon.apache.HttpClientUtils;
 import org.springframework.web.bind.annotation.*;
-import sun.net.www.http.HttpClient;
 
 import javax.annotation.Resource;
 import java.io.UnsupportedEncodingException;
-import java.net.URL;
 import java.net.URLDecoder;
 import java.time.LocalDateTime;
 import java.util.ArrayList;

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

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
 import com.aoyang.common.param.PageParam;
 import com.aoyang.common.result.Result;
 import com.aoyang.tms.common.ErrCodeEnum;
+import com.aoyang.tms.controller.param.UpSignParam;
 import com.aoyang.tms.controller.vo.LocationVO;
 import com.aoyang.tms.controller.vo.WorkOrderVO;
 import com.aoyang.tms.controller.vo.WorkerInfo;
@@ -463,4 +464,21 @@ public class WorkerController {
         Boolean flag = workerService.finishWork(userId, utf8Name, workOrder);
         return new Result<>(flag);
     }
+
+
+    @ApiOperation(value = "8.上传签名", notes = "点击确定结束")
+    @PostMapping("/finish_cycle")
+    public Result finishCycle(@RequestHeader(value = "userId") Long userId, @RequestHeader(value = "userName") String userName, @RequestBody UpSignParam upSignParam) {
+        log.info("上传签名,/tms/worker/finish_cycle,参数:{}", JSON.toJSONString(upSignParam));
+        if (upSignParam == null || upSignParam.getTruckId() == null) {
+            return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
+        }
+        String utf8Name = userName;
+        try {
+            utf8Name = URLDecoder.decode(userName, "UTF-8");
+        } catch (UnsupportedEncodingException ignored) {
+        }
+        Boolean flag = workerService.finishCycle(userId, utf8Name, upSignParam);
+        return new Result<>(flag);
+    }
 }

+ 26 - 0
src/main/java/com/aoyang/tms/controller/param/UpSignParam.java

@@ -0,0 +1,26 @@
+package com.aoyang.tms.controller.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Description: 上传签名参数类
+ * @Author guoyong
+ * @Date 2022/4/27 11:58
+ * @Version 1.0
+ */
+@Data
+public class UpSignParam {
+
+    @ApiModelProperty(value = "卡车id,必传")
+    private Long truckId;
+
+    @ApiModelProperty(value = "司机1签名图片url")
+    private String driverOneSignUrl;
+
+    @ApiModelProperty(value = "司机2签名图片url")
+    private String driverTwoSignUrl;
+
+    @ApiModelProperty(value = "押运云签名图片url")
+    private String escortSignUrl;
+}

+ 13 - 0
src/main/java/com/aoyang/tms/entity/WorkCycle.java

@@ -146,5 +146,18 @@ public class WorkCycle implements Serializable {
     @TableField("create_date")
     private LocalDateTime createDate;
 
+    @ApiModelProperty(value = "修改人id")
+    @TableField("updater")
+    @JsonFormat(shape = JsonFormat.Shape.STRING)
+    private Long updater;
+
+    @ApiModelProperty(value = "修改人姓名")
+    @TableField("updater_name")
+    private String updaterName;
+
+    @ApiModelProperty(value = "修改日期时间")
+    @TableField("update_date")
+    private LocalDateTime updateDate;
+
 
 }

+ 39 - 27
src/main/java/com/aoyang/tms/service/WorkerService.java

@@ -1,6 +1,7 @@
 package com.aoyang.tms.service;
 
 import com.aoyang.common.result.Result;
+import com.aoyang.tms.controller.param.UpSignParam;
 import com.aoyang.tms.controller.vo.LocationVO;
 import com.aoyang.tms.controller.vo.WorkerInfo;
 import com.aoyang.tms.entity.TruckCheckInfo;
@@ -20,64 +21,75 @@ import java.time.LocalDateTime;
 public interface WorkerService {
 
     /**
+     * @return
      * @Author guoyong
      * @Description 开始执行运单,1.车辆进入出车前检车状态,2.订单进入前往装车点状态,3.并记行车日志,4.创建行程周期
-     * @Date  2022/4/23
+     * @Date 2022/4/23
      * @Param
-     * @return
-    **/
-    Boolean startOrder(Long userId, String userName,WorkOrder workOrder);
+     **/
+    Boolean startOrder(Long userId, String userName, WorkOrder workOrder);
+
     /**
+     * @return
      * @Author guoyong
      * @Description 完成出车前检查,开始装卸车作业
-     * @Date  2022/4/23
+     * @Date 2022/4/23
      * @Param
-     * @return
-    **/
-    Boolean starWork(Long userId,String userName, TruckCheckInfo truckCheckInfo);
+     **/
+    Boolean starWork(Long userId, String userName, TruckCheckInfo truckCheckInfo);
+
     /**
+     * @return
      * @Author guoyong
      * @Description 上报已到达装卸车点
-     * @Date  2022/4/23
+     * @Date 2022/4/23
      * @Param
-     * @return
-    **/
-    Boolean startWait(Long userId, String userName,WorkOrder workOrder);
+     **/
+    Boolean startWait(Long userId, String userName, WorkOrder workOrder);
 
     /**
+     * @return
      * @Author guoyong
      * @Description 上报磅单
-     * @Date  2022/4/23
+     * @Date 2022/4/23
      * @Param
-     * @return
-    **/
-    Boolean submitResult(Long userId, String userName,WorkOrder workOrder);
+     **/
+    Boolean submitResult(Long userId, String userName, WorkOrder workOrder);
 
     /**
+     * @return
      * @Author guoyong
      * @Description 确认完成运单
-     * @Date  2022/4/23
+     * @Date 2022/4/23
      * @Param
-     * @return
-    **/
-    Boolean finishOrder(Long userId, String userName,WorkOrder workOrder);
+     **/
+    Boolean finishOrder(Long userId, String userName, WorkOrder workOrder);
 
     /**
+     * @return
      * @Author guoyong
      * @Description 上报已到达收车点
-     * @Date  2022/4/23
+     * @Date 2022/4/23
      * @Param
-     * @return
-    **/
-    Boolean arriveTerminal(Long userId, String userName,WorkOrder workOrder);
+     **/
+    Boolean arriveTerminal(Long userId, String userName, WorkOrder workOrder);
 
     /**
+     * @return
      * @Author guoyong
      * @Description 完成检查,结束此次行程
-     * @Date  2022/4/23
+     * @Date 2022/4/23
      * @Param
+     **/
+    Boolean finishWork(Long userId, String userName, WorkOrder workOrder);
+
+    /**
      * @return
-    **/
-    Boolean finishWork(Long userId, String userName,WorkOrder workOrder);
+     * @Author guoyong
+     * @Description 上传签名,完成当前行程周期
+     * @Date 2022/4/23
+     * @Param
+     **/
+    Boolean finishCycle(Long userId, String userName, UpSignParam upSignParam);
 
 }

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

@@ -3,6 +3,7 @@ package com.aoyang.tms.service.impl;
 import com.aoyang.tms.common.TmsTruckStatus;
 import com.aoyang.tms.common.WorkLogTypeEnum;
 import com.aoyang.tms.common.WorkOrderEnum;
+import com.aoyang.tms.controller.param.UpSignParam;
 import com.aoyang.tms.entity.Truck;
 import com.aoyang.tms.entity.TruckCheckInfo;
 import com.aoyang.tms.entity.WorkCycle;
@@ -334,4 +335,36 @@ public class WorkerServiceImpl implements WorkerService {
 
         return flag;
     }
+
+    @Override
+    public Boolean finishCycle(Long userId, String userName, UpSignParam upSignParam) {
+        Truck truck = truckService.getById(upSignParam.getTruckId());
+        //如果是收车中,上传签名,结束本次行车周期
+        if (truck != null) {
+            if (truck.getTmsStatus() == TmsTruckStatus.RETURNING) {
+                WorkCycle workCycle = workCycleService.findCurrentWorkCycle(upSignParam.getTruckId());
+                if (workCycle != null) {
+                    workCycle.setDriverOneSignUrl(upSignParam.getDriverOneSignUrl());
+                    workCycle.setDriverTwoSignUrl(upSignParam.getDriverTwoSignUrl());
+                    workCycle.setEscortSignUrl(upSignParam.getEscortSignUrl());
+                    workCycle.setStatus(2);
+                    workCycle.setEndTime(LocalDateTime.now());
+                    workCycle.setUpdater(userId);
+                    workCycle.setUpdaterName(userName);
+                    workCycle.setUpdateDate(LocalDateTime.now());
+                    workCycleService.updateById(workCycle);
+
+                    //已收车
+                    truck.setTmsStatus(TmsTruckStatus.DONE);
+                    truckService.updateById(truck);
+                }else{
+                    truck.setTmsStatus(TmsTruckStatus.PRE_CHECK);
+                    truckService.updateById(truck);
+                }
+            }
+
+
+        }
+        return null;
+    }
 }

+ 57 - 25
src/main/resources/mapper/WorkCycleMapper.xml

@@ -4,35 +4,67 @@
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.aoyang.tms.entity.WorkCycle">
-        <id column="id" property="id" />
-        <result column="status" property="status" />
-        <result column="org_id" property="orgId" />
-        <result column="org_name" property="orgName" />
-        <result column="org_short_name" property="orgShortName" />
-        <result column="driver_id_one" property="driverIdOne" />
-        <result column="driver_name_one" property="driverNameOne" />
-        <result column="driver_id_two" property="driverIdTwo" />
-        <result column="driver_name_two" property="driverNameTwo" />
-        <result column="escort_id" property="escortId" />
-        <result column="escort_name" property="escortName" />
-        <result column="truck_id" property="truckId" />
-        <result column="car_number" property="carNumber" />
-        <result column="trailer_number" property="trailerNumber" />
-        <result column="shipper_id" property="shipperId" />
-        <result column="shipper_name" property="shipperName" />
-        <result column="start_time" property="startTime" />
-        <result column="end_time" property="endTime" />
-        <result column="driver_one_sign_url" property="driverOneSignUrl" />
-        <result column="driver_two_sign_url" property="driverTwoSignUrl" />
-        <result column="escort_sign_url" property="escortSignUrl" />
-        <result column="creater" property="creater" />
-        <result column="creater_name" property="createrName" />
-        <result column="create_date" property="createDate" />
+        <id column="id" property="id"/>
+        <result column="status" property="status"/>
+        <result column="org_id" property="orgId"/>
+        <result column="org_name" property="orgName"/>
+        <result column="org_short_name" property="orgShortName"/>
+        <result column="driver_id_one" property="driverIdOne"/>
+        <result column="driver_name_one" property="driverNameOne"/>
+        <result column="driver_id_two" property="driverIdTwo"/>
+        <result column="driver_name_two" property="driverNameTwo"/>
+        <result column="escort_id" property="escortId"/>
+        <result column="escort_name" property="escortName"/>
+        <result column="truck_id" property="truckId"/>
+        <result column="car_number" property="carNumber"/>
+        <result column="trailer_number" property="trailerNumber"/>
+        <result column="shipper_id" property="shipperId"/>
+        <result column="shipper_name" property="shipperName"/>
+        <result column="start_time" property="startTime"/>
+        <result column="end_time" property="endTime"/>
+        <result column="driver_one_sign_url" property="driverOneSignUrl"/>
+        <result column="driver_two_sign_url" property="driverTwoSignUrl"/>
+        <result column="escort_sign_url" property="escortSignUrl"/>
+        <result column="creater" property="creater"/>
+        <result column="creater_name" property="createrName"/>
+        <result column="create_date" property="createDate"/>
+        <result column="updater" property="updater"/>
+        <result column="updater_name" property="updaterName"/>
+        <result column="update_date" property="updateDate"/>
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, status, org_id, org_name, org_short_name, driver_id_one, driver_name_one, driver_id_two, driver_name_two, escort_id, escort_name, truck_id, car_number, trailer_number, shipper_id, shipper_name, start_time, end_time, driver_one_sign_url, driver_two_sign_url, escort_sign_url, creater, creater_name, create_date
+        id
+        ,
+        status,
+        org_id,
+        org_name,
+        org_short_name,
+        driver_id_one,
+        driver_name_one,
+        driver_id_two,
+        driver_name_two,
+        escort_id,
+        escort_name,
+        truck_id,
+        car_number,
+        trailer_number,
+        shipper_id,
+        shipper_name,
+        start_time,
+        end_time,
+        driver_one_sign_url,
+        driver_two_sign_url,
+        escort_sign_url,
+        start_trip,
+        end_trip,
+        creater,
+        creater_name,
+        create_date,
+        updater,
+        updater_name,
+        update_date
     </sql>
 
 </mapper>