人员信息、出差报备功能修改

Signed-off-by: lSun <15893999301@qq.com>
This commit is contained in:
lSun 2024-12-17 19:25:00 +08:00
parent 827d195ef3
commit 49ba6ddacb
14 changed files with 424 additions and 301 deletions

View File

@ -166,4 +166,16 @@ public class SysUser extends BaseEntity {
* 采集时间 * 采集时间
*/ */
private String collectionTime; private String collectionTime;
/**
* 是否参加考勤 1是 0不是
*/
private String isAttend;
/**
* 角色类型 1:人资专员和管理员;2:考勤员
*/
private String roleType;
private String orgListId;
} }

View File

@ -6,6 +6,7 @@ import com.bonus.common.core.web.page.TableDataInfo;
import com.bonus.common.log.annotation.Log; import com.bonus.common.log.annotation.Log;
import com.bonus.common.log.enums.BusinessType; import com.bonus.common.log.enums.BusinessType;
import com.bonus.common.security.annotation.RequiresPermissions; import com.bonus.common.security.annotation.RequiresPermissions;
import com.bonus.system.api.domain.SysUser;
import com.bonus.system.att.entity.AttDataDetailsBean; import com.bonus.system.att.entity.AttDataDetailsBean;
import com.bonus.system.att.entity.AttDayReportBean; import com.bonus.system.att.entity.AttDayReportBean;
import com.bonus.system.att.entity.AttMonthReportBean; import com.bonus.system.att.entity.AttMonthReportBean;
@ -13,6 +14,7 @@ import com.bonus.system.att.service.AttendanceDetailsService;
import com.bonus.system.basic.domain.SysOrg; import com.bonus.system.basic.domain.SysOrg;
import com.bonus.system.basic.service.SysOrgService; import com.bonus.system.basic.service.SysOrgService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -211,5 +213,13 @@ public class AttendanceDetailsController extends BaseController {
return getDataTableError(new ArrayList<>()); return getDataTableError(new ArrayList<>());
} }
/**
* 用户新增
*/
@PostMapping("/synchronous")
@Log(title = "考勤报表-> 考勤明细->数据同步", businessType = BusinessType.INSERT)
public AjaxResult synchronous(@Validated @RequestBody AttDataDetailsBean bean) {
return attendanceDetailsService.synchronous(bean);
}
} }

View File

@ -1,5 +1,6 @@
package com.bonus.system.att.service; package com.bonus.system.att.service;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.system.att.entity.AttDataDetailsBean; import com.bonus.system.att.entity.AttDataDetailsBean;
import com.bonus.system.att.entity.AttDayReportBean; import com.bonus.system.att.entity.AttDayReportBean;
import com.bonus.system.att.entity.AttMonthReportBean; import com.bonus.system.att.entity.AttMonthReportBean;
@ -96,4 +97,6 @@ public interface AttendanceDetailsService {
List<AttDataDetailsBean> getAttDayReportDetailsList(AttDataDetailsBean bean); List<AttDataDetailsBean> getAttDayReportDetailsList(AttDataDetailsBean bean);
List<AttDataDetailsBean> getOutCountList(AttDataDetailsBean bean); List<AttDataDetailsBean> getOutCountList(AttDataDetailsBean bean);
AjaxResult synchronous(AttDataDetailsBean bean);
} }

View File

