Browse Source

主管分管更新以及修复员工的更新出现错误的情况

master
dimengzhe 3 years ago
parent
commit
833a2f211f
  1. 37
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java
  2. 67
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java
  3. 2
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml
  4. 35
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java
  5. 16
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java
  6. 33
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml
  7. 27
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java

37
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java

@ -13,6 +13,7 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -94,20 +95,40 @@ public class SysOrganizationRest implements SysOrganizationFeign {
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public ResultBean update(SysOrganizationDto dto, String sid) { public ResultBean update(SysOrganizationDto dto, String sid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
SysOrganization entity = new SysOrganization(); //根据组织sid查询组织信息
dto.fillEntity(entity); SysOrganization sysOrganization = sysOrganizationService.fetchBySid(sid);
entity.setSid(sid); if (sysOrganization == null) {
return rb.setMsg("该组织机构不存在");
}
BeanUtil.copyProperties(dto, sysOrganization, "sid");
//主管人员的sid
String zgStaffSid = dto.getZgStaffSid(); String zgStaffSid = dto.getZgStaffSid();
//分管人员的sid
String fgStaffSid = dto.getFgStaffSid(); String fgStaffSid = dto.getFgStaffSid();
//查询分管人员中是否包含主管人员
if (StringUtils.isNotBlank(fgStaffSid)) {
if (StringUtils.isNotBlank(zgStaffSid)) {
if (fgStaffSid.contains(zgStaffSid)) {
return rb.setMsg("同一个组织机构中主管分管的人员不能重复");
}
}
}
//删除关联关系中的所有主管与分管的人员关系
sysStaffOrgService.delZGAndFGByOrgSid(sid); sysStaffOrgService.delZGAndFGByOrgSid(sid);
// sysStaffOrgService.delByOrgSid(sid);//?为啥要删掉???暂时注释 if (StringUtils.isNotBlank(zgStaffSid)) {
if (org.apache.commons.lang3.StringUtils.isNotBlank(zgStaffSid)) { ResultBean resultBean = sysOrganizationService.addSysStaffOrg(zgStaffSid, "1", sysOrganization);
sysOrganizationService.addSysStaffOrg(zgStaffSid, "1", entity); if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
} }
if (org.apache.commons.lang3.StringUtils.isNotBlank(fgStaffSid)) { if (StringUtils.isNotBlank(fgStaffSid)) {
sysOrganizationService.addSysStaffOrg(fgStaffSid, "2", entity); ResultBean resultBean = sysOrganizationService.addSysStaffOrg(fgStaffSid, "2", sysOrganization);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
} }
sysOrganizationService.updateBySid(dto.toMap(), sid); sysOrganizationService.updateBySid(dto.toMap(), sid);
return rb.success(); return rb.success();

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

@ -8,8 +8,10 @@ import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrandFeign;
import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrandSelectQuery; import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrandSelectQuery;
import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrandSelectVo; import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrandSelectVo;
import com.yxt.anrui.portal.api.sysorganization.*; import com.yxt.anrui.portal.api.sysorganization.*;
import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.biz.sysstaffinfo.SysStaffinfoService;
import com.yxt.anrui.portal.biz.sysstafforg.SysStaffOrgService; import com.yxt.anrui.portal.biz.sysstafforg.SysStaffOrgService;
import com.yxt.anrui.portal.biz.sysuser.SysUserService; import com.yxt.anrui.portal.biz.sysuser.SysUserService;
import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.config.component.FileUploadComponent;
@ -21,6 +23,7 @@ import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
@ -47,6 +50,8 @@ public class SysOrganizationService extends MybatisBaseService<SysOrganizationMa
private FileUploadComponent fileUploadComponent; private FileUploadComponent fileUploadComponent;
@Autowired @Autowired
private BaseVehicleBrandFeign baseVehicleBrandFeign; private BaseVehicleBrandFeign baseVehicleBrandFeign;
@Autowired
private SysStaffinfoService sysStaffInfoService;
public PagerVo<SysOrganization> listPage(PagerQuery<SysOrganizationQuery> pq) { public PagerVo<SysOrganization> listPage(PagerQuery<SysOrganizationQuery> pq) {
SysOrganizationQuery query = pq.getParams(); SysOrganizationQuery query = pq.getParams();
@ -148,36 +153,48 @@ public class SysOrganizationService extends MybatisBaseService<SysOrganizationMa
return baseMapper.selectChildrenListByPsid(sid); return baseMapper.selectChildrenListByPsid(sid);
} }
/* private void getChildrens(SysOrganizationVo s) { @Transactional(rollbackFor = Exception.class)
String sid = s.getSid(); public ResultBean addSysStaffOrg(String sids, String manageType, SysOrganization entity) {
QueryWrapper<SysOrganization> qw = new QueryWrapper<>(); ResultBean rb = ResultBean.fireFail();
if (StringUtils.isNotBlank(sid)) {
qw.eq("psid", sid);
}
qw.orderByAsc("sort");
List<SysOrganizationVo> sysOrganizationVos = baseMapper.selectListAllVo(qw);
if (!sysOrganizationVos.isEmpty()) {
for (SysOrganizationVo sfv : sysOrganizationVos) {
getChildrens(sfv);
}
}
s.setChildren(sysOrganizationVos);
}*/
public void addSysStaffOrg(String sids, String manageType, SysOrganization entity) {
String[] sidArr = sids.split(","); String[] sidArr = sids.split(",");
String name = "";
for (String sid : sidArr) { 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 + ",请勿重复操作");
}
}
//添加员工与组织的关联关系
SysStaffOrg sysStaffOrg = new SysStaffOrg(); SysStaffOrg sysStaffOrg = new SysStaffOrg();
sysStaffOrg.setManageType(manageType); sysStaffOrg.setManageType(manageType);
sysStaffOrg.setOrgSid(entity.getSid()); sysStaffOrg.setOrgSid(entity.getSid());
sysStaffOrg.setOrgName(entity.getName()); sysStaffOrg.setOrgName(entity.getName());
sysStaffOrg.setStaffSid(sid); sysStaffOrg.setStaffSid(sid);
String orgSidPath = entity.getOrgSidPath();
// entity = fetchBySid(entity.getSid());
String orgSidPath = entity.getOrgSidPath();// sysOrganization.getOrgSidPath();
if (StringUtils.isNotBlank(orgSidPath)) { if (StringUtils.isNotBlank(orgSidPath)) {
sysStaffOrg.setOrgSidPath(orgSidPath + "/" + entity.getSid()); sysStaffOrg.setOrgSidPath(orgSidPath);
} else { } else {
sysStaffOrg.setOrgSidPath(entity.getSid()); sysStaffOrg.setOrgSidPath(entity.getSid());
} }
@ -192,6 +209,7 @@ public class SysOrganizationService extends MybatisBaseService<SysOrganizationMa
} }
sysStaffOrgService.save(sysStaffOrg); sysStaffOrgService.save(sysStaffOrg);
} }
return rb.success();
} }
public void saveOrUpdateDto(SysOrganizationDto dto) { public void saveOrUpdateDto(SysOrganizationDto dto) {
@ -421,13 +439,14 @@ public class SysOrganizationService extends MybatisBaseService<SysOrganizationMa
public String getOrgSid(String sid) { public String getOrgSid(String sid) {
SysOrganization sysOrganization = fetchBySid(sid); SysOrganization sysOrganization = fetchBySid(sid);
String orgSid = ""; String orgSid = "";
if ("0".equals(sysOrganization.getPsid())) { if ("0".equals(sysOrganization.getPsid())) {//总公司
orgSid = sysOrganization.getSid(); orgSid = sysOrganization.getSid();
return orgSid; return orgSid;
} }
if ("1".equals(sysOrganization.getIsDept())) { if (sysOrganization.getIsDept() == 0) {//是独立法人的
return sysOrganization.getSid(); return sysOrganization.getSid();
} }
sid = sysOrganization.getPsid();
return getOrgSid(sid); return getOrgSid(sid);
} }
} }

