包头导出pdf

This commit is contained in:
guoshengxiong 2024-11-15 18:13:33 +08:00
parent 07f9a3af4a
commit cb7ddf2c93
27 changed files with 1113 additions and 214 deletions

11
pom.xml
View File

@ -362,6 +362,17 @@
<artifactId>easypoi-spring-boot-starter</artifactId>
<version>4.4.0</version>
</dependency>
<!--pdf-->
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-local</artifactId>
<version>1.0.3</version>
</dependency>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-transformer-msoffice-word</artifactId>
<version>1.0.3</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>

View File

@ -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<String, Object> 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);
}
}

View File

@ -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<String, Object> 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<Long, String> workerMap = workerInfoService.list(new LambdaQueryWrapper<WorkerInfo>()
.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 "";
}
}
}

View File

@ -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<String, Object> 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<Long, String> workerMap = workerInfoService.list(new LambdaQueryWrapper<WorkerInfo>()
.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);
}
}

View File

@ -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<Map<String ,String >> countWork(@ApiIgnore @RequestParam HashMap<String, Object> param) {
public Result<Map<String, String>> countWork(@ApiIgnore @RequestParam HashMap<String, Object> param) {
return Result.success(heightPermitService.countWork(param));
}
@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<String, Object> map = new HashMap<>();
HeightPermit fire = heightPermitService.queryById(id);
map.put("applicant", fire.getApplicant());
map.put("constructionLocation", fire.getConstructionLocation());
map.put("workContent", fire.getWorkContent());
map.put("workHeight", fire.getWorkHeight());
try {
String[] wc = {"一级2-5m", "二级(5-15m)", "三级(15-30m)", "特级(>30m)", "特殊"};
map.put("workCategory", wc[fire.getWorkCategory() - 1]);
} catch (Exception e) {
log.error("", e);
map.put("workCategory", "");
}
map.put("worker", fire.getWorker());
map.put("workerTimeBegin", DateUtil.format(fire.getWorkerTimeBegin(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("workerTimeEnd", DateUtil.format(fire.getWorkerTimeEnd(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("supplementaryMeasure", fire.getSupplementaryMeasure());
map.put("applicantTeamLeader", fire.getApplicantTeamLeader());
map.put("applicantTeamLeaderTime", DateUtil.format(fire.getApplicantTeamLeaderTime(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("guardianContractor", fire.getGuardianContractor());
map.put("guardianContractorTime", DateUtil.format(fire.getGuardianContractorTime(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("constructionContractorManager", fire.getConstructionContractorManager());
map.put("constructionContractorManagerTime", DateUtil.format(fire.getConstructionContractorManagerTime(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("epcContractorManager", fire.getEpcContractorManager());
map.put("epcContractorManagerTime", DateUtil.format(fire.getEpcContractorManagerTime(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("supervisionUnitManager", fire.getSupervisionUnitManager());
map.put("supervisionUnitManagerTime", DateUtil.format(fire.getSupervisionUnitManagerTime(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("projectTeam", fire.getProjectTeam());
map.put("projectTeamTime", DateUtil.format(fire.getProjectTeamTime(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("safetyDepartmentManager", fire.getSafetyDepartmentManager());
map.put("safetyDepartmentManagerTime", DateUtil.format(fire.getSafetyDepartmentManagerTime(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("guardian", fire.getGuardian());
map.put("guardianTime", DateUtil.format(fire.getGuardianTime(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("projectSn", fire.getProjectSn());
map.put("createTime", fire.getCreateTime());
map.put("updateTime", fire.getUpdateTime());
map.put("safeControlMeasure", fire.getSafeControlMeasure());
map.put("applicantName", fire.getApplicantName());
map.put("workerName", fire.getWorkerName());
map.put("applicantTeamLeaderName", fire.getApplicantTeamLeaderName());
map.put("guardianContractorName", fire.getGuardianContractorName());
map.put("constructionContractorManagerName", fire.getConstructionContractorManagerName());
map.put("epcContractorManagerName", fire.getEpcContractorManagerName());
map.put("supervisionUnitManagerName", fire.getSupervisionUnitManagerName());
map.put("projectTeamName", fire.getProjectTeamName());
map.put("safetyDepartmentManagerName", fire.getSafetyDepartmentManagerName());
map.put("guardianName", fire.getGuardianName());
String url;
// url = "C:\\Users\\Administrator\\Desktop\\高处作业许可模板.docx";
url = Fileutils.getExportTemplateFile("excel/work/高处作业许可模板.docx").getAbsolutePath();
Map<Long, String> workerMap = workerInfoService.list(new LambdaQueryWrapper<WorkerInfo>()
.eq(WorkerInfo::getProjectSn, fire.getProjectSn()).last(Cts.IGNORE_DATA_SCOPE_CONDITION)).stream().collect(Collectors.toMap(WorkerInfo::getId, WorkerInfo::getWorkerName));
String detail = fire.getSafeControlMeasure();
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("field9539657401800"));
map.put("b" + (i + 1), jo.getString("field9282320023273"));
map.put("c" + (i + 1), workerMap.get(FlowUtil.getPullDownLong(jo, "field8640601863915")));
}
}
File tempFile = File.createTempFile(IdUtil.simpleUUID(), ".docx");
EasyPoiUtil.exportWord(map, url, tempFile);
EasyPoiUtil.wordToPdfExport(response, tempFile);
}
}

View File

@ -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.LiftingOperation;
import com.zhgd.xmgl.modules.baotou.service.ILiftingOperationService;
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
import com.zhgd.xmgl.modules.worker.service.IWorkerInfoService;
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;
@ -17,10 +27,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;
/**
@ -37,6 +52,9 @@ import java.util.*;
public class LiftingOperationController {
@Autowired
private ILiftingOperationService liftingOperationService;
@Lazy
@Autowired
private IWorkerInfoService workerInfoService;
/**
* 分页列表查询
@ -126,6 +144,7 @@ public class LiftingOperationController {
Date operationSupervisorDate = Optional.ofNullable(map.get("operationSupervisorDate")).map(o -> DateUtil.parse(o.toString())).orElse(null);
Date safetyEngineerDate = Optional.ofNullable(map.get("safetyEngineerDate")).map(o -> DateUtil.parse(o.toString())).orElse(null);
LiftingOperation operation = new LiftingOperation();
operation.setNum(FlowUtil.getString(map,"num"));
operation.setApplicant(applicant);
operation.setOperationEquipment(operationEquipment);
operation.setOperationLocation(operationLocation);
@ -212,4 +231,117 @@ public class LiftingOperationController {
return Result.success(liftingOperationService.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<String, Object> map = new HashMap<>();
LiftingOperation fire = liftingOperationService.queryById(id);
map.put("id", fire.getId());
map.put("applicant", fire.getApplicant());
map.put("operationEquipment", fire.getOperationEquipment());
map.put("operationLocation", fire.getOperationLocation());
map.put("operationContent", fire.getOperationContent());
map.put("operationStartTime", DateUtil.format(fire.getOperationStartTime(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("operationEndTime", DateUtil.format(fire.getOperationEndTime(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("craneTypeLicensePlateNumber", fire.getCraneTypeLicensePlateNumber());
map.put("loadDescription", fire.getLoadDescription());
try {
String[] levels = {"一级M100吨", "二级40吨≤M≤100吨", "三级M40吨"};
map.put("level", levels[fire.getLevel() - 1]);
} catch (Exception e) {
log.error("", e);
map.put("level", "");
}
map.put("num", fire.getNum());
map.put("operatorLicenseNumber", fire.getOperatorLicenseNumber());
map.put("safetyMeasuresList", fire.getSafetyMeasuresList());
map.put("operationUnitConstructionApplicant", fire.getOperationUnitConstructionApplicant());
map.put("operationUnitConstructionApplicantDate", DateUtil.format(fire.getOperationUnitConstructionApplicantDate(), "yyyy年MM月dd日"));
map.put("operationSupervision", fire.getOperationSupervision());
map.put("operationSupervisionDate", DateUtil.format(fire.getOperationSupervisionDate(), "yyyy年MM月dd日"));
map.put("projectConstructionManagerOfConstructionContractor", fire.getProjectConstructionManagerOfConstructionContractor());
map.put("projectConstructionManagerTime", DateUtil.format(fire.getProjectConstructionManagerTime(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("safetyManagerOfConstructionContractor", fire.getSafetyManagerOfConstructionContractor());
map.put("safetyManagerTimeOfConstructionContractor", DateUtil.format(fire.getSafetyManagerTimeOfConstructionContractor(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("siteManagerProfessionalEngineer", fire.getSiteManagerProfessionalEngineer());
map.put("siteManagerProfessionalEngineerTime", DateUtil.format(fire.getSiteManagerProfessionalEngineerTime(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("safetyManagerOfEpcContractor", fire.getSafetyManagerOfEpcContractor());
map.put("safetyManagerTimeOfEpcContractor", DateUtil.format(fire.getSafetyManagerTimeOfEpcContractor(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("safetyEngineerOfSupervisionUnit", fire.getSafetyEngineerOfSupervisionUnit());
map.put("safetyEngineerTimeOfSupervisionUnit", DateUtil.format(fire.getSafetyEngineerTimeOfSupervisionUnit(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("directorGeneralAgent", fire.getDirectorGeneralAgent());
map.put("directorGeneralAgentTime", DateUtil.format(fire.getDirectorGeneralAgentTime(), "yyyy年MM月dd日HH时mm分ss秒"));
map.put("professionalEngineerOfProjectTeam", fire.getProfessionalEngineerOfProjectTeam());
map.put("professionalEngineerDateOfProjectTeam", DateUtil.format(fire.getProfessionalEngineerDateOfProjectTeam(), "yyyy年MM月dd日"));
map.put("projectConstructionManagerOfProjectTeam", fire.getProjectConstructionManagerOfProjectTeam());
map.put("projectConstructionManagerDateOfProjectTeam", DateUtil.format(fire.getProjectConstructionManagerDateOfProjectTeam(), "yyyy年MM月dd日"));
map.put("professionalEngineerOfConstructionManagementDepartment", fire.getProfessionalEngineerOfConstructionManagementDepartment());
map.put("professionalEngineerDateOfConstructionManagementDepartment", DateUtil.format(fire.getProfessionalEngineerDateOfConstructionManagementDepartment(), "yyyy年MM月dd日"));
map.put("departmentManager", fire.getDepartmentManager());
map.put("departmentManagerDate", DateUtil.format(fire.getDepartmentManagerDate(), "yyyy年MM月dd日"));
map.put("operationSupervisor", fire.getOperationSupervisor());
map.put("operationSupervisorDate", DateUtil.format(fire.getOperationSupervisorDate(), "yyyy年MM月dd日"));
map.put("safetyEngineer", fire.getSafetyEngineer());
map.put("safetyEngineerDate", DateUtil.format(fire.getSafetyEngineerDate(), "yyyy年MM月dd日"));
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("applicantName", fire.getApplicantName());
map.put("operationUnitConstructionApplicantName", fire.getOperationUnitConstructionApplicantName());
map.put("operationSupervisionName", fire.getOperationSupervisionName());
map.put("projectConstructionManagerOfConstructionContractorName", fire.getProjectConstructionManagerOfConstructionContractorName());
map.put("safetyManagerOfConstructionContractorName", fire.getSafetyManagerOfConstructionContractorName());
map.put("siteManagerProfessionalEngineerName", fire.getSiteManagerProfessionalEngineerName());
map.put("safetyManagerOfEpcContractorName", fire.getSafetyManagerOfEpcContractorName());
map.put("safetyEngineerOfSupervisionUnitName", fire.getSafetyEngineerOfSupervisionUnitName());
map.put("directorGeneralAgentName", fire.getDirectorGeneralAgentName());
map.put("professionalEngineerOfProjectTeamName", fire.getProfessionalEngineerOfProjectTeamName());
map.put("projectConstructionManagerOfProjectTeamName", fire.getProjectConstructionManagerOfProjectTeamName());
map.put("professionalEngineerOfConstructionManagementDepartmentName", fire.getProfessionalEngineerOfConstructionManagementDepartmentName());
map.put("departmentManagerName", fire.getDepartmentManagerName());
map.put("operationSupervisorName", fire.getOperationSupervisorName());
map.put("safetyEngineerName", fire.getSafetyEngineerName());
map.put("operationEquipmentName", fire.getOperationEquipmentName());
String url;
// url = "C:\\Users\\Administrator\\Desktop\\起重吊装作业模板.docx";
url = Fileutils.getExportTemplateFile("excel/work/起重吊装作业模板.docx").getAbsolutePath();
Map<Long, String> workerMap = workerInfoService.list(new LambdaQueryWrapper<WorkerInfo>()
.eq(WorkerInfo::getProjectSn, fire.getProjectSn()).last(Cts.IGNORE_DATA_SCOPE_CONDITION)).stream().collect(Collectors.toMap(WorkerInfo::getId, WorkerInfo::getWorkerName));
String num = fire.getOperatorLicenseNumber();
JSONArray numJa = JSON.parseArray(num);
if (CollUtil.isNotEmpty(numJa)) {
for (int i = 0; i < numJa.size(); i++) {
JSONObject jo = numJa.getJSONObject(i);
map.put("s" + (i + 1), workerMap.get(FlowUtil.getPullDownLong(jo, "field6438549419062")));
map.put("sc" + (i + 1), jo.getString("field8297449432862"));
}
}
JSONArray safeJa = JSON.parseArray(fire.getSafetyMeasuresList());
if (CollUtil.isNotEmpty(safeJa)) {
for (int i = 0; i <= 24; i++) {
try {
JSONObject jo = safeJa.getJSONObject(i);
map.put("c" + (i + 1), getYesOrNot(jo.getString("field4905649477307")));
map.put("d" + (i + 1), jo.getString("field9615049464860"));
} catch (Exception e) {
}
}
}
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 "";
}
}
}

View File

@ -1,14 +1,20 @@
package com.zhgd.xmgl.modules.baotou.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gexin.fastjson.JSON;
import com.gexin.fastjson.JSONArray;
import com.gexin.fastjson.JSONObject;
import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.xmgl.modules.baotou.entity.NondestructiveTestOrderTicket;
import com.zhgd.xmgl.modules.baotou.entity.PipelineWeldingRecord;
import com.zhgd.xmgl.modules.baotou.service.INondestructiveTestOrderTicketService;
import com.zhgd.xmgl.modules.baotou.service.IPipelineWeldingRecordService;
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;
@ -22,6 +28,9 @@ 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.*;
@ -226,4 +235,98 @@ public class NondestructiveTestOrderTicketController {
return Result.success(nondestructiveTestOrderTicketService.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<String, Object> map = new HashMap<>();
NondestructiveTestOrderTicket fire = nondestructiveTestOrderTicketService.queryById(id);
map.put("id", fire.getId());
map.put("num", fire.getNum());
map.put("projectName", fire.getProjectName());
map.put("deviceUnitId", fire.getDeviceUnitId());
map.put("testPieceName", fire.getTestPieceName());
map.put("pipelineInformationId", fire.getPipelineInformationId());
map.put("commissioningUnit", fire.getCommissioningUnit());
map.put("weldingMethod", fire.getWeldingMethod());
map.put("medium", fire.getMedium());
map.put("grooveForm", fire.getGrooveForm());
map.put("testingRatio", fire.getTestingRatio());
try {
String[] tm = {"RT射线检测", "PT渗透检测", "MT磁粉检测", "UT超声检测", "TOF衍射时差法超声检", "GP光谱检测", "YD硬度检测", "CH超声测厚", "TCH涂层测厚", "DHH电火花检测", "WL涡流检测", "TST铁素体检测"};
map.put("testingMethod", tm[fire.getTestingMethod() - 1]);
} catch (Exception e) {
log.error("", e);
map.put("testingMethod", "");
}
map.put("temperature", fire.getTemperature());
map.put("weldNumber", fire.getWeldNumber());
try {
String[] ql = {"一级", "二级", "三级"};
map.put("qualifiedLevel", ql[fire.getQualifiedLevel() - 1]);
} catch (Exception e) {
log.error("", e);
map.put("qualifiedLevel", "");
}
map.put("testingStandard", fire.getTestingStandard());
map.put("pressure", fire.getPressure());
map.put("testNumber", fire.getTestNumber());
map.put("testingDate", DateUtil.format(fire.getTestingDate(), "yyyy年MM月dd日"));
map.put("craterList", fire.getCraterList());
map.put("mainDescriptionAttachedPicture", fire.getMainDescriptionAttachedPicture());
map.put("testingReportAttachment", fire.getTestingReportAttachment());
map.put("constructionUnit", fire.getConstructionUnit());
map.put("qualityChargePersonSignature", fire.getQualityChargePersonSignature());
map.put("qualityChargePersonSignatureDate", DateUtil.format(fire.getQualityChargePersonSignatureDate(), "yyyy年MM月dd日"));
map.put("epcContractor", fire.getEpcContractor());
map.put("professionalEngineerSignature", fire.getProfessionalEngineerSignature());
map.put("professionalEngineerSignatureDate", DateUtil.format(fire.getProfessionalEngineerSignatureDate(), "yyyy年MM月dd日"));
map.put("supervisingUnit", fire.getSupervisingUnit());
map.put("supervisingEngineerSignature", fire.getSupervisingEngineerSignature());
map.put("supervisingEngineerSignatureDate", DateUtil.format(fire.getSupervisingEngineerSignatureDate(),"yyyy年MM月dd日"));
map.put("testingUnit", fire.getTestingUnit());
map.put("testingUnitChargePersonSignature", fire.getTestingUnitChargePersonSignature());
map.put("testingUnitChargePersonSignatureDate", DateUtil.format(fire.getTestingUnitChargePersonSignatureDate(),"yyyy年MM月dd日"));
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("commissioningUnitName", fire.getCommissioningUnitName());
map.put("constructionUnitName", fire.getConstructionUnitName());
map.put("qualityChargePersonSignatureName", fire.getQualityChargePersonSignatureName());
map.put("epcContractorName", fire.getEpcContractorName());
map.put("professionalEngineerSignatureName", fire.getProfessionalEngineerSignatureName());
map.put("supervisingUnitName", fire.getSupervisingUnitName());
map.put("supervisingEngineerSignatureName", fire.getSupervisingEngineerSignatureName());
map.put("testingUnitName", fire.getTestingUnitName());
map.put("testingUnitChargePersonSignatureName", fire.getTestingUnitChargePersonSignatureName());
map.put("pipelineNumber", fire.getPipelineNumber());
String url;
// url = "C:\\Users\\Administrator\\Desktop\\无损检测模板.docx";
url = Fileutils.getExportTemplateFile("excel/work/无损检测模板.docx").getAbsolutePath();
List<Map<String, Object>> list = new ArrayList<>();
map.put("list", list);
String detail = fire.getCraterList();
JSONArray detailJa = JSON.parseArray(detail);
if (CollUtil.isNotEmpty(detailJa)) {
for (int i = 0; i < detailJa.size(); i++) {
JSONObject jo = detailJa.getJSONObject(i);
Map<String, Object> m = new HashMap<>();
m.put("d0", i+1);
m.put("d1", FlowUtil.getPullDownString(jo, "field5496713710010"));
m.put("d2", jo.getString("field4898340503658"));
m.put("d3", jo.getString("field8195640514474"));
m.put("d4", jo.getString("field8807940520346"));
m.put("d5", jo.getString("field7676440525389"));
list.add(m);
}
}
File tempFile = File.createTempFile(IdUtil.simpleUUID(), ".docx");
EasyPoiUtil.exportWord(map, url, tempFile);
EasyPoiUtil.wordToPdfExport(response, tempFile);
}
}

View File

@ -13,7 +13,6 @@ import com.zhgd.xmgl.modules.baotou.service.IPipelineWeldingRecordService;
import com.zhgd.xmgl.util.ExcelUtils;
import com.zhgd.xmgl.util.Fileutils;
import com.zhgd.xmgl.util.FlowUtil;
import com.zhgd.xmgl.util.MapBuilder;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@ -208,7 +207,7 @@ public class PipelineWeldingRecordController {
}
//将项目清单集合添加到map中
map.put("listMap", listMap);
File out = Fileutils.getExportExcelTemplateFile("excel/焊接记录导出模版.xlsx");
File out = Fileutils.getExportTemplateFile("excel/焊接记录导出模版.xlsx");
TemplateExportParams params = new TemplateExportParams(out.getAbsolutePath(), 0);
Workbook workbook = ExcelExportUtil.exportExcel(params, map);
ExcelUtils.downLoadExcel("管道焊接记录.xlsx", response, workbook);

View File

@ -439,7 +439,7 @@ public class WorkerAdmissionController {
if (CollUtil.isNotEmpty(allList)) {
int i = 1;
for (Map<String, Object> map : allList) {
TemplateExportParams params = new TemplateExportParams(Fileutils.getExportExcelTemplateFile("excel/导出人员申请表模板.xlsx").getAbsolutePath());
TemplateExportParams params = new TemplateExportParams(Fileutils.getExportTemplateFile("excel/导出人员申请表模板.xlsx").getAbsolutePath());
Workbook workbook = ExcelExportUtil.exportExcel(params, map);
String fileName = map.get("certificateIssuingUnitName") + "-" + map.get("certificateIssuingPersonName") + "-" + DateUtil.format(DateUtil.parse(map.get("addTime").toString()), "yyyyMMddHHmmss") + "-" + i++;
fileName = Fileutils.checkFileName(fileName) + ".xlsx";

View File

@ -1,216 +1,294 @@
package com.zhgd.xmgl.modules.baotou.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 土建工程质量检测委托单
* @author pds
* @date 2024-08-27
* @date 2024-08-27
* @version V1.0
*/
@Data
@TableName("civil_engineering_quality_inspection_order")
@ApiModel(value="CivilEngineeringQualityInspectionOrder实体类",description="CivilEngineeringQualityInspectionOrder")
@ApiModel(value = "CivilEngineeringQualityInspectionOrder实体类", description = "CivilEngineeringQualityInspectionOrder")
public class CivilEngineeringQualityInspectionOrder implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value="id")
private java.lang.Long id ;
/**编号*/
@Excel(name = "编号", width = 15)
@ApiModelProperty(value="编号")
private java.lang.String num ;
/**项目*/
@Excel(name = "项目", width = 15)
@ApiModelProperty(value="项目")
private java.lang.String project ;
/**装置管理id*/
@Excel(name = "装置管理id", width = 15)
@ApiModelProperty(value="装置管理id")
private java.lang.Long deviceUnitId ;
/**检测方式1:试验窒检测;2:现场检测;*/
@Excel(name = "检测方式1:试验窒检测;2:现场检测;", width = 15)
@ApiModelProperty(value="检测方式1:试验窒检测;2:现场检测;")
private java.lang.Integer testingMethod ;
/**检测类别1:见证取样检测;2:专项检测;*/
@Excel(name = "检测类别1:见证取样检测;2:专项检测;", width = 15)
@ApiModelProperty(value="检测类别1:见证取样检测;2:专项检测;")
private java.lang.Integer testingCategory ;
/**工程使用部位*/
@Excel(name = "工程使用部位", width = 15)
@ApiModelProperty(value="工程使用部位")
private java.lang.String projectUseLocation ;
/**检测委托依据标准*/
@Excel(name = "检测委托依据标准", width = 15)
@ApiModelProperty(value="检测委托依据标准")
private java.lang.String testingCommissionBasisStandard ;
/**检测代码列表*/
@Excel(name = "检测代码列表", width = 15)
@ApiModelProperty(value="检测代码列表")
private java.lang.String testingCodeList ;
/**试件/样抽样组数*/
@Excel(name = "试件/样抽样组数", width = 15)
@ApiModelProperty(value="试件/样抽样组数")
private java.lang.String testPieceSampleSamplingGroupNumber ;
/**试件/样编号*/
@Excel(name = "试件/样编号", width = 15)
@ApiModelProperty(value="试件/样编号")
private java.lang.String testPieceSampleNumber ;
/**试件/样型号规格*/
@Excel(name = "试件/样型号规格", width = 15)
@ApiModelProperty(value="试件/样型号规格")
private java.lang.String testPieceSampleModelSpecification ;
/**试件/样代表批量*/
@Excel(name = "试件/样代表批量", width = 15)
@ApiModelProperty(value="试件/样代表批量")
private java.lang.String testPieceSampleRepresentativeBatch ;
/**产地/厂商*/
@Excel(name = "产地/厂商", width = 15)
@ApiModelProperty(value="产地/厂商")
private java.lang.String originManufacturer ;
/**产品批号/炉号*/
@Excel(name = "产品批号/炉号", width = 15)
@ApiModelProperty(value="产品批号/炉号")
private java.lang.String productBatchFurnaceNumber ;
/**焊接试件操作员*/
@Excel(name = "焊接试件操作员", width = 15)
@ApiModelProperty(value="焊接试件操作员")
private java.lang.Long weldingTestPieceOperator ;
/**焊接试件操作证号*/
@Excel(name = "焊接试件操作证号", width = 15)
@ApiModelProperty(value="焊接试件操作证号")
private java.lang.String weldingTestPieceOperationCertificateNumber ;
/**商标*/
@Excel(name = "商标", width = 15)
@ApiModelProperty(value="商标")
private java.lang.String trademark ;
/**出厂合格证编号*/
@Excel(name = "出厂合格证编号", width = 15)
@ApiModelProperty(value="出厂合格证编号")
private java.lang.String factoryCertificateNumber ;
/**检测委托方*/
@Excel(name = "检测委托方", width = 15)
@ApiModelProperty(value="检测委托方")
private java.lang.Long testingClient ;
/**检测委托人*/
@Excel(name = "检测委托人", width = 15)
@ApiModelProperty(value="检测委托人")
private java.lang.Long testingClientUser ;
/**检测委托人电话*/
@Excel(name = "检测委托人电话", width = 15)
@ApiModelProperty(value="检测委托人电话")
private java.lang.String testingClientPhoneNumber ;
/**检测委托时间*/
@Excel(name = "检测委托时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="检测委托时间")
private java.util.Date testingCommissionTime ;
/**取样/送样人*/
@Excel(name = "取样/送样人", width = 15)
@ApiModelProperty(value="取样/送样人")
private java.lang.Long samplingSampleDeliveryPerson ;
/**EPC承包商*/
@Excel(name = "EPC承包商", width = 15)
@ApiModelProperty(value="EPC承包商")
private java.lang.Long epcContractor ;
/**专业工程师*/
@Excel(name = "专业工程师", width = 15)
@ApiModelProperty(value="专业工程师")
private java.lang.Long professionalEngineer ;
/**监理见证方*/
@Excel(name = "监理见证方", width = 15)
@ApiModelProperty(value="监理见证方")
private java.lang.Long supervisingWitness ;
/**监理见证人*/
@Excel(name = "监理见证人", width = 15)
@ApiModelProperty(value="监理见证人")
private java.lang.Long supervisingWitnessUser ;
/**委托人电话*/
@Excel(name = "委托人电话", width = 15)
@ApiModelProperty(value="委托人电话")
private java.lang.String clientPhoneNumber ;
/**见证记录*/
@Excel(name = "见证记录", width = 15)
@ApiModelProperty(value="见证记录")
private java.lang.String witnessRecord ;
/**见证记录图片*/
@Excel(name = "见证记录图片", width = 15)
@ApiModelProperty(value="见证记录图片")
private java.lang.String witnessRecordPicture ;
/**检测单位*/
@Excel(name = "检测单位", width = 15)
@ApiModelProperty(value="检测单位")
private java.lang.Long testingUnit ;
/**委托接受人*/
@Excel(name = "委托接受人", width = 15)
@ApiModelProperty(value="委托接受人")
private java.lang.Long client ;
/**检测报告出具承诺时限*/
@Excel(name = "检测报告出具承诺时限", width = 15)
@ApiModelProperty(value="检测报告出具承诺时限")
private Date testingReportIssuanceCommitmentTimeLimit ;
/**需要说明事项*/
@Excel(name = "需要说明事项", width = 15)
@ApiModelProperty(value="需要说明事项")
private java.lang.String mattersExplained ;
/**所属项目SN*/
@Excel(name = "所属项目SN", width = 15)
@ApiModelProperty(value="所属项目SN")
private java.lang.String projectSn ;
/**创建时间*/
@ApiModelProperty(value="创建时间")
private java.util.Date createDate ;
/**更新时间*/
@ApiModelProperty(value="更新时间")
private java.util.Date updateDate ;
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private java.lang.Long id;
/**
* 编号
*/
@Excel(name = "编号", width = 15)
@ApiModelProperty(value = "编号")
private java.lang.String num;
/**
* 项目
*/
@Excel(name = "项目", width = 15)
@ApiModelProperty(value = "项目")
private java.lang.String project;
/**
* 装置管理id
*/
@Excel(name = "装置管理id", width = 15)
@ApiModelProperty(value = "装置管理id")
private java.lang.Long deviceUnitId;
/**
* 检测方式1:试验窒检测;2:现场检测;
*/
@Excel(name = "检测方式1:试验窒检测;2:现场检测;", width = 15)
@ApiModelProperty(value = "检测方式1:试验窒检测;2:现场检测;")
private java.lang.Integer testingMethod;
/**
* 检测类别1:见证取样检测;2:专项检测;
*/
@Excel(name = "检测类别1:见证取样检测;2:专项检测;", width = 15)
@ApiModelProperty(value = "检测类别1:见证取样检测;2:专项检测;")
private java.lang.Integer testingCategory;
/**
* 工程使用部位
*/
@Excel(name = "工程使用部位", width = 15)
@ApiModelProperty(value = "工程使用部位")
private java.lang.String projectUseLocation;
/**
* 检测委托依据标准
*/
@Excel(name = "检测委托依据标准", width = 15)
@ApiModelProperty(value = "检测委托依据标准")
private java.lang.String testingCommissionBasisStandard;
/**
* 检测代码列表
*/
@Excel(name = "检测代码列表", width = 15)
@ApiModelProperty(value = "检测代码列表")
private java.lang.String testingCodeList;
/**
* 试件/样抽样组数
*/
@Excel(name = "试件/样抽样组数", width = 15)
@ApiModelProperty(value = "试件/样抽样组数")
private java.lang.String testPieceSampleSamplingGroupNumber;
/**
* 试件/样编号
*/
@Excel(name = "试件/样编号", width = 15)
@ApiModelProperty(value = "试件/样编号")
private java.lang.String testPieceSampleNumber;
/**
* 试件/样型号规格
*/
@Excel(name = "试件/样型号规格", width = 15)
@ApiModelProperty(value = "试件/样型号规格")
private java.lang.String testPieceSampleModelSpecification;
/**
* 试件/样代表批量
*/
@Excel(name = "试件/样代表批量", width = 15)
@ApiModelProperty(value = "试件/样代表批量")
private java.lang.String testPieceSampleRepresentativeBatch;
/**
* 产地/厂商
*/
@Excel(name = "产地/厂商", width = 15)
@ApiModelProperty(value = "产地/厂商")
private java.lang.String originManufacturer;
/**
* 产品批号/炉号
*/
@Excel(name = "产品批号/炉号", width = 15)
@ApiModelProperty(value = "产品批号/炉号")
private java.lang.String productBatchFurnaceNumber;
/**
* 焊接试件操作员
*/
@Excel(name = "焊接试件操作员", width = 15)
@ApiModelProperty(value = "焊接试件操作员")
private java.lang.Long weldingTestPieceOperator;
/**
* 焊接试件操作证号
*/
@Excel(name = "焊接试件操作证号", width = 15)
@ApiModelProperty(value = "焊接试件操作证号")
private java.lang.String weldingTestPieceOperationCertificateNumber;
/**
* 商标
*/
@Excel(name = "商标", width = 15)
@ApiModelProperty(value = "商标")
private java.lang.String trademark;
/**
* 出厂合格证编号
*/
@Excel(name = "出厂合格证编号", width = 15)
@ApiModelProperty(value = "出厂合格证编号")
private java.lang.String factoryCertificateNumber;
/**
* 检测委托方
*/
@Excel(name = "检测委托方", width = 15)
@ApiModelProperty(value = "检测委托方")
private java.lang.Long testingClient;
/**
* 检测委托人
*/
@Excel(name = "检测委托人", width = 15)
@ApiModelProperty(value = "检测委托人")
private java.lang.Long testingClientUser;
/**
* 检测委托人电话
*/
@Excel(name = "检测委托人电话", width = 15)
@ApiModelProperty(value = "检测委托人电话")
private java.lang.String testingClientPhoneNumber;
/**
* 检测委托时间
*/
@Excel(name = "检测委托时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "检测委托时间")
private java.util.Date testingCommissionTime;
/**
* 取样/送样人
*/
@Excel(name = "取样/送样人", width = 15)
@ApiModelProperty(value = "取样/送样人")
private java.lang.Long samplingSampleDeliveryPerson;
/**
* EPC承包商
*/
@Excel(name = "EPC承包商", width = 15)
@ApiModelProperty(value = "EPC承包商")
private java.lang.Long epcContractor;
/**
* 专业工程师
*/
@Excel(name = "专业工程师", width = 15)
@ApiModelProperty(value = "专业工程师")
private java.lang.Long professionalEngineer;
/**
* 监理见证方
*/
@Excel(name = "监理见证方", width = 15)
@ApiModelProperty(value = "监理见证方")
private java.lang.Long supervisingWitness;
/**
* 监理见证人
*/
@Excel(name = "监理见证人", width = 15)
@ApiModelProperty(value = "监理见证人")
private java.lang.Long supervisingWitnessUser;
/**
* 委托人电话
*/
@Excel(name = "委托人电话", width = 15)
@ApiModelProperty(value = "委托人电话")
private java.lang.String clientPhoneNumber;
/**
* 见证记录
*/
@Excel(name = "见证记录", width = 15)
@ApiModelProperty(value = "见证记录")
private java.lang.String witnessRecord;
/**
* 见证记录图片
*/
@Excel(name = "见证记录图片", width = 15)
@ApiModelProperty(value = "见证记录图片")
private java.lang.String witnessRecordPicture;
/**
* 检测单位
*/
@Excel(name = "检测单位", width = 15)
@ApiModelProperty(value = "检测单位")
private java.lang.Long testingUnit;
/**
* 委托接受人
*/
@Excel(name = "委托接受人", width = 15)
@ApiModelProperty(value = "委托接受人")
private java.lang.Long client;
/**
* 检测报告出具承诺时限
*/
@Excel(name = "检测报告出具承诺时限", width = 15)
@ApiModelProperty(value = "检测报告出具承诺时限")
private Date testingReportIssuanceCommitmentTimeLimit;
/**
* 需要说明事项
*/
@Excel(name = "需要说明事项", width = 15)
@ApiModelProperty(value = "需要说明事项")
private java.lang.String mattersExplained;
/**
* 所属项目SN
*/
@Excel(name = "所属项目SN", width = 15)
@ApiModelProperty(value = "所属项目SN")
private java.lang.String projectSn;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private java.util.Date createDate;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private java.util.Date updateDate;
@TableField(exist = false)
@ApiModelProperty(value="装置单位名称")
private java.lang.String deviceUnitName ;
@TableField(exist = false)
@ApiModelProperty(value="装置单位号")
private java.lang.String deviceUnitNo ;
@TableField(exist = false)
@ApiModelProperty(value="焊接试件操作员名称")
private java.lang.String weldingTestPieceOperatorName ;
@TableField(exist = false)
@ApiModelProperty(value="检测委托方名称")
private java.lang.String testingClientName ;
@TableField(exist = false)
@ApiModelProperty(value="检测委托人名称")
private java.lang.String testingClientUserName ;
@TableField(exist = false)
@ApiModelProperty(value="取样/送样人名称")
private java.lang.String samplingSampleDeliveryPersonName ;
@TableField(exist = false)
@ApiModelProperty(value="EPC承包商名称")
private java.lang.String epcContractorName ;
@TableField(exist = false)
@ApiModelProperty(value="专业工程师名称")
private java.lang.String professionalEngineerName ;
@TableField(exist = false)
@ApiModelProperty(value="监理见证方名称")
private java.lang.String supervisingWitnessName ;
@TableField(exist = false)
@ApiModelProperty(value="监理见证人名称")
private java.lang.String supervisingWitnessUserName ;
@TableField(exist = false)
@ApiModelProperty(value="检测单位名称")
private java.lang.String testingUnitName ;
@TableField(exist = false)
@ApiModelProperty(value="委托接受人名称")
private java.lang.String clientName ;
@TableField(exist = false)
@ApiModelProperty(value = "装置单位名称")
private java.lang.String deviceUnitName;
@TableField(exist = false)
@ApiModelProperty(value = "装置单位号")
private java.lang.String deviceUnitNo;
@TableField(exist = false)
@ApiModelProperty(value = "焊接试件操作员名称")
private java.lang.String weldingTestPieceOperatorName;
@TableField(exist = false)
@ApiModelProperty(value = "检测委托方名称")
private java.lang.String testingClientName;
@TableField(exist = false)
@ApiModelProperty(value = "检测委托人名称")
private java.lang.String testingClientUserName;
@TableField(exist = false)
@ApiModelProperty(value = "取样/送样人名称")
private java.lang.String samplingSampleDeliveryPersonName;
@TableField(exist = false)
@ApiModelProperty(value = "EPC承包商名称")
private java.lang.String epcContractorName;
@TableField(exist = false)
@ApiModelProperty(value = "专业工程师名称")
private java.lang.String professionalEngineerName;
@TableField(exist = false)
@ApiModelProperty(value = "监理见证方名称")
private java.lang.String supervisingWitnessName;
@TableField(exist = false)
@ApiModelProperty(value = "监理见证人名称")
private java.lang.String supervisingWitnessUserName;
@TableField(exist = false)
@ApiModelProperty(value = "检测单位名称")
private java.lang.String testingUnitName;
@TableField(exist = false)
@ApiModelProperty(value = "委托接受人名称")
private java.lang.String clientName;
}

View File

@ -31,6 +31,8 @@ public class LiftingOperation implements Serializable {
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private java.lang.Long id;
@ApiModelProperty(value = "编号")
private java.lang.String num;
/**
* 申请单位
*/

View File

@ -13,7 +13,7 @@
ei3.enterprise_name as supervising_witness_name,
wi3.worker_name as supervising_witness_user_name,
ei4.enterprise_name as testing_unit_name,
wi4.worker_name as asclient_namey,
wi4.worker_name as client_name,
wi5.worker_name as sampling_sample_delivery_person_name
from civil_engineering_quality_inspection_order t
left join device_unit du on t.device_unit_id = du.id
@ -42,7 +42,7 @@
ei3.enterprise_name as supervising_witness_name,
wi3.worker_name as supervising_witness_user_name,
ei4.enterprise_name as testing_unit_name,
wi4.worker_name as asclient_namey,
wi4.worker_name as client_name,
wi5.worker_name as sampling_sample_delivery_person_name
from civil_engineering_quality_inspection_order t
left join device_unit du on t.device_unit_id = du.id

View File

@ -325,9 +325,9 @@ public class MainProjectCompleteDetailServiceImpl extends ServiceImpl<MainProjec
// File out = FileUtil.file("C:\\Users\\Administrator\\Desktop\\mm.xlsx");
File out;
if (levelType == 1) {
out = Fileutils.getExportExcelTemplateFile("excel/主要工程量完成情况记录月计划导出模板.xlsx");
out = Fileutils.getExportTemplateFile("excel/主要工程量完成情况记录月计划导出模板.xlsx");
} else {
out = Fileutils.getExportExcelTemplateFile("excel/主要工程量完成情况记录周计划导出模板.xlsx");
out = Fileutils.getExportTemplateFile("excel/主要工程量完成情况记录周计划导出模板.xlsx");
}
TemplateExportParams params = new TemplateExportParams(out.getAbsolutePath());
Workbook workbook = ExcelExportUtil.exportExcelClone(realMap, params);
@ -642,7 +642,7 @@ public class MainProjectCompleteDetailServiceImpl extends ServiceImpl<MainProjec
HashMap<String, Object> totalMap = this.getOverviewTotalMap(sheetList, overviewYears, colList, treeNames);
sheetList.add(0, totalMap);
// File out = FileUtil.file("C:\\Users\\GUO\\Desktop\\mm.xlsx");
File out = Fileutils.getExportExcelTemplateFile("excel/主要工程量完成情况计划总览导出模板.xlsx");
File out = Fileutils.getExportTemplateFile("excel/主要工程量完成情况计划总览导出模板.xlsx");
TemplateExportParams params = new TemplateExportParams(out.getAbsolutePath());
params.setColForEach(true);
Workbook workbook = ExcelExportUtil.exportExcelClone(realMap, params);

View File

@ -10,7 +10,6 @@ import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.modules.baotou.entity.ConstructionPlanLedgerSet;
import com.zhgd.xmgl.modules.exam.entity.ExamAnswerQuestion;
import com.zhgd.xmgl.modules.exam.entity.ExamTrainRecord;
import com.zhgd.xmgl.modules.exam.service.IExamTrainRecordService;
@ -19,7 +18,6 @@ import com.zhgd.xmgl.modules.exam.vo.SpecialWorkerVo;
import com.zhgd.xmgl.util.ExcelUtils;
import com.zhgd.xmgl.util.Fileutils;
import com.zhgd.xmgl.util.PageUtil;
import com.zhgd.xmgl.util.ReflectUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@ -325,7 +323,7 @@ public class ExamTrainRecordController {
}
//将项目清单集合添加到map中
map.put("listMap", listMap);
File out = Fileutils.getExportExcelTemplateFile("excel/一级安全教育培训台账模版.xlsx");
File out = Fileutils.getExportTemplateFile("excel/一级安全教育培训台账模版.xlsx");
TemplateExportParams params = new TemplateExportParams(out.getAbsolutePath(), 0);
Workbook workbook = ExcelExportUtil.exportExcel(params, map);
ExcelUtils.downLoadExcel("安全教育培训台账.xlsx", response, workbook);
@ -351,7 +349,7 @@ public class ExamTrainRecordController {
}
}
map.put("listMap", listMap);
File out = Fileutils.getExportExcelTemplateFile("excel/特种作业人员登记台账模版.xlsx");
File out = Fileutils.getExportTemplateFile("excel/特种作业人员登记台账模版.xlsx");
TemplateExportParams params = new TemplateExportParams(out.getAbsolutePath());
Workbook workbook = ExcelExportUtil.exportExcel(params, map);
ExcelUtils.downLoadExcel("特种作业人员登记台账.xlsx", response, workbook);

View File

@ -85,6 +85,7 @@ public class QualityInspectionRecordServiceImpl extends ServiceImpl<QualityInspe
WorkerInfoMapper workerInfoMapper;
@Autowired
XzDeductScoreRecordMapper xzDeductScoreRecordMapper;
@Lazy
@Autowired
WorkerInfoServiceImpl workerInfoService;
@Lazy

View File

@ -0,0 +1,75 @@
package com.zhgd.xmgl.util;
import cn.afterturn.easypoi.word.WordExportUtil;
import com.documents4j.api.DocumentType;
import com.documents4j.api.IConverter;
import com.documents4j.job.LocalConverter;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.Map;
public class EasyPoiUtil {
/**
* 根据模板导出word
*
* @param map 数据
* @param url 模板地址
* @param tempFile 临时模板文件
*/
public static void exportWord(Map<String, Object> map, String url, File tempFile) {
try {
XWPFDocument doc = WordExportUtil.exportWord07(url, map);
FileOutputStream fos = new FileOutputStream(tempFile);
doc.write(fos);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* word转pdf导出
*
* @param response
* @param tempFile word文档文件
*/
public static void wordToPdfExport(HttpServletResponse response, File tempFile) {
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=name.pdf");
try (InputStream docxInputStream = new FileInputStream(tempFile);
OutputStream pdfOutputStream = response.getOutputStream()
// OutputStream pdfOutputStream = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\管道焊接记录.pdf")
) {
IConverter converter = LocalConverter.builder().build();
converter
.convert(docxInputStream)
.as(DocumentType.DOCX)
.to(pdfOutputStream)
.as(DocumentType.PDF)
.execute();
// 通常不需要在这里调用 flush()因为 execute()方法可能已经完成了它但如果遇到特定问题可以尝试调用它
// pdfOutputStream.flush();
} catch (Exception e) {
// 设置适当的 HTTP 状态码和错误消息
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
// 可以在这里记录错误或向客户端发送错误消息但注意响应流可能已关闭
e.printStackTrace();
} finally {
// 清理临时文件
if (!tempFile.delete()) {
tempFile.deleteOnExit();
}
}
}
public static void main(String[] args) {
// EasyPoiUtil.wordToPdfExport(null, new File("C:\\Users\\Administrator\\Desktop\\中科佳成优化.docx"));
}
}

View File

@ -71,13 +71,13 @@ public class Fileutils {
}
/**
* 获取导出的excel的模板
* 获取导出的模板
*
* @param classPath
* @return
* @throws IOException
*/
public static File getExportExcelTemplateFile(String classPath) throws IOException {
public static File getExportTemplateFile(String classPath) throws IOException {
InputStream fis = null;
File out = null;
try {

View File

@ -128,6 +128,10 @@ public class FlowUtil {
return Optional.ofNullable(map.get(key)).map(o -> "".equals(o) ? null : Convert.toInt(((List) o).get(0))).orElse(null);
}
public static String getPullDownString(Map<String, Object> map, String key) {
return Optional.ofNullable(map.get(key)).map(o -> "".equals(o) ? null : Convert.toStr(((List) o).get(0))).orElse(null);
}
public static String getLongitude(Map map, String key) {
return Optional.ofNullable(map.get(key)).map(o -> "".equals(o) ? null : JSON.parseObject(o.toString()).getString("lng")).orElse(null);
}

View File

@ -0,0 +1,193 @@
一级动火作业许可证
建设项目: 编号:{{number}}
动火单位
{{hotFireUnitName}}
动火内容
{{hotFireContent}}
动火区域/地点
{{hotFireArea}}
申请作业时间
{{applicationStartTime}}
至 {{applicationEndTime}}
动火危害识别
安 全 控 制 措 施
措施落实情况
确认
落实人
动火环境
1动火过程由于未进行处理或处理不当现场环境发生着火、爆燃造成人员伤害及物质损失。
2存在有毒有害介质造成人员急、慢性中毒。
{{a1}}
{{b1}}
{{c1}}
{{a2}}
{{b2}}
{{c2}}
{{a3}}
{{b3}}
{{c3}}
{{a4}}
{{b4}}
{{c4}}
{{a5}}
{{b5}}
{{c5}}
{{a6}}
{{b6}}
{{c6}}
{{a7}}
{{b7}}
{{c7}}
设备内部处理
由于处理不当、不合格,在动火过程发生着火、爆燃、爆炸,造成人员巨大伤害及物质重大损失。
{{a8}}
{{b9}}
{{c8}}
{{a9}}
{{b10}}
{{c9}}
{{a10}}
{{b11}}
{{c10}}
{{a11}}
{{b12}}
{{c11}}
{{a12}}
{{b13}}
{{c12}}
{{a13}}
{{b14}}
{{3}}
动火作业单位
1由于安全控制措施落实不到位在动火过程发生着火、爆燃、爆炸造成人员巨大伤害及物质重大损失。
2由于违反焊工安全通则等其它安全规定发生器具损毁造成人员伤害及物质损失
{{a14}}
{{b15}}
{{c14}}
{{a15}}
{{b16}}
{{c15}}
{{a16}}
{{b17}}
{{c16}}
{{a17}}
{{b18}}
{{c17}}
{{a18}}
{{b19}}
{{c18}}
{{a19}}
{{b20}}
{{c19}}
{{a20}}
{{b21}}
{{c20}}
申请、监护、确认、审批、备案
责 任 内 容
签 名
签 名
申请人
1已经进行了危害识别2落实了相关安全控制措施3安排了检测分析4.作业人已交底。
{{applicant1Name}}
{{applicant2Name}}
确认人
1已经进行了危害识别落实了相关安全控制措施2.作业人已交底。
{{confirmer1Name}}
{{confirmer2Name}}
监护人
已明确了职责,确认安全控制措施全部落实。
{{guardian1Name}}
{{guardian2Name}}
动火作业人
姓 名
特种作业资质证件号
姓 名
特种作业资质证件号
{{hotFireOperator1Name}}
{{specialQualificationCertificateNumber1}}
{{hotFireOperator2Name}}
{{specialQualificationCertificateNumber2}}
检测分析
时间
{{testingAndAnalysisTime}}
地 点
{{testingAndAnalysisLocation}}
数据
{{testingAndAnalysisData}}
结论
{{testingAndAnalysisConclusion}}
分析人
{{testingAndAnalysisPerson}}
检测分析单附后
审核人
我已到现场检查,各项安全措施均已落实。
EPC现场经理 {{epcSiteManagerReviewerName}}
监理总监: {{supervisingDirectorReviewerName}}
项目组: {{projectTeamReviewerName}}
安质环部:{{safetyQualityEnvironmentDepartmentReviewerName}}
批准人
我已经到现场检查,各项安全控制措施均已落实。同意动火。
项目分管安全副主任:
{{projectDirectorSafetyApproverName}}
{{dateTime}}
动火结束检查
我已在动火结束后,检查了周围环境,现场已清理干净,没有留有余火。
动火人
{{hotFireEndInspectionPersonName}} {{hotFirePersonSignatureDateTime}}
监护人
{{hotFireEndInspectionGuardianName}} {{guardianSignatureDateTime}}
本证一式四份监护、作业、审批、备案人各一份。本作业许可自批准起8小时内在本区动火有效离开本区动火本许可自动作废。"措施落实情况""落实人"为承包商技术负责人,"确认人"为监理和项目组专业工程师,"申请人"为承包商项目经理。

View File

@ -0,0 +1,132 @@
三级动火作业许可证
建设项目: 编号:{{number}}
动火单位
{{hotFireUnitName}}
动火内容
{{hotFireContent}}
动火区域/地点
{{hotFireArea}}
申请作业时间
{{applicationStartTime}}
至 {{applicationEndTime}}
动火危害识别
安 全 控 制 措 施
措施落实情况
落实人
确认
动火环境
与动火作业单位
1动火过程由于未进行处理或处理不当现场环境发生着火、爆燃造成人员伤害及物质损失。
2由于违反焊工安全通则等其它安全规定发生器具损毁造成人员伤害及物质损失
{{a1}}
{{b1}}
{{c1}}
{{a2}}
{{b2}}
{{c2}}
{{a3}}
{{b3}}
{{c3}}
{{a4}}
{{b4}}
{{c4}}
{{a5}}
{{b5}}
{{c5}}
{{a6}}
{{b6}}
{{c6}}
{{a7}}
{{b7}}
{{c7}}
{{a8}}
{{b8}}
{{c8}}
申请、监护、确认、审批、备案
责 任 内 容
签名
签 名
申请人
1.已经进行了危害识别2落实了安全控制措施3.作业人已交底。
{{applicant1Name}}
{{applicant2Name}}
监护人
已明确了职责,确认安全控制措施已经全部落实。
{{guardian1Name}}
{{guardian2Name}}
确认人
1.已经进行了危害识别落实了相关安全控制措施2.作业人已交底。
{{confirmer1Name}}
{{confirmer2Name}}
动火作业人
姓名
特种作业资质证件
姓名
特种作业资质证件
{{hotFireOperator1Name}}
{{specialQualificationCertificateNumber1}}
{{hotFireOperator2Name}}
{{specialQualificationCertificateNumber2}}
检测分析
时间
{{testingAndAnalysisTime}}
地 点
{{testingAndAnalysisLocation}}
数据
{{testingAndAnalysisData}}
结论
{{testingAndAnalysisConclusion}}
分析人
{{testingAndAnalysisPerson}}
检测分析单附后
审核人
我已到现场检查,各项安全措施均已落实。
承包商施工经理
{{contractorConstructionManagerReviewerName}}
EPC安全经理
{{epcSafetyManagerName}}
监理安全工程师
{{supervisingSafetyEngineerReviewerName}}
批准人
我已到现场检查,各项安全措施均已落实。同意动火作业。
项目组施工经理
{{projectTeamConstructionManagerApproverName}}
动火结束检查
我已在动火结束后,检查了周围环境,现场已清理干净,没有留有余火。
动火人
{{hotFireEndInspectionPersonName}} {{hotFirePersonSignatureDateTime}}
监护人
{{hotFireEndInspectionGuardianName}} {{guardianSignatureDateTime}}
本证一式三份监护、作业、审批人各一份。本作业许可自批准起72小时内在本区动火有效离开本区动火本许可自动作废。"措施落实情况""落实人"为承包商专业工程师,"确认人"为监理工程师,"申请人"为承包商施工经理/项目经理。

View File

@ -0,0 +1,191 @@
二级动火作业许可证
建设项目: 编号:{{number}}
动火单位
{{hotFireUnitName}}
动火内容
{{hotFireContent}}
动火区域/地点
{{hotFireArea}}
申请作业时间
{{applicationStartTime}}
至 {{applicationEndTime}}
动火危害识别
安 全 控 制 措 施
措施落实情况
确认
落实人
动火环境
1动火过程由于未进行处理或处理不当现场环境发生着火、爆燃造成人员伤害及物质损失。
2存在有毒有害介质造成人员急、慢性中毒。
{{a1}}
{{b1}}
{{c1}}
{{a2}}
{{b2}}
{{c2}}
{{a3}}
{{b3}}
{{c3}}
{{a4}}
{{b4}}
{{c4}}
{{a5}}
{{b5}}
{{c5}}
{{a6}}
{{b6}}
{{c6}}
{{a7}}
{{b7}}
{{c7}}
设备内部处理
由于处理不当、不合格,在动火过程发生着火、爆燃、爆炸,造成人员巨大伤害及物质重大损失。
{{a8}}
{{b8}}
{{c8}}
{{a9}}
{{b9}}
{{c9}}
{{a10}}
{{b10}}
{{c10}}
{{a11}}
{{b11}}
{{c11}}
{{a12}}
{{b12}}
{{c12}}
{{a13}}
{{b13}}
{{c13}}
动火作业单位
1由于安全控制措施落实不到位在动火过程发生着火、爆燃、爆炸造成人员巨大伤害及物质重大损失。
2由于违反焊工安全通则等其它安全规定发生器具损毁造成人员伤害及物质损失。
{{a14}}
{{b14}}
{{c14}}
{{a15}}
{{b15}}
{{c15}}
{{a16}}
{{b16}}
{{c16}}
{{a17}}
{{b17}}
{{c17}}
{{a18}}
{{b18}}
{{c18}}
{{a19}}
{{b19}}
{{c19}}
申请、监护、确认、审批、备案
责 任 内 容
签 名
签名
申请人
1已经进行了危害识别2落实了相关安全控制措施3安排了检测分析4.作业人已交底。
{{applicant1Name}}
{{applicant2Name}}
确认人
1已经进行了危害识别落实了相关安全控制措施2.作业人已交底。
{{confirmer1Name}}
{{confirmer2Name}}
监护人
我已明确了职责,确认安全控制措施全部落实。
{{guardian1Name}}
{{guardian2Name}}
动火作业人
姓 名
特种作业资质证件
姓 名
特种作业资质证件
{{hotFireOperator1Name}}
{{specialQualificationCertificateNumber1}}
{{hotFireOperator2Name}}
{{specialQualificationCertificateNumber2}}
检测
分析
时间
{{testingAndAnalysisTime}}
地 点
{{testingAndAnalysisLocation}}
数据
{{testingAndAnalysisData}}
结论
{{testingAndAnalysisConclusion}}
分析人
{{testingAndAnalysisPerson}}
检测分析单附后
审核人
我已到现场检查,各项安全措施均已落实。
EPC安全经理
{{epcSafetyManagerName}}
监理总代
{{supervisorGeneralAgentName}}
项目组施工经理
{{projectConstructionManagerName}}
批准人
我已到现场检查,各项安全措施均已落实,同意动火。
安质环部安全经理
{{safetyQualityEnvironmentDepartmentManagerName}}
动火结束检查
我已在动火结束后,检查了周围环境,现场已清理干净,没有留有余火。
动火人
{{hotFireEndInspectionPersonName}} {{hotFirePersonSignatureDateTime}}
监护人
{{hotFireEndInspectionGuardianName}} {{guardianSignatureDateTime}}
本证一式三份监护、作业、审批人各一份。本作业许可自批准起72小时内在本区动火有效离开本区动火本许可自动作废。"措施落实情况""落实人"为承包商技术负责人,"确认人"项目组和监理专业工程师,"申请人"为承包商项目经理/施工经理。

View File

@ -0,0 +1,194 @@
受限(类受限)空间作业许可证
编号:{{num}}
建设项目
{{constructionProject}}
项目组
{{projectGroupName}}
作业申请单位
{{jobApplicationUnitName}}
装置/单元
{{deviceUnitName}}
设施地点名称
{{facilityLocationName}}
原有介质
{{originalMedium}}
作 业 内 容
{{jobContent}}
作 业 人 员
{{operatorName}}
作 业 时 间
{{jobStartTime}}至{{jobEndTime}}
作业危害识别
安全控制措施
(措施落实情况落实人必须签字,确认检查合格的打√)
措施落实情况
落实人
确认
补充措施
作业申请单位及作业单位
作业前,安全处理措施不落实或不到位,可造成人员中毒窒息事故。
{{a1}}
{{b1}}
{{c1}}
{{d1}}
{{a2}}
{{b2}}
{{c2}}
{{d2}}
{{a3}}
{{b3}}
{{c3}}
{{d3}}
作业过程中,安全措施不落实,监护不到位,可能造成人员中毒窒息、高坠伤害,同时可能发生爆燃事故。
{{a4}}
{{b4}}
{{c4}}
{{d4}}
{{a5}}
{{b5}}
{{c5}}
{{d5}}
{{a6}}
{{b6}}
{{c6}}
{{d6}}
{{a7}}
{{b7}}
{{c7}}
{{d7}}
{{a8}}
{{b8}}
{{c8}}
{{d8}}
作业人员个人防护不到位,应急器材准备不足,无法及时施救,造成事故的扩大。
{{a9}}
{{b9}}
{{c9}}
{{d9}}
{{a10}}
{{b10}}
{{c10}}
{{d10}}
{{a11}}
{{b11}}
{{c11}}
{{d11}}
其他补充措施:
申请人
已组织危害识别并与作业单位共同进行了技术交底。
签字
{{applicantSignatureName}}
监护人
已落实职责及现场安全措施。
签字
承包商:{{contractorSignatureName}}
{{applicantSignatureTime}}
监理:{{supervisorSignatureName}}
检测
分析
氧含量
{{detectionAndAnalysisOxygenContent}}
时间
{{detectionAndAnalysisTime}}
将检测分析单贴于本许可证背面
结论
{{conclusion}}
可燃气
{{detectionAndAnalysisCombustibleGas}}
地点
{{detectionAndAnalysisLocation}}
有毒
{{detectionAndAnalysisToxicity}}
签字
{{detectionAndAnalysisSignatureName}}
粉尘
{{detectionAndAnalysisDust}}
作业申请单位
现场措施已到位,作业人、监护人到位
{{operationApplicationUnitConfirmation}}
作业负责人;{{operationSupervisorName}}
时间
{{operationSupervisorTime}}
EPC承包商
已到作业现场进行检查,安全措施到位,监护人到位,并进行作业全过程安全监督
{{epcContractorConfirmation}}
{{epcContractor1Name}}
{{epcContractor2Name}}
时间
{{epcContractorTime}}
监理单位
{{supervisorConfirmation}}
{{supervisor1Name}}
{{supervisor2Name}}
时间
{{supervisorTime}}
项目组
已到现场落实各项安全措施,监护人到位,定期到作业现场进行检查确认
{{projectTeamConfirmation}}
{{projectTeam1Name}}
{{projectTeam2Name}}
时间
{{projectTeamTime}}
安质环部
现场各项安全措施已落实,监护人已到位,现场进行巡检
{{safetyQualityEnvironmentalProtectionDepartmentConfirmation}}
{{safetyQualityEnvironmentalProtectionDepartmentName}}
{{safetyQualityEnvironmentalProtectionDepartmentTime}}
作业结束检查
作业结束,作业人员、工具及材料已全部检查,空间内已清理干净。
作业人签字
监护人签字
{{operatorSignatureName}}
{{guardianSignatureName}}
时间
{{signatureTime}}
说明1、如果作业条件、工作范围等发生异常变化必须立即停止作业本许可证作废。本许可证保存期为一年。
2、一式两联一联作业负责人二联监护人作业结束签字一联承包商保存二联项目组保存其他存复印件。3、落实人为承包商专业技术人员申请人为承包商作业负责人。

View File

@ -0,0 +1,82 @@
土建工程质量检测委托单
编号:{{num}}
项目:{{project}}
装置/单元:{{deviceUnitName}}
装置/单元号:{{deviceUnitNo}}
检测方式:{{testingMethod}}
检测类别:{{testingCategory}}
工程使用部位:
{{projectUseLocation}}
检测委托依据标准:{{testingCommissionBasisStandard}}
委 托 检 测 内 容
分项代码
分项名称
试件/样抽样组数:{{testPieceSampleSamplingGroupNumber}}
{{a1}}
{{b1}}
试件/样编号:{{testPieceSampleNumber}}
{{a2}}
{{b2}}
试件/样型号规格:{{testPieceSampleModelSpecification}}
{{a3}}
{{b3}}
试件/样代表批量:{{testPieceSampleRepresentativeBatch}}
{{a4}}
{{b4}}
产地/厂商:{{originManufacturer}}
{{a5}}
{{b5}}
产品批号/炉号:{{productBatchFurnaceNumber}}
{{a6}}
{{b6}}
焊接试件操作证号(焊工姓名和证号):{{weldingTestPieceOperatorName}} {{weldingTestPieceOperationCertificateNumber}}
{{a7}}
{{b7}}
商 标:{{trademark}}
{{a8}}
{{b8}}
出厂合格证编号:{{factoryCertificateNumber}}
{{a9}}
{{b9}}
检测委托方
{{testingClientName}}
{{a10}}
{{b10}}
检测委托人
{{testingClientUserName}}
{{a11}}
{{b11}}
检测委托时间
{{testingCommissionTime}}
{{a12}}
{{b12}}
取样/送样人
{{samplingSampleDeliveryPersonName}}
{{a13}}
{{b13}}
监理见证方
{{supervisingWitnessName}}
{{a14}}
{{b14}}
监理见证人
{{supervisingWitnessUserName}}
{{a15}}
{{b15}}
委托方电话
{{testingClientPhoneNumber}}
检测单位
委托接受人
电 话
检测报告出具承诺时限
{{testingUnitName}}
{{clientName}}
{{clientPhoneNumber}}
{{testingReportIssuanceCommitmentTimeLimit}}
需要说明事项:
{{mattersExplained}}
注:选择项采用符号""表示。

View File

@ -0,0 +1,70 @@
无损检测委托单
编号:{{num}}
项目名称
{{projectName}}
装置/单元
{{deviceUnitName}}
装置号
{{deviceUnitNo}}
检件名称
{{testPieceName}}
管线号
{{pipelineNumber}}
委托单位
{{commissioningUnitName}}
焊接方法
{{weldingMethod}}
介质
{{medium}}
坡口形式
{{grooveForm}}
检测比例
{{testingRatio}}
检测方法
{{testingMethod}}
温度
{{temperature}}
焊口数量
{{weldNumber}}
合格级别
{{qualifiedLevel}}
检测标准
{{testingStandard}}
压力
{{pressure}}
检测数量
{{testNumber}}
检测日期
{{testingDate}}
序号
焊口号
规 格
材 质
焊工号
备注
{{$fe: list t.d0 }}
t.d1
t.d2
t.d3
t.d4
t.d5}}
{{mainDescriptionAttachedPicture}}
施工单位:{{constructionUnitName}}
质量负责人签字:{{qualityChargePersonSignatureName}} {{qualityChargePersonSignatureDate}}
EPC承包商{{epcContractorName}}
专业工程师签字:{{professionalEngineerSignatureName}} {{professionalEngineerSignatureDate}}
监理单位:{{supervisingUnitName}}
监理工程师签字:{{supervisingEngineerSignatureName}} {{supervisingEngineerSignatureDate}}
检测单位:{{testingUnitName}}
负责人签字:{{testingUnitChargePersonSignatureName}} {{testingUnitChargePersonSignatureDate}}

View File

@ -0,0 +1,81 @@
普通动火作业许可证
建设项目: 编号:{{number}}
动火单位
{{hotFireUnitName}}
动火区域/地点
{{hotFireArea}}
施工内容
{{constructionContent}}
动火方式
{{hotStartMethod}}
施工负责人及电话
{{constructionManagerName}} {{constructionManagerPhoneNumber}}
施工监火人及电话
{{constructionFireMonitorName}} {{constructionFireMonitorPhoneNumber}}
动火人员
{{hotStartPersonnelName}}
特种作业人员证号
{{s1}}
{{sc1}}
{{s2}}
{{sc2}}
{{s3}}
{{sc3}}
{{s4}}
{{sc4}}
动火时间
{{hotStartTime}}至{{hotEndTime}}
分析时间
{{analysisTime}}
采样地点
{{samplingLocation}}
分 析 人
{{analyst}}
分析数据
{{analysisData}}
安 全 防 护 措 施
作业人检查确认签字
施工经理检查确认签字
{{a1}}
{{b1}}
{{c1}}
{{a2}}
{{b2}}
{{c2}}
{{a3}}
{{b3}}
{{c3}}
{{a4}}
{{b4}}
{{c4}}
{{a5}}
{{b5}}
{{c5}}
{{a6}}
{{b6}}
{{c6}}
{{a7}}
{{b7}}
{{c7}}
{{a8}}
{{b8}}
{{c8}}
补充措施
承包商施工负责人申请
承包商安全经理审核
承包商项目经理审批
{{contractorConstructionManagerApplicationName}} {{contractorConstructionManagerApplicationTime}}
{{contractorSafetyManagerReviewName}} {{contractorSafetyManagerReviewTime}}
{{contractorProjectManagerApprovalName}} {{contractorProjectManagerApprovalTime}}
完工验收
作业监火人:{{operationFireMonitorName}}
完工时间: {{completionTime}}
本证一式三份监护、作业、审批人各一份动火时间不允许超过1个月条件变化自动作废。

View File

@ -0,0 +1,112 @@
起重吊装作业许可证
编号:{{num}}
申请单位
{{applicantName}}
作业装置
{{operationEquipmentName}}
作业地点
{{operationLocation}}
作业内容
{{operationContent}}
作业时间
{{operationStartTime}}至{{operationEndTime}}
吊车类型/车牌号
{{craneTypeLicensePlateNumber}}
负荷描述
{{loadDescription}}
级别
{{level}}
作业人员及证号
{{s1}}
{{sc1}}
{{s2}}
{{sc2}}
{{s3}}
{{sc3}}
{{s4}}
{{sc4}}
安全措施(对已有措施在□内打对勾"☑",对没有措施或影响在□内打叉"☒"
{{c1}} {{d1}}
{{c2}} {{d2}}
{{c3}} {{d3}}
{{c4}} {{d4}}
{{c5}} {{d5}}
{{c6}} {{d6}}
{{c7}} {{d7}}
{{c8}} {{d8}}
{{c9}} {{d9}}
{{c10}} {{d10}}
{{c11}} {{d11}}
{{c12}} {{d12}}
{{c13}} {{d13}}
{{c14}} {{d14}}
{{c15}} {{d15}}
{{c16}} {{d16}}
{{c17}} {{d17}}
{{c18}} {{d18}}
{{c19}} {{d19}}
{{c20}} {{d20}}
{{c21}} {{d21}}
{{c22}} {{d22}}
{{c23}} {{d23}}
{{c24}} {{d24}}
我保证我及我下属,已阅读理解并遵照执行安全方案和本作业许可,并在作业过程中负责落实各项安全措施和应急预案。 作业单位施工申请人: {{operationUnitConstructionApplicantName}} {{operationUnitConstructionApplicantDate}}
本人已阅读本作业许可并确认所有作业条件都已满足吊装作业要求,并承诺只要吊装作业不结束一定坚守在作业现场,直至作业结束。 作 业 监 护:{{operationSupervisionName}} {{operationSupervisionDate}}
作业许可审批
施工承包商(申请办理作业许可)
EPC承包商 (审核承包商作业许可)
监理单位(审批三级级吊装许可)
项目经理/施工经理
{{projectConstructionManagerOfConstructionContractorName}}
时间
{{projectConstructionManagerTime}}
现场经理/专业工程师
{{siteManagerProfessionalEngineerName}}
时间
{{siteManagerProfessionalEngineerTime}}
安全工程师
{{safetyEngineerOfSupervisionUnitName}}
时间
{{safetyEngineerTimeOfSupervisionUnit}}
安全经理
{{safetyManagerOfConstructionContractorName}}
时间
{{safetyManagerTimeOfConstructionContractor}}
安全经理
{{safetyManagerOfEpcContractorName}}
时间
{{safetyManagerTimeOfEpcContractor}}
总监/总代
{{directorGeneralAgentName}}
时间
{{directorGeneralAgentTime}}
项目组(审批二级吊装作业许可)
施工管理部(审批一级吊装许可)
专业工程师
{{professionalEngineerOfProjectTeamName}}
日期
{{professionalEngineerDateOfProjectTeam}}
专业工程师
{{professionalEngineerOfConstructionManagementDepartmentName}}
日期
{{professionalEngineerDateOfConstructionManagementDepartment}}
项目经理/施工经理
{{projectConstructionManagerOfProjectTeamName}}
日期
{{projectConstructionManagerDateOfProjectTeam}}
部门经理
{{departmentManagerName}}
日期
{{departmentManagerDate}}
作业单位负责作业许可证关闭,关闭后要进行备案
作业负责人
{{operationSupervisorName}}
日期
{{operationSupervisorDate}}
安全工程师
{{safetyEngineerName}}
日期
{{safetyEngineerDate}}
说明1.三级由监理安全工程师审批二级由项目组审批一级由施工部审批一级吊装作业许可申请办理由承包商项目经理签字EPC承包商由现场经理签字监理由总监签字项目组由施工经理/项目经理签字。2.本证一式三份承包商作业人、监护人、监理3.作业关闭后,作业单位必须复印本许可证向签发单位备案。

View File

@ -0,0 +1,140 @@
高处作业许可证
申请单位
{{applicantName}}
施工地点
{{constructionLocation}}
作业内容
{{workContent}}
作业高度
{{workHeight}}
作业类别
{{workCategory}}
作业人员
{{workerName}}
作业时间
{{workerTimeBegin}}至{{workerTimeEnd}}
作业申请周期
一、二级作业不超过7天三级不超过5天特级、特殊不超过3天
作业危害
识别
安全控制措施有√无x
措施落实情况
确认()
落实人签名
作业前安全措施不落实或不到位,可造成人员坠落事故
{{a1}}
{{b1}}
{{c1}}
{{a2}}
{{b2}}
{{c2}}
{{a3}}
{{b3}}
{{c3}}
{{a4}}
{{b4}}
{{c4}}
{{a5}}
{{b5}}
{{c5}}
{{a6}}
{{b6}}
{{c6}}
作业过程中,安全措施不落实,监护不到位,可造成人员坠落、中毒窒息、爆燃事故
{{a7}}
{{b7}}
{{c7}}
{{a8}}
{{b8}}
{{c8}}
{{a9}}
{{b9}}
{{c9}}
{{a10}}
{{b10}}
{{c10}}
{{a11}}
{{b11}}
{{c11}}
{{a12}}
{{b12}}
{{c12}}
个人防护不到位,应急器材不足,施救部及时,造成事故扩大
{{a13}}
{{b13}}
{{c13}}
{{a14}}
{{b14}}
{{c14}}
{{a15}}
{{b15}}
{{c15}}
{{a16}}
{{b16}}
{{c16}}
{{a17}}
{{b17}}
{{c17}}
补充措施
{{supplementaryMeasure}}
申请人(班组长)
已组织危害识别并与作业单位/班组进行了安全技术交底
签字 {{applicantTeamLeaderName}}
监护人
已落实职责及现场安全措施
签字(承包商){{guardianContractorName}}
时间 {{applicantTeamLeaderTime}}
签字(监理)
措施确认
已到作业现场检查,措施到位,监护人到位监护,并进行作业全过程安全监督
施工承包商
EPC承包商
监理单位
项目组
施工负责人
{{constructionContractorManagerName}}
施工负责人
{{epcContractorManagerName}}
监理负责人
{{supervisionUnitManagerName}}
施工负责人
{{projectTeamName}}
时间
{{constructionContractorManagerTime}}
时间
{{epcContractorManagerTime}}
时间
{{supervisionUnitManagerTime}}
时间
{{projectTeamTime}}
安质环部
特级及特殊高处作业前,已编制安全方案并审批,已落实现场安全措施
{{safetyDepartmentManagerName}}
时间 {{safetyDepartmentManagerTime}}
监护人
作业结束,作业地点已检查,无安全隐患。
{{guardianName}}
时间 {{guardianTime}}
说明1.一、二级由监理签发三级项目组签发特级、特殊安质环部签发2.若作业条件、工作范围有变须立即停止作业本证作废3.本证一式三份承包商作业人员、承包商监护人、监理单位4.许可证申请人:班组长;措施确认人:专业工程师/技术员;施工承包商负责人:施工经理/安全经理/项目经理EPC负责人现场经理/安全经理;监理负责人:监理工程师、安全工程师;项目组负责人:施工经理/专业工程师、安全经理。(特级和特殊高处作业申请时,承包商必须由项目经理签字,监理由总监签字,项目组由项目经理签字)。