电表bug修复

This commit is contained in:
guo 2023-11-02 18:21:50 +08:00
parent 0679636869
commit 904d6257d3
9 changed files with 32 additions and 52 deletions

View File

@ -64,7 +64,7 @@ public class AmmeterRecordDetailController {
@ApiOperation(value = "统计电表读数", notes = "统计电表读数", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String"),
@ApiImplicitParam(name = "ammeterNo", value = "电表号", dataType = "String", paramType = "body", required = false),
@ApiImplicitParam(name = "ammeterNo", value = "电表号", dataType = "String", paramType = "body", required = true),
})
@PostMapping(value = "/countAmmeterRecordDetail")
public Result<CountAmmeterRecordDetailVo> countAmmeterRecordDetail(@RequestBody Map<String, Object> map) {

View File

@ -75,9 +75,7 @@ public class AmmeterRecordDetail implements Serializable {
private java.lang.String ammeterName;
@TableField(exist = false)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "哪天的用量")
private java.util.Date day;
private String day;
}

View File

@ -57,7 +57,6 @@ public interface AmmeterRecordDetailMapper extends BaseMapper<AmmeterRecordDetai
List<AmmeterRecordDetail> queryNewestRecord(Map<String, Object> map);
Double getDegreeSum(Map<String, Object> map);
/**
* 查询用电量

View File

@ -61,10 +61,10 @@
SELECT CASE
WHEN t1.max_degree is null THEN
0
WHEN t2.min_degree is null THEN
WHEN t2.max_degree is null THEN
IFNULL(t1.max_degree - t3.min_degree, 0)
ELSE
t1.max_degree - t2.min_degree END use_degree
t1.max_degree - t2.max_degree END use_degree
FROM ammeter a
LEFT JOIN (SELECT degree max_degree, ammeter_no
FROM ammeter_record_detail
@ -78,7 +78,7 @@
ORDER BY ard.add_time desc
LIMIT 1
)) t1 ON t1.ammeter_no = a.ammeter_no
LEFT JOIN (SELECT degree min_degree, ammeter_no
LEFT JOIN (SELECT degree max_degree, ammeter_no
FROM ammeter_record_detail
WHERE id = (
SELECT ard.id
@ -87,7 +87,7 @@
DATE_SUB(curdate(), INTERVAL 1 MONTH),
'%Y-%m')
and ammeter_no = #{ammeterNo}
ORDER BY ard.add_time
ORDER BY ard.add_time desc
LIMIT 1
)) t2 ON t2.ammeter_no = a.ammeter_no
LEFT JOIN (SELECT degree min_degree, ammeter_no
@ -106,7 +106,7 @@
</select>
<select id="queryNewestRecord" resultType="com.zhgd.xmgl.modules.ammeter.entity.AmmeterRecordDetail">
select a.*, b.ammeter_name
select *
from ammeter b
left join (select *
from ammeter_record_detail
@ -116,21 +116,6 @@
group by b.ammeter_no
</select>
<select id="getDegreeSum" resultType="java.lang.Double">
select ifnull(sum(ifnull(a.degree, 0)), 0)
from ammeter_record_detail a
WHERE a.project_sn = #{projectSn}
<if test="ammeterNo != null and ammeterNo != ''">
and a.ammeter_no = #{ammeterNo}
</if>
<if test="startTime != null and startTime != ''">
AND a.add_time &gt;= CONCAT(DATE_FORMAT(#{startTime}, '%Y-%m-%d'), ' 00:00:00')
</if>
<if test="endTime != null and endTime != ''">
AND a.add_time &lt;= CONCAT(DATE_FORMAT(#{endTime}, '%Y-%m-%d'), ' 23:59:59')
</if>
</select>
<select id="queryUseRecord" resultType="com.zhgd.xmgl.modules.ammeter.entity.AmmeterRecordDetail">
SELECT t2.degree - t1.degree as degree, DATE_FORMAT(t2.add_time, '%Y-%m-%d') as day, t1.*
FROM (

View File

@ -93,23 +93,18 @@ public class AmmeterRecordDetailServiceImpl extends ServiceImpl<AmmeterRecordDet
String projectSn = MapUtils.getString(map, "projectSn");
String ammeterNo = MapUtils.getString(map, "ammeterNo");
CountAmmeterRecordDetailVo vo = new CountAmmeterRecordDetailVo();
String today1 = DateUtil.today();
map.put("startTime", today1);
map.put("endTime", today1);
double today = baseMapper.getDegreeSum(map);
map.put("startTime", DateUtils.offsetDayStr(today1, -1));
map.put("endTime", DateUtils.offsetDayStr(today1, -1));
double yesterday = baseMapper.getDegreeSum(map);
map.put("startTime", DateUtil.formatDate(DateUtil.beginOfMonth(new Date())));
map.put("endTime", DateUtil.formatDate(DateUtil.endOfMonth(new Date())));
double thisMonth = baseMapper.getDegreeSum(map);
map.put("startTime", DateUtil.formatDate(DateUtil.offsetMonth(DateUtil.beginOfMonth(new Date()), -1)));
map.put("endTime", DateUtil.formatDate(DateUtil.offsetMonth(DateUtil.endOfMonth(new Date()), -1)));
double lastMonth = baseMapper.getDegreeSum(map);
map.put("type", 1);
List<TrendVo> sevens = queryUseRecordTrend(map);
map.put("type", 3);
List<TrendVo> halfYears = queryUseRecordTrend(map);
double today = Double.parseDouble(sevens.get(sevens.size() - 1).getY());
double yesterday = Double.parseDouble(sevens.get(sevens.size() - 2).getY());
double thisMonth = Double.parseDouble(halfYears.get(halfYears.size() - 1).getY());
double lastMonth = Double.parseDouble(halfYears.get(halfYears.size() - 2).getY());
vo.setYesterdayElectricityConsumption(yesterday);
vo.setThisMonthElectricityConsumption(thisMonth);
vo.setMonthOnMonthElectricityConsumptionThisMonth(NumberUtils.div(thisMonth - lastMonth, lastMonth, 2));
vo.setTodayMonthOnMonthElectricityConsumption(NumberUtils.div(today - yesterday, yesterday, 2));
vo.setMonthOnMonthElectricityConsumptionThisMonth(NumberUtils.div(thisMonth - lastMonth, lastMonth, 2) * 100);
vo.setTodayMonthOnMonthElectricityConsumption(NumberUtils.div(today - yesterday, yesterday, 2) * 100);
AmmeterRecordDetail ard = baseMapper.selectOne(new LambdaQueryWrapper<AmmeterRecordDetail>().eq(AmmeterRecordDetail::getAmmeterNo, ammeterNo).orderByDesc(AmmeterRecordDetail::getId).last("limit 1"));
vo.setDegree(ard != null ? ard.getDegree().doubleValue() : 0.0);
return vo;
@ -174,7 +169,7 @@ public class AmmeterRecordDetailServiceImpl extends ServiceImpl<AmmeterRecordDet
//近半年
List<AmmeterMonthRecord> ammeterMonthRecords = ammeterMonthRecordMapper.selectList(new LambdaQueryWrapper<AmmeterMonthRecord>()
.eq(AmmeterMonthRecord::getAmmeterNo, ammeterNo)
.eq(AmmeterMonthRecord::getAmmeterNo, projectSn));
.eq(AmmeterMonthRecord::getProjectSn, projectSn));
List<String> dateStrList = DateUtils.getDateStrList(90, "yyyy-MM");
List<TrendVo> list = ammeterMonthRecords.stream().map(detail -> {
TrendVo vo = new TrendVo();
@ -187,7 +182,7 @@ public class AmmeterRecordDetailServiceImpl extends ServiceImpl<AmmeterRecordDet
//近一年
List<AmmeterMonthRecord> ammeterMonthRecords = ammeterMonthRecordMapper.selectList(new LambdaQueryWrapper<AmmeterMonthRecord>()
.eq(AmmeterMonthRecord::getAmmeterNo, ammeterNo)
.eq(AmmeterMonthRecord::getAmmeterNo, projectSn));
.eq(AmmeterMonthRecord::getProjectSn, projectSn));
List<String> dateStrList = DateUtils.getDateStrList(93, "yyyy-MM");
List<TrendVo> list = ammeterMonthRecords.stream().map(detail -> {
TrendVo vo = new TrendVo();

View File

@ -93,10 +93,10 @@ public class QualityInspectionRecord implements Serializable {
@ApiModelProperty(value = "紧急程度1一般2严重3紧要")
private java.lang.String urgentLevel;
/**
* 状态1无需整改2待整改3待复查4待核验5合格6不合格
* 状态2待整改3待复查4待核验5合格
*/
@Excel(name = "状态,1无需整改2待整改3待复查4待核验5合格6不合格", width = 15)
@ApiModelProperty(value = "状态,1无需整改2待整改3待复查4待核验5合格6不合格")
@Excel(name = "状态,2待整改3待复查4待核验5合格", width = 15)
@ApiModelProperty(value = "状态,2待整改3待复查4待核验5合格")
private java.lang.Integer status;
/**
* 通知人

View File

@ -19,7 +19,7 @@ public class QualityInspectionRecordVo extends QualityInspectionRecord {
private String routineCheckName;
private String changeName;
private String reviewName;
@ApiModelProperty("是否超时")
@ApiModelProperty("曾经超期未整改")
private Boolean overTime;
@ApiModelProperty("问题描述")
private String problemDescription;

View File

@ -47,7 +47,11 @@
WHERE FIND_IN_SET(system_user.user_id, a.notify_person)) notify_person_name,
subsection.subdivision_project_name subsectionName,
subentry.subdivision_project_name subentryName,
if(a.change_limit_time <![CDATA[<]]> now(), 1, 0) overTime
ifnull((CASE
WHEN a.status = 5 THEN (select rectify_time
from quality_rectify_record
where quality_id = a.id and type = 3 and status = 2) > a.change_limit_time
ELSE a.change_limit_time <![CDATA[<]]> now() END),0) overTime
from quality_inspection_record a
LEFT JOIN enterprise_info b ON a.enterprise_sn = b.enterprise_sn
LEFT JOIN danger_type_record c ON a.danger_type_id = c.id
@ -157,11 +161,10 @@
WHEN a.status = 1 OR a.status = 2 OR a.status = 3 OR a.status = 4 OR a.status = 6 THEN 1
ELSE 0 END)), 0) notCloseNum,
IFNULL(SUM((CASE
WHEN (a.status = 1 OR a.status = 2 OR a.status = 3 OR a.status = 4 OR a.status = 6)
AND DATE_FORMAT(now(), "%Y-%m-%d") > a.change_limit_time THEN 1
WHEN a.status != 5 AND now() > a.change_limit_time THEN 1
ELSE 0 END)), 0) overdueNotCloseNum,
IFNULL(SUM((CASE
WHEN a.status = 2 AND DATE_FORMAT(now(), "%Y-%m-%d") > a.change_limit_time THEN 1
WHEN a.status = 2 AND now() > a.change_limit_time THEN 1
ELSE 0 END)), 0) overdueRectificationNum,
IFNULL(SUM((CASE WHEN a.status = 2 THEN 1 ELSE 0 END)), 0) rectificationNum,
IFNULL(SUM((CASE WHEN a.status = 3 THEN 1 ELSE 0 END)), 0) reviewNum,

View File

@ -23,7 +23,7 @@ public class TaskProgressMaterialTypeServiceImpl extends ServiceImpl<TaskProgres
TaskProgressMaterialType type = baseMapper.selectOne(new LambdaQueryWrapper<TaskProgressMaterialType>()
.eq(TaskProgressMaterialType::getName, taskProgressMaterialType.getName())
.eq(TaskProgressMaterialType::getProjectSn, taskProgressMaterialType.getProjectSn()));
if (type == null) {
if (type != null) {
throw new OpenAlertException("名称已存在");
}
save(taskProgressMaterialType);
@ -36,7 +36,7 @@ public class TaskProgressMaterialTypeServiceImpl extends ServiceImpl<TaskProgres
.eq(TaskProgressMaterialType::getProjectSn, taskProgressMaterialType.getProjectSn())
.ne(TaskProgressMaterialType::getId, taskProgressMaterialType.getId())
);
if (type == null) {
if (type != null) {
throw new OpenAlertException("名称已存在");
}
updateById(taskProgressMaterialType);