gunshi-project-ss/src/main/java/com/gunshi/project/ss/service/WholeCycleService.java

133 lines
5.5 KiB
Java

package com.gunshi.project.ss.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.gunshi.project.ss.entity.vo.ScreenSecurityCheckVo;
import com.gunshi.project.ss.entity.vo.WholeCycleVo;
import com.gunshi.project.ss.model.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Service
@Slf4j
public class WholeCycleService {
@Autowired
private SafetyIdentifyService safetyIdentifyService;//安全鉴定
@Autowired
private AttResBaseService attResBaseService;//病险水库
@Autowired
private SafetyReinforcementService safetyReinforcementService;//除险加固
@Autowired
private DegradeScrapLedgerService degradeScrapLedgerService;//降等报废
@Autowired
private ResPlanBService resPlanBService;//type 1 防汛预案 type2 调度规程
@Autowired
private FileAssociationsService fileService;
public WholeCycleVo get() {
WholeCycleVo res = new WholeCycleVo();
SafetyIdentify one = safetyIdentifyService.lambdaQuery().orderByDesc(SafetyIdentify::getIdentifyDate).last("limit 1").one();
//安全鉴定
if(one == null || one.getIdentifyType() == null){
res.setIdentifyType("无");
}else{
if(one.getIdentifyType() == 1){
res.setIdentifyType("一类坝");
}else if(one.getIdentifyType() == 2){
res.setIdentifyType("二类坝");
}else if(one.getIdentifyType() == 3){
res.setIdentifyType("三类坝");
}
}
//病险水库
AttResBase attResBase = attResBaseService.lambdaQuery().last("limit 1").one();
if(attResBase == null){
res.setIsDanger("无");
}else if(attResBase.getIsDanger() != null && attResBase.getIsDanger() == 1){
res.setIsDanger("是");
}else{
res.setIsDanger("否");
}
//除险加固
SafetyReinforcement safetyReinforcement = safetyReinforcementService.lambdaQuery().orderByDesc(SafetyReinforcement::getStartDate).last("limit 1").one();
if(safetyReinforcement == null || safetyReinforcement.getStartDate() == null){
res.setStartDate(null);
}else{
res.setStartDate(safetyReinforcement.getStartDate());
}
//降等报废
DegradeScrapLedger degradeScrapLedger = degradeScrapLedgerService.lambdaQuery().orderByDesc(DegradeScrapLedger::getYear).last("limit 1").one();
if(degradeScrapLedger == null){
res.setImplementationMeasure("无");
}else if(degradeScrapLedger.getImplementationMeasure() != null && degradeScrapLedger.getImplementationMeasure() == 1){
res.setImplementationMeasure("报废");
}else if(degradeScrapLedger.getImplementationMeasure() != null && degradeScrapLedger.getImplementationMeasure() == 0){
res.setIsDanger("降等");
}
//调度规则
ResPlanB dispatcher = resPlanBService.lambdaQuery().eq(ResPlanB::getType, 2).eq(ResPlanB::getIsAvailable, 1).orderByDesc(ResPlanB::getPrepTime).last("limit 1").one();
if(dispatcher == null){
res.setDispatchTime(null);
}else{
res.setDispatchTime(dispatcher.getPrepTime());
}
List<FileAssociations> dispatcherFile = fileService.getFiles("ResPlanB", dispatcher.getId().toString());
List<String> dispatcherIds = dispatcherFile.stream().map(o -> o.getFileId().toString()).collect(Collectors.toList());
res.setDispatchFileIds(dispatcherIds);
//应急预案
ResPlanB emergency = resPlanBService.lambdaQuery().eq(ResPlanB::getType, 1).eq(ResPlanB::getIsAvailable, 1).orderByDesc(ResPlanB::getPrepTime).last("limit 1").one();
if(emergency == null){
res.setEmergencyTime(null);
}else{
res.setEmergencyTime(emergency.getPrepTime());
}
List<FileAssociations> emergencyFile = fileService.getFiles("ResPlanB", emergency.getId().toString());
List<String> emergencyFileIds = emergencyFile.stream().map(o -> o.getFileId().toString()).collect(Collectors.toList());
res.setEmergencyFileIds(emergencyFileIds);
return res;
}
@Autowired
private SafetyIdentifyService service;//鉴定时间
public ScreenSecurityCheckVo getSecurity() {
ScreenSecurityCheckVo res = new ScreenSecurityCheckVo();
SafetyIdentify one = safetyIdentifyService.lambdaQuery().orderByDesc(SafetyIdentify::getIdentifyDate).last("limit 1").one();
//安全鉴定
if(one == null || one.getIdentifyType() == null){
res.setIdentifyType("无");
}else{
if(one.getIdentifyType() == 1){
res.setIdentifyType("一类坝");
}else if(one.getIdentifyType() == 2){
res.setIdentifyType("二类坝");
}else if(one.getIdentifyType() == 3){
res.setIdentifyType("三类坝");
}
}
SafetyIdentify safetyIdentify = service.lambdaQuery().orderByDesc(SafetyIdentify::getIdentifyDate)
.last("limit 1").one();
if(safetyIdentify != null){
res.setIdentifyDate(safetyIdentify.getIdentifyDate());
res.setNextVerifyDate(safetyIdentify.getNextVerifyDate());
}
return res;
}
}