diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RequestProcessor.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RequestProcessor.java index 843a9e20b..fcf562561 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RequestProcessor.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RequestProcessor.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.api.robot; import cn.hutool.core.map.MapUtil; import cn.iocoder.yudao.module.infra.api.websocket.WebSocketSenderApi; +import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RobotTaskStatusApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RobotTaskStatusApiImpl.java index 82cb07491..fdf0bfdb9 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RobotTaskStatusApiImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RobotTaskStatusApiImpl.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.system.api.robot; import cn.hutool.core.util.ObjectUtil; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; import cn.iocoder.yudao.module.infra.api.websocket.WebSocketSenderApi; @@ -11,6 +12,7 @@ import cn.iocoder.yudao.module.system.api.robot.dto.RobotCompleteTaskDTO; import cn.iocoder.yudao.module.system.constant.path.PathPlanningTopicConstant; import cn.iocoder.yudao.module.system.constant.robot.RobotExecutionStateConstant; import cn.iocoder.yudao.module.system.constant.robot.RobotTaskChcheConstant; +import cn.iocoder.yudao.module.system.controller.admin.log.vo.RobotTaskDetailActionLogSaveReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.log.RobotTaskDetailActionLogDO; import cn.iocoder.yudao.module.system.dal.dataobject.houselocation.WareHouseLocationDO; import cn.iocoder.yudao.module.system.dal.dataobject.robot.*; @@ -29,6 +31,7 @@ import cn.iocoder.yudao.module.system.enums.robot.task.RobotStatusCodeEnum; import cn.iocoder.yudao.module.system.enums.robot.task.RobotTaskStageEnum; import cn.iocoder.yudao.module.system.enums.wait.WaitStatusEnum; import cn.iocoder.yudao.module.system.service.information.DeviceInformationService; +import cn.iocoder.yudao.module.system.service.log.RobotTaskDetailActionLogService; import cn.iocoder.yudao.module.system.service.path.PathPlanningService; import cn.iocoder.yudao.module.system.service.robot.RobotInformationService; import cn.iocoder.yudao.module.system.service.robot.RobotTaskDetailService; @@ -67,6 +70,9 @@ public class RobotTaskStatusApiImpl implements RobotTaskStatusApi { @Resource private RobotTaskDetailActionLogMapper taskDetailActionLogMapper; + @Resource + private RobotTaskDetailActionLogService taskDetailActionLogService; + @Autowired private RobotInformationService robotInformationService; @@ -134,17 +140,37 @@ public class RobotTaskStatusApiImpl implements RobotTaskStatusApi { } } + /** + * 上一条明细设置为完成 + * @param mac + * @return + */ + public RobotTaskDetailActionLogDO setLastLogDone(String mac){ + String robotNo = robotInformationService.getRobotNoByMac(mac); + RobotTaskDetailActionLogDO lastLog = taskDetailActionLogService.getLastTaskByRobotNo(robotNo); + if (ObjectUtil.isNotEmpty(lastLog)) { + lastLog.setEndTime(LocalDateTime.now()); + lastLog.setActionStatus(ActionStatusEnum.DONE.getType()); + RobotTaskDetailActionLogSaveReqVO updateObj = BeanUtils.toBean(lastLog, RobotTaskDetailActionLogSaveReqVO.class); + taskDetailActionLogService.updateTaskDetailActionLog(updateObj); + } + return lastLog; + } + /** * @param robotCompleteTaskDTO */ private void robotTaskDoing(RobotCompleteTaskDTO robotCompleteTaskDTO, String robotDoingActionKey) { + String robotNo = robotInformationService.getRobotNoByMac(robotCompleteTaskDTO.getMac()); + RobotTaskDetailActionLogDO lastLog = setLastLogDone(robotCompleteTaskDTO.getMac()); + if (PathTaskTypeEnum.AUTO_CHARGE.getType().equals(robotCompleteTaskDTO.getOrderType())) { - chargeDoing(robotCompleteTaskDTO, robotDoingActionKey); + chargeDoing(robotCompleteTaskDTO, robotDoingActionKey,lastLog); } else if (PathTaskTypeEnum.MOVE_TO_WAIT.getType().equals(robotCompleteTaskDTO.getOrderType())) { RobotTaskDetailActionLogDO logOne = new RobotTaskDetailActionLogDO(); logOne.setActionMsg("车辆正在前往等待点"); - String robotNo = robotInformationService.getRobotNoByMac(robotCompleteTaskDTO.getMac()); logOne.setRobotNo(robotNo); + logOne.setStartTime(LocalDateTime.now()); logOne.setTaskDetailId(robotCompleteTaskDTO.getOrderId()); taskDetailActionLogMapper.insert(logOne); redisUtil.set(robotDoingActionKey, logOne.getActionMsg(), doingActionCacheTime); @@ -191,6 +217,7 @@ public class RobotTaskStatusApiImpl implements RobotTaskStatusApi { * @param robotCompleteTaskDTO */ private void robotTaskDone(RobotCompleteTaskDTO robotCompleteTaskDTO) { + setLastLogDone(robotCompleteTaskDTO.getMac()); //todo 后面考虑下充电,车机目前对充电的逻辑未定义 if (PathTaskTypeEnum.MOVE.getType().equals(robotCompleteTaskDTO.getOrderType()) || PathTaskTypeEnum.MOVE_TO_WAIT_STOP.getType().equals(robotCompleteTaskDTO.getOrderType()) @@ -302,21 +329,27 @@ public class RobotTaskStatusApiImpl implements RobotTaskStatusApi { * * @param robotCompleteTaskDTO */ - private void chargeDoing(RobotCompleteTaskDTO robotCompleteTaskDTO, String robotDoingActionKey) { + private void chargeDoing(RobotCompleteTaskDTO robotCompleteTaskDTO, String robotDoingActionKey,RobotTaskDetailActionLogDO lastLog) { RobotTaskDetailActionLogDO logOne = new RobotTaskDetailActionLogDO(); RobotCommandStateDTO commandStatus = robotCompleteTaskDTO.getCommandStatus(); Integer taskStatus = ChargeTaskStatusEnum.CHARGEING.getType(); if (ObjectUtil.isNotEmpty(commandStatus) && CommandTypeEnum.MOVE_POSES.getType().equals(commandStatus.getCommandType())) { RobotChargeLogDO robotChargeLogDO = chargeLogMapper.selectById(robotCompleteTaskDTO.getOrderId()); logOne.setActionMsg("车辆正在前往充电点" + robotChargeLogDO.getDeviceNo()); + logOne.setTaskStage(RobotTaskStageEnum.MOVE.getType()); taskStatus = ChargeTaskStatusEnum.DOING.getType(); } else if (ObjectUtil.isNotEmpty(commandStatus)) { logOne.setActionMsg("车辆正在充电"); + logOne.setTaskStage(RobotTaskStageEnum.CHARGEING.getType()); } String robotNo = robotInformationService.getRobotNoByMac(robotCompleteTaskDTO.getMac()); logOne.setRobotNo(robotNo); logOne.setTaskDetailId(robotCompleteTaskDTO.getOrderId()); + + logOne.setCommandType(lastLog.getCommandType()); + logOne.setTaskNo(lastLog.getTaskNo()); + logOne.setStartTime(LocalDateTime.now()); taskDetailActionLogMapper.insert(logOne); redisUtil.set(robotDoingActionKey, logOne.getActionMsg(), doingActionCacheTime); RobotChargeLogDO build = RobotChargeLogDO @@ -380,6 +413,8 @@ public class RobotTaskStatusApiImpl implements RobotTaskStatusApi { RobotTaskDetailDO robotTaskDetailDO = robotTaskDetailMapper.selectById(robotCompleteTaskDTO.getOrderId()); Long taskStage = robotTaskDetailDO.getTaskStage(); + RobotTaskDO robotTask = robotTaskMapper.selectById(robotTaskDetailDO.getRobotTaskId()); + RobotCommandStateDTO commandStatus = robotCompleteTaskDTO.getCommandStatus(); String commandType = commandStatus.getCommandType(); @@ -441,6 +476,10 @@ public class RobotTaskStatusApiImpl implements RobotTaskStatusApi { String robotNo = robotInformationService.getRobotNoByMac(robotCompleteTaskDTO.getMac()); logOne.setRobotNo(robotNo); logOne.setTaskDetailId(robotCompleteTaskDTO.getOrderId()); + logOne.setTaskStage(robotTaskDetailDO.getTaskStage()); + logOne.setCommandType(PathTaskTypeEnum.getTaskType(robotTaskDetailDO.getTaskType())); + logOne.setTaskNo(robotTask.getTaskNo()); + logOne.setStartTime(LocalDateTime.now()); taskDetailActionLogMapper.insert(logOne); redisUtil.set(robotDoingActionKey, logOne.getActionMsg(), doingActionCacheTime); robotTaskDetailMapper.updateById(robotTaskDetailDO); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/log/vo/RobotTaskDetailActionLogPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/log/vo/RobotTaskDetailActionLogPageReqVO.java index 2e946c8a5..6d49d4036 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/log/vo/RobotTaskDetailActionLogPageReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/log/vo/RobotTaskDetailActionLogPageReqVO.java @@ -26,7 +26,7 @@ public class RobotTaskDetailActionLogPageReqVO extends PageParam { @Schema(description = "车辆当前正在做的动作") private String actionMsg; - @Schema(description = "动作状态(0:未开始、1:正在进行、2:完成)", example = "2") + @Schema(description = "动作状态(0:未开始、1:执行中、2:已完成、3:已取消、4:异常)", example = "2") private Integer actionStatus; @Schema(description = "AGV编号") @@ -39,4 +39,16 @@ public class RobotTaskDetailActionLogPageReqVO extends PageParam { @Schema(description = "robot_task_detail的id") private Long taskDetailId; + @Schema(description = "任务阶段(0:待执行、1:前往取货、2:取货中、3:前往放货、4:放货中、5:结束、6:移动中、7:正在充电、8:取消、9:人工完成、10:异常)") + private Long taskStage; + + @Schema(description = "任务号") + private String taskNo; + + @Schema(description = "开始时间") + private LocalDateTime startTime; + + @Schema(description = "结束时间") + private LocalDateTime endTime; + } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/log/vo/RobotTaskDetailActionLogRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/log/vo/RobotTaskDetailActionLogRespVO.java index 4ec0be31b..fdc740e06 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/log/vo/RobotTaskDetailActionLogRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/log/vo/RobotTaskDetailActionLogRespVO.java @@ -31,8 +31,8 @@ public class RobotTaskDetailActionLogRespVO { @ExcelProperty("车辆当前正在做的动作") private String actionMsg; - @Schema(description = "动作状态(0:未开始、1:正在进行、2:完成)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @ExcelProperty("动作状态(0:未开始、1:正在进行、2:完成)") + @Schema(description = "动作状态(动作状态(0:未开始、1:执行中、2:已完成、3:已取消、4:异常))", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @ExcelProperty("动作状态(动作状态(0:未开始、1:执行中、2:已完成、3:已取消、4:异常))") private Integer actionStatus; @Schema(description = "AGV编号") @@ -46,4 +46,19 @@ public class RobotTaskDetailActionLogRespVO { @Schema(description = "robot_task_detail的id") private Long taskDetailId; + @Schema(description = "任务阶段(0:待执行、1:前往取货、2:取货中、3:前往放货、4:放货中、5:结束、6:移动中、7:正在充电、8:取消、9:人工完成、10:异常)") + private Long taskStage; + + @Schema(description = "任务号") + @ExcelProperty("任务号") + private String taskNo; + + @Schema(description = "开始时间") + @ExcelProperty("开始时间") + private LocalDateTime startTime; + + @Schema(description = "结束时间") + @ExcelProperty("结束时间") + private LocalDateTime endTime; + } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/log/vo/RobotTaskDetailActionLogSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/log/vo/RobotTaskDetailActionLogSaveReqVO.java index 88f72c267..484f5d03a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/log/vo/RobotTaskDetailActionLogSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/log/vo/RobotTaskDetailActionLogSaveReqVO.java @@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import javax.validation.constraints.*; +import java.time.LocalDateTime; @Schema(description = "管理后台 - 车辆动作记录新增/修改 Request VO") @Data @@ -24,8 +25,8 @@ public class RobotTaskDetailActionLogSaveReqVO { @Schema(description = "车辆当前正在做的动作") private String actionMsg; - @Schema(description = "动作状态(0:未开始、1:正在进行、2:完成)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @NotNull(message = "动作状态(0:未开始、1:正在进行、2:完成)不能为空") + @Schema(description = "动作状态(0:未开始、1:执行中、2:已完成、3:已取消、4:异常)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotNull(message = "动作状态(0:未开始、1:执行中、2:已完成、3:已取消、4:异常)不能为空") private Integer actionStatus; @Schema(description = "AGV编号") @@ -34,4 +35,13 @@ public class RobotTaskDetailActionLogSaveReqVO { @Schema(description = "robot_task_detail的id") private Long taskDetailId; + @Schema(description = "任务号") + private String taskNo; + + @Schema(description = "开始时间") + private LocalDateTime startTime; + + @Schema(description = "结束时间") + private LocalDateTime endTime; + } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/RobotTaskDetailController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/RobotTaskDetailController.java index 18e87f064..df3c683ca 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/RobotTaskDetailController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/RobotTaskDetailController.java @@ -92,4 +92,12 @@ public class RobotTaskDetailController { BeanUtils.toBean(list, RobotTaskDetailRespVO.class)); } + @PostMapping("/manuallyCompleted") + @Operation(summary = "人工完成") + @PreAuthorize("@ss.hasPermission('robot:task-detail:manuallyCompleted')") + public CommonResult manuallyCompleted(@RequestParam("id") Long id) { + taskDetailService.manuallyCompleted(id); + return success(true); + } + } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailPageReqVO.java index 1de374568..929549fd3 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailPageReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailPageReqVO.java @@ -56,7 +56,7 @@ public class RobotTaskDetailPageReqVO extends PageParam { @Schema(description = "任务状态(0:未开始、1:执行中、2:已完成、3:已取消、4:异常)", example = "1") private Integer taskStatus; - @Schema(description = "任务阶段(0:待执行、1:前往取货、2:取货中、3:前往放货、4:放货中、5:结束、6:移动中、7:正在充电)") + @Schema(description = "任务阶段(0:待执行、1:前往取货、2:取货中、3:前往放货、4:放货中、5:结束、6:移动中、7:正在充电、8:取消、9:人工完成、10:异常)") private Long taskStage; @Schema(description = "开始时间") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailRespVO.java index 98b8b0849..ea26e8ff9 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailRespVO.java @@ -62,8 +62,8 @@ public class RobotTaskDetailRespVO { @ExcelProperty("任务状态(0:未开始、1:执行中、2:已完成、3:已取消、4:异常)") private Integer taskStatus; - @Schema(description = "任务阶段(0:待执行、1:前往取货、2:取货中、3:前往放货、4:放货中、5:结束、6:移动中、7:正在充电)") - @ExcelProperty("任务阶段(0:待执行、1:前往取货、2:取货中、3:前往放货、4:放货中、5:结束、6:移动中、7:正在充电)") + @Schema(description = "任务阶段(0:待执行、1:前往取货、2:取货中、3:前往放货、4:放货中、5:结束、6:移动中、7:正在充电、8:取消、9:人工完成、10:异常)") + @ExcelProperty("任务阶段(0:待执行、1:前往取货、2:取货中、3:前往放货、4:放货中、5:结束、6:移动中、7:正在充电、8:取消、9:人工完成、10:异常)") private Long taskStage; @Schema(description = "开始时间") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailSaveReqVO.java index a61f01d11..386727c32 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailSaveReqVO.java @@ -62,7 +62,7 @@ public class RobotTaskDetailSaveReqVO { @Schema(description = "任务状态(0:未开始、1:执行中、2:已完成、3:已取消、4:异常)", example = "1") private Integer taskStatus; - @Schema(description = "任务阶段(0:待执行、1:前往取货、2:取货中、3:前往放货、4:放货中、5:结束、6:移动中、7:正在充电)") + @Schema(description = "任务阶段(0:待执行、1:前往取货、2:取货中、3:前往放货、4:放货中、5:结束、6:移动中、7:正在充电、8:取消、9:人工完成、10:异常)") private Long taskStage; @Schema(description = "开始时间") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/log/RobotTaskDetailActionLogDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/log/RobotTaskDetailActionLogDO.java index 1c4bab51c..3061aeb55 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/log/RobotTaskDetailActionLogDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/log/RobotTaskDetailActionLogDO.java @@ -1,9 +1,12 @@ package cn.iocoder.yudao.module.system.dal.dataobject.log; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import com.baomidou.mybatisplus.annotation.*; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import java.time.LocalDateTime; + /** * 车辆动作记录 DO * @@ -41,7 +44,7 @@ public class RobotTaskDetailActionLogDO extends BaseDO { */ private String actionMsg; /** - * 动作状态(0:未开始、1:正在进行、2:完成) + * 动作状态(0:未开始、1:执行中、2:已完成、3:已取消、4:异常) */ private Integer actionStatus; /** @@ -53,4 +56,24 @@ public class RobotTaskDetailActionLogDO extends BaseDO { */ private Long taskDetailId; + /** + * 任务阶段(0:待执行、1:前往取货、2:取货中、3:前往放货、4:放货中、5:结束、6:移动中、7:正在充电、8:取消、9:人工完成、10:异常) + */ + private Long taskStage; + + /** + * 任务号 + */ + private String taskNo; + + /** + * 开始时间 + */ + private LocalDateTime startTime; + + /** + * 结束时间 + */ + private LocalDateTime endTime; + } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/robot/RobotTaskDetailDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/robot/RobotTaskDetailDO.java index f93ed4aa5..d04fe069e 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/robot/RobotTaskDetailDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/robot/RobotTaskDetailDO.java @@ -96,7 +96,7 @@ public class RobotTaskDetailDO extends BaseDO { */ private Integer taskStatus; /** - * 任务阶段(0:待执行、1:前往取货、2:取货中、3:前往放货、4:放货中、5:结束、6:移动中、7:正在充电) + * 任务阶段(0:待执行、1:前往取货、2:取货中、3:前往放货、4:放货中、5:结束、6:移动中、7:正在充电、8:取消、9:人工完成、10:异常) */ private Long taskStage; /** diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/log/RobotTaskDetailActionLogMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/log/RobotTaskDetailActionLogMapper.java index bb48170ff..deac22f1f 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/log/RobotTaskDetailActionLogMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/log/RobotTaskDetailActionLogMapper.java @@ -22,10 +22,12 @@ public interface RobotTaskDetailActionLogMapper extends BaseMapperX>(){}.getType(); + Map map = gson.fromJson(config.getConfigStr(), type); + map.put("onceStartTime", onceStartTime); + map.put("onceEndTime", onceEndTime); - String str = JSON.toJSONString(jsonObject); + String str = JSON.toJSONString(map); config.setConfigStr(str); } @Override + @Transactional(rollbackFor = Exception.class) public void updateConfig(CommonConfigSaveReqVO updateReqVO) { // 校验存在 validateConfigExists(updateReqVO.getId()); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/information/DeviceInformationServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/information/DeviceInformationServiceImpl.java index b19d403c6..d6302f362 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/information/DeviceInformationServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/information/DeviceInformationServiceImpl.java @@ -141,13 +141,13 @@ public class DeviceInformationServiceImpl extends ServiceImpl { * @param robotNo */ void doTaskContinue(String robotNo); + + /** + * + * @param id + * @param mac + * @param orderType + */ + void robotCloseTaskDetail(String id, String mac, String orderType); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java index 6ba2f07fb..a2de04f06 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java @@ -259,16 +259,15 @@ public class RobotInformationServiceImpl extends ServiceImpl