浏览代码

用户查询 分为个代和出单员

y 2 年之前
父节点
当前提交
db5ceb66cd

+ 6 - 0
src/main/java/com/ydtech/modules/admin/controller/SysDeptController.java

@@ -55,6 +55,12 @@ public class SysDeptController extends BaseController {
     //    @PreAuthorize("hasAuthority('sys:dept:edit')")
     @PostMapping(value = "/edit")
     public HttpResult edit(@RequestBody SysDept record) {
+        SysDept byId = sysDeptService.getById(record.getId());
+        if (record.getManagementSource() != null){
+            if (!record.getManagementSource().equals(byId.getManagementSource())) {
+                return HttpResult.error("机构已被设置来源无法修改");
+            }
+        }
         return HttpResult.ok(sysDeptService.updateById(record));
     }
 

+ 16 - 0
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -388,6 +388,22 @@ public class SysUserController extends BaseController {
         return HttpResult.ok(sysUserService.gainUserPage(pageDto));
     }
 
+    @ApiOperation(value = "用户查询分页")
+    @PostMapping(value = "/findUserList")
+    public HttpResult findUserList(@RequestBody PageDto<SysUserDto> pageDto) {
+        //获取用户角色
+        SysUser user = getUser();
+        if (RoleConstants.R22.getCode().equals(pageDto.getDto().getRoleId())) {
+            pageDto.getDto().setRoleId("17,18,22,23,24,25,28,29,30,31,32,38");
+        }
+        //设置登录用户的部门
+        if ("".equals(pageDto.getDto().getDeptId()) || null == pageDto.getDto().getDeptId()) {
+            pageDto.getDto().setDeptId(user.getDeptId());
+        }
+
+        return HttpResult.ok(sysUserService.findUserList(pageDto));
+    }
+
 
     @ApiOperation(value = "(重构)审批通过")
     @ApiImplicitParams({

+ 3 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java

@@ -119,6 +119,9 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
     Page<SysUserBaseVO> gainUserBaseInfo(@Param("page") Page page,@Param("user") SysUserDto user);
 
+
+    IPage<SysUserBaseVO> findUserList(@Param("page") Page page,@Param("user") SysUserDto user);
+
     /**
      * 获取用户列表
      * @param page 分页信息

+ 2 - 2
src/main/java/com/ydtech/modules/admin/model/dto/SysUserDto.java

@@ -33,6 +33,6 @@ public class SysUserDto {
     @ApiModelProperty("状态")
     private String status;
 
-
-
+    @ApiModelProperty("代理个代标识")
+    private String agentFlag;
 }

+ 6 - 0
src/main/java/com/ydtech/modules/admin/service/SysDeptService.java

@@ -53,6 +53,12 @@ public interface SysDeptService extends IService<SysDept> {
      */
     void deleteDept(String deptId);
 
+
+    /**
+     * 获取不分页树结构
+     */
+    List<SysDept> getUserList(String deptId);
+
 }
 
 

+ 6 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserService.java

@@ -69,6 +69,12 @@ public interface SysUserService extends IService<SysUser> {
 
 //    PageVo gainUserPage(PageDto pageDto);
 
+    /**
+     * 根据角色查询用户列表
+     * @param pageDto
+     * @return
+     */
+    IPage<SysUserBaseVO> findUserList(PageDto<SysUserDto> pageDto);
 
     /**
      * 获取添加用户ID

+ 12 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysDeptServiceImpl.java

@@ -43,6 +43,18 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
         return map.get(sysDept.getParentId());
     }
 
+
+    @Override
+    public List<SysDept> getUserList(String deptId) {
+        SysDept sysDept = getById(deptId);
+        LambdaQueryWrapper<SysDept> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(SysDept::getDelFlag, 0);
+        lqw.likeRight(SysDept::getId, deptId);
+        List<SysDept> sysDeptList = list(lqw);
+        Map<String, List<SysDept>> map = sysDeptList.stream().collect(Collectors.groupingBy(SysDept::getParentId));
+        return map.get(sysDept.getParentId());
+    }
+
     @Override
     public void addDept(SysDeptVo sysDeptVo) {
         SysDept sysDept = new SysDept();

+ 40 - 24
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -18,6 +18,7 @@ import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
 import com.ydtech.modules.admin.model.vo.SysUserInternalVO;
 import com.ydtech.modules.admin.model.vo.SysUserVO;
 import com.ydtech.modules.admin.service.*;
+import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.base.model.dto.PageDto;
 import com.ydtech.modules.base.model.vo.PageVo;
 import com.ydtech.modules.esm.model.EsmUserImage;
@@ -28,13 +29,11 @@ import com.ydtech.modules.esm.service.EsmUserReferrerService;
 import com.ydtech.security.utils.PasswordUtils;
 import com.ydtech.utils.StringUtils;
 import com.ydtech.utils.idgen.IdGenerate;
-import net.sf.jsqlparser.parser.feature.Feature;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
-import java.util.function.Function;
 import java.util.stream.Collectors;
 
 
@@ -64,6 +63,22 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Autowired
     private EsmUserImageService esmUserImageService;
 
+
+    @Override
+    public IPage<SysUserBaseVO> findUserList(PageDto<SysUserDto> pageDto) {
+        PageVo<SysUserBaseVO> pageVo = new PageVo();
+        Page page = new Page(pageDto.getPageNum(), pageDto.getPageSize());
+        pageVo.setPageNum(pageDto.getPageNum());
+        pageVo.setPageSize(pageDto.getPageSize());
+
+        SysUserDto sysUserVO = JSONObject.parseObject(JSONObject.toJSONString(pageDto.getDto()), SysUserDto.class);
+        if (sysUserVO.getAgentFlag() == null) {
+            throw new SystemException("必传标识未传递");
+        }
+
+        return sysUserMapper.findUserList(page, sysUserVO);
+    }
+
     @Override
     public SysUser findByUsername(String username) {
         SysUser sysUser = null;
@@ -237,10 +252,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         pageVo.setPageSize(pageDto.getPageSize());
 
         SysUserDto sysUserVO = JSONObject.parseObject(JSONObject.toJSONString(pageDto.getDto()), SysUserDto.class);
-        Page<SysUserBaseVO> sysUserBaseVOIPage = super.baseMapper.gainUserBaseInfo(page,sysUserVO);
+        Page<SysUserBaseVO> sysUserBaseVOIPage = super.baseMapper.gainUserBaseInfo(page, sysUserVO);
         pageVo.setContent(sysUserBaseVOIPage.getRecords());
-        pageVo.setTotalPages((int)sysUserBaseVOIPage.getPages());
-        pageVo.setTotalSize((int)sysUserBaseVOIPage.getTotal());
+        pageVo.setTotalPages((int) sysUserBaseVOIPage.getPages());
+        pageVo.setTotalSize((int) sysUserBaseVOIPage.getTotal());
         return pageVo;
     }
 
@@ -358,12 +373,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         SysUser sysUser = sysUserVo.getSysUser();
         // 手机号
         List<SysUser> mobileList = lambdaQuery().eq(SysUser::getMobile, sysUser.getMobile()).list();
-        if(!mobileList.isEmpty()){
+        if (!mobileList.isEmpty()) {
             throw new SystemException("手机号已经注册请跟换手机号。");
         }
         // 身份证号
         List<SysUser> identityList = lambdaQuery().eq(SysUser::getIdentity, sysUser.getIdentity()).list();
-        if(!identityList.isEmpty()){
+        if (!identityList.isEmpty()) {
             throw new SystemException("身份证号已经注册请跟换身份证号。");
         }
 
@@ -376,7 +391,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         } else {
             return HttpResult.error("密码不能为空");
         }
-        if ( "19".equals(sysUser.getRoleId())) {//19 出单员 校验机构和业务员机构是否一致
+        if ("19".equals(sysUser.getRoleId())) {//19 出单员 校验机构和业务员机构是否一致
             return checkChuDanUser(sysUser);
         }
         String userId = gainNextUserId(sysUser.getDeptId());
@@ -417,20 +432,21 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
     /**
      * 新增修改出单员
+     *
      * @param sysUser
      * @return
      */
-    HttpResult checkChuDanUser(SysUser sysUser ){
-        if (StringUtils.isEmpty(sysUser.getReferrerId())){
+    HttpResult checkChuDanUser(SysUser sysUser) {
+        if (StringUtils.isEmpty(sysUser.getReferrerId())) {
             return HttpResult.error("业务员工号不能为空");
         }
         //归属业务员和出单员部门必须一致
-        SysUser user=getById(sysUser.getReferrerId());
-        if(user==null ||!user.getDeptId().equals(sysUser.getDeptId())){
+        SysUser user = getById(sysUser.getReferrerId());
+        if (user == null || !user.getDeptId().equals(sysUser.getDeptId())) {
             return HttpResult.error("出单员机构必须和归属业务员机构一致");
         }
         sysUser.setOperatorCode(sysUser.getReferrerId());
-        if (StringUtils.isEmpty(sysUser.getId())){
+        if (StringUtils.isEmpty(sysUser.getId())) {
             String userId = gainNextUserId(sysUser.getDeptId());
             sysUser.setId(userId);
             save(sysUser);
@@ -439,7 +455,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             userRole.setUserId(sysUser.getId());
             userRole.setRoleId(StringUtils.toLong(sysUser.getRoleId()));
             sysUserRoleService.save(userRole);
-        }else {
+        } else {
             updateById(sysUser);
         }
 
@@ -460,17 +476,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             return HttpResult.error("密码不能为空");
         }*/
         //删除状态必须有离司时间
-        if(StringUtils.isNotEmpty(sysUser.getStatus().toString())){
-            if(sysUser.getStatus()==0&& sysUser.getLogoutTime()==null&& !sysUser.getRoleId().equals("19")){
+        if (StringUtils.isNotEmpty(sysUser.getStatus().toString())) {
+            if (sysUser.getStatus() == 0 && sysUser.getLogoutTime() == null && !sysUser.getRoleId().equals("19")) {
                 return HttpResult.error("删除状态,离职时间必填");
             }
-        }else{
+        } else {
             return HttpResult.error("状态不能为空");
         }
-        SysUser sysUser_org =findByUserId(sysUser.getId());
+        SysUser sysUser_org = findByUserId(sysUser.getId());
         sysUser.setPassword(sysUser_org.getPassword());
         sysUser.setSalt(sysUser_org.getSalt());
-        if ( "19".equals(sysUser.getRoleId())) {//19 出单员 校验机构和业务员机构是否一致
+        if ("19".equals(sysUser.getRoleId())) {//19 出单员 校验机构和业务员机构是否一致
             return checkChuDanUser(sysUser);
         }
         updateById(sysUser);
@@ -522,14 +538,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public List<SysUser> getAllUsers(String userId) {
         LambdaQueryWrapper<SysUser> lqw = new LambdaQueryWrapper<>();
         lqw.eq(SysUser::getStatus, "1");
-        lqw.eq(StringUtils.isNotEmpty(userId),SysUser::getId,userId);
+        lqw.eq(StringUtils.isNotEmpty(userId), SysUser::getId, userId);
         List<SysUser> lst = list(lqw);
         return lst;
     }
 
     @Override
-    public List<SysUser> findAllAgentRoleUser(String userId,String roleId) {
-        return super.baseMapper.findAllAgentRoleUser(userId,roleId);
+    public List<SysUser> findAllAgentRoleUser(String userId, String roleId) {
+        return super.baseMapper.findAllAgentRoleUser(userId, roleId);
     }
 
     @Override
@@ -539,10 +555,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         String deptId = sysUser.getDeptId();
         int level = 0;
         //1 2 3 4 5级 M 6级 D
-        if(deptId.length() > 8){
+        if (deptId.length() > 8) {
             String substring = deptId.substring(8);
             return substring.length() / 3 + 4;
-        }else{
+        } else {
             level = deptId.length() / 2;
         }
         return level;

+ 2 - 0
src/main/java/com/ydtech/modules/inv/controller/InvAccountController.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.inv.model.InvAccount;
 import com.ydtech.modules.inv.service.InvAccountService;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.*;
  * @author jianlong
  * @date 2024-01-05 09:31
  */
+@Api(tags = "账户管理", value = "账户管理")
 @RequestMapping("/invAccount")
 @RestController
 public class InvAccountController {

+ 2 - 0
src/main/java/com/ydtech/modules/inv/controller/InvAccountExpensesController.java

@@ -4,6 +4,7 @@ import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.inv.model.InvAccountExpenses;
 import com.ydtech.modules.inv.service.InvAccountExpensesService;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -15,6 +16,7 @@ import java.util.Date;
  * @author jianlong
  * @date 2024-01-10 18:32
  */
+@Api(tags = "费用支出明细表", value = "费用支出明细表")
 @RestController
 @RequestMapping("accountExpense")
 public class InvAccountExpensesController {

+ 2 - 1
src/main/java/com/ydtech/modules/inv/controller/InvAccountOperateController.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.inv.model.InvAccountOperate;
 import com.ydtech.modules.inv.service.InvAccountOperateService;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -13,7 +14,7 @@ import org.springframework.web.bind.annotation.*;
  * @author jianlong
  * @date 2024-01-04 18:33
  */
-
+@Api(tags = "账户操作", value = "账户操作")
 @RequestMapping("accountOperate")
 @RestController
 public class InvAccountOperateController {

+ 2 - 0
src/main/java/com/ydtech/modules/inv/controller/invAccountExcelController.java

@@ -8,6 +8,7 @@ import com.ydtech.modules.inv.model.InvAccount;
 import com.ydtech.modules.inv.model.InvAccountExcel;
 import com.ydtech.modules.inv.service.InvAccountExcelService;
 import com.ydtech.modules.inv.service.InvAccountService;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -19,6 +20,7 @@ import java.util.List;
  * @author jianlong
  * @date 2024-01-10 09:49
  */
+@Api(tags = "账户信息管理", value = "账户信息管理")
 @RequestMapping("accountExcel")
 @RestController
 public class invAccountExcelController {

+ 74 - 27
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -21,7 +21,7 @@
     </resultMap>
 
     <sql id="Sys_User_Column_List">
-            su.id,
+        su.id,
             su.name,
             su.mobile,
             su.status,
@@ -70,24 +70,24 @@
 
     <select id="selectUserPage" resultMap="sysUserMap">
         select
-            <include refid="Sys_User_Column_List"/>
-            <include refid="Sys_User_Where_Clause"></include>
+        <include refid="Sys_User_Column_List"/>
+        <include refid="Sys_User_Where_Clause"></include>
     </select>
 
 
     <select id="gainUserBaseInfo" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
         select
-            su.id as userId,
-            su.name,
-            info.sex,
-            su.mobile,
-            su.status,
-            sd.id as deptId,
-            sd.name as deptName,
-            psd.id as pDeptId,
-            psd.name as pDeptName,
-            t4.id as roleId,
-            t4.name as roleName
+        su.id as userId,
+        su.name,
+        info.sex,
+        su.mobile,
+        su.status,
+        sd.id as deptId,
+        sd.name as deptName,
+        psd.id as pDeptId,
+        psd.name as pDeptName,
+        t4.id as roleId,
+        t4.name as roleName
         from sys_user su
         left join sys_dept sd on su.dept_id=sd.id
         left join sys_dept psd on sd.parent_id=psd.id
@@ -98,24 +98,71 @@
         AND sd.id &lt;&gt; ''
         <if test='user !=null  '>
             <if test='user.status !=null and user.status!="" '>
-                 and su.status = #{user.status}
-                </if>
+                and su.status = #{user.status}
+            </if>
             <if test='user.name !=null and user.name!="" '>
-                 and su.name like concat('%',#{user.name},'%')
-                </if>
+                and su.name like concat('%',#{user.name},'%')
+            </if>
             <if test='user.userId !=null and user.userId!="" '>
-                 and su.id = #{user.userId}
-                </if>
+                and su.id = #{user.userId}
+            </if>
             <if test='user.mobile !=null and user.mobile!=""  '>
-                 and su.mobile = #{user.mobile}
-                </if>
+                and su.mobile = #{user.mobile}
+            </if>
             <if test='user.deptId !=null and user.deptId!=""  '>
-                 and su.dept_id like concat('%',#{user.deptId},'%')
-                </if>
+                and su.dept_id like concat('%',#{user.deptId},'%')
+            </if>
             <if test='user.roleId !=null and user.roleId!=""  '>
-                 and t3.role_id in (${user.roleId})
-                </if>
+                and t3.role_id in (${user.roleId})
             </if>
+        </if>
+    </select>
 
+
+    <select id="findUserList" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
+        select
+        su.id as userId,
+        su.name,
+        info.sex,
+        su.mobile,
+        su.status,
+        sd.id as deptId,
+        sd.name as deptName,
+        psd.id as pDeptId,
+        psd.name as pDeptName,
+        t4.id as roleId,
+        t4.name as roleName
+        from sys_user su
+        left join sys_dept sd on su.dept_id=sd.id
+        left join sys_dept psd on sd.parent_id=psd.id
+        left join sys_user_info info on info.id=su.id
+        left join sys_user_role t3 on su.id=t3.user_id
+        left join sys_role t4 on t3.role_id=t4.id
+        where 1=1
+        AND sd.id &lt;&gt; ''
+        and psd.comlevel = '5'
+        <if test='user !=null  '>
+            <if test='user.status !=null and user.status!="" '>
+                and su.status = #{user.status}
+            </if>
+            <if test='user.name !=null and user.name!="" '>
+                and su.name like concat('%',#{user.name},'%')
+            </if>
+            <if test='user.userId !=null and user.userId!="" '>
+                and su.id = #{user.userId}
+            </if>
+            <if test='user.mobile !=null and user.mobile!=""  '>
+                and su.mobile = #{user.mobile}
+            </if>
+            <if test='user.deptId !=null and user.deptId!=""  '>
+                and su.dept_id like concat('%',#{user.deptId},'%')
+            </if>
+            <if test='user.roleId !=null and user.roleId!=""  '>
+                and t3.role_id in (${user.roleId})
+            </if>
+            <if test="user.agentFlag !=null and user.agentFlag!='' ">
+                and psd.management_source = #{user.agentFlag}
+            </if>
+        </if>
     </select>
-</mapper>
+</mapper>