1.技术监督试运行评估-试运行结束后生成试运行报告

2.技术监督计划管理,权限调整为负责地市进行信息修改
3.调整常态化干扰源用户信息更新逻辑
4.调整谐波报告数据请求格式
This commit is contained in:
wr
2024-07-02 16:55:08 +08:00
parent 5ca027513f
commit 50cd5d3895
27 changed files with 510 additions and 283 deletions

View File

@@ -58,12 +58,6 @@
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>common-oss</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<finalName>supervision-boot</finalName>

View File

@@ -21,6 +21,8 @@ import org.springframework.web.bind.annotation.*;
import com.njcn.web.controller.BaseController;
import javax.servlet.http.HttpServletResponse;
/**
* <p>
* 监测点试运行前端控制器
@@ -67,8 +69,8 @@ public class SupervisionTempLineRunTestController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/isTestRunStartOrEnd")
@ApiOperation("每日判断试运行是否结束")
public void isTestRunStartOrEnd(){
iSupervisionTempLineRunTestService.isTestRunStartOrEnd();
public void isTestRunStartOrEnd(HttpServletResponse response){
iSupervisionTempLineRunTestService.isTestRunStartOrEnd(response);
}

View File

@@ -71,9 +71,7 @@ public class UserReportManageController extends BaseController {
public HttpResult<Boolean> auditUserReport(@RequestBody @Validated UserReportParam.UserReportUpdate userReportUpdate) {
String methodDescribe = getMethodDescribe("auditUserReport");
boolean res = userReportPOService.auditUserReport(userReportUpdate);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)

View File

@@ -46,7 +46,7 @@ public class UserReportRenewalController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userReportUpdateById, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@PostMapping("/addEditor")
@ApiOperation("干扰源用户管理更新信息新增功能")
public HttpResult<String> addEditor(@RequestBody @Validated UserReportParam userReportParam) {
@@ -55,7 +55,7 @@ public class UserReportRenewalController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE)
@PostMapping("/cancel")
@ApiOperation("取消")
@ApiImplicitParam(name = "cancelReqVO", value = "取消原因", required = true)

View File

@@ -9,7 +9,6 @@ import com.njcn.supervision.pojo.vo.device.SupervisionTempLineDebugVO;
import org.apache.ibatis.annotations.Param;
/**
*
* Description:
* Date: 2024/5/17 15:26【需求编号】
*
@@ -17,8 +16,8 @@ import org.apache.ibatis.annotations.Param;
* @version V1.0.0
*/
public interface SupervisionTempLineDebugPOMapper extends BaseMapper<SupervisionTempLineDebugPO> {
Page<SupervisionTempLineDebugVO> page(@Param("page")Page<Object> objectPage, @Param("ew") QueryWrapper<SupervisionDevMainReportVO> queryWrapper);
Page<SupervisionTempLineDebugVO> page(@Param("page") Page<Object> objectPage, @Param("ew") QueryWrapper<SupervisionDevMainReportVO> queryWrapper);
Page<SupervisionTempLineDebugVO> pageHasDebug(@Param("page")Page<Object> objectPage, @Param("ew") QueryWrapper<SupervisionDevMainReportVO> queryWrapper);
Page<SupervisionTempLineDebugVO> pageHasDebug(@Param("page") Page<Object> objectPage, @Param("ew") QueryWrapper<SupervisionDevMainReportVO> queryWrapper);
}

View File

@@ -57,6 +57,7 @@
supervision_temp_line_report.Power_Substation_Name,
supervision_temp_line_report.line_id lineId,
supervision_temp_line_report.line_name lineName,
supervision_temp_line_run_test.test_run_report,
supervision_temp_line_debug.reason reason,
supervision_temp_line_run_test.process_instance_id process_instanceId,
supervision_temp_line_run_test.history_instance_id,

View File

