Browse Source

PSSR修改仪表检验审批

jiangbiao 5 months ago
parent
commit
9f30f9ddd5

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

@@ -2231,15 +2231,29 @@ public class TPssrApproveController extends BaseController {
                     subTitle = "23仪表校验/";
                     TPssrInstrumentCalibration calibration = new TPssrInstrumentCalibration();
                     calibration.setSubId(tPssrSubcontent.getId());//子表id
+                    //调节阀
+                    calibration.setDevType("1");
                     result = instrumentCalibrationController.export(calibration);
                     msg = (String) result.get("msg");
                     path = downloadPath + msg;
-//                    this.copyFileIgnoreException(path, rootPath + subTitle + msg, files, rootPath + subTitle + msg);
-                    try {
-                        Files.copy(Paths.get(path), Paths.get(rootPath + subTitle + msg), StandardCopyOption.REPLACE_EXISTING);//拷贝导出的文件
-                    } catch (IOException e) {
-                        throw new Exception(e);
-                    }
+                    this.copyFileIgnoreException(path, rootPath + subTitle + msg, files, rootPath + subTitle + msg);
+                    //液位计
+                    calibration.setDevType("2");
+                    result = instrumentCalibrationController.export(calibration);
+                    msg = (String) result.get("msg");
+                    path = downloadPath + msg;
+                    this.copyFileIgnoreException(path, rootPath + subTitle + msg, files, rootPath + subTitle + msg);
+                    //流量计
+                    calibration.setDevType("3");
+                    result = instrumentCalibrationController.export(calibration);
+                    msg = (String) result.get("msg");
+                    path = downloadPath + msg;
+                    this.copyFileIgnoreException(path, rootPath + subTitle + msg, files, rootPath + subTitle + msg);
+//                    try {
+//                        Files.copy(Paths.get(path), Paths.get(rootPath + subTitle + msg), StandardCopyOption.REPLACE_EXISTING);//拷贝导出的文件
+//                    } catch (IOException e) {
+//                        throw new Exception(e);
+//                    }
 //                    files.add(new File(rootPath + subTitle + msg));
                     break;
                 case "yblscs"://仪表联锁测试
@@ -2255,7 +2269,7 @@ public class TPssrApproveController extends BaseController {
                         try {
                             Files.copy(Paths.get(newFileUrl), Paths.get(rootPath + subTitle + fileUrl.substring(fileUrl.lastIndexOf("/"))), StandardCopyOption.REPLACE_EXISTING);//拷贝导出的文件
                         } catch (IOException e) {
-                            throw new Exception(e);
+                            logger.error(e.getMessage());
                         }
                     }
                     break;
@@ -2268,8 +2282,12 @@ public class TPssrApproveController extends BaseController {
                     for (TPssrAlarm a : alarms) {
                         String fileUrl = a.getFileUrl();
                         String newFileUrl = getProfile() + fileUrl.replace("/profile", "");
-                        this.copyFileIgnoreException(path, rootPath + subTitle + msg, files, rootPath + subTitle + msg);
-//                        Files.copy(Paths.get(newFileUrl), Paths.get(rootPath + subTitle + fileUrl.substring(fileUrl.lastIndexOf("/"))), StandardCopyOption.REPLACE_EXISTING);//拷贝导出的文件
+//                        this.copyFileIgnoreException(path, rootPath + subTitle + msg, files, rootPath + subTitle + msg);
+                        try {
+                            Files.copy(Paths.get(newFileUrl), Paths.get(rootPath + subTitle + fileUrl.substring(fileUrl.lastIndexOf("/"))), StandardCopyOption.REPLACE_EXISTING);//拷贝导出的文件
+                        } catch (IOException e) {
+                            logger.error(e.getMessage());
+                        }
                     }
                     break;
                 case "lsdy"://临时电源

+ 379 - 365
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrInstrumentCalibrationController.java

@@ -10,6 +10,7 @@ import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.framework.web.page.TableDataInfo;
+import com.ruoyi.project.listener.pssr.ConfirmTaskCreateListener;
 import com.ruoyi.project.pssr.domain.TPssrApprove;
 import com.ruoyi.project.pssr.domain.TPssrInstrumentCalibration;
 import com.ruoyi.project.pssr.domain.TPssrSubcontent;
@@ -20,9 +21,9 @@ import com.ruoyi.project.system.domain.SysDept;
 import com.ruoyi.project.system.domain.SysUser;
 import com.ruoyi.project.system.service.ISysDeptService;
 import com.ruoyi.project.system.service.ISysUserService;
-import org.activiti.engine.ProcessEngine;
-import org.activiti.engine.ProcessEngines;
-import org.activiti.engine.TaskService;
+import org.activiti.engine.*;
+import org.activiti.engine.impl.identity.Authentication;
+import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.task.Task;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.poi.ss.usermodel.*;
@@ -75,6 +76,12 @@ public class TPssrInstrumentCalibrationController extends BaseController {
     @Autowired
     private ISysUserService userService;
 
+    @Autowired
+    private RuntimeService runtimeService;
+
+    @Autowired
+    private HistoryService historyService;
+
     /**
      * 批量导入
      */
@@ -183,410 +190,417 @@ public class TPssrInstrumentCalibrationController extends BaseController {
         return AjaxResult.error("导出失败,请联系管理员!");
     }
 
-        public String exportTmpl1 (List < TPssrInstrumentCalibration > list) {
-            OutputStream out = null;
-            String filename = null;
-            try {
-                String tempUrl = "static/word/pssr/ybjytjf.xlsx"; // 模板文件
-                InputStream is = null;
-                is = Thread.currentThread().getContextClassLoader().getResourceAsStream(tempUrl);
-                XSSFWorkbook wb = null;
-                wb = new XSSFWorkbook(is);
-                XSSFSheet sheet = wb.getSheetAt(0);
-
-                //填充数据
-                int rowIndex = 2;
-                int num = 1;
-
-                Row originalRow = sheet.getRow(2);
-                Cell originalcell = originalRow.getCell(0);
-                // 获取单元格样式
-                CellStyle originalStyle = originalcell.getCellStyle();
-
-                for (TPssrInstrumentCalibration t : list) {
-                    Row row = sheet.createRow(rowIndex);
-                    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.getVisualInspection());
-                    row.createCell(4).setCellValue(t.getFlowCheck());
-                    row.createCell(5).setCellValue(t.getFileCheck());
-                    row.createCell(6).setCellValue(t.getFunctionalCheck());
-                    row.createCell(7);
-                    row.createCell(8);
-                    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(), 7, 1, 1);
-                        ExcelUtils.insertPicture(wb, sheet, confirm2, row.getRowNum(), 8, 1, 1);
-                    } catch (NumberFormatException e) {
-                        throw new RuntimeException(e);
-                    }
-                    row.createCell(9).setCellValue(DateUtils.dateTime(t.getConfirmationDate()));
-                    row.createCell(10).setCellValue(t.getRemarks());
+    public String exportTmpl1(List<TPssrInstrumentCalibration> list) {
+        OutputStream out = null;
+        String filename = null;
+        try {
+            String tempUrl = "static/word/pssr/ybjytjf.xlsx"; // 模板文件
+            InputStream is = null;
+            is = Thread.currentThread().getContextClassLoader().getResourceAsStream(tempUrl);
+            XSSFWorkbook wb = null;
+            wb = new XSSFWorkbook(is);
+            XSSFSheet sheet = wb.getSheetAt(0);
+
+            //填充数据
+            int rowIndex = 2;
+            int num = 1;
+
+            Row originalRow = sheet.getRow(2);
+            Cell originalcell = originalRow.getCell(0);
+            // 获取单元格样式
+            CellStyle originalStyle = originalcell.getCellStyle();
+
+            for (TPssrInstrumentCalibration t : list) {
+                Row row = sheet.createRow(rowIndex);
+                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.getVisualInspection());
+                row.createCell(4).setCellValue(t.getFlowCheck());
+                row.createCell(5).setCellValue(t.getFileCheck());
+                row.createCell(6).setCellValue(t.getFunctionalCheck());
+                row.createCell(7);
+                row.createCell(8);
+                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(), 7, 1, 1);
+                    ExcelUtils.insertPicture(wb, sheet, confirm2, row.getRowNum(), 8, 1, 1);
+                } catch (NumberFormatException e) {
+                    throw new RuntimeException(e);
+                }
+                row.createCell(9).setCellValue(DateUtils.dateTime(t.getConfirmationDate()));
+                row.createCell(10).setCellValue(t.getRemarks());
 
 
-                    //渲染样式
-                    for (int i = 0; i < 11; i++) {
-                        row.getCell(i).setCellStyle(originalStyle);
-                    }
-                    num++;
-                    rowIndex++;
+                //渲染样式
+                for (int i = 0; i < 11; i++) {
+                    row.getCell(i).setCellStyle(originalStyle);
                 }
-                filename = "PSSR_23_仪表校验_调节阀" + ".xlsx";
-                out = new FileOutputStream(ExcelUtil.getAbsoluteFile(filename));
-                wb.write(out);
-                wb.close();
-
-            } catch (IOException e) {
-                e.printStackTrace();
+                num++;
+                rowIndex++;
             }
-            return filename;
+            filename = "PSSR_23_仪表校验_调节阀" + ".xlsx";
+            out = new FileOutputStream(ExcelUtil.getAbsoluteFile(filename));
+            wb.write(out);
+            wb.close();
+
+        } catch (IOException e) {
+            e.printStackTrace();
         }
+        return filename;
+    }
 
