From 30a14783481d100a6503a56c902b47182e542c93 Mon Sep 17 00:00:00 2001 From: jiaosong <jiaosong6760@dingtalk.com> Date: 星期五, 08 十二月 2023 15:42:09 +0800 Subject: [PATCH] #组织树 和企业下的人员信息 人员卡信息 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 40 insertions(+), 4 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java index fd71f8c..359e435 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java +++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java @@ -2,8 +2,11 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.PatternPool; +import cn.hutool.core.lang.Validator; import cn.hutool.core.util.IdcardUtil; import cn.hutool.core.util.PhoneUtil; +import cn.hutool.core.util.ReUtil; import com.alibaba.fastjson.JSONObject; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.config.Jwt.JwtPayLoad; @@ -20,14 +23,12 @@ import com.doumee.core.wx.WXConstant; import com.doumee.dao.admin.request.LaborEmpowerDTO; import com.doumee.dao.admin.request.LaborMemberDTO; +import com.doumee.dao.admin.request.MemberQuery; import com.doumee.dao.admin.response.MemberInfoDTO; import com.doumee.dao.business.MemberMapper; import com.doumee.dao.business.TrainTimeMapper; import com.doumee.dao.business.join.MemberJoinMapper; -import com.doumee.dao.business.model.Company; -import com.doumee.dao.business.model.Empower; -import com.doumee.dao.business.model.Member; -import com.doumee.dao.business.model.TrainTime; +import com.doumee.dao.business.model.*; import com.doumee.dao.web.response.WxAuthorizeVO; import com.doumee.service.business.MemberService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -383,8 +384,43 @@ } + @Override + public PageData<MemberInfoDTO> findMemberInfoPage(PageWrap<MemberQuery> pageWrap) { + //鏄惁鏄暟瀛� + boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords()); + //鏄惁鍖呭惈涓枃 + boolean b = Validator.hasChinese(pageWrap.getModel().getKeyWords()); + //鏄惁鍖呭惈鑻辨枃 + boolean hasWord = ReUtil.contains(PatternPool.WORD, pageWrap.getModel().getKeyWords()); + IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); + MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>(); + MemberQuery model = pageWrap.getModel(); + Utils.MP.blankToNull(model); + + queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId) + .leftJoin(DeviceRole.class,DeviceRole::getId,Member::getRoleId) + .leftJoin(MemberCard.class,MemberCard::getMemberId,Member::getId); + + queryWrapper.selectAll(Member.class) + .selectAs(Company::getName,MemberInfoDTO::getCompanyName) + .selectAs(DeviceRole::getName,MemberInfoDTO::getRoleName) + .select("count(t3.id) as memberCardCount "); + + queryWrapper.in(Objects.nonNull(model.getCompanyIds()),Member::getCompanyId,model.getCompanyIds()) + .like(number,Member::getPhone,model.getKeyWords()) + .like((b||hasWord),Member::getPhone,model.getKeyWords()) + .isNull(Constants.equalsInteger(model.getHasFace(),Constants.ZERO),Member::getFaceId) + .isNotNull(Constants.equalsInteger(model.getHasFace(),Constants.ONE),Member::getFaceId) + .eq(Objects.nonNull(model.getCanVisit()),Member::getCanVisit,model.getCanVisit()) + .eq(Objects.nonNull(model.getStatus()),Member::getStatus,model.getStatus()); + IPage<MemberInfoDTO> memberIPage = memberJoinMapper.selectJoinPage(page, MemberInfoDTO.class,queryWrapper); + if (!CollectionUtils.isEmpty(memberIPage.getRecords())){ + memberIPage.getRecords().forEach(s->s.setSex(IdcardUtil.getGenderByIdCard(s.getIdcardDecode()))); + } + return PageData.from(memberIPage); + } /********************************************鍏紬鍙锋帴鍙�***********************************************************************/ -- Gitblit v1.9.3