@@ -7,6 +7,8 @@ import com.njcn.supervision.pojo.param.device.SupervisionTempLineRunTestParam;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO;
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineRunTestVO;
import javax.servlet.http.HttpServletResponse;
/**
* <p>
* 服务类
@@ -21,7 +23,7 @@ public interface ISupervisionTempLineRunTestService extends IBpmService<Supervis
String updateRunTest(SupervisionTempLineRunTestParam.SupervisionTempLineRunTestUpdateParam supervisionTempLineRunTestParam);
void isTestRunStartOrEnd();
void isTestRunStartOrEnd(HttpServletResponse response);
SupervisionTempLineRunTestVO getRunTestById(String id);

View File

@@ -74,6 +74,7 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
private final LineFeignClient lineFeignClient;
private final FileStorageUtil fileStorageUtil;
private final DeptFeignClient deptFeignClient;
private final WordUtil2 wordUtil2;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -230,7 +231,7 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
//获取部门名称
String deptName = deptFeignClient.getDeptById(param.getDeptId()).getData().getName();
param.setDeptName(deptName);
WordUtil2 wordUtil2 = new WordUtil2();
String inputUrl = "file/warningReport.docx";
String alarmType = param.getType() == 1 ? "预警" : "告警";
String fileName = "电能[告]"+param.getYear()+""+param.getNumber()+"号-"+param.getDeptName()+"地市 电能质量技术监督"+alarmType+"单.docx";

View File

@@ -5,6 +5,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.StrPool;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -22,6 +23,7 @@ import com.njcn.device.biz.pojo.dto.LineDTO;
import com.njcn.device.pq.api.LineIntegrityClient;
import com.njcn.device.pq.pojo.dto.LineDataQualityDTO;
import com.njcn.device.pq.pojo.param.LineDataQualityParam;
import com.njcn.harmonic.api.ReportFeignClient;
import com.njcn.supervision.enums.SupervisionKeyEnum;
import com.njcn.supervision.enums.SupervisionUserStatusEnum;
import com.njcn.supervision.mapper.device.SupervisionTempLineReportMapper;
@@ -38,10 +40,8 @@ import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService;
import com.njcn.supervision.service.user.*;
import com.njcn.supervision.utils.InstanceUtil;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@@ -49,11 +49,17 @@ import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
/**
* <p>
* 服务实现类
* 服务实现类
* </p>
*
* @author hongawen
@@ -77,6 +83,9 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
private final UserReportSubstationPOService userReportSubstationPOService;
private final UserReportSensitivePOService userReportSensitivePOService;
private final IUserReportNormalService iUserReportNormalService;
private final ReportFeignClient reportFeignClient;
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean addRunTest(SupervisionTempLineRunTestParam supervisionTempLineRunTestParam) {
@@ -86,8 +95,8 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
List<String> lineIds = supervisionTempLineReportList.stream().map(SupervisionTempLineReport::getId).collect(Collectors.toList());
List<LineDTO> lineDTOList = commLineClient.getLineDetailBatch(lineIds).getData();
if(lineIds.size()!=lineDTOList.size()){
throw new BusinessException(CommonResponseEnum.FAIL,"请联系管理员检查监测点唯一编号是否匹配");
if (lineIds.size() != lineDTOList.size()) {
throw new BusinessException(CommonResponseEnum.FAIL, "请联系管理员检查监测点唯一编号是否匹配");
}
//校验
@@ -101,37 +110,36 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
tempUserIds.addAll(list3.stream().map(UserReportSensitivePO::getId).collect(Collectors.toList()));
if(CollectionUtil.isNotEmpty(tempUserIds)){
if (CollectionUtil.isNotEmpty(tempUserIds)) {
for (int i = tempUserIds.size() - 1; i >= 0; i--) {
List<UserReportNormalPO> list1 = iUserReportNormalService.lambdaQuery().eq(UserReportNormalPO::getUserReportId, tempUserIds.get(i)).list();
if (CollectionUtil.isNotEmpty(list1)){
if (CollectionUtil.isNotEmpty(list1)) {
//为空则没有治理工程不需要移除,存在审核未通过的也不要移除,只有全是2的移除
list1 = list1.stream().filter(temp->!Objects.equals(temp.getStatus(),2)).collect(Collectors.toList());
if(CollectionUtil.isEmpty(list1)){
list1 = list1.stream().filter(temp -> !Objects.equals(temp.getStatus(), 2)).collect(Collectors.toList());
if (CollectionUtil.isEmpty(list1)) {
tempUserIds.remove(i);
}
}
}
}
if(CollectionUtil.isNotEmpty(tempUserIds)){
String userNames = supervisionTempLineReportList.stream()
.filter(temp->tempUserIds.contains(temp.getUserId()))
if (CollectionUtil.isNotEmpty(tempUserIds)) {
String userNames = supervisionTempLineReportList.stream()
.filter(temp -> tempUserIds.contains(temp.getUserId()))
.map(SupervisionTempLineReport::getUserName)
.collect(Collectors.joining(", "));
throw new BusinessException(CommonResponseEnum.FAIL,"存在关联干扰源用户:"+userNames+"需要治理通过才可以进行试运行");
throw new BusinessException(CommonResponseEnum.FAIL, "存在关联干扰源用户:" + userNames + "需要治理通过才可以进行试运行");
}
List<SupervisionTempLineRunTestPO> supervisionTempLineRunTestPOList = this.list(new LambdaQueryWrapper<SupervisionTempLineRunTestPO>().in(SupervisionTempLineRunTestPO::getId,ids).ne(SupervisionTempLineRunTestPO::getStatus,BpmTaskStatusEnum.REJECT.getStatus()));
if(CollUtil.isNotEmpty(supervisionTempLineRunTestPOList)){
String msg = assMsg(supervisionTempLineReportList,supervisionTempLineRunTestPOList);
throw new BusinessException(CommonResponseEnum.FAIL,msg);
List<SupervisionTempLineRunTestPO> supervisionTempLineRunTestPOList = this.list(new LambdaQueryWrapper<SupervisionTempLineRunTestPO>().in(SupervisionTempLineRunTestPO::getId, ids).ne(SupervisionTempLineRunTestPO::getStatus, BpmTaskStatusEnum.REJECT.getStatus()));
if (CollUtil.isNotEmpty(supervisionTempLineRunTestPOList)) {
String msg = assMsg(supervisionTempLineReportList, supervisionTempLineRunTestPOList);
throw new BusinessException(CommonResponseEnum.FAIL, msg);
}
List<SupervisionTempLineRunTestPO> poList = new ArrayList<>();
for(SupervisionTempLineReport item:supervisionTempLineReportList){
for (SupervisionTempLineReport item : supervisionTempLineReportList) {
SupervisionTempLineRunTestPO supervisionTempLineRunTestPO = new SupervisionTempLineRunTestPO();
supervisionTempLineRunTestPO.setId(item.getId());
supervisionTempLineRunTestPO.setLineId(item.getLineId());
@@ -141,9 +149,9 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
supervisionTempLineRunTestPO.setSuitRate(0.00);
supervisionTempLineRunTestPO.setOnlineRate(0.00);
supervisionTempLineRunTestPO.setIntegrityRate(0.00);
supervisionTempLineRunTestPO.setTestRunTime(supervisionTempLineRunTestParam.getStartTime()+"--"+supervisionTempLineRunTestParam.getEndTime());
supervisionTempLineRunTestPO.setTestRunTime(supervisionTempLineRunTestParam.getStartTime() + "--" + supervisionTempLineRunTestParam.getEndTime());
supervisionTempLineRunTestPO.setProcessInstanceId("tem暂无");
if(Objects.nonNull(supervisionTempLineRunTestParam.getOperateType()) && supervisionTempLineRunTestParam.getOperateType()==1){
if (Objects.nonNull(supervisionTempLineRunTestParam.getOperateType()) && supervisionTempLineRunTestParam.getOperateType() == 1) {
SupervisionTempLineRunTestPO testPo = this.getById(item.getId());
String historyInstanceIds = InstanceUtil.dealHistoryId(testPo.getProcessInstanceId(), testPo.getHistoryInstanceId());
@@ -162,7 +170,7 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
supervisionTempLineRunTestParam.setProcessInstanceId(supervisionTempLineRunTestPO.getProcessInstanceId());
supervisionTempLineRunTestParam.setHistoryInstanceId(supervisionTempLineRunTestPO.getHistoryInstanceId());
BeanUtil.copyProperties(supervisionTempLineRunTestParam,supervisionTempLineRunTestPO);
BeanUtil.copyProperties(supervisionTempLineRunTestParam, supervisionTempLineRunTestPO);
supervisionTempLineRunTestPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
supervisionTempLineRunTestPO.setState(DataStateEnum.ENABLE.getCode());
@@ -185,66 +193,73 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
}
@Override
public void isTestRunStartOrEnd() {
public void isTestRunStartOrEnd(HttpServletResponse response) {
LocalDateTime time = LocalDateTime.now();
LambdaQueryWrapper<SupervisionTempLineRunTestPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SupervisionTempLineRunTestPO::getTestRunState,1).eq(SupervisionTempLineRunTestPO::getState,DataStateEnum.ENABLE.getCode());
lambdaQueryWrapper.eq(SupervisionTempLineRunTestPO::getTestRunState, 1).eq(SupervisionTempLineRunTestPO::getState, DataStateEnum.ENABLE.getCode());
List<SupervisionTempLineRunTestPO> supervisionTempLineRunTestPOList = this.list(lambdaQueryWrapper);
List<SupervisionTempLineRunTestPO> usePoList = new ArrayList<>();
for(SupervisionTempLineRunTestPO item : supervisionTempLineRunTestPOList){
String endTime = item.getTestRunTime().split("--")[1];
LocalDateTime end = LocalDate.parse(endTime, DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)).atTime(23,59,59);
if(end.isBefore(time)){
//结束时间在当前时间之前,则已经执行完试运行,开始组装审核条件
usePoList.add(item);
}
for (SupervisionTempLineRunTestPO item : supervisionTempLineRunTestPOList) {
String endTime = item.getTestRunTime().split("--")[1];
LocalDateTime end = LocalDate.parse(endTime, DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)).atTime(23, 59, 59);
if (end.isBefore(time)) {
//结束时间在当前时间之前,则已经执行完试运行,开始组装审核条件
usePoList.add(item);
}
}
if(CollUtil.isNotEmpty(usePoList)){
Map<String,List<SupervisionTempLineRunTestPO>> map = usePoList.stream().collect(Collectors.groupingBy(SupervisionTempLineRunTestPO::getTestRunTime));
map.forEach((key,val)->{
if (CollUtil.isNotEmpty(usePoList)) {
Map<String, List<SupervisionTempLineRunTestPO>> map = usePoList.stream().collect(Collectors.groupingBy(SupervisionTempLineRunTestPO::getTestRunTime));
map.forEach((key, val) -> {
String startTime = key.split("--")[0];
String endTime = key.split("--")[1];
List<String> ids = val.stream().map(SupervisionTempLineRunTestPO::getId).collect(Collectors.toList());
LineDataQualityParam lineDataQualityParam = LineDataQualityParam.builder().lineIds(ids).beginTime(startTime).endTime(endTime).build();
List<LineDataQualityDTO> lineDataQualityDTOList = lineIntegrityClient.getLineDataQuality(lineDataQualityParam).getData();
Map<String,LineDataQualityDTO> qualityDTOMap = lineDataQualityDTOList.stream().collect(Collectors.toMap(LineDataQualityDTO::getLineId,Function.identity()));
for(SupervisionTempLineRunTestPO supervisionTempLineRunTestPO : val){
Map<String, LineDataQualityDTO> qualityDTOMap = lineDataQualityDTOList.stream().collect(Collectors.toMap(LineDataQualityDTO::getLineId, Function.identity()));
for (SupervisionTempLineRunTestPO supervisionTempLineRunTestPO : val) {
// 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>();
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.LINE_RUN_TEST.getKey());
bpmProcessInstanceCreateReqDTO.setBusinessKey(supervisionTempLineRunTestPO.getId());
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(new HashMap<String, List<String>>());
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(new HashMap<>());
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
String processInstanceId = bpmProcessFeignClient.createProcessInstance(supervisionTempLineRunTestPO.getCreateBy(),bpmProcessInstanceCreateReqDTO).getData();
String processInstanceId = bpmProcessFeignClient.createProcessInstance(supervisionTempLineRunTestPO.getCreateBy(), bpmProcessInstanceCreateReqDTO).getData();
// 将工作流的编号,更新到流程单中
SupervisionTempLineRunTestPO po = new SupervisionTempLineRunTestPO();
po.setId(supervisionTempLineRunTestPO.getId());
po.setProcessInstanceId(processInstanceId);
po.setStatus(1);
po.setTestRunState(2);
if(CollUtil.isEmpty(lineDataQualityDTOList)){
if (qualityDTOMap.containsKey(supervisionTempLineRunTestPO.getId())) {
LineDataQualityDTO dto = qualityDTOMap.get(supervisionTempLineRunTestPO.getId());
po.setOnlineRate(dto.getOnlineRate());
po.setIntegrityRate(dto.getIntegrityRate());
po.setSuitRate(dto.getSuitRate());
try {
startTime = DateUtil.beginOfDay(DateUtil.parse(startTime)).toString();
endTime = DateUtil.endOfDay(DateUtil.parse(endTime)).toString();
String fileUrl = reportFeignClient.exportWorld(
startTime,
endTime,
0,
dto.getLineId(),
dto.getLineName(),
"",
"",
true, new MockMultipartFile("file", new byte[0])).getData();
po.setTestRunReport(fileUrl);
} catch (IOException e) {
throw new RuntimeException(e);
}
} else {
po.setOnlineRate(0.00);
po.setIntegrityRate(0.00);
po.setSuitRate(0.00);
}else {
po.setOnlineRate(qualityDTOMap.containsKey(supervisionTempLineRunTestPO.getLineId())?qualityDTOMap.get(supervisionTempLineRunTestPO.getLineId()).getOnlineRate():0.00);
po.setIntegrityRate(qualityDTOMap.containsKey(supervisionTempLineRunTestPO.getLineId())?qualityDTOMap.get(supervisionTempLineRunTestPO.getLineId()).getIntegrityRate():0.00);
po.setSuitRate(qualityDTOMap.containsKey(supervisionTempLineRunTestPO.getLineId())?qualityDTOMap.get(supervisionTempLineRunTestPO.getLineId()).getIntegrityRate():0.00);
}
this.baseMapper.updateById(po);
}
});
}
}
@@ -279,7 +294,7 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
@Override
public SupervisionTempLineRunTestVO getRunTestById(String id) {
return this.baseMapper.getRunTestInfo(id);
return this.baseMapper.getRunTestInfo(id);
}
@Override
@@ -287,7 +302,7 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
//准备取消该流程,需要远程调用接口
SupervisionTempLineRunTestPO supervisionTempLineRunTestPO = this.baseMapper.selectById(cancelReqVO.getId());
//判断是否有权限操作
InstanceUtil.judgeUserPower(RequestUtil.getUserIndex(),supervisionTempLineRunTestPO.getCreateBy());
InstanceUtil.judgeUserPower(RequestUtil.getUserIndex(), supervisionTempLineRunTestPO.getCreateBy());
//取消流程
bpmProcessFeignClient.cancelProcessInstanceByStartUser(cancelReqVO);
//更新状态
@@ -296,12 +311,12 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
return supervisionTempLineRunTestPO.getId();
}
private String assMsg(List<SupervisionTempLineReport> supervisionTempLineReportList,List<SupervisionTempLineRunTestPO> supervisionTempLineRunTestPOList){
private String assMsg(List<SupervisionTempLineReport> supervisionTempLineReportList, List<SupervisionTempLineRunTestPO> supervisionTempLineRunTestPOList) {
StringBuilder builder = new StringBuilder();
Map<String,SupervisionTempLineReport> map = supervisionTempLineReportList.stream().collect(Collectors.toMap(SupervisionTempLineReport::getId, Function.identity()));
Map<String, SupervisionTempLineReport> map = supervisionTempLineReportList.stream().collect(Collectors.toMap(SupervisionTempLineReport::getId, Function.identity()));
List<String> ids = supervisionTempLineRunTestPOList.stream().map(SupervisionTempLineRunTestPO::getId).collect(Collectors.toList());
for(String id:ids){
if(map.containsKey(id)){
for (String id : ids) {
if (map.containsKey(id)) {
builder.append(map.get(id).getPowerSubstationName()).append("_").append(map.get(id).getLineName()).append(";");
}
}

View File

@@ -19,6 +19,7 @@ import com.njcn.supervision.pojo.vo.survey.SurveyTestVO;
public interface ISurveyTestService extends IBpmService<SurveyTest> {
Page<SurveyTestVO> surveyTestPage(SurveyTestParam.SurveyTestQueryParam surveyTestQueryParam);
Page<SurveyTestVO> pageProblemSurvey(SurveyTestParam.SurveyTestQueryParam surveyTestQueryParam);
String addSurveyTest(SurveyTestParam surveyTestParam);

View File

@@ -238,7 +238,7 @@ public class SurveyTestServiceImpl extends ServiceImpl<SurveyTestMapper, SurveyT
public String updateSurveyTest(SurveyTestParam.SurveyTestUpdateParam surveyTestUpdateParam) {
SurveyTest surveyTest = this.baseMapper.selectById(surveyTestUpdateParam.getId());
//判断是否有权限操作
InstanceUtil.judgeUserPower(RequestUtil.getUserIndex(), surveyTest.getCreateBy());
InstanceUtil.judgeUserDeptPower(RequestUtil.getDeptIndex(), surveyTest.getDeptId());
surveyTestUpdateParam.setStatus(surveyTest.getStatus());
surveyTestUpdateParam.setProcessInstanceId(surveyTest.getProcessInstanceId());
surveyTestUpdateParam.setHistoryInstanceId(surveyTest.getHistoryInstanceId());
@@ -268,7 +268,7 @@ public class SurveyTestServiceImpl extends ServiceImpl<SurveyTestMapper, SurveyT
//准备取消该流程,需要远程调用接口
SurveyTest surveyTest = this.baseMapper.selectById(cancelReqVO.getId());
//判断是否有权限操作
InstanceUtil.judgeUserPower(RequestUtil.getUserIndex(), surveyTest.getCreateBy());
InstanceUtil.judgeUserDeptPower(RequestUtil.getDeptIndex(), surveyTest.getDeptId());
//取消流程
bpmProcessFeignClient.cancelProcessInstanceByStartUser(cancelReqVO);
//更新状态

View File

@@ -37,5 +37,10 @@ public interface IUserReportRenewalService extends IBpmService<UserReportRenewal
*/
String resend(UserReportParam userReportParam);
/**
* 取消功能
* @param cancelReqVO
* @return
*/
String cancelUserReportRenewal(BpmProcessInstanceCancelParam cancelReqVO);
}