-        public String exportTmpl2 (List < TPssrInstrumentCalibration > list) {
-            OutputStream out = null;
-            String filename = null;
-            try {
-                String tempUrl = "static/word/pssr/ybjyywj.xlsx"; // 模板文件
-                InputStream is = null;
-                is = Thread.currentThread().getContextClassLoader().getResourceAsStream(tempUrl);
-                XSSFWorkbook wb = null;
-                wb = new XSSFWorkbook(is);
-                XSSFSheet 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 (TPssrInstrumentCalibration t : list) {
-                    Row row = sheet.createRow(rowIndex);
-                    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.getVisualInspection());
-                    row.createCell(4).setCellValue(t.getInstallationInspection());
-                    row.createCell(5).setCellValue(t.getFunctionalCheck());
-                    row.createCell(6);
-                    row.createCell(7);
-                    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);
-                    } catch (NumberFormatException e) {
-                        throw new RuntimeException(e);
-                    }
-                    row.createCell(8).setCellValue(DateUtils.dateTime(t.getConfirmationDate()));
-                    row.createCell(9).setCellValue(t.getRemarks());
+    public String exportTmpl2(List<TPssrInstrumentCalibration> list) {
+        OutputStream out = null;
+        String filename = null;
+        try {
+            String tempUrl = "static/word/pssr/ybjyywj.xlsx"; // 模板文件
+            InputStream is = null;
+            is = Thread.currentThread().getContextClassLoader().getResourceAsStream(tempUrl);
+            XSSFWorkbook wb = null;
+            wb = new XSSFWorkbook(is);
+            XSSFSheet 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 (TPssrInstrumentCalibration t : list) {
+                Row row = sheet.createRow(rowIndex);
+                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.getVisualInspection());
+                row.createCell(4).setCellValue(t.getInstallationInspection());
+                row.createCell(5).setCellValue(t.getFunctionalCheck());
+                row.createCell(6);
+                row.createCell(7);
+                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);
+                } catch (NumberFormatException e) {
+                    throw new RuntimeException(e);
+                }
+                row.createCell(8).setCellValue(DateUtils.dateTime(t.getConfirmationDate()));
+                row.createCell(9).setCellValue(t.getRemarks());
 
 
-                    //渲染样式
-                    for (int i = 0; i < 10; i++) {
-                        row.getCell(i).setCellStyle(originalStyle);
-                    }
-                    num++;
-                    rowIndex++;
+                //渲染样式
+                for (int i = 0; i < 10; i++) {
+                    row.getCell(i).setCellStyle(originalStyle);
                 }
