|
@@ -218,178 +218,142 @@ public class RiskJobServiceImpl implements RiskJobService {
|
|
|
|
|
|
*/
|
|
|
|
|
|
- public void riskJobExport2(String id, String jobtype, HttpServletResponse response){
|
|
|
+ public void riskJobExport2(String id, String jobtype, HttpServletResponse response) {
|
|
|
Map<String, String> wordMap = new HashMap<>();
|
|
|
|
|
|
+ // 校验:主对象是否为空
|
|
|
AspDhzyDo dhzyDo = dhzyService.getById(id);
|
|
|
+ if (dhzyDo == null) {
|
|
|
+ throw new RuntimeException("未找到该动火作业信息!");
|
|
|
+ }
|
|
|
|
|
|
List<SysDictDo> sysDictDoList = sysDictDao.selectList(new LambdaQueryWrapper<SysDictDo>()
|
|
|
.eq(BaseDo::getDeleted, "0")
|
|
|
- .in(SysDictDo::getDicttype, "dhfs","dhzyjb"));
|
|
|
- SysDictDo sysDictDo = null;
|
|
|
+ .in(SysDictDo::getDicttype, "dhfs", "dhzyjb"));
|
|
|
+ if (sysDictDoList == null) {
|
|
|
+ sysDictDoList = Collections.emptyList();
|
|
|
+ }
|
|
|
|
|
|
- //动火方式
|
|
|
+ // 动火方式
|
|
|
String dhfs = dhzyDo.getDhfs();
|
|
|
- String[] dhfsValues = dhfs.split(",");
|
|
|
- Map<String, String> dictValueNameMap = sysDictDoList.stream()
|
|
|
- .filter(dict -> "dhfs".equals(dict.getDicttype()))
|
|
|
- .collect(Collectors.toMap(SysDictDo::getValue, SysDictDo::getName));
|
|
|
- List<String> dhfsNames = Arrays.stream(dhfsValues)
|
|
|
- .map(String::trim)
|
|
|
- .map(dictValueNameMap::get)
|
|
|
- .filter(Objects::nonNull)
|
|
|
- .collect(Collectors.toList());
|
|
|
- String DHFS = String.join(",", dhfsNames);
|
|
|
-
|
|
|
- //动火作业级别
|
|
|
- String dhzyjb = dhzyDo.getDhzyjb();
|
|
|
- sysDictDo = sysDictDoList.stream()
|
|
|
- .filter(dict -> "dhzyjb".equals(dict.getDicttype()) &&
|
|
|
- dict.getValue().equals(dhzyjb))
|
|
|
- .findFirst()
|
|
|
- .orElse(null);
|
|
|
- String DHZYJB = sysDictDo == null ? "" : sysDictDo.getName();
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- QueryWrapper<AspJobConfigFxbsDo> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.eq("tenantid", dhzyDo.getTenantid());
|
|
|
- queryWrapper.eq("jobtype", dhzyDo.getJobtype());
|
|
|
- queryWrapper.eq("deleted", '0');
|
|
|
- List<AspJobConfigFxbsDo> fxbsList = aspJobConfigFxbsService.list(queryWrapper);
|
|
|
- // 创建一个与 fxbsList 大小相同的数组
|
|
|
- String[] fxbs = new String[fxbsList.size()];
|
|
|
- // 将 fxbsList 中的元素复制到数组中
|
|
|
- for (int i = 0; i < fxbsList.size(); i++) {
|
|
|
- fxbs[i] = fxbsList.get(i).getFxbsx();
|
|
|
+ String DHFS = "";
|
|
|
+ if (dhfs != null) {
|
|
|
+ String[] dhfsValues = dhfs.split(",");
|
|
|
+ Map<String, String> dictValueNameMap = sysDictDoList.stream()
|
|
|
+ .filter(dict -> "dhfs".equals(dict.getDicttype()))
|
|
|
+ .collect(Collectors.toMap(SysDictDo::getValue, SysDictDo::getName, (v1, v2) -> v1));
|
|
|
+ List<String> dhfsNames = Arrays.stream(dhfsValues)
|
|
|
+ .map(String::trim)
|
|
|
+ .map(dictValueNameMap::get)
|
|
|
+ .filter(Objects::nonNull)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ DHFS = String.join(",", dhfsNames);
|
|
|
}
|
|
|
-// List<Map<String, String>> fxbs = new ArrayList<>();
|
|
|
-// for (AspJobConfigFxbsDo item : fxbsList) {
|
|
|
-// Map<String, String> subItem = new HashMap<>();
|
|
|
-// // 根据实际情况添加属性到 Map 中
|
|
|
-// subItem.put("FXBSX", defaultEmptyStr(item.getFxbsx()));
|
|
|
-// fxbs.add(subItem);
|
|
|
-// }
|
|
|
|
|
|
-//气体检查
|
|
|
- QueryWrapper<AspCombustibleGasDetectionDo> queryWrapper1 = new QueryWrapper<>();
|
|
|
- queryWrapper1.eq("jobid", dhzyDo.getId());
|
|
|
- queryWrapper1.eq("deleted", '0');
|
|
|
- List<AspCombustibleGasDetectionDo> qtjcList = aspCombustibleGasDetectionService.list(queryWrapper1);
|
|
|
+ // 动火作业级别
|
|
|
+ String DHZYJB = "";
|
|
|
+ String dhzyjb = dhzyDo.getDhzyjb();
|
|
|
+ if (dhzyjb != null) {
|
|
|
+ SysDictDo sysDictDo = sysDictDoList.stream()
|
|
|
+ .filter(dict -> "dhzyjb".equals(dict.getDicttype()) &&
|
|
|
+ dhzyjb.equals(dict.getValue()))
|
|
|
+ .findFirst()
|
|
|
+ .orElse(null);
|
|
|
+ DHZYJB = sysDictDo == null ? "" : defaultEmptyStr(sysDictDo.getName());
|
|
|
+ }
|
|
|
|
|
|
+ // 风险辨识
|
|
|
+ List<AspJobConfigFxbsDo> fxbsList = aspJobConfigFxbsService.list(new QueryWrapper<AspJobConfigFxbsDo>()
|
|
|
+ .eq("tenantid", dhzyDo.getTenantid())
|
|
|
+ .eq("jobtype", dhzyDo.getJobtype())
|
|
|
+ .eq("deleted", '0'));
|
|
|
+ String[] fxbs = fxbsList != null
|
|
|
+ ? fxbsList.stream()
|
|
|
+ .sorted(Comparator.comparing(AspJobConfigFxbsDo::getSon))
|
|
|
+ .map(AspJobConfigFxbsDo::getFxbsx)
|
|
|
+ .toArray(String[]::new)
|
|
|
+ : new String[0];
|
|
|
+
|
|
|
+
|
|
|
+ // 气体检查
|
|
|
+ List<AspCombustibleGasDetectionDo> qtjcList = aspCombustibleGasDetectionService.list(new QueryWrapper<AspCombustibleGasDetectionDo>()
|
|
|
+ .eq("jobid", dhzyDo.getId())
|
|
|
+ .eq("deleted", '0'));
|
|
|
List<Map<String, String>> subList1 = new ArrayList<>();
|
|
|
- for (AspCombustibleGasDetectionDo item : qtjcList) {
|
|
|
- Map<String, String> subItem = new HashMap<>();
|
|
|
- // 根据实际情况添加属性到 Map 中
|
|
|
- subItem.put("COMBUSTIBLEGASLETCONTENT", defaultEmptyStr(item.getCombustiblegasletcontent()));
|
|
|
- subItem.put("OXYGENCONTENT",defaultEmptyStr(item.getOxygencontent()));
|
|
|
- subItem.put("TOXICGAS", defaultEmptyStr(item.getToxicgas()));
|
|
|
- subItem.put("SAMPLINGTIME", defaultEmptyStr(item.getSamplingtime()));
|
|
|
- subItem.put("LELSAMPLINGSITE", defaultEmptyStr(item.getLelsamplingsite()));
|
|
|
- subItem.put("ANALYST", defaultEmptyStr(item.getAnalyst()));
|
|
|
- subList1.add(subItem);
|
|
|
+ if (qtjcList != null) {
|
|
|
+ for (AspCombustibleGasDetectionDo item : qtjcList) {
|
|
|
+ Map<String, String> subItem = new HashMap<>();
|
|
|
+ subItem.put("COMBUSTIBLEGASLETCONTENT", defaultEmptyStr(item.getCombustiblegasletcontent()));
|
|
|
+ subItem.put("OXYGENCONTENT", defaultEmptyStr(item.getOxygencontent()));
|
|
|
+ subItem.put("TOXICGAS", defaultEmptyStr(item.getToxicgas()));
|
|
|
+ subItem.put("SAMPLINGTIME", defaultEmptyStr(item.getSamplingtime()));
|
|
|
+ subItem.put("LELSAMPLINGSITE", defaultEmptyStr(item.getLelsamplingsite()));
|
|
|
+ subItem.put("ANALYST", defaultEmptyStr(item.getAnalyst()));
|
|
|
+ subList1.add(subItem);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- //关联作业查询
|
|
|
- QueryWrapper<AspJobSjzyDo> queryWrapper2 = new QueryWrapper<>();
|
|
|
- queryWrapper2.eq("JOBID",dhzyDo.getId());
|
|
|
- queryWrapper2.eq("DELETED","0");
|
|
|
- List<AspJobSjzyDo> resultList = aspJobSjzyService.list(queryWrapper2);
|
|
|
- // JOBTYPE SJZYZBH
|
|
|
- if (!resultList.isEmpty()) {
|
|
|
- String jobTypeString = resultList.stream()
|
|
|
- .map(AspJobSjzyDo::getJobtype)
|
|
|
- .distinct()
|
|
|
- .collect(Collectors.joining(","));
|
|
|
- String sjzyzbhString = resultList.stream()
|
|
|
- .map(AspJobSjzyDo::getSjzyzbh)
|
|
|
- .distinct()
|
|
|
- .collect(Collectors.joining(","));
|
|
|
- wordMap.put("SJQTZYLX",defaultEmptyStr(jobTypeString) );
|
|
|
+ // 关联作业
|
|
|
+ List<AspJobSjzyDo> resultList = aspJobSjzyService.list(new QueryWrapper<AspJobSjzyDo>()
|
|
|
+ .eq("JOBID", dhzyDo.getId())
|
|
|
+ .eq("DELETED", "0"));
|
|
|
+ if (resultList != null && !resultList.isEmpty()) {
|
|
|
+ String jobTypeString = resultList.stream().map(AspJobSjzyDo::getJobtype).distinct().collect(Collectors.joining(","));
|
|
|
+ String sjzyzbhString = resultList.stream().map(AspJobSjzyDo::getSjzyzbh).distinct().collect(Collectors.joining(","));
|
|
|
+ wordMap.put("SJQTZYLX", defaultEmptyStr(jobTypeString));
|
|
|
wordMap.put("SJQTTSZYZBH", defaultEmptyStr(sjzyzbhString));
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-//安全措施
|
|
|
- QueryWrapper<AspInspectionInformationTableDo> queryWrapper3 = new QueryWrapper<>();
|
|
|
-
|
|
|
- queryWrapper3.eq("jobid", dhzyDo.getId());
|
|
|
- queryWrapper3.eq("deleted", '0');
|
|
|
- List<AspInspectionInformationTableDo> aqcsList = aspInspectionInformationTableService.list(queryWrapper3);
|
|
|
+ // 安全措施
|
|
|
+ List<AspInspectionInformationTableDo> aqcsList = aspInspectionInformationTableService.list(new QueryWrapper<AspInspectionInformationTableDo>()
|
|
|
+ .eq("jobid", dhzyDo.getId())
|
|
|
+ .eq("deleted", '0'));
|
|
|
List<Map<String, String>> subList2 = new ArrayList<>();
|
|
|
- for (AspInspectionInformationTableDo item : aqcsList) {
|
|
|
- Map<String, String> subItem2 = new HashMap<>();
|
|
|
- // 根据实际情况添加属性到 Map 中
|
|
|
- subItem2.put("MAINSAFETYMEASURES", defaultEmptyStr(item.getMainsafetymeasures()));
|
|
|
- subItem2.put("WHETHERITINVOLVES",defaultEmptyStr(item.getWhetheritinvolves()));
|
|
|
- subItem2.put("CHECKUSER", defaultEmptyStr(item.getCheckuser()));
|
|
|
- subList2.add(subItem2);
|
|
|
+ if (aqcsList != null) {
|
|
|
+ for (AspInspectionInformationTableDo item : aqcsList) {
|
|
|
+ Map<String, String> subItem2 = new HashMap<>();
|
|
|
+ subItem2.put("MAINSAFETYMEASURES", defaultEmptyStr(item.getMainsafetymeasures()));
|
|
|
+ subItem2.put("WHETHERITINVOLVES", defaultEmptyStr(item.getWhetheritinvolves()));
|
|
|
+ subItem2.put("CHECKUSER", defaultEmptyStr(item.getCheckuser()));
|
|
|
+ subList2.add(subItem2);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-// 动火人以及证书编号
|
|
|
-// aspSpecialPersonalInformationService
|
|
|
- QueryWrapper<AspSpecialPersonalInformationDo> queryWrapper4 = new QueryWrapper<>();
|
|
|
- queryWrapper3.eq("jobid", dhzyDo.getId());
|
|
|
- queryWrapper3.eq("deleted", '0');
|
|
|
- List<AspSpecialPersonalInformationDo> dhrList = aspSpecialPersonalInformationService.list(queryWrapper4);
|
|
|
-
|
|
|
- String dhrxx = dhrList.stream()
|
|
|
- .map(item -> item.getName() + "," + item.getCertificateno())
|
|
|
- .collect(Collectors.joining(" "));
|
|
|
- if (!resultList.isEmpty()) {
|
|
|
- wordMap.put("DHRJZSBH",defaultEmptyStr(dhrxx) );
|
|
|
+ // 动火人信息
|
|
|
+ List<AspSpecialPersonalInformationDo> dhrList = aspSpecialPersonalInformationService.list(new QueryWrapper<AspSpecialPersonalInformationDo>()
|
|
|
+ .eq("jobid", dhzyDo.getId())
|
|
|
+ .eq("deleted", '0'));
|
|
|
+ if (dhrList != null && !dhrList.isEmpty()) {
|
|
|
+ String dhrxx = dhrList.stream()
|
|
|
+ .map(item -> defaultEmptyStr(item.getName()) + "," + defaultEmptyStr(item.getCertificateno()))
|
|
|
+ .collect(Collectors.joining(" "));
|
|
|
+ wordMap.put("DHRJZSBH", defaultEmptyStr(dhrxx));
|
|
|
}
|
|
|
-// CERTIFICATENO name 小王,123 小明456
|
|
|
-// List<Map<String, String>> subList2 = new ArrayList<>();
|
|
|
-// for (AspInspectionInformationTableDo item : aqcsList) {
|
|
|
-// Map<String, String> subItem2 = new HashMap<>();
|
|
|
-// // 根据实际情况添加属性到 Map 中
|
|
|
-// subItem2.put("MAINSAFETYMEASURES", defaultEmptyStr(item.getMainsafetymeasures()));
|
|
|
-// subItem2.put("WHETHERITINVOLVES",defaultEmptyStr(item.getWhetheritinvolves()));
|
|
|
-// subItem2.put("CHECKUSER", defaultEmptyStr(item.getCheckuser()));
|
|
|
-// subList2.add(subItem2);
|
|
|
-// }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-//
|
|
|
-// dhzyDo.getFxbs();//风险辨识
|
|
|
-
|
|
|
-
|
|
|
- wordMap.put("SQDW", defaultEmptyStr( dhzyDo.getSqdw()));
|
|
|
- wordMap.put("SQR", defaultEmptyStr( dhzyDo.getSqr()));
|
|
|
- wordMap.put("ZYZBH", defaultEmptyStr( dhzyDo.getZyzbh()));
|
|
|
- wordMap.put("ZYNR", defaultEmptyStr( dhzyDo.getZynr()));
|
|
|
-
|
|
|
- wordMap.put("DHZYJB", defaultEmptyStr( DHZYJB));
|
|
|
-// wordMap.put("DHFS",dhfs);
|
|
|
- wordMap.put("DHFS",DHFS);
|
|
|
-
|
|
|
- wordMap.put("DHDD", defaultEmptyStr( dhzyDo.getDhdd()));
|
|
|
- wordMap.put("ZYWZ", defaultEmptyStr( dhzyDo.getZywz()));
|
|
|
- wordMap.put("ZYDWMC", defaultEmptyStr( dhzyDo.getZydwmc()));
|
|
|
- wordMap.put("ZYFZR", defaultEmptyStr( dhzyDo.getZyfzr()));
|
|
|
- wordMap.put("ZYKSSJ", defaultEmptyStr( dhzyDo.getZykssj()));
|
|
|
- wordMap.put("ZYJSSJ", defaultEmptyStr( dhzyDo.getZyjssj()));
|
|
|
-
|
|
|
- wordMap.put("JHRQM", defaultEmptyStr( dhzyDo.getJhrqm()));
|
|
|
- wordMap.put("AQJDRQM", defaultEmptyStr( dhzyDo.getAqjdrqm()));
|
|
|
- wordMap.put("JSJDRQM", defaultEmptyStr( dhzyDo.getJsjdrqm()));
|
|
|
- wordMap.put("SDBMFZRQZ", defaultEmptyStr( dhzyDo.getSdbmfzrqz()));
|
|
|
-
|
|
|
- String fxbsx = defaultEmptyStr( dhzyDo.getFxbs());
|
|
|
-
|
|
|
- response(wordMap, response ,subList1,subList2,fxbs ,fxbsx , sysDictDoList );
|
|
|
|
|
|
+ // 设置通用字段
|
|
|
+ wordMap.put("SQDW", defaultEmptyStr(dhzyDo.getSqdw()));
|
|
|
+ wordMap.put("SQR", defaultEmptyStr(dhzyDo.getSqr()));
|
|
|
+ wordMap.put("ZYZBH", defaultEmptyStr(dhzyDo.getZyzbh()));
|
|
|
+ wordMap.put("ZYNR", defaultEmptyStr(dhzyDo.getZynr()));
|
|
|
+ wordMap.put("DHZYJB", DHZYJB);
|
|
|
+ wordMap.put("DHFS", DHFS);
|
|
|
+ wordMap.put("DHDD", defaultEmptyStr(dhzyDo.getDhdd()));
|
|
|
+ wordMap.put("ZYWZ", defaultEmptyStr(dhzyDo.getZywz()));
|
|
|
+ wordMap.put("ZYDWMC", defaultEmptyStr(dhzyDo.getZydwmc()));
|
|
|
+ wordMap.put("ZYFZR", defaultEmptyStr(dhzyDo.getZyfzr()));
|
|
|
+ wordMap.put("ZYKSSJ", defaultEmptyStr(dhzyDo.getZykssj()));
|
|
|
+ wordMap.put("ZYJSSJ", defaultEmptyStr(dhzyDo.getZyjssj()));
|
|
|
+ wordMap.put("JHRQM", defaultEmptyStr(dhzyDo.getJhrqm()));
|
|
|
+ wordMap.put("AQJDRQM", defaultEmptyStr(dhzyDo.getAqjdrqm()));
|
|
|
+ wordMap.put("JSJDRQM", defaultEmptyStr(dhzyDo.getJsjdrqm()));
|
|
|
+ wordMap.put("SDBMFZRQZ", defaultEmptyStr(dhzyDo.getSdbmfzrqz()));
|
|
|
+ wordMap.put("FXBSX", defaultEmptyStr(dhzyDo.getFxbs()));
|
|
|
+
|
|
|
+ // 输出
|
|
|
+ response(wordMap, response, subList1, subList2, fxbs, defaultEmptyStr(dhzyDo.getFxbs()), sysDictDoList);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
public String defaultEmptyStr(Object str) {
|
|
|
if (str == null) {
|
|
|
return "";
|
|
@@ -536,7 +500,8 @@ public class RiskJobServiceImpl implements RiskJobService {
|
|
|
// 设置返回 PDF 的响应头
|
|
|
response.setContentType("application/pdf");
|
|
|
String fileName = URLEncoder.encode("导出结果.pdf", "UTF-8").replaceAll("\\+", "%20");
|
|
|
- response.setHeader("Content-Disposition", "inline; filename*=UTF-8''" + fileName);
|
|
|
+// response.setHeader("Content-Disposition", "inline; filename*=UTF-8''" + fileName);
|
|
|
+ response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + fileName);
|
|
|
|
|
|
log.info("开始输出 PDF 至前端");
|
|
|
|