Переглянути джерело

-修改极光推送
-修改pssr内容导出:添加区域
-pssr添加自动生成数据
-修改pssr部分表头
-隐藏检修项目附件按钮

jiangbiao 10 місяців тому
батько
коміт
910f79b12e
31 змінених файлів з 433 додано та 249 видалено
  1. 4 4
      master/src/main/java/com/ruoyi/common/jpush/JiGuangPushService.java
  2. 142 20
      master/src/main/java/com/ruoyi/project/pssr/controller/TPssrAboveallController.java
  3. 7 7
      master/src/main/java/com/ruoyi/project/pssr/controller/TPssrApproveController.java
  4. 14 11
      master/src/main/java/com/ruoyi/project/pssr/controller/TPssrBlindController.java
  5. 11 11
      master/src/main/java/com/ruoyi/project/pssr/controller/TPssrCleaningController.java
  6. 7 7
      master/src/main/java/com/ruoyi/project/pssr/controller/TPssrSubcontentController.java
  7. 10 0
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrLighting.java
  8. 11 0
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrPower.java
  9. 10 0
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrPublic.java
  10. 11 0
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrTorchvoc.java
  11. 21 27
      master/src/main/java/com/ruoyi/project/pssr/service/impl/TPssrPatrolServiceImpl.java
  12. 8 9
      master/src/main/java/com/ruoyi/project/training/bccnew/controller/TTsFlplanController.java
  13. 8 9
      master/src/main/java/com/ruoyi/project/training/bccnew/controller/TTsFtplanController.java
  14. 9 8
      master/src/main/java/com/ruoyi/project/training/bccnew/controller/TTsLjplanController.java
  15. 9 8
      master/src/main/java/com/ruoyi/project/training/bccnew/controller/TTsYsplanController.java
  16. BIN
      master/src/main/resources/static/word/pssr/mb.xlsx
  17. BIN
      master/src/main/resources/static/word/pssr/pssrConfirm.docx
  18. BIN
      master/src/main/resources/static/word/pssr/sbqjd.xlsx
  19. 4 1
      ui/src/views/pssr/blind/index.vue
  20. 18 20
      ui/src/views/pssr/cleaning/index.vue
  21. 2 8
      ui/src/views/pssr/material/index.vue
  22. 2 8
      ui/src/views/pssr/materialRaw/index.vue
  23. 1 1
      ui/src/views/pssr/measure/index.vue
  24. 3 3
      ui/src/views/pssr/moc/index.vue
  25. 9 9
      ui/src/views/pssr/overhaulExchanger/index.vue
  26. 9 9
      ui/src/views/pssr/overhaulFilter/index.vue
  27. 9 9
      ui/src/views/pssr/overhaulTower/index.vue
  28. 23 56
      ui/src/views/pssr/overhaulValve/index.vue
  29. 1 0
      ui/src/views/pssr/patrol/index.vue
  30. 35 2
      ui/src/views/pssr/pssrModel/index.vue
  31. 35 2
      ui/src/views/pssr/subcontent/index.vue

+ 4 - 4
master/src/main/java/com/ruoyi/common/jpush/JiGuangPushService.java