-                filename = "PSSR_23_仪表校验_液位计" + ".xlsx";
-                out = new FileOutputStream(ExcelUtil.getAbsoluteFile(filename));
-                wb.write(out);
-                wb.close();
-
-            } catch (IOException e) {
-                e.printStackTrace();
+                num++;
+                rowIndex++;
             }
-            return filename;
+            filename = "PSSR_23_仪表校验_液位计" + ".xlsx";
+            out = new FileOutputStream(ExcelUtil.getAbsoluteFile(filename));
+            wb.write(out);
+            wb.close();
+
+        } catch (IOException e) {
+            e.printStackTrace();
         }
+        return filename;
+    }
 
-        public String exportTmpl3 (List < TPssrInstrumentCalibration > list) {
-            OutputStream out = null;
-            String filename = null;
-            try {
-                String tempUrl = "static/word/pssr/ybjyllj.xlsx"; // 模板文件
-                InputStream is = null;
-                is = Thread.currentThread().getContextClassLoader().getResourceAsStream(tempUrl);
-                XSSFWorkbook wb = null;
-                wb = new XSSFWorkbook(is);
-                XSSFSheet sheet = wb.getSheetAt(0);
-
-                //填充数据
-                int rowIndex = 2;
-                int num = 1;
-
-                Row originalRow = sheet.getRow(2);
-                Cell originalcell = originalRow.getCell(0);
-                // 获取单元格样式
-                CellStyle originalStyle = originalcell.getCellStyle();
-
-                for (TPssrInstrumentCalibration t : list) {
-                    Row row = sheet.createRow(rowIndex);
-                    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.getVisualInspection());
-                    row.createCell(4).setCellValue(t.getInstallationInspection());
-                    row.createCell(5).setCellValue(t.getFunctionalCheck());
-                    row.createCell(6);
-                    row.createCell(7);
-                    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);
-                    } catch (NumberFormatException e) {
-                        throw new RuntimeException(e);
-                    }
-                    row.createCell(8).setCellValue(DateUtils.dateTime(t.getConfirmationDate()));
-                    row.createCell(9).setCellValue(t.getRemarks());
+    public String exportTmpl3(List<TPssrInstrumentCalibration> list) {
+        OutputStream out = null;
+        String filename = null;
+        try {
+            String tempUrl = "static/word/pssr/ybjyllj.xlsx"; // 模板文件
+            InputStream is = null;
+            is = Thread.currentThread().getContextClassLoader().getResourceAsStream(tempUrl);
+            XSSFWorkbook wb = null;
+            wb = new XSSFWorkbook(is);
+            XSSFSheet sheet = wb.getSheetAt(0);
+
+            //填充数据
+            int rowIndex = 2;
+            int num = 1;
+
+            Row originalRow = sheet.getRow(2);
+            Cell originalcell = originalRow.getCell(0);
+            // 获取单元格样式
+            CellStyle originalStyle = originalcell.getCellStyle();
+
+            for (TPssrInstrumentCalibration t : list) {
+                Row row = sheet.createRow(rowIndex);
+                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.getVisualInspection());
+                row.createCell(4).setCellValue(t.getInstallationInspection());
+                row.createCell(5).setCellValue(t.getFunctionalCheck());
+                row.createCell(6);
+                row.createCell(7);
+                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);
+                } catch (NumberFormatException e) {
+                    throw new RuntimeException(e);
+                }
+                row.createCell(8).setCellValue(DateUtils.dateTime(t.getConfirmationDate()));
+                row.createCell(9).setCellValue(t.getRemarks());
 
 
-                    //渲染样式
-                    for (int i = 0; i < 10; i++) {
-                        row.getCell(i).setCellStyle(originalStyle);
-                    }
-                    num++;
-                    rowIndex++;
+                //渲染样式
+                for (int i = 0; i < 10; i++) {
+                    row.getCell(i).setCellStyle(originalStyle);
                 }