2
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml

@ -91,7 +91,7 @@
</select> </select>
<!--员工管理分页列表--> <!--员工管理分页列表-->
<select id="pagerList" resultType="com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoVo"> <select id="pagerList" resultType="com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoVo">
select si.sid, select DISTINCT si.sid,
<!--员工编号--> <!--员工编号-->
si.jobNumber, si.jobNumber,
<!--员工姓名--> <!--员工姓名-->

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

@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.portal.api.sysorganization.AppContactSysOrganizationVo; import com.yxt.anrui.portal.api.sysorganization.AppContactSysOrganizationVo;
import com.yxt.anrui.portal.api.sysorganization.SysOrganization; import com.yxt.anrui.portal.api.sysorganization.SysOrganization;
import com.yxt.anrui.portal.api.sysrole.SysRole;
import com.yxt.anrui.portal.api.sysrole.SysRoleVo; import com.yxt.anrui.portal.api.sysrole.SysRoleVo;
import com.yxt.anrui.portal.api.sysstaffinfo.*; import com.yxt.anrui.portal.api.sysstaffinfo.*;
import com.yxt.anrui.portal.api.sysstaffinfo.app.AppSysStaffQuery; import com.yxt.anrui.portal.api.sysstaffinfo.app.AppSysStaffQuery;
@ -39,7 +38,6 @@ import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* Project: anrui_portal(门户建设) <br/> * Project: anrui_portal(门户建设) <br/>
@ -499,9 +497,16 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper,
//更新用户信息 //更新用户信息
sysUserService.updateByStaffSid(dto.getJobNumber(), sysStaffinfo.getMobile(), sid); sysUserService.updateByStaffSid(dto.getJobNumber(), sysStaffinfo.getMobile(), sid);
//更新员工的关联的部门信息 //更新员工的关联的部门信息
SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSid(sid);
SysStaffOrgDto sysStaffOrgDto = dto.getSysStaffOrg(); SysStaffOrgDto sysStaffOrgDto = dto.getSysStaffOrg();
sysStaffOrgService.updateBySid(sysStaffOrgDto, sysStaffOrg.getSid()); String orgSid = sysOrganizationService.getOrgSid(sysStaffOrgDto.getOrgSid());
int count = sysStaffOrgService.selectByStaffAndOrg(orgSid, sid, "2");
if (count > 0) {
return rb.setMsg("该组织机构下已存在该员工");
}
SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSid(sid);
BeanUtil.copyProperties(sysStaffOrgDto,sysStaffOrg);
sysStaffOrg.setManageType("3");
sysStaffOrgService.updateById(sysStaffOrg);
//更新员工的关联的岗位信息 //更新员工的关联的岗位信息
SysStaffPostDetailsVo staffPostDetailsVo = sysStaffPostService.getPostByStaffSid(sid); SysStaffPostDetailsVo staffPostDetailsVo = sysStaffPostService.getPostByStaffSid(sid);
SysStaffPost sysStaffPost = sysStaffPostService.selectByStaffSid(sid, staffPostDetailsVo.getPostSid()); SysStaffPost sysStaffPost = sysStaffPostService.selectByStaffSid(sid, staffPostDetailsVo.getPostSid());
@ -524,13 +529,29 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper,
String path = fileUploadComponent.getUrlPrefix(); String path = fileUploadComponent.getUrlPrefix();
SysStaffinfoDetailsVo sysStaffinfoDetailsVo = baseMapper.selectDetailsBySid(sid, path); SysStaffinfoDetailsVo sysStaffinfoDetailsVo = baseMapper.selectDetailsBySid(sid, path);
if (sysStaffinfoDetailsVo != null) { if (sysStaffinfoDetailsVo != null) {
SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSid(sid); List<SysStaffOrg> sysStaffOrgList = sysStaffOrgService.getOrgByStaffSidList(sid);
//更新员工的关联的岗位信息 String orgSid = "";
String type = "";
for (SysStaffOrg s : sysStaffOrgList) {
if ("3".equals(s.getManageType())) {
orgSid = s.getOrgSid();
type = s.getManageType();
break;
} else if ("1".equals(s.getManageType())) {
orgSid = s.getOrgSid();
type = s.getManageType();
break;
} else {
orgSid = s.getOrgSid();
type = s.getManageType();
}
}
SysStaffPostDetailsVo staffPostDetailsVo = sysStaffPostService.getPostByStaffSid(sid); SysStaffPostDetailsVo staffPostDetailsVo = sysStaffPostService.getPostByStaffSid(sid);
SysStaffOrgDetailsVo sysStaffOrgDetailsVo = sysStaffOrgService.selectByStaff(sid, sysStaffOrg.getOrgSid()); SysStaffOrgDetailsVo sysStaffOrgDetailsVo = sysStaffOrgService.selectByStaffByType(sid, orgSid, type);
SysStaffPostDetailsVo sysStaffPostDetailsVo = sysStaffPostService.selectByStaff(sid, staffPostDetailsVo.getPostSid()); SysStaffPostDetailsVo sysStaffPostDetailsVo = sysStaffPostService.selectByStaff(sid, staffPostDetailsVo.getPostSid());
sysStaffinfoDetailsVo.setSysStaffOrg(sysStaffOrgDetailsVo); sysStaffinfoDetailsVo.setSysStaffOrg(sysStaffOrgDetailsVo);
sysStaffinfoDetailsVo.setSysStaffPost(sysStaffPostDetailsVo); sysStaffinfoDetailsVo.setSysStaffPost(sysStaffPostDetailsVo);
} }
return sysStaffinfoDetailsVo; return sysStaffinfoDetailsVo;
} }

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

