消息通知的指定人员
This commit is contained in:
+23
@@ -0,0 +1,23 @@
|
||||
package org.jeecg.modules.system.bean.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ScopeUserQuery {
|
||||
/**
|
||||
* 所属机构
|
||||
*/
|
||||
@Schema(title = "所属机构")
|
||||
private String orgCode;
|
||||
/**
|
||||
* 昵称
|
||||
*/
|
||||
@Schema(title = "昵称")
|
||||
private String realName;
|
||||
/**
|
||||
* 工号
|
||||
*/
|
||||
@Schema(title = "工号")
|
||||
private String workNo;
|
||||
}
|
||||
+70
@@ -0,0 +1,70 @@
|
||||
package org.jeecg.modules.system.bean.response;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
public class ScopeUserVO {
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@Schema(title = "用户id")
|
||||
private String userId;
|
||||
/**
|
||||
* 所属单位code
|
||||
*/
|
||||
@Schema(title = "所属单位code")
|
||||
private String orgCode;
|
||||
/**
|
||||
* 所属单位名称
|
||||
*/
|
||||
@Schema(title = "所属单位名称")
|
||||
private String orgName;
|
||||
/**
|
||||
* 所属部门code
|
||||
*/
|
||||
@Schema(title = "所属部门code")
|
||||
private String departCode;
|
||||
/**
|
||||
* 所属部门名称
|
||||
*/
|
||||
@Schema(title = "所属部门名称")
|
||||
private String departName;
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
@Schema(title = "姓名")
|
||||
private String realName;
|
||||
/**
|
||||
* 工号
|
||||
*/
|
||||
@Schema(title = "工号")
|
||||
private String workNo;
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
@Schema(title = "性别")
|
||||
private Integer sex;
|
||||
/**
|
||||
* 年龄
|
||||
*/
|
||||
@Schema(title = "年龄")
|
||||
private Integer age;
|
||||
/**
|
||||
* 身高
|
||||
*/
|
||||
@Schema(title = "身高")
|
||||
private BigDecimal height;
|
||||
/**
|
||||
* 体重
|
||||
*/
|
||||
@Schema(title = "体重")
|
||||
private BigDecimal weight;
|
||||
/**
|
||||
* BMI
|
||||
*/
|
||||
@Schema(title = "BMI")
|
||||
private BigDecimal bmi;
|
||||
}
|
||||
+16
@@ -35,9 +35,12 @@ import org.jeecg.common.system.vo.SysUserModel;
|
||||
import org.jeecg.common.util.*;
|
||||
import org.jeecg.config.mybatis.MybatisPlusSaasConfig;
|
||||
import org.jeecg.modules.base.service.BaseCommonService;
|
||||
import org.jeecg.modules.system.bean.request.ScopeUserQuery;
|
||||
import org.jeecg.modules.system.bean.response.ScopeUserVO;
|
||||
import org.jeecg.modules.system.bean.response.UserBmiGroupInfo;
|
||||
import org.jeecg.modules.system.entity.*;
|
||||
import org.jeecg.modules.system.manager.UserCacheManager;
|
||||
import org.jeecg.modules.system.message.model.po.SysMessageNotice;
|
||||
import org.jeecg.modules.system.model.DepartIdModel;
|
||||
import org.jeecg.modules.system.model.SysUserSysDepartModel;
|
||||
import org.jeecg.modules.system.service.*;
|
||||
@@ -2315,4 +2318,17 @@ public class SysUserController {
|
||||
Result<List<UserBmiGroupInfo>> userInfoMap(@RequestBody List<String> idCards){
|
||||
return Result.ok(sysUserService.userInfoMap(idCards));
|
||||
}
|
||||
|
||||
/**
|
||||
* 筛选用户
|
||||
* @param query 条件
|
||||
* @return 返回
|
||||
*/
|
||||
@GetMapping("scopeUserList")
|
||||
Result<IPage<ScopeUserVO>> scopeUserList(ScopeUserQuery query,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize){
|
||||
Page<ScopeUserVO> page = new Page<>(pageNo, pageSize);
|
||||
return Result.ok(sysUserService.scopeUserList(query,page));
|
||||
}
|
||||
}
|
||||
|
||||
+4
@@ -24,6 +24,8 @@ import org.jeecg.common.system.bean.response.GroupUser;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
import org.jeecg.common.system.vo.SysUserCacheInfo;
|
||||
import org.jeecg.common.system.vo.SysUserModel;
|
||||
import org.jeecg.modules.system.bean.request.ScopeUserQuery;
|
||||
import org.jeecg.modules.system.bean.response.ScopeUserVO;
|
||||
import org.jeecg.modules.system.bean.response.UserBmiGroupInfo;
|
||||
import org.jeecg.modules.system.entity.EmpImportNewVO;
|
||||
import org.jeecg.modules.system.entity.SysRoleIndex;
|
||||
@@ -646,4 +648,6 @@ public interface ISysUserService extends IService<SysUser> {
|
||||
List<UserBase> getUserInfoByTypeCode(String findCode);
|
||||
|
||||
List<UserBase> findUserByParam(String findCode);
|
||||
|
||||
IPage<ScopeUserVO> scopeUserList(ScopeUserQuery query,IPage<ScopeUserVO> page);
|
||||
}
|
||||
|
||||
+60
@@ -17,6 +17,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.yulichang.query.MPJLambdaQueryWrapper;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
@@ -66,6 +68,8 @@ import org.jeecg.modules.imports.service.ICommonImportsInfoService;
|
||||
import org.jeecg.modules.manager.ISysCache;
|
||||
import org.jeecg.modules.manager.SysCacheImpl;
|
||||
import org.jeecg.modules.remote.mapper.UserDataRecordBmiMapper;
|
||||
import org.jeecg.modules.system.bean.request.ScopeUserQuery;
|
||||
import org.jeecg.modules.system.bean.response.ScopeUserVO;
|
||||
import org.jeecg.modules.system.bean.response.UserBmiGroupInfo;
|
||||
import org.jeecg.modules.system.entity.*;
|
||||
import org.jeecg.modules.system.manager.SysCloudManager;
|
||||
@@ -3839,4 +3843,60 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<ScopeUserVO> scopeUserList(ScopeUserQuery query, IPage<ScopeUserVO> page){
|
||||
// 构建 MPJ 查询包装器
|
||||
MPJLambdaWrapper<SysUser> queryWrapper = new MPJLambdaWrapper<SysUser>()
|
||||
.selectAs(SysUser::getId, ScopeUserVO::getUserId)
|
||||
.selectAs(SysUser::getOrgCode, ScopeUserVO::getOrgCode)
|
||||
.selectAs(SysUser::getRealname, ScopeUserVO::getRealName)
|
||||
.selectAs(SysUser::getWorkNo, ScopeUserVO::getWorkNo)
|
||||
.selectAs(SysUser::getSex, ScopeUserVO::getSex)
|
||||
// 左连接 health_user_employee_ex 表
|
||||
.leftJoin(HealthUserEmployeeEx.class, HealthUserEmployeeEx::getId, SysUser::getId)
|
||||
// 选择 HealthUserEmployeeEx 表的字段
|
||||
.selectAs(HealthUserEmployeeEx::getHeight, ScopeUserVO::getHeight)
|
||||
.selectAs(HealthUserEmployeeEx::getWeight, ScopeUserVO::getWeight)
|
||||
.selectAs(HealthUserEmployeeEx::getBmi, ScopeUserVO::getBmi)
|
||||
.selectAs(HealthUserEmployeeEx::getCurrentAge, ScopeUserVO::getAge);
|
||||
|
||||
// 添加查询条件
|
||||
if (StrUtil.isNotBlank(query.getOrgCode())) {
|
||||
queryWrapper.likeRight(SysUser::getOrgCode, query.getOrgCode());
|
||||
}
|
||||
if (StrUtil.isNotBlank(query.getRealName())) {
|
||||
queryWrapper.like(SysUser::getRealname, query.getRealName());
|
||||
}
|
||||
if (StrUtil.isNotBlank(query.getWorkNo())) {
|
||||
queryWrapper.like(SysUser::getWorkNo, query.getWorkNo());
|
||||
}
|
||||
|
||||
// 添加默认条件:未删除、正常状态、员工
|
||||
queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0)
|
||||
.eq(SysUser::getStatus, CommonConstant.STATUS_1)
|
||||
.eq(SysUser::getPersonType, CommonConstant.PERSON_TYPE_DOCTOR_1);
|
||||
|
||||
// 执行分页查询
|
||||
IPage<ScopeUserVO> resultPage = userMapper.selectJoinPage(page, ScopeUserVO.class, queryWrapper);
|
||||
|
||||
// 填充部门名称
|
||||
if (CollUtil.isNotEmpty(resultPage.getRecords())) {
|
||||
resultPage.getRecords().forEach(vo -> {
|
||||
if (StrUtil.isNotBlank(vo.getOrgCode())) {
|
||||
SysDepart secondDepart = sysCache.getDepartByOrgCode(GlobalUtils.getSecondDepartOrgCode(vo.getOrgCode()));
|
||||
if (null != secondDepart) {
|
||||
vo.setOrgCode(secondDepart.getOrgCode());
|
||||
vo.setOrgName(secondDepart.getDepartName());
|
||||
}
|
||||
SysDepart thirdDepart = sysCache.getDepartByOrgCode(GlobalUtils.getThirdDepartOrgCode(vo.getOrgCode()));
|
||||
if (null != thirdDepart) {
|
||||
vo.setDepartCode(thirdDepart.getOrgCode());
|
||||
vo.setDepartName(thirdDepart.getDepartName());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return resultPage;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user