在线监测模板调整、数据替换

This commit is contained in:
xy
2024-06-28 16:53:08 +08:00
parent f26ec7003e
commit dbee4ca31d
8 changed files with 57 additions and 3 deletions

View File

@@ -49,6 +49,9 @@ public class OnlineParam extends BaseParam implements Serializable {
@ApiModelProperty(value = "数据类型")
private Integer dataType;
@ApiModelProperty(value = "监测点类型 0:电网侧 1:非电网侧")
private String lineType;
@Data
@EqualsAndHashCode(callSuper = true)
public static class ReportParam extends OnlineParam {
@@ -72,4 +75,12 @@ public class OnlineParam extends BaseParam implements Serializable {
private List<String> idList;
}
@Data
@EqualsAndHashCode(callSuper = true)
public static class DetailParam extends OnlineParam {
@ApiModelProperty(name = "lineId", value = "监测点id")
private String lineId;
}
}

View File

@@ -1,9 +1,11 @@
package com.njcn.supervision.pojo.vo.device;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 类的介绍:
@@ -76,4 +78,8 @@ public class OnlineVo implements Serializable {
@ApiModelProperty("当前流程(null:无流程 1:预警 2:告警)")
private Integer step;
@ApiModelProperty("最新数据时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime updateTime;
}

View File

@@ -83,5 +83,15 @@ public class LineWarningController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "success", methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/overLimitDetail")
@ApiOperation("查看越限详情")
@ApiImplicitParam(name = "param", value = "参数", required = true)
public HttpResult<String> getOverLimitDetail(@RequestBody @Validated OnlineParam.DetailParam param) {
String methodDescribe = getMethodDescribe("getOverLimitDetail");
lineWarningService.getOverLimitDetail(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "success", methodDescribe);
}
}

View File

@@ -15,7 +15,8 @@
A.target_type targetType,
A.over_limit_day overLimitDay,
A.initiate_warning_flag dataResource,
A.step step
A.step step,
pd.Update_Time updateTime
from
supervision_line_warning A
left join pq_line p1 on A.line_id = p1.Id
@@ -26,6 +27,7 @@
left join pq_line_detail B on A.line_id = B.Id
left join pq_dept_line C on A.line_id = C.Line_Id
left join sys_dept D on C.Id = D.Id
left join pq_device pd on pd.Id = p3.Id
<where>
and ${ew.sqlSegment}
</where>

View File

@@ -42,4 +42,11 @@ public interface ILineWarningService extends IService<LineWarning> {
*/
void startReport(OnlineParam.ReportParam param);
/**
* 按监测点id指标id查看越限详情具体展示每日超标的
* @param param
* @return
*/
void getOverLimitDetail(OnlineParam.DetailParam param);
}

View File

@@ -6,6 +6,7 @@ import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.common.pojo.enums.common.ServerEnum;
@@ -199,9 +200,14 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
.collect(Collectors.toList());
QueryWrapper<LineWarning> queryWrapper = new QueryWrapper<>();
queryWrapper.between("A.alarm_time", param.getSearchBeginTime(),param.getSearchEndTime());
//监测点id
if (CollUtil.isNotEmpty(lineList)) {
queryWrapper.in("A.line_id",lineList);
}
//监测点类型
if (StringUtils.isNotBlank(param.getLineType())) {
queryWrapper.eq("B.Power_Flag",Integer.parseInt(param.getLineType()));
}
//查询无数据的监测点
if (Objects.equals(param.getDataType(),0)){
queryWrapper.eq("A.target_type", "0");
@@ -226,7 +232,8 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
param.setDeptName(deptName);
WordUtil2 wordUtil2 = new WordUtil2();
String inputUrl = "file/warningReport.docx";
String fileName = "电能[告]"+param.getYear()+""+param.getNumber()+"号-"+param.getDeptName()+"地市 电能质量技术监督告警单.docx";
String alarmType = param.getType() == 1 ? "预警" : "告警";
String fileName = "电能[告]"+param.getYear()+""+param.getNumber()+"号-"+param.getDeptName()+"地市 电能质量技术监督"+alarmType+"单.docx";
//获取无数据监测点集合
List<ReportLineInfoVo> list1 = getReportLineInfo(true,param.getIdList(),null,param.getSearchBeginTime(),param.getSearchEndTime(),param.getDeptId(),allLineWarnings);
//获取谐波电压超标监测点集合
@@ -246,6 +253,7 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
dataMap.put("${harmonicV}", CollUtil.isEmpty(list2)?"0":String.valueOf(list2.size()));
dataMap.put("${harmonicI}", CollUtil.isEmpty(list3)?"0":String.valueOf(list3.size()));
dataMap.put("${alarmDay}", String.valueOf(param.getAlarmThreshold()));
dataMap.put("${title}", alarmType);
List<String[]> dataList1 = new ArrayList<String[]>(),dataList2 = new ArrayList<String[]>(),dataList3 = new ArrayList<String[]>();
if (CollUtil.isNotEmpty(list1)) {
@@ -299,6 +307,15 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
public void getOverLimitDetail(OnlineParam.DetailParam param) {
}
public List<ReportLineInfoVo> getReportLineInfo(boolean type, List<String> idList, String codeId, String startTime, String endTime, String deptId,List<LineWarning> allLineWarnings) {

View File

@@ -112,7 +112,8 @@ public class SupervisionTempLineDebugPOServiceImpl extends ServiceImpl<Supervisi
bpmProcessInstanceCreateReqDTO.setBusinessKey(id);
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(supervisionTempLineReportParam.getStartUserSelectAssignees());
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
String processInstanceId = bpmProcessFeignClient.createProcessInstance(supervisionTempLineDebugPO.getCreateBy(),bpmProcessInstanceCreateReqDTO).getData();
//fixme 这边supervisionTempLineDebugPO.getUpdateBy()为null先改成当前用户
String processInstanceId = bpmProcessFeignClient.createProcessInstance(RequestUtil.getUserIndex(),bpmProcessInstanceCreateReqDTO).getData();
// 将工作流的编号,更新到流程单中
supervisionTempLineDebugPO.setProcessInstanceId(processInstanceId);
this.updateById(supervisionTempLineDebugPO);