From b1c4362017f88a6f145e31c06375bc3f2b676696 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 01 十一月 2024 14:14:44 +0800
Subject: [PATCH] 提交一把

---
 server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java |   33 ++++++++++++++++++++++++++++-----
 1 files changed, 28 insertions(+), 5 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
index 7160b8b..f136847 100644
--- a/server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
@@ -10,6 +10,8 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.model.Company;
+import com.doumee.dao.business.model.CompanyDepartment;
 import com.doumee.dao.system.SystemUserJoinMapper;
 import com.doumee.dao.system.SystemUserMapper;
 import com.doumee.dao.system.dto.QuerySystemUserDTO;
@@ -167,6 +169,29 @@
         }
         return PageData.from(new PageInfo<>(userList));
     }
+    @Override
+    public PageData<SystemUserListVO> findPageCompany(PageWrap<QuerySystemUserDTO> pageWrap) {
+        // 鏍归儴闂ㄦ潯浠跺鐞嗭紙闇�鏌ヨ鏍归儴闂ㄤ笅鎵�鏈夐儴闂ㄧ殑鐢ㄦ埛锛�
+        IPage<Company> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        Utils.MP.blankToNull(pageWrap.getModel());
+        pageWrap.getModel().setType(Constants.UserType.COMPANY.getKey());//鏌ヨ浼佷笟绫诲瀷
+        // 鎵ц鏌ヨ
+        MPJLambdaWrapper<SystemUser> wrapper = new MPJLambdaWrapper<>();
+        wrapper .selectAll(SystemUser.class)
+                .select("(select count(distinct(a.company_id) from company_permisson a where a.user_id=t.id and a.ideleted=0 and a.type=1)",SystemUser::getAuthNum)
+                .selectAs(Company::getName,SystemUser::getCompanyName)
+                .selectAs(CompanyDepartment::getName,SystemUser::getDepartmentName)
+                .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+                .leftJoin(CompanyDepartment.class,CompanyDepartment::getId,SystemUser::getDepartmentId)
+                .eq( pageWrap.getModel().getDepartmentId() !=null,SystemUser::getDepartmentId, pageWrap.getModel().getDepartmentId())
+                .eq( pageWrap.getModel().getStatus() !=null,SystemUser::getStatus, pageWrap.getModel().getStatus())
+                .like(StringUtils.isNotBlank(pageWrap.getModel().getMobile()),SystemUser::getMobile, pageWrap.getModel().getMobile())
+                .like(StringUtils.isNotBlank(pageWrap.getModel().getRealname()),SystemUser::getRealname, pageWrap.getModel().getRealname())
+                .like(StringUtils.isNotBlank(pageWrap.getModel().getUsername()),SystemUser::getUsername, pageWrap.getModel().getUsername())
+                .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),SystemUser::getCompanyName, pageWrap.getModel().getCompanyName());
+        IPage<SystemUserListVO> result =  systemUserMapper.selectJoinPage(page,SystemUserListVO.class,wrapper);
+        return  PageData.from(result);
+    }
 
     @Override
     public long count(SystemUser systemUser) {
@@ -234,14 +259,12 @@
         Utils.MP.blankToNull(pageWrap.getModel());
         queryWrapper.selectAll(SystemUser.class);
         queryWrapper.eq(SystemUser::getDeleted, Constants.ZERO);
-        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getUsername()),ms->ms.like(SystemUser::getUsername,pageWrap.getModel().getUsername())
-        .or().like(SystemUser::getMobile,pageWrap.getModel().getUsername())
+        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getUsername()),
+                ms->ms.like(SystemUser::getUsername,pageWrap.getModel().getUsername())
+                    .or().like(SystemUser::getMobile,pageWrap.getModel().getUsername())
                 .or().like(SystemUser::getRealname,pageWrap.getModel().getUsername())
         );
         queryWrapper.orderByDesc(SystemUser::getCreateTime);
-
-
-
         IPage<SystemUser> result = systemUserJoinMapper.selectJoinPage(page, SystemUser.class, queryWrapper);
 
         return PageData.from(result);

--
Gitblit v1.9.3