@@ -49,15 +49,15 @@ public class JiGuangPushService {
         notificationMessage.setAlert(alert);
         notificationMessage.setAndroid(android);
         param.setNotification(notificationMessage);
-
+        String[] alias1 = alias;
         if (isDev) {
-            for (String s : alias) {
-                s = "dev-" + s;
+            for (int i = 0 ;i<alias.length;i++) {
+                alias1[i]="dev-" + alias[i];
             }
         }
         // 目标人群
         Audience audience = new Audience();
-        audience.setAliasList(Arrays.asList(alias));
+        audience.setAliasList(Arrays.asList(alias1));
 //        audience.setRegistrationIdList(Arrays.asList("1104a89793af2cfc030", "1104a89793af2cfc030"));
         // 指定目标
         param.setAudience(audience);

+ 142 - 20
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrAboveallController.java

@@ -1,6 +1,5 @@
 package com.ruoyi.project.pssr.controller;
 
-import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
@@ -9,6 +8,8 @@ import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.framework.web.page.TableDataInfo;
 import com.ruoyi.project.pssr.domain.*;
 import com.ruoyi.project.pssr.service.*;
+import com.ruoyi.project.reliability.domain.TSafetyvavle;
+import com.ruoyi.project.reliability.service.ITSafetyvavleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -41,6 +42,27 @@ public class TPssrAboveallController extends BaseController {
     @Autowired
     private ITPssrMaterialRawService tPssrMaterialRawService;
 
+    @Autowired
+    private ITPssrMocService tPssrMocService;
+
+    @Autowired
+    private ITSafetyvavleService tSafetyvavleService;
+
+    @Autowired
+    private ITPssrSafetyValveService tPssrSafetyValveService;
+
+    @Autowired
+    private ITPssrPublicService tPssrPublicService;
+
+    @Autowired
+    private ITPssrTorchvocService tPssrTorchvocService;
+
+    @Autowired
+    private ITPssrLightingService tPssrLightingService;
+
+    @Autowired
+    private ITPssrPowerService tPssrPowerService;
+
     /**
      * 查询PSSR列表
      */
@@ -80,11 +102,6 @@ public class TPssrAboveallController extends BaseController {
     @Log(title = "PSSR", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody TPssrAboveall tPssrAboveall) {
-//        if (StringUtils.isNotEmpty(tPssrAboveall.getUnit())) {
-//            String unit = tPssrAboveall.getUnit();
-//            tPssrAboveall.setUnit(unit.substring(0, unit.indexOf("_")));
-//            tPssrAboveall.setUnitDes(unit.substring(unit.indexOf("_") + 1));
-//        }
         tPssrAboveallService.insertTPssrAboveall(tPssrAboveall);//新增主表数据
         //新增子表数据
         for (TPssrSubcontent subcontent : tPssrAboveall.getSubcontents()) {
@@ -99,8 +116,9 @@ public class TPssrAboveallController extends BaseController {
                 tPssrSubcontentService.insertTPssrSubcontent(subcontent);
 
                 String userId = getUserId().toString();
-                if (subcontent.getForShort().equals("xqf")) {
-                    new Thread(() -> {
+                new Thread(() -> {
+                    if (subcontent.getForShort().equals("xqf")) {
+
                         List<TPssrPatrol> tPssrPatrols = new ArrayList<>();
 //                        手提式/小推车式灭火器/灭火器材箱检查记录,1
                         tPssrPatrols.add(getEntity(1L, subcontent.getId()));
@@ -130,13 +148,12 @@ public class TPssrAboveallController extends BaseController {
                         tPssrPatrols.add(getEntity(15L, subcontent.getId()));
 //                        蒸汽幕检查记录,16
                         tPssrPatrols.add(getEntity(16L, subcontent.getId()));
+                        // 急救箱
                         tPssrPatrols.add(getEntity(27L, subcontent.getId()));
                         for (TPssrPatrol pssrPatrol : tPssrPatrols) {
                             tPssrPatrolService.insertTPssrPatrol(pssrPatrol, userId);
                         }
-                    }, "新增消气防数据").start();
-                } else if (subcontent.getForShort().equals("txjk")) {
-                    new Thread(() -> {
+                    } else if (subcontent.getForShort().equals("txjk")) {
                         List<TPssrPatrol> tPssrPatrols = new ArrayList<>();
 //                        PAGA系统检查记录,10
                         tPssrPatrols.add(getEntity(10L, subcontent.getId()));
@@ -145,26 +162,85 @@ public class TPssrAboveallController extends BaseController {
                         for (TPssrPatrol pssrPatrol : tPssrPatrols) {
                             tPssrPatrolService.insertTPssrPatrol(pssrPatrol, userId);
                         }
-                    }, "新增通讯监控数据").start();
-                } else if (subcontent.getForShort().equals("bxsjcy")) {
-                    new Thread(() -> {
+                    } else if (subcontent.getForShort().equals("bxsjcy")) {
                         List<TPssrPatrol> tPssrPatrols = new ArrayList<>();
 //                        四合一/苯系物/硫化氢/二氧化碳/射线一氧化碳检测仪检查记录,18
                         tPssrPatrols.add(getEntity(18L, subcontent.getId()));
                         for (TPssrPatrol pssrPatrol : tPssrPatrols) {
                             tPssrPatrolService.insertTPssrPatrol(pssrPatrol, userId);
                         }
-                    }, "新增便携式检测仪数据").start();
-                }else if (subcontent.getForShort().equals("yfl")) {
-                    new Thread(() -> {
-                        genYfl(subcontent.getId(),userId);
-                    }, "新增原辅料数据").start();
-                }
+                    } else if (subcontent.getForShort().equals("yfl")) {
+                        genYfl(subcontent.getId(), userId);
+                    } else if (subcontent.getForShort().equals("sjbg")) {
+                        genMoc(subcontent.getId(), userId);
+                    } else if (subcontent.getForShort().equals("aqss")) {
+                        genAqf(subcontent, userId);
+                    } else if (subcontent.getForShort().equals("gygc")) {
+                        genGygc(subcontent.getId(), userId);
+                    } else if (subcontent.getForShort().equals("hbss")) {
+                        genHbss(subcontent.getId(), userId);
+                    } else if (subcontent.getForShort().equals("zmdbr")) {
+                        genZmdbr(subcontent.getId(), userId);
+                    } else if (subcontent.getForShort().equals("lsdy")) {
+                        genLsdy(subcontent.getId(), userId);
+                    }
+                }, "新增子表数据").start();
             }
         }
         return AjaxResult.success();
     }
 
+    /**
+     * 生成临时电源数据
+     */
+    private void genLsdy(Long subId, String userId) {
+        tPssrPowerService.insertTPssrPower(new TPssrPower(subId,"现场电源插座上无接临时用电设备、临时线路。",new Date(),userId));
+        tPssrPowerService.insertTPssrPower(new TPssrPower(subId,"现场电源插座外观完好,无破损,插座盖子上紧,无脱落。",new Date(),userId));
+    }
+
+    /**
+     * 生成照明、电伴热数据
+     */
+    private void genZmdbr(Long subId, String userId) {
+        tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明灯外观完好,干净,无破损。", userId, new Date()));
+        tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明灯无锈蚀。", userId, new Date()));
+        tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明灯具固定牢固,无松动。", userId, new Date()));
+        tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明导线完好,无破损。", userId, new Date()));
+        tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明开关完好。", userId, new Date()));
+        tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明设备可以正常打开或者关闭。", userId, new Date()));
+    }
+
+    /**
+     * 生成环保设施数据
+     */
+    private void genHbss(Long subId, String userId) {
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬系统检修时所加装的盲板已拆除。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬系统已完成氮气置换,氧含量<0.2%。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "公用工程(消防水、仪表风、氮气、电、中、低压蒸汽等)已投用或具备使用条件。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬系统的所有仪表功能检查正常。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬点火用燃料气已引到PCV-9994、PC-9991阀前。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "仪表空气送至PCV-9995阀前。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "加热火炬气的甲醇已充进换热器390-E-903,390-E-903的低压蒸汽管线暖管结束。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬总管分子封用氮已经投用。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "点火器装置和电视监控器等电器设备已送电,设备完好。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬消烟蒸汽已引到蒸汽调节阀前,RO-9991~3的前后闸阀全开,管线上所有疏水器均须投用。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "由LV-9990向水封罐390-V-940注生产工艺水,直到工艺水由从U形管排出。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "设定390-P-940去急冷水塔的流程,投用390-P-940自启动及停车控制器UC-9990。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "投用各火炬总管端点的吹扫气。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬长明灯点火完成,确认正常。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬系统可以接收装置物料排放。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "VOC系统检修时所加装的盲板已拆除。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "VOC系统已完成氮气置换,氧含量合格。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "公用工程(消防水、仪表风、氮气、电、中、低压蒸汽等)已投用或具备使用条件。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "VOC系统的所有仪表功能检查正常。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "VOC系统具备使用条件,开车流程打通,确认正常。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "按操作程序启动390-K-950,确认K950运行正常。", userId, new Date()));
+        tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "VOC系统运行正常,可以接收VOC排放。", userId, new Date()));
+    }
+
+    /**
+     * 生成巡检数据
+     */
     private TPssrPatrol getEntity(Long planType, Long subId) {
         TPssrPatrol tPssrPatrol = new TPssrPatrol();
         tPssrPatrol.setPlanType(planType);
@@ -172,6 +248,9 @@ public class TPssrAboveallController extends BaseController {
         return tPssrPatrol;
     }
 
+    /**
+     * 生成原辅料数据
+     */
     private void genYfl(Long subId, String userId) {
         tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "Electr. Power", "MWH", userId, new Date(), 0L));
         tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "LP steam", "/", userId, new Date(), 0L));
@@ -197,6 +276,49 @@ public class TPssrAboveallController extends BaseController {
         tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "Toluene", "Ton", userId, new Date(), 0L));
     }
 
+    /**
+     * 生成moc数据
+     */
+    private void genMoc(Long subId, String userId) {
+        //TODO 添加MOC数据
+    }
+
+    /**
+     * 生成安全阀数据
+     */
+    private void genAqf(TPssrSubcontent subcontent, String userId) {
+        for (String unit : subcontent.getUnit().split(",")) {
+            TSafetyvavle query = new TSafetyvavle();
+            query.setSubarea(unit);
+            for (TSafetyvavle vavle : tSafetyvavleService.selectTSafetyvavleList(query)) {
+                TPssrSafetyValve pssr = new TPssrSafetyValve();
+                pssr.setUnit(unit);
+                pssr.setSubId(subcontent.getId());
+                pssr.setDevNo(vavle.getTagno());
+                pssr.setInstallLocation(vavle.getPlacedesc());
+                pssr.setSafetyDev(vavle.getService());
+                pssr.setPidNo(vavle.getPid());
+                pssr.setSetPressure(vavle.getSettingpres());
+                pssr.setCreatedate(new Date());
+                pssr.setCreaterCode(userId);
+                tPssrSafetyValveService.insertTPssrSafetyValve(pssr);
+            }
+        }
+    }
+
+    /**
+     * 生成公用工程数据
+     */
+    private void genGygc(Long subId, String userId) {
+        tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统N2已投用或具备投用条件。", userId, new Date()));
+        tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统IA已投用或具备投用条件。", userId, new Date()));
+        tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统PA已投用或具备投用条件。", userId, new Date()));
+        tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统CW已投用或具备投用条件。", userId, new Date()));
+        tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统各压力等级蒸汽已投用,具备投用条件。", userId, new Date()));
+        tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统各压力等级凝液已投用,具备投用条件。", userId, new Date()));
+        tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统消防水已投用或具备投用条件。", userId, new Date()));
+    }
+
     /**
      * 修改PSSR
      */