@ -2,17 +2,16 @@ package com.yxt.anrui.portal.biz.sysstafforg;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgDetailsVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgDetailsVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import java.util.List; import java.util.List;
@ -70,6 +69,7 @@ public interface SysStaffOrgMapper extends BaseMapper<SysStaffOrg> {
* @return * @return
*/ */
SysStaffOrgDetailsVo selectByStaff(@Param("sid") String sid, @Param("orgSid") String orgSid); SysStaffOrgDetailsVo selectByStaff(@Param("sid") String sid, @Param("orgSid") String orgSid);
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}") @Select("SELECT GROUP_CONCAT(DISTINCT(orgSid)) FROM sys_staff_org WHERE staffSid=#{staffSid}")
String getSysStaffOrgSidListByStaffSid(@Param("staffSid") String staffSid); String getSysStaffOrgSidListByStaffSid(@Param("staffSid") String staffSid);
@ -82,6 +82,14 @@ public interface SysStaffOrgMapper extends BaseMapper<SysStaffOrg> {
@Select("select * from sys_staff_org where staffSid=#{sid}") @Select("select * from sys_staff_org where staffSid=#{sid}")
SysStaffOrg getOrgByStaffSid(String sid); SysStaffOrg getOrgByStaffSid(String sid);
@Select("select * from sys_staff_org where staffSid=#{sid}")
List<SysStaffOrg> getOrgByStaffSidList(String sid);
@Delete("delete from sys_staff_org where orgSid=#{sid} and (manageType = 1 or manageType = 2)") @Delete("delete from sys_staff_org where orgSid=#{sid} and (manageType = 1 or manageType = 2)")
void delZGAndFGByOrgSid(String sid); 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);
} }

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

