技术监督模板、文件(批量)上传
This commit is contained in:
@@ -4,9 +4,8 @@ import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum TypeEnum {
|
||||
MONITOR_TYPE(0, "监测点表类型"),
|
||||
INTERFERENCE_TYPE(1, "指标类型"),
|
||||
SOURCE_TYPE(2, "干扰源类型");
|
||||
SOURCE_TYPE(0, "干扰源类型");
|
||||
|
||||
|
||||
private final Integer code;
|
||||
|
||||
@@ -1,29 +1,20 @@
|
||||
package com.njcn.prepare.harmonic.controller.line;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.SuperviseDto;
|
||||
import com.njcn.prepare.harmonic.pojo.param.SuperviseParam;
|
||||
import com.njcn.prepare.harmonic.pojo.vo.SuperviceRunLogVo;
|
||||
import com.njcn.prepare.harmonic.pojo.vo.SuperviseVo;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.ThsOverRunLogService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.ThsSuperviseService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -39,8 +30,6 @@ import java.util.Map;
|
||||
public class ThsSuperviseController extends BaseController {
|
||||
@Autowired
|
||||
private ThsSuperviseService thsSuperviseService;
|
||||
@Autowired
|
||||
private ThsOverRunLogService thsOverRunLogService;
|
||||
|
||||
@ApiOperation("预警/告警事务生成")
|
||||
@ApiImplicitParam(name = "superviseParam", value = "创建技术监督参数", required = true)
|
||||
@@ -48,61 +37,5 @@ public class ThsSuperviseController extends BaseController {
|
||||
public HttpResult<SuperviceRunLogVo> initSupervise(@RequestBody @Validated SuperviseParam superviseParam) {
|
||||
return thsSuperviseService.initSupervise(superviseParam);
|
||||
}
|
||||
|
||||
@ApiOperation("保存技术监督监测点")
|
||||
@ApiImplicitParam(name = "superviceRunLogVo", value = "技术监督监测点参数", required = true)
|
||||
@PostMapping("/saveOverRunLog")
|
||||
public HttpResult saveOverRunLog(@RequestBody SuperviceRunLogVo superviceRunLogVo) {
|
||||
thsSuperviseService.saveOverRunLog(superviceRunLogVo);
|
||||
String methodDescribe = getMethodDescribe("saveOverRunLog");
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@ApiOperation("技术监督详情")
|
||||
@ApiImplicitParam(name = "supIndex", value = "技术监督id", required = true)
|
||||
@PostMapping("/superviseDetail")
|
||||
public HttpResult superviseDetail(@RequestParam String supIndex) {
|
||||
SuperviceRunLogVo result = thsOverRunLogService.superviseDetail(supIndex);
|
||||
String methodDescribe = getMethodDescribe("superviseDetail");
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
@ApiOperation("删除技术监督")
|
||||
@ApiImplicitParam(name = "superviseDto", value = "删除技术监督请求体", required = true)
|
||||
@PostMapping("/deleteSupervise")
|
||||
public HttpResult deleteSupervise(@RequestBody SuperviseDto superviseDto) {
|
||||
return thsSuperviseService.deleteSupervise(superviseDto);
|
||||
}
|
||||
|
||||
@ApiOperation("查询技术监督列表")
|
||||
@ApiImplicitParam(name = "superviseDto", value = "查询技术监督列表参数", required = true)
|
||||
@PostMapping("/querySuperviseList")
|
||||
public HttpResult<Page<SuperviseVo>> querySuperviseList(@RequestBody SuperviseDto superviseDto) {
|
||||
Page<SuperviseVo> pageResult = thsSuperviseService.querySuperviseList(superviseDto);
|
||||
String methodDescribe = getMethodDescribe("querySuperviseList");
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, pageResult, methodDescribe);
|
||||
}
|
||||
|
||||
@ApiOperation("上传技术监督单据")
|
||||
@PostMapping("/uploadSuperviseTicket")
|
||||
public HttpResult uploadSuperviseTicket(@ApiParam(value = "文件", required = true)
|
||||
@RequestPart(value = "files") MultipartFile[] files,
|
||||
@ApiParam(name = "越限监测点记录id", value = "id", required = true) @RequestParam("id") String id,
|
||||
@ApiParam(name = "上传单据类型", value = "ticketType", required = true) @RequestParam("ticketType") String ticketType,
|
||||
HttpServletResponse response) {
|
||||
thsSuperviseService.uploadSuperviseTicket(id, ticketType, files, response);
|
||||
String methodDescribe = getMethodDescribe("uploadSuperviseTicket");
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
|
||||
}
|
||||
|
||||
@ApiOperation("查询流程状态列表")
|
||||
@PostMapping("/queryProgressValues")
|
||||
public HttpResult queryProgressValues() {
|
||||
List<Map<Integer, String>> values = thsSuperviseService.queryProgressValues();
|
||||
String methodDescribe = getMethodDescribe("queryProgressValues");
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, values, methodDescribe);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,11 +29,8 @@
|
||||
<if test="param.deptId !=null and param.deptId !=''">
|
||||
and tda.Dept_Id=#{param.deptId}
|
||||
</if>
|
||||
<if test="param != null and param.overRunLog != null and param.overRunLog.size > 0">
|
||||
AND tda.Monitor_Id IN
|
||||
<foreach collection='param.overRunLog' item='item' index="index" open='(' separator=',' close=')'>
|
||||
#{item.lineIndex}
|
||||
</foreach>
|
||||
<if test="param.type !=null">
|
||||
and tda.type=#{param.type}
|
||||
</if>
|
||||
and tws.Big_Type=1
|
||||
</where>
|
||||
|
||||
@@ -5,26 +5,21 @@ import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.harmonic.pojo.vo.SourceSteadyIndicator;
|
||||
import com.njcn.harmonic.pojo.vo.ThsStrategyVo;
|
||||
import com.njcn.oss.constant.OssPath;
|
||||
import com.njcn.oss.utils.FileStorageUtil;
|
||||
import com.njcn.prepare.enums.*;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.*;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.SuperviseDto;
|
||||
import com.njcn.prepare.harmonic.pojo.param.SuperviseParam;
|
||||
import com.njcn.prepare.harmonic.pojo.po.ThsOverRunLog;
|
||||
import com.njcn.prepare.harmonic.pojo.po.ThsSupervise;
|
||||
import com.njcn.prepare.harmonic.pojo.vo.SuperviceRunLogVo;
|
||||
import com.njcn.prepare.harmonic.pojo.vo.SuperviseVo;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.ThsSuperviseService;
|
||||
import com.njcn.process.annotaion.HarCurrent;
|
||||
import com.njcn.process.annotaion.HarVoltage;
|
||||
@@ -35,7 +30,6 @@ import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.map.HashedMap;
|
||||
@@ -43,9 +37,7 @@ import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -99,7 +91,6 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
||||
for (Map.Entry<String, List<ThsStrategyVo>> entry : deptMap.entrySet()) {
|
||||
String depId = entry.getKey();
|
||||
ThsSupervise thsSupervise = new ThsSupervise();
|
||||
ArrayList<ThsOverRunLog> thsOverRunLogs = new ArrayList<>();
|
||||
List<ThsStrategyVo> deptList = entry.getValue();
|
||||
List<ThsStrategyVo> oneLevel = deptList.stream().filter(r -> !GradeEnum.THREE_LEVEL.getCode().equals(r.getGrade())).collect(Collectors.toList());//一级或二级策略集合
|
||||
List<SourceSteadyIndicator> oneSourceSteadyIndicatorList = new ArrayList<>();
|
||||
@@ -175,11 +166,12 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
||||
}
|
||||
});
|
||||
//生成技术监督数据
|
||||
HttpResult<Dept> deptById = deptFeignClient.getDeptById(depId);
|
||||
Dept dept = deptById.getData();
|
||||
if (InitTypeEnum.AUTO.getCode().equals(superviseParam.getInitType())) {
|
||||
HttpResult<Dept> deptById = deptFeignClient.getDeptById(depId);
|
||||
Dept dept = deptById.getData();
|
||||
this.creatData(dept, thsSupervise, overRunLogList);
|
||||
} else {
|
||||
this.buildSuperviseName(thsSupervise, overRunLogList, dept);
|
||||
superviceRunLogVo.setOverRunLog(overRunLogList);
|
||||
superviceRunLogVo.setThsSupervise(thsSupervise);
|
||||
}
|
||||
@@ -189,6 +181,22 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, superviceRunLogVo, "");
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建技术监督名称
|
||||
*
|
||||
* @param thsSupervise
|
||||
* @param overRunLogList
|
||||
* @param dept
|
||||
*/
|
||||
private void buildSuperviseName(ThsSupervise thsSupervise, List<ThsOverRunLog> overRunLogList, Dept dept) {
|
||||
if (CollectionUtil.isNotEmpty(overRunLogList)) {
|
||||
thsSupervise.setDescription(overRunLogList.get(0).getDescription());
|
||||
String str = Arrays.asList(overRunLogList.get(0).getDescription().split(",")).get(0);
|
||||
String overItem = str.substring(0, str.indexOf("次") - 1);
|
||||
thsSupervise.setName(DateUtil.today() + dept.getName() + overRunLogList.get(0).getName() + "等" + overRunLogList.size() + "个监测点" + overItem);
|
||||
}
|
||||
}
|
||||
|
||||
//生成技术监督数据
|
||||
@DS("process")
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -206,123 +214,6 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@DS("process")
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveOverRunLog(SuperviceRunLogVo superviceRunLogVo) {
|
||||
if (CollectionUtil.isNotEmpty(superviceRunLogVo.getOverRunLog())) {
|
||||
ThsSupervise thsSupervise = superviceRunLogVo.getThsSupervise();
|
||||
Date date = new Date();
|
||||
thsSupervise.setCreateTime(date);
|
||||
thsSupervise.setCreateUser(RequestUtil.getUsername());
|
||||
thsSupervise.setModifyTime(date);
|
||||
thsSupervise.setSupIndex(IdUtil.simpleUUID());
|
||||
this.thsSuperviseMapper.insert(thsSupervise);
|
||||
for (ThsOverRunLog thsOverRunLog : superviceRunLogVo.getOverRunLog()) {
|
||||
thsOverRunLog.setCreateTime(date);
|
||||
thsOverRunLog.setSupIndex(thsSupervise.getSupIndex());
|
||||
this.thsOverRunLogMapper.insert(thsOverRunLog);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<SuperviseVo> querySuperviseList(SuperviseDto superviseDto) {
|
||||
Integer pageNum = PageFactory.getPageNum(superviseDto);
|
||||
Integer pageSize = PageFactory.getPageSize(superviseDto);
|
||||
Page<SuperviseVo> superviseVoPage = new Page<>(pageNum, pageSize);
|
||||
Page<SuperviseVo> page = thsSuperviseMapper.querySuperviseList(superviseVoPage, superviseDto);
|
||||
List<SuperviseVo> pageRecords = page.getRecords();
|
||||
if (CollectionUtil.isNotEmpty(pageRecords)) {
|
||||
for (SuperviseVo superviseVo : pageRecords) {
|
||||
List<ThsOverRunLog> thsOverRunLogs = thsOverRunLogMapper.selectList(new LambdaQueryWrapper<ThsOverRunLog>().eq(ThsOverRunLog::getSupIndex, superviseVo.getSupIndex()));
|
||||
if (CollectionUtil.isNotEmpty(thsOverRunLogs)) {
|
||||
List<String> alarmTickets = thsOverRunLogs.stream().map(ThsOverRunLog::getAlarmTicket).collect(Collectors.toList());
|
||||
if (CollectionUtil.isNotEmpty(alarmTickets)) {
|
||||
superviseVo.setHaveAlarmticket(true);
|
||||
}
|
||||
List<String> feedbacks = thsOverRunLogs.stream().map(ThsOverRunLog::getFeedback).collect(Collectors.toList());
|
||||
if (CollectionUtil.isNotEmpty(feedbacks)) {
|
||||
superviseVo.setHaveFeedback(true);
|
||||
}
|
||||
List<String> testReports = thsOverRunLogs.stream().map(ThsOverRunLog::getTestReport).collect(Collectors.toList());
|
||||
if (CollectionUtil.isNotEmpty(testReports)) {
|
||||
superviseVo.setHaveTestReport(true);
|
||||
}
|
||||
List<String> reviseNotices = thsOverRunLogs.stream().map(ThsOverRunLog::getReviseNotice).collect(Collectors.toList());
|
||||
if (CollectionUtil.isNotEmpty(reviseNotices)) {
|
||||
superviseVo.setHaveReviseNotice(true);
|
||||
}
|
||||
List<String> reviseFeedbacks = thsOverRunLogs.stream().map(ThsOverRunLog::getReviseFeedback).collect(Collectors.toList());
|
||||
if (CollectionUtil.isNotEmpty(reviseFeedbacks)) {
|
||||
superviseVo.setHaveReviseFeedback(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
page.setRecords(pageRecords);
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult deleteSupervise(SuperviseDto superviseDto) {
|
||||
if (CollectionUtil.isNotEmpty(superviseDto.getDeleteIds())) {
|
||||
superviseDto.getDeleteIds().forEach(id -> {
|
||||
thsOverRunLogMapper.delete(new LambdaQueryWrapper<ThsOverRunLog>().eq(ThsOverRunLog::getSupIndex, id));
|
||||
thsSuperviseMapper.deleteById(id);
|
||||
});
|
||||
}
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void uploadSuperviseTicket(String id, String ticketType, MultipartFile[] files, HttpServletResponse response) {
|
||||
ThsOverRunLog thsOverRunLog = new ThsOverRunLog();
|
||||
thsOverRunLog.setId(id);
|
||||
if (files != null && files.length > 0) {
|
||||
List<String> pathList = new ArrayList<>();
|
||||
for (int i = 0; i < files.length; i++) {
|
||||
String path = fileStorageUtil.uploadMultipart(files[i], OssPath.ELECTRICITY_QUALITY);
|
||||
pathList.add(path);
|
||||
}
|
||||
String pathStr = StringUtils.join(pathList, ",");
|
||||
TicketTypeEnum ticketTypeEnum = TicketTypeEnum.getTicketTypeEnumByCode(ticketType);
|
||||
if (ticketTypeEnum == null) {
|
||||
throw new BusinessException("上传单据参数类型错误!");
|
||||
}
|
||||
switch (ticketTypeEnum) {
|
||||
case ALARM_TICKET:
|
||||
thsOverRunLog.setAlarmTicket(pathStr);
|
||||
break;
|
||||
case FEEDBACK:
|
||||
thsOverRunLog.setFeedback(pathStr);
|
||||
break;
|
||||
case TEST_REPORT:
|
||||
thsOverRunLog.setTestReport(pathStr);
|
||||
break;
|
||||
case REVISE_NOTICE:
|
||||
thsOverRunLog.setTestReport(pathStr);
|
||||
break;
|
||||
case REVISE_FEEDBACK:
|
||||
thsOverRunLog.setReviseFeedback(pathStr);
|
||||
break;
|
||||
}
|
||||
thsOverRunLogMapper.updateById(thsOverRunLog);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<Integer, String>> queryProgressValues() {
|
||||
List<Map<Integer, String>> list = new ArrayList<>();
|
||||
Arrays.asList(ProgressEnum.values()).forEach(value -> {
|
||||
Map<Integer, String> progress = new HashMap<>();
|
||||
progress.put(value.getCode(), value.getMessage());
|
||||
list.add(progress);
|
||||
});
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询策略列表
|
||||
*
|
||||
@@ -425,25 +316,6 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 重复执行删除旧数据
|
||||
*
|
||||
* @param depId
|
||||
*/
|
||||
@Override
|
||||
@DS("process")
|
||||
public void deleteTodayData(String depId, Integer initType) {
|
||||
ThsSupervise thsSupervise = thsSuperviseMapper.selectOne(new LambdaQueryWrapper<ThsSupervise>().eq(ThsSupervise::getDeptId, depId)
|
||||
.eq(ThsSupervise::getCreateType, initType)
|
||||
.between(ThsSupervise::getCreateTime,
|
||||
DateUtil.beginOfDay(new Date()),
|
||||
DateUtil.endOfDay(new Date())).last("limit 1"));
|
||||
if (thsSupervise != null) {
|
||||
thsOverRunLogMapper.delete(new LambdaQueryWrapper<ThsOverRunLog>().eq(ThsOverRunLog::getSupIndex, thsSupervise.getSupIndex()));
|
||||
thsSuperviseMapper.delete(new LambdaQueryWrapper<ThsSupervise>().eq(ThsSupervise::getSupIndex, thsSupervise.getSupIndex()));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断监测数据是否超标
|
||||
*
|
||||
|
||||
@@ -86,8 +86,6 @@ public interface ThsSuperviseService extends IService<ThsSupervise> {
|
||||
void buildOverRunLog(SourceSteadyIndicator steady, ThsSupervise thsSupervise, Monitor monitor, LimitRate limitRate, Map<String, Object> limitBoolMap, Integer initType, List<ThsOverRunLog> thsOverRunLogs);
|
||||
|
||||
|
||||
void deleteTodayData(String depId, Integer initType);
|
||||
|
||||
/**
|
||||
* 生成技术监督数据
|
||||
*
|
||||
@@ -96,42 +94,5 @@ public interface ThsSuperviseService extends IService<ThsSupervise> {
|
||||
*/
|
||||
void creatData(Dept dept, ThsSupervise thsSupervise, List<ThsOverRunLog> overRunLogList);
|
||||
|
||||
/**
|
||||
* 保存技术监督数据
|
||||
*
|
||||
* @param superviceRunLogVo
|
||||
*/
|
||||
void saveOverRunLog(SuperviceRunLogVo superviceRunLogVo);
|
||||
|
||||
/**
|
||||
* 查询技术监督列表
|
||||
*
|
||||
* @param superviseDto
|
||||
*/
|
||||
Page<SuperviseVo> querySuperviseList(SuperviseDto superviseDto);
|
||||
|
||||
/**
|
||||
* 删除技术监督
|
||||
*
|
||||
* @param superviseDto
|
||||
* @return
|
||||
*/
|
||||
HttpResult deleteSupervise(SuperviseDto superviseDto);
|
||||
|
||||
/**
|
||||
* 上传技术监督单据
|
||||
*
|
||||
* @param id
|
||||
* @param ticketType
|
||||
* @param files
|
||||
* @param response
|
||||
*/
|
||||
void uploadSuperviseTicket(String id, String ticketType, MultipartFile[] files, HttpServletResponse response);
|
||||
|
||||
/**
|
||||
* 查询流程状态枚举列表
|
||||
* @return
|
||||
*/
|
||||
List<Map<Integer, String>> queryProgressValues();
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user