Commit b73fa189 authored by 韩桐桐's avatar 韩桐桐

历史安全追溯问题闭环【维保备案】【检验超期】

parent 9517c7c4
......@@ -203,4 +203,12 @@ public class DataHandlerController extends BaseController {
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "PUT", value = "历史安全追溯问题闭环【维保备案】【检验超期】", notes = "历史安全追溯问题闭环【维保备案】【检验超期】")
@PutMapping(value = "/safeTraceabilityClosedLoop")
public ResponseModel<String> safeTraceabilityClosedLoop(){
return ResponseHelper.buildResponse(dataHandlerService.safeTraceabilityClosedLoop());
}
}
......@@ -52,6 +52,7 @@ public class EquipmentProblemStrategy implements ProblemHandleStrategy {
.set(SafetyProblemTracing::getProblemStatus, SafetyProblemStatusEnum.HANDLED.getName())
.in(SafetyProblemTracing::getSourceId, equipRecords)
.eq(SafetyProblemTracing::getProblemTypeCode, problemTypeEnum.getProblemTypeCode())
.eq(SafetyProblemTracing::getProblemStatusCode, SafetyProblemStatusEnum.UNHANDLED.getCode())
.update();
// 查询仍存在未处理问题的设备
......
......@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -24,8 +25,10 @@ import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto;
import com.yeejoin.amos.boot.module.jg.api.dto.PieLineEquipContraptionDto;
import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.PipelineEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.handler.strategy.ProblemHandleStrategy;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgInspectionDetectionInfoService;
import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
......@@ -90,6 +93,8 @@ public class DataHandlerServiceImpl {
private final DataHandlerMapper dataHandlerMapper;
private final CategoryOtherInfoMapper categoryOtherInfoMapper;
private final CommonMapper commonMapper;
private final ProblemHandleStrategy equipmentStrategy;;
private final SafetyProblemTracingServiceImpl safetyProblemTracingService;
private final JgChangeRegistrationUnitServiceImpl jgChangeRegistrationUnitService;
private final JgChangeRegistrationUnitEqServiceImpl jgChangeRegistrationUnitEqService;
private final UseInfoMapper useInfoMapper;
......@@ -173,7 +178,7 @@ public class DataHandlerServiceImpl {
.list().stream()
.filter(Objects::nonNull)
.collect(Collectors.toList());
log.info("查询到的工程装置集合: {}", JSON.toJSONString(collect));
log.info("查询到的工程装置集合: {}", toJSONString(collect));
List<IdxBizJgProjectContraption> projectContraptionList = new ArrayList<>();
......@@ -365,7 +370,7 @@ public class DataHandlerServiceImpl {
.list().stream()
.filter(Objects::nonNull)
.collect(Collectors.toList());
log.info("查询到的工程装置集合: {},总数:{}", JSON.toJSONString(collect), collect.size());
log.info("查询到的工程装置集合: {},总数:{}", toJSONString(collect), collect.size());
List<IdxBizJgProjectContraption> projectContraptionList = new ArrayList<>();
Iterator<IdxBizJgUseInfo> iterator = collect.iterator();
......@@ -1200,4 +1205,54 @@ public class DataHandlerServiceImpl {
log.info("存量数据刷属地监管部门到证管理表处理结束,处理数据数量:{}", dealNum.get());
return dealNum.get();
}
/**
* 历史安全追溯问题闭环【维保备案】【检验超期】--问题源都是设备
* @return 闭环问题数
*/
public String safeTraceabilityClosedLoop() {
// 维保超期
// 查询当天维保超期的设备
Set<String> outOfMaintenanceRecords = commonMapper.queryOutOfMaintenanceRecord()
.stream()
.map(item -> Objects.toString(item.get("RECORD")))
.collect(Collectors.toSet());
// 查询未关闭的维保超期问题数
Set<String> maintenanceProblemRecords = safetyProblemTracingService.lambdaQuery()
.eq(SafetyProblemTracing::getProblemTypeCode, SafetyProblemTypeEnum.WBCQ.getProblemTypeCode())
.eq(SafetyProblemTracing::getProblemStatusCode, 0)
.select(SafetyProblemTracing::getSourceId)
.list().stream()
.map(SafetyProblemTracing::getSourceId)
.collect(Collectors.toSet());
JSONArray mainJsonArr = new JSONArray();
maintenanceProblemRecords.stream()
.filter(Objects::nonNull)
.filter(item -> !outOfMaintenanceRecords.contains(item))
.forEach(item -> mainJsonArr.add(new JSONObject().fluentPut("record", item)));
// 处理问题数据
equipmentStrategy.handleProblem(mainJsonArr, SafetyProblemTypeEnum.WBBA);
// 检验超期
// 查询当天检验超期的设备
Set<String> outOfInspectionRecords = commonMapper.queryOutOfInspectionRecord()
.stream().map(item -> Objects.toString(item.get("RECORD")))
.collect(Collectors.toSet());
// 查询未关闭的检验超期问题数
Set<String> inspectProblemRecords = safetyProblemTracingService.lambdaQuery()
.eq(SafetyProblemTracing::getProblemTypeCode, SafetyProblemTypeEnum.JYCQ.getProblemTypeCode())
.eq(SafetyProblemTracing::getProblemStatusCode, 0)
.select(SafetyProblemTracing::getSourceId)
.list().stream()
.map(SafetyProblemTracing::getSourceId)
.collect(Collectors.toSet());
JSONArray inspectJsonArr = new JSONArray();
inspectProblemRecords.stream()
.filter(Objects::nonNull)
.filter(item -> !outOfInspectionRecords.contains(item))
.forEach(item -> inspectJsonArr.add(new JSONObject().fluentPut("record", item)));
// 处理问题数据
equipmentStrategy.handleProblem(inspectJsonArr, SafetyProblemTypeEnum.JYBJ);
return String.format("修正历史维保超期未闭环数:%s起,检验超期未闭环数:%s起。总数:%s起", mainJsonArr.size(), inspectJsonArr.size(), mainJsonArr.size() + inspectJsonArr.size());
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment