From b7f07ae31cd1102070c98cd8fc249a46b8df55ab Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期二, 26 七月 2022 10:01:58 +0800
Subject: [PATCH] 更新工作流

---
 src/main/java/com/whyc/service/WorksheetMainService.java |  115 ++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 93 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/whyc/service/WorksheetMainService.java b/src/main/java/com/whyc/service/WorksheetMainService.java
index 989bd7b..23ae74b 100644
--- a/src/main/java/com/whyc/service/WorksheetMainService.java
+++ b/src/main/java/com/whyc/service/WorksheetMainService.java
@@ -2,7 +2,9 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.whyc.dto.WorksheetMainDTO;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.whyc.dto.Response;
 import com.whyc.mapper.DocUserMapper;
 import com.whyc.mapper.WorksheetLinkMapper;
 import com.whyc.mapper.WorksheetMainMapper;
@@ -10,11 +12,11 @@
 import com.whyc.pojo.ProductBomApproving;
 import com.whyc.pojo.WorksheetLink;
 import com.whyc.pojo.WorksheetMain;
+import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import sun.print.PSPrinterJob;
 
 import javax.annotation.Resource;
 import java.util.*;
@@ -40,9 +42,8 @@
     private ProductBomApprovingService approvingService;
 
     @Transactional
-    public boolean submit(WorksheetMainDTO mainDTO, DocUser user) {
-        WorksheetMain main = mainDTO.getMain();
-        List<ProductBomApproving> bomList = mainDTO.getBomList();
+    public boolean submit(WorksheetMain main, DocUser user) {
+        List<ProductBomApproving> bomList = main.getApprovingBomList();
         //鎻愪氦涓昏〃
         main.setCreateUserId(user.getId());
         //鎻愪氦浜鸿鑹叉潵鍒ゆ柇宸ヤ綔娴佸眰绾�
@@ -111,14 +112,17 @@
     /**
      * 鐢ㄦ埛瀵瑰簲鐨勫伐浣滃彴鏁版嵁鍒嗙被
      * @param user
-     * */
-    public Map<String, List<WorksheetMain>> getList(DocUser user) {
-        Map<String,List<WorksheetMain>> map = new HashMap<>();
+     * @return*/
+    public Map<String, Integer> getStatusStatistic(DocUser user) {
+        Map<String,Integer> map = new HashMap<>();
         switch (user.getRoleId()){
             //鏅�氬憳宸�
             case "1001":
                 {
                     //鏈鐞�(瀹℃壒涓�)/宸查┏鍥�/宸插鎵�
+                    map.put("rejected",0);
+                    map.put("approving",0);
+                    map.put("approved",0);
                     QueryWrapper<WorksheetMain> query = Wrappers.query();
                     query.eq("create_user_id",user.getId());
                     List<WorksheetMain> worksheetMainList = mainMapper.selectList(query);
@@ -126,20 +130,19 @@
                     groupingList.forEach((status,mainList)->{
                         switch (status){
                             case 0:{
-                                map.put("rejected",mainList);
+                                map.put("rejected",mainList.size());
                             }break;
                             case 1:
                             case 2:{
-                                List<WorksheetMain> addedMainList = map.get("approving");
-                                if(addedMainList ==null){
-                                    map.put("approving",mainList);
+                                Integer addedMainCount= map.get("approving");
+                                if(addedMainCount ==0){
+                                    map.put("approving",mainList.size());
                                 }else{
-                                    addedMainList.addAll(mainList);
-                                    map.put("approving",addedMainList);
+                                    map.put("approving",addedMainCount+mainList.size());
                                 }
                             }break;
                             case 5:{
-                                map.put("approved",mainList);
+                                map.put("approved",mainList.size());
                             }break;
                         }
                     });
@@ -150,6 +153,12 @@
                 {
                     //寰呭鐞�/宸插鐞�/灞炰簬鑷繁-瀹℃壒涓�/宸查┏鍥�/宸插鎵�
                     //灞炰簬鑷繁-瀹℃壒涓�/宸查┏鍥�/宸插鎵�
+                    map.put("rejected",0);
+                    map.put("approving",0);
+                    map.put("approved",0);
+                    map.put("handling",0);
+                    map.put("handled",0);
+
                     QueryWrapper<WorksheetMain> query = Wrappers.query();
                     query.eq("create_user_id",user.getId());
                     List<WorksheetMain> worksheetMainList = mainMapper.selectList(query);
@@ -157,13 +166,13 @@
                     groupingList.forEach((status,mainList)->{
                         switch (status){
                             case 0:{
-                                map.put("rejected",mainList);
+                                map.put("rejected",mainList.size());
                             }break;
                             case 2:{
-                                map.put("approving",mainList);
+                                map.put("approving",mainList.size());
                             }break;
                             case 5:{
-                                map.put("approved",mainList);
+                                map.put("approved",mainList.size());
                             }break;
                         }
                     });
@@ -175,11 +184,16 @@
                         linkList.forEach(link -> {mainList.add(link.getMain());});
                         switch (linkStatus){
                             case 0:{
-                                map.put("handling",mainList);
+                                map.put("handling",mainList.size());
                             }break;
                             case 1:
                             case 2:{
-                                map.put("handled",mainList);
+                                Integer addedMainCount= map.get("handled");
+                                if(addedMainCount ==0){
+                                    map.put("handled",mainList.size());
+                                }else{
+                                    map.put("handled",addedMainCount+mainList.size());
+                                }
                             }break;
                         }
                     });
@@ -189,6 +203,8 @@
             case "1003":
                 {
                     //寰呭鐞�/宸插鎵�
+                    map.put("handling",0);
+                    map.put("approved",0);
                     List<WorksheetLink> WorksheetLinkList = linkService.getInfoList(user.getId());
                     Map<Integer, List<WorksheetLink>> groupingLinkList = WorksheetLinkList.stream().collect(Collectors.groupingBy(WorksheetLink::getLinkStatus));
                     groupingLinkList.forEach((linkStatus,linkList)->{
@@ -196,11 +212,16 @@
                         linkList.forEach(link -> {mainList.add(link.getMain());});
                         switch (linkStatus){
                             case 0:{
-                                map.put("handling",mainList);
+                                map.put("handling",mainList.size());
                             }break;
                             case 1:
                             case 2:{
-                                map.put("handled",mainList);
+                                Integer addedMainCount= map.get("approved");
+                                if(addedMainCount ==0){
+                                    map.put("approved",mainList.size());
+                                }else{
+                                    map.put("approved",addedMainCount+mainList.size());
+                                }
                             }break;
                         }
                     });
@@ -214,4 +235,54 @@
     public WorksheetMain getLinkList(int id) {
         return mainMapper.getLinkList(id);
     }
+
+    public Response<PageInfo<WorksheetMain>> getApprovingListPage(DocUser user, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum,pageSize);
+        QueryWrapper<WorksheetMain> query = Wrappers.query();
+        query.eq("create_user_id",user.getId()).in("status",1,2);
+        List<WorksheetMain> worksheetMainList = mainMapper.selectList(query);
+        PageInfo<WorksheetMain> pageInfo = new PageInfo<>(worksheetMainList);
+        return new Response<PageInfo<WorksheetMain>>().set(1,pageInfo);
+    }
+
+    public Response<PageInfo<WorksheetMain>> getRejectedListPage(DocUser user, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum,pageSize);
+        QueryWrapper<WorksheetMain> query = Wrappers.query();
+        query.eq("create_user_id",user.getId()).in("status",0);
+        List<WorksheetMain> worksheetMainList = mainMapper.selectList(query);
+        PageInfo<WorksheetMain> pageInfo = new PageInfo<>(worksheetMainList);
+        return new Response<PageInfo<WorksheetMain>>().set(1,pageInfo);
+    }
+
+    public Response<PageInfo<WorksheetMain>> getApprovedListPage(DocUser user, int pageNum, int pageSize) {
+        Response<PageInfo<WorksheetMain>> response = new Response<>();
+        PageHelper.startPage(pageNum,pageSize);
+        List<WorksheetMain> worksheetMainList = null;
+        //鑷繁鐨勫伐鍗�
+        if(!user.getRoleId().equals("1003")){
+            QueryWrapper<WorksheetMain> query = Wrappers.query();
+            query.eq("create_user_id",user.getId()).in("status",5);
+            worksheetMainList = mainMapper.selectList(query);
+
+        }else{
+            //鎬荤粡鐞�,鑺傜偣瀹℃壒浜轰负鑷繁
+            worksheetMainList = linkService.getInfoList2(user.getId(),1);
+        }
+        PageInfo<WorksheetMain> pageInfo = new PageInfo<>(worksheetMainList);
+        return response.set(1,pageInfo);
+    }
+
+    public Response<PageInfo<WorksheetMain>> getHandlingListPage(DocUser user, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum,pageSize);
+        List<WorksheetMain> worksheetMainList = linkService.getInfoList2(user.getId(),0);
+        PageInfo<WorksheetMain> pageInfo = new PageInfo<>(worksheetMainList);
+        return new Response<PageInfo<WorksheetMain>>().set(1,pageInfo);
+    }
+
+    public Response<PageInfo<WorksheetMain>> getHandledListPage(DocUser user, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum,pageSize);
+        List<WorksheetMain> worksheetMainList = linkService.getInfoList2(user.getId(),1);
+        PageInfo<WorksheetMain> pageInfo = new PageInfo<>(worksheetMainList);
+        return new Response<PageInfo<WorksheetMain>>().set(1,pageInfo);
+    }
 }

--
Gitblit v1.9.1