From cb7ddf2c93ca403eef49341837f40629b9fc0005 Mon Sep 17 00:00:00 2001
From: guoshengxiong <1923636941@qq.com>
Date: Fri, 15 Nov 2024 18:13:33 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8C=85=E5=A4=B4=E5=AF=BC=E5=87=BApdf?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 11 +
...eringQualityInspectionOrderController.java | 91 +++-
.../ConfinedSpaceOperationController.java | 126 ++++-
.../controller/FirstOrderFireController.java | 194 ++++++++
.../controller/HeightPermitController.java | 95 +++-
.../LiftingOperationController.java | 132 +++++
...ndestructiveTestOrderTicketController.java | 103 ++++
.../PipelineWeldingRecordController.java | 3 +-
.../controller/WorkerAdmissionController.java | 2 +-
...ivilEngineeringQualityInspectionOrder.java | 468 ++++++++++--------
.../baotou/entity/LiftingOperation.java | 2 +
...ngineeringQualityInspectionOrderMapper.xml | 4 +-
.../MainProjectCompleteDetailServiceImpl.java | 6 +-
.../controller/ExamTrainRecordController.java | 6 +-
.../QualityInspectionRecordServiceImpl.java | 1 +
.../java/com/zhgd/xmgl/util/EasyPoiUtil.java | 75 +++
.../java/com/zhgd/xmgl/util/Fileutils.java | 4 +-
.../java/com/zhgd/xmgl/util/FlowUtil.java | 4 +
.../resources/excel/work/一级动火模板.docx | Bin 0 -> 41613 bytes
.../resources/excel/work/三级动火模板.docx | Bin 0 -> 39174 bytes
.../resources/excel/work/二级动火模板.docx | Bin 0 -> 41551 bytes
.../resources/excel/work/受限空间模板.docx | Bin 0 -> 44605 bytes
.../excel/work/土建工程质量模板.docx | Bin 0 -> 35250 bytes
.../resources/excel/work/无损检测模板.docx | Bin 0 -> 33926 bytes
.../resources/excel/work/普通动火模板.docx | Bin 0 -> 36928 bytes
.../excel/work/起重吊装作业模板.docx | Bin 0 -> 38869 bytes
.../excel/work/高处作业许可模板.docx | Bin 0 -> 43969 bytes
27 files changed, 1113 insertions(+), 214 deletions(-)
create mode 100644 src/main/java/com/zhgd/xmgl/util/EasyPoiUtil.java
create mode 100644 src/main/resources/excel/work/一级动火模板.docx
create mode 100644 src/main/resources/excel/work/三级动火模板.docx
create mode 100644 src/main/resources/excel/work/二级动火模板.docx
create mode 100644 src/main/resources/excel/work/受限空间模板.docx
create mode 100644 src/main/resources/excel/work/土建工程质量模板.docx
create mode 100644 src/main/resources/excel/work/无损检测模板.docx
create mode 100644 src/main/resources/excel/work/普通动火模板.docx
create mode 100644 src/main/resources/excel/work/起重吊装作业模板.docx
create mode 100644 src/main/resources/excel/work/高处作业许可模板.docx
diff --git a/pom.xml b/pom.xml
index b0fcb79db..af2914870 100644
--- a/pom.xml
+++ b/pom.xml
@@ -362,6 +362,17 @@
easypoi-spring-boot-starter
4.4.0
+
+
+ com.documents4j
+ documents4j-local
+ 1.0.3
+
+
+ com.documents4j
+ documents4j-transformer-msoffice-word
+ 1.0.3
+
commons-beanutils
diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/controller/CivilEngineeringQualityInspectionOrderController.java b/src/main/java/com/zhgd/xmgl/modules/baotou/controller/CivilEngineeringQualityInspectionOrderController.java
index 6260a66e5..b273df529 100644
--- a/src/main/java/com/zhgd/xmgl/modules/baotou/controller/CivilEngineeringQualityInspectionOrderController.java
+++ b/src/main/java/com/zhgd/xmgl/modules/baotou/controller/CivilEngineeringQualityInspectionOrderController.java
@@ -1,7 +1,17 @@
package com.zhgd.xmgl.modules.baotou.controller;
+import java.io.File;
+import java.io.IOException;
import java.util.Date;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.IdUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
import com.zhgd.annotation.OperLog;
+import com.zhgd.xmgl.modules.baotou.entity.FirstOrderFire;
+import com.zhgd.xmgl.util.EasyPoiUtil;
+import com.zhgd.xmgl.util.Fileutils;
import com.zhgd.xmgl.util.FlowUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -26,8 +36,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.alibaba.fastjson.JSON;
+import javax.servlet.http.HttpServletResponse;
- /**
+
+/**
* @Title: Controller
* @Description: 土建工程质量检测委托单
* @author: pds
@@ -199,4 +211,81 @@ public class CivilEngineeringQualityInspectionOrderController {
return Result.success(civilEngineeringQualityInspectionOrderService.queryById(id));
}
+
+ @OperLog(operModul = "土建工程质量检测委托单管理", operType = "", operDesc = "导出pdf文件")
+ @ApiOperation(value = "导出pdf文件", notes = "导出pdf文件", httpMethod = "GET")
+ @ApiImplicitParam(name = "id", value = "id", paramType = "query", required = true, dataType = "String")
+ @GetMapping("exportPdf")
+ public void exportPdf(HttpServletResponse response, @RequestParam(name = "id", required = true) String id) throws IOException {
+ Map map = new HashMap<>();
+ CivilEngineeringQualityInspectionOrder fire = civilEngineeringQualityInspectionOrderService.queryById(id);
+
+ map.put("id", fire.getId());
+ map.put("num", fire.getNum());
+ map.put("project", fire.getProject());
+ map.put("deviceUnitId", fire.getDeviceUnitId());
+ map.put("testingMethod", fire.getTestingMethod());
+ map.put("testingCategory", fire.getTestingCategory());
+ map.put("projectUseLocation", fire.getProjectUseLocation());
+ map.put("testingCommissionBasisStandard", fire.getTestingCommissionBasisStandard());
+ map.put("testingCodeList", fire.getTestingCodeList());
+ map.put("testPieceSampleSamplingGroupNumber", fire.getTestPieceSampleSamplingGroupNumber());
+ map.put("testPieceSampleNumber", fire.getTestPieceSampleNumber());
+ map.put("testPieceSampleModelSpecification", fire.getTestPieceSampleModelSpecification());
+ map.put("testPieceSampleRepresentativeBatch", fire.getTestPieceSampleRepresentativeBatch());
+ map.put("originManufacturer", fire.getOriginManufacturer());
+ map.put("productBatchFurnaceNumber", fire.getProductBatchFurnaceNumber());
+ map.put("weldingTestPieceOperator", fire.getWeldingTestPieceOperator());
+ map.put("weldingTestPieceOperationCertificateNumber", fire.getWeldingTestPieceOperationCertificateNumber());
+ map.put("trademark", fire.getTrademark());
+ map.put("factoryCertificateNumber", fire.getFactoryCertificateNumber());
+ map.put("testingClient", fire.getTestingClient());
+ map.put("testingClientUser", fire.getTestingClientUser());
+ map.put("testingClientPhoneNumber", fire.getTestingClientPhoneNumber());
+ map.put("testingCommissionTime", DateUtil.format(fire.getTestingCommissionTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("samplingSampleDeliveryPerson", fire.getSamplingSampleDeliveryPerson());
+ map.put("epcContractor", fire.getEpcContractor());
+ map.put("professionalEngineer", fire.getProfessionalEngineer());
+ map.put("supervisingWitness", fire.getSupervisingWitness());
+ map.put("supervisingWitnessUser", fire.getSupervisingWitnessUser());
+ map.put("clientPhoneNumber", fire.getClientPhoneNumber());
+ map.put("witnessRecord", fire.getWitnessRecord());
+ map.put("witnessRecordPicture", fire.getWitnessRecordPicture());
+ map.put("testingUnit", fire.getTestingUnit());
+ map.put("client", fire.getClient());
+ map.put("testingReportIssuanceCommitmentTimeLimit", DateUtil.format(fire.getTestingReportIssuanceCommitmentTimeLimit(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("mattersExplained", fire.getMattersExplained());
+ map.put("projectSn", fire.getProjectSn());
+ map.put("createDate", fire.getCreateDate());
+ map.put("updateDate", fire.getUpdateDate());
+ map.put("deviceUnitName", fire.getDeviceUnitName());
+ map.put("deviceUnitNo", fire.getDeviceUnitNo());
+ map.put("weldingTestPieceOperatorName", fire.getWeldingTestPieceOperatorName());
+ map.put("testingClientName", fire.getTestingClientName());
+ map.put("testingClientUserName", fire.getTestingClientUserName());
+ map.put("samplingSampleDeliveryPersonName", fire.getSamplingSampleDeliveryPersonName());
+ map.put("epcContractorName", fire.getEpcContractorName());
+ map.put("professionalEngineerName", fire.getProfessionalEngineerName());
+ map.put("supervisingWitnessName", fire.getSupervisingWitnessName());
+ map.put("supervisingWitnessUserName", fire.getSupervisingWitnessUserName());
+ map.put("testingUnitName", fire.getTestingUnitName());
+ map.put("clientName", fire.getClientName());
+ String url;
+// url = "C:\\Users\\Administrator\\Desktop\\土建工程质量模板.docx";
+ url = Fileutils.getExportTemplateFile("excel/work/土建工程质量模板.docx").getAbsolutePath();
+ String detail = fire.getTestingCodeList();
+ JSONArray detailJa = JSON.parseArray(detail);
+ if (CollUtil.isNotEmpty(detailJa)) {
+ for (int i = 0; i < detailJa.size(); i++) {
+ JSONObject jo = detailJa.getJSONObject(i);
+ map.put("a" + (i + 1), FlowUtil.getPullDownString(jo,"field1368566793132"));
+ map.put("b" + (i + 1), FlowUtil.getPullDownString(jo,"field4604066799427"));
+ }
+ }
+ File tempFile = File.createTempFile(IdUtil.simpleUUID(), ".docx");
+ EasyPoiUtil.exportWord(map, url, tempFile);
+
+ EasyPoiUtil.wordToPdfExport(response, tempFile);
+ }
+
}
diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/controller/ConfinedSpaceOperationController.java b/src/main/java/com/zhgd/xmgl/modules/baotou/controller/ConfinedSpaceOperationController.java
index bb11b3b79..abdb10aa1 100644
--- a/src/main/java/com/zhgd/xmgl/modules/baotou/controller/ConfinedSpaceOperationController.java
+++ b/src/main/java/com/zhgd/xmgl/modules/baotou/controller/ConfinedSpaceOperationController.java
@@ -1,13 +1,23 @@
package com.zhgd.xmgl.modules.baotou.controller;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.IdUtil;
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.metadata.IPage;
import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result;
+import com.zhgd.xmgl.constant.Cts;
import com.zhgd.xmgl.modules.baotou.entity.ConfinedSpaceOperation;
import com.zhgd.xmgl.modules.baotou.service.IConfinedSpaceOperationService;
+import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
+import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl;
+import com.zhgd.xmgl.util.EasyPoiUtil;
+import com.zhgd.xmgl.util.Fileutils;
import com.zhgd.xmgl.util.FlowUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -18,10 +28,15 @@ import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.simpleframework.xml.core.Validate;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
import java.util.*;
+import java.util.stream.Collectors;
/**
@@ -36,6 +51,9 @@ import java.util.*;
@Slf4j
@Api(tags = "受限空间作业相关Api")
public class ConfinedSpaceOperationController {
+ @Lazy
+ @Autowired
+ WorkerInfoServiceImpl workerInfoService;
@Autowired
private IConfinedSpaceOperationService confinedSpaceOperationService;
@@ -103,7 +121,7 @@ public class ConfinedSpaceOperationController {
Long safetyQualityEnvironmentalProtectionDepartment = Optional.ofNullable(map.get("safetyQualityEnvironmentalProtectionDepartment")).map(o -> Convert.toLong(((List) o).get(0))).orElse(null);
Long operatorSignature = Optional.ofNullable(map.get("operatorSignature")).map(o -> Convert.toLong(((List) o).get(0))).orElse(null);
Long guardianSignature = Optional.ofNullable(map.get("guardianSignature")).map(o -> Convert.toLong(((List) o).get(0))).orElse(null);
- String operator = Optional.ofNullable(map.get("operator")).map(o -> StringUtils.join(((List)o),",")).orElse(null);
+ String operator = Optional.ofNullable(map.get("operator")).map(o -> StringUtils.join(((List) o), ",")).orElse(null);
String jobHazardIdentificationDetail = Optional.ofNullable(map.get("jobHazardIdentificationDetail")).map(JSON::toJSONString).orElse(null);
String num = MapUtils.getString(map, "num");
String constructionProject = MapUtils.getString(map, "constructionProject");
@@ -227,4 +245,110 @@ public class ConfinedSpaceOperationController {
return Result.success(confinedSpaceOperationService.queryById(id));
}
+ @OperLog(operModul = "受限空间作业管理", operType = "", operDesc = "导出pdf文件")
+ @ApiOperation(value = "导出pdf文件", notes = "导出pdf文件", httpMethod = "GET")
+ @ApiImplicitParam(name = "id", value = "id", paramType = "query", required = true, dataType = "String")
+ @GetMapping("exportPdf")
+ public void exportPdf(HttpServletResponse response, @RequestParam(name = "id", required = true) String id) throws IOException {
+ Map map = new HashMap<>();
+ ConfinedSpaceOperation fire = confinedSpaceOperationService.queryById(id);
+
+ map.put("id", fire.getId());
+ map.put("num", fire.getNum());
+ map.put("constructionProject", fire.getConstructionProject());
+ map.put("projectGroupId", fire.getProjectGroupId());
+ map.put("jobApplicationUnit", fire.getJobApplicationUnit());
+ map.put("deviceUnitId", fire.getDeviceUnitId());
+ map.put("facilityLocationName", fire.getFacilityLocationName());
+ map.put("originalMedium", fire.getOriginalMedium());
+ map.put("jobContent", fire.getJobContent());
+ map.put("operator", fire.getOperator());
+ map.put("jobStartTime", DateUtil.format(fire.getJobStartTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("jobEndTime", DateUtil.format(fire.getJobEndTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("jobHazardIdentificationDetail", fire.getJobHazardIdentificationDetail());
+ map.put("applicantSignature", fire.getApplicantSignature());
+ map.put("applicantSignatureTime", DateUtil.format(fire.getApplicantSignatureTime(), "yyyy年MM月dd日"));
+ map.put("contractorSignature", fire.getContractorSignature());
+ map.put("supervisorSignature", fire.getSupervisorSignature());
+ map.put("detectionAndAnalysisOxygenContent", fire.getDetectionAndAnalysisOxygenContent());
+ map.put("detectionAndAnalysisCombustibleGas", fire.getDetectionAndAnalysisCombustibleGas());
+ map.put("detectionAndAnalysisToxicity", fire.getDetectionAndAnalysisToxicity());
+ map.put("detectionAndAnalysisDust", fire.getDetectionAndAnalysisDust());
+ map.put("detectionAndAnalysisTime", DateUtil.format(fire.getDetectionAndAnalysisTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("detectionAndAnalysisLocation", fire.getDetectionAndAnalysisLocation());
+ map.put("detectionAndAnalysisSignature", fire.getDetectionAndAnalysisSignature());
+ map.put("conclusion", fire.getConclusion());
+ map.put("operationSupervisor", fire.getOperationSupervisor());
+ map.put("operationApplicationUnitConfirmation", getYesOrNot(fire.getOperationApplicationUnitConfirmation()));
+ map.put("operationSupervisorTime", DateUtil.format(fire.getOperationSupervisorTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("epcContractor1", fire.getEpcContractor1());
+ map.put("epcContractor2", fire.getEpcContractor2());
+ map.put("epcContractorConfirmation", getYesOrNot(fire.getEpcContractorConfirmation()));
+ map.put("epcContractorTime", DateUtil.format(fire.getEpcContractorTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("supervisor1", fire.getSupervisor1());
+ map.put("supervisor2", fire.getSupervisor2());
+ map.put("supervisorConfirmation", getYesOrNot(fire.getSupervisorConfirmation()));
+ map.put("supervisorTime", DateUtil.format(fire.getSupervisorTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("projectTeam1", fire.getProjectTeam1());
+ map.put("projectTeam2", fire.getProjectTeam2());
+ map.put("projectTeamConfirmation", getYesOrNot(fire.getProjectTeamConfirmation()));
+ map.put("projectTeamTime", DateUtil.format(fire.getProjectTeamTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("safetyQualityEnvironmentalProtectionDepartment", fire.getSafetyQualityEnvironmentalProtectionDepartment());
+ map.put("safetyQualityEnvironmentalProtectionDepartmentConfirmation", getYesOrNot(fire.getSafetyQualityEnvironmentalProtectionDepartmentConfirmation()));
+ map.put("safetyQualityEnvironmentalProtectionDepartmentTime", DateUtil.format(fire.getSafetyQualityEnvironmentalProtectionDepartmentTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("operatorSignature", fire.getOperatorSignature());
+ map.put("guardianSignature", fire.getGuardianSignature());
+ map.put("signatureTime", DateUtil.format(fire.getSignatureTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("projectSn", fire.getProjectSn());
+ map.put("createTime", DateUtil.format(fire.getCreateTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("updateTime", DateUtil.format(fire.getUpdateTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("workType", fire.getWorkType());
+ map.put("jobApplicationUnitName", fire.getJobApplicationUnitName());
+ map.put("projectGroupName", fire.getProjectGroupName());
+ map.put("deviceUnitName", fire.getDeviceUnitName());
+ map.put("operatorName", fire.getOperatorName());
+ map.put("applicantSignatureName", fire.getApplicantSignatureName());
+ map.put("contractorSignatureName", fire.getContractorSignatureName());
+ map.put("supervisorSignatureName", fire.getSupervisorSignatureName());
+ map.put("detectionAndAnalysisSignatureName", fire.getDetectionAndAnalysisSignatureName());
+ map.put("operationSupervisorName", fire.getOperationSupervisorName());
+ map.put("epcContractor1Name", fire.getEpcContractor1Name());
+ map.put("epcContractor2Name", fire.getEpcContractor2Name());
+ map.put("supervisor1Name", fire.getSupervisor1Name());
+ map.put("supervisor2Name", fire.getSupervisor2Name());
+ map.put("projectTeam1Name", fire.getProjectTeam1Name());
+ map.put("projectTeam2Name", fire.getProjectTeam2Name());
+ map.put("safetyQualityEnvironmentalProtectionDepartmentName", fire.getSafetyQualityEnvironmentalProtectionDepartmentName());
+ map.put("operatorSignatureName", fire.getOperatorSignatureName());
+ map.put("guardianSignatureName", fire.getGuardianSignatureName());
+
+ String url;
+// url = "C:\\Users\\Administrator\\Desktop\\受限空间模板.docx";
+ url = Fileutils.getExportTemplateFile("excel/work/受限空间模板.docx").getAbsolutePath();
+ Map workerMap = workerInfoService.list(new LambdaQueryWrapper()
+ .eq(WorkerInfo::getProjectSn, fire.getProjectSn()).last(Cts.IGNORE_DATA_SCOPE_CONDITION)).stream().collect(Collectors.toMap(WorkerInfo::getId, WorkerInfo::getWorkerName));
+ String detail = fire.getJobHazardIdentificationDetail();
+ JSONArray detailJa = JSON.parseArray(detail);
+ if (CollUtil.isNotEmpty(detailJa)) {
+ for (int i = 0; i < detailJa.size(); i++) {
+ JSONObject jo = detailJa.getJSONObject(i);
+ map.put("a" + (i + 1), jo.getString("field5703120857118"));
+ map.put("b" + (i + 1), workerMap.get(FlowUtil.getPullDownLong(jo, "field8506620872502")));
+ map.put("c" + (i + 1), getYesOrNot(jo.getString("field4427420877151")));
+ map.put("d" + (i + 1), jo.getString("field9463720880350"));
+ }
+ }
+ File tempFile = File.createTempFile(IdUtil.simpleUUID(), ".docx");
+ EasyPoiUtil.exportWord(map, url, tempFile);
+
+ EasyPoiUtil.wordToPdfExport(response, tempFile);
+ }
+
+ private String getYesOrNot(String s) {
+ if (Objects.equals(s, "是")) {
+ return "☑";
+ } else {
+ return "□";
+ }
+ }
}
diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/controller/FirstOrderFireController.java b/src/main/java/com/zhgd/xmgl/modules/baotou/controller/FirstOrderFireController.java
index e78e7c052..c49084cad 100644
--- a/src/main/java/com/zhgd/xmgl/modules/baotou/controller/FirstOrderFireController.java
+++ b/src/main/java/com/zhgd/xmgl/modules/baotou/controller/FirstOrderFireController.java
@@ -1,13 +1,25 @@
package com.zhgd.xmgl.modules.baotou.controller;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.IdUtil;
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.metadata.IPage;
import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result;
+import com.zhgd.xmgl.constant.Cts;
import com.zhgd.xmgl.modules.baotou.entity.FirstOrderFire;
import com.zhgd.xmgl.modules.baotou.service.IFirstOrderFireService;
+import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
+import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
+import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl;
+import com.zhgd.xmgl.util.EasyPoiUtil;
+import com.zhgd.xmgl.util.Fileutils;
+import com.zhgd.xmgl.util.FlowUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -16,10 +28,15 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.simpleframework.xml.core.Validate;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
import java.util.*;
+import java.util.stream.Collectors;
/**
@@ -34,8 +51,14 @@ import java.util.*;
@Slf4j
@Api(tags = "一级二级三级动火相关Api")
public class FirstOrderFireController {
+ @Lazy
+ @Autowired
+ WorkerInfoServiceImpl workerInfoService;
@Autowired
private IFirstOrderFireService firstOrderFireService;
+ @Lazy
+ @Autowired
+ private ISystemUserService systemUserService;
/**
* 分页列表查询
@@ -265,4 +288,175 @@ public class FirstOrderFireController {
return Result.success(firstOrderFireService.queryById(id));
}
+ @OperLog(operModul = "动火管理", operType = "", operDesc = "导出pdf文件")
+ @ApiOperation(value = "导出pdf文件", notes = "导出pdf文件", httpMethod = "GET")
+ @ApiImplicitParam(name = "id", value = "id", paramType = "query", required = true, dataType = "String")
+ @GetMapping("exportPdf")
+ public void exportPdf(HttpServletResponse response, @RequestParam(name = "id", required = true) String id) throws IOException {
+ Map map = new HashMap<>();
+ FirstOrderFire fire = firstOrderFireService.queryById(id);
+ map.put("level", fire.getLevel());
+ map.put("number", fire.getNumber());
+ map.put("hotFireUnit", fire.getHotFireUnit());
+ map.put("hotFireContent", fire.getHotFireContent());
+ map.put("hotFireArea", fire.getHotFireArea());
+ map.put("applicationStartTime", DateUtil.format(fire.getApplicationStartTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("applicationEndTime", DateUtil.format(fire.getApplicationEndTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("detailedList", fire.getDetailedList());
+ map.put("applicant1", fire.getApplicant1());
+ map.put("applicant2", fire.getApplicant2());
+ map.put("guardian1", fire.getGuardian1());
+ map.put("guardian2", fire.getGuardian2());
+ map.put("confirmer1", fire.getConfirmer1());
+ map.put("confirmer2", fire.getConfirmer2());
+ map.put("hotFireOperator1", fire.getHotFireOperator1());
+ map.put("specialQualificationCertificateNumber1", fire.getSpecialQualificationCertificateNumber1());
+ map.put("hotFireOperator2", fire.getHotFireOperator2());
+ map.put("specialQualificationCertificateNumber2", fire.getSpecialQualificationCertificateNumber2());
+ map.put("testingAndAnalysisTime", DateUtil.format(fire.getTestingAndAnalysisTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("testingAndAnalysisLocation", fire.getTestingAndAnalysisLocation());
+ map.put("testingAndAnalysisData", fire.getTestingAndAnalysisData());
+ map.put("testingAndAnalysisConclusion", fire.getTestingAndAnalysisConclusion());
+ map.put("testingAndAnalysisPerson", fire.getTestingAndAnalysisPerson());
+ map.put("testingAndAnalysisSheetAttached", fire.getTestingAndAnalysisSheetAttached());
+ map.put("epcSiteManagerReviewer", fire.getEpcSiteManagerReviewer());
+ map.put("supervisingDirectorReviewer", fire.getSupervisingDirectorReviewer());
+ map.put("projectTeamReviewer", fire.getProjectTeamReviewer());
+ map.put("safetyQualityEnvironmentDepartmentReviewer", fire.getSafetyQualityEnvironmentDepartmentReviewer());
+ map.put("projectDirectorSafetyApprover", fire.getProjectDirectorSafetyApprover());
+ map.put("dateTime", DateUtil.format(fire.getDateTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("hotFireEndInspectionPerson", fire.getHotFireEndInspectionPerson());
+ map.put("hotFirePersonSignatureDateTime", DateUtil.format(fire.getHotFirePersonSignatureDateTime(), "yyyy年MM月dd日"));
+ map.put("hotFireEndInspectionGuardian", fire.getHotFireEndInspectionGuardian());
+ map.put("guardianSignatureDateTime", DateUtil.format(fire.getGuardianSignatureDateTime(), "yyyy年MM月dd日"));
+ map.put("projectSn", fire.getProjectSn());
+// map.put("createTime", fire.getCreateTime());
+// map.put("updateTime", fire.getUpdateTime());
+ map.put("epcSafetyManager", fire.getEpcSafetyManager());
+ map.put("supervisorGeneralAgent", fire.getSupervisorGeneralAgent());
+ map.put("projectConstructionManager", fire.getProjectConstructionManager());
+ map.put("safetyQualityEnvironmentDepartmentManager", fire.getSafetyQualityEnvironmentDepartmentManager());
+ map.put("contractorConstructionManagerReviewer", fire.getContractorConstructionManagerReviewer());
+ map.put("supervisingSafetyEngineerReviewer", fire.getSupervisingSafetyEngineerReviewer());
+ map.put("projectTeamConstructionManagerApprover", fire.getProjectTeamConstructionManagerApprover());
+ map.put("constructionContent", fire.getConstructionContent());
+ map.put("hotStartMethod", fire.getHotStartMethod());
+ map.put("constructionManager", fire.getConstructionManager());
+ map.put("constructionManagerPhoneNumber", fire.getConstructionManagerPhoneNumber());
+ map.put("constructionFireMonitor", fire.getConstructionFireMonitor());
+ map.put("constructionFireMonitorPhoneNumber", fire.getConstructionFireMonitorPhoneNumber());
+ map.put("hotStartPersonnel", fire.getHotStartPersonnel());
+ map.put("specialOperatorIdentificationNumber", fire.getSpecialOperatorIdentificationNumber());
+ map.put("hotStartTime", DateUtil.format(fire.getHotStartTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("hotEndTime", DateUtil.format(fire.getHotEndTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("analysisTime", DateUtil.format(fire.getAnalysisTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("samplingLocation", fire.getSamplingLocation());
+ map.put("analyst", fire.getAnalyst());
+ try {
+ String[] ad = {"氧气%(19.5%-23.5%)", "硫化氢(<10mg/)", "可燃气体%(LEL>4%时,<0.5%),%(LEL<4%时,<0.2%)"};
+ map.put("analysisData", ad[fire.getAnalysisData() - 1]);
+ } catch (Exception e) {
+ log.error("",e);
+ map.put("analysisData", null);
+ }
+ map.put("safetyProtectionMeasure", fire.getSafetyProtectionMeasure());
+ map.put("contractorConstructionManagerApplication", fire.getContractorConstructionManagerApplication());
+ map.put("contractorConstructionManagerApplicationTime", DateUtil.format(fire.getContractorConstructionManagerApplicationTime(), "yyyy年MM月dd日"));
+ map.put("contractorSafetyManagerReview", fire.getContractorSafetyManagerReview());
+ map.put("contractorSafetyManagerReviewTime", DateUtil.format(fire.getContractorSafetyManagerReviewTime(), "yyyy年MM月dd日"));
+ map.put("contractorProjectManagerApproval", fire.getContractorProjectManagerApproval());
+ map.put("contractorProjectManagerApprovalTime", DateUtil.format(fire.getContractorProjectManagerApprovalTime(), "yyyy年MM月dd日"));
+ map.put("operationFireMonitor", fire.getOperationFireMonitor());
+ map.put("completionTime", DateUtil.format(fire.getCompletionTime(), "yyyy年MM月dd日HH时mm分ss秒"));
+ map.put("hotFireUnitName", fire.getHotFireUnitName());
+ map.put("applicant1Name", fire.getApplicant1Name());
+ map.put("applicant2Name", fire.getApplicant2Name());
+ map.put("guardian1Name", fire.getGuardian1Name());
+ map.put("guardian2Name", fire.getGuardian2Name());
+ map.put("confirmer1Name", fire.getConfirmer1Name());
+ map.put("confirmer2Name", fire.getConfirmer2Name());
+ map.put("hotFireOperator1Name", fire.getHotFireOperator1Name());
+ map.put("hotFireOperator2Name", fire.getHotFireOperator2Name());
+ map.put("epcSiteManagerReviewerName", fire.getEpcSiteManagerReviewerName());
+ map.put("supervisingDirectorReviewerName", fire.getSupervisingDirectorReviewerName());
+ map.put("projectTeamReviewerName", fire.getProjectTeamReviewerName());
+ map.put("safetyQualityEnvironmentDepartmentReviewerName", fire.getSafetyQualityEnvironmentDepartmentReviewerName());
+ map.put("projectDirectorSafetyApproverName", fire.getProjectDirectorSafetyApproverName());
+ map.put("hotFireEndInspectionPersonName", fire.getHotFireEndInspectionPersonName());
+ map.put("hotFireEndInspectionGuardianName", fire.getHotFireEndInspectionGuardianName());
+ map.put("epcSafetyManagerName", fire.getEpcSafetyManagerName());
+ map.put("supervisorGeneralAgentName", fire.getSupervisorGeneralAgentName());
+ map.put("projectConstructionManagerName", fire.getProjectConstructionManagerName());
+ map.put("safetyQualityEnvironmentDepartmentManagerName", fire.getSafetyQualityEnvironmentDepartmentManagerName());
+ map.put("contractorConstructionManagerReviewerName", fire.getContractorConstructionManagerReviewerName());
+ map.put("supervisingSafetyEngineerReviewerName", fire.getSupervisingSafetyEngineerReviewerName());
+ map.put("projectTeamConstructionManagerApproverName", fire.getProjectTeamConstructionManagerApproverName());
+ map.put("constructionManagerName", fire.getConstructionManagerName());
+ map.put("constructionFireMonitorName", fire.getConstructionFireMonitorName());
+ map.put("hotStartPersonnelName", fire.getHotStartPersonnelName());
+ map.put("contractorConstructionManagerApplicationName", fire.getContractorConstructionManagerApplicationName());
+ map.put("contractorSafetyManagerReviewName", fire.getContractorSafetyManagerReviewName());
+ map.put("contractorProjectManagerApprovalName", fire.getContractorProjectManagerApprovalName());
+ map.put("operationFireMonitorName", fire.getOperationFireMonitorName());
+ String url;
+ if (Objects.equals(fire.getLevel(), 1)) {
+// url = "C:\\Users\\Administrator\\Desktop\\一级动火模板.docx";
+ url = Fileutils.getExportTemplateFile("excel/work/一级动火模板.docx").getAbsolutePath();
+ } else if (Objects.equals(fire.getLevel(), 2)) {
+// url = "C:\\Users\\Administrator\\Desktop\\二级动火模板.docx";
+ url = Fileutils.getExportTemplateFile("excel/work/二级动火模板.docx").getAbsolutePath();
+ } else if (Objects.equals(fire.getLevel(), 3)) {
+// url = "C:\\Users\\Administrator\\Desktop\\三级动火模板.docx";
+ url = Fileutils.getExportTemplateFile("excel/work/三级动火模板.docx").getAbsolutePath();
+ } else {
+// url = "C:\\Users\\Administrator\\Desktop\\普通动火模板.docx";
+ url = Fileutils.getExportTemplateFile("excel/work/普通动火模板.docx").getAbsolutePath();
+ }
+ Map workerMap = workerInfoService.list(new LambdaQueryWrapper()
+ .eq(WorkerInfo::getProjectSn, fire.getProjectSn()).last(Cts.IGNORE_DATA_SCOPE_CONDITION)).stream().collect(Collectors.toMap(WorkerInfo::getId, WorkerInfo::getWorkerName));
+ String detail = fire.getDetailedList();
+ JSONArray detailJa = JSON.parseArray(detail);
+ if (CollUtil.isNotEmpty(detailJa)) {
+ for (int i = 0; i < detailJa.size(); i++) {
+ JSONObject jo = detailJa.getJSONObject(i);
+ if (Objects.equals(fire.getLevel(), 1)) {
+ map.put("a" + (i + 1), jo.getString("field1113539018413"));
+ map.put("b" + (i + 1), jo.getString("field6295298020011"));
+ map.put("c" + (i + 1), workerMap.get(FlowUtil.getPullDownLong(jo, "field7181898419375")));
+ } else if (Objects.equals(fire.getLevel(), 2)) {
+ map.put("a" + (i + 1), jo.getString("field4919535369636"));
+ map.put("b" + (i + 1), jo.getString("field6278135426318"));
+ map.put("c" + (i + 1), workerMap.get(FlowUtil.getPullDownLong(jo, "field4233935375452")));
+ } else if (Objects.equals(fire.getLevel(), 3)) {
+ map.put("a" + (i + 1), jo.getString("field4155160069776"));
+ map.put("b" + (i + 1), jo.getString("field5042360362968"));
+ map.put("c" + (i + 1), workerMap.get(FlowUtil.getPullDownLong(jo, "field4503360073890")));
+ }
+
+ }
+ }
+ JSONArray safeJa = JSON.parseArray(fire.getSafetyProtectionMeasure());
+ if (CollUtil.isNotEmpty(safeJa)) {
+ for (int i = 0; i < safeJa.size(); i++) {
+ JSONObject jo = safeJa.getJSONObject(i);
+ map.put("a" + (i + 1), jo.getString("field9704462412249"));
+ map.put("b" + (i + 1), workerMap.get(FlowUtil.getPullDownLong(jo, "field8981162420235")));
+ map.put("c" + (i + 1), workerMap.get(FlowUtil.getPullDownLong(jo, "field4093861906891")));
+ }
+ }
+ JSONArray specialJa = JSON.parseArray(fire.getSpecialOperatorIdentificationNumber());
+ if (CollUtil.isNotEmpty(specialJa)) {
+ for (int i = 0; i < specialJa.size(); i++) {
+ JSONObject jo = specialJa.getJSONObject(i);
+ map.put("s" + (i + 1), workerMap.get(FlowUtil.getPullDownLong(jo, "field2567362300101")));
+ map.put("sc" + (i + 1), jo.getString("field4813762306585"));
+ }
+ }
+ File tempFile = File.createTempFile(IdUtil.simpleUUID(), ".docx");
+ EasyPoiUtil.exportWord(map, url, tempFile);
+
+ EasyPoiUtil.wordToPdfExport(response, tempFile);
+ }
+
+
}
diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/controller/HeightPermitController.java b/src/main/java/com/zhgd/xmgl/modules/baotou/controller/HeightPermitController.java
index dd52b49df..11cd7a140 100644
--- a/src/main/java/com/zhgd/xmgl/modules/baotou/controller/HeightPermitController.java
+++ b/src/main/java/com/zhgd/xmgl/modules/baotou/controller/HeightPermitController.java
@@ -1,14 +1,23 @@
package com.zhgd.xmgl.modules.baotou.controller;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.StrUtil;
+import cn.hutool.core.util.IdUtil;
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.metadata.IPage;
import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result;
+import com.zhgd.xmgl.constant.Cts;
import com.zhgd.xmgl.modules.baotou.entity.HeightPermit;
import com.zhgd.xmgl.modules.baotou.service.IHeightPermitService;
+import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
+import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl;
+import com.zhgd.xmgl.util.EasyPoiUtil;
+import com.zhgd.xmgl.util.Fileutils;
import com.zhgd.xmgl.util.FlowUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -16,16 +25,20 @@ import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang3.StringUtils;
import org.simpleframework.xml.core.Validate;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.stream.Collectors;
/**
@@ -40,6 +53,9 @@ import java.util.Optional;
@Slf4j
@Api(tags = "高处作业许可证相关Api")
public class HeightPermitController {
+ @Lazy
+ @Autowired
+ WorkerInfoServiceImpl workerInfoService;
@Autowired
private IHeightPermitService heightPermitService;
@@ -197,8 +213,81 @@ public class HeightPermitController {
@ApiImplicitParam(name = "selectType", value = "查询类型,1、24小时,2近七天,3最近30天", paramType = "body", required = true, dataType = "Integer"),
})
@GetMapping(value = "/countWork")
- public Result