1.技术监督试运行bug修改和全景问题接口调整

This commit is contained in:
wr
2024-07-09 13:55:07 +08:00
parent 1af8fcc72f
commit 075205d4b9
17 changed files with 182 additions and 20 deletions

View File

@@ -42,6 +42,7 @@ public class DeVReportManageController extends BaseController {
private final SupervisionDevMainReportPOService supervisionDevMainReportPOService;
//装置新增
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType= OperateType.ADD)
@PostMapping("/add")
@ApiOperation("新增电能质量监测装置设备")

View File

@@ -40,6 +40,7 @@ public class TempLineController extends BaseController {
private final SupervisionTempLineReportService supervisionTempLineReportService;
//监测点新增
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType= OperateType.ADD)
@PostMapping("/add")
@ApiOperation("新增临时监测点管理")

View File

@@ -26,7 +26,8 @@ import org.springframework.web.bind.annotation.*;
@RestController
@RequiredArgsConstructor
@RequestMapping("/userReportDelete")
@Api(tags = "干扰源常态化管理信息删除")
@Api(tags = "干扰源常态化管理信息删除(功能取消)")
@Deprecated()
public class UserReportDeleteController extends BaseController {
private final IUserReportDeleteService userReportDeleteService;

View File

@@ -1,8 +1,12 @@
package com.njcn.supervision.mapper.device;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import org.apache.ibatis.annotations.Param;
import com.njcn.supervision.pojo.po.device.TempLineRunTestWarning;
import java.util.List;
/**
* @author web2023
* @description 针对表【supervision_temp_line_run_test_warning】的数据库操作Mapper
@@ -11,6 +15,8 @@ import com.njcn.supervision.pojo.po.device.TempLineRunTestWarning;
*/
public interface TempLineRunTestWarningMapper extends BaseMapper<TempLineRunTestWarning> {
List<String> selectWarningsIds(@Param("orgIds") List<String> orgIds,
@Param("param") StatisticsBizBaseParam param);
}

View File

@@ -5,4 +5,21 @@
<mapper namespace="com.njcn.supervision.mapper.device.TempLineRunTestWarningMapper">
<select id="selectWarningsIds" resultType="java.lang.String">
SELECT
c.id
FROM
supervision_temp_line_report a
INNER JOIN supervision_temp_line_run_test b ON a.id = b.id
INNER JOIN supervision_temp_line_run_test_warning c ON c.line_run_id = b.id
<where>
c.create_time BETWEEN #{param.startTime} AND #{param.endTime}
<if test="orgIds != null and orgIds.size() > 0">
AND a.org_id IN
<foreach collection="orgIds" item="orgId" separator="," open="(" close=")">
#{orgId}
</foreach>
</if>
</where>
</select>
</mapper>

View File

@@ -8,6 +8,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.supervision.mapper.device.TempLineRunTestWarningMapper;
import com.njcn.supervision.pojo.po.device.LineWarning;
import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet;
import com.njcn.supervision.pojo.po.problem.SupervisionUserComplaintPO;
@@ -43,6 +44,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
private final DeptFeignClient deptFeignClient;
private final IWarningLeafletService warningLeafletService;
private final ILineWarningService lineWarningService;
private final TempLineRunTestWarningMapper warningsMapper;
@Override
public GridDiagramVO.Info getSupervisionData(StatisticsBizBaseParam param) {
@@ -108,10 +110,16 @@ public class GridDiagramServiceImpl implements GridDiagramService {
.ge(StrUtil.isNotBlank(param.getStartTime()), SurveyTest::getCreateTime, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())))
.le(StrUtil.isNotBlank(param.getEndTime()), SurveyTest::getCreateTime, DateUtil.endOfDay(DateUtil.parse(param.getEndTime())))
);
//试运行问题单子
List<String> runWarningsIds = warningsMapper.selectWarningsIds(deptIds, param);
//根据问题单id查询已关联工单
List<String> problemIds = userComplaintList.stream().map(SupervisionUserComplaintPO::getId).collect(Collectors.toList());
problemIds.addAll(surveyTestList.stream().map(SurveyTest::getId).collect(Collectors.toList()));
problemIds.addAll(lineWarningList.stream().map(LineWarning::getId).collect(Collectors.toList()));
problemIds.addAll(runWarningsIds);
List<WarningLeaflet> list =new ArrayList<>();
if (CollUtil.isNotEmpty(problemIds)) {
list.addAll(warningLeafletService.list(new LambdaQueryWrapper<WarningLeaflet>()
@@ -155,9 +163,21 @@ public class GridDiagramServiceImpl implements GridDiagramService {
surveyVo.setProcessedNum(surveyHandleList.size());
surveyVo.setDisposalNum(survey.size() == 0 ? 0.0f : NumberUtil.round(surveyHandleList.size() * 100.0 / survey.size(), 2).floatValue());
//试运行监测点问题
GridDiagramVO trialRunVo=new GridDiagramVO();
List<WarningLeaflet> trialRun = list.stream().filter(x -> runWarningsIds.contains(x.getProblemId())).collect(Collectors.toList());
trialRunVo.setAbnormalNum(runWarningsIds.size());
trialRunVo.setAssociatedNum(trialRun.size());
trialRunVo.setConversionNum(trialRunVo.getAbnormalNum() == 0 ? 0.0f : NumberUtil.round(trialRun.size() * 100.0 / trialRunVo.getAbnormalNum(), 2).floatValue());
List<String> trialRunHandleList = trialRun.stream().filter(x -> x.getStatus() == 2).map(WarningLeaflet::getId).collect(Collectors.toList());
trialRunVo.setWorkNum(trialRun.size());
trialRunVo.setProcessedNum(trialRunHandleList.size());
trialRunVo.setDisposalNum(trialRun.size() == 0 ? 0.0f : NumberUtil.round(trialRunHandleList.size() * 100.0 / trialRun.size(), 2).floatValue());
City.setOnLine(warnVo);
City.setUser(userVo);
City.setSurvey(surveyVo);
City.setTrialRun(trialRunVo);
return City;
}
@@ -199,11 +219,17 @@ public class GridDiagramServiceImpl implements GridDiagramService {
);
gridDiagramVO.setSurveyNum(surveyTestList.size());
gridDiagramVO.setAbnormalNum(lineWarningList.size() + userComplaintList.size() + surveyTestList.size());
//试运行问题单子
List<String> runWarningsIds = warningsMapper.selectWarningsIds(ids, baseParam);
gridDiagramVO.setTrialRunNum(runWarningsIds.size());
gridDiagramVO.setAbnormalNum(lineWarningList.size() + userComplaintList.size() + surveyTestList.size()+ runWarningsIds.size());
//根据问题单id查询已关联工单
List<String> problemIds = userComplaintList.stream().map(SupervisionUserComplaintPO::getId).collect(Collectors.toList());
problemIds.addAll(surveyTestList.stream().map(SurveyTest::getId).collect(Collectors.toList()));
problemIds.addAll(lineWarningList.stream().map(LineWarning::getId).collect(Collectors.toList()));
problemIds.addAll(runWarningsIds);
if (CollUtil.isNotEmpty(problemIds)) {

View File

@@ -1,6 +1,8 @@
package com.njcn.supervision.service.user.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.bpm.api.BpmProcessFeignClient;
@@ -9,10 +11,17 @@ import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.pq.api.TerminalBaseClient;
import com.njcn.supervision.enums.SupervisionKeyEnum;
import com.njcn.supervision.mapper.user.UserReportPOMapper;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineDebugPO;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO;
import com.njcn.supervision.pojo.po.user.*;
import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService;
import com.njcn.supervision.service.device.SupervisionTempLineDebugPOService;
import com.njcn.supervision.service.device.SupervisionTempLineReportService;
import com.njcn.supervision.service.user.*;
import com.njcn.supervision.utils.InstanceUtil;
import com.njcn.web.utils.RequestUtil;
@@ -21,8 +30,10 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -41,11 +52,20 @@ public class UserReportDeleteServiceImpl extends ServiceImpl<UserReportPOMapper,
private final UserReportSubstationPOService userReportSubstationPOService;
private final UserReportSensitivePOService userReportSensitivePOService;
private final BpmProcessFeignClient bpmProcessFeignClient;
private final TerminalBaseClient translateClient;
private final SupervisionTempLineReportService lineReportService;
private final SupervisionTempLineDebugPOService lineDebugService;
private final ISupervisionTempLineRunTestService lineRunTestService;
@Override
@Transactional(rollbackFor = Exception.class)
public void updateProcessStatus(String businessId, Integer status) {
if (status == 2) {
if (status == BpmTaskStatusEnum.RUNNING.getStatus()) {
/**
* 1。删除常态化用户所有信息
* 2.删除绑定监测点信息(根据常态化用户信息找到监测点)
* 3.删除试运行信息,
*
*/
//电网工程类用户额外数据
userReportProjectPOService.update(new LambdaUpdateWrapper<UserReportProjectPO>()
.set(UserReportProjectPO::getState, status)
@@ -61,6 +81,27 @@ public class UserReportDeleteServiceImpl extends ServiceImpl<UserReportPOMapper,
this.update(new LambdaUpdateWrapper<UserReportPO>()
.set(UserReportPO::getState, 0)
.eq(UserReportPO::getId, businessId));
//删除监测点绑定信息
List<SupervisionTempLineReport> lineList = lineReportService.list(new LambdaQueryWrapper<SupervisionTempLineReport>()
.eq(SupervisionTempLineReport::getState, 0)
.eq(SupervisionTempLineReport::getUserId, businessId));
if(CollUtil.isNotEmpty(lineList)){
List<String> lineIds = lineList.stream().map(SupervisionTempLineReport::getId).collect(Collectors.toList());
//删除监测点绑定信息
lineReportService.update(new LambdaUpdateWrapper<SupervisionTempLineReport>()
.set(SupervisionTempLineReport::getState, 0)
.eq(SupervisionTempLineReport::getUserId, businessId));
//删除监测点联调
lineDebugService.update(new LambdaUpdateWrapper<SupervisionTempLineDebugPO>()
.set(SupervisionTempLineDebugPO::getState, 0)
.in(SupervisionTempLineDebugPO::getId, lineIds));
//删除试运行信息
lineRunTestService.update(new LambdaUpdateWrapper<SupervisionTempLineRunTestPO>()
.set(SupervisionTempLineRunTestPO::getState, 0)
.in(SupervisionTempLineRunTestPO::getId, lineIds));
}
//远程删除监测点信息和监测点详细信息
// translateClient.terminalSyncDeleteFly(businessId);
}
this.lambdaUpdate().set(UserReportPO::getStatus, status).eq(UserReportPO::getId, businessId).update();
}
@@ -68,11 +109,11 @@ public class UserReportDeleteServiceImpl extends ServiceImpl<UserReportPOMapper,
@Override
public BpmInstanceInfo getInstanceInfo(String businessId) {
BpmInstanceInfo bpmInstanceInfo = new BpmInstanceInfo();
//todo 删除展示信息暂未确定
// bpmInstanceInfo.setHistoryInstanceId(userReportPO.getHistoryInstanceId());
// bpmInstanceInfo.setInstanceSign(userReportPO.getUserReportMessageJson().getProjectName());
UserReportPO byId = this.getById(businessId);
if(Objects.nonNull(byId)){
bpmInstanceInfo.setHistoryInstanceId(byId.getHistoryInstanceId());
bpmInstanceInfo.setInstanceSign(byId.getProjectName()+"信息删除");
}
return bpmInstanceInfo;
}

View File

@@ -170,12 +170,15 @@ public class UserReportNormalServiceImpl extends ServiceImpl<UserReportNormalMap
@Override
public UserReportVO.UserReportGoNetVO userReportGoNetById(String id) {
UserReportNormalPO userReportNormalPO = this.getById(id);
UserReportPO userReportPO = userReportPOService.getById(userReportNormalPO.getUserReportId());
UserReportVO.UserReportGoNetVO vo = new UserReportVO.UserReportGoNetVO();
BeanUtil.copyProperties(userReportPO,vo);
BeanUtil.copyProperties(userReportNormalPO,vo);
vo.setOtherReport(userReportNormalPO.getReportUrl());
return vo;
if(Objects.nonNull(userReportNormalPO)){
UserReportPO userReportPO = userReportPOService.getById(userReportNormalPO.getUserReportId());
UserReportVO.UserReportGoNetVO vo = new UserReportVO.UserReportGoNetVO();
BeanUtil.copyProperties(userReportPO,vo);
BeanUtil.copyProperties(userReportNormalPO,vo);
vo.setOtherReport(userReportNormalPO.getReportUrl());
return vo;
}
return null;
}
@Override
@@ -187,8 +190,10 @@ public class UserReportNormalServiceImpl extends ServiceImpl<UserReportNormalMap
public BpmInstanceInfo getInstanceInfo(String businessId) {
BpmInstanceInfo bpmInstanceInfo = new BpmInstanceInfo();
UserReportVO.UserReportGoNetVO userReportGoNet = this.userReportGoNetById(businessId);
bpmInstanceInfo.setHistoryInstanceId(userReportGoNet.getHistoryInstanceId());
bpmInstanceInfo.setInstanceSign(userReportGoNet.getProjectName());
if(Objects.nonNull(userReportGoNet)){
bpmInstanceInfo.setHistoryInstanceId(userReportGoNet.getHistoryInstanceId());
bpmInstanceInfo.setInstanceSign(userReportGoNet.getProjectName());
}
return bpmInstanceInfo;
}

View File

@@ -300,7 +300,9 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
userReportVOQueryWrapper.and(x -> x.between("supervision_user_report.expected_production_date",
DateUtil.beginOfDay(DateUtil.parse(userReportQueryParam.getSearchBeginTime())),
DateUtil.endOfDay(DateUtil.parse(userReportQueryParam.getSearchEndTime()))).or().isNull("supervision_user_report.expected_production_date"));
DateUtil.endOfDay(DateUtil.parse(userReportQueryParam.getSearchEndTime())))
.or()
.isNull("supervision_user_report.expected_production_date"));
}
userReportVOQueryWrapper.orderByDesc("supervision_user_report.Update_Time");
}

View File

@@ -76,7 +76,7 @@ public class UserReportRenewalServiceImpl extends ServiceImpl<UserReportRenewalM
UserReportRenewalPO userReportPO = this.getById(businessId);
if(ObjectUtil.isNotNull(userReportPO)){
bpmInstanceInfo.setHistoryInstanceId(userReportPO.getHistoryInstanceId());
bpmInstanceInfo.setInstanceSign(userReportPO.getUserReportMessageJson().getProjectName());
bpmInstanceInfo.setInstanceSign(userReportPO.getUserReportMessageJson().getProjectName()+"信息更新");
return bpmInstanceInfo;
}
return new BpmInstanceInfo();
@@ -120,6 +120,15 @@ public class UserReportRenewalServiceImpl extends ServiceImpl<UserReportRenewalM
addition(userReportParam, userReportPO.getUserType());
// 如何未提交审则不需要发起 BPM 流程
if (Objects.equals(userReportParam.getSaveOrCheckflag(), "2")) {
UserReportRenewalPO byId = this.getById(userReportParam.getId());
if(ObjectUtil.isNotNull(byId)){
if(FlowStatusEnum.APPROVE.getCode()==byId.getStatus()) {
//处理历史流程id列表
String historyInstanceIds = InstanceUtil.dealHistoryId(byId.getProcessInstanceId(), byId.getHistoryInstanceId());
//保存历史流程id列表
po.setHistoryInstanceId(historyInstanceIds);
}
}
Map<String, Object> processInstanceVariables = new HashMap<>();
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.USER_REPORT_RENEWAL.getKey());