View File

@@ -114,7 +114,9 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
if (Objects.equals(userReportParam.getSaveOrCheckflag(), "1")) {
userReportPO.setStatus(BpmTaskStatusEnum.WAIT.getStatus());
} else {
userReportPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
if(!Objects.equals(userReportParam.getSaveOrCheckflag(), "0")){
userReportPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
}
}
if(ObjectUtil.isNotNull(userReportParam.getDataType())){
userReportPO.setDataType(userReportParam.getDataType());
@@ -240,11 +242,12 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
@Override
public boolean auditUserReport(UserReportParam.UserReportUpdate userReportUpdate) {
//判断工程名称是否有重复的
checkProjectName(userReportUpdate, true);
String id = userReportUpdate.getId();
UserReportPO byId = this.getById(id);
//判断是否有权限操作
InstanceUtil.judgeUserPower(RequestUtil.getUserIndex(), byId.getCreateBy());
//判断工程名称是否有重复的
checkProjectName(userReportUpdate, true);
BeanUtils.copyProperties(userReportUpdate, byId);
this.updateById(byId);
if (CollectionUtil.newArrayList(
@@ -1027,7 +1030,8 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
.collect(Collectors.toList());
//如果还存在,则说明有人申请过了
if (CollectionUtil.isNotEmpty(userReportPOList)) {
throw new BusinessException(userReportParam.getProjectName().concat(",该工程已被").concat(userReportPOList.get(0).getReporter()).concat("申请"));
UserVO userVO = userFeignClient.getUserById(userReportPOList.get(0).getReporter()).getData();
throw new BusinessException(userReportParam.getProjectName().concat(",该工程已被:").concat(userVO.getName()).concat("申请"));
}
}
}

View File

@@ -18,11 +18,12 @@ import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.supervision.enums.*;
import com.njcn.supervision.mapper.user.UserReportRenewalMapper;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.po.device.SupervisionDevMainReportPO;
import com.njcn.supervision.pojo.po.user.*;
import com.njcn.supervision.pojo.vo.user.UserReportVO;
import com.njcn.supervision.service.user.*;
import com.njcn.supervision.utils.InstanceUtil;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.api.UserFeignClient;
import com.njcn.user.pojo.vo.UserVO;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
@@ -48,6 +49,8 @@ public class UserReportRenewalServiceImpl extends ServiceImpl<UserReportRenewalM
private final UserReportPOServiceImpl userReportPOService;
private final BpmProcessFeignClient bpmProcessFeignClient;
private final UserFeignClient userFeignClient;
private final DeptFeignClient deptFeignClient;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -57,7 +60,8 @@ public class UserReportRenewalServiceImpl extends ServiceImpl<UserReportRenewalM
if (BpmTaskStatusEnum.APPROVE.getStatus() == status) {
UserReportParam userReportParam = new UserReportParam();
userReportParam.setId(businessId);
BeanUtil.copyProperties(userReportPO, userReportParam);
userReportPO.getUserReportMessageJson().setSaveOrCheckflag("0");
BeanUtil.copyProperties(userReportPO.getUserReportMessageJson(), userReportParam);
userReportPOService.addUserReport(userReportParam);
}
this.lambdaUpdate().set(UserReportRenewalPO::getStatus, status).eq(UserReportRenewalPO::getId, businessId).update();
@@ -70,15 +74,22 @@ public class UserReportRenewalServiceImpl extends ServiceImpl<UserReportRenewalM
public BpmInstanceInfo getInstanceInfo(String businessId) {
BpmInstanceInfo bpmInstanceInfo = new BpmInstanceInfo();
UserReportRenewalPO userReportPO = this.getById(businessId);
bpmInstanceInfo.setHistoryInstanceId(userReportPO.getHistoryInstanceId());
bpmInstanceInfo.setInstanceSign(userReportPO.getUserReportMessageJson().getProjectName());
return bpmInstanceInfo;
if(ObjectUtil.isNotNull(userReportPO)){
bpmInstanceInfo.setHistoryInstanceId(userReportPO.getHistoryInstanceId());
bpmInstanceInfo.setInstanceSign(userReportPO.getUserReportMessageJson().getProjectName());
return bpmInstanceInfo;
}
return new BpmInstanceInfo();
}
@Override
public UserReportRenewalPO getUserReportUpdateById(String id) {
return this.getById(id);
UserReportRenewalPO byId = this.getById(id);
UserVO userVO = userFeignClient.getUserById(byId.getUserReportMessageJson().getReporter()).getData();
byId.getUserReportMessageJson().setReporter(userVO.getName());
byId.getUserReportMessageJson().setOrgName(deptFeignClient.getDeptById(byId.getUserReportMessageJson().getOrgId()).getData().getName());
return byId;
}
@Override

View File

@@ -26,14 +26,27 @@ public class InstanceUtil {
/**
* 判断用户是否有权限操作
* @param userId 当前用户id
*
* @param userId 当前用户id
* @param createBy 数据创建用户id
*/
public static void judgeUserPower(String userId,String createBy){
if(!userId.equalsIgnoreCase(createBy)){
public static void judgeUserPower(String userId, String createBy) {
if (!userId.equalsIgnoreCase(createBy)) {
throw new BusinessException(SupervisionResponseEnum.NO_POWER);
}
}
/**
* 判断用户是否有权限操作
*
* @param deptId 当前用户部门id
* @param responsibleDeptId 数据创建负责单位id
*/
public static void judgeUserDeptPower(String deptId, String responsibleDeptId) {
if (!deptId.equalsIgnoreCase(responsibleDeptId)) {
throw new BusinessException(SupervisionResponseEnum.NO_DEPT_POWER);
}
}
}
}