获取所有和本周的整改数量以及最近20条隐患记录
This commit is contained in:
parent
8a5b241257
commit
20207ee480
@ -6,6 +6,7 @@ import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerInspectRecord;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.vo.AllTodayDataHdirVO;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.vo.AllWeekDataHdirVO;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.vo.TotalAndWeekHiddenDanger;
|
||||
import com.zhgd.xmgl.modules.dangerous.service.IHiddenDangerInspectRecordService;
|
||||
import com.zhgd.xmgl.util.MessageUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
@ -112,6 +113,13 @@ public class HiddenDangerInspectRecordController {
|
||||
return Result.success(hiddenDangerInspectRecordService.getAllTodayDataHdir(projectSn));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取所有和本周的整改数量以及最近20条隐患记录")
|
||||
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "query", required = true, dataType = "String")
|
||||
@GetMapping(value = "/getTotalAndWeekHiddenDanger")
|
||||
public Result<TotalAndWeekHiddenDanger> getTotalAndWeekHiddenDanger(String projectSn) {
|
||||
return Result.success(hiddenDangerInspectRecordService.getTotalAndWeekHiddenDanger(projectSn));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "所有整改数量、数据分析,本周总数", notes = "所有整改数量、数据分析,本周总数")
|
||||
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "query", required = true, dataType = "String")
|
||||
@GetMapping(value = "/getAllWeekDataHdir")
|
||||
|
||||
@ -0,0 +1,37 @@
|
||||
package com.zhgd.xmgl.modules.dangerous.entity.vo;
|
||||
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerInspectRecord;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@ApiModel(value = "TotalAndWeekHiddenDanger", description = "获取所有和本周的整改数量以及最近20条隐患记录")
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TotalAndWeekHiddenDanger extends AllDataHdirVO {
|
||||
@ApiModelProperty(value = "本周隐患总数")
|
||||
private Long weekTotalNum;
|
||||
|
||||
@ApiModelProperty(value = "本周整改总数")
|
||||
private Long weekRectificationNum;
|
||||
|
||||
@ApiModelProperty(value = "本周未整改总数")
|
||||
private Long weekNoRectificationNum;
|
||||
|
||||
@ApiModelProperty(value = "本周整改占比")
|
||||
private Double weekRectificationRatio;
|
||||
|
||||
@ApiModelProperty(value = "本周未整改占比")
|
||||
private Double weekNoRectificationRatio;
|
||||
|
||||
@ApiModelProperty(value = "最近20条隐患")
|
||||
private List<HiddenDangerInspectRecord> hiddenDangerInspectRecordList;
|
||||
|
||||
}
|
||||
@ -6,6 +6,7 @@ import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerInspectRecord;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.vo.AllTodayDataHdirVO;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.vo.AllWeekDataHdirVO;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.vo.TotalAndWeekHiddenDanger;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@ -56,4 +57,6 @@ public interface HiddenDangerInspectRecordMapper extends BaseMapper<HiddenDanger
|
||||
AllTodayDataHdirVO getAllTodayDataHdir(@Param("projectSn") String projectSn);
|
||||
|
||||
AllWeekDataHdirVO getAllWeekDataHdir(@Param("projectSn") String projectSn);
|
||||
|
||||
TotalAndWeekHiddenDanger getTotalAndWeekHiddenDanger(String projectSn);
|
||||
}
|
||||
|
||||
@ -381,4 +381,19 @@
|
||||
from hidden_danger_inspection_record
|
||||
WHERE project_sn = #{projectSn}
|
||||
</select>
|
||||
<select id="getTotalAndWeekHiddenDanger"
|
||||
resultType="com.zhgd.xmgl.modules.dangerous.entity.vo.TotalAndWeekHiddenDanger"
|
||||
parameterType="java.lang.String">
|
||||
SELECT
|
||||
count( 1 ) allTotalNum,
|
||||
IFNULL( SUM(( IF ( STATUS = 1 OR STATUS = 4, 1, 0 ))), 0 ) allRectificationNum,
|
||||
IFNULL( SUM(( IF (!( STATUS = 1 OR STATUS = 4 ) OR STATUS IS NULL, 1, 0 ))), 0 ) allNoRectificationNum,
|
||||
IFNULL( SUM( YEARWEEK(CURRENT_DATE, 1) = YEARWEEK(inspect_time, 1) ),0 ) weekTotalNum,
|
||||
IFNULL( SUM( IF ( YEARWEEK(CURRENT_DATE, 1) = YEARWEEK(inspect_time, 1) AND ( STATUS = 1 OR STATUS = 4 ), 1, 0 )), 0 ) weekRectificationNum,
|
||||
IFNULL( SUM(( IF ( YEARWEEK(CURRENT_DATE, 1) = YEARWEEK(inspect_time, 1) AND !( STATUS = 1 OR STATUS = 4 OR STATUS IS NULL ), 1, 0 ))), 0 ) weekNoRectificationNum
|
||||
FROM
|
||||
hidden_danger_inspection_record
|
||||
WHERE
|
||||
project_sn = #{projectSn}
|
||||
</select>
|
||||
</mapper>
|
||||
@ -6,6 +6,7 @@ import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerInspectRecord;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.vo.AllTodayDataHdirVO;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.vo.AllWeekDataHdirVO;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.vo.TotalAndWeekHiddenDanger;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
@ -62,4 +63,6 @@ public interface IHiddenDangerInspectRecordService extends IService<HiddenDanger
|
||||
* @return 有整改数量、数据分析,本周总数
|
||||
*/
|
||||
AllWeekDataHdirVO getAllWeekDataHdir(String projectSn);
|
||||
|
||||
TotalAndWeekHiddenDanger getTotalAndWeekHiddenDanger(String projectSn);
|
||||
}
|
||||
|
||||
@ -16,6 +16,7 @@ import com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerRectifyRecord;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.vo.AllDataHdirVO;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.vo.AllTodayDataHdirVO;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.vo.AllWeekDataHdirVO;
|
||||
import com.zhgd.xmgl.modules.dangerous.entity.vo.TotalAndWeekHiddenDanger;
|
||||
import com.zhgd.xmgl.modules.dangerous.mapper.DangerInspectionAcceptanceTableResultMapper;
|
||||
import com.zhgd.xmgl.modules.dangerous.mapper.HiddenDangerInspectRecordMapper;
|
||||
import com.zhgd.xmgl.modules.dangerous.mapper.HiddenDangerRectifyRecordMapper;
|
||||
@ -381,6 +382,24 @@ public class HiddenDangerInspectRecordServiceImpl extends ServiceImpl<HiddenDang
|
||||
return allTodayDataHdirVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TotalAndWeekHiddenDanger getTotalAndWeekHiddenDanger(String projectSn) {
|
||||
if (CharSequenceUtil.isBlank(projectSn)) {
|
||||
throw new IllegalArgumentException("项目sn不能为空!");
|
||||
}
|
||||
// 本周、全部记录数量
|
||||
TotalAndWeekHiddenDanger totalAndWeekHiddenDanger = hiddenDangerInspectRecordMapper.getTotalAndWeekHiddenDanger(projectSn);
|
||||
// 设置今日、全部占比
|
||||
setAllRatio(totalAndWeekHiddenDanger);
|
||||
setWeekRatio(totalAndWeekHiddenDanger);
|
||||
// 最近20条隐患
|
||||
List<HiddenDangerInspectRecord> hiddenDangerInspectRecordList = hiddenDangerInspectRecordMapper.selectList(Wrappers.lambdaQuery(HiddenDangerInspectRecord.class)
|
||||
.eq(HiddenDangerInspectRecord::getProjectSn, projectSn).last("limit 20"));
|
||||
totalAndWeekHiddenDanger.setHiddenDangerInspectRecordList(hiddenDangerInspectRecordList);
|
||||
return totalAndWeekHiddenDanger;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置全部占比
|
||||
*
|
||||
@ -413,4 +432,20 @@ public class HiddenDangerInspectRecordServiceImpl extends ServiceImpl<HiddenDang
|
||||
// 今日未整改占比
|
||||
allTodayDataHdir.setTodayNoRectificationRatio(todayTotalNum != 0L ? NumberUtil.div(NumberUtil.mul(todayNoRectificationNum.longValue(), 100), todayTotalNum.longValue(), 2) : 0d);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置本周占比
|
||||
*
|
||||
* @param totalAndWeekHiddenDanger
|
||||
*/
|
||||
private void setWeekRatio(TotalAndWeekHiddenDanger totalAndWeekHiddenDanger) {
|
||||
// 今日相关数据
|
||||
Long weekTotalNum = totalAndWeekHiddenDanger.getWeekTotalNum();
|
||||
Long weekRectificationNum = totalAndWeekHiddenDanger.getWeekRectificationNum();
|
||||
Long weekNoRectificationNum = totalAndWeekHiddenDanger.getWeekNoRectificationNum();
|
||||
// 今日整改占比
|
||||
totalAndWeekHiddenDanger.setWeekRectificationRatio(weekTotalNum != 0L ? NumberUtil.div(NumberUtil.mul(weekRectificationNum.longValue(), 100), weekTotalNum.longValue(), 2) : 0d);
|
||||
// 今日未整改占比
|
||||
totalAndWeekHiddenDanger.setWeekNoRectificationRatio(weekTotalNum != 0L ? NumberUtil.div(NumberUtil.mul(weekNoRectificationNum.longValue(), 100), weekTotalNum.longValue(), 2) : 0d);
|
||||
}
|
||||
}
|
||||
|
||||
@ -66,6 +66,7 @@ public class MaterialApproachRecordController {
|
||||
HttpServletRequest req) {
|
||||
|
||||
QueryWrapper<MaterialApproachRecord> queryWrapper = QueryGenerator.initQueryWrapper(materialApproachRecord, req.getParameterMap());
|
||||
queryWrapper.lambda().orderByDesc(MaterialApproachRecord::getEntryTime);
|
||||
Page<MaterialApproachRecord> page = new Page<MaterialApproachRecord>(pageNo, pageSize);
|
||||
IPage<MaterialApproachRecord> pageList = materialApproachRecordService.page(page, queryWrapper);
|
||||
return Result.success(pageList);
|
||||
|
||||
@ -21,4 +21,7 @@ public class DetectionDateQO {
|
||||
private String projectSn;
|
||||
|
||||
private Integer size;
|
||||
|
||||
@ApiModelProperty(value = "材料种类")
|
||||
private String materialType;
|
||||
}
|
||||
|
||||
@ -128,5 +128,11 @@ public class SubdivisionAcceptanceQO implements Serializable {
|
||||
*/
|
||||
@ApiModelProperty(value = "更新时间 yyyy-MM-dd HH:mm:ss 结束时间")
|
||||
private String endUpdateDate;
|
||||
|
||||
@ApiModelProperty(value = "查询开始实际验收日期 yyyy-MM-dd")
|
||||
private String beginActualAcceptanceDate;
|
||||
|
||||
@ApiModelProperty(value = "查询结束实际验收日期 yyyy-MM-dd")
|
||||
private String endActualAcceptanceDate;
|
||||
}
|
||||
|
||||
|
||||
@ -47,7 +47,7 @@
|
||||
inner join subdivision_project subsection on subsection.id = sa.subsection_id
|
||||
inner join subdivision_project subentry on subentry.id = sa.subentry_id
|
||||
where sa.project_sn = #{subdivisionAcceptanceQo.projectSn}
|
||||
-- 分部工程id
|
||||
-- 分部工程id
|
||||
<if test="subdivisionAcceptanceQo.subsectionId != null">
|
||||
and sa.subsection_id = #{subdivisionAcceptanceQo.subsectionId}
|
||||
</if>
|
||||
@ -79,6 +79,12 @@
|
||||
<if test="subdivisionAcceptanceQo.endUpdateDate != null and subdivisionAcceptanceQo.endUpdateDate != ''">
|
||||
and #{subdivisionAcceptanceQo.endUpdateDate} >= sa.update_date
|
||||
</if>
|
||||
<if test="subdivisionAcceptanceQo.beginActualAcceptanceDate != null and subdivisionAcceptanceQo.beginActualAcceptanceDate != ''">
|
||||
and #{subdivisionAcceptanceQo.beginActualAcceptanceDate} <![CDATA[ <= ]]> sa.actual_acceptance_date
|
||||
</if>
|
||||
<if test="subdivisionAcceptanceQo.endActualAcceptanceDate != null and subdivisionAcceptanceQo.endActualAcceptanceDate != ''">
|
||||
and #{subdivisionAcceptanceQo.endActualAcceptanceDate} >= sa.actual_acceptance_date
|
||||
</if>
|
||||
order by ${orderColumn} desc
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -79,7 +79,8 @@ public class MaterialDetectionReportServiceImpl extends ServiceImpl<MaterialDete
|
||||
LambdaQueryWrapper<MaterialDetectionReport> wrapper = Wrappers.<MaterialDetectionReport>lambdaQuery()
|
||||
.eq(MaterialDetectionReport::getProjectSn, qo.getProjectSn())
|
||||
.eq(StringUtils.isNoneBlank(qo.getFloor()), MaterialDetectionReport::getFloor, qo.getFloor())
|
||||
.eq(StringUtils.isNoneBlank(qo.getEventType()), MaterialDetectionReport::getEventType, qo.getEventType());
|
||||
.eq(StringUtils.isNoneBlank(qo.getEventType()), MaterialDetectionReport::getEventType, qo.getEventType())
|
||||
.eq(StringUtils.isNoneBlank(qo.getMaterialType()), MaterialDetectionReport::getMaterialType, qo.getMaterialType());
|
||||
wrapper.orderByDesc(MaterialDetectionReport::getDetectionDate);
|
||||
return materialDetectionReportMapper.selectPage(new Page<>(1, qo.getSize()), wrapper).getRecords();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user