|  |  | 
 |  |  | import com.doumee.core.haikang.model.param.request.ParkReservationAddRequest; | 
 |  |  | import com.doumee.core.haikang.model.param.respose.ParkReservationAddResponse; | 
 |  |  | import com.doumee.core.haikang.service.HKService; | 
 |  |  | import com.doumee.core.model.PageData; | 
 |  |  | import com.doumee.core.model.PageWrap; | 
 |  |  | import com.doumee.service.business.third.model.PageData; | 
 |  |  | import com.doumee.service.business.third.model.PageWrap; | 
 |  |  | import com.doumee.core.utils.Constants; | 
 |  |  | import com.doumee.core.utils.DateUtil; | 
 |  |  | import com.doumee.core.utils.SmsConstants; | 
 |  |  | 
 |  |  | import com.doumee.core.wx.wxPlat.WxPlatNotice; | 
 |  |  | import com.doumee.dao.business.*; | 
 |  |  | import com.doumee.dao.business.dao.CompanyMapper; | 
 |  |  | import com.doumee.dao.business.dao.MemberMapper; | 
 |  |  | import com.doumee.dao.business.dao.SmsConfigMapper; | 
 |  |  | import com.doumee.dao.business.dao.SmsEmailMapper; | 
 |  |  | import com.doumee.dao.business.dto.ApproveDTO; | 
 |  |  | 
 |  |  | import com.doumee.dao.business.join.VisitsJoinMapper; | 
 |  |  | import com.doumee.dao.business.model.*; | 
 |  |  | import com.doumee.dao.business.vo.ApproveDataVO; | 
 |  |  | import com.doumee.dao.business.model.Member; | 
 |  |  | import com.doumee.dao.system.SystemUserMapper; | 
 |  |  | import com.doumee.dao.system.dto.NoticesDTO; | 
 |  |  | import com.doumee.dao.system.join.NoticesJoinMapper; | 
 |  |  | 
 |  |  |      * @param tempType 模板类型  0非施工人员访客申请 1施工人员访客申请 2访客报备 3公车市内用车 4公车室外用车 5市公司物流车预约 | 
 |  |  |      * @param businessId 业务主键 根据 tempType | 
 |  |  |      * @param createMemberId 提交流程人员 | 
 |  |  |      * @param applyMember 申请人对象(如果为空,默认为提交人) | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     @Transactional(rollbackFor = {Exception.class,BusinessException.class}) | 
 |  |  |     public void createApproveFlow(Integer tempType,Integer businessId,Integer createMemberId){ | 
 |  |  |     public void createApproveFlow(Integer tempType,Integer businessId,Integer createMemberId,Member applyMember){ | 
 |  |  |         //查询处理模板 | 
 |  |  |         ApproveTempl approveTempl = approveTemplMapper.selectOne(new QueryWrapper<ApproveTempl>().lambda() | 
 |  |  |                 .eq(ApproveTempl::getType,tempType) | 
 |  |  | 
 |  |  |         } | 
 |  |  |         List<ApproveParam> approveCopyList = approveParamAllList.stream().filter(i->i.getType().equals(Constants.ONE)).collect(Collectors.toList()); | 
 |  |  |  | 
 |  |  |         Member createMember = memberMapper.selectById(createMemberId); | 
 |  |  |         Member createMember =    memberMapper.selectById(createMemberId); | 
 |  |  |         if(Objects.isNull(createMember)|| Objects.isNull(createMember.getCompanyId())){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"申请人组织信息异常"); | 
 |  |  |         } | 
 |  |  |         List<Approve> approveList = new ArrayList<>(); | 
 |  |  |  | 
 |  |  |         this.organizeApproveData(approveTempl,approveParamList,createMember,businessId,approveList); | 
 |  |  |  | 
 |  |  |         this.organizeApproveData(approveTempl,approveParamList,createMember,applyMember,businessId,approveList); | 
 |  |  |         if(CollectionUtils.isEmpty(approveList)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"审批流配置错误"); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //处理抄送数据 | 
 |  |  |         if(CollectionUtils.isNotEmpty(approveCopyList)){ | 
 |  |  |             this.organizeApproveCopyData(approveTempl,approveCopyList,businessId,approveList); | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     @Transactional(rollbackFor = {Exception.class,BusinessException.class}) | 
 |  |  |     public void createApproveForPlatfrom(Integer tempId,Integer businessId,Integer createMemberId){ | 
 |  |  |     public void createApproveForPlatfrom(Integer tempId,Integer businessId,Integer createMemberId ){ | 
 |  |  |         //查询处理模板 | 
 |  |  |         ApproveTempl approveTempl = approveTemplMapper.selectById(tempId); | 
 |  |  |         if(Objects.isNull(approveTempl)){ | 
 |  |  | 
 |  |  |         } | 
 |  |  |         List<Approve> approveList = new ArrayList<>(); | 
 |  |  |  | 
 |  |  |         this.organizeApproveData(approveTempl,approveParamList,createMember,businessId,approveList); | 
 |  |  |         this.organizeApproveData(approveTempl,approveParamList,createMember,null,businessId,approveList); | 
 |  |  |  | 
 |  |  |         if(CollectionUtils.isEmpty(approveList)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"审批流配置错误"); | 
 |  |  | 
 |  |  |      * @param businessId | 
 |  |  |      * @param approveList | 
 |  |  |      */ | 
 |  |  |     public void organizeApproveData(ApproveTempl approveTempl,List<ApproveParam> approveParamList,Member createMember,Integer businessId,List<Approve> approveList){ | 
 |  |  |     public void organizeApproveData(ApproveTempl approveTempl,List<ApproveParam> approveParamList,Member createMember,Member applyMember,Integer businessId,List<Approve> approveList){ | 
 |  |  |  | 
 |  |  |         if(applyMember ==null){ | 
 |  |  |             applyMember = createMember; | 
 |  |  |         } | 
 |  |  |         //创建默认人信息 | 
 |  |  |         Approve createUserApprove = new Approve(); | 
 |  |  |         createUserApprove.setRemark("发起申请"); | 
 |  |  |         createUserApprove.setCreateDate(new Date()); | 
 |  |  |         createUserApprove.setIsdeleted(Constants.ZERO); | 
 |  |  |         createUserApprove.setTemplatId(approveTempl.getId()); | 
 |  |  |         createUserApprove.setChekorId(createMember.getId()); | 
 |  |  |         createUserApprove.setChekorId(applyMember.getId()); | 
 |  |  |         createUserApprove.setCheckDate(createUserApprove.getCreateDate()); | 
 |  |  |         createUserApprove.setStatus(Constants.approveStatus.pass); | 
 |  |  |         createUserApprove.setTitle("发起申请"); | 
 |  |  | 
 |  |  |                         .set(Notices::getInfo,"已拒绝") | 
 |  |  |                         .eq(Notices::getObjId,notices.getObjId()) | 
 |  |  |                         .eq(Notices::getObjType,notices.getObjType()) | 
 |  |  |                         .eq(Notices::getReaded,Constants.ZERO) | 
 |  |  | //                        .eq(Notices::getReaded,Constants.ZERO) | 
 |  |  |                         .ne(Notices::getId,notices.getId()) | 
 |  |  |                 ); | 
 |  |  |             } | 
 |  |  | 
 |  |  |             if(Objects.nonNull(driver) && StringUtils.isNotBlank(driver.getOpenid())){ | 
 |  |  |                 //发送微信公众号通知 | 
 |  |  |                 wxPlatNotice.sendPlatformBookTemplateNotice(systemDictDataBiz, | 
 |  |  |                         wxNoticeConfigMapper,platformBooks, | 
 |  |  |                         wxNoticeConfigMapper, platformBooks, | 
 |  |  |                         Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)?WxPlatConstants.platformBookContent.platformBookAuditSuccess: WxPlatConstants.platformBookContent.platformBookAuditFail, | 
 |  |  |                         systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), | 
 |  |  |                         Arrays.asList(driver.getOpenid().split(",")),0); |