ly 1 anno fa
parent
commit
0c11aac0d0

+ 1 - 1
cpms-admin/pom.xml

@@ -126,4 +126,4 @@
         <finalName>${project.artifactId}</finalName>
     </build>
 
-</project>
+</project>

+ 78 - 5
cpms-admin/src/main/java/com/cpms/project/process/controller/TClassdOverviewController.java

@@ -1,16 +1,18 @@
 package com.cpms.project.process.controller;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.List;
 import java.util.ArrayList;
 import com.alibaba.fastjson2.JSON;
 import com.cpms.common.utils.file.ExcelUtils;
 import com.cpms.common.utils.DateUtils;
 import javax.servlet.http.HttpServletResponse;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
+
+import com.cpms.project.process.domain.TValveCsocsc;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.streaming.SXSSFWorkbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -34,7 +36,7 @@ import com.cpms.common.core.page.TableDataInfo;
 
 /**
  * Class D overview listController
- * 
+ *
  * @author admin
  * @date 2024-04-16
  */
@@ -70,6 +72,77 @@ public class TClassdOverviewController extends BaseController
         util.exportExcel(response, list, "Class D overview list数据");
     }
 
+    /**
+     * 导出Class D overview list列表
+     */
+    @PreAuthorize("@ss.hasPermi('process:classd:export')")
+    @Log(title = "Class D overview list", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportTmpl")
+    public void exportTmpl(HttpServletResponse response, TClassdOverview tClassdOverview)
+    {
+        List<TClassdOverview> list = tClassdOverviewService.selectTClassdOverviewList(tClassdOverview);
+        try {
+            String tempUrl = "static/template/process/classdExport.xlsx"; // 模板文件
+            InputStream is = null;
+            is = Thread.currentThread().getContextClassLoader().getResourceAsStream(tempUrl);
+            XSSFWorkbook wb1 = null;
+            wb1 = new XSSFWorkbook(is);
+            SXSSFWorkbook wb = new SXSSFWorkbook(wb1, 1000);
+
+            Sheet sheet;
+            if (wb instanceof SXSSFWorkbook) {
+                SXSSFWorkbook sxssfWorkbook = (SXSSFWorkbook) wb;
+                sheet = sxssfWorkbook.getXSSFWorkbook().getSheetAt(0);
+            } else {
+                sheet = wb.getSheetAt(0);
+            }
+
+            //填充数据
+            int rowIndex = 3;
+            int num = 1;
+
+            Row originalRow = sheet.getRow(3);
+            Cell originalcell = originalRow.getCell(0);
+            // 获取单元格样式
+            CellStyle originalStyle = originalcell.getCellStyle();
+
+            for (TClassdOverview t: list
+            ) {
+                Row row = sheet.createRow(rowIndex);
+                row.createCell(0).setCellValue(num);
+                row.createCell(1).setCellValue(t.getDiscussionItem());
+                row.createCell(2).setCellValue(t.getHazard());
+                row.createCell(3).setCellValue(t.getCause());
+                row.createCell(4).setCellValue(t.getConsequence());
+                row.createCell(5).setCellValue(t.getP());
+                row.createCell(6).setCellValue(t.getJustificationP());
+                row.createCell(7).setCellValue(t.getS());
+                row.createCell(8).setCellValue(t.getJustificationS());
+                row.createCell(9).setCellValue(t.getRc());
+                row.createCell(10).setCellValue(t.getCountermeasure());
+
+                row.createCell(11).setCellValue(t.getRemarks());
+
+
+                //渲染样式
+                for (int i = 0; i < 12; i++) {
+                    row.getCell(i).setCellStyle(originalStyle);
+                }
+                num++;
+                rowIndex++;
+            }
+
+            // 生成文件返回下载地址
+            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+            response.setCharacterEncoding("utf-8");
+            wb.write(response.getOutputStream());
+            wb.close();
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
     /**
      * 获取Class D overview list详细信息
      */

+ 80 - 4
cpms-admin/src/main/java/com/cpms/project/process/controller/TLockValveController.java

@@ -2,6 +2,7 @@ package com.cpms.project.process.controller;
 
 import com.alibaba.fastjson2.JSON;
 import com.cpms.common.annotation.Log;
+import com.cpms.common.config.RuoYiConfig;
 import com.cpms.common.core.controller.BaseController;
 import com.cpms.common.core.domain.AjaxResult;
 import com.cpms.common.core.page.TableDataInfo;
@@ -11,17 +12,18 @@ import com.cpms.common.utils.file.ExcelUtils;
 import com.cpms.common.utils.poi.ExcelUtil;
 import com.cpms.project.process.domain.TLockValve;
 import com.cpms.project.process.service.ITLockValveService;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.streaming.SXSSFWorkbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
+import java.io.File;
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -60,6 +62,80 @@ public class TLockValveController extends BaseController {
         util.exportExcel(response, list, "阀门锁开锁关状态记录数据");
     }
 
+    /**
+     * 导出阀门锁开锁关状态记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('process:valve:export')")
+    @Log(title = "阀门锁开锁关状态记录", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportTmpl")
+    public void exportTmpl(HttpServletResponse response, TLockValve tLockValve) {
+        List<TLockValve> list = tLockValveService.selectTLockValveList(tLockValve);
+        try {
+            String tempUrl = "static/template/process/valveExport.xlsx"; // 模板文件
+            InputStream is = null;
+            is = Thread.currentThread().getContextClassLoader().getResourceAsStream(tempUrl);
+            XSSFWorkbook wb1 = null;
+            wb1 = new XSSFWorkbook(is);
+            SXSSFWorkbook wb = new SXSSFWorkbook(wb1, 1000);
+
+            Sheet sheet;
+            if (wb instanceof SXSSFWorkbook) {
+                SXSSFWorkbook sxssfWorkbook = (SXSSFWorkbook) wb;
+                sheet = sxssfWorkbook.getXSSFWorkbook().getSheetAt(0);
+            } else {
+                sheet = wb.getSheetAt(0);
+            }
+
+            //填充数据
+            int rowIndex = 6;
+            int num = 1;
+
+            Row originalRow = sheet.getRow(6);
+            Cell originalcell = originalRow.getCell(0);
+            // 获取单元格样式
+            CellStyle originalStyle = originalcell.getCellStyle();
+
+            for (TLockValve t: list
+                 ) {
+                Row row = sheet.createRow(rowIndex);
+                row.createCell(0).setCellValue(num);
+                row.createCell(1).setCellValue(t.getUnit());
+                row.createCell(2).setCellValue(t.getVtNo());
+                row.createCell(3).setCellValue(t.getPidNo());
+                row.createCell(4).setCellValue(t.getLocationDes());
+                row.createCell(5).setCellValue(t.getMedium());
+                row.createCell(6).setCellValue(t.getValveType());
+                row.createCell(7).setCellValue(t.getValveSize());
+                row.createCell(8).setCellValue(t.getIdentifier());
+                row.createCell(9).setCellValue(t.getValvePosition());
+                row.createCell(10).setCellValue(t.getFirmlySecured());
+                row.createCell(11).setCellValue(t.getResponsibility());
+                row.createCell(12).setCellValue(t.getCheckedBy());
+                row.createCell(13).setCellValue(t.getCheckBeforeSu());
+                row.createCell(14).setCellValue(t.getPidStatus());
+                row.createCell(15).setCellValue(t.getRiskLevel());
+                row.createCell(16).setCellValue(t.getSheReview());
+                row.createCell(17).setCellValue(t.getRemarks());
+
+                //渲染样式
+                for (int i = 0; i < 18; i++) {
+                    row.getCell(i).setCellStyle(originalStyle);
+                }
+                num++;
+                rowIndex++;
+            }
+
+            // 生成文件返回下载地址
+            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+            response.setCharacterEncoding("utf-8");
+            wb.write(response.getOutputStream());
+            wb.close();
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
     /**
      * 获取阀门锁开锁关状态记录详细信息
      */

+ 122 - 4
cpms-admin/src/main/java/com/cpms/project/process/controller/TSifOverviewController.java

@@ -12,12 +12,13 @@ import com.cpms.common.utils.poi.ExcelUtil;
 import com.cpms.project.process.domain.TSifOverview;
 import com.cpms.project.process.domain.TSifVo;
 import com.cpms.project.process.domain.TSisRecord;
+import com.cpms.project.process.domain.TValveCsocsc;
 import com.cpms.project.process.service.ITSifOverviewService;
 import com.cpms.project.process.service.ITSisRecordService;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.ss.util.CellRangeAddress;
+import org.apache.poi.xssf.streaming.SXSSFWorkbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -25,6 +26,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -66,6 +68,122 @@ public class TSifOverviewController extends BaseController {
         util.exportExcel(response, list, "SIF Overview List数据");
     }
 
+    /**
+     * 导出SIF Overview List列表
+     */
+    @PreAuthorize("@ss.hasPermi('process:sifList:export')")
+    @Log(title = "SIF Overview List", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportTmpl")
+    public void exportTmpl(HttpServletResponse response, TSifOverview tSifOverview) {
+        List<TSifVo> list = tSifOverviewService.selectTSifOverviewList(tSifOverview);
+        try {
+            String tempUrl = "static/template/process/sisListExport.xlsx"; // 模板文件
+            InputStream is = null;
+            is = Thread.currentThread().getContextClassLoader().getResourceAsStream(tempUrl);
+            XSSFWorkbook wb1 = null;
+            wb1 = new XSSFWorkbook(is);
+            SXSSFWorkbook wb = new SXSSFWorkbook(wb1, 1000);
+
+            Sheet sheet;
+            if (wb instanceof SXSSFWorkbook) {
+                SXSSFWorkbook sxssfWorkbook = (SXSSFWorkbook) wb;
+                sheet = sxssfWorkbook.getXSSFWorkbook().getSheetAt(0);
+            } else {
+                sheet = wb.getSheetAt(0);
+            }
+
+            //填充数据
+            int rowIndex = 1;
+            int num = 1;
+
+            Row originalRow = sheet.getRow(1);
+            Cell originalcell = originalRow.getCell(0);
+            // 获取单元格样式
+            CellStyle originalStyle = originalcell.getCellStyle();
+
+            for (TSifVo t: list
+            ) {
+                Row row = sheet.createRow(rowIndex);
+                row.createCell(0).setCellValue(t.getSifNo());
+                row.createCell(1).setCellValue(t.getPlant());
+                row.createCell(2).setCellValue(t.getSifTag());
+                row.createCell(3).setCellValue(t.getDeviation());
+                row.createCell(4).setCellValue(t.getRiskAnalysis());
+                row.createCell(5).setCellValue(t.getCauseConsequence());
+                row.createCell(6).setCellValue(t.getRequiredSil());
+                row.createCell(7).setCellValue(t.getAcheievedSil());
+                row.createCell(8).setCellValue(t.getPfdavg());
+                row.createCell(9).setCellValue(t.getSensorTag());
+                row.createCell(10).setCellValue(t.getType());
+                row.createCell(11).setCellValue(t.getService());
+                row.createCell(12).setCellValue(t.getVotingQ());
+                row.createCell(13).setCellValue(t.getCondition());
+                row.createCell(14).setCellValue(t.getMainPti());
+                row.createCell(15).setCellValue(t.getFinalElementTag());
+                row.createCell(16).setCellValue(t.gethType());
+                row.createCell(17).setCellValue(t.gethService());
+                row.createCell(18).setCellValue(t.getVotingH());
+                row.createCell(19).setCellValue(t.getAction());
+                row.createCell(20).setCellValue(t.getMainPtiH());
+                row.createCell(21).setCellValue(t.getRemarks());
+                row.createCell(22).setCellValue(t.getVer());
+                row.createCell(23).setCellValue(t.getFilter());
+
+                //渲染样式
+                for (int i = 0; i < 24; i++) {
+                    row.getCell(i).setCellStyle(originalStyle);
+                }
+                num++;
+                rowIndex++;
+            }
+
+            //合并操作
+            rowIndex = 1;
+            String sn = list.get(0).getSifNo();
+            int firstRow = 1;
+            for (TSifVo t: list
+            ) {
+                if (sn.equals(t.getSifNo())) {
+
+                }else {
+                    //合并
+                    addRegion(sheet,firstRow,rowIndex);
+                    sn = t.getSifNo();
+                    firstRow = rowIndex + 1;
+                }
+                rowIndex++;
+            }
+
+            // 生成文件返回下载地址
+            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+            response.setCharacterEncoding("utf-8");
+            wb.write(response.getOutputStream());
+            wb.close();
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private void addRegion(Sheet sheet, int firstRow, int rowIndex) {
+        logger.info("起始行:" + firstRow);
+        logger.info("结束行:" +rowIndex);
+        if (firstRow == rowIndex) {
+            return;
+        }
+        // 合并区域从第0行第0列到第0行第3列
+        for (int i = 0; i < 9; i++) {
+            CellRangeAddress mergedRegion = new CellRangeAddress(
+                    firstRow, // 起始行
+                    rowIndex, // 结束行
+                    i, // 起始列
+                    i  // 结束列
+            );
+            sheet.addMergedRegion(mergedRegion);
+        }
+
+    }
+
     /**
      * 获取SIF Overview List详细信息
      */

+ 80 - 4
cpms-admin/src/main/java/com/cpms/project/process/controller/TValveCsocscController.java

@@ -10,11 +10,11 @@ import com.cpms.common.utils.DateUtils;
 import com.cpms.common.utils.file.ExcelUtils;
 import com.cpms.common.utils.poi.ExcelUtil;
 import com.cpms.project.process.domain.TValveCsocsc;
+import com.cpms.project.process.domain.TValveNonc;
 import com.cpms.project.process.service.ITValveCsocscService;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.streaming.SXSSFWorkbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -22,6 +22,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -60,6 +61,81 @@ public class TValveCsocscController extends BaseController {
         util.exportExcel(response, list, "阀门铅封开关状态记录数据");
     }
 
+    /**
+     * 导出阀门铅封开关状态记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('process:csocsc:export')")
+    @Log(title = "阀门铅封开关状态记录", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportTmpl")
+    public void exportTmpl(HttpServletResponse response, TValveCsocsc tValveCsocsc) {
+        List<TValveCsocsc> list = tValveCsocscService.selectTValveCsocscList(tValveCsocsc);
+        try {
+            String tempUrl = "static/template/process/csocscExport.xlsx"; // 模板文件
+            InputStream is = null;
+            is = Thread.currentThread().getContextClassLoader().getResourceAsStream(tempUrl);
+            XSSFWorkbook wb1 = null;
+            wb1 = new XSSFWorkbook(is);
+            SXSSFWorkbook wb = new SXSSFWorkbook(wb1, 1000);
+
+            Sheet sheet;
+            if (wb instanceof SXSSFWorkbook) {
+                SXSSFWorkbook sxssfWorkbook = (SXSSFWorkbook) wb;
+                sheet = sxssfWorkbook.getXSSFWorkbook().getSheetAt(0);
+            } else {
+                sheet = wb.getSheetAt(0);
+            }
+
+            //填充数据
+            int rowIndex = 5;
+            int num = 1;
+
+            Row originalRow = sheet.getRow(5);
+            Cell originalcell = originalRow.getCell(0);
+            // 获取单元格样式
+            CellStyle originalStyle = originalcell.getCellStyle();
+
+            for (TValveCsocsc t: list
+            ) {
+                Row row = sheet.createRow(rowIndex);
+                row.createCell(0).setCellValue(num);
+                row.createCell(1).setCellValue(t.getUnit());
+                row.createCell(2).setCellValue(t.getVtNo());
+                row.createCell(3).setCellValue(t.getPidNo());
+                row.createCell(4).setCellValue(t.getLocationDes());
+                row.createCell(5).setCellValue(t.getMedium());
+                row.createCell(6).setCellValue(t.getValveType());
+                row.createCell(7).setCellValue(t.getValveSize());
+                row.createCell(8).setCellValue(t.getIdentifier());
+                row.createCell(9).setCellValue(t.getValvePosition());
+                row.createCell(10).setCellValue(t.getFirmlySecured());
+
+                row.createCell(11).setCellValue(t.getResponsibility());
+                row.createCell(12).setCellValue(t.getCheckedBy());
+                row.createCell(13).setCellValue(t.getCheckBeforeSu());
+                row.createCell(14).setCellValue(t.getPidStatus());
+                row.createCell(15).setCellValue(t.getRiskLevel());
+                row.createCell(16).setCellValue(t.getSheReview());
+                row.createCell(17).setCellValue(t.getRemarks());
+
+                //渲染样式
+                for (int i = 0; i < 18; i++) {
+                    row.getCell(i).setCellStyle(originalStyle);
+                }
+                num++;
+                rowIndex++;
+            }
+
+            // 生成文件返回下载地址
+            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+            response.setCharacterEncoding("utf-8");
+            wb.write(response.getOutputStream());
+            wb.close();
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
     /**
      * 获取阀门铅封开关状态记录详细信息
      */

+ 77 - 5
cpms-admin/src/main/java/com/cpms/project/process/controller/TValveNoncController.java

@@ -1,15 +1,17 @@
 package com.cpms.project.process.controller;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.List;
 import java.util.ArrayList;
 import com.alibaba.fastjson2.JSON;
 import com.cpms.common.utils.file.ExcelUtils;
 import javax.servlet.http.HttpServletResponse;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
+
+import com.cpms.project.process.domain.TLockValve;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.streaming.SXSSFWorkbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -33,7 +35,7 @@ import com.cpms.common.core.page.TableDataInfo;
 
 /**
  * 阀门常开/常关状态记录Controller
- * 
+ *
  * @author admin
  * @date 2024-04-11
  */
@@ -69,6 +71,76 @@ public class TValveNoncController extends BaseController
         util.exportExcel(response, list, "阀门常开常关状态记录数据");
     }
 
+    /**
+     * 导出阀门常开/常关状态记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('process:nonc:export')")
+    @Log(title = "阀门常开/常关状态记录", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportTmpl")
+    public void exportTmpl(HttpServletResponse response, TValveNonc tValveNonc)
+    {
+        List<TValveNonc> list = tValveNoncService.selectTValveNoncList(tValveNonc);
+        try {
+            String tempUrl = "static/template/process/noncExport.xlsx"; // 模板文件
+            InputStream is = null;
+            is = Thread.currentThread().getContextClassLoader().getResourceAsStream(tempUrl);
+            XSSFWorkbook wb1 = null;
+            wb1 = new XSSFWorkbook(is);
+            SXSSFWorkbook wb = new SXSSFWorkbook(wb1, 1000);
+
+            Sheet sheet;
+            if (wb instanceof SXSSFWorkbook) {
+                SXSSFWorkbook sxssfWorkbook = (SXSSFWorkbook) wb;
+                sheet = sxssfWorkbook.getXSSFWorkbook().getSheetAt(0);
+            } else {
+                sheet = wb.getSheetAt(0);
+            }
+
+            //填充数据
+            int rowIndex = 4;
+            int num = 1;
+
+            Row originalRow = sheet.getRow(4);
+            Cell originalcell = originalRow.getCell(0);
+            // 获取单元格样式
+            CellStyle originalStyle = originalcell.getCellStyle();
+
+            for (TValveNonc t: list
+            ) {
+                Row row = sheet.createRow(rowIndex);
+                row.createCell(0).setCellValue(num);
+                row.createCell(1).setCellValue(t.getVtNo());
+                row.createCell(2).setCellValue(t.getPidNo());
+                row.createCell(3).setCellValue(t.getLocationAt());
+                row.createCell(4).setCellValue(t.getMedium());
+                row.createCell(5).setCellValue(t.getValveType());
+                row.createCell(6).setCellValue(t.getValveSize());
+                row.createCell(7).setCellValue(t.getResponsibility());
+                row.createCell(8).setCellValue(t.getPidStatus());
+                row.createCell(9).setCellValue(t.getRiskLevel());
+                row.createCell(10).setCellValue(t.getRemarks());
+
+
+                //渲染样式
+                for (int i = 0; i < 11; i++) {
+                    row.getCell(i).setCellStyle(originalStyle);
+                }
+                num++;
+                rowIndex++;
+            }
+
+            // 生成文件返回下载地址
+            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+            response.setCharacterEncoding("utf-8");
+            wb.write(response.getOutputStream());
+            wb.close();
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+    }
+
     /**
      * 获取阀门常开/常关状态记录详细信息
      */

+ 72 - 47
cpms-admin/src/main/java/com/cpms/project/process/domain/TValveCsocsc.java

@@ -9,7 +9,7 @@ import com.cpms.common.core.domain.BaseEntity;
 
 /**
  * 阀门铅封开关状态记录对象 t_valve_csocsc
- * 
+ *
  * @author admin
  * @date 2024-04-11
  */
@@ -72,6 +72,15 @@ public class TValveCsocsc extends BaseEntity
     @Excel(name = "PID图纸状态")
     private String pidStatus;
 
+    /** 开车前检查 */
+    @Excel(name = "开车前检查")
+    private String checkBeforeSu;
+
+
+    /** SHE Review */
+    @Excel(name = "SHE Review")
+    private String sheReview;
+
     /** 风险等级 */
     @Excel(name = "风险等级")
     private String riskLevel;
@@ -110,214 +119,230 @@ public class TValveCsocsc extends BaseEntity
     @Excel(name = "部门编号")
     private Long deptId;
 
-    public void setId(Long id) 
+    public void setId(Long id)
     {
         this.id = id;
     }
 
-    public Long getId() 
+    public Long getId()
     {
         return id;
     }
-    public void setUnit(String unit) 
+    public void setUnit(String unit)
     {
         this.unit = unit;
     }
 
-    public String getUnit() 
+    public String getUnit()
     {
         return unit;
     }
-    public void setVtNo(String vtNo) 
+    public void setVtNo(String vtNo)
     {
         this.vtNo = vtNo;
     }
 
-    public String getVtNo() 
+    public String getVtNo()
     {
         return vtNo;
     }
-    public void setPidNo(String pidNo) 
+    public void setPidNo(String pidNo)
     {
         this.pidNo = pidNo;
     }
 
-    public String getPidNo() 
+    public String getPidNo()
     {
         return pidNo;
     }
-    public void setLocationDes(String locationDes) 
+    public void setLocationDes(String locationDes)
     {
         this.locationDes = locationDes;
     }
 
-    public String getLocationDes() 
+    public String getLocationDes()
     {
         return locationDes;
     }
-    public void setMedium(String medium) 
+    public void setMedium(String medium)
     {
         this.medium = medium;
     }
 
-    public String getMedium() 
+    public String getMedium()
     {
         return medium;
     }
-    public void setValveType(String valveType) 
+    public void setValveType(String valveType)
     {
         this.valveType = valveType;
     }
 
-    public String getValveType() 
+    public String getValveType()
     {
         return valveType;
     }
-    public void setValveSize(String valveSize) 
+    public void setValveSize(String valveSize)
     {
         this.valveSize = valveSize;
     }
 
-    public String getValveSize() 
+    public String getValveSize()
     {
         return valveSize;
     }
-    public void setIdentifier(String identifier) 
+    public void setIdentifier(String identifier)
     {
         this.identifier = identifier;
     }
 
-    public String getIdentifier() 
+    public String getIdentifier()
     {
         return identifier;
     }
-    public void setValvePosition(String valvePosition) 
+    public void setValvePosition(String valvePosition)
     {
         this.valvePosition = valvePosition;
     }
 
-    public String getValvePosition() 
+    public String getValvePosition()
     {
         return valvePosition;
     }
-    public void setFirmlySecured(String firmlySecured) 
+    public void setFirmlySecured(String firmlySecured)
     {
         this.firmlySecured = firmlySecured;
     }
 
-    public String getFirmlySecured() 
+    public String getFirmlySecured()
     {
         return firmlySecured;
     }
-    public void setResponsibility(String responsibility) 
+    public void setResponsibility(String responsibility)
     {
         this.responsibility = responsibility;
     }
 
-    public String getResponsibility() 
+    public String getResponsibility()
     {
         return responsibility;
     }
-    public void setCheckedBy(String checkedBy) 
+    public void setCheckedBy(String checkedBy)
     {
         this.checkedBy = checkedBy;
     }
 
-    public String getCheckedBy() 
+    public String getCheckedBy()
     {
         return checkedBy;
     }
-    public void setPidStatus(String pidStatus) 
+    public void setPidStatus(String pidStatus)
     {
         this.pidStatus = pidStatus;
     }
 
-    public String getPidStatus() 
+    public String getPidStatus()
     {
         return pidStatus;
     }
-    public void setRiskLevel(String riskLevel) 
+    public void setRiskLevel(String riskLevel)
     {
         this.riskLevel = riskLevel;
     }
 
-    public String getRiskLevel() 
+    public String getRiskLevel()
     {
         return riskLevel;
     }
-    public void setCheckDate(Date checkDate) 
+    public void setCheckDate(Date checkDate)
     {
         this.checkDate = checkDate;
     }
 
-    public Date getCheckDate() 
+    public Date getCheckDate()
     {
         return checkDate;
     }
-    public void setRemarks(String remarks) 
+    public void setRemarks(String remarks)
     {
         this.remarks = remarks;
     }
 
-    public String getRemarks() 
+    public String getRemarks()
     {
         return remarks;
     }
-    public void setDelFlag(Integer delFlag) 
+    public void setDelFlag(Integer delFlag)
     {
         this.delFlag = delFlag;
     }
 
-    public Integer getDelFlag() 
+    public Integer getDelFlag()
     {
         return delFlag;
     }
-    public void setCreaterCode(String createrCode) 
+    public void setCreaterCode(String createrCode)
     {
         this.createrCode = createrCode;
     }
 
-    public String getCreaterCode() 
+    public String getCreaterCode()
     {
         return createrCode;
     }
-    public void setCreatedate(Date createdate) 
+    public void setCreatedate(Date createdate)
     {
         this.createdate = createdate;
     }
 
-    public Date getCreatedate() 
+    public Date getCreatedate()
     {
         return createdate;
     }
-    public void setUpdaterCode(String updaterCode) 
+    public void setUpdaterCode(String updaterCode)
     {
         this.updaterCode = updaterCode;
     }
 
-    public String getUpdaterCode() 
+    public String getUpdaterCode()
     {
         return updaterCode;
     }
-    public void setUpdatedate(Date updatedate) 
+    public void setUpdatedate(Date updatedate)
     {
         this.updatedate = updatedate;
     }
 
-    public Date getUpdatedate() 
+    public Date getUpdatedate()
     {
         return updatedate;
     }
-    public void setDeptId(Long deptId) 
+    public void setDeptId(Long deptId)
     {
         this.deptId = deptId;
     }
 
-    public Long getDeptId() 
+    public Long getDeptId()
     {
         return deptId;
     }
 
+    public String getCheckBeforeSu() {
+        return checkBeforeSu;
+    }
+
+    public void setCheckBeforeSu(String checkBeforeSu) {
+        this.checkBeforeSu = checkBeforeSu;
+    }
+
+    public String getSheReview() {
+        return sheReview;
+    }
+
+    public void setSheReview(String sheReview) {
+        this.sheReview = sheReview;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

BIN
cpms-admin/src/main/resources/static/template/process/classdExport.xlsx


BIN
cpms-admin/src/main/resources/static/template/process/csocscExport.xlsx


BIN
cpms-admin/src/main/resources/static/template/process/noncExport.xlsx


BIN
cpms-admin/src/main/resources/static/template/process/sisListExport.xlsx


BIN
cpms-admin/src/main/resources/static/template/process/valveExport.xlsx


+ 6 - 1
cpms-ui/src/views/process/classd/index.vue

@@ -79,6 +79,11 @@
     <el-table v-loading="loading" :data="classdList" @selection-change="handleSelectionChange" :height="clientHeight"
               border>
       <el-table-column type="selection" width="55" align="center" fixed="left"/>
+      <el-table-column label="序号" align="center" type="index" width="50">
+        <template slot-scope="scope">
+          {{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}
+        </template>
+      </el-table-column>
       <el-table-column :label="'Discussion item\n'" align="center" prop="discussionItem" width="150"/>
       <el-table-column :label="'Hazard\n'" align="center" prop="hazard" width="200"/>
       <el-table-column :label="'Cause\n'" align="center" prop="cause" width="250"/>
@@ -400,7 +405,7 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      this.download('process/classd/export', {
+      this.download('process/classd/exportTmpl', {
         ...this.queryParams
       }, `classd_${new Date().getTime()}.xlsx`)
     },

+ 6 - 1
cpms-ui/src/views/process/csocsc/index.vue

@@ -95,6 +95,11 @@
     <el-table v-loading="loading" :data="csocscList" @selection-change="handleSelectionChange" :height="clientHeight"
               border>
       <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="序号" align="center" type="index" width="50">
+        <template slot-scope="scope">
+          {{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}
+        </template>
+      </el-table-column>
       <el-table-column :label="'单元\nUnit'" align="center" prop="unit" width="180"/>
       <el-table-column :label="'阀门标签号\nValveTag Number'" align="center" prop="vtNo" width="180"/>
       <el-table-column :label="'PID管线号\nP&ID/ Pipe line'" align="center" prop="pidNo" width="180"/>
@@ -464,7 +469,7 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      this.download('process/csocsc/export', {
+      this.download('process/csocsc/exportTmpl', {
         ...this.queryParams
       }, `csocsc_${new Date().getTime()}.xlsx`)
     },

+ 17 - 12
cpms-ui/src/views/process/nonc/index.vue

@@ -114,17 +114,22 @@
 
     <el-table v-loading="loading" :data="noncList" @selection-change="handleSelectionChange" :height="clientHeight" border>
       <el-table-column type="selection" width="55" align="center"  fixed="left"/>
-      <el-table-column :label="'阀门标签号\nValveTag Number'" align="center" prop="vtNo" />
-      <el-table-column :label="'图纸管线号\nPipe line'" align="center" prop="pidNo" />
-      <el-table-column :label="'位置\nLocation at'" align="center" prop="locationAt" />
-      <el-table-column :label="'介质\nMeDium'" align="center" prop="medium" />
-      <el-table-column :label="'阀门类型\nValve Type'" align="center" prop="valveType" />
-      <el-table-column :label="'阀门尺寸\nValve size'" align="center" prop="valveSize" />
-      <el-table-column :label="'负责人\nResponsibility'" align="center" prop="responsibility" />
-      <el-table-column :label="'PID图纸状态\nStatus on PID'" align="center" prop="pidStatus" />
-      <el-table-column :label="'风险等级\nValve Risk level'" align="center" prop="riskLevel" />
-      <el-table-column :label="'备注\nRemark'" align="center" prop="remarks" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
+      <el-table-column label="序号" align="center" type="index" width="50">
+        <template slot-scope="scope">
+          {{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}
+        </template>
+      </el-table-column>
+      <el-table-column :label="'阀门标签号\nValveTag Number'" align="center" prop="vtNo" width="180" />
+      <el-table-column :label="'图纸管线号\nPipe line'" align="center" prop="pidNo" width="180" />
+      <el-table-column :label="'位置\nLocation at'" align="center" prop="locationAt" width="180" />
+      <el-table-column :label="'介质\nMeDium'" align="center" prop="medium" width="180" />
+      <el-table-column :label="'阀门类型\nValve Type'" align="center" prop="valveType" width="180" />
+      <el-table-column :label="'阀门尺寸\nValve size'" align="center" prop="valveSize" width="180" />
+      <el-table-column :label="'负责人\nResponsibility'" align="center" prop="responsibility" width="180" />
+      <el-table-column :label="'PID图纸状态\nStatus on PID'" align="center" prop="pidStatus" width="180" />
+      <el-table-column :label="'风险等级\nValve Risk level'" align="center" prop="riskLevel" width="180" />
+      <el-table-column :label="'备注\nRemark'" align="center" prop="remarks" width="180" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180" fixed="right">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -426,7 +431,7 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      this.download('process/nonc/export', {
+      this.download('process/nonc/exportTmpl', {
         ...this.queryParams
       }, `nonc_${new Date().getTime()}.xlsx`)
     },

+ 16 - 21
cpms-ui/src/views/process/sifList/index.vue

@@ -86,17 +86,17 @@
         >导入
         </el-button>
       </el-col>
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="warning"-->
-<!--          plain-->
-<!--          icon="el-icon-download"-->
-<!--          size="mini"-->
-<!--          @click="handleExport"-->
-<!--          v-hasPermi="['process:sifList:export']"-->
-<!--        >导出-->
-<!--        </el-button>-->
-<!--      </el-col>-->
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['process:sifList:export']"
+        >导出
+        </el-button>
+      </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
@@ -118,8 +118,8 @@
       <el-table-column :label="'表决\nVoting'" align="center" prop="votingQ" width="180"/>
       <el-table-column :label="'联锁条件\nCondition'" align="center" prop="condition" width="180"/>
       <el-table-column :label="'测试周期\nMain PTI'" align="center" prop="mainPti" width="180"/>
-<!--      <el-table-column :label="'最终元件位号\nFinal Element(s) Tag'" align="center" prop="finalElementTag" width="180"/>-->
-      <el-table-column label="h" align="center" prop="h" width="180"/>
+      <el-table-column :label="'最终元件位号\nFinal Element(s) Tag '" align="center" prop="finalElementTag" width="180"/>
+<!--      <el-table-column label="h" align="center" prop="h" width="180"/>-->
       <el-table-column :label="'类型\nType'" align="center" prop="hType" width="180"/>
       <el-table-column :label="'用途\nService'" align="center" prop="hService" width="180"/>
       <el-table-column :label="'表决\nVoting'" align="center" prop="votingH" width="180"/>
@@ -282,14 +282,9 @@
                 <el-input v-model="recordForm.mainPti" placeholder="请输入测试周期"/>
               </el-form-item>
             </el-col>
-<!--            <el-col :span="8">-->
-<!--              <el-form-item label="最终元件位号" prop="finalElementTag">-->
-<!--                <el-input v-model="recordForm.finalElementTag" placeholder="请输入最终元件位号"/>-->
-<!--              </el-form-item>-->
-<!--            </el-col>-->
             <el-col :span="8">
-              <el-form-item label="h" prop="h">
-                <el-input v-model="recordForm.h" placeholder="请输入h"/>
+              <el-form-item label="最终元件位号" prop="finalElementTag">
+                <el-input v-model="recordForm.finalElementTag" placeholder="请输入最终元件位号"/>
               </el-form-item>
             </el-col>
           </el-row>
@@ -643,7 +638,7 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      this.download('process/sifList/export', {
+      this.download('process/sifList/exportTmpl', {
         ...this.queryParams
       }, `sifList_${new Date().getTime()}.xlsx`)
     },

+ 6 - 1
cpms-ui/src/views/process/valve/index.vue

@@ -103,6 +103,11 @@
     <el-table v-loading="loading" :data="valveList" @selection-change="handleSelectionChange" :height="clientHeight"
               border>
       <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="序号" align="center" type="index" width="50">
+        <template slot-scope="scope">
+          {{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}
+        </template>
+      </el-table-column>
       <el-table-column :label="'单元\nunit'" align="center" prop="unit" width="180"/>
       <el-table-column :label="'阀门标签号\nValveTag Numbe'" align="center" prop="vtNo" width="180"/>
       <el-table-column :label="'PID管线号\nP&ID/Pipe line'" align="center" prop="pidNo" width="180"/>
@@ -516,7 +521,7 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      this.download('process/valve/export', {
+      this.download('process/valve/exportTmpl', {
         ...this.queryParams
       }, `valve_${new Date().getTime()}.xlsx`)
     }

+ 5 - 3
pom.xml

@@ -3,14 +3,14 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
-	
+
     <groupId>com.newcpms</groupId>
     <artifactId>cpms</artifactId>
     <version>3.8.7</version>
 
     <name>newcpms</name>
     <description>CPMS管理系统</description>
-    
+
     <properties>
         <cpms.version>3.8.7</cpms.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -169,6 +169,8 @@
                 <version>${cpms.version}</version>
             </dependency>
 
+
+
         </dependencies>
     </dependencyManagement>
 
@@ -222,4 +224,4 @@
         </pluginRepository>
     </pluginRepositories>
 
-</project>
+</project>