预警单/告警单业务提交
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
package com.njcn.process.controller;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.process.pojo.param.StrategyParam;
|
||||
import com.njcn.process.pojo.po.ThsWarnStrategy;
|
||||
import com.njcn.process.service.ThsWarnStrategyService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2023-03-10
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/process/thsWarnStrategy")
|
||||
@Api(tags = "(预警单-告警单)策略")
|
||||
@RequiredArgsConstructor
|
||||
public class ThsWarnStrategyController extends BaseController {
|
||||
|
||||
private final ThsWarnStrategyService thsWarnStrategyService;
|
||||
|
||||
@PostMapping("/getStrategyPage")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("预警单/告警单策略分页查询")
|
||||
public HttpResult<Page<ThsWarnStrategy>> getStrategyPage(@RequestBody @Validated StrategyParam.StrategyPageParam param) {
|
||||
String methodDescribe = getMethodDescribe("getStrategyPage");
|
||||
Page<ThsWarnStrategy> page = thsWarnStrategyService.strategyPage(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe);
|
||||
}
|
||||
|
||||
@PostMapping("/insertStrategy")
|
||||
@ApiOperation(value = "预警单/告警单单条新增")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
public HttpResult<Boolean> insertStrategy(@RequestBody @Validated StrategyParam.StrategyInsertParam param) {
|
||||
String methodDescribe = getMethodDescribe("insertStrategy");
|
||||
Boolean flag = thsWarnStrategyService.insertStrategy(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||
}
|
||||
|
||||
@PostMapping("/bindStrategy")
|
||||
@ApiOperation(value = "预警单/告警单信息绑定")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
public HttpResult<Boolean> bindStrategy(@RequestBody @Validated StrategyParam.BindParam param) {
|
||||
String methodDescribe = getMethodDescribe("bindStrategy");
|
||||
Boolean flag = thsWarnStrategyService.bindStrategy(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||
}
|
||||
|
||||
@PostMapping("/getUpdateStrategy")
|
||||
@ApiOperation(value = "预警单/告警单修改详细查询")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
public HttpResult<StrategyParam.StrategyUpdateParam> getUpdateStrategy(@RequestParam("id") String id) {
|
||||
String methodDescribe = getMethodDescribe("getUpdateStrategy");
|
||||
StrategyParam.StrategyUpdateParam updateStrategy = thsWarnStrategyService.getUpdateStrategy(id);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, updateStrategy, methodDescribe);
|
||||
}
|
||||
|
||||
@PostMapping("/updateStrategy")
|
||||
@ApiOperation(value = "预警单/告警单修改")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
public HttpResult<Boolean> updateStrategy(@RequestBody @Validated StrategyParam.StrategyUpdateParam param) {
|
||||
String methodDescribe = getMethodDescribe("updateStrategy");
|
||||
Boolean flag = thsWarnStrategyService.updateStrategy(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||
}
|
||||
|
||||
@PostMapping("/updateStrategyState")
|
||||
@ApiOperation(value = "预警单/告警单修改状态")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
public HttpResult<Boolean> updateStrategyState(@RequestBody @Validated StrategyParam.StrategyStateParam param) {
|
||||
String methodDescribe = getMethodDescribe("updateStrategyState");
|
||||
Boolean flag = thsWarnStrategyService.updateStrategyState(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||
}
|
||||
|
||||
@PostMapping("/getMonitor")
|
||||
@ApiOperation(value = "监测点查询接口")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
public HttpResult<List<StrategyParam.MonitorTree>> getMonitor(@Param("monitorTag") String monitorTag,@Param("orgId") String orgId) {
|
||||
String methodDescribe = getMethodDescribe("getMonitor");
|
||||
List<StrategyParam.MonitorTree> monitor = thsWarnStrategyService.getMonitor(monitorTag, orgId);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitor, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.process.mapper;
|
||||
|
||||
import com.njcn.process.pojo.po.ThsDeptAlarm;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2023-03-10
|
||||
*/
|
||||
public interface ThsDeptAlarmMapper extends BaseMapper<ThsDeptAlarm> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.process.mapper;
|
||||
|
||||
import com.njcn.process.pojo.po.ThsWarnStrategyAss;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2023-03-10
|
||||
*/
|
||||
public interface ThsWarnStrategyAssMapper extends BaseMapper<ThsWarnStrategyAss> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.njcn.process.mapper;
|
||||
|
||||
import com.njcn.process.pojo.param.StrategyParam;
|
||||
import com.njcn.process.pojo.po.ThsWarnStrategy;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2023-03-10
|
||||
*/
|
||||
public interface ThsWarnStrategyMapper extends BaseMapper<ThsWarnStrategy> {
|
||||
|
||||
/***
|
||||
* 预警单/告警单修改详细查询
|
||||
* @author wr
|
||||
* @date 2023-03-10 13:31
|
||||
* @param id
|
||||
* @return StrategyUpdateParam
|
||||
*/
|
||||
StrategyParam.StrategyUpdateParam selectUpdateStrategy(@Param("id") String id);
|
||||
|
||||
|
||||
/***
|
||||
* 获取指标明细id
|
||||
* @author wr
|
||||
* @date 2023-03-10 13:46
|
||||
* @param id
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getStrategyDetail(@Param("id") String id);
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.njcn.process.mapper.ThsDeptAlarmMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.njcn.process.pojo.po.ThsDeptAlarm">
|
||||
<id column="Dept_Id" property="deptId" />
|
||||
<result column="type" property="type" />
|
||||
<result column="Alarm_Id" property="alarmId" />
|
||||
<result column="Monitor_Id" property="monitorId" />
|
||||
</resultMap>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.njcn.process.mapper.ThsWarnStrategyAssMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.njcn.process.pojo.po.ThsWarnStrategyAss">
|
||||
<id column="Warn_Id" property="warnId" />
|
||||
<result column="Ass_Id" property="assId" />
|
||||
<result column="Type" property="type" />
|
||||
</resultMap>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.njcn.process.mapper.ThsWarnStrategyMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.njcn.process.pojo.po.ThsWarnStrategy">
|
||||
<id column="Id" property="id" />
|
||||
<result column="Create_Time" property="createTime" />
|
||||
<result column="Update_TIme" property="updateTime" />
|
||||
<result column="Name" property="name" />
|
||||
<result column="Grade" property="grade" />
|
||||
<result column="Operation" property="operation" />
|
||||
<result column="type" property="type" />
|
||||
<result column="State" property="state" />
|
||||
<result column="Create_By" property="createBy" />
|
||||
<result column="Update_By" property="updateBy" />
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="StrategyResultMap" type="com.njcn.process.pojo.param.StrategyParam$StrategyUpdateParam">
|
||||
<id column="Id" property="id" />
|
||||
<result column="Name" property="name" />
|
||||
<result column="Grade" property="grade" />
|
||||
<result column="Operation" property="operation" />
|
||||
<result column="monitorTag" property="monitorTag" />
|
||||
<collection
|
||||
property="indicatorTypes"
|
||||
column="{id = id}"
|
||||
select="com.njcn.process.mapper.ThsWarnStrategyMapper.getStrategyDetail">
|
||||
</collection>
|
||||
</resultMap>
|
||||
<select id="selectUpdateStrategy" resultMap="StrategyResultMap">
|
||||
SELECT
|
||||
ts.Id AS id,
|
||||
ts.NAME AS NAME,
|
||||
ts.Grade AS grade,
|
||||
ts.Operation AS operation,
|
||||
ta.Ass_Id AS monitorTag
|
||||
FROM
|
||||
ths_warn_strategy ts
|
||||
INNER JOIN ths_warn_strategy_ass ta ON ts.Id = ta.Warn_Id
|
||||
AND ta.Type = 0
|
||||
WHERE
|
||||
id = #{id}
|
||||
</select>
|
||||
<select id="getStrategyDetail" resultType="java.lang.String">
|
||||
SELECT
|
||||
Ass_Id
|
||||
FROM
|
||||
ths_warn_strategy_ass ts
|
||||
WHERE
|
||||
Warn_Id = #{id} and ts.Type=1
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.process.service;
|
||||
|
||||
import com.njcn.process.pojo.po.ThsWarnStrategyAss;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2023-03-10
|
||||
*/
|
||||
public interface ThsWarnStrategyAssService extends IService<ThsWarnStrategyAss> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
package com.njcn.process.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO;
|
||||
import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam;
|
||||
import com.njcn.process.pojo.param.StrategyParam;
|
||||
import com.njcn.process.pojo.po.ThsWarnStrategy;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2023-03-10
|
||||
*/
|
||||
public interface ThsWarnStrategyService extends IService<ThsWarnStrategy> {
|
||||
|
||||
/***
|
||||
* 预警单/告警单列表
|
||||
* @author wr
|
||||
* @date 2023-02-27 13:58
|
||||
* @param param
|
||||
* @return Page<?>
|
||||
*/
|
||||
Page<ThsWarnStrategy> strategyPage(StrategyParam.StrategyPageParam param);
|
||||
|
||||
|
||||
/***
|
||||
* 预警单/告警单单条新增
|
||||
* @author wr
|
||||
* @date 2023-02-27 14:02
|
||||
* @param param
|
||||
* @return Boolean
|
||||
*/
|
||||
Boolean insertStrategy(StrategyParam.StrategyInsertParam param);
|
||||
|
||||
|
||||
/***
|
||||
* 预警单/告警单绑定
|
||||
* @author wr
|
||||
* @date 2023-02-27 14:02
|
||||
* @param param
|
||||
* @return Boolean
|
||||
*/
|
||||
Boolean bindStrategy(StrategyParam.BindParam param);
|
||||
|
||||
/***
|
||||
* 预警单/告警单修改详细查询
|
||||
* @author wr
|
||||
* @date 2023-03-10 13:31
|
||||
* @param id
|
||||
* @return StrategyUpdateParam
|
||||
*/
|
||||
StrategyParam.StrategyUpdateParam getUpdateStrategy(String id);
|
||||
|
||||
/***
|
||||
* 预警单/告警单修改
|
||||
* @author wr
|
||||
* @date 2023-02-27 14:02
|
||||
* @param param
|
||||
* @return Boolean
|
||||
*/
|
||||
Boolean updateStrategy(StrategyParam.StrategyUpdateParam param);
|
||||
|
||||
/***
|
||||
* 预警单/告警单修改状态
|
||||
* @author wr
|
||||
* @date 2023-02-27 14:02
|
||||
* @param param
|
||||
* @return Boolean
|
||||
*/
|
||||
Boolean updateStrategyState(StrategyParam.StrategyStateParam param);
|
||||
|
||||
/***
|
||||
* 监测点查询接口
|
||||
* @author wr
|
||||
* @date 2023-03-10 14:52
|
||||
* @param monitorTag
|
||||
* @return List<PmsMonitorInfoDTO>
|
||||
*/
|
||||
List<StrategyParam.MonitorTree> getMonitor(String monitorTag,String orgId);
|
||||
|
||||
|
||||
/***
|
||||
* 监测点绑定
|
||||
* @author wr
|
||||
* @date 2023-02-27 14:02
|
||||
* @param param
|
||||
* @return Boolean
|
||||
*/
|
||||
Boolean bindMonitor(StrategyParam.BindMonitorParam param);
|
||||
|
||||
|
||||
/***
|
||||
* 预警单/告警单删除
|
||||
* @author wr
|
||||
* @date 2023-02-27 14:02
|
||||
* @param ids
|
||||
* @return Boolean
|
||||
*/
|
||||
Boolean delStrategy(List<String> ids);
|
||||
}
|
||||
@@ -13,6 +13,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.pms.enums.PmsDeviceResponseEnum;
|
||||
import com.njcn.oss.constant.OssPath;
|
||||
import com.njcn.oss.utils.FileStorageUtil;
|
||||
import com.njcn.poi.excel.ExcelUtil;
|
||||
import com.njcn.poi.util.PoiUtil;
|
||||
import com.njcn.process.pojo.dto.excel.TerminalExcel;
|
||||
@@ -51,6 +53,7 @@ import java.util.stream.Collectors;
|
||||
public class PmsTerminalDetectionServiceImpl extends ServiceImpl<PmsTerminalDetectionMapper, PmsTerminalDetection> implements PmsTerminalDetectionService {
|
||||
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
private final FileStorageUtil fileStorageUtil;
|
||||
|
||||
@Override
|
||||
public Page<TerminalVO> terminalPage(TerminalParam.TerminalPageParam param) {
|
||||
@@ -139,19 +142,21 @@ public class PmsTerminalDetectionServiceImpl extends ServiceImpl<PmsTerminalDete
|
||||
//传入的文件格式(终端编号-检测报告.docx);
|
||||
for (int i = 0; i < files.length; i++) {
|
||||
detection = new PmsTerminalDetection();
|
||||
//文件上传的地址
|
||||
String url = fileStorageUtil.uploadMultipart(files[i], OssPath.ALGORITHM);
|
||||
//上传的文件名称
|
||||
String originalFilename = files[i].getOriginalFilename();
|
||||
String[] split = originalFilename.split("-");
|
||||
if (split.length > 0) {
|
||||
if (split[1].substring(0, split[1].indexOf(".")).equals("检测报告")) {
|
||||
//todo 文件名称
|
||||
detection.setInspectionReport(originalFilename);
|
||||
detection.setInspectionReport(url);
|
||||
detection.setId(split[0]);
|
||||
data.add(detection);
|
||||
}
|
||||
if (split[1].substring(0, split[1].indexOf(".")).equals("原始数据报告")) {
|
||||
//todo 文件名称
|
||||
detection.setOriginalReport(originalFilename);
|
||||
detection.setOriginalReport(url);
|
||||
detection.setId(split[0]);
|
||||
data.add(detection);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.process.service.impl;
|
||||
|
||||
import com.njcn.process.pojo.po.ThsWarnStrategyAss;
|
||||
import com.njcn.process.mapper.ThsWarnStrategyAssMapper;
|
||||
import com.njcn.process.service.ThsWarnStrategyAssService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2023-03-10
|
||||
*/
|
||||
@Service
|
||||
public class ThsWarnStrategyAssServiceImpl extends ServiceImpl<ThsWarnStrategyAssMapper, ThsWarnStrategyAss> implements ThsWarnStrategyAssService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,197 @@
|
||||
package com.njcn.process.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.device.pms.api.MonitorClient;
|
||||
import com.njcn.device.pms.pojo.dto.PmsMonitorDTO;
|
||||
import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO;
|
||||
import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam;
|
||||
import com.njcn.device.pms.pojo.param.PmsMonitorParam;
|
||||
import com.njcn.process.pojo.param.StrategyParam;
|
||||
import com.njcn.process.pojo.po.ThsWarnStrategy;
|
||||
import com.njcn.process.mapper.ThsWarnStrategyMapper;
|
||||
import com.njcn.process.pojo.po.ThsWarnStrategyAss;
|
||||
import com.njcn.process.service.ThsWarnStrategyService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.dto.DeptDTO;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import com.njcn.web.utils.WebUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2023-03-10
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class ThsWarnStrategyServiceImpl extends ServiceImpl<ThsWarnStrategyMapper, ThsWarnStrategy> implements ThsWarnStrategyService {
|
||||
|
||||
private final ThsWarnStrategyAssServiceImpl thsWarnStrategyAssService;
|
||||
private final MonitorClient monitorClient;
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
@Override
|
||||
public Page<ThsWarnStrategy> strategyPage(StrategyParam.StrategyPageParam param) {
|
||||
return this.page(new Page<>(param.getPageNum(), param.getPageSize())
|
||||
, new LambdaQueryWrapper<ThsWarnStrategy>()
|
||||
.like(StrUtil.isNotBlank(param.getName()), ThsWarnStrategy::getName, param.getName())
|
||||
.le(param.getType() != 0, ThsWarnStrategy::getType, param.getType())
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean insertStrategy(StrategyParam.StrategyInsertParam param) {
|
||||
ThsWarnStrategy thsWarnStrategy = BeanUtil.copyProperties(param, ThsWarnStrategy.class);
|
||||
thsWarnStrategy.setCreateBy(RequestUtil.getLoginName());
|
||||
thsWarnStrategy.setState(1);
|
||||
return this.save(thsWarnStrategy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean bindStrategy(StrategyParam.BindParam param) {
|
||||
List<ThsWarnStrategyAss> assList=new ArrayList<>();
|
||||
//监测点标签绑定
|
||||
ThsWarnStrategyAss ass=new ThsWarnStrategyAss();
|
||||
ass.setWarnId(param.getId());
|
||||
ass.setAssId(param.getMonitorTag());
|
||||
ass.setType(0);
|
||||
assList.add(ass);
|
||||
//指标类型绑定
|
||||
ThsWarnStrategyAss assType;
|
||||
for (String indicatorType : param.getIndicatorTypes()) {
|
||||
assType=new ThsWarnStrategyAss();
|
||||
assType.setWarnId(param.getId());
|
||||
assType.setAssId(indicatorType);
|
||||
assType.setType(1);
|
||||
assList.add(assType);
|
||||
}
|
||||
thsWarnStrategyAssService.saveBatch(assList);
|
||||
ThsWarnStrategy warnStrategy=new ThsWarnStrategy();
|
||||
warnStrategy.setId(param.getId());
|
||||
warnStrategy.setOperation(param.getOperation());
|
||||
return this.updateById(warnStrategy);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public StrategyParam.StrategyUpdateParam getUpdateStrategy(String id) {
|
||||
return this.baseMapper.selectUpdateStrategy(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateStrategy(StrategyParam.StrategyUpdateParam param) {
|
||||
ThsWarnStrategy thsWarnStrategy = BeanUtil.copyProperties(param, ThsWarnStrategy.class);
|
||||
return this.updateById(thsWarnStrategy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateStrategyState(StrategyParam.StrategyStateParam param) {
|
||||
ThsWarnStrategy thsWarnStrategy = new ThsWarnStrategy();
|
||||
thsWarnStrategy.setId(param.getId());
|
||||
thsWarnStrategy.setState(param.getState());
|
||||
return this.updateById(thsWarnStrategy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StrategyParam.MonitorTree> getMonitor(String monitorTag,String orgId) {
|
||||
PmsMonitorParam param = new PmsMonitorParam();
|
||||
param.setMonitorTags(Arrays.asList(monitorTag));
|
||||
List<PmsMonitorDTO> data = monitorClient.getMonitorInfoListByCond(param).getData();
|
||||
//获取部门结构
|
||||
List<DeptDTO> deptInfos = deptFeignClient.getDeptDescendantIndexes(orgId, WebUtil.filterDeptType()).getData();
|
||||
|
||||
List<DeptDTO> deptDTOS = deptInfos.stream().filter(org -> org.getId().equals(orgId)).collect(Collectors.toList());
|
||||
|
||||
List<StrategyParam.MonitorTree> monitorTrees =new ArrayList<>();
|
||||
StrategyParam.MonitorTree tree=new StrategyParam.MonitorTree();
|
||||
tree.setId(deptDTOS.get(0).getId());
|
||||
tree.setName(deptDTOS.get(0).getName());
|
||||
tree.setChildPower(getPowers(deptDTOS.get(0).getCode(),data));
|
||||
tree.setChildren( recursionSelectList(orgId, deptInfos,data));
|
||||
monitorTrees.add(tree);
|
||||
return monitorTrees;
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归生成监测点树
|
||||
* @param orgId
|
||||
* @param deptInfos
|
||||
* @param data
|
||||
* @return
|
||||
*/
|
||||
private static List<StrategyParam.MonitorTree> recursionSelectList(String orgId, List<DeptDTO> deptInfos, List<PmsMonitorDTO> data) {
|
||||
List<StrategyParam.MonitorTree> menuSelectList = new ArrayList<>();
|
||||
Optional.ofNullable(deptInfos).ifPresent(customers -> customers.stream()
|
||||
.filter(org -> org.getPid().equals(orgId))
|
||||
.forEach(customer -> {
|
||||
StrategyParam.MonitorTree tree = new StrategyParam.MonitorTree();
|
||||
tree.setId(customer.getId());
|
||||
tree.setName(customer.getName());
|
||||
tree.setChildPower(getPowers(customer.getCode(),data));
|
||||
List<StrategyParam.MonitorTree> children = recursionSelectList(customer.getId(), deptInfos,data);
|
||||
tree.setChildren(children);
|
||||
menuSelectList.add(tree);
|
||||
}));
|
||||
return menuSelectList;
|
||||
}
|
||||
|
||||
/***
|
||||
* 生成变电站包含监测点集合
|
||||
* @author wr
|
||||
* @date 2023-03-10 16:19
|
||||
* @param orgCode
|
||||
* @param data
|
||||
* @return List<Power>
|
||||
*/
|
||||
private static List<StrategyParam.Power> getPowers(String orgCode, List<PmsMonitorDTO> data){
|
||||
//变电站信息初始化
|
||||
List<StrategyParam.Power> powers=new ArrayList<>();
|
||||
//获取监测点信息
|
||||
List<PmsMonitorDTO> monitorDTOS = data.stream().filter(dept -> dept.getOrgId().equals(orgCode)).collect(Collectors.toList());
|
||||
Map<String, List<PmsMonitorDTO>> collect = monitorDTOS.stream().collect(
|
||||
Collectors.groupingBy(c-> c.getPowerrId()+ "_" + c.getPowerrName()));
|
||||
//获取变电站和监测点信息
|
||||
collect.forEach((key,value)->{
|
||||
String[] split = key.split("_");
|
||||
StrategyParam.Power power=new StrategyParam.Power();
|
||||
power.setId(split[0]);
|
||||
power.setName(split[1]);
|
||||
//监测点信息
|
||||
List<StrategyParam.Power> monitors=new ArrayList();
|
||||
for (PmsMonitorDTO dto : value) {
|
||||
StrategyParam.Power childMonitor=new StrategyParam.Power();
|
||||
childMonitor.setId(dto.getId());
|
||||
childMonitor.setName(dto.getName());
|
||||
monitors.add(childMonitor);
|
||||
}
|
||||
power.setChildMonitor(monitors);
|
||||
powers.add(power);
|
||||
});
|
||||
return powers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean bindMonitor(StrategyParam.BindMonitorParam param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean delStrategy(List<String> ids) {
|
||||
Assert.isTrue(CollectionUtil.isNotEmpty(ids) , "id为空,不能删除");
|
||||
return this.removeByIds(ids);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user