Browse Source

LY 工作票

ly 2 years ago
parent
commit
01954ed90f

+ 16 - 10
master/src/main/java/com/ruoyi/project/ehs/controller/TApproveDangerController.java

@@ -576,16 +576,22 @@ public class TApproveDangerController extends BaseController {
             }
         }
         //当前任务
-        Task task = taskService.createTaskQuery().processInstanceId(pid).active().singleResult();
-        if (task!= null) {
-            task.getName();
-            task.getCreateTime();
-            DevTask devTask = new DevTask();
-            devTask.setTaskName(task.getName());
-            devTask.setTaskCreateTime(task.getCreateTime());
-            SysUser user = sysUserService.selectUserById(Long.parseLong(task.getAssignee()));
-            devTask.setUserName(user.getNickName());
-            devTaskList.add(devTask);
+        try {
+            Task task = taskService.createTaskQuery().processInstanceId(pid).active().singleResult();
+            if (task!= null) {
+                task.getName();
+                task.getCreateTime();
+                DevTask devTask = new DevTask();
+                devTask.setTaskName(task.getName());
+                devTask.setTaskCreateTime(task.getCreateTime());
+                if (task.getAssignee()!= null) {
+                    SysUser user = sysUserService.selectUserById(Long.parseLong(task.getAssignee()));
+                    devTask.setUserName(user.getNickName());
+                }
+                devTaskList.add(devTask);
+            }
+        }catch (Exception e) {
+            logger.error(e.toString());
         }
         return getDataTable(devTaskList);
     }

+ 35 - 16
master/src/main/java/com/ruoyi/project/sems/controller/TSpecdevYlgdController.java

@@ -6,6 +6,10 @@ import java.io.OutputStream;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -158,7 +162,7 @@ public class TSpecdevYlgdController extends BaseController {
         //部门查询
         List<SysDept> dept = iSysDeptService.selectDeptList(new SysDept());
         int rowNum = sheet.getPhysicalNumberOfRows();
-        int failNumber = 0;
+        AtomicInteger failNumber = new AtomicInteger();
         for (int i = 1; i < rowNum; i++) {
             try {
                 logger.info("读取行数:" + i);
@@ -280,30 +284,45 @@ public class TSpecdevYlgdController extends BaseController {
                 logger.info("entity:" + entity);
                 list.add(entity);
             } catch (Exception e) {
-                failNumber++;
+                failNumber.getAndIncrement();
                 logger.info("e:" + JSON.toJSONString(e));
                 failRow.add(i + 1);
             }
         }
-        int successNumber = 0;
-        int failNum = 0;
+        AtomicInteger successNumber = new AtomicInteger();
+        AtomicInteger failNum = new AtomicInteger();
+        //线程池
+        ExecutorService executorService = Executors.newFixedThreadPool(30);
+        final CountDownLatch latch = new CountDownLatch(list.size()); //相同线程数量的计数
+
         for (TSpecdevYlgd t : list
         ) {
-            failNum++;
-            try {
-                tSpecdevYlgdService.insertTSpecdevYlgd(t);
-                successNumber++;
-            } catch (Exception e) {
-                failNumber++;
-                logger.info("e:" + e);
-                failRow.add(failNum + 1);
-            }
+            executorService.execute(() -> {
+                //续票列表 -- 业务模块
+                failNum.getAndIncrement();
+                try {
+                    tSpecdevYlgdService.insertTSpecdevYlgd(t);
+                    successNumber.getAndIncrement();
+                } catch (Exception e) {
+                    failNumber.getAndIncrement();
+                    logger.info("e:" + e);
+                    failRow.add(failNum.get() + 1);
+                }finally {
+                    latch.countDown(); //线程计数
+                }
+            });
         }
+        try {
+            latch.await(); //线程计数完毕后继续执行
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        executorService.shutdown();
         logger.info("list:" + JSON.toJSONString(list));
-        logger.info("successNumber:" + String.valueOf(successNumber));
-        logger.info("failNumber:" + String.valueOf(failNumber));
+        logger.info("successNumber:" + String.valueOf(successNumber.get()));
+        logger.info("failNumber:" + String.valueOf(failNumber.get()));
         logger.info("failRow:" + String.valueOf(failRow));
-        return AjaxResult.success(String.valueOf(successNumber), failRow);
+        return AjaxResult.success(String.valueOf(successNumber.get()), failRow);
     }
 
     /**

+ 2 - 2
master/src/main/java/com/ruoyi/project/sems/service/impl/TReportYlgdServiceImpl.java

@@ -34,7 +34,7 @@ class TReportYlgdServiceImpl implements ITReportYlgdService {
         List<Long> longs = this.tReportYlgdMapper.queryNeedInsertIds();
         if (longs.size() > 0) {
             List<TSpecdevYlgd> tSpecdevYlgds = this.tSpecdevYlgdMapper.selectTSpecdevYlgdByIds(longs);
-            ExecutorService executorService = Executors.newFixedThreadPool(100);
+            ExecutorService executorService = Executors.newFixedThreadPool(30);
             for (TSpecdevYlgd specdevYlgd : tSpecdevYlgds) {
                 executorService.execute(() -> {
                     this.tReportYlgdMapper.insertByTSpecdevYlgd(specdevYlgd);
@@ -50,7 +50,7 @@ class TReportYlgdServiceImpl implements ITReportYlgdService {
         List<Long> longs = this.tReportYlgdMapper.queryNeedUpdateIds();
         if (longs.size() > 0) {
             List<TSpecdevYlgd> tSpecdevYlgds = this.tSpecdevYlgdMapper.selectTSpecdevYlgdByIds(longs);
-            ExecutorService executorService = Executors.newFixedThreadPool(100);
+            ExecutorService executorService = Executors.newFixedThreadPool(30);
             for (TSpecdevYlgd tSpecdevYlgd : tSpecdevYlgds) {
                 executorService.execute(() -> {
                     this.tReportYlgdMapper.updateByTSpecdevYlgd(tSpecdevYlgd);

+ 2 - 2
master/src/main/java/com/ruoyi/project/sems/service/impl/TReportYlrqServiceImpl.java

@@ -31,7 +31,7 @@ public class TReportYlrqServiceImpl implements ITReportYlrqService {
         List<Long> longs = this.tReportYlrqMapper.queryNeedInsertIds();
         if (longs.size() > 0) {
             List<TSpecdevYlrq> tSpecdevYlrqs = this.tSpecdevYlrqMapper.selectTSpecdevYlrqByIds(longs);
-            ExecutorService executorService = Executors.newFixedThreadPool(100);
+            ExecutorService executorService = Executors.newFixedThreadPool(30);
             for (TSpecdevYlrq specdevYlrq : tSpecdevYlrqs) {
                 executorService.execute(()->{
                     this.tReportYlrqMapper.insertByTSpecdevYlrq(specdevYlrq);
@@ -47,7 +47,7 @@ public class TReportYlrqServiceImpl implements ITReportYlrqService {
         List<Long> longs = this.tReportYlrqMapper.queryNeedUpdateIds();
         if (longs.size() > 0) {
             List<TSpecdevYlrq> tSpecdevYlrqs = this.tSpecdevYlrqMapper.selectTSpecdevYlrqByIds(longs);
-            ExecutorService executorService = Executors.newFixedThreadPool(100);
+            ExecutorService executorService = Executors.newFixedThreadPool(30);
             for (TSpecdevYlrq tSpecdevYlrq : tSpecdevYlrqs) {
                 executorService.execute(()->{
                     this.tReportYlrqMapper.updateByTSpecdevYlrq(tSpecdevYlrq);