diff --git a/yudao-module-mqtt/yudao-module-mqtt-api/src/main/java/cn/iocoder/yudao/module/mqtt/api/path/dto/RobotDimensionsDTO.java b/yudao-module-mqtt/yudao-module-mqtt-api/src/main/java/cn/iocoder/yudao/module/mqtt/api/path/dto/RobotDimensionsDTO.java index 5bf1e96cb..adeb48e37 100644 --- a/yudao-module-mqtt/yudao-module-mqtt-api/src/main/java/cn/iocoder/yudao/module/mqtt/api/path/dto/RobotDimensionsDTO.java +++ b/yudao-module-mqtt/yudao-module-mqtt-api/src/main/java/cn/iocoder/yudao/module/mqtt/api/path/dto/RobotDimensionsDTO.java @@ -31,4 +31,8 @@ public class RobotDimensionsDTO { @Schema(description = "转弯半径(单位米)") private Double robotTurningRadius; + + @Schema(description = "偏移量") + private Double robotOffset; + } diff --git a/yudao-module-mqtt/yudao-module-mqtt-biz/src/main/resources/application-local.yaml b/yudao-module-mqtt/yudao-module-mqtt-biz/src/main/resources/application-local.yaml index 032ce0325..0db58fce3 100644 --- a/yudao-module-mqtt/yudao-module-mqtt-biz/src/main/resources/application-local.yaml +++ b/yudao-module-mqtt/yudao-module-mqtt-biz/src/main/resources/application-local.yaml @@ -34,9 +34,9 @@ management: # MQTT mqtt: # host: tcp://123.57.12.40:1883 -# host: tcp://127.0.0.1:1883 + host: tcp://127.0.0.1:1883 # host: tcp://10.10.7.116:1883 - host: tcp://10.10.7.114:1883 +# host: tcp://10.10.7.114:1883 username: adminuser password: adminuser qos: 2 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/remote/RemoteExceptionTaskApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/remote/RemoteExceptionTaskApiImpl.java index 7868edd7e..9658db6df 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/remote/RemoteExceptionTaskApiImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/remote/RemoteExceptionTaskApiImpl.java @@ -5,12 +5,14 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.system.api.remote.dto.*; +import cn.iocoder.yudao.module.system.config.poperties.ZnConfigConstant; import cn.iocoder.yudao.module.system.controller.admin.robot.camera.RobotCameraAddVO; import cn.iocoder.yudao.module.system.service.remote.RemoteControllerInformationService; import cn.iocoder.yudao.module.system.service.robot.RobotTaskDetailService; import cn.iocoder.yudao.module.system.service.robot.camera.RobotCameraService; import cn.iocoder.yudao.module.system.util.aes.AESEncryptionUtil; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -39,8 +41,8 @@ public class RemoteExceptionTaskApiImpl implements RemoteExceptionTaskApi{ @Resource private RobotCameraService cameraService; - @Value("${zn.camera_secret_key}") - private String cameraSecretKey; + @Autowired + private ZnConfigConstant znConfigConstant; /** * 远遥查询异常的车辆 @@ -67,8 +69,8 @@ public class RemoteExceptionTaskApiImpl implements RemoteExceptionTaskApi{ for (RemoteRobotCameraDTO robotCameraDO : list) { try { - robotCameraDO.setCameraAccount(AESEncryptionUtil.decrypt(robotCameraDO.getCameraAccount(),cameraSecretKey)); - robotCameraDO.setCameraPassword(AESEncryptionUtil.decrypt(robotCameraDO.getCameraPassword(),cameraSecretKey)); + robotCameraDO.setCameraAccount(AESEncryptionUtil.decrypt(robotCameraDO.getCameraAccount(),znConfigConstant.getCameraSecretKey())); + robotCameraDO.setCameraPassword(AESEncryptionUtil.decrypt(robotCameraDO.getCameraPassword(),znConfigConstant.getCameraSecretKey())); } catch (Exception e) { throw exception(CAMERA_DECRYPTION_FAILED); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RobotStatusApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RobotStatusApiImpl.java index e38f9e876..78ab0e959 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RobotStatusApiImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RobotStatusApiImpl.java @@ -9,6 +9,7 @@ import cn.iocoder.yudao.module.system.api.robot.processor.RequestProcessor; import cn.iocoder.yudao.module.system.api.robot.websocket.RobotInformationVO; import cn.iocoder.yudao.module.system.api.robot.vo.RobotReactiveStatusDTO; import cn.iocoder.yudao.module.system.api.robot.websocket.RobotStatusDataPoseDTO; +import cn.iocoder.yudao.module.system.config.poperties.ZnConfigConstant; import cn.iocoder.yudao.module.system.config.ratelimiter.SystemRateLimiter; import cn.iocoder.yudao.module.system.constant.CommonConstant; import cn.iocoder.yudao.module.system.constant.area.FloorAreaConstant; @@ -41,8 +42,8 @@ public class RobotStatusApiImpl implements RobotStatusApi { @Autowired private RobotInformationService robotInformationService; - @Value("${zn.robot_position_cache_time:10}") - private Long robotPositionCacheTime; + @Autowired + private ZnConfigConstant znConfigConstant; @Resource private RequestProcessor processor; @@ -107,7 +108,7 @@ public class RobotStatusApiImpl implements RobotStatusApi { robotStatusDataPoseDTO.setForkHeight(data.getForkHeight()); } - redisUtil.set(pose2dKey, JSON.toJSONString(robotStatusDataPoseDTO), robotPositionCacheTime); + redisUtil.set(pose2dKey, JSON.toJSONString(robotStatusDataPoseDTO), znConfigConstant.getRobotPositionCacheTime()); executorService.execute(() ->{ sendToPP(robotStatusDataPoseDTO); @@ -127,8 +128,8 @@ public class RobotStatusApiImpl implements RobotStatusApi { //机器人身上是否有货 String taskStatusKey = RobotTaskChcheConstant.ROBOT_TASK_STATUS + robotStatusDataDTO.getMac(); String cargoDetectedKey = RobotTaskChcheConstant.ROBOT_CARGO_DETECTED + robotStatusDataDTO.getMac(); - redisUtil.set(taskStatusKey, robotStatusDataDTO.getTaskStatus(), robotPositionCacheTime); - redisUtil.set(cargoDetectedKey, robotStatusDataDTO.getCargoDetected(), robotPositionCacheTime); + redisUtil.set(taskStatusKey, robotStatusDataDTO.getTaskStatus(), znConfigConstant.getRobotPositionCacheTime()); + redisUtil.set(cargoDetectedKey, robotStatusDataDTO.getCargoDetected(), znConfigConstant.getRobotPositionCacheTime()); Map map = new HashMap<>(); String value = FloorAreaConstant.FLOOR_AREA_ROBOT + floorZoneDTO.getFloor() + CommonConstant.SYMBOL + floorZoneDTO.getArea(); map.put(robotStatusDataDTO.getMac(), JSON.toJSONString(finalRobotInformationVO)); 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 71be94842..32b33fafb 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 @@ -13,6 +13,7 @@ import cn.iocoder.yudao.module.system.api.robot.dto.RobotCommandStateDTO; import cn.iocoder.yudao.module.system.api.robot.dto.RobotCompleteTaskDTO; import cn.iocoder.yudao.module.system.api.robot.websocket.RobotSkuInfoDTO; import cn.iocoder.yudao.module.system.api.robot.websocket.WsWareHouseLocationDTO; +import cn.iocoder.yudao.module.system.config.poperties.ZnConfigConstant; import cn.iocoder.yudao.module.system.constant.CommonConstant; import cn.iocoder.yudao.module.system.constant.area.FloorAreaConstant; import cn.iocoder.yudao.module.system.constant.path.PathPlanningChcheConstant; @@ -120,12 +121,8 @@ public class RobotTaskStatusApiImpl implements RobotTaskStatusApi { @Resource private DeviceInformationService deviceInformationService; - @Value("${zn.robot_doing_action.doing_action_cache_time:2*24*60*60}") - private Long doingActionCacheTime; - - @Value("${zn.is_simulation:false}") - private Boolean isSimulation; - + @Autowired + private ZnConfigConstant znConfigConstant; @Transactional(rollbackFor = Exception.class) public void doRobotDoneTask(RobotCompleteTaskDTO robotCompleteTaskDTO) { @@ -415,7 +412,8 @@ public class RobotTaskStatusApiImpl implements RobotTaskStatusApi { || RobotTaskStageEnum.UN_START.getType().equals(robotTaskDetailDO.getTaskStage())) { robotTaskDetailDO.setTaskStatus(RobotTaskDetailStatusEnum.NEW.getType()); robotTaskDetailDO.setTaskStage(RobotTaskStageEnum.UN_START.getType()); - if (!isSimulation) { + + if (!znConfigConstant.getIsSimulation()) { robotTaskDetailDO.setRobotNo(""); } robotTaskDetailDO.setOccurError(ZeroOneEnum.ZERO.getType()); @@ -549,7 +547,7 @@ public class RobotTaskStatusApiImpl implements RobotTaskStatusApi { pathPlanningService.updateBehavior(String.valueOf(robotCompleteTaskDTO.getOrderId()), robotTaskDetailDO.getRobotNo() , "", PathIsReachEnum.END_WORK.getType()); - if (!isSimulation) { + if (!znConfigConstant.getIsSimulation()) { String plantingKey = PathPlanningChcheConstant.PATH_PLANNING_TASK + robotCompleteTaskDTO.getOrderId(); redisUtil.del(plantingKey); } @@ -660,7 +658,7 @@ public class RobotTaskStatusApiImpl implements RobotTaskStatusApi { logOne.setPositionMapId(mapId); } taskDetailActionLogService.createTaskDetailActionLog(logOne); - redisUtil.set(robotDoingActionKey, logOne.getActionMsg(), doingActionCacheTime); + redisUtil.set(robotDoingActionKey, logOne.getActionMsg(), znConfigConstant.getRobotDoingAction().getDoingActionCacheTime()); robotTaskDetailMapper.updateById(robotTaskDetailDO); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/config/aop/SystemRateLimiterAspect.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/config/aop/SystemRateLimiterAspect.java index 9bb11cf7c..8d3e989f4 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/config/aop/SystemRateLimiterAspect.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/config/aop/SystemRateLimiterAspect.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.system.config.aop; import cn.hutool.core.util.ObjectUtil; +import cn.iocoder.yudao.module.system.config.poperties.ZnConfigConstant; import cn.iocoder.yudao.module.system.config.ratelimiter.SystemRateLimiter; import cn.iocoder.yudao.module.system.util.redis.RedisUtil; import lombok.extern.slf4j.Slf4j; @@ -13,6 +14,7 @@ import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.reflect.MethodSignature; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; @@ -36,8 +38,9 @@ public class SystemRateLimiterAspect { @Resource private RedisUtil redisUtil; - @Value("${zn.open_rate_limiter:false}") - private Boolean openRateLimiter; + + @Autowired + private ZnConfigConstant znConfigConstant; @Pointcut("@annotation(cn.iocoder.yudao.module.system.config.ratelimiter.SystemRateLimiter)") public void serviceLimit() { @@ -46,7 +49,7 @@ public class SystemRateLimiterAspect { @Around("serviceLimit()") public Object around(ProceedingJoinPoint joinPoint) throws Throwable { - if (!openRateLimiter) { + if (!znConfigConstant.getOpenRateLimiter()) { return joinPoint.proceed(); } MethodSignature signature = (MethodSignature) joinPoint.getSignature(); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/config/poperties/ZnConfigConstant.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/config/poperties/ZnConfigConstant.java index 3e4295bba..1029c4cf4 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/config/poperties/ZnConfigConstant.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/config/poperties/ZnConfigConstant.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.system.config.poperties; +import cn.iocoder.yudao.module.system.config.poperties.dto.RobotCharge; import cn.iocoder.yudao.module.system.config.poperties.dto.RobotConfig; import cn.iocoder.yudao.module.system.config.poperties.dto.RobotDoingAction; import cn.iocoder.yudao.module.system.config.poperties.dto.Task; @@ -22,13 +23,15 @@ public class ZnConfigConstant { private Long robotPositionCacheTime; private Boolean cycleDoAutoMove; private String fullElectricity; - private String taskNeedSingle; - private String locationNumberReduce; + private Boolean taskNeedSingle; + private Long locationNumberReduce; private RobotDoingAction robotDoingAction; + private RobotCharge robotCharge; private Task task ; private RobotConfig robotConfig; private Boolean openRateLimiter; - private Boolean isSimulation ; + private Boolean isSimulation; private Boolean sendRobotInitPose; - private Boolean synchronousAllMapNode; + private Integer synchronousAllMapNode; + private Boolean taskNotCheck; } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/config/poperties/dto/RobotCharge.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/config/poperties/dto/RobotCharge.java new file mode 100644 index 000000000..672566d7f --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/config/poperties/dto/RobotCharge.java @@ -0,0 +1,9 @@ +package cn.iocoder.yudao.module.system.config.poperties.dto; + +import lombok.Data; + +@Data +public class RobotCharge { + private Long releaseLocationNumberConfig; + private Long priorityConfig; +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/config/poperties/dto/Task.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/config/poperties/dto/Task.java index 474a1db4a..bf5e43e15 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/config/poperties/dto/Task.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/config/poperties/dto/Task.java @@ -5,5 +5,5 @@ import lombok.Data; @Data public class Task { private Boolean checkSkuInfo; - private Long taskChcheTime; + private Long taskCacheTime; } 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 1038c2044..8cebd5b15 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 @@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.module.system.config.poperties.ZnConfigConstant; import cn.iocoder.yudao.module.system.constant.device.DeviceChcheConstant; import cn.iocoder.yudao.module.system.controller.admin.information.dto.DeviceInformationDTO; import cn.iocoder.yudao.module.system.controller.admin.information.dto.MapBindDeviceInfoDTO; @@ -40,6 +41,7 @@ import com.serotonin.modbus4j.ModbusMaster; import com.serotonin.modbus4j.exception.ModbusInitException; import com.serotonin.modbus4j.exception.ModbusTransportException; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -91,8 +93,8 @@ public class DeviceInformationServiceImpl extends ServiceImpl> partition = Lists.partition(positionMapItemSynDTOS, synchronousAllMapNodeSize); + List> partition = Lists.partition(positionMapItemSynDTOS, znConfigConstant.getSynchronousAllMapNode()); for (List nodes : partition) { PositionMapItemPathDTO relatedPathNode = new PositionMapItemPathDTO(); relatedPathNode.setFloor(positionMapDO.getFloor()); @@ -467,9 +465,9 @@ public class PathPlanningServiceImpl implements PathPlanningService { String topic = RobotTopicConstant.ROBOT_TASK_MOVE_TOPIC + mac; if(RobotCommandTypeEnum.SWITCH_MAP.getType().equals(pathRobotDTO.getTaskType())) { switchMap(pathRobotDTO,topic); - } else if (PathTaskTypeToRobotEnum.DROP_OFF_GOODS.getType().equals(pathRobotDTO.getTaskType())) { + } /*else if (PathTaskTypeToRobotEnum.DROP_OFF_GOODS.getType().equals(pathRobotDTO.getTaskType())) { wordDropOffGoods(message,topic,pathRobotDTO.getRobotNo()); - } else { + } */else { commonApi.commonMethodStr(message, topic); } } @@ -592,7 +590,7 @@ public class PathPlanningServiceImpl implements PathPlanningService { @Override public void simulationRobotPoseRequest() { - if (!sendRobotInitPose) { + if (!znConfigConstant.getSendRobotInitPose()) { log.info("不同步初始点位信息"); return; } 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 8e43dab3b..7a33d6441 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 @@ -23,6 +23,7 @@ import cn.iocoder.yudao.module.system.api.robot.dto.FloorZoneDTO; import cn.iocoder.yudao.module.system.api.robot.dto.RobotStatusDTO; import cn.iocoder.yudao.module.system.api.robot.websocket.RobotStatusDataPoseDTO; import cn.iocoder.yudao.module.system.api.robot.websocket.RobotInformationVO; +import cn.iocoder.yudao.module.system.config.poperties.ZnConfigConstant; import cn.iocoder.yudao.module.system.constant.CommonConstant; import cn.iocoder.yudao.module.system.constant.path.PathPlanningChcheConstant; import cn.iocoder.yudao.module.system.constant.path.PathPlanningTopicConstant; @@ -50,7 +51,6 @@ import cn.iocoder.yudao.module.system.dal.mysql.positionmap.PositionMapItemMappe import cn.iocoder.yudao.module.system.dal.mysql.positionmap.PositionMapMapper; import cn.iocoder.yudao.module.system.dal.mysql.remote.RemoteControllerInformationMapper; import cn.iocoder.yudao.module.system.dal.mysql.robot.*; -import cn.iocoder.yudao.module.system.dal.mysql.statistics.RobotWorkingHoursStatisticsMapper; import cn.iocoder.yudao.module.system.dal.mysql.wait.MoveToWaitMapper; import cn.iocoder.yudao.module.system.enums.common.ZeroOneEnum; import cn.iocoder.yudao.module.system.enums.device.DeviceTypeEnum; @@ -159,24 +159,12 @@ public class RobotInformationServiceImpl extends ServiceImpl pathPlanningList = new ArrayList<>(); pathPlanningList.add(pathPlanning); @@ -1725,7 +1716,7 @@ public class RobotInformationServiceImpl extends ServiceImpl laneIds = new ArrayList<>(); List areaIds = new ArrayList<>(); - if (ObjectUtil.isNotEmpty(task.getSkuInfo()) && checkSkuInfo) { + if (ObjectUtil.isNotEmpty(task.getSkuInfo()) && znConfigConstant.getTask().getCheckSkuInfo()) { List wareHouseLaneDOS = houseLaneMapper.selectList(new LambdaQueryWrapper() .eq(WareHouseLaneDO::getLaneMsg, task.getSkuInfo())); if (ObjectUtil.isNotEmpty(wareHouseLaneDOS)) { @@ -397,7 +376,7 @@ public class RobotTaskServiceImpl extends ServiceImpl taskDOS = taskMapper.selectList(new LambdaQueryWrapper() .in(RobotTaskDO::getTaskStatus, RobotTaskStatusEnum.NEW.getType(), RobotTaskStatusEnum.DOING.getType())); if (ObjectUtil.isNotEmpty(taskDOS)) { @@ -661,7 +646,7 @@ public class RobotTaskServiceImpl extends ServiceImpl newTaskDetailList = new ArrayList<>(); List mapItemIds = new ArrayList<>(); - if (doCycle) { + if (znConfigConstant.getDoCycle()) { List taskCycleDOS = taskCycleMapper.selectList(new LambdaQueryWrapper()); if (ObjectUtil.isNotEmpty(taskCycleDOS)) { mapItemIds = taskCycleDOS.stream().map(TaskCycleDO::getMapItemId).collect(Collectors.toList()); @@ -1021,7 +1006,7 @@ public class RobotTaskServiceImpl extends ServiceImpl(); } - if (doCycle) { + if (znConfigConstant.getDoCycle()) { List taskCycleDOS = taskCycleMapper.selectList(new LambdaQueryWrapper()); if (ObjectUtil.isNotEmpty(taskCycleDOS)) { List mapItemIds = @@ -1495,7 +1480,7 @@ public class RobotTaskServiceImpl extends ServiceImpl tasks, List taskDetails, Long positionMapItemId, String deviceNo) { RobotTaskDO task = new RobotTaskDO(); String incrementByKey = redisUtil.getIncrementByKey(RobotCacheLockEnum.CHARGE_TASK_NO.getKey()); - task.setTaskNo(chargeNo + DateUtils.getYearMonthDay() + incrementByKey); + task.setTaskNo(znConfigConstant.getChargeNo() + DateUtils.getYearMonthDay() + incrementByKey); task.setId(IdUtil.getSnowflakeNextId()); task.setCycleNumber(0L); task.setRemainingCycleNumber(0L); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/job/CycleServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/job/CycleServiceImpl.java index d43d1e2e9..15c0586f2 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/job/CycleServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/job/CycleServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.util.date.DateUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; +import cn.iocoder.yudao.module.system.config.poperties.ZnConfigConstant; import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotTaskDetailAddVO; import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotTaskDO; import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotTaskDetailDO; @@ -21,6 +22,7 @@ import cn.iocoder.yudao.module.system.util.redis.RedisUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -46,11 +48,8 @@ public class CycleServiceImpl implements CycleService { @Resource private RobotTaskDetailMapper taskDetailMapper; - @Value("${zn.do_cycle:true}") - private Boolean doCycle; - - @Value("${zn.task-no:ZN}") - private String taskNo; + @Autowired + private ZnConfigConstant znConfigConstant; @Resource private RedisUtil redisUtil; @@ -70,7 +69,7 @@ public class CycleServiceImpl implements CycleService { public void cycleTaskJob() { TenantContextHolder.setTenantId(1L); - if (!doCycle) { + if (!znConfigConstant.getDoCycle()) { log.info("循环任务关闭了--不自动创建循环任务"); } @@ -195,7 +194,7 @@ public class CycleServiceImpl implements CycleService { * @return */ public RobotTaskDO getTaskData(String incrementByKey, RobotTaskDO v ) { - String taskNoStr = taskNo + DateUtils.getYearMonthDay() + incrementByKey; + String taskNoStr = znConfigConstant.getTaskNo() + DateUtils.getYearMonthDay() + incrementByKey; RobotTaskDO task = new RobotTaskDO(); BeanUtils.copyProperties(v, task); task.setRemainingCycleNumber(v.getRemainingCycleNumber() - 1); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/job/DistributeTasksServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/job/DistributeTasksServiceImpl.java index cab931e09..58e0c6f09 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/job/DistributeTasksServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/job/DistributeTasksServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.json.JSONUtil; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; import cn.iocoder.yudao.module.system.api.robot.websocket.RobotStatusDataPoseDTO; +import cn.iocoder.yudao.module.system.config.poperties.ZnConfigConstant; import cn.iocoder.yudao.module.system.constant.robot.RobotStatusCodeConstant; import cn.iocoder.yudao.module.system.constant.robot.RobotTaskChcheConstant; import cn.iocoder.yudao.module.system.controller.admin.config.vo.CommonConfigVO; @@ -54,9 +55,6 @@ public class DistributeTasksServiceImpl implements DistributeTasksService { @Autowired private RobotTaskDetailMapper robotTaskDetailMapper; - @Value("${zn.full_electricity:95}") - private String fullElectricity; - @Resource private CommonConfigMapper configMapper; @@ -66,6 +64,9 @@ public class DistributeTasksServiceImpl implements DistributeTasksService { @Resource private RemoteControllerInformationMapper controllerInformationMapper; + @Autowired + private ZnConfigConstant znConfigConstant; + /** * 获取待执行的机器人和任务 @@ -258,7 +259,7 @@ public class DistributeTasksServiceImpl implements DistributeTasksService { && !ChargeModelEnum.FULL.getType().equals((Integer) chargeModelCache)) { robotEndElectricity = new BigDecimal(String.valueOf(robot.getAutoCharge())); } else if (ObjectUtil.isNotEmpty(chargeModelCache) && ChargeModelEnum.FULL.getType().equals((Integer) chargeModelCache)) { - robotEndElectricity = new BigDecimal(fullElectricity); + robotEndElectricity = new BigDecimal(znConfigConstant.getFullElectricity()); } else if (ObjectUtil.isNotEmpty(chargeModelCache) && ChargeModelEnum.CHANCE.getType().equals((Integer) chargeModelCache) && ObjectUtil.isNotEmpty(chargeConfig.getEndAutoCharge())) { robotEndElectricity = new BigDecimal(String.valueOf(chargeConfig.getChanceChargeEnd())); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/job/RobotTaskAutoMoveServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/job/RobotTaskAutoMoveServiceImpl.java index 7f6a94d96..779ff2f54 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/job/RobotTaskAutoMoveServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/job/RobotTaskAutoMoveServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; import cn.iocoder.yudao.module.mqtt.api.task.RobotTaskApi; +import cn.iocoder.yudao.module.system.config.poperties.ZnConfigConstant; import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotTaskAutoMovePageReqVO; import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotTaskAutoMoveSaveReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.houselocation.WareHouseLocationDO; @@ -60,12 +61,8 @@ public class RobotTaskAutoMoveServiceImpl implements RobotTaskAutoMoveService { @Resource private WareHouseLocationMapper locationMapper; - - @Value("${zn.lane_auto_move:true}") - private Boolean laneAutoMove; - - @Value("${zn.cycle_do_auto_move:true}") - private Boolean cycleDoAutoMove; + @Autowired + private ZnConfigConstant znConfigConstant; @Override public Long createTaskAutoMove(RobotTaskAutoMoveSaveReqVO createReqVO) { @@ -311,7 +308,7 @@ public class RobotTaskAutoMoveServiceImpl implements RobotTaskAutoMoveService { */ public List>> getLaneAutoMoveLocation(List taskDetailDOS) { List>> result = new ArrayList<>(); - if (ObjectUtil.isEmpty(taskDetailDOS) || !laneAutoMove) { + if (ObjectUtil.isEmpty(taskDetailDOS) || !znConfigConstant.getLaneAutoMove()) { log.info("没有线库的任务明细, 不需要执行线库移库"); return result; } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/pathplanning/RobotPathPlanningServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/pathplanning/RobotPathPlanningServiceImpl.java index c919f5aaf..3caf4ac99 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/pathplanning/RobotPathPlanningServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/pathplanning/RobotPathPlanningServiceImpl.java @@ -10,6 +10,7 @@ import cn.iocoder.yudao.module.mqtt.api.common.CommonApi; import cn.iocoder.yudao.module.mqtt.api.path.task.TaskLimitationAreaDTO; import cn.iocoder.yudao.module.mqtt.api.path.task.TaskRobotNoLimittationAreaDTO; import cn.iocoder.yudao.module.mqtt.api.path.task.TaskToPathPlanningDTO; +import cn.iocoder.yudao.module.system.config.poperties.ZnConfigConstant; import cn.iocoder.yudao.module.system.constant.path.PathPlanningChcheConstant; import cn.iocoder.yudao.module.system.constant.path.PathPlanningTopicConstant; import cn.iocoder.yudao.module.system.constant.robot.RobotStatusCodeConstant; @@ -68,12 +69,6 @@ public class RobotPathPlanningServiceImpl implements RobotPathPlanningService { @Resource private PositionMapItemMapper positionMapItemMapper; - @Value("${zn.task_need_single:true}") - private Boolean taskNeedSingle; - - @Value("${zn.location_number_reduce:100000000}") - private Long locationNumberReduce; - @Resource private WareHouseLocationMapper locationMapper; @@ -86,23 +81,8 @@ public class RobotPathPlanningServiceImpl implements RobotPathPlanningService { @Resource private PositionMapMapper positionMapMapper; - @Value("${zn.robot_chearg.release_location_number_config:50}") - private Long releaseLocationNumberConfig; - - @Value("${zn.robot_chearg.priority_config:50}") - private Long priorityConfig; - - @Value("${zn.robot_config.offset_height}") - private Double offsetHeight; - - @Value("${zn.task.task_chche_time:604800}") - private Long taskChcheTime; - - @Value("${zn.move-no:MOVE}") - private String moveTaskNo; - - @Value("${zn.robot_config.default_tray_height:0.82}") - private Double defaultTrayHeight; + @Autowired + private ZnConfigConstant znConfigConstant; @Autowired private RobotTaskMapper robotTaskMapper; @@ -302,7 +282,7 @@ public class RobotPathPlanningServiceImpl implements RobotPathPlanningService { RobotTaskDO task = new RobotTaskDO(); String incrementByKey = redisUtil.getIncrementByKey(RobotCacheLockEnum.MOVE_TASK_NO.getKey()); - task.setTaskNo(moveTaskNo + DateUtils.getYearMonthDay() + incrementByKey); + task.setTaskNo(znConfigConstant.getMoveNo() + DateUtils.getYearMonthDay() + incrementByKey); task.setId(IdUtil.getSnowflakeNextId()); task.setCycleNumber(0L); task.setRemainingCycleNumber(0L); @@ -333,7 +313,7 @@ public class RobotPathPlanningServiceImpl implements RobotPathPlanningService { pathPlanning.setRobotNoLimitationAreaDTOS(robotNoLimitions); String key = PathPlanningChcheConstant.PATH_PLANNING_TASK + pathPlanning.getOrderId(); - redisUtil.set(key, JSON.toJSONString(pathPlanning), taskChcheTime); + redisUtil.set(key, JSON.toJSONString(pathPlanning), znConfigConstant.getTask().getTaskCacheTime()); pathPlanningList.add(pathPlanning); } @@ -370,7 +350,7 @@ public class RobotPathPlanningServiceImpl implements RobotPathPlanningService { for (RobotChargeLogDO v : logs) { - Long priority = priorityConfig; + Long priority = znConfigConstant.getRobotCharge().getPriorityConfig(); LocalDateTime createTime = LocalDateTime.now(); if (ObjectUtil.isEmpty(ChargeModelEnum.TASK.getType().equals(v.getChargeModel())) && ObjectUtil.isNotEmpty(v.getTaskDetailId()) @@ -397,11 +377,11 @@ public class RobotPathPlanningServiceImpl implements RobotPathPlanningService { pathPlanning.setTaskType(taskType); pathPlanning.setReleaseGroupId("POINT_" + v.getPositionMapItemId()); - pathPlanning.setReleaseLocationNumber(releaseLocationNumberConfig); + pathPlanning.setReleaseLocationNumber(znConfigConstant.getRobotCharge().getReleaseLocationNumberConfig()); pathPlanning.setWaitIds(Collections.singletonList(v.getPositionMapItemId() + "")); String key = PathPlanningChcheConstant.PATH_PLANNING_TASK + pathPlanning.getOrderId(); - redisUtil.set(key, JSON.toJSONString(pathPlanning), taskChcheTime); + redisUtil.set(key, JSON.toJSONString(pathPlanning), znConfigConstant.getTask().getTaskCacheTime()); pathPlanningList.add(pathPlanning); } @@ -518,12 +498,12 @@ public class RobotPathPlanningServiceImpl implements RobotPathPlanningService { WareHouseLocationDO toLocation = locationDOMap.get(taskDetailDO.getToLocationId()); if (ObjectUtil.isNotEmpty(taskDetailDO.getFromLocationId())) { - pathPlanning.setTakeLocationNumber(Math.abs(locationNumberReduce - taskDetailDO.getFromLocationNumber())); + pathPlanning.setTakeLocationNumber(Math.abs(znConfigConstant.getLocationNumberReduce() - taskDetailDO.getFromLocationNumber())); pathPlanning.setTakePointId(fromLocation.getMapItemId()); pathPlanningSetTakeHeight(pathPlanning, fromLocation); pathPlanning.setTakeLevel(fromLocation.getLocationStorey()); - pathPlanning.setTakeOffsetHeight(offsetHeight); + pathPlanning.setTakeOffsetHeight(znConfigConstant.getRobotConfig().getOffsetHeight()); if (ObjectUtil.isNotEmpty(taskDetailDO.getFromLaneId())) { pathPlanning.setTakeGroupId("LINE_" + taskDetailDO.getFromLaneId()); } else { @@ -537,7 +517,7 @@ public class RobotPathPlanningServiceImpl implements RobotPathPlanningService { pathPlanningSetReleaseHeight(pathPlanning, toLocation); pathPlanning.setReleaseLevel(toLocation.getLocationStorey()); - pathPlanning.setReleaseOffsetHeight(offsetHeight); + pathPlanning.setReleaseOffsetHeight(znConfigConstant.getRobotConfig().getOffsetHeight()); if (ObjectUtil.isNotEmpty(taskDetailDO.getToLaneId())) { pathPlanning.setReleaseGroupId("LINE_" + taskDetailDO.getToLaneId()); } else { @@ -546,7 +526,7 @@ public class RobotPathPlanningServiceImpl implements RobotPathPlanningService { } String key = PathPlanningChcheConstant.PATH_PLANNING_TASK + pathPlanning.getOrderId(); - redisUtil.set(key, JSON.toJSONString(pathPlanning), taskChcheTime); + redisUtil.set(key, JSON.toJSONString(pathPlanning), znConfigConstant.getTask().getTaskCacheTime()); pathPlanningList.add(pathPlanning); } @@ -569,17 +549,17 @@ public class RobotPathPlanningServiceImpl implements RobotPathPlanningService { return; } - WareHouseLocationDO nextLocation = locationMapper.selectOne(new LambdaQueryWrapperX() + /*WareHouseLocationDO nextLocation = locationMapper.selectOne(new LambdaQueryWrapperX() .eq(WareHouseLocationDO::getId, toLocation.getMapItemId()) .eq(WareHouseLocationDO::getLocationStorey, toLocation.getLocationStorey() - 1) .last("limit 1")); if (ObjectUtil.isNotEmpty(nextLocation) && ObjectUtil.isNotEmpty(nextLocation.getLocationTotalHeight())) { pathPlanning.setReleaseHeight(Double.valueOf(nextLocation.getLocationTotalHeight() + "")); return; - } + }*/ Integer locationStorey = toLocation.getLocationStorey() - 1; - double height = locationStorey * defaultTrayHeight; + double height = locationStorey * znConfigConstant.getRobotConfig().getDefaultTrayHeight(); log.info("放货设置默认高度 :{}", height); pathPlanning.setReleaseHeight(height); } @@ -591,12 +571,12 @@ public class RobotPathPlanningServiceImpl implements RobotPathPlanningService { * @param fromLocation */ private void pathPlanningSetTakeHeight(TaskToPathPlanningDTO pathPlanning, WareHouseLocationDO fromLocation) { - if (ObjectUtil.isNotEmpty(fromLocation.getLocationTotalHeight())) { + /*if (ObjectUtil.isNotEmpty(fromLocation.getLocationTotalHeight())) { pathPlanning.setTakeHeight(Double.valueOf(fromLocation.getLocationTotalHeight() + "")); return; - } + }*/ Integer locationStorey = fromLocation.getLocationStorey(); - double height = locationStorey * defaultTrayHeight; + double height = locationStorey * znConfigConstant.getRobotConfig().getDefaultTrayHeight(); log.info("取货设置默认取货高度 :{}", height); pathPlanning.setTakeHeight(height); } @@ -701,7 +681,7 @@ public class RobotPathPlanningServiceImpl implements RobotPathPlanningService { */ private List getSingleTask(List taskDetailDOS) { //剔除目前正在做的线库和点位 - if (!taskNeedSingle) { + if (!znConfigConstant.getTaskNeedSingle()) { return taskDetailDOS; } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/simulation/RobotSimulationServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/simulation/RobotSimulationServiceImpl.java index 9da83398f..b92d914f6 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/simulation/RobotSimulationServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/simulation/RobotSimulationServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.util.date.DateUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mqtt.api.common.CommonApi; +import cn.iocoder.yudao.module.system.config.poperties.ZnConfigConstant; import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotInformationPageReqVO; import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotTaskDetailAddVO; import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotTaskSaveReqVO; @@ -85,27 +86,17 @@ public class RobotSimulationServiceImpl implements RobotSimulationService{ @Resource private RobotInformationMapper informationMapper; - - @Value("${zn.task-no:ZN}") - private String taskNo; - - @Value("${zn.task.check_sku_info:true}") - private Boolean checkSkuInfo; - - @Resource private WareHouseLaneMapper houseLaneMapper; @Resource private HouseAreaMapper houseAreaMapper; - @Value("${zn.move-no:MOVE}") - private String moveTaskNo; - @Resource private PositionMapItemService positionMapItemService; - + @Autowired + private ZnConfigConstant znConfigConstant; @Override public void createTask(RobotTaskSaveReqVO createReqVO) { @@ -113,7 +104,7 @@ public class RobotSimulationServiceImpl implements RobotSimulationService{ //设置任务号 if (ObjectUtil.isEmpty(createReqVO.getTaskNo())) { String incrementByKey = redisUtil.getIncrementByKey(RobotCacheLockEnum.TASK_NO.getKey()); - createReqVO.setTaskNo(taskNo + DateUtils.getYearMonthDay() + incrementByKey); + createReqVO.setTaskNo(znConfigConstant.getTaskNo() + DateUtils.getYearMonthDay() + incrementByKey); } log.info("111111创建一个不校验的任务 :{}",createReqVO.getTaskNo()); @@ -124,7 +115,7 @@ public class RobotSimulationServiceImpl implements RobotSimulationService{ List laneIds = new ArrayList<>(); List areaIds = new ArrayList<>(); - if (ObjectUtil.isNotEmpty(task.getSkuInfo()) && checkSkuInfo) { + if (ObjectUtil.isNotEmpty(task.getSkuInfo()) && znConfigConstant.getTask().getCheckSkuInfo()) { List wareHouseLaneDOS = houseLaneMapper.selectList(new LambdaQueryWrapper() .eq(WareHouseLaneDO::getLaneMsg, task.getSkuInfo())); if (ObjectUtil.isNotEmpty(wareHouseLaneDOS)) { diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/tool/ToolsServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/tool/ToolsServiceImpl.java index e640be08c..cad05d4cb 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/tool/ToolsServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/tool/ToolsServiceImpl.java @@ -9,6 +9,7 @@ import cn.iocoder.yudao.module.mqtt.api.task.dto.RobotSimulationPoseDTO; import cn.iocoder.yudao.module.mqtt.api.task.dto.RobotSimulationPoseDataDTO; import cn.iocoder.yudao.module.mqtt.enums.task.ExecutionTypeEnum; import cn.iocoder.yudao.module.system.api.path.vo.RobotClosePathPlantingDTO; +import cn.iocoder.yudao.module.system.config.poperties.ZnConfigConstant; import cn.iocoder.yudao.module.system.constant.path.PathPlanningTopicConstant; import cn.iocoder.yudao.module.system.constant.robot.RobotTopicConstant; import cn.iocoder.yudao.module.system.controller.admin.config.dto.TaskOrderConfigDTO; @@ -70,14 +71,11 @@ public class ToolsServiceImpl implements ToolsService { @Resource private PositionMapItemService positionMapItemService; - /*@Resource - private CommonConfigService configService;*/ - @Resource private PositionMapService positionMapService; - @Value("${zn.is_simulation:false}") - private Boolean isSimulation; + @Autowired + private ZnConfigConstant znConfigConstant; /** * 发送时间、优先级、距离的权重给PP @@ -184,7 +182,7 @@ public class ToolsServiceImpl implements ToolsService { @Override public void simulationPose() { - if (!isSimulation) { + if (!znConfigConstant.getIsSimulation()) { log.info("非仿真环境不需要同步默认的节点数据"); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/application-dev.yaml b/yudao-module-system/yudao-module-system-biz/src/main/resources/application-dev.yaml index 9ceb11acb..187b1c8f6 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/application-dev.yaml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/application-dev.yaml @@ -191,27 +191,25 @@ zn: camera_secret_key: A2C4rv7DY012c9ef #摄像头秘钥 do_cycle: true #是否开启循环 lane_auto_move: true #线库是否自动移库 true:线库执行自动移库 、false:线库关闭执行自动移库 - robot_position_cache_time: 10 #机器人上报点位存储时间(秒) + robot_position_cache_time: 10000000 #机器人上报点位存储时间(秒) cycle_do_auto_move: true #存在循环的任务,是否开启自动移库. true:存在循环任务,开启自动移库; false:有循环任务不自动移库 - full_electricity: 100 #机器人充满电的电量 + full_electricity: 95 #机器人充满电的电量 task_need_single: true #机器人对同一线库/点位是不是只能有一台机器人做任务 (true:一个点位/线库,只有一台机器人) location_number_reduce: 100000000 #库位排序的差值(下发取货任务,将库位排序减去此值,然后取绝对值) robot_doing_action: # 机器人正在做的动作 doing_action_cache_time: 172800 #单个动作缓存时间 8小时 - robot_chearg: #机器人充电的配置 + robot_charge: #机器人充电的配置 release_location_number_config: 50 #同一组序号,越大越先执行 priority_config: 50 #优先级 task: #任务相关的配置 check_sku_info: true #校验物料信息 + task_cache_time: 1209600 #任务缓存的时间, 默认一星期 robot_config: #机器人取放货默认配置 offset_height: 0.1 #叉起货需要在原来高度基础上偏移的高度 - default_tray_height: 1.1 #默认每层高度 + default_tray_height: 0.82 #默认每层高度 open_rate_limiter: true #是否开启限流 - path_planning: - task_chche_time: 1209600 #任务缓存的时间, 默认一星期 is_simulation: false # 是否为仿真环境 send_robot_init_pose: true # 是否为发送默认的车辆所在地图和点位 - restore_task_restart: false # 恢复任务是否全部重新执行 true:全部重新开始 synchronous_all_map_node: 500 # 点位信息每次发送的数据量 task_not_check: true # 创建任务不校验 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/application-local.yaml b/yudao-module-system/yudao-module-system-biz/src/main/resources/application-local.yaml index b7c36c941..c01ec62b5 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/application-local.yaml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/application-local.yaml @@ -228,26 +228,24 @@ zn: lane_auto_move: true #线库是否自动移库 true:线库执行自动移库 、false:线库关闭执行自动移库 robot_position_cache_time: 10000000 #机器人上报点位存储时间(秒) cycle_do_auto_move: true #存在循环的任务,是否开启自动移库. true:存在循环任务,开启自动移库; false:有循环任务不自动移库 - full_electricity: 100 #机器人充满电的电量 + full_electricity: 95 #机器人充满电的电量 task_need_single: true #机器人对同一线库/点位是不是只能有一台机器人做任务 (true:一个点位/线库,只有一台机器人) location_number_reduce: 100000000 #库位排序的差值(下发取货任务,将库位排序减去此值,然后取绝对值) robot_doing_action: # 机器人正在做的动作 doing_action_cache_time: 172800 #单个动作缓存时间 8小时 - robot_chearg: #机器人充电的配置 + robot_charge: #机器人充电的配置 release_location_number_config: 50 #同一组序号,越大越先执行 priority_config: 50 #优先级 task: #任务相关的配置 check_sku_info: true #校验物料信息 - task_chche_time: 1209600 #任务缓存的时间, 默认一星期 + task_cache_time: 1209600 #任务缓存的时间, 默认一星期 robot_config: #机器人取放货默认配置 offset_height: 0.1 #叉起货需要在原来高度基础上偏移的高度 default_tray_height: 0.82 #默认每层高度 open_rate_limiter: true #是否开启限流 - path_planning: - task_chche_time: 1209600 #任务缓存的时间, 默认一星期 is_simulation: false # 是否为仿真环境 send_robot_init_pose: true # 是否为发送默认的车辆所在地图和点位 -# synchronous_all_map_node: 500 # 点位信息每次发送的数据量 + synchronous_all_map_node: 500 # 点位信息每次发送的数据量 task_not_check: true # 创建任务不校验 logging: diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/application-test.yaml b/yudao-module-system/yudao-module-system-biz/src/main/resources/application-test.yaml index bd15da9ff..d18a69bde 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/application-test.yaml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/application-test.yaml @@ -219,27 +219,25 @@ zn: camera_secret_key: A2C4rv7DY012c9ef #摄像头秘钥 do_cycle: true #是否开启循环 lane_auto_move: true #线库是否自动移库 true:线库执行自动移库 、false:线库关闭执行自动移库 - robot_position_cache_time: 10 #机器人上报点位存储时间(秒) + robot_position_cache_time: 10000000 #机器人上报点位存储时间(秒) cycle_do_auto_move: true #存在循环的任务,是否开启自动移库. true:存在循环任务,开启自动移库; false:有循环任务不自动移库 - full_electricity: 100 #机器人充满电的电量 + full_electricity: 95 #机器人充满电的电量 task_need_single: true #机器人对同一线库/点位是不是只能有一台机器人做任务 (true:一个点位/线库,只有一台机器人) location_number_reduce: 100000000 #库位排序的差值(下发取货任务,将库位排序减去此值,然后取绝对值) robot_doing_action: # 机器人正在做的动作 doing_action_cache_time: 172800 #单个动作缓存时间 8小时 - robot_chearg: #机器人充电的配置 + robot_charge: #机器人充电的配置 release_location_number_config: 50 #同一组序号,越大越先执行 priority_config: 50 #优先级 task: #任务相关的配置 check_sku_info: true #校验物料信息 + task_cache_time: 1209600 #任务缓存的时间, 默认一星期 robot_config: #机器人取放货默认配置 offset_height: 0.1 #叉起货需要在原来高度基础上偏移的高度 - default_tray_height: 1.1 #默认每层高度 + default_tray_height: 0.82 #默认每层高度 open_rate_limiter: true #是否开启限流 - path_planning: - task_chche_time: 1209600 #任务缓存的时间, 默认一星期 is_simulation: false # 是否为仿真环境 send_robot_init_pose: true # 是否为发送默认的车辆所在地图和点位 - restore_task_restart: false # 恢复任务是否全部重新执行 true:全部重新开始 synchronous_all_map_node: 500 # 点位信息每次发送的数据量 task_not_check: true # 创建任务不校验 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/robot/RobotInformationMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/robot/RobotInformationMapper.xml index 7f775cdb6..ae360b607 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/robot/RobotInformationMapper.xml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/robot/RobotInformationMapper.xml @@ -176,7 +176,8 @@ t2.robot_center_headstock AS robotCenterHeadstock, t2.robot_center_tail AS robotCenterTail, t1.mac_address as macAddress, - t2.robot_turning_radius as robotTurningRadius + t2.robot_turning_radius as robotTurningRadius, + t2.robot_offset as robotOffset FROM robot_information t1 LEFT JOIN robot_model t2 ON t1.robot_model_id = t2.id