-                filename = "PSSR_23_仪表校验_流量计" + ".xlsx";
-                out = new FileOutputStream(ExcelUtil.getAbsoluteFile(filename));
-                wb.write(out);
-                wb.close();
-
-            } catch (IOException e) {
-                e.printStackTrace();
+                num++;
+                rowIndex++;
             }
-            return filename;
-        }
+            filename = "PSSR_23_仪表校验_流量计" + ".xlsx";
+            out = new FileOutputStream(ExcelUtil.getAbsoluteFile(filename));
+            wb.write(out);
+            wb.close();
 
-        /**
-         * 获取仪表校验详细信息
-         */
-        @PreAuthorize("@ss.hasPermi('pssr:instrumentCalibration:query')")
-        @GetMapping(value = "/{id}")
-        public AjaxResult getInfo (@PathVariable("id") Long id){
-            TPssrInstrumentCalibration item = tPssrInstrumentCalibrationService.selectTPssrInstrumentCalibrationById(id);
-            item.setFileList(tPssrFileService.selectTPssrFileListByItem(item.getSubId(), item.getId(), "ybjy"));
-            if (item.getApproveStatus() != 2)
-                item.setReason(tPssrTurndownService.selectTPssrTurndownByItem(item.getSubId(), item.getId(), "ybjy"));
-            return AjaxResult.success(item);
+        } catch (IOException e) {
+            e.printStackTrace();
         }
+        return filename;
+    }
 
