电表bug修复
This commit is contained in:
parent
0679636869
commit
904d6257d3
@ -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) {
|
||||
|
||||
@ -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;
|
||||
|
||||
}
|
||||
|
||||
@ -57,7 +57,6 @@ public interface AmmeterRecordDetailMapper extends BaseMapper<AmmeterRecordDetai
|
||||
|
||||
List<AmmeterRecordDetail> queryNewestRecord(Map<String, Object> map);
|
||||
|
||||
Double getDegreeSum(Map<String, Object> map);
|
||||
|
||||
/**
|
||||
* 查询用电量
|
||||
|
||||
@ -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 >= CONCAT(DATE_FORMAT(#{startTime}, '%Y-%m-%d'), ' 00:00:00')
|
||||
</if>
|
||||
<if test="endTime != null and endTime != ''">
|
||||
AND a.add_time <= 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 (
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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;
|
||||
/**
|
||||
* 通知人
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user