|
|
@@ -0,0 +1,192 @@
|
|
|
+package cn.start.tz.module.pressure2.service.dynamicOFData.pipe;
|
|
|
+
|
|
|
+import cn.start.tz.framework.ip.core.Area;
|
|
|
+import cn.start.tz.framework.ip.core.utils.AreaUtils;
|
|
|
+import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.pipeuseregistrationreport.vo.PipeUseRegistrationReportAuditReqVO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderinput.PipeTaskOrderInputDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemdetail.PipeTaskOrderItemDetailDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.pipeuseregistrationreport.PipeUseRegistrationReportDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.equippipedetail.EquipPipeDetailMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemdetail.PipeTaskOrderItemDetailMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.pipeuseregistrationreport.PipeUseRegistrationReportMapper;
|
|
|
+import cn.start.tz.module.pressure2.enums.TaskOrderItemReportTypeEnum;
|
|
|
+import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
|
|
|
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataPipeService;
|
|
|
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.GenerateReportJsonService;
|
|
|
+import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
|
|
|
+import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
|
|
|
+import cn.start.tz.module.pressure2.service.pipetaskorderinput.PipeTaskOrderInputService;
|
|
|
+import cn.start.tz.module.system.api.dict.DictDataApi;
|
|
|
+import cn.start.tz.module.system.api.dict.dto.DictDataRespDTO;
|
|
|
+import cn.start.tz.module.system.api.user.AdminUserApi;
|
|
|
+import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
+import com.alibaba.fastjson2.JSONArray;
|
|
|
+import com.alibaba.fastjson2.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import jakarta.annotation.Resource;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 管道登记表
|
|
|
+ * */
|
|
|
+@Service("UseRegistrationReportOFData")
|
|
|
+public class UseRegistrationReportOFData implements IDynamicOFData {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private EquipPipeMapper equipPipeMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private AutoDataPipeService autoDataPipeService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private EquipPipeDetailMapper equipPipeDetailMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private PipeTaskOrderItemMapper pipeTaskOrderItemMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private PipeUseRegistrationReportMapper pipeUseRegistrationReportMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private PipeTaskOrderMapper pipeTaskOrderMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private PipeTaskOrderItemDetailMapper pipeTaskOrderItemDetailMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private AdminUserApi adminUserApi;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private DictDataApi dictDataApi;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public JSONObject getOFData(JSONObject params) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public JSONObject getOfDataByVO(CreateInstantiateWithRuleVO ruleVO) {
|
|
|
+
|
|
|
+ //日期格式
|
|
|
+ DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
+
|
|
|
+ //设备报表ID
|
|
|
+ String refId = ruleVO.getRefId();
|
|
|
+
|
|
|
+ JSONObject result = autoDataPipeService.autoGeneratePipeRecordData(new JSONObject(), refId);
|
|
|
+ PipeUseRegistrationReportDO registrationReportDO = pipeUseRegistrationReportMapper.selectById(refId);
|
|
|
+
|
|
|
+ if (registrationReportDO != null){
|
|
|
+
|
|
|
+ EquipPipeDO equipPipeDO = equipPipeMapper.selectById(registrationReportDO.getEquipId());
|
|
|
+ if (equipPipeDO != null){
|
|
|
+
|
|
|
+ result.put("unitName",equipPipeDO.getUnitName());
|
|
|
+ result.put("unitAddress",equipPipeDO.getUnitAddress());
|
|
|
+ Area area = AreaUtils.getArea(equipPipeDO.getEquipDistrict());
|
|
|
+ if(area != null){
|
|
|
+ result.put("equipDistrictName",equipPipeDO.getEquipDistrict());
|
|
|
+ }
|
|
|
+ result.put("deptName","-");
|
|
|
+ result.put("industry","-");
|
|
|
+ result.put("contactPhone",equipPipeDO.getContactPhone());
|
|
|
+ result.put("securityDept",equipPipeDO.getSecurityDept());
|
|
|
+ result.put("securityMan",equipPipeDO.getSecurityMan());
|
|
|
+ result.put("handler",equipPipeDO.getSecurityMan());
|
|
|
+
|
|
|
+ DictDataRespDTO dictData = dictDataApi.getDictData("PIPE_TYPE",equipPipeDO.getPipeCategory()).getData();
|
|
|
+ if (dictData != null){
|
|
|
+ result.put("pipeCategory", dictData.getLabel());
|
|
|
+ }else {
|
|
|
+ result.put("pipeCategory", "-");
|
|
|
+ }
|
|
|
+ result.put("projectNo",equipPipeDO.getProjectNo());
|
|
|
+ result.put("projectName",equipPipeDO.getProjectName());
|
|
|
+
|
|
|
+ //获取约检管线
|
|
|
+ List<PipeTaskOrderItemDetailDO> detailDOS = pipeTaskOrderItemDetailMapper.selectList(PipeTaskOrderItemDetailDO::getOrderId, registrationReportDO.getTaskOrderId());
|
|
|
+ if (!detailDOS.isEmpty()){
|
|
|
+
|
|
|
+ AtomicInteger number = new AtomicInteger(1);
|
|
|
+ JSONArray voList = new JSONArray();
|
|
|
+
|
|
|
+ List<String> detailIds = detailDOS.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).toList();
|
|
|
+ List<EquipPipeDetailDO> equipBoilerDOList = equipPipeDetailMapper.selectList(new LambdaQueryWrapperX<EquipPipeDetailDO>()
|
|
|
+ .in(EquipPipeDetailDO::getId, detailIds));
|
|
|
+
|
|
|
+ equipBoilerDOList.forEach(detailDO -> {
|
|
|
+
|
|
|
+ JSONObject vo = new JSONObject();
|
|
|
+ //序号
|
|
|
+ vo.put("value1",String.valueOf(number.getAndIncrement()));
|
|
|
+ vo.put("value2",detailDO.getCertificateNo());
|
|
|
+ vo.put("value3",detailDO.getPipeName());
|
|
|
+ vo.put("value4",detailDO.getPipeNo());
|
|
|
+ vo.put("value5",detailDO.getPipeLevel());
|
|
|
+ vo.put("value6",equipPipeDO.getDesignUnit());
|
|
|
+ vo.put("value7",equipPipeDO.getConstructionUnit());
|
|
|
+ vo.put("value8",equipPipeDO.getInstalldate());
|
|
|
+ if (detailDO.getCommissioningDate() != null){
|
|
|
+ vo.put("value9",detailDO.getCommissioningDate().format(dateFormat));
|
|
|
+ }
|
|
|
+ vo.put("value10",detailDO.getNominalDiameter());
|
|
|
+ vo.put("value11",detailDO.getNominalWallThickness());
|
|
|
+ vo.put("value12",detailDO.getPipeLength());
|
|
|
+ vo.put("value13",detailDO.getDesignPressure());
|
|
|
+ vo.put("value14",detailDO.getDesignTemperature());
|
|
|
+ vo.put("value15",detailDO.getPipeMedium());
|
|
|
+ vo.put("value16",detailDO.getLegalSafetyStatusLevel());
|
|
|
+ vo.put("value17",detailDO.getLegalInspectionConclusion());
|
|
|
+ if (equipPipeDO.getNextLegalCheckDate() != null){
|
|
|
+ vo.put("value18",equipPipeDO.getNextLegalCheckDate().format(dateFormat));
|
|
|
+ }
|
|
|
+ vo.put("value19","");
|
|
|
+ voList.add(vo);
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ result.put("table",voList.toJSONString());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //审核信息
|
|
|
+// AdminUserRespDTO userInfo = adminUserApi.getUser(registrationReportDO.getApprovalId()).getData();
|
|
|
+// if (userInfo != null){
|
|
|
+// if (userInfo.getSignUrl() != null){
|
|
|
+// result.put("approvalName",userInfo.getSignUrl());
|
|
|
+// }else{
|
|
|
+// result.put("approvalName",registrationReportDO.getApprovalName());
|
|
|
+// }
|
|
|
+// }
|
|
|
+ if (registrationReportDO.getApprovalTime() != null){
|
|
|
+ result.put("approvalTime",registrationReportDO.getApprovalTime().format(dateFormat));
|
|
|
+ }
|
|
|
+
|
|
|
+ result.put("reportNo",registrationReportDO.getReportNo());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+}
|