查询机构人员
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
# 数据库配置
|
||||
#=============================================
|
||||
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
|
||||
spring.datasource.url = jdbc:mysql://39.100.23.127:3306/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
|
||||
spring.datasource.url = jdbc:mysql://192.168.10.47:3306/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
|
||||
spring.datasource.username = root
|
||||
spring.datasource.password = root
|
||||
|
||||
|
||||
+12
@@ -47,6 +47,18 @@ public class TsInstitutionController extends BaseController<TsInstitution> {
|
||||
return Result.success(institutions);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询所有机构和人员
|
||||
* @return ResponseMessage<List<TsInstitution>>
|
||||
*/
|
||||
@ApiOperation("查询所有机构和人员")
|
||||
@GetMapping("/institutionAndUser")
|
||||
public ResponseMessage<List<TsInstitution>> getInstitutionAndUser(){
|
||||
List<TsInstitution> institutions=tsInstitutionService.getInstitutionAndUser();
|
||||
return Result.success(institutions);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询机构人员
|
||||
* @param institutionId:机构ID
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
package com.adc.da.slrs.sarInstitution.dao;
|
||||
|
||||
import com.adc.da.slrs.sarInstitution.entity.InstitutionAndUser;
|
||||
import com.adc.da.slrs.sarInstitution.entity.TsInstitution;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
@@ -13,4 +16,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
*/
|
||||
public interface TsInstitutionDao extends BaseMapper<TsInstitution> {
|
||||
|
||||
/**
|
||||
* 查询最高级机构及其人员
|
||||
* @return List<TsInstitution>
|
||||
*/
|
||||
List<TsInstitution> selectRootAndUser();
|
||||
|
||||
/**
|
||||
* 根据父节点查询机构及其人员
|
||||
* @param parentId:父节点Id
|
||||
* @return List<TsInstitution>
|
||||
*/
|
||||
List<TsInstitution> selectAndUserByParent(String parentId);
|
||||
}
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package com.adc.da.slrs.sarInstitution.entity;
|
||||
|
||||
import com.adc.da.slrs.sarUser.entity.TsUser;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class InstitutionAndUser {
|
||||
private TsInstitution institution;
|
||||
private List<TsUser> users;
|
||||
private List<InstitutionAndUser> children;
|
||||
}
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.adc.da.slrs.sarInstitution.entity;
|
||||
|
||||
import com.adc.da.base.entity.BaseEntity;
|
||||
import com.adc.da.slrs.sarUser.entity.TsUser;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -42,5 +44,14 @@ public class TsInstitution extends BaseEntity {
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "子机构")
|
||||
private List<TsInstitution> children;
|
||||
private List<Object> children;
|
||||
|
||||
@JsonIgnore
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "人员")
|
||||
private List<TsUserVO> users;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("是否是机构")
|
||||
private Boolean disabled;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,121 @@
|
||||
package com.adc.da.slrs.sarInstitution.entity;
|
||||
|
||||
import com.adc.da.slrs.sarPosition.entity.TsPosition;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class TsUserVO {
|
||||
public interface disable{
|
||||
}
|
||||
|
||||
|
||||
@ApiModelProperty(value = "主键Id")
|
||||
@NotNull(message = "userId不能为空",groups = {disable.class})
|
||||
@TableId(value = "USID")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "帐户")
|
||||
@TableField("ACCOUNT")
|
||||
private String account;
|
||||
|
||||
@ApiModelProperty(value = "密码")
|
||||
@TableField("PASSWORD")
|
||||
private String password;
|
||||
|
||||
@ApiModelProperty(value = "用户姓名")
|
||||
@TableField("UNAME")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "用户性别(1为男,2为女)")
|
||||
@TableField("SEX")
|
||||
private String sex;
|
||||
|
||||
@ApiModelProperty(value = "用户来源")
|
||||
@TableField("USER_SOURCE")
|
||||
private String userSource;
|
||||
|
||||
@ApiModelProperty(value = "用户手机号")
|
||||
@TableField("PHONE")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty(value = "用户状态")
|
||||
@TableField("STATE")
|
||||
private String state;
|
||||
|
||||
@ApiModelProperty(value = "用户邮箱")
|
||||
@TableField("EMAIL")
|
||||
private String email;
|
||||
|
||||
@ApiModelProperty(value = "所属部门名称")
|
||||
@TableField("INSTITUTION_NAME")
|
||||
private String institutionName;
|
||||
|
||||
@ApiModelProperty(value = "所属部门ID")
|
||||
@TableField("INSTITUTION_ID")
|
||||
private String institutionId;
|
||||
|
||||
@ApiModelProperty(value = "岗位名")
|
||||
@TableField("POSITION_NAME")
|
||||
private String positionName;
|
||||
|
||||
@ApiModelProperty(value = "岗位ID")
|
||||
@TableField("POSITION_ID")
|
||||
private String positionId;
|
||||
|
||||
@ApiModelProperty(value = "工号")
|
||||
@TableField("WORK_NUM")
|
||||
private String workNum;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
@TableField("EXT_INFO")
|
||||
private String extInfo;
|
||||
|
||||
@TableField("OPER_USER")
|
||||
private String operUser;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@TableField("CREATION_TIME")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Timestamp creationTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
@TableField("MODIFY_TIME")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Timestamp modifyTime;
|
||||
|
||||
@ApiModelProperty(value = "是否有效")
|
||||
@TableField("VALID_FLAG")
|
||||
private String validFlag;
|
||||
|
||||
@ApiModelProperty(value = "是否禁用(0为未禁用,1为已禁用)")
|
||||
@NotNull(message = "disableFlag不能为空",groups = {disable.class})
|
||||
@TableField("DISABLE_FLAG")
|
||||
private String disableFlag;
|
||||
|
||||
@ApiModelProperty(value = "是否锁定")
|
||||
@TableField("UNLOCK_FLAG")
|
||||
private String unlockFlag;
|
||||
|
||||
@ApiModelProperty(value = "用户类型")
|
||||
@TableField("USER_TYPE")
|
||||
private String userType;
|
||||
|
||||
@ApiModelProperty(value = "对接单点登录用户ID")
|
||||
@TableField("SSO_ID")
|
||||
private String ssoId;
|
||||
|
||||
@ApiModelProperty(value = "岗位")
|
||||
@TableField(exist = false)
|
||||
private List<TsPosition> positions;
|
||||
}
|
||||
+1
@@ -21,4 +21,5 @@ public interface ITsInstitutionService extends IService<TsInstitution> {
|
||||
*/
|
||||
List<TsInstitution> getInstitution();
|
||||
|
||||
List<TsInstitution> getInstitutionAndUser();
|
||||
}
|
||||
|
||||
+46
-6
@@ -2,7 +2,9 @@ package com.adc.da.slrs.sarInstitution.service.impl;
|
||||
|
||||
|
||||
import com.adc.da.slrs.sarInstitution.dao.TsInstitutionDao;
|
||||
import com.adc.da.slrs.sarInstitution.entity.InstitutionAndUser;
|
||||
import com.adc.da.slrs.sarInstitution.entity.TsInstitution;
|
||||
import com.adc.da.slrs.sarInstitution.entity.TsUserVO;
|
||||
import com.adc.da.slrs.sarInstitution.service.ITsInstitutionService;
|
||||
import com.adc.da.slrs.sarUser.entity.TsUser;
|
||||
import com.adc.da.slrs.sarUser.service.ITsUserService;
|
||||
@@ -11,6 +13,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -40,6 +43,40 @@ public class TsInstitutionServiceImpl extends ServiceImpl<TsInstitutionDao, TsIn
|
||||
}
|
||||
return institutionRoot;
|
||||
}
|
||||
/**
|
||||
* 递归获取子机构
|
||||
* @param tsInstitution:父机构
|
||||
* @return List<TsInstitution>
|
||||
*/
|
||||
private List<Object> recursionGetInstitution(TsInstitution tsInstitution){
|
||||
List<Object> institutionObject=new ArrayList<>();
|
||||
QueryWrapper<TsInstitution> institutionQueryWrapper=new QueryWrapper<>();
|
||||
institutionQueryWrapper.eq("parent_id",tsInstitution.getId());
|
||||
institutionQueryWrapper.eq("level",tsInstitution.getLevel()+1);
|
||||
List<TsInstitution> tsInstitutions=tsInstitutionDao.selectList(institutionQueryWrapper);
|
||||
for(TsInstitution tsInstitutionNode:tsInstitutions){
|
||||
tsInstitutionNode.setChildren(recursionGetInstitution(tsInstitutionNode));
|
||||
institutionObject.add(tsInstitutionNode);
|
||||
}
|
||||
return institutionObject;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询所有机构
|
||||
*/
|
||||
@Override
|
||||
public List<TsInstitution> getInstitutionAndUser() {
|
||||
//查询第一层机构
|
||||
List<TsInstitution> institutionRoot=tsInstitutionDao.selectRootAndUser();
|
||||
for(TsInstitution tsInstitution:institutionRoot){
|
||||
tsInstitution.setDisabled(true);
|
||||
tsInstitution.setChildren(recursionGetInstitutionAndUser(tsInstitution));
|
||||
for(TsUserVO user:tsInstitution.getUsers()){
|
||||
tsInstitution.getChildren().add(user);
|
||||
}
|
||||
}
|
||||
return institutionRoot;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -48,14 +85,17 @@ public class TsInstitutionServiceImpl extends ServiceImpl<TsInstitutionDao, TsIn
|
||||
* @param tsInstitution:父机构
|
||||
* @return List<TsInstitution>
|
||||
*/
|
||||
private List<TsInstitution> recursionGetInstitution(TsInstitution tsInstitution){
|
||||
QueryWrapper<TsInstitution> institutionQueryWrapper=new QueryWrapper<>();
|
||||
institutionQueryWrapper.eq("parent_id",tsInstitution.getId());
|
||||
institutionQueryWrapper.eq("level",tsInstitution.getLevel()+1);
|
||||
List<TsInstitution> tsInstitutions=tsInstitutionDao.selectList(institutionQueryWrapper);
|
||||
private List<Object> recursionGetInstitutionAndUser(TsInstitution tsInstitution){
|
||||
List<Object> institutionObject=new ArrayList<>();
|
||||
List<TsInstitution> tsInstitutions=tsInstitutionDao.selectAndUserByParent(tsInstitution.getId());
|
||||
for(TsInstitution tsInstitutionNode:tsInstitutions){
|
||||
tsInstitutionNode.setDisabled(true);
|
||||
tsInstitutionNode.setChildren(recursionGetInstitution(tsInstitutionNode));
|
||||
institutionObject.add(tsInstitutionNode);
|
||||
for(TsUserVO user:tsInstitutionNode.getUsers()){
|
||||
tsInstitutionNode.getChildren().add(user);
|
||||
}
|
||||
}
|
||||
return tsInstitutions;
|
||||
return institutionObject;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.adc.da.slrs.sarInstitution.dao.TsInstitutionDao">
|
||||
<resultMap id="InstitutionAndUser" type="com.adc.da.slrs.sarInstitution.entity.TsInstitution">
|
||||
<id column="id" property="id"/>
|
||||
<result column="parent_id" property="parentId"/>
|
||||
<result column="level" property="level"/>
|
||||
<result column="name" property="name"/>
|
||||
<collection property="users" ofType="com.adc.da.slrs.sarInstitution.entity.TsUserVO">
|
||||
<result column="usid" property="id"/>
|
||||
<result column="account" property="account"/>
|
||||
<result column="uname" property="name"/>
|
||||
<result column="institution_id" property="institutionId"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
<select id="selectRootAndUser" resultMap="InstitutionAndUser">
|
||||
select i.*,u.usid,u.account,u.uname,u.institution_id from ts_institution i
|
||||
left join ts_user u
|
||||
on i.id=u.institution_id
|
||||
where i.parent_id is null or i.parent_id=''
|
||||
</select>
|
||||
|
||||
<select id="selectAndUserByParent" resultMap="InstitutionAndUser">
|
||||
select i.*,u.usid,u.account,u.uname,u.institution_id from ts_institution i
|
||||
left join ts_user u
|
||||
on i.id=u.institution_id
|
||||
where i.parent_id = #{parentId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
from ts_dictionary as t_d left join ts_dictype as t_d_t on t_d.ID=t_d_t.DIC_ID
|
||||
where
|
||||
t_d.ENABLE=0 and
|
||||
t_d.DICTION_TYPE='SEL_OPTION' and
|
||||
t_d_t.DIC_ID is not null and
|
||||
t_d_t.DIC_TYPE_NAME is not null and
|
||||
t_d.DICTIONARY_NAME is not null
|
||||
|
||||
Reference in New Issue
Block a user