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

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

parent 9517c7c4
...@@ -203,4 +203,12 @@ public class DataHandlerController extends BaseController { ...@@ -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 { ...@@ -52,6 +52,7 @@ public class EquipmentProblemStrategy implements ProblemHandleStrategy {
.set(SafetyProblemTracing::getProblemStatus, SafetyProblemStatusEnum.HANDLED.getName()) .set(SafetyProblemTracing::getProblemStatus, SafetyProblemStatusEnum.HANDLED.getName())
.in(SafetyProblemTracing::getSourceId, equipRecords) .in(SafetyProblemTracing::getSourceId, equipRecords)
.eq(SafetyProblemTracing::getProblemTypeCode, problemTypeEnum.getProblemTypeCode()) .eq(SafetyProblemTracing::getProblemTypeCode, problemTypeEnum.getProblemTypeCode())
.eq(SafetyProblemTracing::getProblemStatusCode, SafetyProblemStatusEnum.UNHANDLED.getCode())
.update(); .update();
// 查询仍存在未处理问题的设备 // 查询仍存在未处理问题的设备
......
...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -24,8 +25,10 @@ import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto; ...@@ -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.dto.PieLineEquipContraptionDto;
import com.yeejoin.amos.boot.module.jg.api.entity.*; 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.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.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; 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.jg.biz.service.IIdxBizJgInspectionDetectionInfoService;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
...@@ -90,6 +93,8 @@ public class DataHandlerServiceImpl { ...@@ -90,6 +93,8 @@ public class DataHandlerServiceImpl {
private final DataHandlerMapper dataHandlerMapper; private final DataHandlerMapper dataHandlerMapper;
private final CategoryOtherInfoMapper categoryOtherInfoMapper; private final CategoryOtherInfoMapper categoryOtherInfoMapper;
private final CommonMapper commonMapper; private final CommonMapper commonMapper;
private final ProblemHandleStrategy equipmentStrategy;;
private final SafetyProblemTracingServiceImpl safetyProblemTracingService;
private final JgChangeRegistrationUnitServiceImpl jgChangeRegistrationUnitService; private final JgChangeRegistrationUnitServiceImpl jgChangeRegistrationUnitService;
private final JgChangeRegistrationUnitEqServiceImpl jgChangeRegistrationUnitEqService; private final JgChangeRegistrationUnitEqServiceImpl jgChangeRegistrationUnitEqService;
private final UseInfoMapper useInfoMapper; private final UseInfoMapper useInfoMapper;
...@@ -173,7 +178,7 @@ public class DataHandlerServiceImpl { ...@@ -173,7 +178,7 @@ public class DataHandlerServiceImpl {
.list().stream() .list().stream()
.filter(Objects::nonNull) .filter(Objects::nonNull)
.collect(Collectors.toList()); .collect(Collectors.toList());
log.info("查询到的工程装置集合: {}", JSON.toJSONString(collect)); log.info("查询到的工程装置集合: {}", toJSONString(collect));
List<IdxBizJgProjectContraption> projectContraptionList = new ArrayList<>(); List<IdxBizJgProjectContraption> projectContraptionList = new ArrayList<>();
...@@ -365,7 +370,7 @@ public class DataHandlerServiceImpl { ...@@ -365,7 +370,7 @@ public class DataHandlerServiceImpl {
.list().stream() .list().stream()
.filter(Objects::nonNull) .filter(Objects::nonNull)
.collect(Collectors.toList()); .collect(Collectors.toList());
log.info("查询到的工程装置集合: {},总数:{}", JSON.toJSONString(collect), collect.size()); log.info("查询到的工程装置集合: {},总数:{}", toJSONString(collect), collect.size());
List<IdxBizJgProjectContraption> projectContraptionList = new ArrayList<>(); List<IdxBizJgProjectContraption> projectContraptionList = new ArrayList<>();
Iterator<IdxBizJgUseInfo> iterator = collect.iterator(); Iterator<IdxBizJgUseInfo> iterator = collect.iterator();
...@@ -1200,4 +1205,54 @@ public class DataHandlerServiceImpl { ...@@ -1200,4 +1205,54 @@ public class DataHandlerServiceImpl {
log.info("存量数据刷属地监管部门到证管理表处理结束,处理数据数量:{}", dealNum.get()); log.info("存量数据刷属地监管部门到证管理表处理结束,处理数据数量:{}", dealNum.get());
return 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