| | |
| | | import com.github.xiaoymin.knife4j.core.util.CollectionUtils; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import io.swagger.models.auth.In; |
| | | import javafx.application.Platform; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.xpath.operations.Bool; |
| | |
| | | private CarUseBookJoinMapper carUseBookJoinMapper; |
| | | @Autowired |
| | | private NoticesJoinMapper noticesJoinMapper; |
| | | @Autowired |
| | | private PlatformBooksMapper platformBooksMapper; |
| | | @Autowired |
| | | private PlatformJobMapper platformJobMapper; |
| | | @Autowired |
| | | private PlatformLogMapper platformLogMapper; |
| | | @Autowired |
| | | private PlatformReasonMapper platformReasonMapper; |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public void createApproveForPlatfrom(Integer tempId,Integer businessId,Integer createMemberId){ |
| | | //查询处理模板 |
| | | ApproveTempl approveTempl = approveTemplMapper.selectById(tempId); |
| | | if(Objects.isNull(approveTempl)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到审批流配置模板"); |
| | | } |
| | | //查询配置流程 |
| | | List<ApproveParam> approveParamAllList = approveParamMapper.selectList(new QueryWrapper<ApproveParam>() |
| | | .lambda().eq(ApproveParam::getIsdeleted,Constants.ZERO) |
| | | .eq(ApproveParam::getTemplId,approveTempl.getId()) |
| | | .orderByAsc(ApproveParam::getType) |
| | | .orderByAsc(ApproveParam::getLevel) |
| | | ); |
| | | if(Objects.isNull(approveParamAllList)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未配置审批流程"); |
| | | } |
| | | //审批配置 |
| | | List<ApproveParam> approveParamList = approveParamAllList.stream().filter(i->i.getType().equals(Constants.ZERO)).collect(Collectors.toList()); |
| | | if(Objects.isNull(approveParamList)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未配置审批流程"); |
| | | } |
| | | List<ApproveParam> approveCopyList = approveParamAllList.stream().filter(i->i.getType().equals(Constants.ONE)).collect(Collectors.toList()); |
| | | |
| | | Member createMember = memberMapper.selectById(createMemberId); |
| | | if(Objects.isNull(createMember)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"申请人组织信息异常"); |
| | | } |
| | | List<Approve> approveList = new ArrayList<>(); |
| | | |
| | | this.organizeApproveData(approveTempl,approveParamList,createMember,businessId,approveList); |
| | | |
| | | if(CollectionUtils.isEmpty(approveList)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"审批流配置错误"); |
| | | } |
| | | |
| | | //处理抄送数据 |
| | | if(CollectionUtils.isNotEmpty(approveCopyList)){ |
| | | this.organizeApproveCopyData(approveTempl,approveCopyList,businessId,approveList); |
| | | } |
| | | approveJoinMapper.insert(approveList); |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 组织审批流数据 |
| | | * @param approveTempl |
| | |
| | | approve.setTemplatId(approveTempl.getId()); |
| | | approve.setChekorId(memberId); |
| | | approve.setStatus(i==0?Constants.ONE:Constants.ZERO); |
| | | approve.setStatusInfo(i==0?"审批中":"待审批"); |
| | | approve.setStatusInfo(i==0?"审批中":"处理中"); |
| | | approve.setTitle("审批人"); |
| | | approve.setIsEndCheck((i+1) == approveParamList.size()?Constants.ONE:Constants.ZERO); |
| | | approve.setObjId(businessId); |
| | |
| | | jsonMap.put("eTime", "结束时间:" + DateUtil.DateToStr(carUseBook.getEndTime() , "yyyy-MM-dd HH:mm")); |
| | | jsonMap.put("usrNum", StringUtils.isBlank(carUseBook.getMemberIds())?"乘车人数: 0人": "乘车人数: " +carUseBook.getMemberIds().split(",").length +"人"); |
| | | jsonMap.put("mdd", StringUtils.isBlank(carUseBook.getAddr())?"目的地: - ": "目的地:" +carUseBook.getAddr()); |
| | | }else { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED); |
| | | }else if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.reason)){ |
| | | //物流车预约 |
| | | PlatformBooks platformBooks = platformBooksMapper.selectById(businessId); |
| | | if(Objects.isNull(platformBooks)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未查询到业务数据信息"); |
| | | } |
| | | title = "【物流车入园预约】申请人 - " + platformBooks.getDriverName(); |
| | | jsonMap.put("inType", "入库类型:"+(Constants.equalsInteger(platformBooks.getInType(),Constants.ZERO)?"整托盘":"件烟")); |
| | | jsonMap.put("totalNum", "总运输量:"+platformBooks.getTotalNum()+"万支"); |
| | | jsonMap.put("arriveDate", "到场时间:" + DateUtil.DateToStr(platformBooks.getArriveDate() , "yyyy-MM-dd HH:mm")); |
| | | jsonMap.put("carNum", "车牌照:"+platformBooks.getCarCodeFront()); |
| | | } |
| | | return title; |
| | | } |
| | |
| | | private List<Approve> getLevelInfoFromList(Approve level,List<Approve> approveGroupList) { |
| | | List<Approve> list = new ArrayList<>(); |
| | | if(Constants.equalsInteger(level.getApproveType(),Constants.TWO)){ |
| | | level.setApproveType(Constants.ZERO); |
| | | level.setApproveType(Constants.TWO); |
| | | //如果是单人审批 |
| | | list.add(level); |
| | | return list; |
| | |
| | | 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("处理中"); |
| | | if(Constants.equalsInteger(level.getStatus(),Constants.approveStatus.auditIng) |
| | | ||Constants.equalsInteger(level.getStatus(),Constants.approveStatus.pass)){ |
| | | waitModel.setMemberName(waitList.size() +"人会签"); |
| | | if(Constants.equalsInteger(waitModel.getStatus(),Constants.approveStatus.wait)){ |
| | | waitModel.setStatusInfo("待处理"); |
| | | }else if(Constants.equalsInteger(waitModel.getStatus(),Constants.approveStatus.auditIng)){ |
| | | waitModel.setStatusInfo("处理中"); |
| | | } |
| | | |
| | | waitModel.setMemberName(waitList.size() +"人会签"); |
| | | // if(Constants.equalsInteger(level.getStatus(),Constants.approveStatus.auditIng) |
| | | // ||Constants.equalsInteger(level.getStatus(),Constants.approveStatus.pass)){ |
| | | // waitModel.setMemberName(waitList.size() +"人会签"); |
| | | // } |
| | | if(CollectionUtils.isNotEmpty(waitList)){ |
| | | waitModel.setCreateDate(waitList.get(Constants.ZERO).getCreateDate()); |
| | | } |
| | |
| | | }else { |
| | | if((waitList.size()> 0 || otherPassList.size()>0)){ |
| | | Approve waitModel = new Approve(); |
| | | waitModel.setApproveType(Constants.ONE); |
| | | waitModel.setApproveType(Constants.ZERO); |
| | | 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); |
| | | waitModel.setType(Constants.ZERO); |
| | | //waitModel.setStatusInfo(passList.size()<=0?StringUtils.defaultString(level.getTitle(),"审批人"):"抄送或签审批人"); |
| | | waitModel.setTitle(passList.size()<=0?StringUtils.defaultString(level.getTitle(),"审批人"):"抄送或签审批人"); |
| | | |
| | | } |
| | | List<Approve> approveList = new ArrayList<>(); |
| | | approveList.addAll(waitList); |
| | |
| | | if(Constants.equalsInteger(waitModel.getStatus(),Constants.approveStatus.pass)){ |
| | | waitModel.setMemberName("已抄送"+ approveList.size() +"人"); |
| | | }else if(Constants.equalsInteger(waitModel.getStatus(),Constants.approveStatus.wait)){ |
| | | waitModel.setMemberName("处理中"); |
| | | waitModel.setMemberName(waitList.size() +"人或签"); |
| | | waitModel.setStatusInfo("待处理"); |
| | | }else{ |
| | | waitModel.setStatusInfo("处理中"); |
| | | } |
| | | waitModel.setApproveList(approveList); |
| | | list.add(waitModel); |
| | |
| | | return Constants.ZERO; |
| | | } |
| | | |
| | | @Override |
| | | public String getApproveUserName(Integer businessId,Integer businessType){ |
| | | List<Approve> approveList = approveJoinMapper.selectJoinList(Approve.class,new MPJLambdaWrapper<Approve>() |
| | | .selectAll(Approve.class) |
| | | .selectAs(Member::getName,Approve::getMemberName) |
| | | .leftJoin(Member.class,Member::getId,Approve::getChekorId) |
| | | .eq(Approve::getObjId,businessId) |
| | | .eq(Approve::getObjType,businessType) |
| | | .eq(Approve::getType,Constants.ZERO) |
| | | .eq(Approve::getStatus,Constants.approveStatus.auditIng) |
| | | ); |
| | | if(CollectionUtils.isNotEmpty(approveList)){ |
| | | List<String> names = approveList.stream().map(m->m.getMemberName()).collect(Collectors.toList()); |
| | | return String.join(",",names); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | if(Objects.nonNull(visits)){ |
| | | if(Constants.equalsInteger(visits.getStatus(),Constants.ZERO)){ |
| | | visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.ONE).eq(Visits::getId,visits.getId())); |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到业务数据对象!请刷新重试"); |
| | | } |
| | | } |
| | | |
| | |
| | | String info = ""; |
| | | List<String> memberNameList = Arrays.asList(memberNames.split(",")); |
| | | if(Constants.equalsInteger(memberNameList.size(),Constants.ONE)){ |
| | | info = "待 "+memberNameList.get(0)+" 处理中"; |
| | | info = "待"+memberNameList.get(0)+"处理中"; |
| | | }else{ |
| | | info = "待 "+memberNameList.get(0)+" 等"+memberNameList.size()+"人处理中"; |
| | | info = "待"+memberNameList.get(0)+"等"+memberNameList.size()+"人处理中"; |
| | | } |
| | | //更新该业务数据的所有记录信息 |
| | | noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda() |
| | |
| | | notices.setParam5(memberNames); |
| | | notices.setRemark(nextDealApprove.getMemberName()); |
| | | if(Constants.equalsInteger(memberNameList.size(),Constants.ONE)){ |
| | | notices.setInfo("待 "+memberNameList.get(0)+" 处理中"); |
| | | notices.setInfo("待"+memberNameList.get(0)+"处理中"); |
| | | }else{ |
| | | notices.setInfo("待 "+memberNameList.get(0)+" 等"+memberNameList.size()+"人处理中"); |
| | | notices.setInfo("待"+memberNameList.get(0)+"等"+memberNameList.size()+"人处理中"); |
| | | } |
| | | noticesJoinMapper.insert(newNotices); |
| | | } |
| | |
| | | visits.setEditDate(new Date()); |
| | | visits.setEditor(approveDTO.getLoginUserInfo().getMemberId()); |
| | | visitsMapper.updateById(visits); |
| | | |
| | | }else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals( |
| | | Constants.approveObjectType.unCityUseCar)){ |
| | | this.updDriver(approveDTO,approve,true); |
| | | }else if(approveDTO.getObjType().equals(Constants.approveObjectType.logisticsCarUse)){ |
| | | //TODO 物流车预约 |
| | | }else if(approveDTO.getObjType().equals(Constants.approveObjectType.reason)){ |
| | | //物流车预约 |
| | | PlatformBooks platformBooks = platformBooksMapper.selectById(approveDTO.getObjId()); |
| | | if(Objects.isNull(platformBooks)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到物流车预约记录"); |
| | | } |
| | | platformBooks.setStatus(approveDTO.getStatus()); |
| | | platformBooks.setEditDate(new Date()); |
| | | platformBooks.setEditor(approveDTO.getLoginUserInfo().getMemberId()); |
| | | PlatformReason platformReason = platformReasonMapper.selectById(platformBooks.getReasonId()); |
| | | |
| | | //生成任务记录 |
| | | PlatformJob platformJob = platformBooks.toPlatformJob(); |
| | | platformJob.setPlatformGroupId(platformReason.getGroupId().intValue()); |
| | | platformJob.setType(Constants.platformJobType.sgscxh); |
| | | platformJob.setStatus(Constants.PlatformJobStatus.WART_SIGN_IN.getKey()); |
| | | platformJobMapper.insert(platformJob); |
| | | platformBooks.setJobId(platformJob.getId()); |
| | | platformBooksMapper.updateById(platformBooks); |
| | | //生成任务操作记录 |
| | | PlatformLog platformLog = new PlatformLog(); |
| | | platformLog.setCreateDate(new Date()); |
| | | platformLog.setJobId(platformJob.getId()); |
| | | platformLog.setIsdeleted(Constants.ZERO); |
| | | platformLog.setParam4(platformJob.getCarCodeFront()); |
| | | platformLog.setContent(Constants.PlatformJobLogType.CREATE.getInfo()); |
| | | platformLog.setObjType(Constants.PlatformJobLogType.CREATE.getKey()); |
| | | platformLog.setObjId(platformJob.getId().toString()); |
| | | platformLog.setAfterContent(JSONObject.toJSONString(platformJob)); |
| | | platformLogMapper.insert(platformLog); |
| | | |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |