Merge remote-tracking branch 'origin/guoshengxiong' into guoshengxiong

This commit is contained in:
pengjie 2024-05-11 14:59:03 +08:00
commit 00635295ed
13 changed files with 201 additions and 83 deletions

View File

@ -12,6 +12,7 @@ import com.zhgd.xmgl.modules.basicdata.entity.DictionaryItem;
import com.zhgd.xmgl.modules.basicdata.mapper.DictionaryItemMapper;
import com.zhgd.xmgl.modules.basicdata.mapper.DictionaryMapper;
import com.zhgd.xmgl.modules.basicdata.service.IDictionaryItemService;
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord;
import com.zhgd.xmgl.util.RefUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -21,6 +22,10 @@ import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
@Service

View File

@ -44,6 +44,7 @@ public class AiStatisticController {
@ApiOperation(value = "AI预警类型统计", notes = "AI预警类型统计")
@ApiImplicitParams({
@ApiImplicitParam(name = "sn", value = "公司或项目sn", paramType = "body", required = true, dataType = "String"),
@ApiImplicitParam(name = "type", value = "不传查今日1查今明两天", paramType = "body", required = false, dataType = "Integer"),
})
@PostMapping("/selectAiAnalyseHardWareAlarmTypeCount")
public Result<AiAnalyseHardWareAlarmTypeCountVO> selectAiAnalyseHardWareAlarmTypeCount(@RequestBody Map<String, Object> map) {

View File

@ -181,17 +181,5 @@ public class AiAnalyseHardWareAlarmRecord implements Serializable {
@TableField(exist = false)
@ApiModelProperty(value = "AI扣分规则")
private XzAiDeductRule aiDeductRule;
@TableField(exist = false)
@ApiModelProperty(value = "报警数量")
private Integer alarmNum;
@TableField(exist = false)
@ApiModelProperty(value = "日期")
private String date;
@TableField(exist = false)
@ApiModelProperty(value = "今日报警数量")
private Integer alarmNumToday;
@TableField(exist = false)
@ApiModelProperty(value = "今日较昨日报警数量")
private Integer subYesterday;
}

View File

@ -0,0 +1,22 @@
package com.zhgd.xmgl.modules.video.entity.vo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord;
import com.zhgd.xmgl.modules.xz.entity.XzAiDeductRule;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class AiAnalyseHardWareAlarmRecordVo extends AiAnalyseHardWareAlarmRecord {
@ApiModelProperty(value = "AI扣分规则")
private XzAiDeductRule aiDeductRule;
@ApiModelProperty(value = "报警数量")
private Integer alarmNum;
@ApiModelProperty(value = "日期")
private String date;
@ApiModelProperty(value = "今日报警数量")
private Integer alarmNumToday;
@ApiModelProperty(value = "今日较昨日报警数量")
private Integer subYesterday;
}

View File

@ -1,12 +1,11 @@
package com.zhgd.xmgl.modules.video.entity.vo;
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord;
import lombok.Data;
import java.util.List;
@Data
public class AiAnalyseHardWareAlarmTypeCountVO {
private List<AiAnalyseHardWareAlarmRecord> alarmList;
private List<AiAnalyseHardWareAlarmRecordVo> alarmList;
private Integer totalAlarmNum;
}

View File

@ -6,6 +6,7 @@ import com.zhgd.annotation.DataScope;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord;
import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmRecordVo;
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;
@ -35,7 +36,7 @@ public interface AiAnalyseHardWareAlarmRecordMapper extends BaseMapper<AiAnalyse
List<SectorOneVo> getAiAnalyseHardWareAlarmTotal(Map<String, Object> map);
List<AiAnalyseHardWareAlarmRecord> selectAiAnalyseHardWareAlarmTypeCount(Map<String, Object> map);
List<AiAnalyseHardWareAlarmRecordVo> selectAiAnalyseHardWareAlarmTypeCount(Map<String, Object> map);
List<Map<String, Object>> selectProjectAiAlarmCountList(Map<String, Object> map);

View File

@ -9,15 +9,15 @@
<select id="queryAiAnalyseHardWareAlarmPageListTwo"
resultMap="queryAiAnalyseHardWareAlarmPageListTwoRm">
SELECT a.*,
'安全部' as department_name,
s.real_name,
group_concat(wi.worker_name) as worker_info_str
'安全部' as department_name,
s.real_name,
group_concat(wi.worker_name) as worker_info_str
FROM ai_analyse_hard_ware_alarm_record a
LEFT JOIN system_user s ON a.rectification_person_id = s.user_id
LEFT join department_info di on s.department = di.department_name
left join worker_info_to_ai_analyse_hard_ware_alarm_record witaahwar on a.id =
witaahwar.ai_analyse_hard_ware_alarm_record_id
left join worker_info wi on wi.id = witaahwar.worker_info_id
LEFT JOIN system_user s ON a.rectification_person_id = s.user_id
LEFT join department_info di on s.department = di.department_name
left join worker_info_to_ai_analyse_hard_ware_alarm_record witaahwar on a.id =
witaahwar.ai_analyse_hard_ware_alarm_record_id
left join worker_info wi on wi.id = witaahwar.worker_info_id
WHERE a.project_sn = #{param.projectSn}
<if test="param.pushPersonId != null">
and find_in_set(#{param.pushPersonId}, a.push_person_ids)
@ -188,15 +188,16 @@
order by count desc
</select>
<select id="selectAiAnalyseHardWareAlarmTypeCount"
resultType="com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord" parameterType="java.util.Map">
resultType="com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmRecordVo"
parameterType="java.util.Map">
SELECT w1.alarm_type alarmType,
COUNT(1) alarmNum,
COUNT(1) alarmNum,
DATE_FORMAT(w1.create_time, '%Y-%m-%d') date
from ai_analyse_hard_ware_alarm_record w1
INNER JOIN project a ON w1.project_sn = a.project_sn
LEFT JOIN company cp ON a.company_sn = cp.company_sn
INNER JOIN company b ON cp.parent_id = b.company_id
Left JOIN company f ON b.parent_id = f.company_id
INNER JOIN project a ON w1.project_sn = a.project_sn
LEFT JOIN company cp ON a.company_sn = cp.company_sn
INNER JOIN company b ON cp.parent_id = b.company_id
Left JOIN company f ON b.parent_id = f.company_id
where w1.create_time &gt;= CONCAT(DATE_FORMAT(DATE_SUB(now(), interval 1 day), '%Y-%m-%d'), ' 00:00:00')
<if test="companyType == '1'.toString()">
and f.headquarters_sn = #{sn}

View File

@ -4,10 +4,13 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant;
import com.zhgd.xmgl.modules.basicdata.entity.Company;
import com.zhgd.xmgl.modules.basicdata.entity.DictionaryItem;
import com.zhgd.xmgl.modules.basicdata.service.ICompanyService;
import com.zhgd.xmgl.modules.basicdata.service.impl.DictionaryItemServiceImpl;
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord;
import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmRecordVo;
import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTypeCountVO;
import com.zhgd.xmgl.modules.video.mapper.AiAnalyseHardWareAlarmRecordMapper;
import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper;
@ -18,10 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@ -34,6 +34,8 @@ import java.util.stream.Collectors;
@Service
public class AiStatisticServiceImpl implements IAiStatisticService {
@Autowired
DictionaryItemServiceImpl dictionaryItemService;
@Autowired
private ICompanyService companyService;
@Autowired
@ -63,27 +65,74 @@ public class AiStatisticServiceImpl implements IAiStatisticService {
return data;
}
@Autowired
DictionaryItemServiceImpl dictionaryItemService;
@Override
public AiAnalyseHardWareAlarmTypeCountVO selectAiAnalyseHardWareAlarmTypeCount(Map<String, Object> param) {
Map<String, Object> map = companyService.getCompanyType(param);
List<AiAnalyseHardWareAlarmRecord> alarmList = aiAnalyseHardWareAlarmRecordMapper.selectAiAnalyseHardWareAlarmTypeCount(map);
Map<String, List<AiAnalyseHardWareAlarmRecord>> dateMap = alarmList.stream().collect(Collectors.groupingBy(AiAnalyseHardWareAlarmRecord::getDate));
List<AiAnalyseHardWareAlarmRecord> todayList = dateMap.get(DateUtil.today());
List<AiAnalyseHardWareAlarmRecord> yesterdayList = dateMap.get(DateUtil.formatDate(DateUtil.offsetDay(new Date(), -1)));
Map<Integer, AiAnalyseHardWareAlarmRecord> todayMap = todayList.stream().collect(Collectors.toMap(AiAnalyseHardWareAlarmRecord::getAlarmType, Function.identity(), (aiAnalyseHardWareAlarmRecord, aiAnalyseHardWareAlarmRecord2) -> aiAnalyseHardWareAlarmRecord));
Map<Integer, AiAnalyseHardWareAlarmRecord> yesterdayMap = yesterdayList.stream().collect(Collectors.toMap(AiAnalyseHardWareAlarmRecord::getAlarmType, Function.identity(), (aiAnalyseHardWareAlarmRecord, aiAnalyseHardWareAlarmRecord2) -> aiAnalyseHardWareAlarmRecord));
List<AiAnalyseHardWareAlarmRecordVo> alarmList = aiAnalyseHardWareAlarmRecordMapper.selectAiAnalyseHardWareAlarmTypeCount(map);
List<AiAnalyseHardWareAlarmRecordVo> rsList = new ArrayList<>();
Map<String, List<AiAnalyseHardWareAlarmRecordVo>> dateMap = alarmList.stream().collect(Collectors.groupingBy(AiAnalyseHardWareAlarmRecordVo::getDate));
List<AiAnalyseHardWareAlarmRecordVo> todayList = dateMap.get(DateUtil.today());
if (todayList == null) {
todayList = new ArrayList<>();
}
Integer type = MapUtils.getInteger(param, "type");
if (Objects.equals(type, 1)) {
//今明
List<AiAnalyseHardWareAlarmRecordVo> yesterdayList = dateMap.get(DateUtil.formatDate(DateUtil.offsetDay(new Date(), -1)));
if (yesterdayList == null) {
yesterdayList = new ArrayList<>();
}
Map<Integer, AiAnalyseHardWareAlarmRecordVo> todayMap = todayList.stream().collect(Collectors.toMap(AiAnalyseHardWareAlarmRecordVo::getAlarmType, Function.identity(), (aiAnalyseHardWareAlarmRecord, aiAnalyseHardWareAlarmRecord2) -> aiAnalyseHardWareAlarmRecord));
Map<Integer, AiAnalyseHardWareAlarmRecordVo> yesterdayMap = yesterdayList.stream().collect(Collectors.toMap(AiAnalyseHardWareAlarmRecordVo::getAlarmType, Function.identity(), (aiAnalyseHardWareAlarmRecord, aiAnalyseHardWareAlarmRecord2) -> aiAnalyseHardWareAlarmRecord));
List<Integer> typeList = alarmList.stream().map(AiAnalyseHardWareAlarmRecord::getAlarmType).distinct().collect(Collectors.toList());
for (Integer t1 : typeList) {
AiAnalyseHardWareAlarmRecordVo today = todayMap.get(t1);
AiAnalyseHardWareAlarmRecordVo yesterday = yesterdayMap.get(t1);
if (today == null) {
yesterday.setAlarmNumToday(0);
yesterday.setSubYesterday(-yesterday.getAlarmNum());
rsList.add(yesterday);
} else if (yesterday == null) {
today.setAlarmNumToday(today.getAlarmNum());
today.setSubYesterday(today.getAlarmNum());
rsList.add(today);
} else {
today.setAlarmNumToday(today.getAlarmNum());
today.setSubYesterday(today.getAlarmNum() - yesterday.getAlarmNum());
rsList.add(today);
}
}
} else {
rsList = todayList;
for (AiAnalyseHardWareAlarmRecordVo record : rsList) {
record.setAlarmNumToday(record.getAlarmNum());
}
}
//设置数量和名称
Integer totalAlarmNum = 0;
if (CollUtil.isNotEmpty(alarmList)) {
for (AiAnalyseHardWareAlarmRecord dev : alarmList) {
if (CollUtil.isNotEmpty(rsList)) {
for (AiAnalyseHardWareAlarmRecordVo dev : rsList) {
totalAlarmNum = totalAlarmNum + dev.getAlarmNum();
}
}
Map<String, List<DictionaryItem>> dictMap = new HashMap<>();
for (AiAnalyseHardWareAlarmRecordVo record : rsList) {
String projectSn = record.getProjectSn();
List<DictionaryItem> dictionaryItems = dictMap.get(projectSn);
List<DictionaryItem> dictList = new ArrayList<>();
if (dictionaryItems == null) {
dictList = dictionaryItemService.getDictList(DictionaryConstant.AI_ANALYSE_HARD_WARE_ALARM_RECORD_TYPE, projectSn);
dictMap.put(projectSn, dictList);
}
Map<String, DictionaryItem> typeMap = dictList.stream().collect(Collectors.toMap(DictionaryItem::getData, Function.identity(), (dictionaryItem, dictionaryItem2) -> dictionaryItem));
DictionaryItem item = typeMap.get(record.getAlarmType() + "");
if (item != null) {
record.setAlarmTypeName(item.getName());
}
}
AiAnalyseHardWareAlarmTypeCountVO vo = new AiAnalyseHardWareAlarmTypeCountVO();
vo.setAlarmList(alarmList);
vo.setAlarmList(rsList);
vo.setTotalAlarmNum(totalAlarmNum);
return vo;
}

View File

@ -1,5 +1,6 @@
package com.zhgd.xmgl.modules.xz.security.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.mybatis.EntityMap;
@ -332,9 +333,11 @@ public class XzSecurityQualityInspectionRecordController {
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
@ApiImplicitParam(name = "inspectTime_begin", value = "检查开始时间", paramType = "body", required = false, dataType = "String"),
@ApiImplicitParam(name = "inspectTime_end", value = "检查结束时间", paramType = "body", required = false, dataType = "String"),
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "body", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "body", required = true, dataType = "Integer"),
})
@PostMapping(value = "/statsByChangeId")
public Result<List<StatsByChangeIdVo>> statsByChangeId(@ApiIgnore @RequestBody Map<String, Object> paramMap) {
public Result<Page<StatsByChangeIdVo>> statsByChangeId(@ApiIgnore @RequestBody Map<String, Object> paramMap) {
return Result.success(qualityInspectionRecordService.statsByChangeId(paramMap));
}
@ -356,9 +359,11 @@ public class XzSecurityQualityInspectionRecordController {
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
@ApiImplicitParam(name = "inspectTime_begin", value = "检查开始时间", paramType = "body", required = false, dataType = "String"),
@ApiImplicitParam(name = "inspectTime_end", value = "检查结束时间", paramType = "body", required = false, dataType = "String"),
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "body", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "body", required = true, dataType = "Integer"),
})
@PostMapping(value = "/statsByInspectMan")
public Result<List<StatsByInspectManVo>> statsByInspectMan(@ApiIgnore @RequestBody Map<String, Object> paramMap) {
public Result<Page<StatsByInspectManVo>> statsByInspectMan(@ApiIgnore @RequestBody Map<String, Object> paramMap) {
return Result.success(qualityInspectionRecordService.statsByInspectMan(paramMap));
}
@ -368,11 +373,22 @@ public class XzSecurityQualityInspectionRecordController {
@ApiImplicitParam(name = "inspectTime_begin", value = "检查开始时间", paramType = "body", required = false, dataType = "String"),
@ApiImplicitParam(name = "inspectTime_end", value = "检查结束时间", paramType = "body", required = false, dataType = "String"),
@ApiImplicitParam(name = "notQualified", value = "未销项", paramType = "body", required = false, dataType = "String"),
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "body", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "body", required = true, dataType = "Integer"),
})
@PostMapping(value = "/statsByEnterprise")
public Result<List<StatsByEnterpriseVo>> statsByEnterprise(@ApiIgnore @RequestBody Map<String, Object> paramMap) {
public Result<Page<StatsByEnterpriseVo>> statsByEnterprise(@ApiIgnore @RequestBody Map<String, Object> paramMap) {
return Result.success(qualityInspectionRecordService.statsByEnterprise(paramMap));
}
@ApiOperation(value = "隐患类型分析", notes = "隐患类型分析", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
@ApiImplicitParam(name = "isNotQualified", value = "是否未销项", paramType = "body", required = false, dataType = "Integer"),
})
@PostMapping(value = "/statsDangerType")
public Result<SectorVo> statsDangerType(@ApiIgnore @RequestBody Map<String, Object> paramMap) {
return Result.success(qualityInspectionRecordService.statsDangerType(paramMap));
}
}

View File

@ -65,11 +65,13 @@ public interface XzSecurityQualityInspectionRecordMapper extends BaseMapper<XzSe
List<TrendOneVo> countQualityInspectionRecordRegion(HashMap<String, Object> paramMap);
List<StatsByChangeIdVo> statsByChangeId(Map<String, Object> paramMap);
Page<StatsByChangeIdVo> statsByChangeId(@Param("param") Map<String, Object> paramMap, Page page);
ArrayList<SectorOneVo> countDangerLevel(Map<String, Object> paramMap);
List<StatsByInspectManVo> StatsByInspectManVo(Map<String, Object> paramMap);
Page<StatsByInspectManVo> statsByInspectManVo(@Param("param") Map<String, Object> paramMap, Page page);
List<StatsByEnterpriseVo> statsByEnterprise(Map<String, Object> paramMap);
Page<StatsByEnterpriseVo> statsByEnterprise(@Param("param") Map<String, Object> paramMap, Page page);
List<SectorOneVo> statsDangerType(Map<String, Object> paramMap);
}

View File

@ -555,14 +555,14 @@
left join system_user su on su.user_id = hdir.change_id
WHERE record_type = 1
and hdir.status != 6
and project_sn = #{projectSn}
<if test="inspectTime_begin != null and inspectTime_begin != ''">
and hdir.inspect_time <![CDATA[>=]]> #{inspectTime_begin}
and project_sn = #{param.projectSn}
<if test="param.inspectTime_begin != null and param.inspectTime_begin != ''">
and hdir.inspect_time <![CDATA[>=]]> #{param.inspectTime_begin}
</if>
<if test="inspectTime_end != null and inspectTime_end != ''">
and hdir.inspect_time <![CDATA[<=]]> if(LENGTH(#{inspectTime_end}) = 10,
CONCAT(DATE_FORMAT(#{inspectTime_end}, '%Y-%m-%d'), ' 23:59:59'),
#{inspectTime_end})
<if test="param.inspectTime_end != null and param.inspectTime_end != ''">
and hdir.inspect_time <![CDATA[<=]]> if(LENGTH(#{param.inspectTime_end}) = 10,
CONCAT(DATE_FORMAT(#{param.inspectTime_end}, '%Y-%m-%d'), ' 23:59:59'),
#{param.inspectTime_end})
</if>
group by hdir.change_id
order by rectifiedNum desc) t
@ -589,7 +589,7 @@
group by enumType
</select>
<select id="StatsByInspectManVo" resultType="com.zhgd.xmgl.modules.xz.security.entity.vo.StatsByInspectManVo">
<select id="statsByInspectManVo" resultType="com.zhgd.xmgl.modules.xz.security.entity.vo.StatsByInspectManVo">
select t.*,
round(IFNULL(TRUNCATE(IFNULL(t.rectifiedNum, 0) / IFNULL(totalNum, 0), 4), 0) * 100,
2) rectifiedNumRatio,
@ -605,14 +605,14 @@
left join system_user su on su.user_id = hdir.change_id
WHERE record_type = 1
and hdir.status != 6
and project_sn = #{projectSn}
<if test="inspectTime_begin != null and inspectTime_begin != ''">
and hdir.inspect_time <![CDATA[>=]]> #{inspectTime_begin}
and project_sn = #{param.projectSn}
<if test="param.inspectTime_begin != null and param.inspectTime_begin != ''">
and hdir.inspect_time <![CDATA[>=]]> #{param.inspectTime_begin}
</if>
<if test="inspectTime_end != null and inspectTime_end != ''">
and hdir.inspect_time <![CDATA[<=]]> if(LENGTH(#{inspectTime_end}) = 10,
CONCAT(DATE_FORMAT(#{inspectTime_end}, '%Y-%m-%d'), ' 23:59:59'),
#{inspectTime_end})
<if test="param.inspectTime_end != null and param.inspectTime_end != ''">
and hdir.inspect_time <![CDATA[<=]]> if(LENGTH(#{param.inspectTime_end}) = 10,
CONCAT(DATE_FORMAT(#{param.inspectTime_end}, '%Y-%m-%d'), ' 23:59:59'),
#{param.inspectTime_end})
</if>
group by hdir.inspect_man_id
order by rectifiedNum desc) t
@ -633,17 +633,38 @@
left join enterprise_info ei on ei.id = hdir.enterprise_id
WHERE record_type = 1
and hdir.status != 6
and project_sn = #{projectSn}
<if test="inspectTime_begin != null and inspectTime_begin != ''">
and hdir.inspect_time <![CDATA[>=]]> #{inspectTime_begin}
and project_sn = #{param.projectSn}
<if test="param.inspectTime_begin != null and param.inspectTime_begin != ''">
and hdir.inspect_time <![CDATA[>=]]> #{param.inspectTime_begin}
</if>
<if test="inspectTime_end != null and inspectTime_end != ''">
and hdir.inspect_time <![CDATA[<=]]> if(LENGTH(#{inspectTime_end}) = 10,
CONCAT(DATE_FORMAT(#{inspectTime_end}, '%Y-%m-%d'), ' 23:59:59'),
#{inspectTime_end})
<if test="param.inspectTime_end != null and param.inspectTime_end != ''">
and hdir.inspect_time <![CDATA[<=]]> if(LENGTH(#{param.inspectTime_end}) = 10,
CONCAT(DATE_FORMAT(#{param.inspectTime_end}, '%Y-%m-%d'), ' 23:59:59'),
#{param.inspectTime_end})
</if>
group by hdir.enterprise_id
order by rectifiedNum desc) t
</select>
<select id="statsDangerType" resultType="com.zhgd.xmgl.base.entity.vo.SectorOneVo">
select count(*) count, SUBSTRING_INDEX(a.danger_item_content,'/',1) as name
from xz_security_quality_inspection_record a
where project_sn = #{projectSn}
and a.record_type = 1
and a.status != 6
<if test="isOverdueRectification == '1'.toString()">
and (a.status = 2 AND now() > a.change_limit_time)
</if>
<if test="isNotQualified == '1'.toString()">
and a.status != 5
</if>
<if test="inspectStartTime != null and inspectStartTime != ''">
and a.inspect_time >= #{inspectStartTime}
</if>
<if test="inspectEndTime != null and inspectEndTime != ''">
and a.inspect_time &lt;= #{inspectEndTime}
</if>
group by name
</select>
</mapper>

View File

@ -1,5 +1,6 @@
package com.zhgd.xmgl.modules.xz.security.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.mybatis.EntityMap;
@ -62,7 +63,7 @@ public interface IXzSecurityQualityInspectionRecordService extends IService<XzSe
List<TrendOneVo> countQualityInspectionRecordRegion(HashMap<String, Object> paramMap);
List<StatsByChangeIdVo> statsByChangeId(Map<String, Object> paramMap);
Page<StatsByChangeIdVo> statsByChangeId(Map<String, Object> paramMap);
void revocation(XzSecurityQualityInspectionRecord xzSecurityQualityInspectionRecord);
@ -74,7 +75,9 @@ public interface IXzSecurityQualityInspectionRecordService extends IService<XzSe
SectorVo countDangerLevel(Map<String, Object> paramMap);
List<StatsByInspectManVo> statsByInspectMan(Map<String, Object> paramMap);
Page<StatsByInspectManVo> statsByInspectMan(Map<String, Object> paramMap);
List<StatsByEnterpriseVo> statsByEnterprise(Map<String, Object> paramMap);
Page<StatsByEnterpriseVo> statsByEnterprise(Map<String, Object> paramMap);
SectorVo statsDangerType(Map<String, Object> paramMap);
}

View File

@ -44,6 +44,7 @@ import com.zhgd.xmgl.push.config.PushPayloads;
import com.zhgd.xmgl.util.JxlExcelUtils;
import com.zhgd.xmgl.util.MessageUtil;
import com.zhgd.xmgl.util.NumberUtils;
import com.zhgd.xmgl.util.PageUtil;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
@ -454,8 +455,9 @@ public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends Serv
}
@Override
public List<StatsByChangeIdVo> statsByChangeId(Map<String, Object> paramMap) {
return baseMapper.statsByChangeId(paramMap);
public Page<StatsByChangeIdVo> statsByChangeId(Map<String, Object> paramMap) {
Page page = PageUtil.getPage(paramMap);
return baseMapper.statsByChangeId(paramMap, page);
}
@Override
@ -537,13 +539,21 @@ public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends Serv
}
@Override
public List<StatsByInspectManVo> statsByInspectMan(Map<String, Object> paramMap) {
return baseMapper.StatsByInspectManVo(paramMap);
public Page<StatsByInspectManVo> statsByInspectMan(Map<String, Object> paramMap) {
Page page = PageUtil.getPage(paramMap);
return baseMapper.statsByInspectManVo(paramMap, page);
}
@Override
public List<StatsByEnterpriseVo> statsByEnterprise(Map<String, Object> paramMap) {
return baseMapper.statsByEnterprise(paramMap);
public Page<StatsByEnterpriseVo> statsByEnterprise(Map<String, Object> paramMap) {
Page page = PageUtil.getPage(paramMap);
return baseMapper.statsByEnterprise(paramMap, page);
}
@Override
public SectorVo statsDangerType(Map<String, Object> paramMap) {
List<SectorOneVo> data = baseMapper.statsDangerType(paramMap);
return SectorVo.getSectorVo(data);
}
private void recoverScore(XzSecurityQualityInspectionRecord hiddenDangerInspectRecord) {