Browse Source

主管分管更新员工修改

zhanglei
dimengzhe 3 years ago
parent
commit
db79c45b96
  1. 28
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java
  2. 7
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java
  3. 9
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java
  4. 12
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml
  5. 8
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java
  6. 2
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.java
  7. 10
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml
  8. 26
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java

28
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java

@ -160,31 +160,13 @@ public class SysOrganizationService extends MybatisBaseService<SysOrganizationMa
String name = "";
for (String sid : sidArr) {
//查询组织关系中是否已经包含分管的人员
String orgSid = getOrgSid(entity.getSid());
if ("1".equals(manageType)) {
int count = sysStaffOrgService.selectByStaffAndOrg(orgSid, sid, "2");
int count1 = sysStaffOrgService.selectByStaffAndType(orgSid, sid, "3");
int count2 = sysStaffOrgService.selectByStaffAndOrg(orgSid, sid, "1");
if (count > 0 || count2 > 0) {
SysStaffinfo sysStaffinfo = sysStaffInfoService.fetchBySid(sid);
name = sysStaffinfo.getName();
return rb.setMsg("该组织机构中已包含" + name + ",请勿重复操作");
}
if (count1 > 0) {
SysStaffinfo sysStaffinfo = sysStaffInfoService.fetchBySid(sid);
name = sysStaffinfo.getName();
return rb.setMsg(name + "已是其他机构组织的主管");
}
//查询是否有员工信息,如果有的话,删除关联关系
sysStaffOrgService.deleteByStaffSidAndType(orgSid, sid, "3");
} else {//分管操作
int count = sysStaffOrgService.selectByStaffAndOrg(orgSid, sid, "1");
int count1 = sysStaffOrgService.selectByStaffAndOrg(orgSid, sid, "3");
if (count > 0 || count1 > 0) {
SysStaffinfo sysStaffinfo = sysStaffInfoService.fetchBySid(sid);
name = sysStaffinfo.getName();
return rb.setMsg("该组织机构中已包含" + name + ",请勿重复操作");
}
sysStaffOrgService.deleteByStaffSidAndType(entity.getOrgSidPath(), sid, "3");
}else{
int count = sysStaffOrgService.selectByStaffAndOrg(entity.getOrgSidPath(), sid, "3");
SysStaffinfo sysStaffinfo = sysStaffInfoService.fetchBySid(sid);
return rb.setMsg(sysStaffinfo.getName()+"已在本部门");
}
//添加员工与组织的关联关系
SysStaffOrg sysStaffOrg = new SysStaffOrg();

7
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java

@ -498,12 +498,11 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper,
sysUserService.updateByStaffSid(dto.getJobNumber(), sysStaffinfo.getMobile(), sid);
//更新员工的关联的部门信息
SysStaffOrgDto sysStaffOrgDto = dto.getSysStaffOrg();
String orgSid = sysOrganizationService.getOrgSid(sysStaffOrgDto.getOrgSid());
int count = sysStaffOrgService.selectByStaffAndOrg(orgSid, sid, "2");
int count = sysStaffOrgService.selectByStaffAndOrg(sysStaffOrgDto.getOrgSidPath(), sid, "2");
if (count > 0) {
return rb.setMsg("该组织机构下已存在该员工");
sysStaffOrgService.deleteByStaffSidAndType(sysStaffOrgDto.getOrgSidPath(), sid, "2");
}
SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSid(sid);
SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSidAndPath(sid,sysStaffOrgDto.getOrgSidPath());
BeanUtil.copyProperties(sysStaffOrgDto,sysStaffOrg);
sysStaffOrg.setManageType("3");
sysStaffOrgService.updateById(sysStaffOrg);

9
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java

@ -69,7 +69,8 @@ public interface SysStaffOrgMapper extends BaseMapper<SysStaffOrg> {
* @return
*/
SysStaffOrgDetailsVo selectByStaff(@Param("sid") String sid, @Param("orgSid") String orgSid);
SysStaffOrgDetailsVo selectByStaffByType(@Param("sid") String sid, @Param("orgSid") String orgSid,@Param("type")String type);
SysStaffOrgDetailsVo selectByStaffByType(@Param("sid") String sid, @Param("orgSid") String orgSid, @Param("type") String type);
@Select("SELECT GROUP_CONCAT(DISTINCT(orgSid)) FROM sys_staff_org WHERE staffSid=#{staffSid}")
String getSysStaffOrgSidListByStaffSid(@Param("staffSid") String staffSid);
@ -82,6 +83,9 @@ public interface SysStaffOrgMapper extends BaseMapper<SysStaffOrg> {
@Select("select * from sys_staff_org where staffSid=#{sid}")
SysStaffOrg getOrgByStaffSid(String sid);
@Select("select * from sys_staff_org where staffSid=#{sid} and orgSidPath = #{path} ")
SysStaffOrg getOrgByStaffSidAndPath(@Param("sid") String sid, @Param("path") String path);
@Select("select * from sys_staff_org where staffSid=#{sid}")
List<SysStaffOrg> getOrgByStaffSidList(String sid);
@ -89,7 +93,6 @@ public interface SysStaffOrgMapper extends BaseMapper<SysStaffOrg> {
void delZGAndFGByOrgSid(String sid);
int selectByStaffAndOrg(@Param("sid") String sid, @Param("staffSid") String zgStaffSid, @Param("type") String type);
int selectByStaffAndType(@Param("sid") String sid, @Param("staffSid") String zgStaffSid, @Param("type") String type);
int deleteByStaffSidAndType(@Param("sid") String sid, @Param("staffSid") String zgStaffSid, @Param("type") String type);
}

12
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml

@ -72,15 +72,7 @@
from sys_staff_org sso
where sso.staffSid = #{staffSid}
and sso.manageType = #{type}
and find_in_set(#{sid}, replace(sso.orgSidPath, '/', ','))
</select>
<select id="selectByStaffAndType" resultType="int">
select count(*)
from sys_staff_org sso
where sso.staffSid = #{staffSid}
and sso.manageType = #{type}
and not find_in_set(#{sid}, replace(sso.orgSidPath, '/', ','))
and orgSidPath = #{sid}
</select>
<delete id="deleteByStaffSidAndType">
@ -88,6 +80,6 @@
from sys_staff_org
where staffSid = #{staffSid}
and manageType = #{type}
and find_in_set(#{sid}, replace(orgSidPath, '/', ','))
and orgSidPath = #{sid}
</delete>
</mapper>

8
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java

@ -215,6 +215,10 @@ public class SysStaffOrgService extends MybatisBaseService<SysStaffOrgMapper, Sy
return baseMapper.getOrgByStaffSid(sid);
}
public SysStaffOrg getOrgByStaffSidAndPath(String sid,String path) {
return baseMapper.getOrgByStaffSidAndPath(sid,path);
}
public List<SysStaffOrg> getOrgByStaffSidList(String sid) {
return baseMapper.getOrgByStaffSidList(sid);
}
@ -262,10 +266,6 @@ public class SysStaffOrgService extends MybatisBaseService<SysStaffOrgMapper, Sy
return baseMapper.selectByStaffAndOrg(sid,zgStaffSid,type);
}
public int selectByStaffAndType(String sid, String zgStaffSid, String type) {
return baseMapper.selectByStaffAndType(sid,zgStaffSid,type);
}
public int deleteByStaffSidAndType(String orgSid, String zgStaffSid, String type) {
return baseMapper.deleteByStaffSidAndType(orgSid,zgStaffSid,type);
}

2
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.java

@ -39,7 +39,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
//@Update("update sys_user set name=#{msg} where id=#{id}")
//IPage<SysUserVo> voPage(IPage<SysUser> page, @Param(Constants.WRAPPER) QueryWrapper<SysUser> qw);
IPage<SysUserVo> selectPageVo(IPage<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> ew, @Param("orgName") String orgName);
IPage<SysUserVo> selectPageVo(IPage<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> ew, @Param("orgName") String orgName,@Param("userName") String userName);
List<SysUserVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<SysUser> qw);

10
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml

@ -59,6 +59,16 @@
'%'
)
</if>
<if test="userName != null and userName != ''">
and concat(IFNULL(USER.userName
, '')
, ifnull(USER.mobile
, '')
, ifnull(staff.name
, '')) LIKE concat('%'
, #{userName}
, '%')
</if>
</where>
</select>

26
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java

@ -120,10 +120,6 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<SysUser> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getUserName())) {
qw.like("user.userName", query.getUserName());
}
if (StringUtils.isNotBlank(query.getRoleSid())) {
qw.eq("role.sid", query.getRoleSid());
}
@ -134,7 +130,15 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
SysUserQuery query = pq.getParams();
QueryWrapper<SysUser> qw = createQueryWrapper(query);
IPage<SysUser> page = PagerUtil.queryToPage(pq);
IPage<SysUserVo> pagging = baseMapper.selectPageVo(page, qw, query.getOrgName());
String deptName = "";
String userName = "";
if (StringUtils.isNotBlank(query.getOrgName())) {
deptName = query.getOrgName().trim();
}
if (StringUtils.isNotBlank(query.getUserName())) {
userName = query.getUserName().trim();
}
IPage<SysUserVo> pagging = baseMapper.selectPageVo(page, qw, deptName, userName);
List<SysUserVo> records = pagging.getRecords();
for (SysUserVo record : records) {
String departmentSid = record.getDepartmentSid();
@ -274,9 +278,9 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
redisUtil.set(uniqueToken, user.getUserName(),
USERS_REDIS_SESSION_TL_PC);
SysUserVo userInfoOneVo = selectUserOne(user);
if(userInfoOneVo == null){
if (userInfoOneVo == null) {
return userInfoOneVo;
}else{
} else {
userInfoOneVo.setToken(uniqueToken);
return userInfoOneVo;
}
@ -294,7 +298,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
userInfoOneVo.setIsAdmin(user.getIsAdmin());
SysStaffOrg sysStaffOrg = sysStaffOrgService.selectAllByStaffSid(user.getStaffSid()).getData();
if(sysStaffOrg == null){
if (sysStaffOrg == null) {
return null;
}
@ -365,9 +369,9 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
String newToken = "App" + uniqueToken;
redisUtil.set(newToken, user.getUserName(), USERS_REDIS_SESSION_TL_App);
SysUserVo sysUserVo = selectUserOne(user);
if(sysUserVo == null){
if (sysUserVo == null) {
return null;
}else{
} else {
sysUserVo.setToken(newToken);
// 更新用户中的token
updateToken(user.getSid(), newToken);
@ -1021,7 +1025,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
sysUserVoList.removeAll(Collections.singleton(null));
List<SysUserListVo> voList = Optional.ofNullable(sysUserVoList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), SysUserListVo.class)).collect(Collectors.toList());
voList.removeAll(Collections.singleton(null));
if(voList.isEmpty()){
if (voList.isEmpty()) {
return rb.setMsg("下一环节没有用户");
}
return rb.success().setData(voList);

Loading…
Cancel
Save