普测计划

This commit is contained in:
2024-06-03 19:31:12 +08:00
parent aca86e6b57
commit 188c0515d7
10 changed files with 211 additions and 5 deletions

View File

@@ -10,6 +10,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.supervision.pojo.param.survey.SurveyPlanParam;
import com.njcn.supervision.pojo.vo.device.QuitRunningDeviceVO;
import com.njcn.supervision.pojo.vo.survey.SurveyPlanVO;
import com.njcn.supervision.service.survey.ISurveyPlanService;
import io.swagger.annotations.Api;
@@ -89,7 +90,14 @@ public class SurveyPlanController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@GetMapping("/getById")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@Operation(summary = "根据id获取普测计划的详细数据")
public HttpResult<SurveyPlanVO> getById(String id) {
String methodDescribe = getMethodDescribe("getById");
SurveyPlanVO surveyPlanVO = surveyPlanService.getVOById(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, surveyPlanVO, methodDescribe);
}
}

View File

@@ -26,4 +26,6 @@ public interface ISurveyPlanService extends IService<SurveyPlan> {
String cancelSurveyPlan(BpmProcessInstanceCancelParam cancelReqVO);
void updateSurveyPlanStatus(String businessKey, Integer status);
SurveyPlanVO getVOById(String id);
}

View File

@@ -13,12 +13,19 @@ import com.njcn.bpm.enums.BpmTaskStatusEnum;
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.device.pq.pojo.dto.PollutionSubstationDTO;
import com.njcn.supervision.enums.FlowStatusEnum;
import com.njcn.supervision.enums.SupervisionResponseEnum;
import com.njcn.supervision.mapper.survey.SurveyPlanMapper;
import com.njcn.supervision.pojo.param.survey.SurveyPlanParam;
import com.njcn.supervision.pojo.po.survey.SurveyPlan;
import com.njcn.supervision.pojo.po.survey.SurveyTest;
import com.njcn.supervision.pojo.vo.survey.SurveyPlanVO;
import com.njcn.supervision.pojo.vo.survey.SurveySubstation;
import com.njcn.supervision.service.survey.ISurveyPlanService;
import com.njcn.supervision.service.survey.ISurveyTestService;
import com.njcn.supervision.utils.InstanceUtil;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.api.UserFeignClient;
@@ -29,10 +36,7 @@ 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;
import java.util.*;
/**
* <p>
@@ -54,6 +58,8 @@ public class SurveyPlanServiceImpl extends ServiceImpl<SurveyPlanMapper, SurveyP
private final LineFeignClient lineFeignClient;
private final ISurveyTestService surveyTestService;
/**
* 预告警单的反馈单对应的流程定义 KEY
*/
@@ -178,9 +184,65 @@ public class SurveyPlanServiceImpl extends ServiceImpl<SurveyPlanMapper, SurveyP
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateSurveyPlanStatus(String businessKey, Integer status) {
SurveyPlan surveyPlan = this.baseMapper.selectById(businessKey);
surveyPlan.setStatus(status);
this.updateById(surveyPlan);
if(Objects.equals(status, FlowStatusEnum.APPROVE.getCode())){
//计划审核成功后,需要将计划拆成一个个待测试的
if(surveyPlan.getCustomSubstationFlag() == 0){
String substation = surveyPlan.getSubstation();
String[] subIds = substation.split(StrPool.COMMA);
for (String subId : subIds) {
SurveyTest surveyTest = new SurveyTest();
surveyTest.setPlanId(surveyPlan.getId());
surveyTest.setDeptId(surveyPlan.getDeptId());
surveyTest.setSubstation(subId);
surveyTest.setCustomSubstationFlag(0);
surveyTestService.save(surveyTest);
}
}else{
SurveyTest surveyTest = new SurveyTest();
surveyTest.setPlanId(surveyPlan.getId());
surveyTest.setDeptId(surveyPlan.getDeptId());
surveyTest.setSubstation(surveyPlan.getSubstation());
surveyTest.setCustomSubstationFlag(1);
surveyTestService.save(surveyTest);
}
}
}
@Override
public SurveyPlanVO getVOById(String id) {
SurveyPlan surveyPlan = this.baseMapper.selectById(id);
if (Objects.isNull(surveyPlan)) {
throw new BusinessException(SupervisionResponseEnum.DATA_NOT_EXISTS);
}
SurveyPlanVO surveyPlanVO = new SurveyPlanVO();
BeanUtils.copyProperties(surveyPlan, surveyPlanVO);
surveyPlanVO.setDeptName(deptFeignClient.getDeptById(surveyPlanVO.getDeptId()).getData().getName());
List<SurveySubstation> surveySubstationList = new ArrayList<>();
if (surveyPlanVO.getCustomSubstationFlag() == 0) {
//系统内变电站信息
String substation = surveyPlanVO.getSubstation();
String[] subIds = substation.split(StrPool.COMMA);
for (String subId : subIds) {
PollutionSubstationDTO data = lineFeignClient.getSubstationInfo(subId).getData();
SurveySubstation surveySubstation = new SurveySubstation();
surveySubstation.setDataSource(0);
surveySubstation.setSubstationName(data.getName());
surveySubstation.setVoltageLevel(data.getVoltageLevel());
surveySubstationList.add(surveySubstation);
}
} else {
SurveySubstation surveySubstation = new SurveySubstation();
surveySubstation.setDataSource(1);
surveySubstation.setSubstationName(surveyPlanVO.getSubstation());
surveySubstation.setVoltageLevel(StrPool.SLASH);
surveySubstationList.add(surveySubstation);
}
surveyPlanVO.setSurveySubstationList(surveySubstationList);
return surveyPlanVO;
}
}