From e4ba5a42b684a384e9d2ab1a3fab609e99ab5276 Mon Sep 17 00:00:00 2001 From: guo Date: Wed, 24 Jan 2024 18:55:08 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/RtWorkTicketServiceImpl.java | 2 +- .../SmartGroutSteelBeamDataController.java | 17 +++++++-- .../mapper/SmartGroutSteelBeamDataMapper.java | 3 ++ .../xml/SmartGroutSteelBeamDataMapper.xml | 37 ++++++++++++++++--- .../ISmartGroutSteelBeamDataService.java | 3 ++ .../SmartGroutSteelBeamDataServiceImpl.java | 22 +++++++++++ 6 files changed, 74 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtWorkTicketServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtWorkTicketServiceImpl.java index 24cde61f9..87e822971 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtWorkTicketServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtWorkTicketServiceImpl.java @@ -110,7 +110,7 @@ public class RtWorkTicketServiceImpl extends ServiceImpl countStatus(@ApiIgnore @RequestBody HashMap paramMap) { return Result.success(smartGroutSteelBeamDataService.countStatus(paramMap)); } + + @ApiOperation(value = "统计钢束压浆合格率", notes = "统计钢束压浆合格率", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"), + @ApiImplicitParam(name = "type", value = "1今日2、7日3、30日", paramType = "body", required = true, dataType = "Integer"), + }) + @PostMapping(value = "/countStatusTrend") + public Result> countStatusTrend(@ApiIgnore @RequestBody HashMap paramMap) { + return Result.success(smartGroutSteelBeamDataService.countStatusTrend(paramMap)); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/smartgrout/mapper/SmartGroutSteelBeamDataMapper.java b/src/main/java/com/zhgd/xmgl/modules/smartgrout/mapper/SmartGroutSteelBeamDataMapper.java index 075434966..739c22030 100644 --- a/src/main/java/com/zhgd/xmgl/modules/smartgrout/mapper/SmartGroutSteelBeamDataMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/smartgrout/mapper/SmartGroutSteelBeamDataMapper.java @@ -1,5 +1,6 @@ package com.zhgd.xmgl.modules.smartgrout.mapper; +import com.zhgd.xmgl.base.entity.vo.TrendOneVo; import com.zhgd.xmgl.modules.smartgrout.entity.SmartGroutSteelBeamData; import org.apache.ibatis.annotations.Mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -17,4 +18,6 @@ import java.util.List; public interface SmartGroutSteelBeamDataMapper extends BaseMapper { List> countStatus(HashMap paramMap); + + List countStatusTrend(HashMap paramMap); } diff --git a/src/main/java/com/zhgd/xmgl/modules/smartgrout/mapper/xml/SmartGroutSteelBeamDataMapper.xml b/src/main/java/com/zhgd/xmgl/modules/smartgrout/mapper/xml/SmartGroutSteelBeamDataMapper.xml index 47ad3768b..b4f80e932 100644 --- a/src/main/java/com/zhgd/xmgl/modules/smartgrout/mapper/xml/SmartGroutSteelBeamDataMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/smartgrout/mapper/xml/SmartGroutSteelBeamDataMapper.xml @@ -1,12 +1,37 @@ + - + select + + date_format(end_time, '%Y-%m-%d %H:00') x, + + + date_format(end_time, '%Y-%m-%d') x, + + + date_format(end_time, '%Y-%m-%d') x, + + ifnull(round(sum(if(status = 1, 1, 0))/count(*)*100,2), 0) y + from smart_grout_steel_beam_data + where project_sn = #{projectSn} + + and end_time > current_date + + + and end_time > date_sub(end_time, interval 6 day) + + + and end_time > date_sub(end_time, interval 29 day) + + group by x diff --git a/src/main/java/com/zhgd/xmgl/modules/smartgrout/service/ISmartGroutSteelBeamDataService.java b/src/main/java/com/zhgd/xmgl/modules/smartgrout/service/ISmartGroutSteelBeamDataService.java index a28117539..960c4ffeb 100644 --- a/src/main/java/com/zhgd/xmgl/modules/smartgrout/service/ISmartGroutSteelBeamDataService.java +++ b/src/main/java/com/zhgd/xmgl/modules/smartgrout/service/ISmartGroutSteelBeamDataService.java @@ -1,6 +1,7 @@ package com.zhgd.xmgl.modules.smartgrout.service; import com.zhgd.xmgl.base.entity.vo.FlexibleBigScreenVo; +import com.zhgd.xmgl.base.entity.vo.TrendOneVo; import com.zhgd.xmgl.modules.smartgrout.entity.SmartGroutSteelBeamData; import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -21,4 +22,6 @@ public interface ISmartGroutSteelBeamDataService extends IService queryList(HashMap paramMap); FlexibleBigScreenVo countStatus(HashMap paramMap); + + List countStatusTrend(HashMap paramMap); } diff --git a/src/main/java/com/zhgd/xmgl/modules/smartgrout/service/impl/SmartGroutSteelBeamDataServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/smartgrout/service/impl/SmartGroutSteelBeamDataServiceImpl.java index 4724b879d..f2e34feb0 100644 --- a/src/main/java/com/zhgd/xmgl/modules/smartgrout/service/impl/SmartGroutSteelBeamDataServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/smartgrout/service/impl/SmartGroutSteelBeamDataServiceImpl.java @@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.smartgrout.service.impl; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.TypeReference; import com.zhgd.xmgl.base.entity.vo.FlexibleBigScreenVo; +import com.zhgd.xmgl.base.entity.vo.TrendOneVo; import com.zhgd.xmgl.modules.smartgrout.entity.SmartGroutSteelBeamData; import com.zhgd.xmgl.modules.smartgrout.mapper.SmartGroutSteelBeamDataMapper; import com.zhgd.xmgl.modules.smartgrout.service.ISmartGroutSteelBeamDataService; @@ -67,6 +68,27 @@ public class SmartGroutSteelBeamDataServiceImpl extends ServiceImpl countStatusTrend(HashMap paramMap) { + Integer type = MapUtils.getInteger(paramMap, "type"); + String format = null; + List dateTimeStrList = null; + if (Objects.equals(type, 1)) { + format = "yyyy-MM-dd HH:00"; + dateTimeStrList = DateUtils.getDateTimeStrList(100, "yyyy-MM-dd HH:00"); + } else if (Objects.equals(type, 2)) { + format = "yyyy-MM-dd"; + dateTimeStrList = DateUtils.getDateTimeStrList(60, "yyyy-MM-dd"); + } else if (Objects.equals(type, 3)) { + format = "yyyy-MM-dd"; + dateTimeStrList = DateUtils.getDateTimeStrList(80, "yyyy-MM-dd"); + } else { + return null; + } + List list = baseMapper.countStatusTrend(paramMap); + return TrendOneVo.fillTrendVos(list, dateTimeStrList, format); + } + private QueryWrapper getQueryWrapper(HashMap paramMap) { QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(SmartGroutSteelBeamData.class, paramMap); queryWrapper.orderByDesc(RefUtil.fieldNameUlc(SmartGroutSteelBeamData::getId));