|  |  | 
 |  |  |  | 
 |  |  | 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.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.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.dao.MemberMapper; | 
 |  |  | import com.doumee.dao.business.model.*; | 
 |  |  | import com.doumee.dao.business.model.Member; | 
 |  |  | 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 io.swagger.models.auth.In; | 
 |  |  | import com.github.yulichang.wrapper.MPJLambdaWrapper; | 
 |  |  | import org.apache.commons.lang3.StringUtils; | 
 |  |  | import org.apache.shiro.SecurityUtils; | 
 |  |  | 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()); | 
 |  |  |             if(model.getCompanyId() == null){ | 
 |  |  |                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请选择责任部门!"); | 
 |  |  |             } | 
 |  |  |             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) | 
 |  |  | //                    .eq(Member::getType,Constants.TWO) | 
 |  |  |                     .eq(Member::getCompanyId,model.getCompanyId()) | 
 |  |  |                     .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()); | 
 |  |  |             if(model.getCompanyId() == null){ | 
 |  |  |                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请选择责任部门!"); | 
 |  |  |             } | 
 |  |  |             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) | 
 |  |  |                     .eq(Member::getCompanyId,model.getCompanyId()) | 
 |  |  |                     .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); | 
 |  |  |     } | 
 |  |  |    | 
 |  |  |     @Override | 
 |  |  |     public PageData<HiddenDangerParam> findPage(PageWrap<HiddenDangerParam> pageWrap) { | 
 |  |  |         IPage<HiddenDangerParam> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
 |  |  |         QueryWrapper<HiddenDangerParam> queryWrapper = new QueryWrapper<>(); | 
 |  |  |         MPJLambdaWrapper<HiddenDangerParam> queryWrapper = new MPJLambdaWrapper<>(); | 
 |  |  |         Utils.MP.blankToNull(pageWrap.getModel()); | 
 |  |  |         pageWrap.getModel().setIsdeleted(Constants.ZERO); | 
 |  |  |         queryWrapper.lambda() | 
 |  |  |         queryWrapper. selectAll(HiddenDangerParam.class) | 
 |  |  |                 .selectAs(Company::getCompanyNamePath,HiddenDangerParam::getCompanyName) | 
 |  |  |                 .leftJoin(Company.class,Company::getId,HiddenDangerParam::getCompanyId) | 
 |  |  |                 .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()) | 
 |  |  |                 .like(pageWrap.getModel().getCompanyName() != null, Company::getName, pageWrap.getModel().getCompanyName()) | 
 |  |  |                 .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.selectJoinPage(page,HiddenDangerParam.class, 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; | 
 |  |  |     } | 
 |  |  | } |