@ -2,15 +2,18 @@ package com.bonus.system.att.service;
import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.utils.poi.ExcelUtil;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.security.utils.SecurityUtils; import com.bonus.common.security.utils.SecurityUtils;
import com.bonus.system.api.domain.MapVo; import com.bonus.system.api.domain.MapVo;
import com.bonus.system.att.dao.AttendanceDetailsDao; import com.bonus.system.att.dao.AttendanceDetailsDao;
import com.bonus.system.att.entity.AttDataDetailsBean; import com.bonus.system.att.entity.AttDataDetailsBean;
import com.bonus.system.att.entity.AttDayReportBean; import com.bonus.system.att.entity.AttDayReportBean;
import com.bonus.system.att.entity.AttMonthReportBean; import com.bonus.system.att.entity.AttMonthReportBean;
import com.bonus.system.att.tasks.AttTasks;
import com.bonus.system.basic.domain.SysNotice; import com.bonus.system.basic.domain.SysNotice;
import com.bonus.system.basic.service.SysNoticeService; import com.bonus.system.basic.service.SysNoticeService;
import com.bonus.system.dept.dao.ProDeptRoleDao; import com.bonus.system.dept.dao.ProDeptRoleDao;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -24,6 +27,7 @@ import java.util.stream.Collectors;
* @author zys * @author zys
*/ */
@Service("attendanceDetailsService") @Service("attendanceDetailsService")
@Log4j2
public class AttendanceDetailsServiceImpl implements AttendanceDetailsService { public class AttendanceDetailsServiceImpl implements AttendanceDetailsService {
@Resource(name = "attendanceDetailsDao") @Resource(name = "attendanceDetailsDao")
@ -32,6 +36,9 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService {
@Resource(name = "ProDeptRoleDao") @Resource(name = "ProDeptRoleDao")
private ProDeptRoleDao proDeptRoleDao; private ProDeptRoleDao proDeptRoleDao;
@Resource
private AttTasks attTasks;
/** /**
* 消息推送库表 * 消息推送库表
*/ */
@ -164,6 +171,18 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService {
return attendanceDetailsDao.getOutCountList(bean); return attendanceDetailsDao.getOutCountList(bean);
} }
@Override
public AjaxResult synchronous(AttDataDetailsBean bean) {
try {
List<String> dateList = attTasks.getStrDateListBetween(bean.getStartDate(), bean.getEndDate());
attTasks.hisAttPush(dateList);
return AjaxResult.success("数据同步成功");
}catch (Exception e){
log.error(e.toString(),e);
return AjaxResult.error("数据同步失败");
}
}
public List<AttDayReportBean> getAttDayReportListAll(List<AttDayReportBean> list) { public List<AttDayReportBean> getAttDayReportListAll(List<AttDayReportBean> list) {
List<AttDayReportBean> allList = new ArrayList<>(); List<AttDayReportBean> allList = new ArrayList<>();
Map<String, AttDayReportBean> map = list.stream() Map<String, AttDayReportBean> map = list.stream()

View File

@ -100,7 +100,7 @@ public class AttTasks {
log.info("--------考勤定时器完毕------"); log.info("--------考勤定时器完毕------");
} }
private void hisAttPush(List<String> dateList) { public void hisAttPush(List<String> dateList) {
// 创建固定大小的线程池 // 创建固定大小的线程池
ExecutorService executorService = Executors.newFixedThreadPool(THREAD_POOL_SIZE); ExecutorService executorService = Executors.newFixedThreadPool(THREAD_POOL_SIZE);
// 分批处理日期列表 // 分批处理日期列表

View File

@ -178,4 +178,20 @@ public class SysOrgController extends BaseController
return error("系统异常"); return error("系统异常");
} }
/**
* 获取组织列表下拉树
*/
@GetMapping("/listTree")
@Log(title = "系统管理->组织管理->下拉树", businessType = BusinessType.QUERY)
public AjaxResult listTree(SysOrg sysOrg) {
try{
List<SysOrg> org = sysOrgService.selectOrgList(sysOrg);
return success(org);
}catch (Exception e){
log.error(e.toString(),e);
}
return error("系统异常");
}
} }

View File

@ -9,11 +9,14 @@ import com.bonus.common.log.enums.BusinessType;
import com.bonus.common.security.annotation.RequiresPermissions; import com.bonus.common.security.annotation.RequiresPermissions;
import com.bonus.common.security.utils.SecurityUtils; import com.bonus.common.security.utils.SecurityUtils;
import com.bonus.system.api.domain.MapVo; import com.bonus.system.api.domain.MapVo;
import com.bonus.system.api.domain.SysRole;
import com.bonus.system.api.domain.SysUser; import com.bonus.system.api.domain.SysUser;
import com.bonus.system.att.tasks.WechatTasks; import com.bonus.system.att.tasks.WechatTasks;
import com.bonus.system.basic.dao.SysUserMapper;
import com.bonus.system.basic.service.SysMenuService; import com.bonus.system.basic.service.SysMenuService;
import com.bonus.system.basic.service.SysUserService; import com.bonus.system.basic.service.SysUserService;
import com.bonus.system.dept.entity.ProDeptRoleDo; import com.bonus.system.dept.entity.ProDeptRoleDo;
import com.bonus.system.holiday.dao.WorkReportDao;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.util.IOUtils; import org.apache.poi.util.IOUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -53,6 +56,12 @@ public class SysUserController extends BaseController {
@Autowired @Autowired
private WechatTasks wechatTasks; private WechatTasks wechatTasks;
@Resource(name = "WorkReportDao")
private WorkReportDao dao;
@Resource
private SysUserMapper userMapper;
@RequiresPermissions("system:user:list") @RequiresPermissions("system:user:list")
@GetMapping("/list") @GetMapping("/list")
@ -61,6 +70,30 @@ public class SysUserController extends BaseController {
try{ try{
// List<SysUser> list = userService.selectUserList(bean); // List<SysUser> list = userService.selectUserList(bean);
// return endPage(list); // return endPage(list);
//根据登录账号获取角色
//不是管理员只能查自己
Long userId = SecurityUtils.getUserId();
List<SysRole> sysRoleList = dao.getRoleListByUserId(userId);
int roleCount = 0;
if(!sysRoleList.isEmpty()){
for (SysRole sysRole : sysRoleList) {
if(sysRole.getRoleName().contains("管理员")){
roleCount = 1;
break;
}else if(sysRole.getRoleName().contains("人资专员")){
roleCount = 1;
break;
}else if(sysRole.getRoleName().contains("考勤员")){
roleCount = 2;
break;
}
}
}
if(roleCount==2){
String ids = userMapper.getOrg(userId);
bean.setRoleType("2");
bean.setOrgListId(ids);
}
startPage(); startPage();
List<SysUser> list = userService.selectUserList(bean); List<SysUser> list = userService.selectUserList(bean);
return getDataTable(list); return getDataTable(list);

View File

@ -228,4 +228,6 @@ public interface SysUserMapper
void updateAttOrgByUserId(OrgChangeBean item); void updateAttOrgByUserId(OrgChangeBean item);
List<String> getRoleListById(SysUser user); List<String> getRoleListById(SysUser user);
String getOrg(Long userId);
} }

View File

@ -148,6 +148,16 @@ public class EvectionBean extends BaseBean {
*/ */
private String isAgree; private String isAgree;
/**
* 是否省外 1 0
*/
private String isOutside;
/**
* 是否西藏 1 0
*/
private String isXizang;
/** /**
* 代理主持工作人员多个自动隔开 * 代理主持工作人员多个自动隔开
*/ */

View File

@ -134,6 +134,16 @@ public class WechatEvectionBean extends BaseBean {
*/ */
private String isAgree; private String isAgree;
/**
* 是否省外 1 0
*/
private String isOutside;
/**
* 是否西藏 1 0
*/
private String isXizang;
/** /**
* 备注 * 备注
*/ */

View File

@ -1,307 +1,309 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.system.basic.dao.SysUserMapper"> <mapper namespace="com.bonus.system.basic.dao.SysUserMapper">
<insert id="insertUser" keyColumn="user_id" useGeneratedKeys="true" keyProperty="userId"> <insert id="insertUser" keyColumn="user_id" useGeneratedKeys="true" keyProperty="userId">
insert into sys_user( insert into sys_user(
<if test="userName != null and userName != ''">user_name,</if> <if test="userName != null and userName != ''">user_name,</if>
<if test="phone != null and phone != ''">phone,</if> <if test="phone != null and phone != ''">phone,</if>
<if test="idNumber != null and idNumber != ''">id_number,</if> <if test="idNumber != null and idNumber != ''">id_number,</if>
<if test="password != null and password != ''">password,</if> <if test="password != null and password != ''">password,</if>
<if test="createBy != null and createBy != ''">create_user_id,</if> <if test="createBy != null and createBy != ''">create_user_id,</if>
<if test="isCadre != null and isCadre != ''">is_cadre,</if> <if test="isCadre != null and isCadre != ''">is_cadre,</if>
create_time create_time
)values( )values(
<if test="userName != null and userName != ''">#{userName},</if> <if test="userName != null and userName != ''">#{userName},</if>
<if test="phone != null and phone != ''">#{phone},</if> <if test="phone != null and phone != ''">#{phone},</if>
<if test="idNumber != null and idNumber != ''">#{idNumber},</if> <if test="idNumber != null and idNumber != ''">#{idNumber},</if>
<if test="password != null and password != ''">#{password},</if> <if test="password != null and password != ''">#{password},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if> <if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="isCadre != null and isCadre != ''">#{isCadre},</if> <if test="isCadre != null and isCadre != ''">#{isCadre},</if>
sysdate() sysdate()
) )
</insert> </insert>
<insert id="insertUserPost"> <insert id="insertUserPost">
insert into sys_user_post(user_id, post_id) values insert into sys_user_post(user_id, post_id) values
<foreach collection="list" item="item" separator=","> <foreach collection="list" item="item" separator=",">
(#{item.userId},#{item.postId}) (#{item.userId},#{item.postId})
</foreach> </foreach>
</insert> </insert>
<insert id="insertUserRole"> <insert id="insertUserRole">
insert into sys_user_role(user_id, role_id) values insert into sys_user_role(user_id, role_id) values
<foreach collection="list" item="item" separator=","> <foreach collection="list" item="item" separator=",">
(#{item.userId},#{item.roleId}) (#{item.userId},#{item.roleId})
</foreach> </foreach>
</insert> </insert>
<insert id="insertUserOrg"> <insert id="insertUserOrg">
insert into sys_user_org(user_id, org_id) values insert into sys_user_org(user_id, org_id) values
<foreach collection="list" item="item" separator=","> <foreach collection="list" item="item" separator=",">
(#{item.userId},#{item.orgId}) (#{item.userId},#{item.orgId})
</foreach> </foreach>
</insert> </insert>
<delete id="deleteUserOrgByUserId"> <delete id="deleteUserOrgByUserId">
delete from sys_user_org where user_id = #{userId} delete
</delete> from sys_user_org
<delete id="deleteUserPostByUserId"> where user_id = #{userId}
delete from sys_user_post where user_id = #{userId} </delete>
</delete> <delete id="deleteUserPostByUserId">
<delete id="deleteUserRoleByUserId"> delete
delete from sys_user_role where user_id = #{userId} from sys_user_post
</delete> where user_id = #{userId}
<update id="deleteUserById"> </delete>
update sys_user <delete id="deleteUserRoleByUserId">
set is_active = 0 delete
where user_id = #{userId} from sys_user_role
</update> where user_id = #{userId}
<update id="updateUser"> </delete>
update sys_user <update id="deleteUserById">
<set> update sys_user
<if test="userName != null and userName != ''">user_name = #{userName},</if> set is_active = 0
<if test="phone != null and phone != ''">phone = #{phone},</if> where user_id = #{userId}
<if test="idNumber != null and idNumber != ''">id_number = #{idNumber},</if> </update>
<if test="password != null and password != ''">password = #{password},</if> <update id="updateUser">
<if test="updateBy != null and updateBy != ''">update_user_id = #{updateBy},</if> update sys_user
<if test="isCadre != null and isCadre != ''">is_cadre = #{isCadre},</if> <set>
update_time = sysdate() <if test="userName != null and userName != ''">user_name = #{userName},</if>
</set> <if test="phone != null and phone != ''">phone = #{phone},</if>
where user_id = #{userId} <if test="idNumber != null and idNumber != ''">id_number = #{idNumber},</if>
</update> <if test="password != null and password != ''">password = #{password},</if>
<if test="updateBy != null and updateBy != ''">update_user_id = #{updateBy},</if>
<if test="isCadre != null and isCadre != ''">is_cadre = #{isCadre},</if>
update_time = sysdate()
</set>
where user_id = #{userId}
</update>
<update id="updateIsFace"> <update id="updateIsFace">
update sys_user set is_face = #{isFace} where user_id = #{userId} update sys_user
</update> set is_face = #{isFace}
where user_id = #{userId}
</update>
<!-- 改两次sys_user是为了第一次录入人脸时多次录入需要审核但又未更新时间的问题--> <!-- 改两次sys_user是为了第一次录入人脸时多次录入需要审核但又未更新时间的问题-->
<update id="checkPersonAssignment"> <update id="checkPersonAssignment">
UPDATE sys_user_face SET UPDATE sys_user_face SET
`is_check` = #{isCheck}, `is_check` = #{isCheck},
`examine_opinion` = #{examineOpinion} `examine_opinion` = #{examineOpinion}
WHERE `user_id` = #{userId}; WHERE `user_id` = #{userId};
<if test='isCheck == 1'> <if test='isCheck == 1'>
update sys_user set is_face = 1 where user_id = #{userId}; update sys_user set is_face = 1 where user_id = #{userId};
update sys_user set is_face = 0 where user_id = #{userId}; update sys_user set is_face = 0 where user_id = #{userId};
</if> </if>
</update> </update>
<update id="updateAttOrgByUserId"> <update id="updateAttOrgByUserId">
update att_group_person_relation set org_id = #{newOrgId} where user_id = #{userId} and org_id = #{oldOrgId}; update att_group_person_relation
</update> set org_id = #{newOrgId}
where user_id = #{userId}
and org_id = #{oldOrgId};
</update>
<select id="selectUserByUserName" resultType="com.bonus.system.api.domain.SysUser"> <select id="selectUserByUserName" resultType="com.bonus.system.api.domain.SysUser">
select * from sys_user su select *
where su.is_active = 1 and su.phone = #{userName} from sys_user su
</select> where su.is_active = 1
and su.phone = #{userName}
</select>
<select id="selectUserById" resultType="com.bonus.system.api.domain.SysUser"> <select id="selectUserById" resultType="com.bonus.system.api.domain.SysUser">
select * from sys_user su select *
where su.user_id = #{userId} from sys_user su
</select> where su.user_id = #{userId}
<select id="getOrgByUserId" resultType="com.bonus.system.api.domain.MapVo"> </select>
SELECT <select id="getOrgByUserId" resultType="com.bonus.system.api.domain.MapVo">
id, SELECT id,
`org_name` AS `name` `org_name` AS `name`
FROM FROM sys_organization
sys_organization WHERE id IN (SELECT org_id
WHERE FROM sys_user_org
id IN ( WHERE user_id = #{userId})
SELECT </select>
org_id <select id="selectUserList" resultType="com.bonus.system.api.domain.SysUser">
FROM SELECT
sys_user_org su.user_id AS userId,
WHERE su.user_name as userName,
user_id = #{userId}) su.id_number as idNumber,
</select> GROUP_CONCAT(DISTINCT so.org_name ORDER BY so.id SEPARATOR ', ') as orgName,
<select id="selectUserList" resultType="com.bonus.system.api.domain.SysUser"> GROUP_CONCAT(DISTINCT sdd.dict_label ORDER BY sdd.dict_code SEPARATOR ', ') as postName,
SELECT GROUP_CONCAT(DISTINCT sr.role_name ORDER BY sr.role_id SEPARATOR ', ') as roleName,
su.user_id AS userId, su.phone,su.is_cadre as isCadre,
su.user_name as userName, su.is_face as isFace,
su.id_number as idNumber, case when suf.new_face is not null then suf.new_face else suf.applied_face end new_face,
GROUP_CONCAT(DISTINCT so.org_name ORDER BY so.id SEPARATOR ', ') as orgName, suf.is_check,
GROUP_CONCAT(DISTINCT sdd.dict_label ORDER BY sdd.dict_code SEPARATOR ', ') as postName, suf.examine_opinion as examineOpinion,
GROUP_CONCAT(DISTINCT sr.role_name ORDER BY sr.role_id SEPARATOR ', ') as roleName, suf.collection_time,
su.phone,su.is_cadre as isCadre, if(agpr.user_id is null, false, true) as isAttend
su.is_face as isFace, FROM
case when suf.new_face is not null then suf.new_face else suf.applied_face end new_face, sys_user su
suf.is_check, LEFT JOIN sys_user_post sup on sup.user_id=su.user_id and sup.is_active=1
suf.examine_opinion as examineOpinion, LEFT JOIN sys_dict_data sdd on sdd.dict_code=sup.post_id and sdd.`status`=0
suf.collection_time LEFT JOIN sys_user_role sur on sur.user_id=su.user_id and sur.is_active=1
FROM LEFT JOIN sys_role sr on sr.role_id=sur.role_id and sr.del_flag=0
sys_user su LEFT JOIN sys_user_org suo on suo.user_id=su.user_id and suo.is_active=1
LEFT JOIN sys_user_post sup on sup.user_id=su.user_id and sup.is_active=1 LEFT JOIN sys_organization so on so.id=suo.org_id and so.is_active=1
LEFT JOIN sys_dict_data sdd on sdd.dict_code=sup.post_id and sdd.`status`=0 LEFT JOIN sys_user_face suf ON suf.user_id = su.user_id
LEFT JOIN sys_user_role sur on sur.user_id=su.user_id and sur.is_active=1 LEFT JOIN att_group_person_relation agpr on agpr.user_id = su.user_id and agpr.is_active = 1
LEFT JOIN sys_role sr on sr.role_id=sur.role_id and sr.del_flag=0 WHERE
LEFT JOIN sys_user_org suo on suo.user_id=su.user_id and suo.is_active=1 su.is_active =1
LEFT JOIN sys_organization so on so.id=suo.org_id and so.is_active=1 <if test="userName != null and userName != ''">
LEFT JOIN sys_user_face suf ON suf.user_id = su.user_id AND su.user_name like concat('%', #{userName}, '%')
WHERE </if>
su.is_active =1 <if test="orgId != null and orgId != ''">
<if test="userName != null and userName != ''"> AND suo.org_id = #{orgId}
AND su.user_name like concat('%', #{userName}, '%') </if>
</if> <if test="phone != null and phone != ''">
<if test="orgId != null and orgId != ''"> AND su.phone = #{phone}
AND suo.org_id = #{orgId} </if>
</if> <if test="userId != null">
<if test="phone != null and phone != ''"> AND su.user_id = #{userId}
AND su.phone = #{phone} </if>
</if> <if test="roleType =='2' || roleType == 2 ">
<if test="userId != null"> and suo.org_id in (#{orgListId})
AND su.user_id = #{userId} </if>
</if> GROUP BY su.user_id
GROUP BY su.user_id order by su.update_time desc
order by su.update_time desc </select>
</select> <select id="getSelectRole" resultType="com.bonus.system.api.domain.SysRole">
<select id="getSelectRole" resultType="com.bonus.system.api.domain.SysRole"> SELECT role_id,
SELECT role_id, role_name
role_name FROM sys_role
FROM sys_role WHERE del_flag = '0'
WHERE del_flag = '0' and status = '0'
and status = '0' </select>
</select> <select id="getSelectPost" resultType="com.bonus.system.api.domain.SysDictData">
<select id="getSelectPost" resultType="com.bonus.system.api.domain.SysDictData"> SELECT dict_code,
SELECT dict_code, dict_label
dict_label FROM sys_dict_data
FROM sys_dict_data WHERE dict_type = 'post_list'
WHERE dict_type = 'post_list' and status = '0'
and status = '0' </select>
</select> <select id="getRoleIdsByUserId">
<select id="getRoleIdsByUserId"> SELECT role_id as roleId
SELECT FROM sys_user_role
role_id as roleId WHERE user_id = #{userId}
FROM and is_active = 1
sys_user_role </select>
WHERE <select id="getOrgIdsByUserId">
user_id = #{userId} SELECT org_id as orgId
and is_active=1 FROM sys_user_org
</select> WHERE user_id = #{userId}
<select id="getOrgIdsByUserId"> and is_active = 1
SELECT </select>
org_id as orgId <select id="getPostIdsByUserId">
FROM SELECT sdd.dict_value as postId
sys_user_org FROM sys_dict_data sdd
WHERE LEFT JOIN sys_user_post sup on sup.post_id = sdd.dict_code and sup.is_active = 1
user_id = #{userId} WHERE sup.user_id = #{userId}
and is_active=1 and sdd.`status` = 0
</select> </select>
<select id="getPostIdsByUserId"> <select id="checkPhoneUnique" resultType="com.bonus.system.api.domain.SysUser">
SELECT select user_id as userId, phone
sdd.dict_value as postId from sys_user
FROM where phone = #{phone}
sys_dict_data sdd and is_active = '1' limit 1
LEFT JOIN sys_user_post sup on sup.post_id=sdd.dict_code and sup.is_active=1 </select>
WHERE <select id="selectPostIdById" resultType="java.lang.String">
sup.user_id=#{userId} select dict_code as postId
and sdd.`status`=0 from sys_dict_data
</select> where dict_value = #{postId}
<select id="checkPhoneUnique" resultType="com.bonus.system.api.domain.SysUser"> and dict_type = 'post_list'
select user_id as userId, phone and status = '0' limit 1
from sys_user </select>
where phone = #{phone} <select id="getOrgList" resultType="com.bonus.system.holiday.entity.HolidayKeyBean">
and is_active = '1' limit 1 SELECT id,
</select> org_name as `name`
<select id="selectPostIdById" resultType="java.lang.String"> FROM `sys_organization`
select dict_code as postId from sys_dict_data where dict_value = #{postId} and dict_type = 'post_list' and status = '0' limit 1 WHERE is_active = 1
</select> and org_name is not null
<select id="getOrgList" resultType="com.bonus.system.holiday.entity.HolidayKeyBean"> GROUP BY org_name
SELECT </select>
id, <select id="getRoleList" resultType="com.bonus.system.holiday.entity.HolidayKeyBean">
org_name as `name` SELECT role_id as id,
FROM role_name as `name`
`sys_organization` FROM sys_role
WHERE WHERE del_flag = '0'
is_active=1 and status = '0'
and org_name is not null and role_name is not null
GROUP BY org_name GROUP BY role_name
</select> </select>
<select id="getRoleList" resultType="com.bonus.system.holiday.entity.HolidayKeyBean"> <select id="getPostList" resultType="com.bonus.system.holiday.entity.HolidayKeyBean">
SELECT SELECT dict_code as id,
role_id as id, dict_label as `name`
role_name as `name` FROM sys_dict_data
FROM WHERE dict_type = 'post_list'
sys_role and status = '0'
WHERE and dict_label is not null
del_flag = '0' GROUP BY dict_label
and status = '0' </select>
and role_name is not null <select id="getSelectUser" resultType="com.bonus.system.api.domain.SysUser">
GROUP BY role_name SELECT user_id AS userIds,
</select> user_name AS userName,
<select id="getPostList" resultType="com.bonus.system.holiday.entity.HolidayKeyBean"> id_number AS idNumber,
SELECT phone
dict_code as id, FROM sys_user
dict_label as `name` WHERE is_active = 1
FROM AND user_name IS NOT NULL
sys_dict_data </select>
WHERE <select id="checkIdNumberUnique" resultType="com.bonus.system.api.domain.SysUser">
dict_type = 'post_list' select user_id as userId, id_number as idNumber
and status = '0' from sys_user
and dict_label is not null where id_number = #{idNumber}
GROUP BY dict_label and is_active = '1' limit 1
</select> </select>
<select id="getSelectUser" resultType="com.bonus.system.api.domain.SysUser"> <select id="selectUserByUserNames" resultType="com.bonus.system.api.domain.SysUser">
SELECT SELECT suo.org_id AS orgId
user_id AS userIds, FROM sys_user su
user_name AS userName, LEFT JOIN sys_user_org suo ON suo.user_id = su.user_id
id_number AS idNumber, AND suo.is_active = 1
phone WHERE su.is_active = 1
FROM AND su.user_name = #{userName}
sys_user </select>
WHERE
is_active = 1
AND user_name IS NOT NULL
</select>
<select id="checkIdNumberUnique" resultType="com.bonus.system.api.domain.SysUser">
select user_id as userId, id_number as idNumber
from sys_user
where id_number = #{idNumber}
and is_active = '1' limit 1
</select>
<select id="selectUserByUserNames" resultType="com.bonus.system.api.domain.SysUser">
SELECT suo.org_id AS orgId
FROM sys_user su
LEFT JOIN sys_user_org suo ON suo.user_id = su.user_id
AND suo.is_active = 1
WHERE su.is_active = 1
AND su.user_name = #{userName}
</select>
<select id="getSelectUserCurrent" resultType="com.bonus.system.api.domain.SysUser"> <select id="getSelectUserCurrent" resultType="com.bonus.system.api.domain.SysUser">
SELECT SELECT user_id AS userIds,
user_id AS userIds, user_name AS userName,
user_name AS userName, id_number AS idNumber,
id_number AS idNumber, phone
phone FROM sys_user
FROM WHERE is_active = 1
sys_user AND user_name IS NOT NULL
WHERE </select>
is_active = 1 <select id="checkUserNameUnique" resultType="com.bonus.system.api.domain.SysUser">
AND user_name IS NOT NULL select user_id as userId, id_number as idNumber
</select> from sys_user
<select id="checkUserNameUnique" resultType="com.bonus.system.api.domain.SysUser"> where user_name = #{userName}
select user_id as userId, id_number as idNumber and is_active = '1' limit 1
from sys_user </select>
where user_name = #{userName}
and is_active = '1' limit 1
</select>
<select id="getAttGroupByUserId" resultType="com.bonus.system.api.domain.MapVo"> <select id="getAttGroupByUserId" resultType="com.bonus.system.api.domain.MapVo">
SELECT SELECT ag.id,
ag.id, ag.group_name AS `name`
ag.group_name AS `name` FROM att_group_person_relation agpr
FROM LEFT JOIN att_group ag ON agpr.group_id = ag.id
att_group_person_relation agpr AND ag.is_active = '1'
LEFT JOIN att_group ag ON agpr.group_id = ag.id WHERE agpr.user_id = #{userId}
AND ag.is_active = '1' and agpr.is_active = '1'
WHERE and ag.id is not null LIMIT 1
agpr.user_id = #{userId} and agpr.is_active = '1' and ag.id is not null </select>
LIMIT 1 <select id="getUserAttGroupByUserId" resultType="java.lang.Long">
</select> select org_id
<select id="getUserAttGroupByUserId" resultType="java.lang.Long"> from att_group_person_relation
select org_id from att_group_person_relation where user_id=#{userId} and is_active = 1 limit 1 where user_id = #{userId}
and is_active = 1 limit 1
</select> </select>
<select id="getRoleListById" resultType="java.lang.String"> <select id="getRoleListById" resultType="java.lang.String">
select role_id from sys_user_role select role_id
where user_id = #{userId} from sys_user_role
</select> where user_id = #{userId}
</select>
<select id="getOrg" resultType="java.lang.String">
SELECT GROUP_CONCAT(suo.org_id SEPARATOR ', ') AS orgName
FROM `sys_user` su
LEFT JOIN sys_user_org suo on suo.user_id = su.user_id and suo.is_active = 1
WHERE su.is_active = 1
AND su.user_id = #{userId}
</select>
</mapper> </mapper>

View File

@ -8,11 +8,11 @@
INSERT INTO leave_apply(user_id, user_name, org_id, org_name, leave_type, leave_reason, INSERT INTO leave_apply(user_id, user_name, org_id, org_name, leave_type, leave_reason,
leave_start_date, leave_start_interval, leave_end_date, leave_end_interval, leave_start_date, leave_start_interval, leave_end_date, leave_end_interval,
leave_duration, source, create_user_id, is_agree, location, host_user_id,host_user_name, remark leave_duration, source, create_user_id, is_agree, location, host_user_id,host_user_name, remark
, leave_form_id, submit_id,examine_status) , leave_form_id, submit_id,examine_status,is_outside,is_xizang)
VALUES (#{userId}, #{userName}, #{orgId}, #{orgName}, '出差报备', #{leaveReason}, VALUES (#{userId}, #{userName}, #{orgId}, #{orgName}, '出差报备', #{leaveReason},
#{leaveStartDate}, #{leaveStartInterval}, #{leaveEndDate}, #{leaveEndInterval}, #{leaveStartDate}, #{leaveStartInterval}, #{leaveEndDate}, #{leaveEndInterval},
#{leaveDuration}, #{source}, #{createUserId}, #{isAgree}, #{location}, #{hostUserId},#{hostUserName}, #{remark}, #{leaveDuration}, #{source}, #{createUserId}, #{isAgree}, #{location}, #{hostUserId},#{hostUserName}, #{remark},
#{uuid}, #{createUserId},'1') #{uuid}, #{createUserId},'1',#{isOutside},#{isXizang})
</insert> </insert>
<update id="updateEvection"> <update id="updateEvection">
@ -156,7 +156,9 @@
l.host_user_name, l.host_user_name,
l.is_agree, l.is_agree,
l.location, l.location,
l.remark l.remark,
l.is_outside,
l.is_xizang
FROM leave_apply l FROM leave_apply l
LEFT JOIN sys_user_post p ON p.user_id = l.user_id LEFT JOIN sys_user_post p ON p.user_id = l.user_id
LEFT JOIN sys_dict_data d on d.dict_code = p.post_id LEFT JOIN sys_dict_data d on d.dict_code = p.post_id
@ -181,7 +183,9 @@
l.host_user_id, l.host_user_id,
l.is_agree, l.is_agree,
l.location, l.location,
l.remark l.remark,
l.is_outside,
l.is_xizang
ORDER BY l.update_time DESC) a ORDER BY l.update_time DESC) a
LEFT JOIN sys_user su ON su.user_id = a.submit_id LEFT JOIN sys_user su ON su.user_id = a.submit_id
GROUP BY uuid GROUP BY uuid

View File

@ -231,7 +231,7 @@
sys_user_role sur sys_user_role sur
LEFT JOIN sys_role sr on sr.role_id=sur.role_id and sr.del_flag=0 LEFT JOIN sys_role sr on sr.role_id=sur.role_id and sr.del_flag=0
WHERE WHERE
sur.is_active=1 sur.is_active=1 and sr.del_flag=0
and sur.user_id=#{userId} and sur.user_id=#{userId}
</select> </select>
<select id="selectEvectionById" resultType="com.bonus.system.holiday.entity.WorkReportBean"> <select id="selectEvectionById" resultType="com.bonus.system.holiday.entity.WorkReportBean">

View File

@ -97,7 +97,9 @@
l.host_user_name, l.host_user_name,
l.is_agree, l.is_agree,
l.location, l.location,
l.remark l.remark,
l.is_outside,
l.is_xizang
FROM leave_apply l FROM leave_apply l
LEFT JOIN sys_user_post p ON p.user_id = l.user_id LEFT JOIN sys_user_post p ON p.user_id = l.user_id
LEFT JOIN sys_dict_data d on d.dict_code = p.post_id LEFT JOIN sys_dict_data d on d.dict_code = p.post_id