| | |
| | | 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 { |
| | |
| | | |
| | | @Resource |
| | | private WorksheetLinkMapper linkMapper; |
| | | |
| | | @Autowired |
| | | @Lazy |
| | | private WorksheetLinkService linkService; |
| | | |
| | | @Resource |
| | | private DocUserMapper userMapper; |
| | |
| | | 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) { |