|  |  |  | 
|---|
|  |  |  | package com.doumee.service.business.impl; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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.core.utils.Constants; | 
|---|
|  |  |  | import com.doumee.core.utils.SmsConstants; | 
|---|
|  |  |  | import com.doumee.core.utils.Utils; | 
|---|
|  |  |  | import com.doumee.dao.business.HiddenDangerParamMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.MemberMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.model.CarDriver; | 
|---|
|  |  |  | import com.doumee.dao.business.model.HiddenDangerParam; | 
|---|
|  |  |  | import com.doumee.dao.business.model.Member; | 
|---|
|  |  |  | import com.doumee.dao.business.SmsConfigMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.SmsEmailMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.model.*; | 
|---|
|  |  |  | import com.doumee.service.business.HiddenDangerParamService; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.metadata.IPage; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
|---|
|  |  |  | import com.doumee.service.business.third.EmayService; | 
|---|
|  |  |  | import com.github.yulichang.wrapper.MPJLambdaWrapper; | 
|---|
|  |  |  | import io.swagger.models.auth.In; | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  | import org.apache.shiro.SecurityUtils; | 
|---|
|  |  |  | import org.checkerframework.checker.units.qual.C; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.util.CollectionUtils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 隐患区域配置类型信息表Service实现 | 
|---|
|  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private MemberMapper memberMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Integer create(HiddenDangerParam model) { | 
|---|
|  |  |  | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
|---|
|  |  |  | if(loginUserInfo == null){ | 
|---|
|  |  |  | loginUserInfo = model.getLoginUserInfo(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda() | 
|---|
|  |  |  | .eq(HiddenDangerParam::getType,model.getType()) | 
|---|
|  |  |  | .eq(HiddenDangerParam::getName,model.getName()) | 
|---|
|  |  |  | .eq(HiddenDangerParam::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | )>Constants.ZERO){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该名称已存在!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(Constants.equalsInteger(model.getType(),Constants.ZERO)){ | 
|---|
|  |  |  | //如果是区域配置 | 
|---|
|  |  |  | List<Integer> ids = Constants.getIntegerListByStrs(model.getMemberIds()); | 
|---|
|  |  |  | List<Integer> ids = model.getMemberIdList(); | 
|---|
|  |  |  | if(ids==null || ids.size() ==0){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,安全员信息不正确,请按要求填写内容!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<Member>  memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda() | 
|---|
|  |  |  | .eq(Member::getType,Constants.TWO) | 
|---|
|  |  |  | .in(Member::getId,ids) | 
|---|
|  |  |  | .eq(Member::getIsdeleted,Constants.ZERO)); | 
|---|
|  |  |  | if(memberList == null || memberList.size() == 0 || memberList.size() != ids.size() ){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请选择正确的安全员信息!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String names = null; | 
|---|
|  |  |  | String idss = null; | 
|---|
|  |  |  | String names = ""; | 
|---|
|  |  |  | String idss = ""; | 
|---|
|  |  |  | for(Member member : memberList){ | 
|---|
|  |  |  | if(StringUtils.isNotBlank(names)){ | 
|---|
|  |  |  | names += ","; | 
|---|
|  |  |  | 
|---|
|  |  |  | idss += ","; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | names += member.getName(); | 
|---|
|  |  |  | names += member.getId(); | 
|---|
|  |  |  | idss += member.getId(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | model.setMemberNames(names); | 
|---|
|  |  |  | model.setMemberIds(idss); | 
|---|
|  |  |  | 
|---|
|  |  |  | model.setEditDate(new Date()); | 
|---|
|  |  |  | model.setEditor(loginUserInfo.getId()); | 
|---|
|  |  |  | model.setStatus(Constants.ZERO); | 
|---|
|  |  |  | model.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | hiddenDangerParamMapper.insert(model); | 
|---|
|  |  |  | return model.getId(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | loginUserInfo = model.getLoginUserInfo(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | HiddenDangerParam hiddenDangerParam = hiddenDangerParamMapper.selectById(model.getId()); | 
|---|
|  |  |  | if(hiddenDangerParam == null || Constants.equalsObject(hiddenDangerParam.getIsdeleted(),Constants.ONE)){ | 
|---|
|  |  |  | if(hiddenDangerParam == null || Constants.equalsInteger(hiddenDangerParam.getIsdeleted(),Constants.ONE)){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,该配置信息不存在,请返回刷新页面重试!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda() | 
|---|
|  |  |  | .eq(HiddenDangerParam::getType,model.getType()) | 
|---|
|  |  |  | .eq(HiddenDangerParam::getName,model.getName()) | 
|---|
|  |  |  | .eq(HiddenDangerParam::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .ne(HiddenDangerParam::getId,model.getId()) | 
|---|
|  |  |  | )>Constants.ZERO){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该名称已存在!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(Constants.equalsInteger(hiddenDangerParam.getType(),Constants.ZERO)){ | 
|---|
|  |  |  | //如果是区域配置,校验安全员信息是否正确 | 
|---|
|  |  |  | List<Integer> ids = Constants.getIntegerListByStrs(model.getMemberIds()); | 
|---|
|  |  |  | List<Integer> ids =model.getMemberIdList(); | 
|---|
|  |  |  | if(ids==null || ids.size() ==0){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,安全员信息不正确,请按要求填写内容!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<Member>  memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda() | 
|---|
|  |  |  | .eq(Member::getType,Constants.TWO) | 
|---|
|  |  |  | .in(Member::getId,ids) | 
|---|
|  |  |  | .eq(Member::getIsdeleted,Constants.ZERO)); | 
|---|
|  |  |  | if(memberList == null || memberList.size() == 0 || memberList.size() != ids.size() ){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请选择正确的安全员信息!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String names = null; | 
|---|
|  |  |  | String idss = null; | 
|---|
|  |  |  | String names = ""; | 
|---|
|  |  |  | String idss = ""; | 
|---|
|  |  |  | for(Member member : memberList){ | 
|---|
|  |  |  | if(StringUtils.isNotBlank(names)){ | 
|---|
|  |  |  | names += ","; | 
|---|
|  |  |  | 
|---|
|  |  |  | idss += ","; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | names += member.getName(); | 
|---|
|  |  |  | names += member.getId(); | 
|---|
|  |  |  | idss += member.getId(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | model.setMemberNames(names); | 
|---|
|  |  |  | model.setMemberIds(idss); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<HiddenDangerParam> findList(HiddenDangerParam hiddenDangerParam) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | hiddenDangerParam.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | QueryWrapper<HiddenDangerParam> wrapper = new QueryWrapper<>(hiddenDangerParam); | 
|---|
|  |  |  | wrapper.lambda().orderByAsc(HiddenDangerParam::getSortnum); | 
|---|
|  |  |  | return hiddenDangerParamMapper.selectList(wrapper); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | queryWrapper.lambda() | 
|---|
|  |  |  | .eq(pageWrap.getModel().getId() != null, HiddenDangerParam::getId, pageWrap.getModel().getId()) | 
|---|
|  |  |  | .eq(pageWrap.getModel().getCreator() != null, HiddenDangerParam::getCreator, pageWrap.getModel().getCreator()) | 
|---|
|  |  |  | .ge(pageWrap.getModel().getCreateDate() != null, HiddenDangerParam::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())) | 
|---|
|  |  |  | .le(pageWrap.getModel().getCreateDate() != null, HiddenDangerParam::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())) | 
|---|
|  |  |  | .eq(pageWrap.getModel().getEditor() != null, HiddenDangerParam::getEditor, pageWrap.getModel().getEditor()) | 
|---|
|  |  |  | .ge(pageWrap.getModel().getEditDate() != null, HiddenDangerParam::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())) | 
|---|
|  |  |  | .le(pageWrap.getModel().getEditDate() != null, HiddenDangerParam::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())) | 
|---|
|  |  |  | .eq(pageWrap.getModel().getIsdeleted() != null, HiddenDangerParam::getIsdeleted, pageWrap.getModel().getIsdeleted()) | 
|---|
|  |  |  | .eq(pageWrap.getModel().getName() != null, HiddenDangerParam::getName, pageWrap.getModel().getName()) | 
|---|
|  |  |  | .like(pageWrap.getModel().getName() != null, HiddenDangerParam::getName, pageWrap.getModel().getName()) | 
|---|
|  |  |  | .eq(pageWrap.getModel().getRemark() != null, HiddenDangerParam::getRemark, pageWrap.getModel().getRemark()) | 
|---|
|  |  |  | .eq(pageWrap.getModel().getStatus() != null, HiddenDangerParam::getStatus, pageWrap.getModel().getStatus()) | 
|---|
|  |  |  | .eq(pageWrap.getModel().getSortnum() != null, HiddenDangerParam::getSortnum, pageWrap.getModel().getSortnum()) | 
|---|
|  |  |  | 
|---|
|  |  |  | .eq(pageWrap.getModel().getMemberIds() != null, HiddenDangerParam::getMemberIds, pageWrap.getModel().getMemberIds()) | 
|---|
|  |  |  | .eq(pageWrap.getModel().getMemberNames() != null, HiddenDangerParam::getMemberNames, pageWrap.getModel().getMemberNames()) | 
|---|
|  |  |  | .eq(pageWrap.getModel().getType() != null, HiddenDangerParam::getType, pageWrap.getModel().getType()) | 
|---|
|  |  |  | .orderByAsc(HiddenDangerParam::getSortnum) | 
|---|
|  |  |  | .orderByDesc(HiddenDangerParam::getCreateDate) | 
|---|
|  |  |  | .eq( HiddenDangerParam::getIsdeleted, Constants.ZERO) | 
|---|
|  |  |  | ; | 
|---|
|  |  |  | for(PageWrap.SortData sortData: pageWrap.getSorts()) { | 
|---|
|  |  |  | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { | 
|---|
|  |  |  | 
|---|
|  |  |  | queryWrapper.orderByAsc(sortData.getProperty()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return PageData.from(hiddenDangerParamMapper.selectPage(page, queryWrapper)); | 
|---|
|  |  |  | PageData<HiddenDangerParam> result = PageData.from(hiddenDangerParamMapper.selectPage(page, queryWrapper)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | 
|---|
|  |  |  | QueryWrapper<HiddenDangerParam> wrapper = new QueryWrapper<>(hiddenDangerParam); | 
|---|
|  |  |  | return hiddenDangerParamMapper.selectCount(wrapper); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public   List<Member> findHiddenAreaMemberList(HiddenDangerParam pageWrap) { | 
|---|
|  |  |  | HiddenDangerParam hiddenDangerParam = new HiddenDangerParam(); | 
|---|
|  |  |  | hiddenDangerParam.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | if(Objects.nonNull(pageWrap.getId())){ | 
|---|
|  |  |  | hiddenDangerParam.setId(pageWrap.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | QueryWrapper<HiddenDangerParam> wrapper = new QueryWrapper<>(hiddenDangerParam); | 
|---|
|  |  |  | List<HiddenDangerParam> list = hiddenDangerParamMapper.selectList(wrapper); | 
|---|
|  |  |  | List<Member> memberList = new ArrayList<>(); | 
|---|
|  |  |  | if(list!=null){ | 
|---|
|  |  |  | List<Integer> idList = new ArrayList<>(); | 
|---|
|  |  |  | for(HiddenDangerParam m : list){ | 
|---|
|  |  |  | String ids = m.getMemberIds(); | 
|---|
|  |  |  | if(StringUtils.isNotBlank(ids)){ | 
|---|
|  |  |  | String[] t = ids.split(","); | 
|---|
|  |  |  | for(String d : t){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | idList.add(Integer.parseInt(d)); | 
|---|
|  |  |  | }catch (Exception e){} | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(idList.size()>0){ | 
|---|
|  |  |  | memberList = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>(). | 
|---|
|  |  |  | selectAll(Member.class) | 
|---|
|  |  |  | .selectAs(Company::getCompanyNamePath,Member::getCompanyName) | 
|---|
|  |  |  | .leftJoin(Company.class, Company::getId,Member::getCompanyId) | 
|---|
|  |  |  | .eq(Member::getType,Constants.TWO) | 
|---|
|  |  |  | .eq(Member::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .like(StringUtils.isNotBlank(pageWrap.getName()),Member::getName,pageWrap.getName()) | 
|---|
|  |  |  | .in(Member::getId,idList) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return memberList; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|