| | |
| | | userAction.setRemark(info); |
| | | userAction.setMemberId(id+""); |
| | | userActionMapper.insert(userAction); |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | int reason = 6;//入园原因 |
| | | } |
| | | |
| | | public interface noticesObjectType{ |
| | | int visit = 0;//访客申请 |
| | | int visitReporting = 1;//访客报备 |
| | | int useCar = 2;//用车申请 |
| | | int dangerDeal = 3;//隐患处理 |
| | | int logisticsCarUse = 4;//物流车审批 |
| | | int system = 5;//系统消息 |
| | | int reason = 6;//入园原因 |
| | | int hknotice = 7;//海康考勤代办 |
| | | } |
| | | |
| | | |
| | | public static Integer approveTypeToNoticeType(Integer approveType){ |
| | |
| | | |
| | | |
| | | |
| | | public interface noticesObjectType{ |
| | | int visit = 0;//访客申请 |
| | | int visitReporting = 1;//访客报备 |
| | | int useCar = 2;//用车申请 |
| | | int dangerDeal = 3;//隐患处理 |
| | | int logisticsCarUse = 4;//物流车审批 |
| | | int system = 5;//系统消息 |
| | | int reason = 6;//入园原因 |
| | | int hknotice = 7;//海康考勤代办 |
| | | } |
| | | |
| | | |
| | | public interface approveStatus{ |
| | |
| | | @GetMapping("/timer/sms/sendWaitingSmsNotice") |
| | | ApiResponse sendWaitingSmsNotice(); |
| | | |
| | | @ApiOperation("【数字化月台】月台今日作业外完成通知定时") |
| | | @GetMapping("/timer/platformJob/sendUnFinishNotice") |
| | | ApiResponse sendUnFinishNotice(); |
| | | |
| | | |
| | | } |
| | |
| | | return ApiResponse.success("月台等待作业超时业务"); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("月台今日作业外完成通知定时") |
| | | @GetMapping("/sendUnFinishNotice") |
| | | public ApiResponse sendUnFinishNotice() { |
| | | platformJobService.sendUnFinishNotice(); |
| | | return ApiResponse.success("月台今日作业外完成通知定时"); |
| | | } |
| | | |
| | | } |
| | |
| | | String platformJobNewJob = "platformJobNewJob"; |
| | | // 运输任务取消 (给司机) |
| | | String platformJobCancel = "platformJobCancel"; |
| | | //签到通知 |
| | | String platformGroupSignIn = "platformGroupSignIn"; |
| | | //作业未完成通知 |
| | | String unFinishNotice = "unFinishNotice"; |
| | | } |
| | | |
| | | |
| | |
| | | }catch (Exception e){ |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 月台签到通知 |
| | | * @param wxNoticeConfigMapper |
| | | * @param platformJob |
| | | * @param objCode |
| | | * @param token |
| | | * @param openIds |
| | | */ |
| | | public void sendPlatformJobSignNotice(WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode,String token, |
| | | List<String> openIds){ |
| | | try{ |
| | | if(CollectionUtils.isNotEmpty(openIds)){ |
| | | WxNoticeConfig wxNoticeConfig = wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.platformJob) |
| | | .eq(WxNoticeConfig::getObjCode,objCode) |
| | | .eq(WxNoticeConfig::getStatus, Constants.ZERO) |
| | | .last(" limit 1") |
| | | ); |
| | | if(Objects.isNull(wxNoticeConfig)){ |
| | | return; |
| | | } |
| | | String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token; |
| | | //整体参数map |
| | | Map<String, Object> paramMap = new HashMap<String, Object>(); |
| | | //消息主题显示相关map |
| | | Map<String, Object> dataMap = new HashMap<String, Object>(); |
| | | //车牌号 |
| | | Map<String, Object> car_number1 = new HashMap<String,Object>(); |
| | | car_number1.put("value",platformJob.getCarCodeFront()); |
| | | //司机姓名 |
| | | Map<String, Object> thing2 = new HashMap<String,Object>(); |
| | | thing2.put("value",platformJob.getDriverName()); |
| | | //签到时间 |
| | | Map<String, Object> time5 = new HashMap<String,Object>(); |
| | | time5.put("value", DateUtil.getFomartDate(platformJob.getSignDate(),"yyyy年MM月dd日 HH:mm:ss")); |
| | | |
| | | dataMap.put("car_number1",car_number1); |
| | | dataMap.put("thing2",thing2); |
| | | dataMap.put("time5",time5); |
| | | for (String openId:openIds) { |
| | | paramMap.clear(); |
| | | paramMap.put("template_id", wxNoticeConfig.getTempId()); |
| | | paramMap.put("touser", openId); |
| | | paramMap.put("data", dataMap); |
| | | String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap)); |
| | | log.error("·==++--·推送微信模板信息内容:{}", JSONObject.toJSONString(paramMap)); |
| | | if(StringUtils.isBlank(response)){ |
| | | log.error("·==++--·推送微信模板信息:{}·--++==·", "失败"); |
| | | }else{ |
| | | JSONObject json = JSONObject.parseObject(response); |
| | | log.error("·==++--·推送微信模板信息:{}·--++==·", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"成功":"失败"+json.getString("errmsg")); |
| | | } |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | |
| | | } |
| | | } |
| | | |
| | | public void sendUnFinishNotice(WxNoticeConfigMapper wxNoticeConfigMapper,Integer unFinishNum,String objCode,String token, |
| | | List<String> openIds){ |
| | | try{ |
| | | if(CollectionUtils.isNotEmpty(openIds)){ |
| | | WxNoticeConfig wxNoticeConfig = wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.platformJob) |
| | | .eq(WxNoticeConfig::getObjCode,objCode) |
| | | .eq(WxNoticeConfig::getStatus, Constants.ZERO) |
| | | .last(" limit 1") |
| | | ); |
| | | if(Objects.isNull(wxNoticeConfig)){ |
| | | return; |
| | | } |
| | | String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token; |
| | | //整体参数map |
| | | Map<String, Object> paramMap = new HashMap<String, Object>(); |
| | | //消息主题显示相关map |
| | | Map<String, Object> dataMap = new HashMap<String, Object>(); |
| | | //车牌号 |
| | | Map<String, Object> const1 = new HashMap<String,Object>(); |
| | | const1.put("value","作业任务未完成"); |
| | | //司机姓名 |
| | | Map<String, Object> thing2 = new HashMap<String,Object>(); |
| | | thing2.put("value",unFinishNum+"个"); |
| | | //签到时间 |
| | | Map<String, Object> time3 = new HashMap<String,Object>(); |
| | | time3.put("value", DateUtil.getFomartDate(new Date(),"yyyy年MM月dd日 HH:mm:ss")); |
| | | |
| | | dataMap.put("const1",const1); |
| | | dataMap.put("thing2",thing2); |
| | | dataMap.put("time3",time3); |
| | | for (String openId:openIds) { |
| | | paramMap.clear(); |
| | | paramMap.put("template_id", wxNoticeConfig.getTempId()); |
| | | paramMap.put("touser", openId); |
| | | paramMap.put("data", dataMap); |
| | | String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap)); |
| | | log.error("·==++--·推送微信模板信息内容:{}", JSONObject.toJSONString(paramMap)); |
| | | if(StringUtils.isBlank(response)){ |
| | | log.error("·==++--·推送微信模板信息:{}·--++==·", "失败"); |
| | | }else{ |
| | | JSONObject json = JSONObject.parseObject(response); |
| | | log.error("·==++--·推送微信模板信息:{}·--++==·", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"成功":"失败"+json.getString("errmsg")); |
| | | } |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | PlatformJob getLastWaitJob(String uuid, LoginUserInfo loginUser); |
| | | |
| | | /** |
| | | * 作业未完成定时通知 |
| | | */ |
| | | void sendUnFinishNotice(); |
| | | |
| | | } |
| | |
| | | |
| | | @Autowired |
| | | private CarUseBookMapper carUseBookMapper; |
| | | @Autowired |
| | | private ApproveMapper approveMapper; |
| | | |
| | | @Autowired |
| | | private UserActionMapper userActionMapper; |
| | |
| | | params[2]=model.getCarCode()+"-【乘车人:"+model.getMemberNames()+" 】-【预约人:"+model.getMemberName()+"】-【时间:"+DateUtil.getPlusTime2(model.getStartTime())+"-"+DateUtil.getPlusTime2(model.getEndTime())+"】"; |
| | | //记录删除日志 |
| | | UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.CAR_BOOK_DEL,userActionMapper,date,params, JSONObject.toJSONString(model)); |
| | | |
| | | VisitsServiceImpl.dealCancelNoticesData(noticesJoinMapper,approveMapper,"系统删除",model.getId(), |
| | | Constants.equalsInteger(model.getType(),Constants.ZERO)?Constants.approveObjectType.cityUseCar:Constants.approveObjectType.unCityUseCar, |
| | | Constants.noticesObjectType.useCar |
| | | ); |
| | | } |
| | | @Override |
| | | public void delete(CarUseBook carUseBook) { |
| | |
| | | @Autowired |
| | | private WxNoticeConfigMapper wxNoticeConfigMapper; |
| | | |
| | | @Autowired |
| | | private ApproveMapper approveMapper; |
| | | |
| | | |
| | | @Override |
| | | public Integer create(HiddenDanger hiddenDanger) { |
| | |
| | | params[2]=model.getAreaName()+"-【"+model.getContent()+"】"; |
| | | //记录删除日志 |
| | | UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.HIDEN_DANGER_DEL,userActionMapper,date,params,JSONObject.toJSONString(model)); |
| | | |
| | | //标记任务记录 |
| | | VisitsServiceImpl.dealCancelNoticesData(noticesJoinMapper,approveMapper,"系统删除",model.getId(), |
| | | null, |
| | | Constants.noticesObjectType.dangerDeal |
| | | ); |
| | | } |
| | | |
| | | @Override |
| | |
| | | @Autowired |
| | | private WxNoticeConfigMapper wxNoticeConfigMapper; |
| | | |
| | | @Autowired |
| | | private ApproveMapper approveMapper; |
| | | |
| | | @Override |
| | | public Integer create(PlatformBooks platformBooks) { |
| | | |
| | |
| | | params[2]="【合同号:"+model.getContractNum()+"】-【司机:"+model.getDriverName()+" "+model.getDriverPhone()+"】-【车牌好: "+model.getPlateNum()+"】"; |
| | | //记录删除日志 |
| | | UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.PLATFROM_BOOK_DEL,userActionMapper,date,params, JSONObject.toJSONString(model)); |
| | | //标记任务记录 |
| | | VisitsServiceImpl.dealCancelNoticesData(noticesJoinMapper,approveMapper,"系统删除",model.getId(), |
| | | Constants.approveObjectType.reason, |
| | | Constants.noticesObjectType.reason |
| | | ); |
| | | } |
| | | @Override |
| | | public void delete(PlatformBooks platformBooks) { |
| | |
| | | //存储操作日志 |
| | | savePlatformLog(Constants.PlatformJobLogType.SIGN.getKey(),oldPlatformJob,platformJob, |
| | | Constants.PlatformJobLogType.SIGN.getInfo()); |
| | | //签到微信通知 2025年3月26日14:25:00 |
| | | if(!Constants.equalsInteger(platformJob.getSingType(),Constants.TWO)&&StringUtils.isNotBlank(platformGroup.getSignInNoticeUsers())){ |
| | | List<SystemUser> systemUserList = systemUserMapper.selectList(new QueryWrapper<SystemUser>().lambda() |
| | | .eq(SystemUser::getDeleted,Constants.ZERO).eq(SystemUser::getStatus,Constants.ZERO).isNotNull(SystemUser::getOpenid) |
| | | .in(SystemUser::getId,Arrays.asList(platformGroup.getSignInNoticeUsers().split(","))) |
| | | ); |
| | | if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemUserList)) { |
| | | WxPlatNotice wxPlatNotice = new WxPlatNotice(); |
| | | wxPlatNotice.sendPlatformJobSignNotice(wxNoticeConfigMapper, platformJob, |
| | | WxPlatConstants.platformJobContent.platformGroupSignIn, |
| | | systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), |
| | | systemUserList.stream().map(i->i.getOpenid()).collect(Collectors.toList()) |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void sendUnFinishNotice(){ |
| | | //状态 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 已过号 12取消(WMS) |
| | | List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAll(PlatformJob.class) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .isNotNull(PlatformJob::getPlatformGroupId) |
| | | .apply(" CREATE_DATE < now() ") |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey() |
| | | ,Constants.PlatformJobStatus.WART_SIGN_IN.getKey() |
| | | ,Constants.PlatformJobStatus.WAIT_CALL.getKey() |
| | | ,Constants.PlatformJobStatus.IN_WAIT.getKey() |
| | | ,Constants.PlatformJobStatus.CALLED.getKey() |
| | | ,Constants.PlatformJobStatus.WORKING.getKey() |
| | | ,Constants.PlatformJobStatus.TRANSFERING.getKey() |
| | | ,Constants.PlatformJobStatus.EXCEPTION.getKey() |
| | | ,Constants.PlatformJobStatus.OVER_NUMBER.getKey() |
| | | ) |
| | | ); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobList)){ |
| | | List<Integer> platformGroupId = platformJobList.stream().map(i->i.getPlatformGroupId()).collect(Collectors.toList()); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformGroupId)){ |
| | | Set<Integer> setList = new HashSet<>(platformGroupId); |
| | | for (Integer groupId:setList) { |
| | | PlatformGroup platformGroup = platformGroupMapper.selectById(groupId); |
| | | if(Objects.nonNull(platformGroup)){ |
| | | List<SystemUser> systemUserList = systemUserMapper.selectList(new QueryWrapper<SystemUser>().lambda() |
| | | .eq(SystemUser::getDeleted,Constants.ZERO).eq(SystemUser::getStatus,Constants.ZERO).isNotNull(SystemUser::getOpenid) |
| | | .in(SystemUser::getId,Arrays.asList(platformGroup.getUnFinishNoticeUsers().split(","))) |
| | | ); |
| | | if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemUserList)) { |
| | | WxPlatNotice wxPlatNotice = new WxPlatNotice(); |
| | | wxPlatNotice.sendUnFinishNotice( |
| | | wxNoticeConfigMapper, |
| | | platformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformGroupId(),groupId)).collect(Collectors.toList()).size(), |
| | | WxPlatConstants.platformJobContent.unFinishNotice, |
| | | systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), |
| | | systemUserList.stream().map(i->i.getOpenid()).collect(Collectors.toList()) |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | public void distanceSignIn(SignInDTO signInDTO , PlatformJob platformJob){ |
| | | if(Objects.isNull(signInDTO.getLat()) |
| | |
| | | |
| | | |
| | | |
| | | |
| | | private Logger logger = LoggerFactory.getLogger(PlatformJobServiceImpl.class); |
| | | |
| | | @Override |
| | |
| | | private ErpTool erpTool; |
| | | |
| | | @Autowired |
| | | private VisitParkMapper visitParkMapper; |
| | | @Autowired |
| | | private WxPlatNotice wxPlatNotice; |
| | | |
| | | @Autowired |
| | |
| | | .eq(Retention::getMemberId,visits.getMemberId())); |
| | | } |
| | | |
| | | @Autowired |
| | | private VisitParkMapper visitParkMapper; |
| | | |
| | | |
| | | /** |
| | |
| | | updateWrapper.lambda().set(Visits::getHkStatus,Constants.ZERO).set(Visits::getHkDate,DateUtil.getCurrDateTime()); |
| | | } |
| | | } |
| | | |
| | | if(Constants.equalsInteger(visits.getStatus(),Constants.ZERO)||Constants.equalsInteger(visits.getStatus(),Constants.ONE)){ |
| | | //更新审批中的记录为取消 |
| | | approveMapper.update(null, |
| | | new UpdateWrapper<Approve>().lambda() |
| | | .set(Approve::getEditDate,new Date()) |
| | | .set(Approve::getStatus,Constants.approveStatus.cancel) |
| | | .set(Approve::getStatusInfo,"手动取消") |
| | | .set(Approve::getCheckInfo,"手动取消") |
| | | .eq(Approve::getIsdeleted,Constants.ZERO) |
| | | .in(Approve::getStatus,Constants.approveStatus.auditIng,Constants.approveStatus.wait) |
| | | .eq(Approve::getObjId,visits.getId()) |
| | | .eq(Approve::getObjType,visits.getType())); |
| | | //更新待办消息状态 |
| | | noticesJoinMapper.update(null, |
| | | new UpdateWrapper<Notices>().lambda() |
| | | .set(Notices::getEditDate,new Date()) |
| | | .set(Notices::getInfo,"手动取消") |
| | | // .set(Notices::getStatus,Constants.ONE) |
| | | .set(Notices::getParam2,Constants.FOUR)//已取消 |
| | | .eq(Notices::getIsdeleted,Constants.ZERO) |
| | | .eq(Notices::getStatus,Constants.ZERO) |
| | | .eq(Notices::getParam2,Constants.ZERO)//待处理 |
| | | .eq(Notices::getObjId,visits.getId()) |
| | | .eq(Notices::getObjType,Constants.equalsInteger(visits.getType(),Constants.ZERO)?Constants.noticesObjectType.visit:Constants.noticesObjectType.visitReporting) |
| | | ); |
| | | } |
| | | |
| | | visitsMapper.update(null,updateWrapper); |
| | | } |
| | | |
| | |
| | | .set(Visits::getEditDate,date) |
| | | .set(Visits::getRemark,"预约截止时间已过未审批,系统自动取消") |
| | | .eq(Visits::getId,s.getId())); |
| | | //更新审批中的记录为取消 |
| | | |
| | | VisitsServiceImpl.dealCancelNoticesData(noticesJoinMapper,approveMapper,"系统取消",s.getId(), |
| | | s.getType(),Constants.equalsInteger(s.getType(),Constants.ZERO)?Constants.noticesObjectType.visit:Constants.noticesObjectType.visitReporting |
| | | ); |
| | | |
| | | |
| | | // //更新审批中的记录为取消 |
| | | // approveMapper.update(null, |
| | | // new UpdateWrapper<Approve>().lambda() |
| | | // .set(Approve::getEditDate,date) |
| | | // .set(Approve::getStatus,Constants.approveStatus.cancel) |
| | | // .set(Approve::getStatusInfo,"系统已取消") |
| | | // .set(Approve::getCheckInfo,"访问时间已过,系统自动取消") |
| | | // .eq(Approve::getIsdeleted,Constants.ZERO) |
| | | // .in(Approve::getStatus,Constants.approveStatus.auditIng,Constants.approveStatus.wait) |
| | | // .eq(Approve::getObjId,s.getId()) |
| | | // .eq(Approve::getObjType,s.getType())); |
| | | // //更新待办消息状态 |
| | | // noticesJoinMapper.update(null, |
| | | // new UpdateWrapper<Notices>().lambda() |
| | | // .set(Notices::getEditDate,date) |
| | | // .set(Notices::getInfo,"已取消") |
| | | //// .set(Notices::getStatus,Constants.ONE) |
| | | // .set(Notices::getParam2,Constants.FOUR)//已取消 |
| | | // .eq(Notices::getIsdeleted,Constants.ZERO) |
| | | // .eq(Notices::getStatus,Constants.ZERO) |
| | | // .eq(Notices::getParam2,Constants.ZERO)//待处理 |
| | | // .eq(Notices::getObjId,s.getId()) |
| | | // .eq(Notices::getObjType,Constants.equalsInteger(s.getType(),Constants.ZERO)?Constants.noticesObjectType.visit:Constants.noticesObjectType.visitReporting) |
| | | // ); |
| | | } |
| | | |
| | | |
| | | public static void dealCancelNoticesData(NoticesJoinMapper noticesJoinMapper,ApproveMapper approveMapper,String info,Integer objId,Integer approveObjectType,Integer noticesType){ |
| | | if(Objects.nonNull(approveObjectType)){ |
| | | approveMapper.update(null, |
| | | new UpdateWrapper<Approve>().lambda() |
| | | .set(Approve::getEditDate,date) |
| | | .set(Approve::getEditDate,new Date()) |
| | | .set(Approve::getStatus,Constants.approveStatus.cancel) |
| | | .set(Approve::getStatusInfo,"系统已取消") |
| | | .set(Approve::getCheckInfo,"访问时间已过,系统自动取消") |
| | | .set(Approve::getStatusInfo,info) |
| | | .set(Approve::getCheckInfo,info) |
| | | .eq(Approve::getIsdeleted,Constants.ZERO) |
| | | .in(Approve::getStatus,Constants.approveStatus.auditIng,Constants.approveStatus.wait) |
| | | .eq(Approve::getObjId,s.getId()) |
| | | .eq(Approve::getObjType,s.getType())); |
| | | .eq(Approve::getObjId,objId) |
| | | .eq(Approve::getObjType,approveObjectType)); |
| | | } |
| | | if(Objects.nonNull(noticesType)){ |
| | | //更新待办消息状态 |
| | | noticesJoinMapper.update(null, |
| | | new UpdateWrapper<Notices>().lambda() |
| | | .set(Notices::getEditDate,date) |
| | | .set(Notices::getInfo,"已取消") |
| | | // .set(Notices::getStatus,Constants.ONE) |
| | | .set(Notices::getEditDate,new Date()) |
| | | .set(Notices::getInfo,info) |
| | | .set(Notices::getParam2,Constants.FOUR)//已取消 |
| | | .eq(Notices::getIsdeleted,Constants.ZERO) |
| | | .eq(Notices::getStatus,Constants.ZERO) |
| | | .eq(Notices::getParam2,Constants.ZERO)//待处理 |
| | | .eq(Notices::getObjId,s.getId()) |
| | | .eq(Notices::getObjType,Constants.equalsInteger(s.getType(),Constants.ZERO)?Constants.noticesObjectType.visit:Constants.noticesObjectType.visitReporting) |
| | | .eq(Notices::getObjId,objId) |
| | | .eq(Notices::getObjType,noticesType) |
| | | ); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |