|
@@ -4,12 +4,17 @@ import com.alibaba.fastjson.JSON;
|
|
|
import com.aoyang.common.param.PageParam;
|
|
import com.aoyang.common.param.PageParam;
|
|
|
import com.aoyang.common.result.Result;
|
|
import com.aoyang.common.result.Result;
|
|
|
import com.aoyang.tms.common.ErrCodeEnum;
|
|
import com.aoyang.tms.common.ErrCodeEnum;
|
|
|
|
|
+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.controller.vo.LocationVO;
|
|
import com.aoyang.tms.controller.vo.LocationVO;
|
|
|
import com.aoyang.tms.controller.vo.WorkOrderVO;
|
|
import com.aoyang.tms.controller.vo.WorkOrderVO;
|
|
|
import com.aoyang.tms.controller.vo.WorkerInfo;
|
|
import com.aoyang.tms.controller.vo.WorkerInfo;
|
|
|
import com.aoyang.tms.entity.*;
|
|
import com.aoyang.tms.entity.*;
|
|
|
import com.aoyang.tms.service.*;
|
|
import com.aoyang.tms.service.*;
|
|
|
import com.aoyang.tms.util.DateUtils;
|
|
import com.aoyang.tms.util.DateUtils;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
@@ -58,6 +63,9 @@ public class WorkerController {
|
|
|
private WorkCycleService workCycleService;
|
|
private WorkCycleService workCycleService;
|
|
|
@Resource
|
|
@Resource
|
|
|
private TruckRepairInfoService truckRepairInfoService;
|
|
private TruckRepairInfoService truckRepairInfoService;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private TruckService truckService;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
@ApiOperation(value = "运力详情", notes = "卡车id必传,包含司机1姓名、司机2姓名、押运员姓名、车辆状态、位置经纬度、位置时间等信息")
|
|
@ApiOperation(value = "运力详情", notes = "卡车id必传,包含司机1姓名、司机2姓名、押运员姓名、车辆状态、位置经纬度、位置时间等信息")
|
|
|
@PostMapping("/find_truck_info")
|
|
@PostMapping("/find_truck_info")
|
|
@@ -74,47 +82,12 @@ public class WorkerController {
|
|
|
@ApiOperation(value = "运单详情", notes = "必传参数:订单id")
|
|
@ApiOperation(value = "运单详情", notes = "必传参数:订单id")
|
|
|
@PostMapping("/find_order_info")
|
|
@PostMapping("/find_order_info")
|
|
|
public Result<WorkOrderVO> findOrderInfo(@RequestHeader(value = "orgId") Long orgId,
|
|
public Result<WorkOrderVO> findOrderInfo(@RequestHeader(value = "orgId") Long orgId,
|
|
|
- @RequestHeader(value = "userId") Long userId, @RequestBody WorkOrder workOrderParam) {
|
|
|
|
|
|
|
+ @RequestHeader(value = "userId") Long userId, @RequestHeader(value = "userName") String userName, @RequestBody WorkOrder workOrderParam) {
|
|
|
log.info("运单详情,/tms/worker/find_order_info,参数:{}", JSON.toJSONString(workOrderParam));
|
|
log.info("运单详情,/tms/worker/find_order_info,参数:{}", JSON.toJSONString(workOrderParam));
|
|
|
if (workOrderParam == null || workOrderParam.getId() == null) {
|
|
if (workOrderParam == null || workOrderParam.getId() == null) {
|
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
|
}
|
|
}
|
|
|
- WorkOrderVO vo = new WorkOrderVO();
|
|
|
|
|
- WorkOrder workOrder = workOrderService.getById(workOrderParam.getId());
|
|
|
|
|
- if (workOrder != null) {
|
|
|
|
|
-
|
|
|
|
|
- BeanUtils.copyProperties(workOrder, vo);
|
|
|
|
|
-
|
|
|
|
|
- //调度员联系电话
|
|
|
|
|
- User user = commonService.findUser(workOrder.getCreater());
|
|
|
|
|
- if (user != null) {
|
|
|
|
|
- vo.setDispatcherPhone(user.getMobile());
|
|
|
|
|
- }
|
|
|
|
|
- //卸车点联系人电话
|
|
|
|
|
- WorkSpot workSpot = workSpotService.getById(workOrder.getSpotId());
|
|
|
|
|
- if (workSpot != null) {
|
|
|
|
|
- vo.setXiecheContactName(workSpot.getContactName());
|
|
|
|
|
- vo.setXiecheContactPhone(workSpot.getContactPhone());
|
|
|
|
|
- vo.setSpotAddress(workSpot.getAddress());
|
|
|
|
|
- }
|
|
|
|
|
- //取ExecuteTime第一条GPS上报时间作为开始运单时间,累计用时
|
|
|
|
|
- LocationVO locationVO = commonService.getLocationByDate(workOrder.getTruckId(), workOrder.getExecuteTime());
|
|
|
|
|
- if (locationVO != null) {
|
|
|
|
|
- vo.setTime(DateUtils.betweenTime(locationVO.getDate(), LocalDateTime.now()));
|
|
|
|
|
- vo.setLatitude(locationVO.getLatitude());
|
|
|
|
|
- vo.setLongitude(locationVO.getLongitude());
|
|
|
|
|
- } else {
|
|
|
|
|
- vo.setTime(DateUtils.betweenTime(workOrder.getExecuteTime(), LocalDateTime.now()));
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- WorkOrderReadinfo workOrderReadinfo = workOrderReadinfoService.findWorkOrderReadinfo(userId, workOrderParam.getId());
|
|
|
|
|
- if (workOrderReadinfo != null) {
|
|
|
|
|
- vo.setReadFlag(1);
|
|
|
|
|
- }
|
|
|
|
|
- List<String> routeGps = commonService.getLocationtrip(workOrder.getTruckId(), workOrder.getGotoSpotTime(), LocalDateTime.now());
|
|
|
|
|
- vo.setRouteGps(routeGps);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
|
|
+ WorkOrderVO vo = commonService.findOrderInfo(userId, userName, workOrderParam);
|
|
|
return new Result<>(vo);
|
|
return new Result<>(vo);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -147,14 +120,14 @@ public class WorkerController {
|
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
|
}
|
|
}
|
|
|
WorkCycle workCycle = workCycleService.findCurrentWorkCycle(workOrder.getTruckId());
|
|
WorkCycle workCycle = workCycleService.findCurrentWorkCycle(workOrder.getTruckId());
|
|
|
- if (workCycle != null) {
|
|
|
|
|
-
|
|
|
|
|
|
|
+ if (workCycle == null) {
|
|
|
|
|
+ return new Result(ErrCodeEnum.BAD_PARAM.getCode(), "当前车辆无行程周期");
|
|
|
}
|
|
}
|
|
|
List<WorkOrder> list = workOrderService.findCycleOrderList(workCycle.getId(), null, null);
|
|
List<WorkOrder> list = workOrderService.findCycleOrderList(workCycle.getId(), null, null);
|
|
|
return new Result<>(list);
|
|
return new Result<>(list);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- @ApiOperation(value = "首页订单列表", notes = "装车运单,只展示当前行车周期未完成的;除非当前已收车,则按排序展示第1个未完成的装车运单;卸车运单,重车时,才展示 ")
|
|
|
|
|
|
|
+ @ApiOperation(value = "首页订单列表", notes = "查询未完成的所有订单列表,按照计划到达时间由早到晚排序")
|
|
|
@PostMapping("/find_index_order_list")
|
|
@PostMapping("/find_index_order_list")
|
|
|
public Result<List<WorkOrderVO>> findIndexOrderList(@RequestHeader(value = "orgId") Long orgId,
|
|
public Result<List<WorkOrderVO>> findIndexOrderList(@RequestHeader(value = "orgId") Long orgId,
|
|
|
@RequestHeader(value = "userId") Long userId, @RequestBody WorkOrder workOrder) {
|
|
@RequestHeader(value = "userId") Long userId, @RequestBody WorkOrder workOrder) {
|
|
@@ -162,7 +135,7 @@ public class WorkerController {
|
|
|
if (workOrder == null || workOrder.getTruckId() == null) {
|
|
if (workOrder == null || workOrder.getTruckId() == null) {
|
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
|
}
|
|
}
|
|
|
- List<WorkOrderVO> list = workOrderService.findWorkOrderList(userId, workOrder);
|
|
|
|
|
|
|
+ List<WorkOrderVO> list = workOrderService.findNoCompleteOrderList(userId, workOrder);
|
|
|
return new Result<>(list);
|
|
return new Result<>(list);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -188,7 +161,7 @@ public class WorkerController {
|
|
|
workOrderReadinfo.setCreater(userId);
|
|
workOrderReadinfo.setCreater(userId);
|
|
|
workOrderReadinfo.setCreaterName(utf8Name);
|
|
workOrderReadinfo.setCreaterName(utf8Name);
|
|
|
workOrderReadinfo.setCreateDate(LocalDateTime.now());
|
|
workOrderReadinfo.setCreateDate(LocalDateTime.now());
|
|
|
- boolean flag = workOrderReadinfoService.saveOrUpdate(workOrderReadinfo);
|
|
|
|
|
|
|
+ boolean flag = workOrderReadinfoService.addWorkOrderReadinfo(workOrderReadinfo);
|
|
|
return new Result<>(flag);
|
|
return new Result<>(flag);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -207,13 +180,20 @@ public class WorkerController {
|
|
|
|
|
|
|
|
WorkCycle workCycle = workCycleService.getById(restInfo.getCycleId());
|
|
WorkCycle workCycle = workCycleService.getById(restInfo.getCycleId());
|
|
|
if (workCycle != null) {
|
|
if (workCycle != null) {
|
|
|
- BeanUtils.copyProperties(workCycle, restInfo);
|
|
|
|
|
|
|
+ restInfo.setCarNumber(workCycle.getCarNumber());
|
|
|
|
|
+ restInfo.setOrgId(workCycle.getOrgId());
|
|
|
|
|
+ restInfo.setOrgName(workCycle.getOrgName());
|
|
|
|
|
+ restInfo.setTruckId(workCycle.getTruckId());
|
|
|
|
|
+ restInfo.setCycleId(workCycle.getId());
|
|
|
restInfo.setCycleId(workCycle.getId());
|
|
restInfo.setCycleId(workCycle.getId());
|
|
|
}
|
|
}
|
|
|
restInfo.setCreater(userId);
|
|
restInfo.setCreater(userId);
|
|
|
restInfo.setCreaterName(utf8Name);
|
|
restInfo.setCreaterName(utf8Name);
|
|
|
restInfo.setCreateDate(LocalDateTime.now());
|
|
restInfo.setCreateDate(LocalDateTime.now());
|
|
|
Boolean flag = restInfoService.save(restInfo);
|
|
Boolean flag = restInfoService.save(restInfo);
|
|
|
|
|
+ workLogService.logWorkCycleInfo(WorkLogTypeEnum.REST_START, null, workCycle.getId() + "", workCycle.getTruckId() + "");
|
|
|
|
|
+ workLogService.logWorkCycleInfo(WorkLogTypeEnum.REST_START, null, workCycle.getId() + "", workCycle.getTruckId() + "",
|
|
|
|
|
+ DateUtils.betweenTime(restInfo.getStartTime(), restInfo.getEndTime()));
|
|
|
return new Result<>(flag);
|
|
return new Result<>(flag);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -232,13 +212,19 @@ public class WorkerController {
|
|
|
|
|
|
|
|
WorkCycle workCycle = workCycleService.getById(truckRepairInfo.getCycleId());
|
|
WorkCycle workCycle = workCycleService.getById(truckRepairInfo.getCycleId());
|
|
|
if (workCycle != null) {
|
|
if (workCycle != null) {
|
|
|
- BeanUtils.copyProperties(workCycle, truckRepairInfo);
|
|
|
|
|
|
|
+ truckRepairInfo.setCarNumber(workCycle.getCarNumber());
|
|
|
|
|
+ truckRepairInfo.setOrgId(workCycle.getOrgId());
|
|
|
|
|
+ truckRepairInfo.setOrgName(workCycle.getOrgName());
|
|
|
|
|
+ truckRepairInfo.setTruckId(workCycle.getTruckId());
|
|
|
truckRepairInfo.setCycleId(workCycle.getId());
|
|
truckRepairInfo.setCycleId(workCycle.getId());
|
|
|
}
|
|
}
|
|
|
truckRepairInfo.setCreater(userId);
|
|
truckRepairInfo.setCreater(userId);
|
|
|
truckRepairInfo.setCreaterName(utf8Name);
|
|
truckRepairInfo.setCreaterName(utf8Name);
|
|
|
truckRepairInfo.setCreateDate(LocalDateTime.now());
|
|
truckRepairInfo.setCreateDate(LocalDateTime.now());
|
|
|
Boolean flag = truckRepairInfoService.save(truckRepairInfo);
|
|
Boolean flag = truckRepairInfoService.save(truckRepairInfo);
|
|
|
|
|
+ workLogService.logWorkCycleInfo(WorkLogTypeEnum.REPAIR_START, null, workCycle.getId() + "", workCycle.getTruckId() + "");
|
|
|
|
|
+ workLogService.logWorkCycleInfo(WorkLogTypeEnum.REPAIR_START, null, workCycle.getId() + "", workCycle.getTruckId() + "",
|
|
|
|
|
+ DateUtils.betweenTime(truckRepairInfo.getStartTime(), truckRepairInfo.getEndTime()));
|
|
|
return new Result<>(flag);
|
|
return new Result<>(flag);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -257,7 +243,7 @@ public class WorkerController {
|
|
|
@PostMapping("/add_truck_check_info")
|
|
@PostMapping("/add_truck_check_info")
|
|
|
public Result add_truck_check_info(@RequestHeader(value = "userId") Long userId, @RequestHeader(value = "userName") String userName, @RequestBody TruckCheckInfo truckCheckInfo) {
|
|
public Result add_truck_check_info(@RequestHeader(value = "userId") Long userId, @RequestHeader(value = "userName") String userName, @RequestBody TruckCheckInfo truckCheckInfo) {
|
|
|
log.info("上报车辆检查信息,/tms/worker/add_truck_check_info,参数:{}", JSON.toJSONString(truckCheckInfo));
|
|
log.info("上报车辆检查信息,/tms/worker/add_truck_check_info,参数:{}", JSON.toJSONString(truckCheckInfo));
|
|
|
- if (truckCheckInfo == null || truckCheckInfo.getType() == null || truckCheckInfo.getTruckId() == null || StringUtils.isBlank(truckCheckInfo.getTrip()) || StringUtils.isBlank(truckCheckInfo.getCheckUrl()) || StringUtils.isBlank(truckCheckInfo.getTripUrl())) {
|
|
|
|
|
|
|
+ if (truckCheckInfo == null || truckCheckInfo.getType() == null || truckCheckInfo.getTruckId() == null || truckCheckInfo.getTrip() == null || StringUtils.isBlank(truckCheckInfo.getCheckUrl()) || StringUtils.isBlank(truckCheckInfo.getTripUrl())) {
|
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
|
}
|
|
}
|
|
|
String utf8Name = userName;
|
|
String utf8Name = userName;
|
|
@@ -326,10 +312,23 @@ public class WorkerController {
|
|
|
@ApiOperation(value = "1.开始执行装卸车运单", notes = "点击-开始执行装卸车运单-按钮")
|
|
@ApiOperation(value = "1.开始执行装卸车运单", notes = "点击-开始执行装卸车运单-按钮")
|
|
|
@PostMapping("/start_order")
|
|
@PostMapping("/start_order")
|
|
|
public Result startOrder(@RequestHeader(value = "userId") Long userId, @RequestHeader(value = "userName") String userName, @RequestBody WorkOrder workOrder) {
|
|
public Result startOrder(@RequestHeader(value = "userId") Long userId, @RequestHeader(value = "userName") String userName, @RequestBody WorkOrder workOrder) {
|
|
|
- log.info("开始执行运单,/tms/worker/start_order,参数:{}", JSON.toJSONString(workOrder));
|
|
|
|
|
- if (workOrder == null || workOrder.getId() == null || StringUtils.isBlank(workOrder.getStartTrip()) || StringUtils.isBlank(workOrder.getStartTripUrl())) {
|
|
|
|
|
|
|
+ log.info("开始执行装卸车运单,/tms/worker/start_order,参数:{}", JSON.toJSONString(workOrder));
|
|
|
|
|
+ if (workOrder == null || workOrder.getId() == null || workOrder.getStartTrip() == null || StringUtils.isBlank(workOrder.getStartTripUrl())) {
|
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ WorkOrder workOrderCheck = workOrderService.getById(workOrder.getId());
|
|
|
|
|
+
|
|
|
|
|
+ Truck truck = truckService.getById(workOrderCheck.getTruckId());
|
|
|
|
|
+ if (truck.getTmsStatus().equals(TmsTruckStatus.RETURNING)) {
|
|
|
|
|
+ return new Result(ErrCodeEnum.CAN_NOT_DO_ORDER.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ if (workOrderCheck.getOrderStatus().equals(WorkOrderEnum.CONCELED.orderStatus())) {
|
|
|
|
|
+ return new Result(ErrCodeEnum.CLOSED_ORDER.getCode(), ErrCodeEnum.CLOSED_ORDER.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
String utf8Name = userName;
|
|
String utf8Name = userName;
|
|
|
try {
|
|
try {
|
|
|
utf8Name = URLDecoder.decode(userName, "UTF-8");
|
|
utf8Name = URLDecoder.decode(userName, "UTF-8");
|
|
@@ -338,16 +337,22 @@ public class WorkerController {
|
|
|
//1.车辆进入出车前检车状态,2.订单进入前往装车点状态,3.并记行车日志,4.创建行程周期
|
|
//1.车辆进入出车前检车状态,2.订单进入前往装车点状态,3.并记行车日志,4.创建行程周期
|
|
|
workOrder.setExecuteTime(LocalDateTime.now());
|
|
workOrder.setExecuteTime(LocalDateTime.now());
|
|
|
Boolean flag = workerService.startOrder(userId, utf8Name, workOrder);
|
|
Boolean flag = workerService.startOrder(userId, utf8Name, workOrder);
|
|
|
|
|
+ if (!flag) {
|
|
|
|
|
+ String str = workOrderCheck.getType() == 1 ? ",当前车辆为重车" : ",当前车辆为空车";
|
|
|
|
|
+ return new Result<>(ErrCodeEnum.EXECUTE_WEIGHT_ERROR.getCode(),
|
|
|
|
|
+ ErrCodeEnum.EXECUTE_WEIGHT_ERROR.getMessage() + str);
|
|
|
|
|
+ }
|
|
|
return new Result<>(flag);
|
|
return new Result<>(flag);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@ApiOperation(value = "2.完成出车前检查,开始装卸车作业", notes = "点击-完成出车前检查,开始出车作业-按钮")
|
|
@ApiOperation(value = "2.完成出车前检查,开始装卸车作业", notes = "点击-完成出车前检查,开始出车作业-按钮")
|
|
|
@PostMapping("/start_work")
|
|
@PostMapping("/start_work")
|
|
|
public Result starWork(@RequestHeader(value = "userId") Long userId, @RequestHeader(value = "userName") String userName, @RequestBody TruckCheckInfo truckCheckInfo) {
|
|
public Result starWork(@RequestHeader(value = "userId") Long userId, @RequestHeader(value = "userName") String userName, @RequestBody TruckCheckInfo truckCheckInfo) {
|
|
|
- log.info("完成出车前检查,开始作业,/tms/worker/start_work,参数:{}", JSON.toJSONString(truckCheckInfo));
|
|
|
|
|
- if (truckCheckInfo == null || truckCheckInfo.getOrderId() == null || truckCheckInfo.getType() == null) {
|
|
|
|
|
|
|
+ log.info("完成出车前检查,开始装卸车作业,/tms/worker/start_work,参数:{}", JSON.toJSONString(truckCheckInfo));
|
|
|
|
|
+ if (truckCheckInfo == null || truckCheckInfo.getType() == null) {
|
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
//1.车辆进入作业中状态,2.订单进入前往装车点状态,3.并记行车日志
|
|
//1.车辆进入作业中状态,2.订单进入前往装车点状态,3.并记行车日志
|
|
|
|
|
|
|
|
//出车检查
|
|
//出车检查
|
|
@@ -358,16 +363,45 @@ public class WorkerController {
|
|
|
}
|
|
}
|
|
|
//出车检查
|
|
//出车检查
|
|
|
if (truckCheckInfo.getType() == 2) {
|
|
if (truckCheckInfo.getType() == 2) {
|
|
|
- if (StringUtils.isBlank(truckCheckInfo.getTrip()) || StringUtils.isBlank(truckCheckInfo.getTripUrl()) || StringUtils.isBlank(truckCheckInfo.getCheckUrl())) {
|
|
|
|
|
|
|
+ if (truckCheckInfo.getTrip() == null || StringUtils.isBlank(truckCheckInfo.getTripUrl()) || StringUtils.isBlank(truckCheckInfo.getCheckUrl())) {
|
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
+ queryWrapper.eq("truck_id", truckCheckInfo.getTruckId());
|
|
|
|
|
+ queryWrapper.and(wrapper -> wrapper.eq("order_status", WorkOrderEnum.GOTO_ZHUANGCHE_SPOT.orderStatus())
|
|
|
|
|
+ .or().eq("order_status", WorkOrderEnum.ZHUANGCHE_WAIT.orderStatus()));
|
|
|
|
|
+ WorkOrder workOrder = workOrderService.getOne(queryWrapper);
|
|
|
|
|
+ log.info("start_work workOrder:{}", JSON.toJSONString(workOrder));
|
|
|
|
|
+ if (workOrder == null) {
|
|
|
|
|
+ log.error("无执行中装车运单 不能执行出车检查:{}", JSON.toJSONString(truckCheckInfo));
|
|
|
|
|
+ return new Result(ErrCodeEnum.BAD_PARAM.getCode(), "当前不能执行出车检查");
|
|
|
|
|
+ }
|
|
|
|
|
+ truckCheckInfo.setOrderId(workOrder.getId());
|
|
|
String utf8Name = userName;
|
|
String utf8Name = userName;
|
|
|
try {
|
|
try {
|
|
|
utf8Name = URLDecoder.decode(userName, "UTF-8");
|
|
utf8Name = URLDecoder.decode(userName, "UTF-8");
|
|
|
} catch (UnsupportedEncodingException ignored) {
|
|
} catch (UnsupportedEncodingException ignored) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ //1.车辆进入出车前检车状态
|
|
|
|
|
+ Truck truck = truckService.getById(workOrder.getTruckId());
|
|
|
|
|
+ truck.setTmsStatus(TmsTruckStatus.WORKING);
|
|
|
|
|
+ truckService.updateById(truck);
|
|
|
|
|
+ //2.插入车辆检查数据
|
|
|
|
|
+ BeanUtils.copyProperties(workOrder, truckCheckInfo);
|
|
|
|
|
+ truckCheckInfo.setCreater(userId);
|
|
|
|
|
+ truckCheckInfo.setCreaterName(utf8Name);
|
|
|
|
|
+ truckCheckInfo.setCreateDate(LocalDateTime.now());
|
|
|
|
|
+ truckCheckInfoService.save(truckCheckInfo);
|
|
|
|
|
+
|
|
|
|
|
+ if (truckCheckInfo.getOrderId() != null) {
|
|
|
|
|
+ WorkOrder workOrderCheck = workOrderService.getById(truckCheckInfo.getOrderId());
|
|
|
|
|
+ if (workOrderCheck.getOrderStatus().equals(WorkOrderEnum.CONCELED.orderStatus())) {
|
|
|
|
|
+ return new Result(ErrCodeEnum.CLOSED_ORDER.getCode(), ErrCodeEnum.CLOSED_ORDER.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
Boolean flag = workerService.starWork(userId, utf8Name, truckCheckInfo);
|
|
Boolean flag = workerService.starWork(userId, utf8Name, truckCheckInfo);
|
|
|
return new Result<>(flag);
|
|
return new Result<>(flag);
|
|
|
}
|
|
}
|
|
@@ -379,11 +413,18 @@ public class WorkerController {
|
|
|
if (workOrder == null || workOrder.getId() == null) {
|
|
if (workOrder == null || workOrder.getId() == null) {
|
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ WorkOrder workOrderCheck = workOrderService.getById(workOrder.getId());
|
|
|
|
|
+ if (workOrderCheck.getOrderStatus().equals(WorkOrderEnum.CONCELED.orderStatus())) {
|
|
|
|
|
+ return new Result(ErrCodeEnum.CLOSED_ORDER.getCode(), ErrCodeEnum.CLOSED_ORDER.getMessage());
|
|
|
|
|
+ }
|
|
|
String utf8Name = userName;
|
|
String utf8Name = userName;
|
|
|
try {
|
|
try {
|
|
|
utf8Name = URLDecoder.decode(userName, "UTF-8");
|
|
utf8Name = URLDecoder.decode(userName, "UTF-8");
|
|
|
} catch (UnsupportedEncodingException ignored) {
|
|
} catch (UnsupportedEncodingException ignored) {
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
//1.车辆进入作业中状态,2.订单进入装车等待状态,3.并记行车日志
|
|
//1.车辆进入作业中状态,2.订单进入装车等待状态,3.并记行车日志
|
|
|
Boolean flag = workerService.startWait(userId, utf8Name, workOrder);
|
|
Boolean flag = workerService.startWait(userId, utf8Name, workOrder);
|
|
|
return new Result<>(flag);
|
|
return new Result<>(flag);
|
|
@@ -392,15 +433,22 @@ public class WorkerController {
|
|
|
@ApiOperation(value = "4.结束等待,开始上传磅单", notes = "点击结束等待,开始上传磅单按钮")
|
|
@ApiOperation(value = "4.结束等待,开始上传磅单", notes = "点击结束等待,开始上传磅单按钮")
|
|
|
@PostMapping("/submit_result")
|
|
@PostMapping("/submit_result")
|
|
|
public Result submitResult(@RequestHeader(value = "userId") Long userId, @RequestHeader(value = "userName") String userName, @RequestBody WorkOrder workOrder) {
|
|
public Result submitResult(@RequestHeader(value = "userId") Long userId, @RequestHeader(value = "userName") String userName, @RequestBody WorkOrder workOrder) {
|
|
|
- log.info("上报成果,/tms/worker/submit_result,参数:{}", JSON.toJSONString(workOrder));
|
|
|
|
|
|
|
+ log.info("结束等待,开始上传磅单,/tms/worker/submit_result,参数:{}", JSON.toJSONString(workOrder));
|
|
|
if (workOrder == null || workOrder.getId() == null) {
|
|
if (workOrder == null || workOrder.getId() == null) {
|
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ WorkOrder workOrderCheck = workOrderService.getById(workOrder.getId());
|
|
|
|
|
+ if (workOrderCheck.getOrderStatus().equals(WorkOrderEnum.CONCELED.orderStatus())) {
|
|
|
|
|
+ return new Result(ErrCodeEnum.CLOSED_ORDER.getCode(), ErrCodeEnum.CLOSED_ORDER.getMessage());
|
|
|
|
|
+ }
|
|
|
String utf8Name = userName;
|
|
String utf8Name = userName;
|
|
|
try {
|
|
try {
|
|
|
utf8Name = URLDecoder.decode(userName, "UTF-8");
|
|
utf8Name = URLDecoder.decode(userName, "UTF-8");
|
|
|
} catch (UnsupportedEncodingException ignored) {
|
|
} catch (UnsupportedEncodingException ignored) {
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
//1.车辆进入作业中状态,2.订单进入成果报备中状态,3.并记行车日志
|
|
//1.车辆进入作业中状态,2.订单进入成果报备中状态,3.并记行车日志
|
|
|
Boolean flag = workerService.submitResult(userId, utf8Name, workOrder);
|
|
Boolean flag = workerService.submitResult(userId, utf8Name, workOrder);
|
|
|
return new Result<>(flag);
|
|
return new Result<>(flag);
|
|
@@ -419,7 +467,7 @@ public class WorkerController {
|
|
|
utf8Name = URLDecoder.decode(userName, "UTF-8");
|
|
utf8Name = URLDecoder.decode(userName, "UTF-8");
|
|
|
} catch (UnsupportedEncodingException ignored) {
|
|
} catch (UnsupportedEncodingException ignored) {
|
|
|
}
|
|
}
|
|
|
- //TODO 1.车辆进入收车中状态,2.订单完成状态,3.并记行车日志
|
|
|
|
|
|
|
+ //1.车辆进入收车中状态,2.订单完成状态,3.并记行车日志
|
|
|
Boolean flag = workerService.finishOrder(userId, utf8Name, workOrder);
|
|
Boolean flag = workerService.finishOrder(userId, utf8Name, workOrder);
|
|
|
return new Result<>(flag);
|
|
return new Result<>(flag);
|
|
|
}
|
|
}
|
|
@@ -427,7 +475,7 @@ public class WorkerController {
|
|
|
@ApiOperation(value = "6.上报已到达收车点", notes = "点击上报已到达收车点")
|
|
@ApiOperation(value = "6.上报已到达收车点", notes = "点击上报已到达收车点")
|
|
|
@PostMapping("/arrive_terminal")
|
|
@PostMapping("/arrive_terminal")
|
|
|
public Result arriveTerminal(@RequestHeader(value = "userId") Long userId, @RequestHeader(value = "userName") String userName, @RequestBody WorkOrder workOrder) {
|
|
public Result arriveTerminal(@RequestHeader(value = "userId") Long userId, @RequestHeader(value = "userName") String userName, @RequestBody WorkOrder workOrder) {
|
|
|
- log.info("上报已到达收车点,/tms/worker/arrive_shouchedian,参数:{}", JSON.toJSONString(workOrder));
|
|
|
|
|
|
|
+ log.info("上报已到达收车点,/tms/worker/arrive_terminal,参数:{}", JSON.toJSONString(workOrder));
|
|
|
if (workOrder == null || workOrder.getId() == null) {
|
|
if (workOrder == null || workOrder.getId() == null) {
|
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
|
}
|
|
}
|
|
@@ -436,25 +484,55 @@ public class WorkerController {
|
|
|
utf8Name = URLDecoder.decode(userName, "UTF-8");
|
|
utf8Name = URLDecoder.decode(userName, "UTF-8");
|
|
|
} catch (UnsupportedEncodingException ignored) {
|
|
} catch (UnsupportedEncodingException ignored) {
|
|
|
}
|
|
}
|
|
|
- //TODO 1.车辆进入收车后检查状态,2.并记行车日志
|
|
|
|
|
|
|
+ //1.车辆进入收车后检查状态,2.并记行车日志
|
|
|
Boolean flag = workerService.arriveTerminal(userId, utf8Name, workOrder);
|
|
Boolean flag = workerService.arriveTerminal(userId, utf8Name, workOrder);
|
|
|
return new Result<>(flag);
|
|
return new Result<>(flag);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@ApiOperation(value = "7.完成检查,结束此次行程", notes = "点击完成检查,结束此次行程")
|
|
@ApiOperation(value = "7.完成检查,结束此次行程", notes = "点击完成检查,结束此次行程")
|
|
|
@PostMapping("/finish_work")
|
|
@PostMapping("/finish_work")
|
|
|
- public Result finishWork(@RequestHeader(value = "userId") Long userId, @RequestHeader(value = "userName") String userName, @RequestBody WorkOrder workOrder) {
|
|
|
|
|
- log.info("上报已到达收车点,/tms/worker/arrive_shouchedian,参数:{}", JSON.toJSONString(workOrder));
|
|
|
|
|
- if (workOrder == null || workOrder.getId() == null) {
|
|
|
|
|
|
|
+ public Result finishWork(@RequestHeader(value = "userId") Long userId, @RequestHeader(value = "userName") String userName, @RequestBody TruckCheckInfo truckCheckInfo) {
|
|
|
|
|
+ log.info("完成检查,结束此次行程,/tms/worker/finish_work,参数:{}", JSON.toJSONString(truckCheckInfo));
|
|
|
|
|
+ if (truckCheckInfo == null || truckCheckInfo.getOrderId() == null || truckCheckInfo.getType() == null) {
|
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
return new Result(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
|
}
|
|
}
|
|
|
|
|
+ WorkOrder workOrder = workOrderService.getById(truckCheckInfo.getOrderId());
|
|
|
|
|
+ if (workOrder != null) {
|
|
|
|
|
+ workOrder.setEndTripUrl(truckCheckInfo.getTripUrl());
|
|
|
|
|
+ workOrder.setEndTrip(truckCheckInfo.getTrip());
|
|
|
|
|
+ }
|
|
|
String utf8Name = userName;
|
|
String utf8Name = userName;
|
|
|
try {
|
|
try {
|
|
|
utf8Name = URLDecoder.decode(userName, "UTF-8");
|
|
utf8Name = URLDecoder.decode(userName, "UTF-8");
|
|
|
} catch (UnsupportedEncodingException ignored) {
|
|
} catch (UnsupportedEncodingException ignored) {
|
|
|
}
|
|
}
|
|
|
- //TODO 1.车辆进入已经收车状态,3.并记行车日志,4.结束当前行程周期(从收车中到出车检查也结束当前行程周期)
|
|
|
|
|
|
|
+
|
|
|
|
|
+ //保存收车检查信息
|
|
|
|
|
+ truckCheckInfo.setCreater(userId);
|
|
|
|
|
+ truckCheckInfo.setCreaterName(utf8Name);
|
|
|
|
|
+ truckCheckInfo.setCreateDate(LocalDateTime.now());
|
|
|
|
|
+ truckCheckInfoService.save(truckCheckInfo);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ // 1.车辆进入已经收车状态,3.并记行车日志,4.结束当前行程周期(从收车中到出车检查也结束当前行程周期)
|
|
|
Boolean flag = workerService.finishWork(userId, utf8Name, workOrder);
|
|
Boolean flag = workerService.finishWork(userId, utf8Name, workOrder);
|
|
|
return new Result<>(flag);
|
|
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);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|