From cf7f2a00eb4e5fbfe90a403f6543d67daf447ff8 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期四, 21 七月 2022 09:51:36 +0800 Subject: [PATCH] 更新工作流 --- src/main/java/com/whyc/service/WorksheetMainService.java | 97 +++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 86 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/whyc/service/WorksheetMainService.java b/src/main/java/com/whyc/service/WorksheetMainService.java index 3599481..989bd7b 100644 --- a/src/main/java/com/whyc/service/WorksheetMainService.java +++ b/src/main/java/com/whyc/service/WorksheetMainService.java @@ -11,14 +11,14 @@ import com.whyc.pojo.WorksheetLink; import com.whyc.pojo.WorksheetMain; 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.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; @Service public class WorksheetMainService { @@ -28,6 +28,10 @@ @Resource private WorksheetLinkMapper linkMapper; + + @Autowired + @Lazy + private WorksheetLinkService linkService; @Resource private DocUserMapper userMapper; @@ -104,36 +108,107 @@ mainMapper.updateById(main); } - /**鐢ㄦ埛瀵瑰簲鐨勫伐浣滃彴鏁版嵁鍒嗙被 - * @param user TODO*/ - public Map<String, WorksheetMain> getList(DocUser user) { - Map<String,WorksheetMain> map = new HashMap<>(); + /** + * 鐢ㄦ埛瀵瑰簲鐨勫伐浣滃彴鏁版嵁鍒嗙被 + * @param user + * */ + public Map<String, List<WorksheetMain>> getList(DocUser user) { + Map<String,List<WorksheetMain>> map = new HashMap<>(); switch (user.getRoleId()){ //鏅�氬憳宸� case "1001": { - //鏈鐞�/宸查┏鍥�/宸插鎵� + //鏈鐞�(瀹℃壒涓�)/宸查┏鍥�/宸插鎵� QueryWrapper<WorksheetMain> query = Wrappers.query(); query.eq("create_user_id",user.getId()); List<WorksheetMain> worksheetMainList = mainMapper.selectList(query); + Map<Integer, List<WorksheetMain>> groupingList = worksheetMainList.stream().collect(Collectors.groupingBy(WorksheetMain::getStatus)); + groupingList.forEach((status,mainList)->{ + switch (status){ + case 0:{ + map.put("rejected",mainList); + }break; + case 1: + case 2:{ + List<WorksheetMain> addedMainList = map.get("approving"); + if(addedMainList ==null){ + map.put("approving",mainList); + }else{ + addedMainList.addAll(mainList); + map.put("approving",addedMainList); + } + }break; + case 5:{ + map.put("approved",mainList); + }break; + } + }); } break; //椤圭洰缁忕悊 case "1002": { - //寰呭鐞�/鏈鐞�/宸查┏鍥�/宸插鎵� - + //寰呭鐞�/宸插鐞�/灞炰簬鑷繁-瀹℃壒涓�/宸查┏鍥�/宸插鎵� + //灞炰簬鑷繁-瀹℃壒涓�/宸查┏鍥�/宸插鎵� + QueryWrapper<WorksheetMain> query = Wrappers.query(); + query.eq("create_user_id",user.getId()); + List<WorksheetMain> worksheetMainList = mainMapper.selectList(query); + Map<Integer, List<WorksheetMain>> groupingList = worksheetMainList.stream().collect(Collectors.groupingBy(WorksheetMain::getStatus)); + groupingList.forEach((status,mainList)->{ + switch (status){ + case 0:{ + map.put("rejected",mainList); + }break; + case 2:{ + map.put("approving",mainList); + }break; + case 5:{ + map.put("approved",mainList); + }break; + } + }); + //寰呭鐞�/宸插鐞� + List<WorksheetLink> WorksheetLinkList = linkService.getInfoList(user.getId()); + Map<Integer, List<WorksheetLink>> groupingLinkList = WorksheetLinkList.stream().collect(Collectors.groupingBy(WorksheetLink::getLinkStatus)); + groupingLinkList.forEach((linkStatus,linkList)->{ + List<WorksheetMain> mainList = new LinkedList<>(); + linkList.forEach(link -> {mainList.add(link.getMain());}); + switch (linkStatus){ + case 0:{ + map.put("handling",mainList); + }break; + case 1: + case 2:{ + map.put("handled",mainList); + }break; + } + }); } break; //鎬荤粡鐞� case "1003": { //寰呭鐞�/宸插鎵� + List<WorksheetLink> WorksheetLinkList = linkService.getInfoList(user.getId()); + Map<Integer, List<WorksheetLink>> groupingLinkList = WorksheetLinkList.stream().collect(Collectors.groupingBy(WorksheetLink::getLinkStatus)); + groupingLinkList.forEach((linkStatus,linkList)->{ + List<WorksheetMain> mainList = new LinkedList<>(); + linkList.forEach(link -> {mainList.add(link.getMain());}); + switch (linkStatus){ + case 0:{ + map.put("handling",mainList); + }break; + case 1: + case 2:{ + map.put("handled",mainList); + }break; + } + }); } break; } - return null; + return map; } public WorksheetMain getLinkList(int id) { -- Gitblit v1.9.1