+ 7 - 7
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrApproveController.java

@@ -365,29 +365,29 @@ public class TPssrApproveController extends BaseController {
         List<String> forShorts = new ArrayList<>();
         if (sub.getForShort().contains("jb,ybjy")) {
 
-        } else if (sub.getForShort().contains("sbqjd")) {
+        } else if ("sbqjd".contains(sub.getForShort())) {
             forShorts.add("jb");
             forShorts.add("ybjy");
-        } else if (sub.getForShort().contains("jxxm,kgfa,sjbg")) {
+        } else if ("jxxm,kgfa,sjbg".contains(sub.getForShort())) {
             forShorts.add("sbqjd");
-        } else if (sub.getForShort().contains("mb")) {
+        } else if ("mb".contains(sub.getForShort())) {
             forShorts.add("jxxm");
             forShorts.add("kgfa");
             forShorts.add("sjbg");
-        } else if (sub.getForShort().contains("dj,aqss,sksgfmzt")) {
+        } else if ("dj,aqss,sksgfmzt".contains(sub.getForShort())) {
             forShorts.add("mb");
-        } else if (sub.getForShort().contains("xcws,rsfh,xqf,txjk,qtjcy,hbss")) {
+        } else if ("xcws,rsfh,xqf,txjk,qtjcy,hbss".contains(sub.getForShort())) {
             forShorts.add("dj");
             forShorts.add("aqss");
             forShorts.add("sksgfmzt");
-        } else if (sub.getForShort().contains("ssy,gygc,yfl")) {
+        } else if ("ssy,gygc,yfl".contains(sub.getForShort())) {
             forShorts.add("xcws");
             forShorts.add("rsfh");
             forShorts.add("xqf");
             forShorts.add("txjk");
             forShorts.add("qtjcy");
             forShorts.add("hbss");
-        } else if (sub.getForShort().contains("qm,dqzh")) {
+        } else if ("qm,dqzh".contains(sub.getForShort())) {
             forShorts.add("ssy");
             forShorts.add("gygc");
             forShorts.add("yfl");

+ 14 - 11
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrBlindController.java

@@ -107,28 +107,31 @@ public class TPssrBlindController extends BaseController {
                 row.createCell(3).setCellValue(t.getIsoType());
                 row.createCell(4).setCellValue(t.getBlindSize());
                 row.createCell(5).setCellValue(t.getPressureRate());
-                row.createCell(6).setCellValue(t.getMedium());
-                row.createCell(7).setCellValue(t.getFigure());
-                row.createCell(8).setCellValue(t.getPidNo());
-                row.createCell(9).setCellValue(t.getLocation());
-                row.createCell(10).setCellValue(t.getPressurized());
-                row.createCell(11);
-                row.createCell(12);
+                row.createCell(6).setCellValue(t.getBlindType());
+                row.createCell(7).setCellValue(t.getMedium());
+                row.createCell(8).setCellValue(t.getFigure());
+                row.createCell(9).setCellValue(t.getPidNo());
+                row.createCell(10).setCellValue(t.getLocation());
+                row.createCell(11).setCellValue(t.getStartupStatus());
+                row.createCell(12).setCellValue(t.getActualStatus());
+                row.createCell(13).setCellValue(t.getSatisfy());
+                row.createCell(14);
+                row.createCell(15);
                 try {
                     SysUser sysUser1 = sysUserService.selectUserById(Long.valueOf(t.getInConfirm1()));
                     SysUser sysUser2 = sysUserService.selectUserById(Long.valueOf(t.getInConfirm2()));
                     String confirm1=  sysUser1.getSignUrl();
                     String confirm2=  sysUser2.getSignUrl();
-                    ExcelUtils.insertPicture(wb, sheet, confirm1, row.getRowNum(), 11, 1, 1);
-                    ExcelUtils.insertPicture(wb, sheet, confirm2, row.getRowNum(), 12, 1, 1);
+                    ExcelUtils.insertPicture(wb, sheet, confirm1, row.getRowNum(), 14, 1, 1);
+                    ExcelUtils.insertPicture(wb, sheet, confirm2, row.getRowNum(), 15, 1, 1);
                 } catch (NumberFormatException e) {
                     throw new RuntimeException(e);
                 }
-                row.createCell(13).setCellValue(t.getRemarks());
+                row.createCell(16).setCellValue(t.getRemarks());
 
 
                 //渲染样式
-                for (int i = 0; i < 14; i++) {
+                for (int i = 0; i < 17; i++) {
                     row.getCell(i).setCellStyle(originalStyle);
                 }
                 num++;

+ 11 - 11
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrCleaningController.java

@@ -114,28 +114,28 @@ public class TPssrCleaningController extends BaseController
                 row.setHeight((short) 800);
                 row.createCell(0).setCellValue(num);
                 row.createCell(1).setCellValue(t.getUnit());
-                row.createCell(2).setCellValue(t.getDevNo());
-                row.createCell(3).setCellValue(t.getSerialNumber());
-                row.createCell(4).setCellValue(t.getCheckContent());
-                row.createCell(5).setCellValue(t.getCheckResult());
-                row.createCell(6);
-                row.createCell(7);
+//                row.createCell(2).setCellValue(t.getDevNo());
+//                row.createCell(3).setCellValue(t.getSerialNumber());
+                row.createCell(2).setCellValue(t.getCheckContent());
+                row.createCell(3).setCellValue(t.getCheckResult());
+                row.createCell(4);
+                row.createCell(5);
                 try {
                     SysUser sysUser = sysUserService.selectUserById(Long.valueOf(t.getConfirm1()));
                     SysUser sysUser2 = sysUserService.selectUserById(Long.valueOf(t.getConfirm2()));
                     String confirm1 =  sysUser.getSignUrl();
                     String confirm2=  sysUser2.getSignUrl();
-                    ExcelUtils.insertPicture(wb, sheet, confirm1, row.getRowNum(), 6, 1, 1);
-                    ExcelUtils.insertPicture(wb, sheet, confirm2, row.getRowNum(), 7, 1, 1);
+                    ExcelUtils.insertPicture(wb, sheet, confirm1, row.getRowNum(), 4, 1, 1);
+                    ExcelUtils.insertPicture(wb, sheet, confirm2, row.getRowNum(), 5, 1, 1);
                 } catch (NumberFormatException e) {
                     throw new RuntimeException(e);
                 }
-                row.createCell(8).setCellValue(DateUtils.dateTime(t.getConfirmationDate()));
-                row.createCell(9).setCellValue(t.getRemarks());
+                row.createCell(6).setCellValue(DateUtils.dateTime(t.getConfirmationDate()));
+                row.createCell(7).setCellValue(t.getRemarks());
 
 
                 //渲染样式
-                for (int i = 0; i < 10; i++) {
+                for (int i = 0; i < 8; i++) {
                     row.getCell(i).setCellStyle(originalStyle);
                 }
                 num++;

+ 7 - 7
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrSubcontentController.java

@@ -73,17 +73,16 @@ public class TPssrSubcontentController extends BaseController {
     @PreAuthorize("@ss.hasPermi('pssr:subcontent:list')")
     @GetMapping("/list")
     public TableDataInfo list(TPssrSubcontent tPssrSubcontent) {
-        if (tPssrSubcontent.getTaskType() == 1) {
+        if (tPssrSubcontent.getTaskType() != null && tPssrSubcontent.getTaskType() == 1) {
             Long userId = getUserId();
             TPssrAboveall aboveall = tPssrAboveallService.selectTPssrAboveallById(tPssrSubcontent.getAboveallId());
             if (userId.equals(aboveall.getPlantMgr())) {
-                tPssrSubcontent.setDeptUnit("Plant");
+                tPssrSubcontent.setDeptUnit("Production");
             } else if (userId.equals(aboveall.getCtmMgr())) {
                 tPssrSubcontent.setDeptUnit("CTM");
             } else if (userId.equals(aboveall.getCtaMgr())) {
                 tPssrSubcontent.setDeptUnit("CTA");
             }
-
         }
         startPage();
         List<TPssrSubcontent> list = tPssrSubcontentService.selectTPssrSubcontentList(tPssrSubcontent);
@@ -157,7 +156,7 @@ public class TPssrSubcontentController extends BaseController {
             tableRenderData.addRow(row);
 
             // 判断所属部门是否相同,记录索引
-            if (subcontent.getDeptUnit().equals("Plant")) plant = count;
+            if (subcontent.getDeptUnit().equals("Production")) plant = count;
             if (subcontent.getDeptUnit().equals("CTM")) ctm = count;
             if (subcontent.getDeptUnit().equals("CTA")) cta = count;
 
@@ -168,7 +167,7 @@ public class TPssrSubcontentController extends BaseController {
                 count++;
                 //根据当前数据所属部门添加经理审批行
                 RowRenderData signRow = Rows.of("", "装置经理确认:                    日期:", "", "", "", "").verticalCenter().textBold().rowExactHeight(1.1f).create();
-                if (subcontent.getDeptUnit().equals("Plant")) {
+                if (subcontent.getDeptUnit().equals("Production")) {
                     plant = count;
                     signRow = Rows.of("", "装置经理确认:                    日期:", "", "", "", "").verticalCenter().textBold().rowExactHeight(1.1f).create();
                 }
@@ -184,7 +183,7 @@ public class TPssrSubcontentController extends BaseController {
                 if (approve != null) {
                     SysUser sysUser = null;
                     //根据当前所属部门查询部门经理
-                    if (subcontent.getDeptUnit().equals("Plant")) {
+                    if (subcontent.getDeptUnit().equals("Production")) {
                         sysUser = sysUserService.selectUserById(Long.valueOf(aboveall.getPlantMgr()));
                         plantMgr = Pictures.ofLocal(FileUtils.fileName(sysUser.getSignUrl())).size(110, 30).create();
                     }
@@ -203,7 +202,7 @@ public class TPssrSubcontentController extends BaseController {
                         cell.addParagraph(new ParagraphRenderData().addText(text));
                         //数据列,该列内容为经理签字和日期
                         CellRenderData cell2 = new CellRenderData();
-                        if (subcontent.getDeptUnit().equals("Plant"))
+                        if (subcontent.getDeptUnit().equals("Production"))
                             cell2.addParagraph(new ParagraphRenderData().addText(Texts.of("装置经理确认:").create()).addPicture(mgr).addText("         日期:" + DateUtils.dateTime(aboveall.getConfirmationDate())));
                         if (subcontent.getDeptUnit().equals("CTM"))
                             cell2.addParagraph(new ParagraphRenderData().addText(Texts.of("CTM 经理确认:").create()).addPicture(mgr).addText("         日期:" + DateUtils.dateTime(aboveall.getConfirmationDate())));
@@ -246,6 +245,7 @@ public class TPssrSubcontentController extends BaseController {
 
         // 准备表格数据和其他参数
         params.put("unit", aboveall.getUnit());
+        params.put("region", aboveall.getRegion());
         params.put("subcontent", tableRenderData);
         params.put("plantMgr", plantMgr);
         params.put("confirmDate", DateUtils.dateTime(aboveall.getConfirmationDate()));

+ 10 - 0
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrLighting.java

@@ -17,6 +17,16 @@ public class TPssrLighting extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
+    public TPssrLighting() {
+    }
+
+    public TPssrLighting(Long subId, String checkContent, String createrCode, Date createdate) {
+        this.subId = subId;
+        this.checkContent = checkContent;
+        this.createrCode = createrCode;
+        this.createdate = createdate;
+    }
+
     /** 唯一标识ID */
     private Long id;
 

+ 11 - 0
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrPower.java

@@ -17,6 +17,17 @@ public class TPssrPower extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
+
+    public TPssrPower() {
+    }
+
+    public TPssrPower(Long subId, String checkContent, Date createdate, String createrCode) {
+        this.subId = subId;
+        this.checkContent = checkContent;
+        this.createdate = createdate;
+        this.createrCode = createrCode;
+    }
+
     /** 唯一标识ID */
     private Long id;
 

+ 10 - 0
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrPublic.java

@@ -118,6 +118,16 @@ public class TPssrPublic extends BaseEntity
 
     private Long taskType;
 
+    public TPssrPublic() {
+    }
+
+    public TPssrPublic(Long subId, String checkContent, String createrCode, Date createdate) {
+        this.subId = subId;
+        this.checkContent = checkContent;
+        this.createrCode = createrCode;
+        this.createdate = createdate;
+    }
+
     public String getConfirm1() {
         return confirm1;
     }

+ 11 - 0
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrTorchvoc.java

@@ -17,6 +17,17 @@ public class TPssrTorchvoc extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
+    public TPssrTorchvoc() {
+    }
+
+    public TPssrTorchvoc(Long subId, String torchvocType, String content, String createrCode, Date createdate) {
+        this.subId = subId;
+        this.torchvocType = torchvocType;
+        this.content = content;
+        this.createrCode = createrCode;
+        this.createdate = createdate;
+    }
+
     /** 唯一标识ID */
     private Long id;
 

+ 21 - 27
master/src/main/java/com/ruoyi/project/pssr/service/impl/TPssrPatrolServiceImpl.java

@@ -1,21 +1,19 @@
 package com.ruoyi.project.pssr.service.impl;
 
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
-
-import com.alibaba.fastjson.JSON;
 import com.ruoyi.project.patrol.patrol.domain.TPatrolMain;
 import com.ruoyi.project.patrol.patrol.domain.TPatrolPlan;
-import com.ruoyi.project.patrol.patrol.mapper.TPatrolPlanMapper;
 import com.ruoyi.project.patrol.patrol.service.ITPatrolMainService;
 import com.ruoyi.project.patrol.patrol.service.ITPatrolPlanService;
+import com.ruoyi.project.pssr.domain.TPssrPatrol;
+import com.ruoyi.project.pssr.mapper.TPssrPatrolMapper;
+import com.ruoyi.project.pssr.service.ITPssrPatrolService;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.ruoyi.project.pssr.mapper.TPssrPatrolMapper;
-import com.ruoyi.project.pssr.domain.TPssrPatrol;
-import com.ruoyi.project.pssr.service.ITPssrPatrolService;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
 
 /**
  * 巡检Service业务层处理
@@ -24,8 +22,7 @@ import com.ruoyi.project.pssr.service.ITPssrPatrolService;
  * @date 2024-09-18
  */
 @Service
-public class TPssrPatrolServiceImpl implements ITPssrPatrolService
-{
+public class TPssrPatrolServiceImpl implements ITPssrPatrolService {
     @Autowired
     private TPssrPatrolMapper tPssrPatrolMapper;
     @Autowired
@@ -40,8 +37,7 @@ public class TPssrPatrolServiceImpl implements ITPssrPatrolService
      * @return 巡检
      */
     @Override
-    public TPssrPatrol selectTPssrPatrolById(Long id)
-    {
+    public TPssrPatrol selectTPssrPatrolById(Long id) {
         return tPssrPatrolMapper.selectTPssrPatrolById(id);
     }
 
@@ -52,8 +48,7 @@ public class TPssrPatrolServiceImpl implements ITPssrPatrolService
      * @return 巡检
      */
     @Override
-    public List<TPssrPatrol> selectTPssrPatrolList(TPssrPatrol tPssrPatrol)
-    {
+    public List<TPssrPatrol> selectTPssrPatrolList(TPssrPatrol tPssrPatrol) {
         return tPssrPatrolMapper.selectTPssrPatrolList(tPssrPatrol);
     }
 
@@ -64,8 +59,7 @@ public class TPssrPatrolServiceImpl implements ITPssrPatrolService
      * @return 结果
      */
     @Override
-    public int insertTPssrPatrol(TPssrPatrol tPssrPatrol,String userId)
-    {
+    public int insertTPssrPatrol(TPssrPatrol tPssrPatrol, String userId) {
         //根据设备类型查询当月的巡检计划
         TPatrolPlan tPatrolPlan = new TPatrolPlan();
         tPatrolPlan.setPatrolType(tPssrPatrol.getPlanType().toString());
@@ -75,9 +69,12 @@ public class TPssrPatrolServiceImpl implements ITPssrPatrolService
         tPatrolPlan.setPlanQuarter((long) calendar.get(Calendar.MONTH) + 1);
         List<TPatrolPlan> tPatrolPlans = tPatrolPlanService.selectTPatrolPlanList(tPatrolPlan);
         Long planId = null;
+        Long approveStatus = 0L;
         //存在对应计划时,取已存在的计划
         if (CollectionUtils.isNotEmpty(tPatrolPlans)) {
-            planId = tPatrolPlans.get(0).getId();
+            TPatrolPlan plan = tPatrolPlans.get(0);
+            planId = plan.getId();
+            approveStatus = plan.getStatus() == 1 ? 2L : 0L;
         } else {
             //否则生成新的临时计划
             tPatrolPlan.setPlanName(getPlanName(tPssrPatrol.getPlanType().toString(), calendar));
@@ -85,14 +82,14 @@ public class TPssrPatrolServiceImpl implements ITPssrPatrolService
             planId = plan.getId();
         }
         tPssrPatrol.setPlanId(planId);
-        tPssrPatrol.setApproveStatus(0L);
-        tPssrPatrol.setPlanStatus(1L);
+        tPssrPatrol.setApproveStatus(approveStatus);
+        tPssrPatrol.setPlanStatus(approveStatus);
         return tPssrPatrolMapper.insertTPssrPatrol(tPssrPatrol);
     }
 
     // 根据巡检类型生成计划名称
     private String getPlanName(String planType, Calendar calendar) {
-        if (planType.equals("27")){
+        if (planType.equals("27")) {
             return calendar.get(Calendar.YEAR) + "年-" + (calendar.get(Calendar.MONTH) + 1) + "月-PSSR临时计划-急救箱检查记录";
         }
         TPatrolMain tPatrolMain = new TPatrolMain();
@@ -110,8 +107,7 @@ public class TPssrPatrolServiceImpl implements ITPssrPatrolService
      * @return 结果
      */
     @Override
-    public int updateTPssrPatrol(TPssrPatrol tPssrPatrol)
-    {
+    public int updateTPssrPatrol(TPssrPatrol tPssrPatrol) {
         return tPssrPatrolMapper.updateTPssrPatrol(tPssrPatrol);
     }
 
@@ -122,8 +118,7 @@ public class TPssrPatrolServiceImpl implements ITPssrPatrolService
      * @return 结果
      */
     @Override
-    public int deleteTPssrPatrolByIds(Long[] ids)
-    {
+    public int deleteTPssrPatrolByIds(Long[] ids) {
         return tPssrPatrolMapper.deleteTPssrPatrolByIds(ids);
     }
 
@@ -134,8 +129,7 @@ public class TPssrPatrolServiceImpl implements ITPssrPatrolService
      * @return 结果
      */
     @Override
-    public int deleteTPssrPatrolById(Long id)
-    {
+    public int deleteTPssrPatrolById(Long id) {
         return tPssrPatrolMapper.deleteTPssrPatrolById(id);
     }
 }

+ 8 - 9
master/src/main/java/com/ruoyi/project/training/bccnew/controller/TTsFlplanController.java

@@ -187,17 +187,16 @@ public class TTsFlplanController extends BaseController {
                     need.setTimerNeed(0.0);
                 if (need.getTimerNeed() != null && need.getTimerNeed() <= timer + 1 && need.getPlanStatus() == 0) {
                     need.setPlanStatus(2L);
-                }
-            }
-
 
-            sysUser = new SysUser();
-            sysUser.setNickName(need.getTrainer());
-            SysUser trainer = sysUserService.selectUserByStaffId(tTsNew.getMentorStaffId());
-            sysUser = new SysUser();
-            SysUser staff = sysUserService.selectUserByStaffId(tTsNew.getStaffId());
-            jiGuangPushService.send("导师带徒-导师带徒(分离)培训", staff.getNickName() + "的学习已完成,请进行线下考试,并上传成绩。", trainer.getUserId().toString());
+                    sysUser = new SysUser();
+                    sysUser.setNickName(need.getTrainer());
+                    SysUser trainer = sysUserService.selectUserByStaffId(tTsNew.getMentorStaffId());
+                    sysUser = new SysUser();
+                    SysUser staff = sysUserService.selectUserByStaffId(tTsNew.getStaffId());
+                    jiGuangPushService.send("导师带徒-导师带徒(分离)培训", staff.getNickName() + "的学习已完成,请进行线下考试,并上传成绩。", trainer.getUserId().toString());
 
+                }
+            }
             tTsFlplanService.updateTTsFlplan(need);
             return AjaxResult.success(need.getTimer());
         }

+ 8 - 9
master/src/main/java/com/ruoyi/project/training/bccnew/controller/TTsFtplanController.java

@@ -185,17 +185,16 @@ public class TTsFtplanController extends BaseController {
                     need.setTimerNeed(0.0);
                 if (need.getTimerNeed() != null && need.getTimerNeed() <= timer + 1 && need.getPlanStatus() == 0) {
                     need.setPlanStatus(2L);
-                }
-            }
-
 
-            sysUser = new SysUser();
-            sysUser.setNickName(need.getTrainer());
-            SysUser trainer = sysUserService.selectUserByStaffId(tTsNew.getMentorStaffId());
-            sysUser = new SysUser();
-            SysUser staff = sysUserService.selectUserByStaffId(tTsNew.getStaffId());
-            jiGuangPushService.send("导师带徒-导师带徒(芳烃)培训", staff.getNickName() + "的学习已完成,请进行线下考试,并上传成绩。", trainer.getUserId().toString());
+                    sysUser = new SysUser();
+                    sysUser.setNickName(need.getTrainer());
+                    SysUser trainer = sysUserService.selectUserByStaffId(tTsNew.getMentorStaffId());
+                    sysUser = new SysUser();
+                    SysUser staff = sysUserService.selectUserByStaffId(tTsNew.getStaffId());
+                    jiGuangPushService.send("导师带徒-导师带徒(芳烃)培训", staff.getNickName() + "的学习已完成,请进行线下考试,并上传成绩。", trainer.getUserId().toString());
 
+                }
+            }
             tTsFtplanService.updateTTsFtplan(need);
             return AjaxResult.success(need.getTimer());
         }

+ 9 - 8
master/src/main/java/com/ruoyi/project/training/bccnew/controller/TTsLjplanController.java

@@ -4,6 +4,7 @@ import com.ruoyi.common.jpush.JiGuangPushService;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.framework.web.page.TableDataInfo;
@@ -176,6 +177,7 @@ public class TTsLjplanController extends BaseController {
      */
     @Log(title = "裂解培训", businessType = BusinessType.UPDATE)
     @PutMapping("/updateLjLearnTime")
+    @RepeatSubmit
     public AjaxResult updateLjLearnTime(@RequestBody TTsLjplan tTsLjplan) {
         Long userId = getUserId();
         TTsNew tTsNew = tTsNewService.selectTTsNewById(tTsLjplan.getNewId());
@@ -189,17 +191,16 @@ public class TTsLjplanController extends BaseController {
                     need.setTimerNeed(0.0);
                 if (need.getTimerNeed() != null && need.getTimerNeed() <= timer + 1 && need.getPlanStatus() == 0) {
                     need.setPlanStatus(2L);
+
+                    sysUser = new SysUser();
+                    sysUser.setNickName(need.getTrainer());
+                    SysUser trainer = sysUserService.selectUserByStaffId(tTsNew.getMentorStaffId());
+                    sysUser = new SysUser();
+                    SysUser staff = sysUserService.selectUserByStaffId(tTsNew.getStaffId());
+                    jiGuangPushService.send("导师带徒-导师带徒(裂解)培训", staff.getNickName() + "的学习已完成,请进行线下考试,并上传成绩。", trainer.getUserId().toString());
                 }
             }
 
-
-            sysUser = new SysUser();
-            sysUser.setNickName(need.getTrainer());
-            SysUser trainer = sysUserService.selectUserByStaffId(tTsNew.getMentorStaffId());
-            sysUser = new SysUser();
-            SysUser staff = sysUserService.selectUserByStaffId(tTsNew.getStaffId());
-            jiGuangPushService.send("导师带徒-导师带徒(裂解)培训", staff.getNickName() + "的学习已完成,请进行线下考试,并上传成绩。", trainer.getUserId().toString());
-
             tTsLjplanService.updateTTsLjplan(need);
             return AjaxResult.success(need.getTimer());
         }

+ 9 - 8
master/src/main/java/com/ruoyi/project/training/bccnew/controller/TTsYsplanController.java

@@ -4,6 +4,7 @@ import com.ruoyi.common.jpush.JiGuangPushService;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.framework.web.page.TableDataInfo;
@@ -187,17 +188,16 @@ public class TTsYsplanController extends BaseController {
                     need.setTimerNeed(0.0);
                 if (need.getTimerNeed() != null && need.getTimerNeed() <= timer + 1 && need.getPlanStatus() == 0) {
                     need.setPlanStatus(2L);
+
+                    sysUser = new SysUser();
+                    sysUser.setNickName(need.getTrainer());
+                    SysUser trainer = sysUserService.selectUserByStaffId(tTsNew.getMentorStaffId());
+                    sysUser = new SysUser();
+                    SysUser staff = sysUserService.selectUserByStaffId(tTsNew.getStaffId());
+                    jiGuangPushService.send("导师带徒-导师带徒(压缩)培训", staff.getNickName() + "的学习已完成,请进行线下考试,并上传成绩。", trainer.getUserId().toString());
                 }
             }
 
-
-            sysUser = new SysUser();
-            sysUser.setNickName(need.getTrainer());
-            SysUser trainer = sysUserService.selectUserByStaffId(tTsNew.getMentorStaffId());
-            sysUser = new SysUser();
-            SysUser staff = sysUserService.selectUserByStaffId(tTsNew.getStaffId());
-            jiGuangPushService.send("导师带徒-导师带徒(压缩)培训", staff.getNickName() + "的学习已完成,请进行线下考试,并上传成绩。", trainer.getUserId().toString());
-
             tTsYsplanService.updateTTsYsplan(need);
             return AjaxResult.success(need.getTimer());
         }
@@ -209,6 +209,7 @@ public class TTsYsplanController extends BaseController {
      */
     @Log(title = "转岗培训", businessType = BusinessType.UPDATE)
     @PutMapping
+    @RepeatSubmit
     public AjaxResult edit(@RequestBody TTsYsplan tTsYsplan) {
         if (CollectionUtils.isNotEmpty(tTsYsplan.getContents())) {
             for (TTsYsplanContent content : tTsYsplan.getContents()) {

BIN
master/src/main/resources/static/word/pssr/mb.xlsx


BIN
master/src/main/resources/static/word/pssr/pssrConfirm.docx


BIN
master/src/main/resources/static/word/pssr/sbqjd.xlsx


+ 4 - 1
ui/src/views/pssr/blind/index.vue

@@ -149,11 +149,14 @@
       <el-table-column label="隔离类型" align="center" prop="isoType" :show-overflow-tooltip="true" width="150"/>
       <el-table-column label="尺寸" align="center" prop="blindSize" :show-overflow-tooltip="true" width="150"/>
       <el-table-column label="压力等级" align="center" prop="pressureRate" :show-overflow-tooltip="true" width="150"/>
+      <el-table-column label="压力等级" align="center" prop="blindType" :show-overflow-tooltip="true" width="150"/>
       <el-table-column label="介质" align="center" prop="medium" :show-overflow-tooltip="true" width="150"/>
       <el-table-column label="“8”字盲板" align="center" prop="figure" :show-overflow-tooltip="true" width="150"/>
       <el-table-column label="PID" align="center" prop="pidNo" :show-overflow-tooltip="true" width="150"/>
       <el-table-column label="位置" align="center" prop="location" :show-overflow-tooltip="true" width="150"/>
-      <el-table-column label="是否承压" align="center" prop="pressurized" :show-overflow-tooltip="true" width="150"/>
+      <el-table-column label="开车前状态" align="center" prop="startupStatus" :show-overflow-tooltip="true" width="150"/>
+      <el-table-column label="实际状态" align="center" prop="actualStatus" :show-overflow-tooltip="true" width="150"/>
+      <el-table-column label="是否满足" align="center" prop="satisfy" :show-overflow-tooltip="true" width="150"/>
       <el-table-column label="拆装人员" align="center" prop="inConfirm1" :show-overflow-tooltip="true"
                        width="150">
         <template slot-scope="scope">

+ 18 - 20
ui/src/views/pssr/cleaning/index.vue

@@ -28,24 +28,24 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="设备位号" prop="devNo">
-        <el-input
-          v-model="queryParams.devNo"
-          placeholder="请输入设备位号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="编号" prop="serialNumber">
-        <el-input
-          v-model="queryParams.serialNumber"
-          placeholder="请输入编号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
+<!--      <el-form-item label="设备位号" prop="devNo">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.devNo"-->
+<!--          placeholder="请输入设备位号"-->
+<!--          clearable-->
+<!--          size="small"-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="编号" prop="serialNumber">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.serialNumber"-->
+<!--          placeholder="请输入编号"-->
+<!--          clearable-->
+<!--          size="small"-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
       <el-form-item label="检查内容" prop="checkContent">
         <el-input
           v-model="queryParams.checkContent"
@@ -256,8 +256,6 @@
         </template>
       </el-table-column>
       <el-table-column label="单元号" align="center" prop="unit" :show-overflow-tooltip="true" width="100"/>
-      <el-table-column label="设备位号" align="center" prop="devNo" :show-overflow-tooltip="true" width="100"/>
-      <el-table-column label="编号" align="center" prop="serialNumber" :show-overflow-tooltip="true" width="60"/>
       <el-table-column label="检查内容" align="center" prop="checkContent" :show-overflow-tooltip="true"/>
       <el-table-column label="检查结果" align="center" prop="checkResult" :show-overflow-tooltip="true"/>
       <el-table-column label="确认人1" align="center" prop="confirm1" :show-overflow-tooltip="true"

+ 2 - 8
ui/src/views/pssr/material/index.vue

@@ -192,14 +192,14 @@
             v-hasPermi="['pssr:material:edit']"
           >修改
           </el-button>
-<!--          <el-button
+          <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['pssr:material:remove']"
           >删除
-          </el-button>-->
+          </el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -400,12 +400,6 @@ export default {
       form: {},
       // 表单校验
       rules: {
-        note: [
-          {required: true, message: "Note不能为空", trigger: "blur"}
-        ],
-        quantity: [
-          {required: true, message: "Quantity不能为空", trigger: "blur"}
-        ],
         confirm1: [
           {required: true, message: "确认人1不能为空", trigger: "blur"}
         ],

+ 2 - 8
ui/src/views/pssr/materialRaw/index.vue

@@ -192,14 +192,14 @@
             v-hasPermi="['pssr:materialRaw:edit']"
           >修改
           </el-button>
-<!--          <el-button
+          <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['pssr:materialRaw:remove']"
           >删除
-          </el-button>-->
+          </el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -428,12 +428,6 @@ export default {
       form: {},
       // 表单校验
       rules: {
-        note: [
-          {required: true, message: "Note不能为空", trigger: "blur"}
-        ],
-        quantity: [
-          {required: true, message: "Quantity不能为空", trigger: "blur"}
-        ],
         confirm1: [
           {required: true, message: "确认人1不能为空", trigger: "blur"}
         ],

+ 1 - 1
ui/src/views/pssr/measure/index.vue

@@ -121,7 +121,7 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <h2>现场管道和设备保温防护检查表</h2>
+      <h2>现场转动设备防护措施检查表</h2>
       <br>
       <span>填写要求:现场转动设备的防护装置符合检查内容要求的在检查项中打“✔”,不符合打“×”。<br>
         如果检查不符合,并联系相关责任人按照该条检查内容的要求进行整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。</span>

+ 3 - 3
ui/src/views/pssr/moc/index.vue

@@ -447,9 +447,9 @@ export default {
         region: null,
         mocNo: null,
         title: null,
-        docUpdate: "0",
-        training: "0",
-        pssr: "0",
+        docUpdate: null,
+        training: null,
+        pssr: null,
         confirm1: null,
         confirm2: null,
         confirmationDate: null,

+ 9 - 9
ui/src/views/pssr/overhaulExchanger/index.vue

@@ -143,15 +143,15 @@
         >驳回
         </el-button>
       </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          icon="el-icon-upload"
-          size="mini"
-          @click="handleDoc"
-        >附件
-        </el-button>
-      </el-col>
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="primary"-->
+<!--          icon="el-icon-upload"-->
+<!--          size="mini"-->
+<!--          @click="handleDoc"-->
+<!--        >附件-->
+<!--        </el-button>-->
+<!--      </el-col>-->
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
     <div style="width: 100%;text-align: center;margin-bottom: 15px">

+ 9 - 9
ui/src/views/pssr/overhaulFilter/index.vue

@@ -126,15 +126,15 @@
         >确认
         </el-button>
       </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          icon="el-icon-upload"
-          size="mini"
-          @click="handleDoc"
-        >附件
-        </el-button>
-      </el-col>
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="primary"-->
+<!--          icon="el-icon-upload"-->
+<!--          size="mini"-->
+<!--          @click="handleDoc"-->
+<!--        >附件-->
+<!--        </el-button>-->
+<!--      </el-col>-->
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
     <div style="width: 100%;text-align: center;margin-bottom: 15px">

+ 9 - 9
ui/src/views/pssr/overhaulTower/index.vue

@@ -127,15 +127,15 @@
         >确认
         </el-button>
       </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          icon="el-icon-upload"
-          size="mini"
-          @click="handleDoc"
-        >附件
-        </el-button>
-      </el-col>
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="primary"-->
+<!--          icon="el-icon-upload"-->
+<!--          size="mini"-->
+<!--          @click="handleDoc"-->
+<!--        >附件-->
+<!--        </el-button>-->
+<!--      </el-col>-->
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 

+ 23 - 56
ui/src/views/pssr/overhaulValve/index.vue

@@ -124,15 +124,15 @@
         >确认
         </el-button>
       </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          icon="el-icon-upload"
-          size="mini"
-          @click="handleDoc"
-        >附件
-        </el-button>
-      </el-col>
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="primary"-->
+<!--          icon="el-icon-upload"-->
+<!--          size="mini"-->
+<!--          @click="handleDoc"-->
+<!--        >附件-->
+<!--        </el-button>-->
+<!--      </el-col>-->
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
@@ -147,25 +147,15 @@
           <dict-tag :options="dict.type.pssr_approve_status" :value="scope.row.approveStatus" :show-type="getTagType(scope.row.approveStatus)"/>
         </template>
       </el-table-column>
-      <el-table-column label="升级改型更换/更换/维修" align="center" prop="changeType" :show-overflow-tooltip="true"
-                       width="180"/>
-      <el-table-column label="连接形式" align="center" prop="connectionForm" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="ITP" align="center" prop="itp" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="施工队" align="center" prop="constructionTeam" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="项目" align="center" prop="item" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="装置" align="center" prop="plant" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="阀门位置" align="center" prop="valvePosition" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="阀门信息描述" align="center" prop="vavleInfoDes" :show-overflow-tooltip="true"
-                       width="180"/>
       <el-table-column label="类型" align="center" prop="type" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="尺寸" align="center" prop="pipeSize" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="等级" align="center" prop="valveClass" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="需求数量" align="center" prop="quantityRequired" :show-overflow-tooltip="true"
-                       width="180"/>
-      <el-table-column label="缺陷和常见故障" align="center" prop="faultCommon" :show-overflow-tooltip="true"
-                       width="180"/>
-      <el-table-column label="介质" align="center" prop="medium" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="图号" align="center" prop="pidNo" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="阀门位置" align="center" prop="valvePosition" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="升级改型更换/更换/维修" align="center" prop="changeType" :show-overflow-tooltip="true"
+                       width="180"/>
       <el-table-column label="完成日期" align="center" prop="doneDate" width="100">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.doneDate, '{y}-{m}-{d}') }}</span>
@@ -208,38 +198,14 @@
     <!-- 添加或修改检修项目-阀门对话框 -->
     <el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="130px">
-        <el-form-item label="升级改型更换/更换/维修" prop="changeType">
-          <el-select v-model="form.changeType" placeholder="请选择升级改型更换/更换/维修" clearable size="small">
-            <el-option label="升级改型更换" value="升级改型更换"/>
-            <el-option label="更换" value="更换"/>
-            <el-option label="维修" value="维修"/>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="连接形式" prop="connectionForm">
-          <el-input v-model="form.connectionForm" placeholder="请输入连接形式"/>
-        </el-form-item>
-        <el-form-item label="ITP" prop="itp">
-          <el-input v-model="form.itp" placeholder="请输入ITP"/>
-        </el-form-item>
-        <el-form-item label="施工队" prop="constructionTeam">
-          <el-input v-model="form.constructionTeam" placeholder="请输入施工队"/>
-        </el-form-item>
         <el-form-item label="项目" prop="item">
           <el-input v-model="form.item" placeholder="请输入项目"/>
         </el-form-item>
         <el-form-item label="装置" prop="plant">
           <el-input v-model="form.plant" placeholder="请输入装置"/>
         </el-form-item>
-        <el-form-item label="阀门位置" prop="valvePosition">
-          <el-input v-model="form.valvePosition" placeholder="请输入阀门位置"/>
-        </el-form-item>
-        <el-form-item label="阀门信息描述" prop="vavleInfoDes">
-          <el-input v-model="form.vavleInfoDes" placeholder="请输入阀门信息描述"/>
-        </el-form-item>
         <el-form-item label="类型" prop="type">
-          <el-select v-model="form.type" placeholder="请选择类型">
-            <el-option label="请选择字典生成" value=""/>
-          </el-select>
+          <el-input v-model="form.type" placeholder="请输入类型"/>
         </el-form-item>
         <el-form-item label="尺寸" prop="pipeSize">
           <el-input v-model="form.pipeSize" placeholder="请输入尺寸"/>
@@ -247,18 +213,19 @@
         <el-form-item label="等级" prop="valveClass">
           <el-input v-model="form.valveClass" placeholder="请输入等级"/>
         </el-form-item>
-        <el-form-item label="需求数量" prop="quantityRequired">
-          <el-input v-model="form.quantityRequired" placeholder="请输入需求数量"/>
-        </el-form-item>
-        <el-form-item label="缺陷和常见故障" prop="faultCommon">
-          <el-input v-model="form.faultCommon" placeholder="请输入缺陷和常见故障"/>
-        </el-form-item>
-        <el-form-item label="介质" prop="medium">
-          <el-input v-model="form.medium" placeholder="请输入介质"/>
-        </el-form-item>
         <el-form-item label="图号" prop="pidNo">
           <el-input v-model="form.pidNo" placeholder="请输入图号"/>
         </el-form-item>
+        <el-form-item label="阀门位置" prop="valvePosition">
+          <el-input v-model="form.valvePosition" placeholder="请输入阀门位置"/>
+        </el-form-item>
+        <el-form-item label="升级改型更换/更换/维修" prop="changeType">
+          <el-select v-model="form.changeType" placeholder="请选择升级改型更换/更换/维修" clearable size="small">
+            <el-option label="升级改型更换" value="升级改型更换"/>
+            <el-option label="更换" value="更换"/>
+            <el-option label="维修" value="维修"/>
+          </el-select>
+        </el-form-item>
         <el-form-item label="完成日期" prop="doneDate">
           <el-date-picker clearable size="small" style="width: 200px"
                           v-model="form.doneDate"

+ 1 - 0
ui/src/views/pssr/patrol/index.vue

@@ -21,6 +21,7 @@
       <el-table-column label="巡检类型" align="center" prop="planType" :show-overflow-tooltip="true" :formatter="patrolTypeFormatter"/>
       <el-table-column label="巡检状态" align="center" prop="planStatus" :show-overflow-tooltip="true" >
         <template slot-scope="scope">
+          <el-tag v-if="scope.row.planStatus==0" type="info">未确认</el-tag>
           <el-tag v-if="scope.row.planStatus==1">待确认</el-tag>
           <el-tag v-if="scope.row.planStatus==2" type="success">已确认</el-tag>
         </template>

+ 35 - 2
ui/src/views/pssr/pssrModel/index.vue

@@ -81,7 +81,7 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="pssrModelList" @selection-change="handleSelectionChange" :height="clientHeight"
+    <el-table :span-method="mergeMethod" v-loading="loading" :data="pssrModelList" @selection-change="handleSelectionChange" :height="clientHeight"
               border>
       <el-table-column type="selection" width="55" align="center"/>
       <el-table-column label="所属部门" align="center" prop="deptUnit" :show-overflow-tooltip="true" width="200"/>
@@ -460,7 +460,40 @@ export default {
     // 提交上传文件
     submitFileForm() {
       this.$refs.upload.submit();
-    }
+    },
+    //合并单元格
+    mergeMethod({row, column, rowIndex, columnIndex}) {
+      if ([1].includes(columnIndex)) {
+        const _row = this.setTable(this.subcontentList).merge[rowIndex];
+        const _col = _row > 0 ? 1 : 0;
+        return {
+          rowspan: _row,
+          colspan: _col
+        };
+      }
+    },
+    //单元格整理
+    setTable(tableData) {
+      let spanArr = [],
+        concat = 0;
+      tableData.forEach((item, index) => {
+        if (index === 0) {
+          spanArr.push(1);
+        } else {
+          if (item.deptUnit === tableData[index - 1].deptUnit) {
+            //第一列需合并相同内容的判断条件
+            spanArr[concat] += 1;
+            spanArr.push(0);
+          } else {
+            spanArr.push(1);
+            concat = index;
+          }
+        }
+      });
+      return {
+        merge: spanArr
+      };
+    },
   }
 };
 </script>

+ 35 - 2
ui/src/views/pssr/subcontent/index.vue

@@ -60,7 +60,7 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="subcontentList" @selection-change="handleSelectionChange"
+    <el-table :span-method="mergeMethod" v-loading="loading" :data="subcontentList" @selection-change="handleSelectionChange"
               :height="ch" border>
       <el-table-column type="selection" width="55" align="center"/>
       <el-table-column label="部门" align="center" prop="deptUnit" :show-overflow-tooltip="true" width="80"/>
@@ -481,7 +481,40 @@ export default {
     // 提交上传文件
     submitFileForm() {
       this.$refs.upload.submit();
-    }
+    },
+    //合并单元格
+    mergeMethod({row, column, rowIndex, columnIndex}) {
+      if ([1].includes(columnIndex)) {
+        const _row = this.setTable(this.subcontentList).merge[rowIndex];
+        const _col = _row > 0 ? 1 : 0;
+        return {
+          rowspan: _row,
+          colspan: _col
+        };
+      }
+    },
+    //单元格整理
+    setTable(tableData) {
+      let spanArr = [],
+        concat = 0;
+      tableData.forEach((item, index) => {
+        if (index === 0) {
+          spanArr.push(1);
+        } else {
+          if (item.deptUnit === tableData[index - 1].deptUnit) {
+            //第一列需合并相同内容的判断条件
+            spanArr[concat] += 1;
+            spanArr.push(0);
+          } else {
+            spanArr.push(1);
+            concat = index;
+          }
+        }
+      });
+      return {
+        merge: spanArr
+      };
+    },
   }
 };
 </script>