jiangbiao 5 месяцев назад
Родитель
Сommit
56691bfc29

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

@@ -38,6 +38,9 @@ import java.io.InputStream;
 import java.io.OutputStream;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 /**
  * 检修项目-阀门Controller
@@ -251,11 +254,33 @@ public class TPssrOverhaulValveController extends BaseController {
         }
         startPage();
         List<TPssrOverhaulValve> list = tPssrOverhaulValveService.selectTPssrOverhaulValveList(tPssrOverhaulValve);
-        list.forEach(item -> {
-            item.setFileList(tPssrFileService.selectTPssrFileListByItem(item.getSubId(), item.getId(), "jxxm-fm"));
-            if (item.getApproveStatus() != 2)
-                item.setReason(tPssrTurndownService.selectTPssrTurndownByItem(item.getSubId(), item.getId(), "jxxm-fm"));
-        });
+
+        if (list.size() > 0) {
+            //线程池
+            ExecutorService executorService = Executors.newFixedThreadPool(30);
+            final CountDownLatch latch = new CountDownLatch(list.size()); //相同线程数量的计数
+            for (TPssrOverhaulValve item : list
+            ) {
+                executorService.submit(() -> {
+                    try {
+                        item.setFileList(tPssrFileService.selectTPssrFileListByItem(item.getSubId(), item.getId(), "jxxm-fm"));
+                        if (item.getApproveStatus() != 2)
+                            item.setReason(tPssrTurndownService.selectTPssrTurndownByItem(item.getSubId(), item.getId(), "jxxm-fm"));
+                    } catch (Exception e) {
+                        logger.error("e:", e);
+                    } finally {
+                        latch.countDown(); //线程计数
+                    }
+                });
+            }
+            try {
+                latch.await(); //线程计数完毕后继续执行
+            } catch (InterruptedException e) {
+                logger.error("e", e);
+            }
+            executorService.shutdown();
+        }
+
         return getDataTable(list);
     }
 
@@ -320,7 +345,7 @@ public class TPssrOverhaulValveController extends BaseController {
                 num++;
                 rowIndex++;
             }
-            filename = "PSSR_01_检修项目_阀门"  + ".xlsx";
+            filename = "PSSR_01_检修项目_阀门" + ".xlsx";
             out = new FileOutputStream(ExcelUtil.getAbsoluteFile(filename));
             wb.write(out);
             wb.close();

+ 9 - 8
ui/src/views/pssr/alarm/index.vue

@@ -455,14 +455,15 @@ export default {
     },
     // 文件下载处理
     handleDownload(row) {
-      var name = row.fileName;
-      var url = row.fileUrl;
-      var suffix = url.substring(url.lastIndexOf("."), url.length);
-      const a = document.createElement('a')
-      a.setAttribute('download', name)
-      a.setAttribute('target', '_blank')
-      a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
-      a.click()
+      // var name = row.fileName;
+      // var url = row.fileUrl;
+      // var suffix = url.substring(url.lastIndexOf("."), url.length);
+      // const a = document.createElement('a')
+      // a.setAttribute('download', name)
+      // a.setAttribute('target', '_blank')
+      // a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
+      // a.click()
+      window.open(process.env.VUE_APP_BASE_API + row.fileUrl);
     },
     openPdf() {
       window.open(this.pdf.pdfUrl);//path是文件的全路径地址

+ 9 - 8
ui/src/views/pssr/instrumentTest/index.vue

@@ -453,14 +453,15 @@ export default {
     },
     // 文件下载处理
     handleDownload(row) {
-      var name = row.fileName;
-      var url = row.fileUrl;
-      var suffix = url.substring(url.lastIndexOf("."), url.length);
-      const a = document.createElement('a')
-      a.setAttribute('download', name)
-      a.setAttribute('target', '_blank')
-      a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
-      a.click()
+      // var name = row.fileName;
+      // var url = row.fileUrl;
+      // var suffix = url.substring(url.lastIndexOf("."), url.length);
+      // const a = document.createElement('a')
+      // a.setAttribute('download', name)
+      // a.setAttribute('target', '_blank')
+      // a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
+      // a.click()
+      window.open(process.env.VUE_APP_BASE_API + row.fileUrl);
     },
     openPdf() {
       window.open(this.pdf.pdfUrl);//path是文件的全路径地址

+ 20 - 20
ui/src/views/pssr/overhaulValve/index.vue

@@ -137,33 +137,32 @@
       <span>检查确认检修项目是否已经完成,检修项目已经完成的在“完成状态”栏中打“✔”,未完成的打“×”。</span><br>
       <span>未完成的检修项按照该条检修要求立即整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。</span>
     </div>
-    <el-table v-loading="loading" :data="overhaulValveList" @selection-change="handleSelectionChange"
+    <u-table v-loading="loading" :data="overhaulValveList" @selection-change="handleSelectionChange"
               :height="clientHeight" border>
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="审批状态" align="center" prop="approveStatus" width="120">
+      <u-table-column type="selection" width="55" align="center" />
+      <u-table-column label="审批状态" align="center" prop="approveStatus" width="120">
         <template slot-scope="scope">
           <dict-tag :options="dict.type.pssr_approve_status" :value="scope.row.approveStatus" :show-type="getTagType(scope.row.approveStatus)"/>
         </template>
-      </el-table-column>
-      <el-table-column label="阀门位置" align="center" prop="valvePosition" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="类型" align="center" prop="type" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="尺寸" align="center" prop="pipeSize" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="等级" align="center" prop="valveClass" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="PID图号" align="center" prop="pidNo" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="升级改型更换/更换/维修" align="center" prop="changeType" :show-overflow-tooltip="true"
+      </u-table-column>
+      <u-table-column label="阀门位置" align="center" prop="valvePosition" :show-overflow-tooltip="true" width="180"/>
+      <u-table-column label="类型" align="center" prop="type" :show-overflow-tooltip="true" width="180"/>
+      <u-table-column label="尺寸" align="center" prop="pipeSize" :show-overflow-tooltip="true" width="180"/>
+      <u-table-column label="等级" align="center" prop="valveClass" :show-overflow-tooltip="true" width="180"/>
+      <u-table-column label="PID图号" align="center" prop="pidNo" :show-overflow-tooltip="true" width="180"/>
+      <u-table-column label="升级改型更换/更换/维修" align="center" prop="changeType" :show-overflow-tooltip="true"
                        width="180"/>
-      <el-table-column label="完成状态" align="center" prop="completionStatus" :show-overflow-tooltip="true"/>
-      <el-table-column label="确认人" align="center" prop="confirmerName" :show-overflow-tooltip="true"
+      <u-table-column label="完成状态" align="center" prop="completionStatus" :show-overflow-tooltip="true"/>
+      <u-table-column label="确认人" align="center" prop="confirmerName" :show-overflow-tooltip="true"
                        width="180"/>
-      <el-table-column label="确认时间" align="center" prop="doneDate" width="100">
+      <u-table-column label="确认时间" align="center" prop="doneDate" width="100">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.doneDate, '{y}-{m}-{d}') }}</span>
         </template>
-      </el-table-column>
-      <el-table-column label="驳回原因" align="center" prop="reason" :show-overflow-tooltip="true"/>
-      <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="操作" align="center" fixed="right" v-if="isApprove==0"
-                       class-name="small-padding fixed-width">
+      </u-table-column>
+      <u-table-column label="驳回原因" align="center" prop="reason" :show-overflow-tooltip="true"/>
+      <u-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true" width="180"/>
+      <u-table-column label="操作" align="center" fixed="right" v-if="isApprove==0" width="200">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -190,8 +189,8 @@
           >删除
           </el-button>
         </template>
-      </el-table-column>
-    </el-table>
+      </u-table-column>
+    </u-table>
 
     <pagination
       v-show="total>0"
@@ -199,6 +198,7 @@
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
       @pagination="getList"
+      :pageSizes="[20,50,200,500]"
     />
 
     <!-- 添加或修改检修项目-阀门对话框 -->