技术监督,监测点联调
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package com.njcn.supervision.service.device;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.supervision.pojo.param.device.SupervisionTempLineDebugParam;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineDebugPO;
|
||||
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineDebugVO;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/5/17 15:26【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface SupervisionTempLineDebugPOService extends IService<SupervisionTempLineDebugPO>{
|
||||
|
||||
|
||||
String addTempLineDebug(SupervisionTempLineDebugParam supervisionTempLineReportParam);
|
||||
|
||||
Page<SupervisionTempLineDebugVO> getTempLineDeug(SupervisionTempLineDebugParam.SupervisionTempLineDebugQuery supervisionTempLineDebugQuery);
|
||||
|
||||
SupervisionTempLineDebugVO getDetailTempLineDebug(String id);
|
||||
|
||||
void updateStatus(String businessKey, Integer status);
|
||||
}
|
||||
@@ -25,4 +25,6 @@ public interface SupervisionTempLineReportService extends IService<SupervisionTe
|
||||
void updateStatus(String businessKey, Integer status);
|
||||
|
||||
String cancelTempLineReport(BpmProcessInstanceCancelParam cancelReqVO);
|
||||
|
||||
SupervisionTempLineReportVO getDetailTempLine(String id);
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
|
||||
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.pq.api.LineFeignClient;
|
||||
import com.njcn.supervision.enums.FlowStatusEnum;
|
||||
import com.njcn.supervision.mapper.device.SupervisionDevMainReportPOMapper;
|
||||
import com.njcn.supervision.pojo.param.device.SupervisionDevMainReportParam;
|
||||
@@ -62,6 +63,7 @@ public class SupervisionDevMainReportPOServiceImpl extends ServiceImpl<Supervisi
|
||||
private final SupervisionTempDeviceReportService supervisionTempDeviceReportService;
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
private final UserFeignClient userFeignClient;
|
||||
private final LineFeignClient lineFeignClient;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -123,12 +125,13 @@ public class SupervisionDevMainReportPOServiceImpl extends ServiceImpl<Supervisi
|
||||
if (StrUtil.isNotBlank(supervisionDevMainReportQuery.getOrgId())) {
|
||||
/*获取直接下属子单位*/
|
||||
List<String> data = deptFeignClient.getDepSonIdtByDeptId(supervisionDevMainReportQuery.getOrgId()).getData();
|
||||
queryWrapper.in("supervision_dev_main_report.org_no", data);
|
||||
|
||||
//添加上时间范围
|
||||
queryWrapper.between("supervision_dev_main_report.Create_Time",
|
||||
DateUtil.beginOfDay(DateUtil.parse(supervisionDevMainReportQuery.getSearchBeginTime())),
|
||||
DateUtil.endOfDay(DateUtil.parse(supervisionDevMainReportQuery.getSearchEndTime())));
|
||||
}
|
||||
//添加上时间范围
|
||||
queryWrapper.between("supervision_dev_main_report.Create_Time",
|
||||
DateUtil.beginOfDay(DateUtil.parse(supervisionDevMainReportQuery.getSearchBeginTime())),
|
||||
DateUtil.endOfDay(DateUtil.parse(supervisionDevMainReportQuery.getSearchEndTime())));
|
||||
queryWrapper.orderByDesc("supervision_dev_main_report.Update_Time");
|
||||
Page<SupervisionDevMainReportVO> page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(supervisionDevMainReportQuery), PageFactory.getPageSize(supervisionDevMainReportQuery)), queryWrapper);
|
||||
page.getRecords().stream().forEach(temp->{
|
||||
@@ -186,7 +189,8 @@ public class SupervisionDevMainReportPOServiceImpl extends ServiceImpl<Supervisi
|
||||
supervisionDevMainReportVO.setOrgName(deptFeignClient.getDeptById(byId.getOrgId()).getData().getName());
|
||||
|
||||
SupervisionTempDeviceReport supervisionTempDeviceReport = supervisionTempDeviceReportService.lambdaQuery().eq(SupervisionTempDeviceReport::getId, id).one();
|
||||
|
||||
supervisionTempDeviceReport.setSubstation(lineFeignClient.getSubstationInfo(supervisionTempDeviceReport.getSubstation()).getData().getName());
|
||||
supervisionTempDeviceReport.setPowerCompany(deptFeignClient.getDeptById(byId.getOrgId()).getData().getName());
|
||||
supervisionDevMainReportVO.setSupervisionTempDeviceReport(supervisionTempDeviceReport);
|
||||
return supervisionDevMainReportVO;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
package com.njcn.supervision.service.device.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.bpm.api.BpmProcessFeignClient;
|
||||
import com.njcn.bpm.enums.BpmTaskStatusEnum;
|
||||
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.supervision.mapper.device.SupervisionTempLineDebugPOMapper;
|
||||
import com.njcn.supervision.pojo.param.device.SupervisionTempLineDebugParam;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineDebugPO;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
|
||||
import com.njcn.supervision.pojo.vo.device.SupervisionDevMainReportVO;
|
||||
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineDebugVO;
|
||||
import com.njcn.supervision.service.device.SupervisionTempLineDebugPOService;
|
||||
import com.njcn.supervision.service.device.SupervisionTempLineReportService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
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;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/5/17 15:26【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class SupervisionTempLineDebugPOServiceImpl extends ServiceImpl<SupervisionTempLineDebugPOMapper, SupervisionTempLineDebugPO> implements SupervisionTempLineDebugPOService{
|
||||
public static final String PROCESS_KEY = "temp_line_debug";
|
||||
private final BpmProcessFeignClient bpmProcessFeignClient;
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
private final SupervisionTempLineReportService supervisionTempLineReportService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String addTempLineDebug(SupervisionTempLineDebugParam supervisionTempLineReportParam) {
|
||||
|
||||
SupervisionTempLineDebugPO byId = this.getById(supervisionTempLineReportParam.getId());
|
||||
if(Objects.nonNull(byId)){
|
||||
if(byId.getState() == 1) {
|
||||
throw new BusinessException("该监测点以申请联调");
|
||||
}
|
||||
}
|
||||
SupervisionTempLineDebugPO supervisionTempLineDebugPO = new SupervisionTempLineDebugPO();
|
||||
BeanUtils.copyProperties(supervisionTempLineReportParam,supervisionTempLineDebugPO);
|
||||
supervisionTempLineDebugPO.setState(DataStateEnum.ENABLE.getCode());
|
||||
supervisionTempLineDebugPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
||||
this.save(supervisionTempLineDebugPO);
|
||||
String id = supervisionTempLineDebugPO.getId();
|
||||
// 发起 BPM 流程
|
||||
Map<String, Object> processInstanceVariables = new HashMap<>();
|
||||
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
|
||||
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(PROCESS_KEY);
|
||||
bpmProcessInstanceCreateReqDTO.setBusinessKey(id);
|
||||
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(supervisionTempLineReportParam.getStartUserSelectAssignees());
|
||||
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
|
||||
String processInstanceId = bpmProcessFeignClient.createProcessInstance(supervisionTempLineDebugPO.getCreateBy(),bpmProcessInstanceCreateReqDTO).getData();
|
||||
// 将工作流的编号,更新到流程单中
|
||||
supervisionTempLineDebugPO.setProcessInstanceId(processInstanceId);
|
||||
this.baseMapper.updateById(supervisionTempLineDebugPO);
|
||||
|
||||
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<SupervisionTempLineDebugVO> getTempLineDeug(SupervisionTempLineDebugParam.SupervisionTempLineDebugQuery supervisionTempLineDebugQuery) {
|
||||
QueryWrapper<SupervisionDevMainReportVO> queryWrapper = new QueryWrapper<>();
|
||||
|
||||
String userIndex = RequestUtil.getUserIndex();
|
||||
queryWrapper.in("supervision_temp_line_report.create_by", CollectionUtil.newArrayList(userIndex))
|
||||
.eq("supervision_temp_line_report.state", DataStateEnum.ENABLE.getCode());
|
||||
if (StrUtil.isNotBlank(supervisionTempLineDebugQuery.getOrgId())) {
|
||||
/*获取直接下属子单位*/
|
||||
List<String> data = deptFeignClient.getDepSonIdtByDeptId(supervisionTempLineDebugQuery.getOrgId()).getData();
|
||||
queryWrapper.in("supervision_temp_line_report.org_id", data);
|
||||
|
||||
}
|
||||
//添加上时间范围
|
||||
queryWrapper.between("supervision_temp_line_report.Create_Time",
|
||||
DateUtil.beginOfDay(DateUtil.parse(supervisionTempLineDebugQuery.getSearchBeginTime())),
|
||||
DateUtil.endOfDay(DateUtil.parse(supervisionTempLineDebugQuery.getSearchEndTime())));
|
||||
queryWrapper.orderByDesc("supervision_temp_line_report.Update_Time");
|
||||
|
||||
Page<SupervisionTempLineDebugVO> page =this.baseMapper.page(new Page<>(PageFactory.getPageNum(supervisionTempLineDebugQuery), PageFactory.getPageSize(supervisionTempLineDebugQuery)), queryWrapper);
|
||||
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SupervisionTempLineDebugVO getDetailTempLineDebug(String id) {
|
||||
SupervisionTempLineDebugVO supervisionTempLineDebugVO = new SupervisionTempLineDebugVO();
|
||||
SupervisionTempLineReport supervisionTempLineReport = supervisionTempLineReportService.getById(id);
|
||||
SupervisionTempLineDebugPO supervisionTempLineDebugPO = this.getById(id);
|
||||
supervisionTempLineDebugVO.setId(id);
|
||||
supervisionTempLineDebugVO.setLineId(supervisionTempLineReport.getLineId());
|
||||
supervisionTempLineDebugVO.setLineName(supervisionTempLineReport.getLineName());
|
||||
supervisionTempLineDebugVO.setReason(supervisionTempLineDebugPO.getReason());
|
||||
supervisionTempLineDebugVO.setProcessInstanceId(supervisionTempLineDebugPO.getProcessInstanceId());
|
||||
supervisionTempLineDebugVO.setStatus(supervisionTempLineDebugPO.getStatus());
|
||||
|
||||
|
||||
return supervisionTempLineDebugVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateStatus(String businessKey, Integer status) {
|
||||
this.lambdaUpdate().set(SupervisionTempLineDebugPO::getStatus,status).eq(SupervisionTempLineDebugPO::getId,businessKey).update();
|
||||
|
||||
}
|
||||
}
|
||||
@@ -93,20 +93,23 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl<Supervisio
|
||||
String userIndex = RequestUtil.getUserIndex();
|
||||
|
||||
queryWrapper.in("supervision_temp_line_report.create_by", CollectionUtil.newArrayList(userIndex))
|
||||
.eq("supervision_temp_line_report.state", DataStateEnum.ENABLE.getCode());
|
||||
.eq("supervision_temp_line_report.state", DataStateEnum.ENABLE.getCode())
|
||||
.in(CollectionUtil.isNotEmpty(supervisionTempLineReportQuery.getStatueList()),"supervision_temp_line_report.status",supervisionTempLineReportQuery.getStatueList());
|
||||
if (StrUtil.isNotBlank(supervisionTempLineReportQuery.getOrgId())) {
|
||||
/*获取直接下属子单位*/
|
||||
List<String> data = deptFeignClient.getDepSonIdtByDeptId(supervisionTempLineReportQuery.getOrgId()).getData();
|
||||
queryWrapper.in("supervision_temp_line_report.org_id", data);
|
||||
|
||||
|
||||
//添加上时间范围
|
||||
queryWrapper.between("supervision_temp_line_report.Create_Time",
|
||||
DateUtil.beginOfDay(DateUtil.parse(supervisionTempLineReportQuery.getSearchBeginTime())),
|
||||
DateUtil.endOfDay(DateUtil.parse(supervisionTempLineReportQuery.getSearchEndTime())));
|
||||
}
|
||||
//添加上时间范围
|
||||
queryWrapper.between("supervision_temp_line_report.Create_Time",
|
||||
DateUtil.beginOfDay(DateUtil.parse(supervisionTempLineReportQuery.getSearchBeginTime())),
|
||||
DateUtil.endOfDay(DateUtil.parse(supervisionTempLineReportQuery.getSearchEndTime())));
|
||||
queryWrapper.orderByDesc("supervision_temp_line_report.Update_Time");
|
||||
Page<SupervisionTempLineReportVO> page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(supervisionTempLineReportQuery), PageFactory.getPageSize(supervisionTempLineReportQuery)), queryWrapper);
|
||||
page.getRecords().stream().forEach(temp->{
|
||||
temp.setOrgName((deptFeignClient.getDeptById(temp.getOrgId()).getData().getName()));
|
||||
// temp.setOrgName((deptFeignClient.getDeptById(temp.getOrgId()).getData().getName()));
|
||||
//处理特殊字段,用户名、部门名
|
||||
UserVO userVO = userFeignClient.getUserById(temp.getReporter()).getData();
|
||||
temp.setReporter(userVO.getName());
|
||||
@@ -133,6 +136,20 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl<Supervisio
|
||||
return supervisionDevMainReportPO.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SupervisionTempLineReportVO getDetailTempLine(String id) {
|
||||
SupervisionTempLineReportVO vo =new SupervisionTempLineReportVO();
|
||||
SupervisionTempLineReport byId = this.getById(id);
|
||||
BeanUtils.copyProperties(byId,vo);
|
||||
|
||||
//处理特殊字段,用户名、部门名
|
||||
UserVO userVO = userFeignClient.getUserById(vo.getReporter()).getData();
|
||||
vo.setReporter(userVO.getName());
|
||||
vo.setOrgName(deptFeignClient.getDeptById(vo.getOrgId()).getData().getName());
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
||||
private void checkLineId(SupervisionTempLineReportParam supervisionTempLineReportParam, boolean isExcludeSelf) {
|
||||
LambdaQueryWrapper<SupervisionTempLineReport> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.supervision.service.plan;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.supervision.pojo.param.plan.SupervisionPlanParam;
|
||||
import com.njcn.supervision.pojo.po.plan.SupervisionPlanPO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.supervision.pojo.vo.plan.SupervisionPlanVO;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/5/20 17:49【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface SupervisionPlanPOService extends IService<SupervisionPlanPO>{
|
||||
|
||||
|
||||
String addPlan(SupervisionPlanParam supvPlanParam);
|
||||
|
||||
Page<SupervisionPlanVO> pagePlan(SupervisionPlanParam supvPlanParam);
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.njcn.supervision.service.plan;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.supervision.pojo.param.plan.SupervisopnProblemParam;
|
||||
import com.njcn.supervision.pojo.po.plan.SupervisionProblemPO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/5/20 19:50【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface SupervisionProblemPOService extends IService<SupervisionProblemPO>{
|
||||
|
||||
|
||||
void addProblem(SupervisopnProblemParam supvProblemParam);
|
||||
|
||||
Page<SupervisionProblemPO> pageProblem(SupervisopnProblemParam supvProblemParam);
|
||||
}
|
||||
@@ -0,0 +1,266 @@
|
||||
package com.njcn.supervision.service.plan.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
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.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.utils.PubUtils;
|
||||
import com.njcn.supervision.pojo.param.plan.SupervisionPlanParam;
|
||||
import com.njcn.supervision.pojo.vo.plan.SupervisionPlanVO;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.api.UserFeignClient;
|
||||
import com.njcn.user.pojo.po.User;
|
||||
import com.njcn.user.pojo.vo.PvTerminalTreeVO;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.supervision.mapper.plan.SupervisionPlanPOMapper;
|
||||
import com.njcn.supervision.pojo.po.plan.SupervisionPlanPO;
|
||||
import com.njcn.supervision.service.plan.SupervisionPlanPOService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/5/20 17:49【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class SupervisionPlanPOServiceImpl extends ServiceImpl<SupervisionPlanPOMapper, SupervisionPlanPO> implements SupervisionPlanPOService{
|
||||
private final UserFeignClient userFeignClient;
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String addPlan(SupervisionPlanParam supvPlanParam) {
|
||||
checkParam(supvPlanParam, false);
|
||||
SupervisionPlanPO supvPlan = new SupervisionPlanPO();
|
||||
BeanUtil.copyProperties(supvPlanParam, supvPlan);
|
||||
supvPlan.setPlanSupvDate(LocalDateTimeUtil.parse(supvPlanParam.getPlanSupvDate(), DatePattern.NORM_DATETIME_PATTERN));
|
||||
|
||||
if(StrUtil.isNotBlank(supvPlanParam.getEffectEndTime())) {
|
||||
supvPlan.setEffectEndTime(PubUtils.localDateTimeFormat(supvPlanParam.getEffectEndTime()));
|
||||
}
|
||||
if(StrUtil.isNotBlank(supvPlanParam.getEffectStartTime())) {
|
||||
supvPlan.setEffectStartTime(PubUtils.localDateTimeFormat(supvPlanParam.getEffectStartTime()));
|
||||
}
|
||||
if(StrUtil.isNotBlank(supvPlanParam.getProblemOcTime())) {
|
||||
supvPlan.setProblemOcTime(PubUtils.localDateTimeFormat(supvPlanParam.getProblemOcTime()));
|
||||
}
|
||||
if(StrUtil.isNotBlank(supvPlanParam.getReportIssueTime())) {
|
||||
supvPlan.setReportIssueTime(PubUtils.localDateTimeFormat(supvPlanParam.getReportIssueTime()));
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(!"01".equals(supvPlan.getEffectStatus())){
|
||||
if(Objects.isNull(supvPlan.getEffectStartTime()) ){
|
||||
throw new BusinessException("开始实施时间不可为空!");
|
||||
}
|
||||
}
|
||||
|
||||
if("04".equals(supvPlan.getEffectStatus())){
|
||||
if(Objects.isNull(supvPlan.getEffectEndTime()) ){
|
||||
throw new BusinessException("结束实施时间不可为空!");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
supvPlan.setIsUploadHead(0);
|
||||
if(StrUtil.isNotBlank(supvPlan.getEffectUserId())){
|
||||
List<User> userList = userFeignClient.getUserByIdList(Stream.of(supvPlan.getEffectUserId()).collect(Collectors.toList())).getData();
|
||||
if(CollUtil.isNotEmpty(userList)){
|
||||
supvPlan.setEffectUserName(userList.get(0).getName());
|
||||
}
|
||||
}
|
||||
supvPlan.setState(DataStateEnum.ENABLE.getCode());
|
||||
this.save(supvPlan);
|
||||
return supvPlan.getPlanId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<SupervisionPlanVO> pagePlan(SupervisionPlanParam supvPlanParam) {
|
||||
LambdaQueryWrapper<SupervisionPlanPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
if (StrUtil.isNotBlank(supvPlanParam.getSupvOrgId())) {
|
||||
List<String> deptIds = deptFeignClient.getDepSonSelfCodetByCode(supvPlanParam.getSupvOrgId()).getData();
|
||||
lambdaQueryWrapper.in(SupervisionPlanPO::getSupvOrgId, deptIds)
|
||||
.between(SupervisionPlanPO::getPlanSupvDate, supvPlanParam.getSearchBeginTime(),supvPlanParam.getSearchEndTime())
|
||||
.eq(StrUtil.isNotBlank(supvPlanParam.getSupvType()),SupervisionPlanPO::getSupvType,supvPlanParam.getSupvType());
|
||||
|
||||
}
|
||||
|
||||
if(StrUtil.isNotBlank(supvPlanParam.getSortBy())){
|
||||
if(supvPlanParam.getOrderBy().equals("desc")){
|
||||
lambdaQueryWrapper.orderByDesc(SupervisionPlanPO::getPlanSupvDate);
|
||||
}else {
|
||||
lambdaQueryWrapper.orderByAsc(SupervisionPlanPO::getPlanSupvDate);
|
||||
|
||||
}
|
||||
}else {
|
||||
lambdaQueryWrapper.orderByDesc(SupervisionPlanPO::getCreateTime);
|
||||
}
|
||||
|
||||
|
||||
List<PvTerminalTreeVO> deptList = deptFeignClient.allDeptList().getData();
|
||||
Map<String, PvTerminalTreeVO> mapCode = deptList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getCode, Function.identity()));
|
||||
Map<String, PvTerminalTreeVO> mapList = deptList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId, Function.identity()));
|
||||
|
||||
|
||||
Page<SupervisionPlanPO> page = this.page(new Page<>(PageFactory.getPageNum(supvPlanParam), PageFactory.getPageSize(supvPlanParam)), lambdaQueryWrapper);
|
||||
List<SupervisionPlanVO> supvPlanVOList = BeanUtil.copyToList(page.getRecords(), SupervisionPlanVO.class);
|
||||
List<String> userIds = supvPlanVOList.stream().map(SupervisionPlanVO::getPlanUserId).distinct().collect(Collectors.toList());
|
||||
supvPlanVOList.forEach(item -> {
|
||||
PvTerminalTreeVO pvTerminalTreeVO = null;
|
||||
if (mapCode.containsKey(item.getSupvOrgId())) {
|
||||
pvTerminalTreeVO = mapCode.get(item.getSupvOrgId());
|
||||
item.setSupvOrgName(pvTerminalTreeVO.getName());
|
||||
int deptLevel = pvTerminalTreeVO.getPids().split(StrUtil.COMMA).length;
|
||||
if (deptLevel == 2) {
|
||||
//省
|
||||
item.setProvince(pvTerminalTreeVO.getName());
|
||||
} else if (deptLevel == 3) {
|
||||
//市
|
||||
item.setCity(pvTerminalTreeVO.getName());
|
||||
if (mapList.containsKey(pvTerminalTreeVO.getPid())) {
|
||||
PvTerminalTreeVO pvTerminalTreeOne = mapList.get(pvTerminalTreeVO.getPid());
|
||||
item.setProvince(pvTerminalTreeOne.getName());
|
||||
}
|
||||
} else if (deptLevel == 4) {
|
||||
//县
|
||||
if (mapList.containsKey(pvTerminalTreeVO.getPid())) {
|
||||
item.setCounty(pvTerminalTreeVO.getName());
|
||||
PvTerminalTreeVO pvTerminalTreeOne = mapList.get(pvTerminalTreeVO.getPid());
|
||||
if (Objects.nonNull(pvTerminalTreeOne)) {
|
||||
item.setCity(pvTerminalTreeOne.getName());
|
||||
if (mapList.containsKey(pvTerminalTreeOne.getPid())) {
|
||||
PvTerminalTreeVO pvTerminalTreeTwo = mapList.get(pvTerminalTreeOne.getPid());
|
||||
if (Objects.nonNull(pvTerminalTreeTwo)) {
|
||||
item.setProvince(pvTerminalTreeTwo.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mapCode.containsKey(item.getPlanOrgId())) {
|
||||
item.setPlanOrgName(mapCode.get(item.getPlanOrgId()).getName());
|
||||
}
|
||||
|
||||
// SupvFile supvFile = supvFileMapper.selectOne(new LambdaQueryWrapper<SupvFile>().eq(SupvFile::getBusiId, item.getPlanId()).eq(SupvFile::getType, 0));
|
||||
// if (Objects.nonNull(supvFile)) {
|
||||
// item.setAttachmentName(supvFile.getAttachmentName());
|
||||
// }
|
||||
|
||||
List<User> userList = userFeignClient.getUserByIdList(userIds).getData();
|
||||
Map<String, User> map = userList.stream().collect(Collectors.toMap(User::getId, Function.identity()));
|
||||
|
||||
if (map.containsKey(item.getPlanUserId())) {
|
||||
item.setPlanUserName(map.get(item.getPlanUserId()).getName());
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
Page<SupervisionPlanVO> pageVo = new Page<>();
|
||||
pageVo.setTotal(page.getTotal());
|
||||
pageVo.setPages(page.getPages());
|
||||
pageVo.setSize(page.getSize());
|
||||
pageVo.setRecords(supvPlanVOList);
|
||||
return pageVo;
|
||||
}
|
||||
|
||||
|
||||
private void checkParam(SupervisionPlanParam supvPlanParam, Boolean updateFlag) {
|
||||
|
||||
LambdaQueryWrapper<SupervisionPlanPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(SupervisionPlanPO::getWorkPlanName, supvPlanParam.getWorkPlanName());
|
||||
|
||||
if (updateFlag) {
|
||||
if (supvPlanParam instanceof SupervisionPlanParam.UpdateSupvPlanParam) {
|
||||
//修改
|
||||
lambdaQueryWrapper.ne(SupervisionPlanPO::getPlanId, ((SupervisionPlanParam.UpdateSupvPlanParam) supvPlanParam).getPlanId());
|
||||
}
|
||||
}
|
||||
|
||||
int count = this.count(lambdaQueryWrapper);
|
||||
if (count > 0) {
|
||||
throw new BusinessException("监督计划名称已存在");
|
||||
}
|
||||
|
||||
//判断监督对象类型
|
||||
/* if (StrUtil.isNotBlank(supvPlanParam.getSupvObjType())) {
|
||||
DictData dictData = dicDataFeignClient.getDicDataById(supvPlanParam.getSupvType()).getData();
|
||||
if (dictData.getCode().equals(DicDataEnum.New_Energy.getCode())) {
|
||||
if (StrUtil.isBlank(supvPlanParam.getSupvObjType())) {
|
||||
throw new BusinessException("监督对象类型不可为空");
|
||||
}
|
||||
if (StrUtil.isBlank(supvPlanParam.getObjType())) {
|
||||
throw new BusinessException("监督对象属性名称不可为空");
|
||||
}
|
||||
if (Objects.isNull(supvPlanParam.getObjCapacity())) {
|
||||
throw new BusinessException("监督对象协议容量不可为空");
|
||||
}
|
||||
} else if (!dictData.getCode().equals(DicDataEnum.Technical_Super.getCode())) {
|
||||
if (StrUtil.isBlank(supvPlanParam.getSupvObjName())) {
|
||||
throw new BusinessException("监督对象名称不可为空");
|
||||
}
|
||||
if (StrUtil.isBlank(supvPlanParam.getObjVoltageLevel())) {
|
||||
throw new BusinessException("监督对象电压等级不可为空");
|
||||
}
|
||||
|
||||
} else if (!dictData.getCode().equals(DicDataEnum.POWER_QUALITY.getCode())) {
|
||||
if (Objects.isNull(supvPlanParam.getObjCapacity())) {
|
||||
throw new BusinessException("监督对象协议容量不可为空");
|
||||
}
|
||||
}
|
||||
}*/
|
||||
//判断时间范围
|
||||
if(StrUtil.isAllNotBlank(supvPlanParam.getEffectStartTime(),supvPlanParam.getEffectEndTime())||
|
||||
StrUtil.isAllNotBlank(supvPlanParam.getEffectStartTime(),supvPlanParam.getReportIssueTime())
|
||||
){
|
||||
String problemOcTime1 = supvPlanParam.getProblemOcTime();
|
||||
if(StrUtil.isNotBlank(problemOcTime1)){
|
||||
//实施开始时间
|
||||
DateTime effectStartTime = DateUtil.parse(supvPlanParam.getEffectStartTime(), "yyyy-MM-dd HH:mm:ss");
|
||||
//问题发现时间
|
||||
DateTime problemOcTime = DateUtil.parse(problemOcTime1, "yyyy-MM-dd HH:mm:ss");
|
||||
Boolean fly = false;
|
||||
if(StrUtil.isNotBlank(supvPlanParam.getEffectEndTime())){
|
||||
//实施结束时间
|
||||
DateTime effectEndTime = DateUtil.parse(supvPlanParam.getEffectEndTime(), "yyyy-MM-dd HH:mm:ss");
|
||||
if (DateUtil.isIn(problemOcTime, effectStartTime, effectEndTime)) {
|
||||
fly = true;
|
||||
}
|
||||
}
|
||||
if(StrUtil.isNotBlank(supvPlanParam.getReportIssueTime())){
|
||||
//报告出具时间
|
||||
DateTime reportIssueTime = DateUtil.parse(supvPlanParam.getReportIssueTime(), "yyyy-MM-dd HH:mm:ss");
|
||||
if (DateUtil.isIn(problemOcTime, effectStartTime, reportIssueTime)) {
|
||||
fly = true;
|
||||
}
|
||||
}
|
||||
if (!fly) {
|
||||
throw new BusinessException("问题发现时时间,不在实施开始时间到(实施结束时间/报告出具时间)范围内");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,132 @@
|
||||
package com.njcn.supervision.service.plan.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
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.exception.BusinessException;
|
||||
import com.njcn.common.utils.PubUtils;
|
||||
import com.njcn.supervision.mapper.plan.SupervisionProblemPOMapper;
|
||||
import com.njcn.supervision.pojo.param.plan.SupervisopnProblemParam;
|
||||
import com.njcn.supervision.pojo.po.plan.SupervisionPlanPO;
|
||||
import com.njcn.supervision.pojo.po.plan.SupervisionProblemPO;
|
||||
import com.njcn.supervision.service.plan.SupervisionPlanPOService;
|
||||
import com.njcn.supervision.service.plan.SupervisionProblemPOService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.vo.PvTerminalTreeVO;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/5/20 19:50【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class SupervisionProblemPOServiceImpl extends ServiceImpl<SupervisionProblemPOMapper, SupervisionProblemPO> implements SupervisionProblemPOService{
|
||||
|
||||
|
||||
private final SupervisionPlanPOService supervisionPlanPOService;
|
||||
private final DicDataFeignClient dicDataFeignClient;
|
||||
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void addProblem(SupervisopnProblemParam supvProblemParam) {
|
||||
checkParam(supvProblemParam.getPlanId(),supvProblemParam.getDiscoveryTime());
|
||||
SupervisionProblemPO supvProblem = new SupervisionProblemPO();
|
||||
BeanUtil.copyProperties(supvProblemParam, supvProblem);
|
||||
supvProblem.setPlanRectificationTime(PubUtils.beginTimeToLocalDateTime(supvProblemParam.getPlanRectificationTime()));
|
||||
if(StrUtil.isNotBlank(supvProblemParam.getRectificationTime())) {
|
||||
supvProblem.setRectificationTime(PubUtils.beginTimeToLocalDateTime(supvProblemParam.getRectificationTime()));
|
||||
}
|
||||
this.save(supvProblem);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<SupervisionProblemPO> pageProblem(SupervisopnProblemParam supvProblemParam) {
|
||||
DictData stamped_report = dicDataFeignClient.getDicDataByCode("Stamped_Report").getData();
|
||||
|
||||
LambdaQueryWrapper<SupervisionProblemPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(SupervisionProblemPO::getPlanId, supvProblemParam.getPlanId());
|
||||
Page<SupervisionProblemPO> page = this.page(new Page<>(PageFactory.getPageNum(supvProblemParam), PageFactory.getPageSize(supvProblemParam)), lambdaQueryWrapper);
|
||||
|
||||
List<PvTerminalTreeVO> deptList = deptFeignClient.allDeptList().getData();
|
||||
Map<String, PvTerminalTreeVO> mapCode = deptList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getCode, Function.identity()));
|
||||
|
||||
for (SupervisionProblemPO item : page.getRecords()) {
|
||||
if (mapCode.containsKey(item.getDutyOrgId())) {
|
||||
item.setDutyOrgName(mapCode.get(item.getDutyOrgId()).getName());
|
||||
}
|
||||
|
||||
// List<SupvFile> supvFileList = supvFileMapper.selectList(new LambdaQueryWrapper<SupvFile>().eq(SupvFile::getBusiId, item.getProblemId()).eq(SupvFile::getType, 1));
|
||||
// if (CollUtil.isNotEmpty(supvFileList)) {
|
||||
// for(SupvFile supvFile:supvFileList){
|
||||
// if(supvFile.getAttachmentType().equals(stamped_report.getId())){
|
||||
// item.setAttachmentName(supvFile.getAttachmentName());
|
||||
// }else {
|
||||
// item.setAttachmentNameTwo(supvFile.getAttachmentName());
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
return page;
|
||||
}
|
||||
|
||||
//判断是否存在时间范围内
|
||||
public void checkParam(String id,String time) {
|
||||
if(StrUtil.isNotBlank(time)){
|
||||
SupervisionPlanPO supvPlan = supervisionPlanPOService.getById(id);
|
||||
if(ObjectUtil.isNotNull(supvPlan)){
|
||||
//判断时间范围
|
||||
if (ObjectUtil.isAllNotEmpty(supvPlan.getEffectStartTime(), supvPlan.getEffectEndTime())||
|
||||
ObjectUtil.isAllNotEmpty(supvPlan.getEffectStartTime(), supvPlan.getReportIssueTime())
|
||||
) {
|
||||
//实施开始时间
|
||||
DateTime effectStartTime = DateUtil.parse(DateUtil.formatLocalDateTime(supvPlan.getEffectStartTime()), "yyyy-MM-dd HH:mm:ss");
|
||||
//问题发现时间
|
||||
DateTime problemOcTime = DateUtil.parse(time, "yyyy-MM-dd HH:mm:ss");
|
||||
Boolean fly = false;
|
||||
if(ObjectUtil.isNotNull(supvPlan.getEffectEndTime())){
|
||||
//实施结束时间
|
||||
DateTime effectEndTime = DateUtil.parse(DateUtil.formatLocalDateTime(supvPlan.getEffectEndTime()), "yyyy-MM-dd HH:mm:ss");
|
||||
if (DateUtil.isIn(problemOcTime, effectStartTime, effectEndTime)) {
|
||||
fly = true;
|
||||
}
|
||||
}
|
||||
if(ObjectUtil.isNotNull(supvPlan.getReportIssueTime())){
|
||||
//报告出具时间
|
||||
DateTime reportIssueTime = DateUtil.parse(DateUtil.formatLocalDateTime(supvPlan.getReportIssueTime()), "yyyy-MM-dd HH:mm:ss");
|
||||
if (DateUtil.isIn(problemOcTime, effectStartTime, reportIssueTime)) {
|
||||
fly = true;
|
||||
}
|
||||
}
|
||||
if (!fly) {
|
||||
throw new BusinessException("问题发现时时间,不在实施开始时间到(实施结束时间/报告出具时间)范围内");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.supervision.service.survey.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -204,6 +205,10 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<Super
|
||||
queryWrapper.in("supervision_general_survey_plan.org_no", data);
|
||||
}
|
||||
}
|
||||
//添加上时间范围
|
||||
queryWrapper.between("supervision_general_survey_plan.Create_Time",
|
||||
DateUtil.beginOfDay(DateUtil.parse(generalSurveyPlanQueryParam.getSearchBeginTime())),
|
||||
DateUtil.endOfDay(DateUtil.parse(generalSurveyPlanQueryParam.getSearchEndTime())));
|
||||
queryWrapper.orderByDesc("supervision_general_survey_plan.create_time");
|
||||
Page<SupervisionGeneralSurveyPlanVO> page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(generalSurveyPlanQueryParam), PageFactory.getPageSize(generalSurveyPlanQueryParam)), queryWrapper);
|
||||
|
||||
|
||||
@@ -251,6 +251,10 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
||||
List<UserReportVO> collect = list.stream().map(temp -> {
|
||||
UserReportVO vo = new UserReportVO();
|
||||
BeanUtils.copyProperties(temp, vo);
|
||||
UserVO userVO = userFeignClient.getUserById(temp.getReporter()).getData();
|
||||
vo.setReporter(temp.getReporter());
|
||||
vo.setReporterName(userVO.getName());
|
||||
vo.setOrgName(deptFeignClient.getDeptById(temp.getOrgId()).getData().getName());
|
||||
return vo;
|
||||
}).collect(Collectors.toList());
|
||||
return collect;
|
||||
|
||||
Reference in New Issue
Block a user