From 37539074a4218146a054e73d05801810e065a061 Mon Sep 17 00:00:00 2001
From: pengjie <17373303529@163.com>
Date: Fri, 21 Mar 2025 11:21:39 +0800
Subject: [PATCH] =?UTF-8?q?dify=E8=B5=84=E6=96=99=E4=BB=A5=E5=8F=8A?=
=?UTF-8?q?=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 22 +-
.../controller/ModelDownloadController.java | 1027 +++++++++++++++++
.../controller/ModuleTalkController.java | 169 +++
.../controller/CarPassRecordController.java | 11 -
...AnalyseHardWareAlarmRecordServiceImpl.java | 20 +-
.../zhgd/xmgl/security/WebSecurityConfig.java | 1 +
src/main/resources/word/AI预警.docx | Bin 0 -> 15564 bytes
src/main/resources/word/分包单位信息.docx | Bin 0 -> 17983 bytes
src/main/resources/word/劳务.docx | Bin 0 -> 29623 bytes
src/main/resources/word/安全.docx | Bin 0 -> 25300 bytes
src/main/resources/word/环境监测数据.docx | Bin 0 -> 17833 bytes
src/main/resources/word/质量.docx | Bin 0 -> 21015 bytes
src/main/resources/word/进度管理.docx | Bin 0 -> 14363 bytes
src/main/resources/word/项目基本信息.docx | Bin 0 -> 13650 bytes
14 files changed, 1221 insertions(+), 29 deletions(-)
create mode 100644 src/main/java/com/zhgd/xmgl/modules/basicdata/controller/ModelDownloadController.java
create mode 100644 src/main/java/com/zhgd/xmgl/modules/basicdata/controller/ModuleTalkController.java
create mode 100644 src/main/resources/word/AI预警.docx
create mode 100644 src/main/resources/word/分包单位信息.docx
create mode 100644 src/main/resources/word/劳务.docx
create mode 100644 src/main/resources/word/安全.docx
create mode 100644 src/main/resources/word/环境监测数据.docx
create mode 100644 src/main/resources/word/质量.docx
create mode 100644 src/main/resources/word/进度管理.docx
create mode 100644 src/main/resources/word/项目基本信息.docx
diff --git a/pom.xml b/pom.xml
index 1b1832541..557107c0c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -366,17 +366,23 @@
cn.afterturn
easypoi-base
- 4.0.0
+ 4.4.0
cn.afterturn
easypoi-annotation
- 4.0.0
+ 4.4.0
cn.afterturn
easypoi-web
- 4.0.0
+ 4.4.0
+
+
+
+ org.apache.poi
+ ooxml-schemas
+ 1.4
@@ -987,7 +993,7 @@
<!–CustomClassLoader;WisdomSiteApplication;LicenseUtil;MyBootJarLauncher;MyJarClassLoader–>
-->
-
+
+ <!–鞍钢–>
B67960E5E329F6DD23AFFA354E12732BD41D8CD98F00B204E9800998ECF8427ED41D8CD98F00B204E9800998ECF8427E
-
-
+ <!–中科安信–>
+ <!–A6F449ECD7E1024F703F37F2294AC8F2D41D8CD98F00B204E9800998ECF8427ED41D8CD98F00B204E9800998ECF8427E–>
@@ -1014,7 +1020,7 @@
-
+ -->
diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/ModelDownloadController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/ModelDownloadController.java
new file mode 100644
index 000000000..939deec82
--- /dev/null
+++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/ModelDownloadController.java
@@ -0,0 +1,1027 @@
+package com.zhgd.xmgl.modules.basicdata.controller;
+
+
+import cn.afterturn.easypoi.word.WordExportUtil;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.zhgd.jeecg.common.mybatis.EntityMap;
+import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
+import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
+import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant;
+import com.zhgd.xmgl.modules.basicdata.entity.DictionaryItem;
+import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
+import com.zhgd.xmgl.modules.basicdata.service.IDictionaryItemService;
+import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
+import com.zhgd.xmgl.modules.car.entity.CarInfo;
+import com.zhgd.xmgl.modules.car.entity.CarPassRecord;
+import com.zhgd.xmgl.modules.car.entity.CarType;
+import com.zhgd.xmgl.modules.car.entity.vo.CountCarModuleTypeVo;
+import com.zhgd.xmgl.modules.car.entity.vo.TodayOutInNumber;
+import com.zhgd.xmgl.modules.car.mapper.CarTypeMapper;
+import com.zhgd.xmgl.modules.car.service.ICarInfoService;
+import com.zhgd.xmgl.modules.car.service.ICarPassRecordService;
+import com.zhgd.xmgl.modules.car.service.ICarTypeService;
+import com.zhgd.xmgl.modules.environment.entity.*;
+import com.zhgd.xmgl.modules.environment.service.*;
+import com.zhgd.xmgl.modules.inspection.entity.vo.InspectTaskRecordVo;
+import com.zhgd.xmgl.modules.inspection.service.IInspectTaskItemRecordService;
+import com.zhgd.xmgl.modules.inspection.service.IInspectTaskRecordService;
+import com.zhgd.xmgl.modules.project.entity.ProjectEnterprise;
+import com.zhgd.xmgl.modules.project.entity.ProjectExtend;
+import com.zhgd.xmgl.modules.project.entity.vo.ProjectInfoExtVo;
+import com.zhgd.xmgl.modules.project.service.IProjectEnterpriseService;
+import com.zhgd.xmgl.modules.project.service.IProjectExtendService;
+import com.zhgd.xmgl.modules.project.service.IProjectService;
+import com.zhgd.xmgl.modules.quality.entity.QualityRegion;
+import com.zhgd.xmgl.modules.quality.entity.vo.RecordVo;
+import com.zhgd.xmgl.modules.quality.service.IQualityInspectionRecordService;
+import com.zhgd.xmgl.modules.quality.service.IQualityRegionService;
+import com.zhgd.xmgl.modules.sprayrt.entity.SprayRtData;
+import com.zhgd.xmgl.modules.sprayrt.entity.SprayRtDev;
+import com.zhgd.xmgl.modules.sprayrt.service.ISprayRtDataService;
+import com.zhgd.xmgl.modules.sprayrt.service.ISprayRtDevService;
+import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgress;
+import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgressAlarm;
+import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgressContent;
+import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgressMaterialRel;
+import com.zhgd.xmgl.modules.taskprogress.service.ITaskProgressAlarmService;
+import com.zhgd.xmgl.modules.taskprogress.service.ITaskProgressContentService;
+import com.zhgd.xmgl.modules.taskprogress.service.ITaskProgressService;
+import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord;
+import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareRecord;
+import com.zhgd.xmgl.modules.video.service.IAiAnalyseHardWareAlarmRecordService;
+import com.zhgd.xmgl.modules.video.service.IAiAnalyseHardWareRecordService;
+import com.zhgd.xmgl.modules.worker.entity.*;
+import com.zhgd.xmgl.modules.worker.entity.vo.TrainRecordVo;
+import com.zhgd.xmgl.modules.worker.service.*;
+import com.zhgd.xmgl.modules.xz.entity.XzAiDeductRule;
+import com.zhgd.xmgl.modules.xz.entity.XzDeductScoreRecord;
+import com.zhgd.xmgl.modules.xz.security.entity.vo.StatsByEnterpriseVo;
+import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityInspectTaskRecordVo;
+import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityQualityInspectionRecordTotalVo;
+import com.zhgd.xmgl.modules.xz.security.entity.vo.XzSecurityRecordVo;
+import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityInspectTaskItemRecordService;
+import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityInspectTaskRecordService;
+import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityQualityInspectionRecordService;
+import com.zhgd.xmgl.modules.xz.service.IXzAiDeductRuleService;
+import com.zhgd.xmgl.modules.xz.service.IXzDeductScoreRecordService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
+import java.math.BigDecimal;
+import java.net.URLEncoder;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @program: wisdomSite
+ * @description: 下载
+ * @author: Mr.Peng
+ * @create: 2020-12-21 09:33
+ **/
+@RestController
+@RequestMapping("/xmgl/modelDownload")
+@Slf4j
+@Api(tags = "下载")
+public class ModelDownloadController {
+
+ @Autowired
+ private IEnterpriseInfoService enterpriseInfoService;
+
+ @Autowired
+ private IEnterpriseTypeService enterpriseTypeService;
+
+ @Autowired
+ private IProjectEnterpriseService projectEnterpriseService;
+
+ @Autowired
+ private IProjectEnterpriseSupplierInfoService projectEnterpriseSupplierInfoService;
+
+ @Autowired
+ private IProjectService projectService;
+
+ @Autowired
+ private ISystemUserService systemUserService;
+
+ @Autowired
+ private ICarInfoService carInfoService;
+
+ @Autowired
+ private ICarTypeService carTypeService;
+
+ @Autowired
+ private CarTypeMapper carTypeMapper;
+
+ @Autowired
+ private ICarPassRecordService carPassRecordService;
+
+ @Autowired
+ private IXzSecurityQualityInspectionRecordService xzSecurityQualityInspectionRecordService;
+
+ @Autowired
+ private IQualityInspectionRecordService qualityInspectionRecordService;
+
+ @Autowired
+ private IXzSecurityInspectTaskRecordService xzSecurityInspectTaskRecordService;
+
+ @Autowired
+ private IXzSecurityInspectTaskItemRecordService xzSecurityInspectTaskItemRecordService;
+
+ @Autowired
+ private IInspectTaskRecordService inspectTaskRecordService;
+
+ @Autowired
+ private IInspectTaskItemRecordService inspectTaskItemRecordService;
+
+ @Autowired
+ private IDictionaryItemService dictionaryItemService;
+
+ @Autowired
+ private IProjectExtendService projectExtendService;
+
+ @Autowired
+ private ITaskProgressContentService taskProgressContentService;
+
+ @Autowired
+ private ITaskProgressService taskProgressService;
+
+ @Autowired
+ private ITaskProgressAlarmService taskProgressAlarmService;
+
+ @Autowired
+ private IEnvironmentDevService environmentDevService;
+
+ @Autowired
+ private IAiAnalyseHardWareRecordService aiAnalyseHardWareRecordService;
+
+ @Autowired
+ private IAiAnalyseHardWareAlarmRecordService aiAnalyseHardWareAlarmRecordService;
+
+ @Autowired
+ private IQualityRegionService qualityRegionService;
+
+ @Autowired
+ private IWorkerInfoService workerInfoService;
+
+ @Autowired
+ private IWorkerEvaluateService workerEvaluateService;
+
+ @Autowired
+ private IXzDeductScoreRecordService xzDeductScoreRecordService;
+
+ @Autowired
+ private IWorkerTypeService workerTypeService;
+
+ @Autowired
+ private ITeamInfoService teamInfoService;
+
+ @Autowired
+ private IDepartmentInfoService departmentInfoService;
+
+ @Autowired
+ private IWorkerContractService workerContractService;
+
+ @Autowired
+ private IWorkerCertificateService workerCertificateService;
+
+ @Autowired
+ private IWorkerPhysicalsService workerPhysicalsService;
+
+ @Autowired
+ private IWorkerInsuranceService workerInsuranceService;
+
+ @Autowired
+ private IXzAiDeductRuleService xzAiDeductRuleService;
+
+ @Autowired
+ private ISprayRtDevService sprayRtDevService;
+
+ @Autowired
+ private IEnvironmentWarningService environmentWarningService;
+
+ @Autowired
+ private IDustNoiseDataService dustNoiseDataService;
+
+ @Autowired
+ private IEnvironmentAlarmService environmentAlarmService;
+
+ @Autowired
+ private IEnvironmentAlarmTypeService environmentAlarmTypeService;
+
+ @Autowired
+ private ISprayRtDataService sprayRtDataService;
+
+ @Autowired
+ private IEnterpriseQualificationService enterpriseQualificationService;
+
+ @Autowired
+ private IEnterpriseBadRecordService enterpriseBadRecordService;
+
+ @ApiOperation(value = "按模版导出项目信息", notes = "按模版导出项目信息", httpMethod = "GET")
+ @ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "query", required = true, dataType = "String")
+ @GetMapping(value = "/exportProjectInfo/{projectSn}")
+ public void exportProjectInfo(HttpServletResponse response, @PathVariable("projectSn")String projectSn) {
+ ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(projectSn);
+ ProjectExtend projectExtend = projectExtendService.getOne(Wrappers.lambdaQuery().eq(ProjectExtend::getProjectSn, projectSn));
+ Map infoMap = getProjectInfo(projectInfoBySn);
+ Map extendMap = BeanUtil.beanToMap(projectExtend);
+ infoMap.putAll(extendMap);
+ try {
+ // 读取Word模板文件
+// ClassPathResource classPathResource = new ClassPathResource("word/项目基本信息.docx");
+// InputStream fis = classPathResource.getInputStream();
+// XWPFDocument doc = new XWPFDocument(fis);
+ XWPFDocument doc = WordExportUtil.exportWord07("word/项目基本信息.docx", infoMap);
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
+ response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(projectInfoBySn.getProjectName() + "信息.docx", "UTF-8"));
+ doc.write(response.getOutputStream());
+// // 获取所有段落
+// List paragraphs = doc.getParagraphs();
+// // 替换文本数据
+// for (XWPFParagraph p : paragraphs) {
+// List runs = p.getRuns();
+// for (XWPFRun r : runs) {
+// String text = r.getText(0);
+// for (String s : infoMap.keySet()) {
+// if (text != null && text.contains("{{" + s + "}}")) {
+// text = text.replace("{{" + s +"}}", infoMap.get(s).toString());
+// r.setText(text, 0);
+// }
+// }
+// }
+// }
+// response.setCharacterEncoding("UTF-8");
+// response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
+// response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(projectInfoBySn.getProjectName() + "信息.docx", "UTF-8"));
+// doc.write(response.getOutputStream());
+ } catch (FileNotFoundException e) {
+ throw new RuntimeException(e);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @ApiOperation(value = "按模版导出分包单位信息", notes = "按模版导出分包单位信息", httpMethod = "GET")
+ @ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "query", required = true, dataType = "String")
+ @GetMapping(value = "/exportEnterprise/{projectSn}")
+ public void exportEnterprise(HttpServletResponse response, @PathVariable("projectSn")String projectSn) {
+ ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(projectSn);
+ List enterpriseId = projectEnterpriseService.list(Wrappers.lambdaQuery().eq(ProjectEnterprise::getProjectSn, projectSn))
+ .stream().map(p -> p.getEnterpriseId()).collect(Collectors.toList());
+ List enterpriseInfoList = enterpriseInfoService.listByIds(enterpriseId);
+ List enterpriseTypeList = enterpriseTypeService.list();
+ Map resultMap = new HashMap<>();
+ resultMap.put("projectName", projectInfoBySn.getProjectName());
+ resultMap.put("total", enterpriseInfoList.size());
+ for (EnterpriseType enterpriseType : enterpriseTypeList) {
+ resultMap.put("enterpriseType" + enterpriseType.getId(), enterpriseInfoList.stream().filter(e ->
+ e.getEnterpriseTypeId().toString().equals(enterpriseType.getId().toString())).count());
+ }
+ resultMap.put("enterpriseList", getEnterpriseInfo(enterpriseInfoList, enterpriseTypeList));
+
+ List list = projectEnterpriseSupplierInfoService.list(Wrappers.lambdaQuery()
+ .eq(ProjectEnterpriseSupplierInfo::getProjectSn, projectSn));
+ resultMap.put("supplierList", getEnterpriseSupplierInfo(list, enterpriseInfoList));
+
+ List qualificationList = enterpriseQualificationService.list(Wrappers.lambdaQuery()
+ .in(EnterpriseQualification::getEnterpriseId, enterpriseId));
+ List