-        /**
-         * 新增仪表校验
-         */
-        @PreAuthorize("@ss.hasPermi('pssr:instrumentCalibration:add')")
-        @Log(title = "仪表校验", businessType = BusinessType.INSERT)
-        @PostMapping
-        public AjaxResult add (@RequestBody TPssrInstrumentCalibration tPssrInstrumentCalibration){
-            if (StringUtils.isNotEmpty(tPssrInstrumentCalibration.getConfirm1()) && tPssrInstrumentCalibration.getConfirm1().equals(tPssrInstrumentCalibration.getConfirm2())) {
-                return AjaxResult.error("确认人不能为同一人,请重新选择!");
-            }
-            tPssrInstrumentCalibration.setApproveStatus(0L);
-            return toAjax(tPssrInstrumentCalibrationService.insertTPssrInstrumentCalibration(tPssrInstrumentCalibration));
-        }
+    /**
+     * 获取仪表校验详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('pssr:instrumentCalibration:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        TPssrInstrumentCalibration item = tPssrInstrumentCalibrationService.selectTPssrInstrumentCalibrationById(id);
+        item.setFileList(tPssrFileService.selectTPssrFileListByItem(item.getSubId(), item.getId(), "ybjy"));
+        if (item.getApproveStatus() != 2)
+            item.setReason(tPssrTurndownService.selectTPssrTurndownByItem(item.getSubId(), item.getId(), "ybjy"));
+        return AjaxResult.success(item);
+    }
 
-        /**
-         * 修改仪表校验
-         */
-        @PreAuthorize("@ss.hasPermi('pssr:instrumentCalibration:edit')")
-        @Log(title = "仪表校验", businessType = BusinessType.UPDATE)
-        @PutMapping
-        public AjaxResult edit (@RequestBody TPssrInstrumentCalibration tPssrInstrumentCalibration){
-            if (tPssrInstrumentCalibration.getConfirm1().equals(tPssrInstrumentCalibration.getConfirm2())) {
-                return AjaxResult.error("确认人不能为同一人,请重新选择!");
-            }
-            tPssrFileService.updateFileRelevance(tPssrInstrumentCalibration.getFileIds(), "ybjy", tPssrInstrumentCalibration.getId(), tPssrInstrumentCalibration.getSubId());
-            return toAjax(tPssrInstrumentCalibrationService.updateTPssrInstrumentCalibration(tPssrInstrumentCalibration));
+    /**
+     * 新增仪表校验
+     */
+    @PreAuthorize("@ss.hasPermi('pssr:instrumentCalibration:add')")
+    @Log(title = "仪表校验", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TPssrInstrumentCalibration tPssrInstrumentCalibration) {
+        if (StringUtils.isNotEmpty(tPssrInstrumentCalibration.getConfirm1()) && tPssrInstrumentCalibration.getConfirm1().equals(tPssrInstrumentCalibration.getConfirm2())) {
+            return AjaxResult.error("确认人不能为同一人,请重新选择!");
         }
+        tPssrInstrumentCalibration.setApproveStatus(0L);
+        return toAjax(tPssrInstrumentCalibrationService.insertTPssrInstrumentCalibration(tPssrInstrumentCalibration));
+    }
 
-        /**
-         * 修改仪表校验
-         */
-        @PreAuthorize("@ss.hasPermi('pssr:instrumentCalibration:edit')")
-        @Log(title = "仪表校验", businessType = BusinessType.UPDATE)
-        @PutMapping("/editBatch")
-        public AjaxResult editb (@RequestBody TPssrInstrumentCalibration tPssrInstrumentCalibration){
-            if (tPssrInstrumentCalibration.getConfirm1().equals(tPssrInstrumentCalibration.getConfirm2())) {
-                return AjaxResult.error("确认人不能为同一人,请重新选择!");
-            }
-            return toAjax(tPssrInstrumentCalibrationMapper.updateTPssrInstrumentCalibrationByIds(tPssrInstrumentCalibration));
+    /**
+     * 修改仪表校验
+     */
+    @PreAuthorize("@ss.hasPermi('pssr:instrumentCalibration:edit')")
+    @Log(title = "仪表校验", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TPssrInstrumentCalibration tPssrInstrumentCalibration) {
+        if (tPssrInstrumentCalibration.getConfirm1().equals(tPssrInstrumentCalibration.getConfirm2())) {
+            return AjaxResult.error("确认人不能为同一人,请重新选择!");
         }
+        tPssrFileService.updateFileRelevance(tPssrInstrumentCalibration.getFileIds(), "ybjy", tPssrInstrumentCalibration.getId(), tPssrInstrumentCalibration.getSubId());
+        return toAjax(tPssrInstrumentCalibrationService.updateTPssrInstrumentCalibration(tPssrInstrumentCalibration));
+    }
 
-        /**
-         * 删除仪表校验
-         */
-        @PreAuthorize("@ss.hasPermi('pssr:instrumentCalibration:remove')")
-        @Log(title = "仪表校验", businessType = BusinessType.DELETE)
-        @DeleteMapping("/{ids}")
-        public AjaxResult remove (@PathVariable Long[]ids){
-            return toAjax(tPssrInstrumentCalibrationService.deleteTPssrInstrumentCalibrationByIds(ids));
+    /**
+     * 修改仪表校验
+     */
+    @PreAuthorize("@ss.hasPermi('pssr:instrumentCalibration:edit')")
+    @Log(title = "仪表校验", businessType = BusinessType.UPDATE)
+    @PutMapping("/editBatch")
+    public AjaxResult editb(@RequestBody TPssrInstrumentCalibration tPssrInstrumentCalibration) {
+        if (tPssrInstrumentCalibration.getConfirm1().equals(tPssrInstrumentCalibration.getConfirm2())) {
+            return AjaxResult.error("确认人不能为同一人,请重新选择!");
         }
+        return toAjax(tPssrInstrumentCalibrationMapper.updateTPssrInstrumentCalibrationByIds(tPssrInstrumentCalibration));
+    }
 
+    /**
+     * 删除仪表校验
+     */
+    @PreAuthorize("@ss.hasPermi('pssr:instrumentCalibration:remove')")
+    @Log(title = "仪表校验", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(tPssrInstrumentCalibrationService.deleteTPssrInstrumentCalibrationByIds(ids));
+    }
 
-        /**
-         * 确认仪表校验
-         */
-        @PreAuthorize("@ss.hasPermi('pssr:instrumentCalibration:edit')")
-        @Log(title = "仪表校验", businessType = BusinessType.UPDATE)
-        @PutMapping("/confirmInstrumentCalibration")
-        public AjaxResult confirmInstrumentCalibration (@RequestBody TPssrInstrumentCalibration
-        tPssrInstrumentCalibration){
-            long queryStatus = 0;
-            long approveStatus = 0;
-            Date date = null;
-            if (tPssrInstrumentCalibration.getTaskType() == 4) {
-                //拆锁确认
-                queryStatus = 1;
-                approveStatus = 3;
-                date = new Date();
-            } else if (tPssrInstrumentCalibration.getTaskType() == 5) {
-                //上锁确认
-                queryStatus = 3;
-                approveStatus = 2;
-                date = new Date();
-            }
-            // 修改状态
-            if (tPssrInstrumentCalibration.getIds() != null && tPssrInstrumentCalibration.getIds().length > 0) {
-                for (Long id : tPssrInstrumentCalibration.getIds()) {
-                    TPssrInstrumentCalibration item = tPssrInstrumentCalibrationService.selectTPssrInstrumentCalibrationById(id);
-                    item.setApproveStatus(approveStatus);
-                    if (queryStatus == 3) {
-                        item.setConfirmationDate(date);
-                    }
-                    tPssrInstrumentCalibrationService.updateTPssrInstrumentCalibration(item);
+
+    /**
+     * 确认仪表校验
+     */
+    @PreAuthorize("@ss.hasPermi('pssr:instrumentCalibration:edit')")
+    @Log(title = "仪表校验", businessType = BusinessType.UPDATE)
+    @PutMapping("/confirmInstrumentCalibration")
+    public AjaxResult confirmInstrumentCalibration(@RequestBody TPssrInstrumentCalibration
+                                                           tPssrInstrumentCalibration) {
+        long queryStatus = 0;
+        long approveStatus = 0;
+        Date date = null;
+        TPssrInstrumentCalibration lock = new TPssrInstrumentCalibration();
+        if (tPssrInstrumentCalibration.getTaskType() == 4) {
+            //拆锁确认
+            queryStatus = 1;
+            approveStatus = 3;
+            lock.setConfirm1(getUserId().toString());
+            date = new Date();
+        } else if (tPssrInstrumentCalibration.getTaskType() == 5) {
+            //上锁确认
+            queryStatus = 3;
+            approveStatus = 2;
+            lock.setConfirm2(getUserId().toString());
+            date = new Date();
+        }
+        // 修改状态
+        if (tPssrInstrumentCalibration.getIds() != null && tPssrInstrumentCalibration.getIds().length > 0) {
+            for (Long id : tPssrInstrumentCalibration.getIds()) {
+                TPssrInstrumentCalibration item = tPssrInstrumentCalibrationService.selectTPssrInstrumentCalibrationById(id);
+                item.setApproveStatus(approveStatus);
+                if (queryStatus == 3) {
+                    item.setConfirmationDate(date);
                 }
-            } else {
-                TPssrInstrumentCalibration lock = new TPssrInstrumentCalibration();
-                lock.setSubId(tPssrInstrumentCalibration.getSubId());
-                lock.setApproveStatus(queryStatus);
-                lock.setDevType(tPssrInstrumentCalibration.getDevType());
-                for (TPssrInstrumentCalibration item : tPssrInstrumentCalibrationService.selectTPssrInstrumentCalibrationList(lock)) {
-                    if (queryStatus == 3) {
-                        item.setConfirmationDate(date);
-                    }
-                    item.setApproveStatus(approveStatus);
-                    tPssrInstrumentCalibrationService.updateTPssrInstrumentCalibration(item);
+                tPssrInstrumentCalibrationService.updateTPssrInstrumentCalibration(item);
+            }
+        } else {
+            lock.setSubId(tPssrInstrumentCalibration.getSubId());
+            lock.setApproveStatus(queryStatus);
+            lock.setDevType(tPssrInstrumentCalibration.getDevType());
+            for (TPssrInstrumentCalibration item : tPssrInstrumentCalibrationService.selectTPssrInstrumentCalibrationList(lock)) {
+                if (queryStatus == 3) {
+                    item.setConfirmationDate(date);
                 }
+                item.setApproveStatus(approveStatus);
+                tPssrInstrumentCalibrationService.updateTPssrInstrumentCalibration(item);
             }
-            //查询当前待审批的确认人
-            TPssrInstrumentCalibration entity = new TPssrInstrumentCalibration();
-            entity.setSubId(tPssrInstrumentCalibration.getSubId());
-            entity.setApproveStatus(queryStatus);
-            entity.setDevType(tPssrInstrumentCalibration.getDevType());
-            for (TPssrInstrumentCalibration item : tPssrInstrumentCalibrationService.selectTPssrInstrumentCalibrationList(entity)) {
-                if (tPssrInstrumentCalibration.getTaskType() == 4) {
-                    if (item.getConfirm1().equals(getUserId().toString())) {
-                        return AjaxResult.success();
-                    }
-                } else if (tPssrInstrumentCalibration.getTaskType() == 5) {
-                    if (item.getConfirm2().equals(getUserId().toString())) {
-                        return AjaxResult.success();
-                    }
+        }
+        //查询当前待审批的确认人
+        TPssrInstrumentCalibration entity = new TPssrInstrumentCalibration();
+        entity.setSubId(tPssrInstrumentCalibration.getSubId());
+        entity.setApproveStatus(queryStatus);
+        for (TPssrInstrumentCalibration item : tPssrInstrumentCalibrationService.selectTPssrInstrumentCalibrationList(entity)) {
+            if (tPssrInstrumentCalibration.getTaskType() == 4) {
+                if (item.getConfirm1().equals(getUserId().toString())) {
+                    return AjaxResult.success();
+                }
+            } else if (tPssrInstrumentCalibration.getTaskType() == 5) {
+                if (item.getConfirm2().equals(getUserId().toString())) {
+                    return AjaxResult.success();
                 }
             }
+        }
 
-            //无待审批任务结束当前用户流程
+        //无待审批任务结束当前用户流程
 
-            // 因为流程关系所以approve一定会有且只有一条数据
-            TPssrApprove tPssrApprove = tPssrApproveService.selectTPssrApproveBySubId(tPssrInstrumentCalibration.getSubId());
-            TPssrApproveController.handleConfirmApprove(tPssrApprove, getUserId().toString());
-            return AjaxResult.success();
+        // 因为流程关系所以approve一定会有且只有一条数据
+        TPssrApprove tPssrApprove = tPssrApproveService.selectTPssrApproveBySubId(tPssrInstrumentCalibration.getSubId());
+        TPssrApproveController.handleConfirmApprove(tPssrApprove, getUserId().toString());
+        return AjaxResult.success();
 
-        }
+    }
 
-        /**
-         * 驳回仪表校验
-         */
-        @PutMapping("/turnDownInstrumentCalibration")
-        public AjaxResult turnDownInstrumentCalibration
-        (@RequestBody List < TPssrInstrumentCalibration > tPssrInstrumentCalibration) {
-            if (CollectionUtils.isNotEmpty(tPssrInstrumentCalibration)) {
-                String userId = getUserId().toString();
-                Long subId = tPssrInstrumentCalibration.get(0).getSubId();
-                // 修改已选择数据的状态
-                for (TPssrInstrumentCalibration item : tPssrInstrumentCalibration) {
-                    TPssrInstrumentCalibration blind = new TPssrInstrumentCalibration();
-                    blind.setId(item.getId());
-                    blind.setApproveStatus(1L);
-                    blind.setUpdatedate(new Date());
-                    blind.setUpdaterCode(getUserId().toString());
-                    tPssrInstrumentCalibrationService.updateTPssrInstrumentCalibration(blind);
-                    // 新增驳回原因数据
-                    TPssrTurndown turndown = new TPssrTurndown();
-                    turndown.setForShort(forShort);
-                    turndown.setSubId(item.getSubId());
-                    turndown.setItemId(item.getId());
-                    turndown.setReason(item.getReason());
-                    turndown.setCreatedate(new Date());
-                    turndown.setCreaterCode(getUserId().toString());
-                    tPssrTurndownService.insertTPssrTurndown(turndown);
-                }
-                // 查询当前流程
-                TPssrApprove approve = tPssrApproveService.selectTPssrApproveBySubId(subId);
-
-                ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
-                TaskService taskService = processEngine.getTaskService();
-                Task task = processEngine.getTaskService()//获取任务service
-                        .createTaskQuery()//创建查询对象
-                        .taskAssignee(userId)
-                        .processInstanceId(approve.getProcessId()).singleResult();
-                String taskId = task.getId();
-
-                // 驳回 查询所有待审批的人员
+    /**
+     * 驳回仪表校验
+     */
+    @PutMapping("/turnDownInstrumentCalibration")
+    public AjaxResult turnDownInstrumentCalibration
+    (@RequestBody List<TPssrInstrumentCalibration> tPssrInstrumentCalibration) {
+        if (CollectionUtils.isNotEmpty(tPssrInstrumentCalibration)) {
+            String userId = getUserId().toString();
+            Long subId = tPssrInstrumentCalibration.get(0).getSubId();
+            // 修改已选择数据的状态
+            for (TPssrInstrumentCalibration item : tPssrInstrumentCalibration) {
                 TPssrInstrumentCalibration blind = new TPssrInstrumentCalibration();
-                blind.setSubId(subId);
+                blind.setId(item.getId());
                 blind.setApproveStatus(1L);
-                Set<String> installer = new HashSet<>();
-                Set<String> remover = new HashSet<>();
-                for (TPssrInstrumentCalibration item : tPssrInstrumentCalibrationService.selectTPssrInstrumentCalibrationList(blind)) {
+                blind.setUpdatedate(new Date());
+                blind.setUpdaterCode(getUserId().toString());
+                tPssrInstrumentCalibrationService.updateTPssrInstrumentCalibration(blind);
+                // 新增驳回原因数据
+                TPssrTurndown turndown = new TPssrTurndown();
+                turndown.setForShort(forShort);
+                turndown.setSubId(item.getSubId());
+                turndown.setItemId(item.getId());
+                turndown.setReason(item.getReason());
+                turndown.setCreatedate(new Date());
+                turndown.setCreaterCode(getUserId().toString());
+                tPssrTurndownService.insertTPssrTurndown(turndown);
+            }
+            // 查询当前流程
+            TPssrApprove approve = tPssrApproveService.selectTPssrApproveBySubId(subId);
 
-                    // 安装人员
-                    installer.add(item.getConfirm1());
+            try {
+                runtimeService.deleteProcessInstance(approve.getProcessId(), "pssr2confirm");
+                historyService.deleteHistoricProcessInstance(approve.getProcessId());
+            } catch (Exception e) {
+                logger.info("无运行时流程");
+            }
 
-                    //拆除人员
-                    remover.add(item.getConfirm2());
-                }
+            // 驳回 查询所有待审批的人员
+            TPssrInstrumentCalibration blind = new TPssrInstrumentCalibration();
+            blind.setSubId(subId);
+            blind.setApproveStatus(1L);
+            Set<String> installer = new HashSet<>();
+            Set<String> remover = new HashSet<>();
+            for (TPssrInstrumentCalibration item : tPssrInstrumentCalibrationService.selectTPssrInstrumentCalibrationList(blind)) {
 
+                // 安装人员
+                installer.add(item.getConfirm1());
 
-                //处理流程节点
-                Map<String, Object> param = new HashMap<>();
-                param.put("condition", 1);
-                param.put("confirmUsers1", new ArrayList<>(installer));
-                param.put("confirmUsers2", new ArrayList<>(remover));
-                //认领任务
-                processEngine.getTaskService().claim(taskId, userId);
-                taskService.addComment(taskId, approve.getProcessId(), "驳回");
-                taskService.complete(taskId, param);
-
-                // 修改审批表和sub表
-                approve.setApproveStatus(1L);
-                approve.setUpdatedate(new Date());
-                approve.setUpdaterCode(getUserId().toString());
-                tPssrApproveService.updateTPssrApprove(approve);
-
-                TPssrSubcontent subcontent = new TPssrSubcontent();
-                subcontent.setId(approve.getSubId());
-                subcontent.setApproveStatus(1L);
-                subcontent.setUpdatedate(new Date());
-                subcontent.setUpdaterCode(getUserId().toString());
-                tPssrSubcontentService.updateTPssrSubcontent(subcontent);
-                return AjaxResult.success();
+                //拆除人员
+                remover.add(item.getConfirm2());
             }
-            return AjaxResult.error();
+
+
+            //处理流程节点
+            // 开始申请流程
+            long businessKey = approve.getApproveId();
+            //开始工作流、监听
+            Authentication.setAuthenticatedUserId(userId);//设置当前申请人
+            Map<String, Object> variables = new HashMap<>();
+            variables.put("applyUser", userId);
+            variables.put("confirmUsers1", installer);
+            variables.put("confirmUsers2", remover);
+            variables.put("confirmTaskCreateListener", new ConfirmTaskCreateListener());//发送邮件
+            variables.put("chargePerson", approve.getSubCharge());
+            //采用key来启动流程定义并设置流程变量,返回流程实例
+            ProcessInstance pi = runtimeService.startProcessInstanceByKey("pssr2confirm", String.valueOf(businessKey), variables);
+            approve.setProcessId(pi.getProcessInstanceId());
+            tPssrApproveService.updateTPssrApprove(approve);
+
+
+            // 修改审批表和sub表
+            approve.setApproveStatus(1L);
+            approve.setUpdatedate(new Date());
+            approve.setUpdaterCode(getUserId().toString());
+            tPssrApproveService.updateTPssrApprove(approve);
+
+            TPssrSubcontent subcontent = new TPssrSubcontent();
+            subcontent.setId(approve.getSubId());
+            subcontent.setApproveStatus(1L);
+            subcontent.setUpdatedate(new Date());
+            subcontent.setUpdaterCode(getUserId().toString());
+            tPssrSubcontentService.updateTPssrSubcontent(subcontent);
+            return AjaxResult.success();
         }
+        return AjaxResult.error();
     }
+}

+ 2 - 2
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrOverhaulValveController.java

@@ -307,10 +307,10 @@ public class TPssrOverhaulValveController extends BaseController {
             XSSFSheet sheet = wb.getSheetAt(0);
 
             //填充数据
-            int rowIndex = 3;
+            int rowIndex = 2;
             int num = 1;
 
-            Row originalRow = sheet.getRow(3);
+            Row originalRow = sheet.getRow(2);
             Cell originalcell = originalRow.getCell(0);
             // 获取单元格样式
             CellStyle originalStyle = originalcell.getCellStyle();

+ 7 - 7
ui/src/views/pssr/aboveall/index.vue

@@ -136,13 +136,13 @@
             @click="gotoSubIndex(scope.row)"
           >检查内容
           </el-button>
-          <!--<el-button-->
-          <!--size="mini"-->
-          <!--type="text"-->
-          <!--icon="el-icon-download"-->
-          <!--@click="handleZip(scope.row)"-->
-          <!--&gt;打包-->
-          <!--</el-button>-->
+          <el-button
+          size="mini"
+          type="text"
+          icon="el-icon-download"
+          @click="handleZip(scope.row)"
+          >打包
+          </el-button>
           <!--<el-button-->
           <!--size="mini"-->
           <!--type="text"-->