diff --git a/src/main/java/com/zhgd/xmgl/base/entity/vo/FlexibleBigScreenVo.java b/src/main/java/com/zhgd/xmgl/base/entity/vo/FlexibleBigScreenVo.java index f8487650c..3c0dbe413 100644 --- a/src/main/java/com/zhgd/xmgl/base/entity/vo/FlexibleBigScreenVo.java +++ b/src/main/java/com/zhgd/xmgl/base/entity/vo/FlexibleBigScreenVo.java @@ -2,6 +2,7 @@ package com.zhgd.xmgl.base.entity.vo; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import com.zhgd.xmgl.util.DateUtils; import lombok.Data; import java.util.*; @@ -44,7 +45,7 @@ public class FlexibleBigScreenVo { * * @param rtVo FlexibleBigScreenVo * @param days 日期的list - * @param format 需要转换的时间格式 + * @param format 转换后的时间格式 * @return */ public static FlexibleBigScreenVo fillTrendVos(FlexibleBigScreenVo rtVo, List days, String format) { @@ -62,22 +63,12 @@ public class FlexibleBigScreenVo { vo.put(key, 0); } } - vo.put(timeKey, DateUtil.format(parse(vo.get(timeKey).toString()), format)); + vo.put(timeKey, DateUtil.format(DateUtils.parse(vo.get(timeKey).toString()), format)); rtList.add(vo); } rtVo.setSource(rtList); return rtVo; } - /** - * @param str - * @return - */ - private static DateTime parse(String str) { - if (Objects.equals(str.length(),7)) { - return DateUtil.parse(str, "yyyy-MM"); - } - return DateUtil.parse(str); - } } diff --git a/src/main/java/com/zhgd/xmgl/base/entity/vo/TrendVo.java b/src/main/java/com/zhgd/xmgl/base/entity/vo/TrendVo.java index f47dbd80d..91ae7b90c 100644 --- a/src/main/java/com/zhgd/xmgl/base/entity/vo/TrendVo.java +++ b/src/main/java/com/zhgd/xmgl/base/entity/vo/TrendVo.java @@ -1,8 +1,8 @@ package com.zhgd.xmgl.base.entity.vo; -import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import com.zhgd.xmgl.util.DateUtils; import lombok.Data; import java.util.ArrayList; @@ -24,7 +24,7 @@ public class TrendVo { * * @param list 数据的list * @param days 日期的list - * @param format 需要转换的时间格式 + * @param format 转换后的时间格式 * @return */ public static List fillTrendVos(List list, List days, String format) { @@ -37,21 +37,10 @@ public class TrendVo { vo.setY("0"); vo.setX(day); } - vo.setX(DateUtil.format(parse(vo.getX(), format), format)); + vo.setX(DateUtil.format(DateUtils.parse(vo.getX()), format)); rtList.add(vo); } return rtList; } - /** - * @param str - * @param format - * @return - */ - private static DateTime parse(String str, String format) { - if ("yyyy-MM".equals(format)) { - return DateUtil.parse(str, format); - } - return DateUtil.parse(str); - } } diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/controller/GantryCraneWorkCycleController.java b/src/main/java/com/zhgd/xmgl/modules/bigdevice/controller/GantryCraneWorkCycleController.java index 4a64ad018..ded68e249 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/controller/GantryCraneWorkCycleController.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/controller/GantryCraneWorkCycleController.java @@ -6,7 +6,6 @@ import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.base.entity.vo.TrendVo; import com.zhgd.xmgl.modules.bigdevice.entity.GantryCraneWorkCycle; import com.zhgd.xmgl.modules.bigdevice.entity.vo.CountGantryCraneWorkCycleVo; -import com.zhgd.xmgl.modules.bigdevice.service.IBigDeviceDiscloseRecordService; import com.zhgd.xmgl.modules.bigdevice.service.IGantryCraneWorkCycleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -146,4 +145,14 @@ public class GantryCraneWorkCycleController { return Result.success(gantryCraneWorkCycleService.countGantryCraneWorkCycle(paramMap)); } + @ApiOperation(value = "工作时长分析(h)", notes = "工作时长分析(h)", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "devSn", value = "设备编号", dataType = "String", paramType = "body", required = false), + @ApiImplicitParam(name = "projectSn", value = "项目sn", dataType = "String", paramType = "body", required = false), + @ApiImplicitParam(name = "type", value = "查询天数:1、近7日、2:本月", dataType = "Integer", paramType = "body", required = true), + }) + @PostMapping(value = "/workTimeAnalysis") + public Result> workTimeAnalysis(@ApiIgnore @RequestBody HashMap paramMap) { + return Result.success(gantryCraneWorkCycleService.workTimeAnalysis(paramMap)); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/GantryCraneWorkCycleMapper.java b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/GantryCraneWorkCycleMapper.java index 207721ccd..3f08d8817 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/GantryCraneWorkCycleMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/GantryCraneWorkCycleMapper.java @@ -29,4 +29,6 @@ public interface GantryCraneWorkCycleMapper extends BaseMapper countGantryCraneWorkCycleNumEveryday(Map map); CountGantryCraneWorkCycleVo countGantryCraneWorkCycle(HashMap paramMap); + + List workTimeAnalysis(HashMap paramMap); } diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/GantryCraneWorkCycleMapper.xml b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/GantryCraneWorkCycleMapper.xml index d4b06fa3d..ff73a96d4 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/GantryCraneWorkCycleMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/GantryCraneWorkCycleMapper.xml @@ -44,9 +44,9 @@ + + diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/IGantryCraneWorkCycleService.java b/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/IGantryCraneWorkCycleService.java index ae353f8af..aa4c063e3 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/IGantryCraneWorkCycleService.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/IGantryCraneWorkCycleService.java @@ -21,13 +21,15 @@ import java.util.Map; public interface IGantryCraneWorkCycleService extends IService { - IPage queryGantryCraneWorkCyclePageList(Map map); + IPage queryGantryCraneWorkCyclePageList(Map map); - List selectGantryCraneWorkCycleList(Map map); + List selectGantryCraneWorkCycleList(Map map); - void saveGantryCraneWorkCycle(GantryCraneWorkCycle gantryCraneWorkCycle); + void saveGantryCraneWorkCycle(GantryCraneWorkCycle gantryCraneWorkCycle); - List countGantryCraneWorkCycleNumEveryday(Map map); + List countGantryCraneWorkCycleNumEveryday(Map map); - CountGantryCraneWorkCycleVo countGantryCraneWorkCycle(HashMap paramMap); + CountGantryCraneWorkCycleVo countGantryCraneWorkCycle(HashMap paramMap); + + List workTimeAnalysis(HashMap paramMap); } diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/GantryCraneWorkCycleServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/GantryCraneWorkCycleServiceImpl.java index f82b8a0d3..531236b8f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/GantryCraneWorkCycleServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/GantryCraneWorkCycleServiceImpl.java @@ -82,4 +82,18 @@ public class GantryCraneWorkCycleServiceImpl extends ServiceImpl paramMap) { return baseMapper.countGantryCraneWorkCycle(paramMap); } + + @Override + public List workTimeAnalysis(HashMap paramMap) { + List trendVos = gantryCraneWorkCycleMapper.workTimeAnalysis(paramMap); + List days; + if (Objects.equals(MapUtils.getInteger(paramMap, "type"), 1)) { + days = DateUtils.getDateStrList(60, "yyyy-MM-dd"); + } else if (Objects.equals(MapUtils.getInteger(paramMap, "type"), 2)) { + days = DateUtils.getDaysBefore(400); + } else { + return null; + } + return TrendVo.fillTrendVos(trendVos, days, "MM-dd"); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/project/entity/vo/ProjectExtDto.java b/src/main/java/com/zhgd/xmgl/modules/project/entity/vo/ProjectExtDto.java index 355abe77d..a290c2639 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/entity/vo/ProjectExtDto.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/entity/vo/ProjectExtDto.java @@ -10,4 +10,6 @@ public class ProjectExtDto { private String projectSn; @ApiModelProperty(value = "拓展字段2") private String extend2; + @ApiModelProperty(value = "拓展字段3") + private String extend3; } diff --git a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectServiceImpl.java index 8c5e8a0cf..c8d1ef285 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectServiceImpl.java @@ -178,6 +178,7 @@ public class ProjectServiceImpl extends ServiceImpl impl */ @Value("${fmsMonitoringScreenPageUrl:}") private String fmsMonitoringScreenPageUrl; + String PROJECT_PREFIX_KEY = "projectInfoBySn:"; public List getProjectSnList(String sn) { @@ -211,7 +212,7 @@ public class ProjectServiceImpl extends ServiceImpl impl if (StringUtils.isBlank(projectSn)) { return null; } - ProjectInfoExtVo info = redisRepository.getOrSetEx("projectInfoBySn:" + projectSn, (() -> projectMapper.getProjectInfoBySn(map))); + ProjectInfoExtVo info = redisRepository.getOrSetEx(PROJECT_PREFIX_KEY + projectSn, (() -> projectMapper.getProjectInfoBySn(map))); if (info == null) { throw new NullPointerException(" 当前查询条件结果不存在!"); } @@ -315,6 +316,7 @@ public class ProjectServiceImpl extends ServiceImpl impl Project project = BeanUtil.toBean(dto, Project.class); projectMapper.update(project, new LambdaQueryWrapper() .eq(Project::getProjectSn, dto.getProjectSn())); + redisRepository.del(PROJECT_PREFIX_KEY + dto.getProjectSn()); } @Override diff --git a/src/main/java/com/zhgd/xmgl/util/DateUtils.java b/src/main/java/com/zhgd/xmgl/util/DateUtils.java index 4fc2d89ce..07471148c 100644 --- a/src/main/java/com/zhgd/xmgl/util/DateUtils.java +++ b/src/main/java/com/zhgd/xmgl/util/DateUtils.java @@ -544,6 +544,19 @@ public class DateUtils { return new ArrayList<>(); } + /** + * str转换成datetime格式 + * + * @param str + * @return + */ + public static DateTime parse(String str) { + if (Objects.equals(str.length(), 7)) { + return DateUtil.parse(str, "yyyy-MM"); + } + return DateUtil.parse(str); + } + public static void main(String[] args) { System.out.println(getNowWeekAllDayList()); System.out.println(getDateStrList(100, "HH:mm"));