diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/positionmap/PositionMapController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/positionmap/PositionMapController.java index cac75a395..6f154587a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/positionmap/PositionMapController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/positionmap/PositionMapController.java @@ -89,4 +89,12 @@ public class PositionMapController { public void downloadFile(HttpServletResponse response) throws IOException { positionMapService.downloadFile(response); } + + @GetMapping("/getAllMap") + @Operation(summary = "获得所有仓库点位地图Map") + @PreAuthorize("@ss.hasPermission('system:position-map:getAllMap')") + public CommonResult> getAllMap() { + List list = positionMapService.getAllMap(); + return success(list); + } } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationPageReqVO.java index 6587f94ae..070079c78 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationPageReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationPageReqVO.java @@ -27,6 +27,9 @@ public class RobotInformationPageReqVO extends PageParam { @Schema(description = "任务模式(0:拒收任务、1:正常)") private Integer robotTaskModel; + @Schema(description = "自动充电电量") + private Integer autoCharge; + @Schema(description = "mac地址") private String macAddress; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationPageRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationPageRespVO.java index cbeeba763..3cedea497 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationPageRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationPageRespVO.java @@ -34,6 +34,9 @@ public class RobotInformationPageRespVO { @ExcelProperty("状态(0:待命、1:任务中、2:锁定、3:离线、4:充电中、5:故障)") private Integer robotStatus; + @Schema(description = "自动充电电量") + private Integer autoCharge; + @Schema(description = "楼层") @ExcelProperty("楼层") public String floor; @@ -46,10 +49,10 @@ public class RobotInformationPageRespVO { @ExcelProperty("信息") public String msg; + @Schema(description = "mac地址") private String macAddress; - /** - * 任务模式(0:拒收任务、1:正常) - */ + + @Schema(description = "任务模式(0:拒收任务、1:正常)") private Integer robotTaskModel; } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationRespVO.java index d1fd10f45..36af20b91 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationRespVO.java @@ -62,5 +62,9 @@ public class RobotInformationRespVO { @ExcelProperty("电量") private String electricity; + @Schema(description = "自动充电电量") + @ExcelProperty("自动充电电量") + private Integer autoCharge; + } \ 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/RobotInformationSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationSaveReqVO.java index c645e67bd..c7d19f9c8 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationSaveReqVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.system.controller.admin.robot.vo; +import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; @@ -43,4 +44,7 @@ public class RobotInformationSaveReqVO { @NotEmpty(message = "楼层/区域不能为空") private Set floorAreaJson; + @Schema(description = "自动充电电量") + private Integer autoCharge; + } \ 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/RobotPositionMapVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotPositionMapVO.java index 4b1742cc7..118d58b26 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotPositionMapVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotPositionMapVO.java @@ -7,6 +7,10 @@ import lombok.Data; */ @Data public class RobotPositionMapVO { + /** + * ware_position_map的id + */ + private Long id; /** * 楼层 */ diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/robot/RobotInformationDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/robot/RobotInformationDO.java index 33d8a9690..65df67987 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/robot/RobotInformationDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/robot/RobotInformationDO.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.system.dal.dataobject.robot; import cn.iocoder.yudao.framework.mybatis.core.type.JsonLongSetTypeHandler; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import com.baomidou.mybatisplus.annotation.*; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; @@ -61,4 +62,9 @@ public class RobotInformationDO extends BaseDO { @TableField(typeHandler = JsonLongSetTypeHandler.class) private Set floorAreaJson; + /** + * 自动充电电量 + */ + private Integer autoCharge; + } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/enums/robot/RobotInformationPageStatusEnum.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/enums/robot/RobotInformationPageStatusEnum.java new file mode 100644 index 000000000..6fe6cb4e9 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/enums/robot/RobotInformationPageStatusEnum.java @@ -0,0 +1,23 @@ +package cn.iocoder.yudao.module.system.enums.robot; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 车辆分页的状态 + */ +@Getter +@AllArgsConstructor +public enum RobotInformationPageStatusEnum { + STANDBY(0),//待命 + INTASK(1),//任务中 + DOLOCK(2),//锁定 + OFFLINE(3),//离线 + CHARGE(4),//充电中 + FAULT(5);//故障 + + /** + * 类型 + */ + private final Integer type; +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapService.java index 3ff293a71..2d1522bde 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapService.java @@ -10,6 +10,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.IOException; +import java.util.List; /** * 仓库点位地图 Service 接口 @@ -87,4 +88,10 @@ public interface PositionMapService extends IService { * @param area */ String downloadPngBase64(Integer floor, String area); + + /** + * 获得所有仓库点位地图Map + * @return + */ + List getAllMap(); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapServiceImpl.java index eb9eac083..9aada77a3 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapServiceImpl.java @@ -295,5 +295,12 @@ public class PositionMapServiceImpl extends ServiceImpl getAllMap() { + List positionMapDOS = positionMapMapper.selectList(new LambdaQueryWrapperX() + .orderByAsc(PositionMapDO::getFloor)); + return positionMapDOS; + } + } 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 9c5fc0087..dadc9e443 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 @@ -97,6 +97,7 @@ public class RobotInformationServiceImpl implements RobotInformationService { // 更新 RobotInformationDO updateObj = BeanUtils.toBean(updateReqVO, RobotInformationDO.class); informationMapper.updateById(updateObj); + redisUtil.set(RobotTaskChcheConstant.ROBOT_NO_MAPPING_MAC + updateObj.getMacAddress(),updateObj.getRobotNo()); } @Override @@ -165,10 +166,10 @@ public class RobotInformationServiceImpl implements RobotInformationService { } if (ObjectUtil.isEmpty(object)) { - v.setRobotStatus(3); + v.setRobotStatus(RobotInformationPageStatusEnum.OFFLINE.getType()); v.setMsg("车辆已经离线"); }else if (RobotTaskModelEnum.REJECTION.getType().equals(v.getRobotTaskModel())) { - v.setRobotStatus(2); + v.setRobotStatus(RobotInformationPageStatusEnum.DOLOCK.getType()); v.setMsg("车辆已经锁定"); }else if (RobotStatusEnum.STAND_BY.getType().equals(v.getRobotStatus())) { //查看机器人最后做的任务是不是充电 @@ -179,20 +180,20 @@ public class RobotInformationServiceImpl implements RobotInformationService { if (ObjectUtil.isNotEmpty(robotTaskDetailDO) && RobotTaskTypeEnum.CHARGE.getType().equals(robotTaskDetailDO.getTaskType()) && RobotTaskStatusEnum.DOING.getType().equals(robotTaskDetailDO.getTaskStatus())) { - v.setRobotStatus(4); + v.setRobotStatus(RobotInformationPageStatusEnum.CHARGE.getType()); v.setMsg("车辆正在充电"); }else { - v.setRobotStatus(0); + v.setRobotStatus(RobotInformationPageStatusEnum.STANDBY.getType()); v.setMsg("车辆正在待命"); } }else if (RobotStatusEnum.DOING.getType().equals(v.getRobotStatus()) && ObjectUtil.isNotEmpty(action)) { - v.setRobotStatus(1); + v.setRobotStatus(RobotInformationPageStatusEnum.INTASK.getType()); CommandTypeEnum commandType = CommandTypeEnum.getCommandType(String.valueOf(action)); if (ObjectUtil.isNotEmpty(commandType)) { v.setMsg("车辆正在"+commandType.getMsg()); } } else { - v.setRobotStatus(5); + v.setRobotStatus(RobotInformationPageStatusEnum.FAULT.getType()); v.setMsg("车辆发生异常"); }