|  |  | 
 |  |  | import com.doumee.biz.system.SystemDictDataBiz; | 
 |  |  | import com.doumee.core.constants.ResponseStatus; | 
 |  |  | import com.doumee.core.exception.BusinessException; | 
 |  |  | import com.doumee.core.model.LoginUserInfo; | 
 |  |  | import com.doumee.core.model.PageData; | 
 |  |  | import com.doumee.core.model.PageWrap; | 
 |  |  | import com.doumee.dao.business.dao.*; | 
 |  |  | import com.doumee.dao.business.vo.GeneralDataVO; | 
 |  |  | import com.doumee.dao.business.vo.HiddenDangerDataVO; | 
 |  |  | import com.doumee.service.business.third.model.LoginUserInfo; | 
 |  |  | 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.utils.Utils; | 
 |  |  | import com.doumee.core.wx.wxPlat.WxPlatConstants; | 
 |  |  | import com.doumee.core.wx.wxPlat.WxPlatNotice; | 
 |  |  | import com.doumee.dao.business.*; | 
 |  |  | import com.doumee.dao.business.dao.SmsEmailMapper; | 
 |  |  | import com.doumee.dao.business.model.*; | 
 |  |  | import com.doumee.dao.business.model.Member; | 
 |  |  | import com.doumee.dao.system.MultifileMapper; | 
 |  |  |  | 
 |  |  | import com.doumee.dao.system.SystemUserMapper; | 
 |  |  | import com.doumee.dao.system.join.NoticesJoinMapper; | 
 |  |  | import com.doumee.dao.system.model.Multifile; | 
 |  |  | import com.doumee.dao.system.model.Notices; | 
 |  |  | import com.doumee.dao.system.model.SystemUser; | 
 |  |  | import com.doumee.service.business.HiddenDangerService; | 
 |  |  | import com.doumee.service.business.third.EmayService; | 
 |  |  | import com.github.yulichang.wrapper.MPJLambdaWrapper; | 
 |  |  | 
 |  |  | import org.springframework.transaction.annotation.Transactional; | 
 |  |  | import org.springframework.util.CollectionUtils; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.*; | 
 |  |  | import java.util.stream.Collectors; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * 隐患信息表Service实现 | 
 |  |  | 
 |  |  |     private SystemDictDataBiz systemDictDataBiz; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SystemUserMapper systemUserMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private MemberMapper memberMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private HiddenDangerLogMapper hiddenDangerLogMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private UserActionMapper userActionMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private CompanyMapper companyMapper; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private EmayService emayService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private WxNoticeConfigMapper wxNoticeConfigMapper; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |         } | 
 |  |  |         hiddenDanger.setMemberId(hiddenDanger.getLoginUserInfo().getMemberId()); | 
 |  |  |         Member createMember = memberMapper.selectById(hiddenDanger.getMemberId()); | 
 |  |  |         if(Objects.isNull(createMember)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到创建人信息"); | 
 |  |  |         } | 
 |  |  |         hiddenDanger.setIsdeleted(Constants.ZERO); | 
 |  |  |         hiddenDanger.setCreateDate(new Date()); | 
 |  |  |         hiddenDanger.setEditDate(new Date()); | 
 |  |  | 
 |  |  |         if(Objects.isNull(hiddenDangerCate)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患类型"); | 
 |  |  |         } | 
 |  |  |         hiddenDanger.setCategoryName(hiddenDangerCate.getName()); | 
 |  |  |         hiddenDanger.setCreator(hiddenDanger.getLoginUserInfo().getId()); | 
 |  |  |         hiddenDanger.setAreaName(hiddenDangerParam.getName()); | 
 |  |  |         hiddenDanger.setStatus(Constants.ZERO); | 
 |  |  | 
 |  |  |             ); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         WxPlatNotice wxPlatNotice = new WxPlatNotice(); | 
 |  |  |         SystemUser systemUser = systemUserMapper.selectById(hiddenDanger.getLoginUserInfo().getId()); | 
 |  |  |         hiddenDanger.setMemberName(systemUser.getRealname()); | 
 |  |  |         //提交人的微信公众号通知 | 
 |  |  |         if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getOpenid())){ | 
 |  |  |             wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz, | 
 |  |  |                     wxNoticeConfigMapper,hiddenDanger, | 
 |  |  |                     WxPlatConstants.hiddenDangerContent.hiddenDangerUpload, | 
 |  |  |                     systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), | 
 |  |  |                     Arrays.asList(systemUser.getOpenid().split(","))); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         SystemUser checkUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() | 
 |  |  |                 .eq(SystemUser::getDeleted, Constants.ZERO) | 
 |  |  |                 .eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId()) | 
 |  |  |                 .last(" limit 1 ")); | 
 |  |  |  | 
 |  |  |         //处理人的微信公众号通知 | 
 |  |  |         if(Objects.nonNull(checkUser)&&StringUtils.isNotBlank(checkUser.getOpenid())){ | 
 |  |  |             wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz, | 
 |  |  |                     wxNoticeConfigMapper,hiddenDanger, | 
 |  |  |                     WxPlatConstants.hiddenDangerContent.hiddenDangerUpload, | 
 |  |  |                     systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), | 
 |  |  |                     Arrays.asList(checkUser.getOpenid().split(","))); | 
 |  |  |         } | 
 |  |  |         return hiddenDanger.getId(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public void deleteById(Integer id) { | 
 |  |  |         hiddenDangerMapper.deleteById(id); | 
 |  |  |     } | 
 |  |  |     @Override | 
 |  |  |     public void deleteById(Integer id,LoginUserInfo user) { | 
 |  |  |         if( Objects.isNull(id)   ){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |         } | 
 |  |  |         HiddenDanger model = hiddenDangerMapper.selectJoinOne(HiddenDanger.class,new MPJLambdaWrapper<HiddenDanger>() | 
 |  |  |                 .selectAll(HiddenDanger.class) | 
 |  |  |                 .selectAs(Member::getName,HiddenDanger::getCheckorName) | 
 |  |  |                 .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId) | 
 |  |  |                 .eq(HiddenDanger::getId,id) | 
 |  |  |                 .eq(HiddenDanger::getIsdeleted,Constants.ZERO) | 
 |  |  |         ); | 
 |  |  |         if(Objects.isNull(model)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患数据"); | 
 |  |  |         } | 
 |  |  |        /* if (!Constants.equalsInteger(model.getStatus(),Constants.ZERO)) { | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态已流转,请刷新查看!"); | 
 |  |  |         }*/ | 
 |  |  |         HiddenDanger hiddenDanger  = new HiddenDanger(); | 
 |  |  |         hiddenDanger.setIsdeleted(Constants.ONE); | 
 |  |  |         hiddenDanger.setId(id); | 
 |  |  |         hiddenDanger.setEditor(user.getId()); | 
 |  |  |         Date date =new Date(); | 
 |  |  |  | 
 |  |  |         hiddenDanger.setEditDate(date); | 
 |  |  |         hiddenDangerMapper.updateById(hiddenDanger); | 
 |  |  |         //存储 操作日志 | 
 |  |  |         HiddenDangerLog hiddenDangerLog = new HiddenDangerLog(); | 
 |  |  |         hiddenDangerLog.setIsdeleted(Constants.ZERO); | 
 |  |  |         hiddenDangerLog.setCreateDate(date); | 
 |  |  |         hiddenDangerLog.setCreator(hiddenDanger.getEditor()); | 
 |  |  |         hiddenDangerLog.setEditDate(hiddenDangerLog.getCreateDate()); | 
 |  |  |         hiddenDangerLog.setEditor(hiddenDanger.getCreator()); | 
 |  |  |         hiddenDangerLog.setTitle("由【"+user.getRealname()+"】删除记录"); | 
 |  |  |         hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId()); | 
 |  |  |         hiddenDangerLog.setObjType(Constants.FIVE); | 
 |  |  |         hiddenDangerLogMapper.insert(hiddenDangerLog); | 
 |  |  |  | 
 |  |  |         String[] params = new String[3]; | 
 |  |  |         params[0] = user.getRealname(); | 
 |  |  |         params[1]=DateUtil.getPlusTime2(date); | 
 |  |  |         params[2]=model.getAreaName()+"-【"+model.getContent()+"】"; | 
 |  |  |         //记录删除日志 | 
 |  |  |         UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.HIDEN_DANGER_DEL,userActionMapper,date,params,JSONObject.toJSONString(model)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  | 
 |  |  |                 .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId) | 
 |  |  |                 .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId) | 
 |  |  |                 .leftJoin("company t4 on t1.company_id=t4.id") | 
 |  |  |                 .leftJoin("company t5 on t3.company_id=t5.id"); | 
 |  |  |                 .leftJoin("company t5 on t2.company_id=t5.id"); | 
 |  |  |         queryWrapper | 
 |  |  |                 .eq(HiddenDanger::getId, id).last("limit 1"); | 
 |  |  |                 .eq(HiddenDanger::getId, id) | 
 |  |  |                 .eq(HiddenDanger::getIsdeleted, Constants.ZERO) | 
 |  |  |                 .last("limit 1"); | 
 |  |  |  | 
 |  |  |         HiddenDanger model =  hiddenDangerMapper.selectJoinOne(HiddenDanger.class,queryWrapper); | 
 |  |  |         if(model ==null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ | 
 |  |  | 
 |  |  |             for(Multifile f : multifiles){ | 
 |  |  |                 if(StringUtils.isBlank(f.getFileurl())){ | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |                 if(f.getType() == null){ | 
 |  |  |                     if(StringUtils.endsWithIgnoreCase(f.getFileurl(),".mp4")){ | 
 |  |  |                         f.setType(Constants.ONE); | 
 |  |  |                     }else if(StringUtils.endsWithIgnoreCase(f.getFileurl(),".jpg") | 
 |  |  |                             ||StringUtils.endsWithIgnoreCase(f.getFileurl(),".jpeg") | 
 |  |  |                             ||StringUtils.endsWithIgnoreCase(f.getFileurl(),".png")){ | 
 |  |  |                         f.setType(Constants.ZERO); | 
 |  |  |                     }else{ | 
 |  |  |                         f.setType(Constants.TWO); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 f.setFileurlFull(path+f.getFileurl()); | 
 |  |  |                 if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.HIDDEN_DANGER_SUBMIT.getKey())){ | 
 |  |  | 
 |  |  |         IPage<HiddenDanger> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
 |  |  |         MPJLambdaWrapper<HiddenDanger> queryWrapper = new MPJLambdaWrapper<>(); | 
 |  |  |         Utils.MP.blankToNull(pageWrap.getModel()); | 
 |  |  |         pageWrap.getModel().setIsdeleted(Constants.ZERO); | 
 |  |  |         queryWrapper.selectAll(HiddenDanger.class) | 
 |  |  |                 .selectAs(HiddenDangerParam::getName,HiddenDanger::getCategoryName) | 
 |  |  |                 .select("t1.name", HiddenDanger::getMemberName) | 
 |  |  | 
 |  |  |                 .select("t4.company_name_path",HiddenDanger::getCompanyName); | 
 |  |  |         queryWrapper.leftJoin(Member.class,Member::getId,HiddenDanger::getMemberId) | 
 |  |  |                 .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId) | 
 |  |  |                 .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getAreaId) | 
 |  |  |                 .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId) | 
 |  |  |                 .leftJoin("company t4 on t1.company_id=t4.id") | 
 |  |  |                 .leftJoin("company t5 on t3.company_id=t5.id"); | 
 |  |  |                 .leftJoin("company t5 on t2.company_id=t5.id"); | 
 |  |  |  | 
 |  |  |         //数据权限开始--------------------start---------------- | 
 |  |  |         LoginUserInfo userInfo =pageWrap.getModel().getLoginUserInfo(); | 
 |  |  | 
 |  |  |         if(userInfo!=null && userInfo.getCompanyIdList()!=null){ | 
 |  |  |             if(  userInfo.getCompanyIdList().size() ==0){ | 
 |  |  |                 //只能看自己 | 
 |  |  |                 queryWrapper.eq(HiddenDanger::getCreator,userInfo.getId()); | 
 |  |  |                 queryWrapper.and(w->{ | 
 |  |  |                     w.eq(HiddenDanger::getCreator,userInfo.getId()).or(). | 
 |  |  |                     eq(HiddenDanger::getCheckUserId,userInfo.getMemberId()); | 
 |  |  |                 }); | 
 |  |  |             }else{ | 
 |  |  |                 queryWrapper.in("t1.company_id" ,userInfo.getCompanyIdList()); | 
 |  |  |             } | 
 |  |  | 
 |  |  |  | 
 |  |  |                 .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName()) | 
 |  |  |                         .or().like(Member::getPhone,pageWrap.getModel().getMemberName())) | 
 |  |  |                 .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), Empower::getCreateDate,pageWrap.getModel().getQueryStartTime()) | 
 |  |  |                 .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),Empower::getCreateDate,pageWrap.getModel().getQueryEndTime()) | 
 |  |  |                 .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), HiddenDanger::getCreateDate,pageWrap.getModel().getQueryStartTime()) | 
 |  |  |                 .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),HiddenDanger::getCreateDate,pageWrap.getModel().getQueryEndTime()) | 
 |  |  |                 .orderByDesc(Visits::getCreateDate) | 
 |  |  |         ; | 
 |  |  |         for(PageWrap.SortData sortData: pageWrap.getSorts()) { | 
 |  |  | 
 |  |  |         return hiddenDangerMapper.selectCount(wrapper); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     @Transactional(rollbackFor = {Exception.class,BusinessException.class}) | 
 |  |  |     public void dealHiddenDanger(HiddenDanger hiddenDanger){ | 
 |  |  | 
 |  |  |         hiddenDanger.setEditDate(new Date()); | 
 |  |  |         hiddenDanger.setCheckDate(hiddenDanger.getEditDate()); | 
 |  |  |         hiddenDangerMapper.updateById(hiddenDanger); | 
 |  |  |         HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId()); | 
 |  |  |         if(Objects.isNull(model) ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY ); | 
 |  |  |         } | 
 |  |  |         HiddenDangerParam hiddenDangerCate = hiddenDangerParamMapper.selectById(model.getCateId()); | 
 |  |  |         if(Objects.isNull(hiddenDangerCate)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患类型"); | 
 |  |  |         } | 
 |  |  |         model.setCategoryName(hiddenDangerCate.getName()); | 
 |  |  |         //存储 操作日志 | 
 |  |  |         HiddenDangerLog hiddenDangerLog = new HiddenDangerLog(); | 
 |  |  |         hiddenDangerLog.setIsdeleted(Constants.ZERO); | 
 |  |  | 
 |  |  |                 .lambda() | 
 |  |  |                 .set(Notices::getReaded,Constants.ONE) | 
 |  |  |                 .set(Notices::getStatus,Constants.ONE) | 
 |  |  |                 .set(Notices::getInfo,hiddenDanger.getStatus().equals(Constants.ONE)?"已整改":"已退回") | 
 |  |  |                 .set(Notices::getParam2,hiddenDanger.getStatus()) | 
 |  |  |                 .set(Notices::getParam4,hiddenDanger.getLoginUserInfo().getMemberId()) | 
 |  |  |                 .eq(Notices::getObjId,hiddenDanger.getId()) | 
 |  |  |                 .eq(Notices::getObjType,Constants.THREE) | 
 |  |  |                 .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId()) | 
 |  |  |         ); | 
 |  |  |                 .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId())); | 
 |  |  |         //发起人代办标题修改为处理结果 | 
 |  |  |         noticesJoinMapper.update(null,new UpdateWrapper<Notices>() | 
 |  |  |                 .lambda() | 
 |  |  |                 .set(Notices::getInfo,hiddenDanger.getStatus().equals(Constants.ONE)?"已整改":"已退回") | 
 |  |  |                 .set(Notices::getParam2,hiddenDanger.getStatus()) | 
 |  |  |                 .eq(Notices::getObjId,hiddenDanger.getId()) | 
 |  |  |                 .eq(Notices::getObjType,Constants.THREE) | 
 |  |  |                 .eq(Notices::getParam3,hiddenDanger.getMemberId().toString()) ); | 
 |  |  |  | 
 |  |  |         SystemUser memberUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() | 
 |  |  |                 .eq(SystemUser::getDeleted, Constants.ZERO) | 
 |  |  |                 .eq(SystemUser::getMemberId,model.getMemberId())); | 
 |  |  |         if(Constants.equalsInteger(hiddenDanger.getStatus(),Constants.ONE)){ | 
 |  |  |             Member member = memberMapper.selectById(hiddenDanger.getMemberId()); | 
 |  |  |             if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){ | 
 |  |  |             if(Objects.nonNull(memberUser) && StringUtils.isNotBlank(memberUser.getMobile())){ | 
 |  |  |                 //发送短信通知 | 
 |  |  |                 SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz, | 
 |  |  |                         emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(), | 
 |  |  |                         SmsConstants.hiddenDangerContent.hiddenDangerDealOver, | 
 |  |  |                         Arrays.asList(member.getPhone().split(",")) | 
 |  |  |                         Arrays.asList(memberUser.getMobile().split(",")) | 
 |  |  |                 ); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         model.setCheckorName(hiddenDanger.getLoginUserInfo().getRealname()); | 
 |  |  |         model.setMemberName(memberUser.getRealname()); | 
 |  |  |         //处理人的微信公众号通知 | 
 |  |  |         if(Objects.nonNull(memberUser)&&StringUtils.isNotBlank(memberUser.getOpenid())){ | 
 |  |  |             WxPlatNotice wxPlatNotice = new WxPlatNotice(); | 
 |  |  |             wxPlatNotice.sendHiddenDangerDealTemplateNotice(systemDictDataBiz, | 
 |  |  |                     wxNoticeConfigMapper,model, | 
 |  |  |                     WxPlatConstants.hiddenDangerContent.hiddenDangerDeal, | 
 |  |  |                     systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), | 
 |  |  |                     Arrays.asList(memberUser.getOpenid().split(","))); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |         } | 
 |  |  |         HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId()); | 
 |  |  |         if(Objects.isNull(model)){ | 
 |  |  |         if(Objects.isNull(model) ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患数据"); | 
 |  |  |         } | 
 |  |  |         if (!model.getStatus().equals(Constants.ZERO)) { | 
 |  |  | 
 |  |  |         if(!(hiddenDanger.getStatus().equals(Constants.ONE)||hiddenDanger.getStatus().equals(Constants.TWO))){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态错误,请刷新查看!"); | 
 |  |  |         } | 
 |  |  |         hiddenDanger.setMemberId(model.getMemberId());//发起人 | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void dealFileBiz(HiddenDanger hiddenDanger) {//整改前文件 | 
 |  |  | 
 |  |  |                 if(StringUtils.isBlank(multifile.getFileurl())){ | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |                 multifile.setId(null); | 
 |  |  |                 multifile.setCreateDate(new Date()); | 
 |  |  |                 multifile.setCreator(hiddenDanger.getEditor()); | 
 |  |  |                 multifile.setIsdeleted(Constants.ZERO); | 
 |  |  |                 if(multifile.getType() == null){ | 
 |  |  |                     if(StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".mp4")){ | 
 |  |  |                         multifile.setType(Constants.ONE); | 
 |  |  |                     }else if(StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".jpg") | 
 |  |  |                     ||StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".jpeg") | 
 |  |  |                     ||StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".png")){ | 
 |  |  |                         multifile.setType(Constants.ZERO); | 
 |  |  |                     }else{ | 
 |  |  |                         multifile.setType(Constants.TWO); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 multifile.setObjId(hiddenDanger.getId()); | 
 |  |  |                 multifile.setCreator(hiddenDanger.getLoginUserInfo().getId()); | 
 |  |  |                 multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey()); | 
 |  |  | 
 |  |  |             if(hiddenDanger.getStatus().equals(Constants.ONE) && !isTrue){ | 
 |  |  |                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请按要求填写处理数据"); | 
 |  |  |             } | 
 |  |  |             multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda() | 
 |  |  |                     .set(Multifile::getIsdeleted,Constants.ONE ) | 
 |  |  |                     .eq(Multifile::getObjType,Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey()) | 
 |  |  |                     .eq(Multifile::getObjId,hiddenDanger.getId()) | 
 |  |  |             ); | 
 |  |  |         } | 
 |  |  |         if(hiddenDanger.getStatus().equals(Constants.ONE)){ | 
 |  |  |             boolean isTrue = false; | 
 |  |  | 
 |  |  |                     if(StringUtils.isBlank(multifile.getFileurl())){ | 
 |  |  |                         continue; | 
 |  |  |                     } | 
 |  |  |                     multifile.setId(null); | 
 |  |  |                     multifile.setCreateDate(new Date()); | 
 |  |  |                     multifile.setCreator(hiddenDanger.getEditor()); | 
 |  |  |                     multifile.setIsdeleted(Constants.ZERO); | 
 |  |  | 
 |  |  |                 .selectAll(HiddenDanger.class) | 
 |  |  |                 .selectAs(Member::getName,HiddenDanger::getCheckorName) | 
 |  |  |                         .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId) | 
 |  |  |                 .eq(HiddenDanger::getId,hiddenDanger.getId())); | 
 |  |  |         if(Objects.isNull(model)){ | 
 |  |  |                 .eq(HiddenDanger::getId,hiddenDanger.getId()) | 
 |  |  |         ); | 
 |  |  |         if(Objects.isNull(model) ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患数据"); | 
 |  |  |         } | 
 |  |  |         if (!Constants.equalsInteger(model.getStatus(),Constants.ZERO)) { | 
 |  |  | 
 |  |  |         if(member == null || !Constants.equalsInteger(member.getType(), Constants.TWO) || Constants.equalsInteger(Constants.ONE,member.getIsdeleted())){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,转交人信息不存在,请刷新页面重试!"); | 
 |  |  |         } | 
 |  |  |         HiddenDangerParam hiddenDangerCate = hiddenDangerParamMapper.selectById(model.getCateId()); | 
 |  |  |         if(Objects.isNull(hiddenDangerCate)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患类型"); | 
 |  |  |         } | 
 |  |  |         model.setCategoryName(hiddenDangerCate.getName()); | 
 |  |  |         hiddenDanger.setCategoryName(hiddenDangerCate.getName()); | 
 |  |  |         hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId()); | 
 |  |  |         hiddenDanger.setEditDate(new Date()); | 
 |  |  |         hiddenDangerMapper.updateById(hiddenDanger); | 
 |  |  | 
 |  |  |                 .eq(Notices::getObjId,hiddenDanger.getId()) | 
 |  |  |                 .eq(Notices::getObjType,Constants.THREE) | 
 |  |  |                 .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId()) | 
 |  |  |                 .orderByDesc(Notices::getId) | 
 |  |  |                 .last(" limit  1 ") | 
 |  |  |         ); | 
 |  |  |         if(Objects.nonNull(notices)){ | 
 |  |  | 
 |  |  |             noticesJoinMapper.updateById(notices); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){ | 
 |  |  |         SystemUser memberUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() | 
 |  |  |                 .eq(SystemUser::getDeleted, Constants.ZERO) | 
 |  |  |                 .eq(SystemUser::getMemberId,model.getMemberId())); | 
 |  |  |         if(Objects.isNull(memberUser)||StringUtils.isBlank(memberUser.getRealname())){ | 
 |  |  |           return; | 
 |  |  |         } | 
 |  |  |         hiddenDanger.setMemberName(memberUser.getRealname()); | 
 |  |  |         model.setMemberName(memberUser.getRealname()); | 
 |  |  |         SystemUser checkUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() | 
 |  |  |                 .eq(SystemUser::getDeleted, Constants.ZERO) | 
 |  |  |                 .eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId())); | 
 |  |  |         if(Objects.nonNull(checkUser) && StringUtils.isNotBlank(checkUser.getMobile())){ | 
 |  |  |             //发送短信通知 | 
 |  |  |             SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz, | 
 |  |  |                     emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(), | 
 |  |  |                     SmsConstants.hiddenDangerContent.hiddenDangerDealUser, | 
 |  |  |                     Arrays.asList(member.getPhone().split(",")) | 
 |  |  |                     Arrays.asList(checkUser.getMobile().split(",")) | 
 |  |  |             ); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //处理人的微信公众号通知 | 
 |  |  |         if(Objects.nonNull(checkUser)&&StringUtils.isNotBlank(checkUser.getOpenid())){ | 
 |  |  |             WxPlatNotice wxPlatNotice = new WxPlatNotice(); | 
 |  |  |             wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz, | 
 |  |  |                     wxNoticeConfigMapper,model, | 
 |  |  |                     WxPlatConstants.hiddenDangerContent.hiddenDangerUpload, | 
 |  |  |                     systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), | 
 |  |  |                     Arrays.asList(checkUser.getOpenid().split(","))); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 随手拍统计数据 | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public HiddenDangerDataVO hiddenDangerData(HiddenDanger hiddenDanger){ | 
 |  |  |         HiddenDangerDataVO hiddenDangerDataVO = new HiddenDangerDataVO(); | 
 |  |  |         List<HiddenDanger> hiddenDangerAllList = hiddenDangerMapper.selectJoinList(HiddenDanger.class, | 
 |  |  |                 new MPJLambdaWrapper<HiddenDanger>() | 
 |  |  |                         .selectAll(HiddenDanger.class) | 
 |  |  |                 .selectAs(HiddenDangerParam::getCompanyId, HiddenDanger::getAreaCompanyId) | 
 |  |  |                 .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getAreaId) //隐患区域 | 
 |  |  |                 .eq(Objects.nonNull(hiddenDanger.getStatus()),HiddenDanger::getStatus,hiddenDanger.getStatus()) | 
 |  |  |                 .ge(Objects.nonNull(hiddenDanger.getQueryStartTime()), HiddenDanger::getCreateDate,hiddenDanger.getQueryStartTime()) | 
 |  |  |                 .le(Objects.nonNull(hiddenDanger.getQueryEndTime()),HiddenDanger::getCreateDate,hiddenDanger.getQueryEndTime()) | 
 |  |  |         ); | 
 |  |  |         hiddenDangerDataVO.setTotal(hiddenDangerAllList.size()); | 
 |  |  |         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerAllList)){ | 
 |  |  |             List<Integer> cateList =  hiddenDangerAllList.stream().map(i->i.getCateId()).collect(Collectors.toList()); | 
 |  |  |             //全部隐患分类数据 | 
 |  |  |             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(cateList)){ | 
 |  |  |                 List<GeneralDataVO> cateGeneralDataList = new ArrayList<>(); | 
 |  |  |                 Set<Integer> cateSetList = new HashSet<>(cateList); | 
 |  |  |                 List<HiddenDangerParam> hiddenDangerParamList = hiddenDangerParamMapper.selectList(new QueryWrapper<HiddenDangerParam>() | 
 |  |  |                         .lambda().eq(HiddenDangerParam::getIsdeleted,Constants.ZERO).eq(HiddenDangerParam::getType,Constants.ONE)); | 
 |  |  |                 for (Integer cateId:cateSetList) { | 
 |  |  |                     if(Objects.isNull(cateId)){ | 
 |  |  |                         continue; | 
 |  |  |                     } | 
 |  |  |                     Optional<HiddenDangerParam> optionalHiddenDanger = hiddenDangerParamList.stream().filter(i->Constants.equalsInteger(i.getId(),cateId)).findAny(); | 
 |  |  |                     if(optionalHiddenDanger.isPresent()){ | 
 |  |  |                         GeneralDataVO generalDataVO = new GeneralDataVO(); | 
 |  |  |                         HiddenDangerParam hiddenDangerParam = optionalHiddenDanger.get(); | 
 |  |  |                         Integer total = hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getCateId(),hiddenDangerParam.getId())).collect(Collectors.toList()).size(); | 
 |  |  |                         generalDataVO.setName(hiddenDangerParam.getName()); | 
 |  |  |                         generalDataVO.setTotal(total); | 
 |  |  |                         generalDataVO.setRata( | 
 |  |  |                                     Constants.equalsInteger(total,Constants.ZERO)? | 
 |  |  |                                         BigDecimal.ZERO:new BigDecimal(total.toString()) | 
 |  |  |                                             .divide(new BigDecimal(hiddenDangerDataVO.getTotal().toString()),2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")) | 
 |  |  |                                 ); | 
 |  |  |                         cateGeneralDataList.add(generalDataVO); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 hiddenDangerDataVO.setCateList(cateGeneralDataList); | 
 |  |  |             } | 
 |  |  |             //全部隐患区域部门数据 | 
 |  |  |             List<Integer> companyIdList =  hiddenDangerAllList.stream().map(i->i.getAreaCompanyId()).collect(Collectors.toList()); | 
 |  |  |             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(companyIdList)){ | 
 |  |  |                 List<GeneralDataVO> companyGeneralDataList = new ArrayList<>(); | 
 |  |  |                 Set<Integer> companyIdSetList = new HashSet<>(companyIdList); | 
 |  |  |                 List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>() | 
 |  |  |                         .lambda().eq(Company::getIsdeleted,Constants.ZERO)); | 
 |  |  |                 for (Integer companyId:companyIdSetList) { | 
 |  |  |                     if(Objects.isNull(companyId)){ | 
 |  |  |                         continue; | 
 |  |  |                     } | 
 |  |  |                     Optional<Company> optionalCompany = companyList.stream().filter(i->Constants.equalsInteger(i.getId(),companyId)).findAny(); | 
 |  |  |                     if(optionalCompany.isPresent()){ | 
 |  |  |                         GeneralDataVO generalDataVO = new GeneralDataVO(); | 
 |  |  |                         Company company = optionalCompany.get(); | 
 |  |  |                         Integer total = hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getAreaCompanyId(),company.getId())).collect(Collectors.toList()).size(); | 
 |  |  |                         generalDataVO.setName(company.getName()); | 
 |  |  |                         generalDataVO.setTotal(total); | 
 |  |  |                         companyGeneralDataList.add(generalDataVO); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 hiddenDangerDataVO.setDepartmentList(companyGeneralDataList); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         return hiddenDangerDataVO; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } |