添加电能质量全过程月报

功能及其批处理任务
This commit is contained in:
hzj
2024-10-29 14:26:10 +08:00
parent 3132b0a134
commit 3c820b1645
6 changed files with 221 additions and 86 deletions

View File

@@ -31,6 +31,7 @@ import com.njcn.web.utils.GwSendUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.*;
@@ -110,9 +111,12 @@ public class PmsTemProcessReportServiceImpl extends ServiceImpl<PmsTemProcessRep
List<PvTerminalTreeVO> data = deptFeignClient.allDeptList().getData();
data = data.stream().filter(temp -> Objects.equals(temp.getLevel(), 2)).collect(Collectors.toList());
data.forEach(province->{
List<PvTerminalTreeVO> collect = data.stream().filter(temp -> Objects.equals(temp.getLevel(), 2))
.peek(item -> {
item.setLevel(2);
item.setChildren(getChildren(item, data));
}).collect(Collectors.toList());
collect.forEach(province->{
province.getChildren().forEach(city->{
PmsTemProcessReport pmsTemProcessReport = new PmsTemProcessReport();
pmsTemProcessReport.setProvinceOrg(province.getCode());
@@ -139,115 +143,139 @@ public class PmsTemProcessReportServiceImpl extends ServiceImpl<PmsTemProcessRep
pmsTemProcessReport.setNewUserCount(list.size());
List<String> userIds = list.stream().map(PmsTemUserPO::getObjId).collect(Collectors.toList());
if(CollectionUtils.isEmpty(userIds)){
//规划可研阶段
Integer auditCount = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
pmsTemProcessReport.setReportAuditNum(0);
pmsTemProcessReport.setReportAuditCount(0);
pmsTemProcessReport.setApprovalAuditNum(0);
pmsTemProcessReport.setApprovalAuditCount(0);
pmsTemProcessReport.setApprovalProblemNum(0);
pmsTemProcessReport.setApprovalProblemCount(0);
pmsTemProcessReport.setApprovalRectificationProblemNum(0);
pmsTemProcessReport.setApprovalRectificationProblemCount(0);
pmsTemProcessReport.setTestRunUserCount(0);
pmsTemProcessReport.setTestRunOvUserNum(0);
pmsTemProcessReport.setTestRunOvUserRate(BigDecimal.valueOf(0.00));
pmsTemProcessReport.setRunUserCount(0);
pmsTemProcessReport.setRunOvUserNum(0);
pmsTemProcessReport.setRunOvUserRate(BigDecimal.valueOf(0.00));
}else {
//规划可研阶段
Integer auditCount = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
// .eq(PmsTemProcessTrackPO::getProStage,"01")
.between(PmsTemProcessTrackPO::getAuditFinalTime, beginTime, endTime)
.count();
.between(PmsTemProcessTrackPO::getAuditFinalTime, beginTime, endTime)
.count();
Integer allAuditCount = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
Integer allAuditCount = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
// .eq(PmsTemProcessTrackPO::getProStage,"01")
// .between(PmsTemProcessTrackPO::getAuditFinalTime, beginTime, endTime)
.isNotNull(PmsTemProcessTrackPO::getAuditFinalTime)
.count();
pmsTemProcessReport.setReportAuditNum(auditCount);
pmsTemProcessReport.setReportAuditCount(allAuditCount);
.isNotNull(PmsTemProcessTrackPO::getAuditFinalTime)
.count();
pmsTemProcessReport.setReportAuditNum(auditCount);
pmsTemProcessReport.setReportAuditCount(allAuditCount);
//规划验收
Integer approvalAuditNum = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
//规划验收
Integer approvalAuditNum = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
// .eq(PmsTemProcessTrackPO::getProStage,"01")
.between(PmsTemProcessTrackPO::getApprovalTime, beginTime, endTime)
.count();
Integer approvalAuditCount = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
.between(PmsTemProcessTrackPO::getApprovalTime, beginTime, endTime)
.count();
Integer approvalAuditCount = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
// .eq(PmsTemProcessTrackPO::getProStage,"01")
// .between(PmsTemProcessTrackPO::getAuditFinalTime, beginTime, endTime)
.isNotNull(PmsTemProcessTrackPO::getApprovalTime)
.count();
pmsTemProcessReport.setApprovalAuditNum(approvalAuditNum);
pmsTemProcessReport.setApprovalAuditCount(approvalAuditCount);
.isNotNull(PmsTemProcessTrackPO::getApprovalTime)
.count();
pmsTemProcessReport.setApprovalAuditNum(approvalAuditNum);
pmsTemProcessReport.setApprovalAuditCount(approvalAuditCount);
Integer approvalProblemNum = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
.eq(PmsTemProcessTrackPO::getApprovalResult,"01")
Integer approvalProblemNum = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
.eq(PmsTemProcessTrackPO::getApprovalResult,"01")
// .eq(PmsTemProcessTrackPO::getProStage,"01")
.between(PmsTemProcessTrackPO::getApprovalTime, beginTime, endTime)
.count();
Integer approvalProblemCount = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
.eq(PmsTemProcessTrackPO::getApprovalResult,"01")
.between(PmsTemProcessTrackPO::getApprovalTime, beginTime, endTime)
.count();
Integer approvalProblemCount = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
.eq(PmsTemProcessTrackPO::getApprovalResult,"01")
// .eq(PmsTemProcessTrackPO::getProStage,"01")
// .between(PmsTemProcessTrackPO::getAuditFinalTime, beginTime, endTime)
.isNotNull(PmsTemProcessTrackPO::getApprovalTime)
.count();
pmsTemProcessReport.setApprovalProblemNum(approvalProblemNum);
pmsTemProcessReport.setApprovalProblemCount(approvalProblemCount);
.isNotNull(PmsTemProcessTrackPO::getApprovalTime)
.count();
pmsTemProcessReport.setApprovalProblemNum(approvalProblemNum);
pmsTemProcessReport.setApprovalProblemCount(approvalProblemCount);
Integer approvalRectificationProblemNum = pmsTemProcessApprovalService.lambdaQuery()
.in(PmsTemProcessApproval::getTempUserDossierId, userIds)
.eq(PmsTemProcessApproval::getRectificationStatus, "02")
Integer approvalRectificationProblemNum = pmsTemProcessApprovalService.lambdaQuery()
.in(PmsTemProcessApproval::getTempUserDossierId, userIds)
.eq(PmsTemProcessApproval::getRectificationStatus, "02")
// .eq(PmsTemProcessTrackPO::getProStage,"01")
.between(PmsTemProcessApproval::getRectificationTime, beginTime, endTime)
.count();
.between(PmsTemProcessApproval::getRectificationTime, beginTime, endTime)
.count();
Integer approvalRectificationProblemCount = pmsTemProcessApprovalService.lambdaQuery()
.in(PmsTemProcessApproval::getTempUserDossierId, userIds)
.eq(PmsTemProcessApproval::getRectificationStatus, "02")
Integer approvalRectificationProblemCount = pmsTemProcessApprovalService.lambdaQuery()
.in(PmsTemProcessApproval::getTempUserDossierId, userIds)
.eq(PmsTemProcessApproval::getRectificationStatus, "02")
// .eq(PmsTemProcessTrackPO::getProStage,"01")
// .between(PmsTemProcessApproval::getRectificationTime, beginTime, endTime)
.count();
.count();
pmsTemProcessReport.setApprovalRectificationProblemNum(approvalRectificationProblemNum);
pmsTemProcessReport.setApprovalRectificationProblemCount(approvalRectificationProblemCount);
pmsTemProcessReport.setApprovalRectificationProblemNum(approvalRectificationProblemNum);
pmsTemProcessReport.setApprovalRectificationProblemCount(approvalRectificationProblemCount);
//试运行
Integer testRunUserCount = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
.eq(PmsTemProcessTrackPO::getProStage,"03")
.between(PmsTemProcessTrackPO::getMonitorDate, beginTime, endTime)
.count();
Integer testRunOvUserNum = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
.eq(PmsTemProcessTrackPO::getProStage,"03")
.eq(PmsTemProcessTrackPO::getTestIsOv,"01")
.between(PmsTemProcessTrackPO::getMonitorDate, beginTime, endTime)
.count();
pmsTemProcessReport.setTestRunUserCount(testRunUserCount);
pmsTemProcessReport.setTestRunOvUserNum(testRunOvUserNum);
pmsTemProcessReport.setTestRunOvUserRate(BigDecimal.valueOf(Double.valueOf(testRunOvUserNum*100)/testRunOvUserNum).setScale(2));
//试运行
Integer testRunUserCount = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
.eq(PmsTemProcessTrackPO::getProStage,"03")
.between(PmsTemProcessTrackPO::getMonitorDate, beginTime, endTime)
.count();
Integer testRunOvUserNum = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
.eq(PmsTemProcessTrackPO::getProStage,"03")
.eq(PmsTemProcessTrackPO::getTestIsOv,"01")
.between(PmsTemProcessTrackPO::getMonitorDate, beginTime, endTime)
.count();
pmsTemProcessReport.setTestRunUserCount(testRunUserCount);
pmsTemProcessReport.setTestRunOvUserNum(testRunOvUserNum);
pmsTemProcessReport.setTestRunOvUserRate(BigDecimal.valueOf(Double.valueOf(testRunOvUserNum*100)/testRunOvUserNum).setScale(2));
Integer runUserCount = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
.eq(PmsTemProcessTrackPO::getProStage,"04")
.between(PmsTemProcessTrackPO::getOperateDate, beginTime, endTime)
.count();
Integer runOvUserNum = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
.eq(PmsTemProcessTrackPO::getProStage,"04")
.isNotNull(PmsTemProcessTrackPO::getOvIndexs)
.between(PmsTemProcessTrackPO::getOperateDate, beginTime, endTime)
.count();
Integer runUserCount = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
.eq(PmsTemProcessTrackPO::getProStage,"04")
.between(PmsTemProcessTrackPO::getOperateDate, beginTime, endTime)
.count();
Integer runOvUserNum = iPmsTemProcessTrackService.lambdaQuery()
.in(PmsTemProcessTrackPO::getTempUserDossierId, userIds)
.eq(PmsTemProcessTrackPO::getProStage,"04")
.isNotNull(PmsTemProcessTrackPO::getOvIndexs)
.between(PmsTemProcessTrackPO::getOperateDate, beginTime, endTime)
.count();
pmsTemProcessReport.setRunUserCount(runUserCount);
pmsTemProcessReport.setRunOvUserNum(runOvUserNum);
pmsTemProcessReport.setRunOvUserRate(BigDecimal.valueOf(Double.valueOf(runOvUserNum*100)/runUserCount).setScale(2));
pmsTemProcessReport.setRunUserCount(runUserCount);
pmsTemProcessReport.setRunOvUserNum(runOvUserNum);
pmsTemProcessReport.setRunOvUserRate(BigDecimal.valueOf(Double.valueOf(runOvUserNum*100)/runUserCount).setScale(2));
}
pmsTemProcessReportList.add(pmsTemProcessReport);
});
});
pmsTemProcessReportList.forEach(temp->{
QueryWrapper<PmsTemProcessReport> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(PmsTemProcessReport::getProvinceOrg,temp.getProvinceOrg())
.eq(PmsTemProcessReport::getCityOrg,temp.getCityOrg())
.eq(PmsTemProcessReport::getStatisticalDate,temp.getStatisticalDate());
this.update(temp,queryWrapper);
});
QueryWrapper<PmsTemProcessReport> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(PmsTemProcessReport::getStatisticalDate,statisticalDate);
this.remove(queryWrapper);
this.saveBatch(pmsTemProcessReportList);
return true;
}
private List<PvTerminalTreeVO> getChildren(PvTerminalTreeVO temp, List<PvTerminalTreeVO> all) {
return all.stream().filter(item -> item.getPid().equals(temp.getId())).peek(item -> {
item.setLevel(temp.getLevel() + 1);
item.setChildren(getChildren(item, all));
}).collect(Collectors.toList());
}
}