@ -43,6 +43,15 @@
and sso.orgSid = #{orgSid} and sso.orgSid = #{orgSid}
</select> </select>
<select id="selectByStaffByType" resultType="com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgDetailsVo">
select sso.orgSid, sso.orgName, sso.orgNamePath, sso.manageType, so.orgCode, sso.orgSidPath
from sys_staff_org sso
left join sys_organization so on sso.orgSid = so.sid
where sso.staffSid = #{sid}
and sso.orgSid = #{orgSid}
and sso.manageType = #{type}
</select>
<!-- <select id="selectBySidPathByStaffSid" resultType="java.lang.String"> <!-- <select id="selectBySidPathByStaffSid" resultType="java.lang.String">
select orgSidPath select orgSidPath
from anrui_portal.sys_staff_org from anrui_portal.sys_staff_org
@ -57,4 +66,28 @@
order by id desc order by id desc
limit 1 limit 1
</select> </select>
<select id="selectByStaffAndOrg" resultType="int">
select count(*)
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, '/', ','))
</select>
<delete id="deleteByStaffSidAndType">
delete
from sys_staff_org
where staffSid = #{staffSid}
and manageType = #{type}
and find_in_set(#{sid}, replace(orgSidPath, '/', ','))
</delete>
</mapper> </mapper>

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

@ -156,6 +156,10 @@ public class SysStaffOrgService extends MybatisBaseService<SysStaffOrgMapper, Sy
return baseMapper.selectByStaff(sid, orgSid); return baseMapper.selectByStaff(sid, orgSid);
} }
public SysStaffOrgDetailsVo selectByStaffByType(String sid, String orgSid,String type) {
return baseMapper.selectByStaffByType(sid, orgSid,type);
}
public List<SysStaffOrgVo> getSysStaffOrgListByStaffSid(String staffSid) { public List<SysStaffOrgVo> getSysStaffOrgListByStaffSid(String staffSid) {
return baseMapper.getSysStaffOrgListByStaffSid(staffSid); return baseMapper.getSysStaffOrgListByStaffSid(staffSid);
} }
@ -211,6 +215,10 @@ public class SysStaffOrgService extends MybatisBaseService<SysStaffOrgMapper, Sy
return baseMapper.getOrgByStaffSid(sid); return baseMapper.getOrgByStaffSid(sid);
} }
public List<SysStaffOrg> getOrgByStaffSidList(String sid) {
return baseMapper.getOrgByStaffSidList(sid);
}
/** /**
* 根据用户sid获取分公司sid * 根据用户sid获取分公司sid
* *
@ -242,4 +250,23 @@ public class SysStaffOrgService extends MybatisBaseService<SysStaffOrgMapper, Sy
public void delZGAndFGByOrgSid(String sid) { public void delZGAndFGByOrgSid(String sid) {
baseMapper.delZGAndFGByOrgSid(sid); baseMapper.delZGAndFGByOrgSid(sid);
} }
/**
* 查询该组织中是否存在该人员的该种类型关系
* @param sid 组织机构sid
* @param zgStaffSid 人员sid
* @param type 主管分管员工
* @return
*/
public int selectByStaffAndOrg(String sid, String zgStaffSid, String type) {
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);
}
} }
Loading…
Cancel
Save