Ver código fonte

PSSR氮气置换导出

wangggziwen 7 meses atrás
pai
commit
6102ee183d

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrMotorController.java

@@ -140,7 +140,7 @@ public class TPssrMotorController extends BaseController
                 num++;
                 rowIndex++;
             }
-            filename = ExcelUtil.encodingFilename("rMotor");
+            filename = ExcelUtil.encodingFilename("Motor");
             out = new FileOutputStream(ExcelUtil.getAbsoluteFile(filename));
             wb.write(out);
             wb.close();

+ 83 - 5
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrNitrogenController.java

@@ -1,17 +1,28 @@
 package com.ruoyi.project.pssr.controller;
 
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
 import java.math.BigDecimal;
 import java.util.*;
 
-import com.ruoyi.project.pssr.domain.TPssrApprove;
-import com.ruoyi.project.pssr.domain.TPssrNitrogen;
-import com.ruoyi.project.pssr.domain.TPssrSubcontent;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.file.ExcelUtils;
+import com.ruoyi.project.pssr.domain.*;
 import com.ruoyi.project.pssr.service.ITPssrApproveService;
 import com.ruoyi.project.pssr.service.ITPssrSubcontentService;
+import com.ruoyi.project.system.domain.SysUser;
+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.task.Task;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellStyle;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -50,6 +61,9 @@ public class TPssrNitrogenController extends BaseController
     @Autowired
     private ITPssrSubcontentService tPssrSubcontentService;
 
+    @Autowired
+    private ISysUserService sysUserService;
+
     /**
      * 查询系统氮气置换列表
      */
@@ -71,8 +85,72 @@ public class TPssrNitrogenController extends BaseController
     public AjaxResult export(TPssrNitrogen tPssrNitrogen)
     {
         List<TPssrNitrogen> list = tPssrNitrogenService.selectTPssrNitrogenList(tPssrNitrogen);
-        ExcelUtil<TPssrNitrogen> util = new ExcelUtil<TPssrNitrogen>(TPssrNitrogen.class);
-        return util.exportExcel(list, "nitrogen");
+        return AjaxResult.success(exportTmpl(list));
+    }
+
+    public String exportTmpl(List<TPssrNitrogen> list) {
+        OutputStream out = null;
+        String filename = null;
+        try {
+            String tempUrl = "static/word/pssr/dqzh.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 (TPssrNitrogen t : list) {
+                Row row = sheet.createRow(rowIndex);
+                row.setHeight((short) 800);
+                row.createCell(0).setCellValue(num);
+                row.createCell(1).setCellValue(t.getSystemName());
+                row.createCell(2).setCellValue(DateUtils.dateTime(t.getSamplingDate()));
+                row.createCell(3).setCellValue(t.getSampleName());
+                row.createCell(4).setCellValue(t.getOxygen());
+                row.createCell(5).setCellValue(t.getDewPoint());
+                row.createCell(6).setCellValue(t.getDewPointValue());
+                row.createCell(7).setCellValue(t.getStandard());
+                row.createCell(8);
+                row.createCell(9);
+                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(), 8, 1, 1);
+                    ExcelUtils.insertPicture(wb, sheet, confirm2, row.getRowNum(), 9, 1, 1);
+                } catch (NumberFormatException e) {
+                    throw new RuntimeException(e);
+                }
+                row.createCell(10).setCellValue(DateUtils.dateTime(t.getConfirmationDate()));
+                row.createCell(11).setCellValue(t.getRemarks());
+
+
+                //渲染样式
+                for (int i = 0; i < 12; i++) {
+                    row.getCell(i).setCellStyle(originalStyle);
+                }
+                num++;
+                rowIndex++;
+            }
+            filename = ExcelUtil.encodingFilename("Nitrogen");
+            out = new FileOutputStream(ExcelUtil.getAbsoluteFile(filename));
+            wb.write(out);
+            wb.close();
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return filename;
     }
 
     /**

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