diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/robot/dto/RobotStatusDataPoseDTO.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/robot/dto/RobotStatusDataPoseDTO.java index a8176fd6e..b478f680a 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/robot/dto/RobotStatusDataPoseDTO.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/robot/dto/RobotStatusDataPoseDTO.java @@ -16,6 +16,8 @@ public class RobotStatusDataPoseDTO { public String floor; //区域 public String area; + //货叉高度 + public Double forkHeight; //电池剩余容量 废弃 从ROBOT_INFORMATION_SOC 获取电量 // public String batSoc; } diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java index c727a14a0..b446c48fb 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java @@ -224,6 +224,7 @@ public interface ErrorCodeConstants { ErrorCode TASK_CREATE_FAIL = new ErrorCode(1-002-035-110, "任务创建失败:"); ErrorCode ROBOT_DO_TASK_FAIL = new ErrorCode(1-002-035-112, "车机反馈不能接任务"); ErrorCode TASK_COMMONG_FAIL = new ErrorCode(1-002-035-113, "下发失败"); + ErrorCode TASK_ASSIGN_OTHER_ROBOT = new ErrorCode(1-002-035-114, "此任务已经转移给其他车辆"); // ========== 机器人任务明细 1-002-036-000 ========== ErrorCode TASK_DETAIL_NOT_EXISTS = new ErrorCode(1-002-036-001, "车辆任务明细不存在"); 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 2f3816a78..f133411be 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 @@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.mqtt.api.common.CommonApi; import cn.iocoder.yudao.module.system.api.robot.dto.*; import cn.iocoder.yudao.module.system.api.robot.processor.RequestProcessor; import cn.iocoder.yudao.module.system.api.robot.vo.RobotInformationVO; +import cn.iocoder.yudao.module.system.api.robot.vo.RobotReactiveStatusDTO; import cn.iocoder.yudao.module.system.config.ratelimiter.SystemRateLimiter; import cn.iocoder.yudao.module.system.constant.area.FloorAreaConstant; import cn.iocoder.yudao.module.system.constant.path.PathPlanningTopicConstant; @@ -87,6 +88,14 @@ public class RobotStatusApiImpl implements RobotStatusApi { robotStatusDataPoseDTO.setRobotNo(robotNo); robotStatusDataPoseDTO.setFloor(floorZoneDTO.getFloor()); robotStatusDataPoseDTO.setArea(floorZoneDTO.getArea()); + + String speedKey = RobotTaskChcheConstant.ROBOT_SPEED_FORK_HEIGHT + robotNo; + Object speedObject = redisUtil.get(speedKey); + if (ObjectUtil.isNotEmpty(speedObject)) { + RobotReactiveStatusDTO data = JSON.parseObject(speedObject.toString(), RobotReactiveStatusDTO.class); + robotStatusDataPoseDTO.setForkHeight(data.getForkHeight()); + } + redisUtil.set(pose2dKey, JSON.toJSONString(robotStatusDataPoseDTO), robotPositionCacheTime); //机器人身上是否有货 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 d63cc2c66..019921bd6 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 @@ -10,6 +10,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.vo.RobotSkuInfoDTO; 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; import cn.iocoder.yudao.module.system.constant.robot.RobotExecutionStateConstant; import cn.iocoder.yudao.module.system.constant.robot.RobotTaskChcheConstant; @@ -111,6 +112,9 @@ public class RobotTaskStatusApiImpl implements RobotTaskStatusApi { @Value("${zn.robot_doing_action.doing_action_cache_time:2*24*60*60}") private Long doingActionCacheTime; + @Value("${zn.is_simulation:false}") + private Boolean isSimulation; + @Transactional(rollbackFor = Exception.class) public void doRobotDoneTask(RobotCompleteTaskDTO robotCompleteTaskDTO) { log.info("机器人完成任务上报 :{}", JSON.toJSONString(robotCompleteTaskDTO)); @@ -492,6 +496,11 @@ public class RobotTaskStatusApiImpl implements RobotTaskStatusApi { //同步任务完成给PP pathPlanningService.updateBehavior(String.valueOf(robotCompleteTaskDTO.getOrderId()), robotTaskDetailDO.getRobotNo() , "", PathIsReachEnum.END_WORK.getType()); + + if (!isSimulation) { + String plantingKey = PathPlanningChcheConstant.PATH_PLANNING_TASK + robotCompleteTaskDTO.getOrderId(); + redisUtil.del(plantingKey); + } } @@ -579,6 +588,7 @@ public class RobotTaskStatusApiImpl implements RobotTaskStatusApi { String robotNo = robotInformationService.getRobotNoByMac(robotCompleteTaskDTO.getMac()); logOne.setRobotNo(robotNo); + logOne.setOriginalRobotNo(robotNo); logOne.setTaskDetailId(robotCompleteTaskDTO.getOrderId()); logOne.setTaskStage(robotTaskDetailDO.getTaskStage()); logOne.setCommandType(PathTaskTypeEnum.getTaskType(robotTaskDetailDO.getTaskType())); 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 70cd7f3ab..5d28a6c8c 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 @@ -57,4 +57,6 @@ public class RobotTaskDetailActionLogPageReqVO extends PageParam { @Schema(description = "是否已经统计(0:未统计、1:已经统计)") private Integer alreadyCounted; + @Schema(description = "这条任务第一次执行的AGV编号") + private String originalRobotNo; } \ 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 7ac77d6b7..5fd6ca7f0 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 @@ -69,4 +69,7 @@ public class RobotTaskDetailActionLogRespVO { @ExcelProperty("是否已经统计(0:未统计、1:已经统计)") private Integer alreadyCounted; + @Schema(description = "这条任务第一次执行的AGV编号") + @ExcelProperty("这条任务第一次执行的AGV编号") + private String originalRobotNo; } \ 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 70db63906..876f9dbb2 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 @@ -52,4 +52,7 @@ public class RobotTaskDetailActionLogSaveReqVO { @Schema(description = "是否已经统计(0:未统计、1:已经统计)") private Integer alreadyCounted; + + @Schema(description = "这条任务第一次执行的AGV编号") + private String originalRobotNo; } \ 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/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 6bdb5819d..5539a6ab0 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 @@ -87,5 +87,9 @@ public class RobotTaskDetailActionLogDO extends BaseDO { * 时长,单位分钟 */ private Long duration; + /** + * 这条任务第一次执行的AGV编号 + */ + private String originalRobotNo; } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/schedul/ScheduledTasks.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/schedul/ScheduledTasks.java similarity index 96% rename from yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/schedul/ScheduledTasks.java rename to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/schedul/ScheduledTasks.java index 05a34e645..87573c3d9 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/schedul/ScheduledTasks.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/schedul/ScheduledTasks.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.system.api.robot.schedul; +package cn.iocoder.yudao.module.system.schedul; import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; @@ -7,7 +7,6 @@ import cn.iocoder.yudao.module.system.api.robot.vo.RobotInformationVO; import cn.iocoder.yudao.module.system.constant.area.FloorAreaConstant; import cn.iocoder.yudao.module.system.constant.robot.RobotTaskChcheConstant; import cn.iocoder.yudao.module.system.constant.webSocket.WebSocketConstant; -import cn.iocoder.yudao.module.system.controller.admin.robot.task.TaskAssignDTO; import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapDO; import cn.iocoder.yudao.module.system.service.positionmap.PositionMapService; import cn.iocoder.yudao.module.system.util.redis.RedisUtil; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/log/RobotTaskDetailActionLogService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/log/RobotTaskDetailActionLogService.java index bbfc771f5..248875114 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/log/RobotTaskDetailActionLogService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/log/RobotTaskDetailActionLogService.java @@ -60,7 +60,7 @@ public interface RobotTaskDetailActionLogService { RobotTaskDetailActionLogDO setPreviousTaskDoneByOrderId(Long orderId); /** - * 获取车辆的最后一条任务 + * 获取车辆的最后一条任务(限处理中的任务使用) * @param robotNo * @return */ @@ -84,4 +84,10 @@ public interface RobotTaskDetailActionLogService { */ List getUnStatisticsDurationLog(); + /** + * 获取这台车最后一次执行的任务(查真实的分配记录) + * @param robotNo + * @return + */ + RobotTaskDetailActionLogDO getOriginalLastTaskByRobotNo(String robotNo); } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/log/RobotTaskDetailActionLogServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/log/RobotTaskDetailActionLogServiceImpl.java index 40bd56562..e43ef1f68 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/log/RobotTaskDetailActionLogServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/log/RobotTaskDetailActionLogServiceImpl.java @@ -2,19 +2,12 @@ package cn.iocoder.yudao.module.system.service.log; import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.system.constant.robot.RobotTaskChcheConstant; import cn.iocoder.yudao.module.system.controller.admin.log.vo.RobotTaskDetailActionLogPageReqVO; 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.robot.RobotChargeLogDO; -import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotTaskDetailDO; import cn.iocoder.yudao.module.system.dal.mysql.log.RobotTaskDetailActionLogMapper; -import cn.iocoder.yudao.module.system.enums.robot.RobotTaskStatusEnum; import cn.iocoder.yudao.module.system.enums.robot.actionlog.ActionStatusEnum; -import cn.iocoder.yudao.module.system.util.redis.RedisUtil; -import com.alibaba.fastjson.JSON; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.scheduling.annotation.Async; +import cn.iocoder.yudao.module.system.enums.robot.actionlog.CommandIdEnum; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -134,4 +127,18 @@ public class RobotTaskDetailActionLogServiceImpl implements RobotTaskDetailActio return taskDetailActionLogMapper.getUnStatisticsDurationLog(); } + /** + * 查这台车最后一次分配的任务 + * @param robotNo + * @return + */ + @Override + public RobotTaskDetailActionLogDO getOriginalLastTaskByRobotNo(String robotNo) { + return taskDetailActionLogMapper.selectOne(new LambdaQueryWrapperX() + .eq(RobotTaskDetailActionLogDO::getOriginalRobotNo, robotNo) + .eq(RobotTaskDetailActionLogDO::getCommandId, CommandIdEnum.TASK.getType()) + .orderByDesc(RobotTaskDetailActionLogDO::getCreateTime) + .last("limit 1")); + } + } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/path/PathPlanningServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/path/PathPlanningServiceImpl.java index fba1e938f..910d097f1 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/path/PathPlanningServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/path/PathPlanningServiceImpl.java @@ -546,7 +546,7 @@ public class PathPlanningServiceImpl implements PathPlanningService { } List itemDOList = new ArrayList<>(); - List items = positionMapItemService.getPositionMapItemByMapAndType(positionMap.getId(), PositionMapItemEnum.WAIT.getType()); + List items = positionMapItemService.getPositionMapItemByMapAndType(positionMap.getId(), PositionMapItemEnum.STOP.getType()); if (ObjectUtil.isEmpty(items) || items.size() < robots.size()) { List itemPoses = positionMapItemService.getPositionMapItemByMapAndType(positionMap.getId(), PositionMapItemEnum.PATH.getType()); itemDOList.addAll(itemPoses); 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 052571e68..ab86bb5fe 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 @@ -57,6 +57,8 @@ import cn.iocoder.yudao.module.system.enums.item.UseStatusEnum; import cn.iocoder.yudao.module.system.enums.path.PathTaskTypeEnum; import cn.iocoder.yudao.module.system.enums.path.PathTaskTypeToRobotEnum; import cn.iocoder.yudao.module.system.enums.redis.RobotCacheLockEnum; +import cn.iocoder.yudao.module.system.enums.robot.LocationLockEnum; +import cn.iocoder.yudao.module.system.enums.robot.LocationUseStatusEnum; import cn.iocoder.yudao.module.system.enums.robot.RobotStatusEnum; import cn.iocoder.yudao.module.system.enums.robot.RobotTaskDetailStatusEnum; import cn.iocoder.yudao.module.system.enums.robot.RobotTaskModelEnum; @@ -92,6 +94,7 @@ import java.util.function.Function; import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*; /** @@ -162,6 +165,9 @@ public class RobotInformationServiceImpl extends ServiceImpl pathPlanningList = new ArrayList<>(); pathPlanningList.add(pathPlanning); + + String plantingKey = PathPlanningChcheConstant.PATH_PLANNING_TASK + pathPlanning.getOrderId(); + redisUtil.set(plantingKey, JSON.toJSONString(pathPlanning), taskChcheTime); + log.info("任务下发给PP :{}", JSON.toJSONString(pathPlanningList)); commonApi.commonMethod(pathPlanningList, PathPlanningTopicConstant.TASK_ASSIGNMENT_REQUEST); } @@ -1175,7 +1192,8 @@ public class RobotInformationServiceImpl extends ServiceImpl pathPlanningList = new ArrayList<>(); pathPlanningList.add(pathPlanning); log.info("远遥任务转移, 任务下发给PP :{}", JSON.toJSONString(pathPlanningList)); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotTaskServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotTaskServiceImpl.java index 1f585d631..9826c7111 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotTaskServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotTaskServiceImpl.java @@ -585,6 +585,7 @@ public class RobotTaskServiceImpl extends ServiceImpl> robotWarnMsgClassification(String type) { - if (TimeTypeEnum.WEEK.getType().equals(type)) { List data = warnMsgMapper.getRobotWarnMsgClassification(type); if (ObjectUtil.isEmpty(data)) { return null; } - return data.stream().collect(Collectors.groupingBy(RobotWarnMsgClassificationDTO::getWarnTime)); + + Map> map = + data.stream().collect(Collectors.groupingBy(RobotWarnMsgClassificationDTO::getWarnTime)); + + Calendar now = Calendar.getInstance(); + now.setTime(new Date()); + for (int i = 0; i < 7; i++) { + String timeStr = DateUtils.getYYYMMDD(now.getTime()); + if (!map.containsKey(timeStr)) { + map.put(timeStr,new ArrayList<>()); + } + now.set(Calendar.DATE, now.get(Calendar.DATE) - 1); + } + + return map; } //季度是90天,分成10份,是9. getMonthData已经扣了1,所以是8 @@ -198,7 +211,7 @@ public class RobotWarnMsgServiceImpl extends ServiceImpl> getMonthData(int day) { diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/robot/RobotWarnMsgMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/robot/RobotWarnMsgMapper.xml index d47481ba4..ac88c26e2 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/robot/RobotWarnMsgMapper.xml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/robot/RobotWarnMsgMapper.xml @@ -55,12 +55,6 @@ AND DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(create_time) - - AND DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(create_time) - - - AND DATE_SUB(CURDATE(), INTERVAL 90 DAY) <= date(create_time) - GROUP BY warnTime ,warn_level