| | |
| | | .leftJoin(Member.class,Member::getId,Approve::getChekorId) |
| | | .leftJoin(Company.class,Company::getId,Member::getCompanyId) |
| | | .eq(Approve::getIsdeleted,Constants.ZERO) |
| | | .ne(Approve::getStatus,Constants.approveStatus.cancel) |
| | | .eq(Approve::getObjId,businessId) |
| | | .eq(Approve::getObjType,businessType) |
| | | .orderByAsc(Approve::getLevel) |
| | |
| | | Approve waitModel = new Approve(); |
| | | waitModel.setApproveType(Constants.ONE); |
| | | waitModel.setTitle("抄送人"); |
| | | waitModel.setStatus(Constants.ONE); |
| | | waitModel.setStatus(copyList.get(Constants.ZERO).getStatus()); |
| | | waitModel.setType(Constants.ONE); |
| | | waitModel.setApproveList(copyList); |
| | | approveDateVO.getApproveList().add(waitModel); |
| | |
| | | Approve refuseModel = new Approve();//已拒绝的记录 |
| | | List<Approve> waitList = new ArrayList<>(); //查询全部未处理的集合 |
| | | List<Approve> otherPassList = new ArrayList<>();//他人已处理的记录集 |
| | | List<Approve> levelApprove = approveGroupList.stream().filter(i->Constants.equalsInteger(i.getLevel(),level.getLevel())).collect(Collectors.toList()); |
| | | dealGroupListBiz(level,levelApprove,approveGroupList,passList,refuseModel,waitList,otherPassList); |
| | | int appType = Constants.formatIntegerNum(level.getApproveType());//当前审批类型 |
| | | dealGroupListBiz(level,approveGroupList,passList,refuseModel,waitList,otherPassList); |
| | | if(Objects.nonNull(refuseModel) && Objects.nonNull(refuseModel.getId())){ |
| | | //存在拒绝的,只需要返回一条处理数据,后续不需要回显 |
| | | refuseModel.setApproveType(Constants.ZERO); |
| | |
| | | return list; |
| | | } |
| | | list.addAll(sortByCreateTime(passList)); |
| | | if(Constants.equalsInteger(level.getApproveType(),Constants.ONE)){ |
| | | if(Constants.equalsInteger(appType,Constants.ONE)){ |
| | | //如果是会签 |
| | | if(waitList.size()>1){ |
| | | Approve waitModel = new Approve(); |
| | | waitModel.setApproveType(Constants.ONE); |
| | | waitModel.setType(Constants.ZERO); |
| | | waitModel.setTitle(StringUtils.defaultString(level.getTitle(),"审批人")); |
| | | waitModel.setStatus(Constants.equalsInteger(waitList.get(Constants.ZERO).getStatus(),Constants.ONE)?Constants.ONE:Constants.ZERO); |
| | | waitModel.setStatusInfo("处理中"); |
| | |
| | | }else if(waitList.size()>0){ |
| | | Approve approve = waitList.get(Constants.ZERO); |
| | | approve.setApproveType(Constants.ZERO); |
| | | approve.setType(Constants.ZERO); |
| | | list.add(approve); |
| | | } |
| | | }else { |
| | |
| | | waitModel.setApproveType(Constants.ONE); |
| | | if(Constants.equalsInteger(level.getStatus(),Constants.approveStatus.pass)){ |
| | | waitModel.setStatus(Constants.approveStatus.pass); |
| | | waitModel.setType(Constants.ONE); |
| | | waitModel.setTitle("审批人(抄送或签审批人)"); |
| | | }else{ |
| | | waitModel.setType(Constants.ZERO); |
| | | waitModel.setStatusInfo(passList.size()<=0?StringUtils.defaultString(level.getTitle(),"审批人"):"抄送或签审批人"); |
| | | waitModel.setStatus(passList.size()>0?Constants.ONE:Constants.ZERO); |
| | | } |
| | |
| | | |
| | | } |
| | | |
| | | private void dealGroupListBiz(Approve level, List<Approve> levelApprove,List<Approve> approveGroupList, List<Approve> passList, Approve refuseModel, List<Approve> waitList, List<Approve> otherPassList) { |
| | | private void dealGroupListBiz(Approve level, List<Approve> approveGroupList, List<Approve> passList, Approve refuseModel, List<Approve> waitList, List<Approve> otherPassList) { |
| | | //查询是否存在拒绝数据 |
| | | List<Approve> levelApprove = approveGroupList.stream().filter(i->Constants.equalsInteger(i.getLevel(),level.getLevel())).collect(Collectors.toList()); |
| | | for (Approve approve:levelApprove) { |
| | | if(!Constants.equalsInteger(level.getLevel(),approve.getLevel())){ |
| | | continue; |
| | | } |
| | | if(Constants.equalsInteger(Constants.approveStatus.pass,approve.getStatus())){ |
| | | approve.setApproveType(Constants.ZERO); |
| | | passList.add(approve); |
| | | }else if(Constants.equalsInteger(Constants.approveStatus.otherDeal,approve.getStatus())){ |
| | | otherPassList.add(approve); |