| | |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | 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.HiddenDangerCompanyVO; |
| | | 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.dao.business.HiddenDangerLogMapper; |
| | | import com.doumee.dao.business.HiddenDangerMapper; |
| | | import com.doumee.dao.business.HiddenDangerParamMapper; |
| | | import com.doumee.dao.business.MemberMapper; |
| | | import com.doumee.core.wx.wxPlat.WxPlatConstants; |
| | | import com.doumee.core.wx.wxPlat.WxPlatNotice; |
| | | import com.doumee.dao.business.*; |
| | | 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.service.business.HiddenDangerLogService; |
| | | 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.apache.commons.lang3.StringUtils; |
| | | import org.checkerframework.checker.units.qual.C; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 隐患信息表Service实现 |
| | |
| | | |
| | | @Autowired |
| | | private HiddenDangerMapper hiddenDangerMapper; |
| | | |
| | | @Autowired |
| | | private MultifileMapper multifileMapper; |
| | | |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | |
| | | @Autowired |
| | | private SystemUserMapper systemUserMapper; |
| | | |
| | | @Autowired |
| | | private MemberMapper memberMapper; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private HiddenDangerLogMapper hiddenDangerLogMapper; |
| | | @Autowired |
| | | private UserActionMapper userActionMapper; |
| | | |
| | | @Autowired |
| | | private CompanyMapper companyMapper; |
| | | |
| | | |
| | | @Autowired |
| | | private NoticesJoinMapper noticesJoinMapper; |
| | | |
| | | |
| | | @Autowired |
| | | private SmsConfigMapper smsConfigMapper; |
| | | |
| | | @Autowired |
| | | private SmsEmailMapper smsEmailMapper; |
| | | |
| | | @Autowired |
| | | private EmayService emayService; |
| | | |
| | | @Autowired |
| | | private WxNoticeConfigMapper wxNoticeConfigMapper; |
| | | |
| | | @Autowired |
| | | private ApproveMapper approveMapper; |
| | | |
| | | |
| | | @Override |
| | | public Integer create(HiddenDanger hiddenDanger) { |
| | |
| | | || Objects.isNull(hiddenDanger.getCateId()) |
| | | || Objects.isNull(hiddenDanger.getApplyCheckUserId()) |
| | | || Objects.isNull(hiddenDanger.getCheckUserId()) |
| | | || Objects.isNull(hiddenDanger.getCheckTypeId()) |
| | | || Objects.isNull(hiddenDanger.getSubmitTime()) |
| | | || StringUtils.isBlank(hiddenDanger.getContent()) |
| | | ){ |
| | | 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()); |
| | | HiddenDangerParam hiddenDangerCheckParam = hiddenDangerParamMapper.selectById(hiddenDanger.getCheckTypeId()); |
| | | if(Objects.isNull(hiddenDangerCheckParam)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患检查类型"); |
| | | } |
| | | HiddenDangerParam hiddenDangerParam = hiddenDangerParamMapper.selectById(hiddenDanger.getAreaId()); |
| | | if(Objects.isNull(hiddenDangerParam)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患区域"); |
| | |
| | | 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); |
| | |
| | | multifileMapper.insert(multifile); |
| | | } |
| | | } |
| | | String title = "【隐患随手拍】提报人 - "+hiddenDanger.getLoginUserInfo().getRealname(); |
| | | String title = "[隐患随手拍]提报人-"+hiddenDanger.getLoginUserInfo().getRealname(); |
| | | //json数据 |
| | | Map<String,Object> jsonMap = new HashMap<>(); |
| | | jsonMap.put("area", "发现区域:" + hiddenDangerParam.getName()); |
| | |
| | | createNotices.setSendacopy(Constants.ZERO); |
| | | createNotices.setParam2("0"); |
| | | createNotices.setParam3(hiddenDanger.getLoginUserInfo().getMemberId().toString()); |
| | | createNotices.setInfo("待 "+member.getName()+" 处理"); |
| | | createNotices.setInfo("待"+member.getName()+"处理"); |
| | | noticesJoinMapper.insert(createNotices); |
| | | |
| | | //存储处理人的通知消息 |
| | |
| | | notices.setStatus(Constants.ZERO); |
| | | notices.setSendacopy(Constants.ZERO); |
| | | notices.setReaded(Constants.ZERO); |
| | | notices.setInfo("待 "+member.getName()+" 处理"); |
| | | notices.setInfo("待"+member.getName()+"处理"); |
| | | noticesJoinMapper.insert(notices); |
| | | |
| | | |
| | | if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){ |
| | | //发送短信通知 |
| | | SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz, |
| | | emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(), |
| | | SmsConstants.hiddenDangerContent.hiddenDangerDealUser, |
| | | Arrays.asList(member.getPhone().split(",")) |
| | | ); |
| | | } |
| | | |
| | | 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)); |
| | | |
| | | //标记任务记录 |
| | | VisitsServiceImpl.dealCancelNoticesData(noticesJoinMapper,approveMapper,"系统删除",model.getId(), |
| | | null, |
| | | Constants.noticesObjectType.dangerDeal |
| | | ); |
| | | } |
| | | |
| | | @Override |
| | |
| | | .select("t1.phone",HiddenDanger::getMemberPhone) |
| | | .select("t2.name",HiddenDanger::getCheckorName) |
| | | .select("t2.phone",HiddenDanger::getCheckorPhone) |
| | | .select("t4.company_name_path",HiddenDanger::getCompanyName); |
| | | .select("t5.company_name_path",HiddenDanger::getDutyCompanyName) |
| | | .select("t4.company_name_path",HiddenDanger::getCompanyName) |
| | | .select("t6.name", HiddenDanger::getCheckTypeName); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,HiddenDanger::getMemberId) |
| | | .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 t4 on t1.company_id=t4.id") |
| | | .leftJoin("company t5 on t2.company_id=t5.id") |
| | | .leftJoin("hidden_danger_param t6 on t2.check_type_id=t6.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())){ |
| | |
| | | |
| | | @Override |
| | | public List<HiddenDanger> findList(HiddenDanger hiddenDanger) { |
| | | hiddenDanger.setIsdeleted(Constants.ZERO); |
| | | QueryWrapper<HiddenDanger> wrapper = new QueryWrapper<>(hiddenDanger); |
| | | return hiddenDangerMapper.selectList(wrapper); |
| | | } |
| | |
| | | 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("t6.name", HiddenDanger::getCheckTypeName) |
| | | .select("t1.phone",HiddenDanger::getMemberPhone) |
| | | .select("t2.name",HiddenDanger::getCheckorName) |
| | | .select("t2.phone",HiddenDanger::getCheckorPhone) |
| | | .select("t5.company_name_path",HiddenDanger::getDutyCompanyName) |
| | | .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::getCateId) |
| | | .leftJoin("company t4 on t1.company_id=t4.id"); |
| | | .leftJoin("company t4 on t1.company_id=t4.id") |
| | | .leftJoin("hidden_danger_param t6 on t2.check_type_id=t6.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.and(w->{ |
| | | w.eq(HiddenDanger::getCreator,userInfo.getId()).or(). |
| | | eq(HiddenDanger::getCheckUserId,userInfo.getMemberId()); |
| | | }); |
| | | }else{ |
| | | queryWrapper.in("t1.company_id" ,userInfo.getCompanyIdList()); |
| | | } |
| | | } |
| | | //数据权限开始--------------------end---------------- |
| | | queryWrapper |
| | | .eq(pageWrap.getModel().getId() != null, HiddenDanger::getId, pageWrap.getModel().getId()) |
| | | .eq(pageWrap.getModel().getCreator() != null, HiddenDanger::getCreator, pageWrap.getModel().getCreator()) |
| | |
| | | .eq(pageWrap.getModel().getCheckUserId() != null, HiddenDanger::getCheckUserId, pageWrap.getModel().getCheckUserId()) |
| | | .eq(pageWrap.getModel().getAreaName() != null, HiddenDanger::getAreaName, pageWrap.getModel().getAreaName()) |
| | | .like(pageWrap.getModel().getCompanyName() != null,"t4.company_name_path",pageWrap.getModel().getCompanyName()) |
| | | .like(pageWrap.getModel().getDutyCompanyName() != null,"t5.company_name_path",pageWrap.getModel().getDutyCompanyName()) |
| | | |
| | | .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::getSubmitTime,pageWrap.getModel().getQueryStartTime()) |
| | | .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),HiddenDanger::getSubmitTime,pageWrap.getModel().getQueryEndTime()) |
| | | .orderByDesc(Visits::getCreateDate) |
| | | ; |
| | | for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | |
| | | |
| | | @Override |
| | | public long count(HiddenDanger hiddenDanger) { |
| | | hiddenDanger.setIsdeleted(Constants.ZERO); |
| | | QueryWrapper<HiddenDanger> wrapper = new QueryWrapper<>(hiddenDanger); |
| | | return hiddenDangerMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | |
| | | 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())); |
| | | //发起人代办标题修改为处理结果 |
| | | 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::getUserId,hiddenDanger.getLoginUserInfo().getMemberId()) |
| | | ); |
| | | .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)){ |
| | | if(Objects.nonNull(memberUser) && StringUtils.isNotBlank(memberUser.getMobile())){ |
| | | //发送短信通知 |
| | | SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz, |
| | | emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(), |
| | | SmsConstants.hiddenDangerContent.hiddenDangerDealOver, |
| | | 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)){ |
| | |
| | | newNotices.setCreateDate(new Date()); |
| | | newNotices.setParam2("0"); |
| | | newNotices.setUserId(hiddenDanger.getCheckUserId()); |
| | | newNotices.setInfo("待 "+member.getName()+" 处理"); |
| | | newNotices.setInfo("待"+member.getName()+"处理"); |
| | | noticesJoinMapper.insert(newNotices); |
| | | notices.setStatus(Constants.ONE); |
| | | notices.setParam2("3"); |
| | | notices.setEditDate(new Date()); |
| | | notices.setReaded(Constants.ONE); |
| | | notices.setInfo("待 "+member.getName()+" 处理"); |
| | | notices.setInfo("待"+member.getName()+"处理"); |
| | | noticesJoinMapper.updateById(notices); |
| | | } |
| | | |
| | | 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(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(HiddenDanger::getIsdeleted,Constants.ZERO) |
| | | .eq(Objects.nonNull(hiddenDanger.getStatus()),HiddenDanger::getStatus,hiddenDanger.getStatus()) |
| | | // .apply(" ( DATE_FORMAT(t.CREATE_DATE, '%Y') = DATE_FORMAT(now(), '%Y') ) ") |
| | | // .ge(Objects.nonNull(hiddenDanger.getQueryStartTime()), HiddenDanger::getCreateDate,hiddenDanger.getQueryStartTime()) |
| | | // .le(Objects.nonNull(hiddenDanger.getQueryEndTime()),HiddenDanger::getCreateDate,hiddenDanger.getQueryEndTime()) |
| | | ); |
| | | List<GeneralDataVO> yearDataList = new ArrayList<>(); |
| | | if(CollectionUtils.isEmpty(hiddenDangerAllList)){ |
| | | return hiddenDangerDataVO; |
| | | } |
| | | Integer nowYear = DateUtil.getNowYearNum(); |
| | | Integer nowMonth = DateUtil.getNowMonthNum(); |
| | | String nowDate = DateUtil.getFomartDate(new Date(),"yyyy-MM-dd"); |
| | | for (int i = 1; i <=12 ; i++) { |
| | | GeneralDataVO generalDataVO = new GeneralDataVO(); |
| | | generalDataVO.setName(Integer.toString(i)); |
| | | generalDataVO.setTotal( |
| | | hiddenDangerAllList.stream().filter(j->Constants.equalsInteger(nowYear,Integer.valueOf(DateUtil.formatDate(j.getCreateDate(),"yyyy")))&&Constants.equalsInteger(Integer.valueOf(generalDataVO.getName()), |
| | | Integer.valueOf(DateUtil.formatDate(j.getCreateDate(),"MM")))).collect(Collectors.toList()).size()); |
| | | generalDataVO.setName(generalDataVO.getName()+"月"); |
| | | yearDataList.add(generalDataVO); |
| | | } |
| | | hiddenDangerDataVO.setYearList(yearDataList); |
| | | |
| | | |
| | | |
| | | hiddenDangerDataVO.setTotal(hiddenDangerAllList.size()); |
| | | hiddenDangerDataVO.setWaitDeal(hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ZERO)).collect(Collectors.toList()).size()); |
| | | hiddenDangerDataVO.setBack(hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.TWO)).collect(Collectors.toList()).size()); |
| | | hiddenDangerDataVO.setDealFinish(hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ONE)).collect(Collectors.toList()).size()); |
| | | hiddenDangerDataVO.setTodayNew(hiddenDangerAllList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM-dd").equals(DateUtil.formatDate(new Date(),"yyyy-MM-dd"))).collect(Collectors.toList()).size()); |
| | | |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerAllList)){ |
| | | List<Integer> cateList = hiddenDangerAllList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(nowDate.substring(0,7))).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())&& DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(nowDate.substring(0,7))).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<HiddenDangerCompanyVO> hiddenDangerCompanyVOList = hiddenDangerAllList.stream(). |
| | | filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(nowDate.substring(0,7))) |
| | | .map(i->new HiddenDangerCompanyVO(i.getAreaName(),i.getAreaCompanyId())).collect(Collectors.toList()); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerCompanyVOList)){ |
| | | List<GeneralDataVO> companyGeneralDataList = new ArrayList<>(); |
| | | Set<HiddenDangerCompanyVO> companyIdSetList = new HashSet<>(hiddenDangerCompanyVOList); |
| | | List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>() |
| | | .lambda().eq(Company::getIsdeleted,Constants.ZERO)); |
| | | for (HiddenDangerCompanyVO hiddenDangerCompanyVO:companyIdSetList) { |
| | | if(Objects.isNull(hiddenDangerCompanyVO) |
| | | || Objects.isNull(hiddenDangerCompanyVO.getId()) |
| | | || StringUtils.isBlank(hiddenDangerCompanyVO.getCategoryName())){ |
| | | continue; |
| | | } |
| | | Optional<Company> optionalCompany = companyList.stream().filter(i->Constants.equalsInteger(i.getId(),hiddenDangerCompanyVO.getId())).findAny(); |
| | | if(optionalCompany.isPresent()){ |
| | | GeneralDataVO generalDataVO = new GeneralDataVO(); |
| | | Company company = optionalCompany.get(); |
| | | Integer total = hiddenDangerAllList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(nowDate.substring(0,7))&&Constants.equalsInteger(i.getAreaCompanyId(),company.getId())).collect(Collectors.toList()).size(); |
| | | generalDataVO.setName(company.getName()); |
| | | generalDataVO.setTotal(total); |
| | | generalDataVO.setCategoryName(hiddenDangerCompanyVO.getCategoryName()); |
| | | companyGeneralDataList.add(generalDataVO); |
| | | } |
| | | } |
| | | hiddenDangerDataVO.setDepartmentList(companyGeneralDataList); |
| | | } |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerDataVO.getDepartmentList())){ |
| | | List<GeneralDataVO> topList = hiddenDangerDataVO.getDepartmentList(); |
| | | Collections.sort(topList, new Comparator<GeneralDataVO>() { |
| | | @Override |
| | | public int compare(GeneralDataVO o1, GeneralDataVO o2) { |
| | | // 返回值为int类型,大于0表示正序,小于0表示逆序 |
| | | return o2.getTotal() - o1.getTotal(); |
| | | } |
| | | }); |
| | | hiddenDangerDataVO.setDepartmentSortList(topList); |
| | | } |
| | | } |
| | | |
| | | return hiddenDangerDataVO; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |