whycxzp
2022-07-21 cf7f2a00eb4e5fbfe90a403f6543d67daf447ff8
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) {