sysdept
This commit is contained in:
parent
c1b1f3d673
commit
2aaa299d28
|
|
@ -78,6 +78,20 @@ public class SysDeptController extends BaseController {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增公司
|
||||
*/
|
||||
//@RequiresPermissions("system:dept:add")
|
||||
@Log(title = "公司管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping(value = "/addCompany")
|
||||
public AjaxResult addCompany(@RequestBody List<SysDept> list) {
|
||||
if (!deptService.checkCompaniesNameUnique(list)) {
|
||||
return error("新增公司失败,其中有些公司名称已存在");
|
||||
}
|
||||
return toAjax(deptService.insertCompanies(list));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增部门
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -68,6 +68,8 @@ public interface SysDeptMapper
|
|||
*/
|
||||
public int checkDeptExistUser(Long deptId);
|
||||
|
||||
public int checkCompaniesNameUnique(@Param("depts") List<SysDept> list);
|
||||
|
||||
/**
|
||||
* 校验部门名称是否唯一
|
||||
*
|
||||
|
|
@ -77,6 +79,8 @@ public interface SysDeptMapper
|
|||
*/
|
||||
public SysDept checkDeptNameUnique(@Param("deptName") String deptName, @Param("parentId") Long parentId);
|
||||
|
||||
public int insertCompanies(@Param("depts") List<SysDept> list);
|
||||
|
||||
/**
|
||||
* 新增部门信息
|
||||
*
|
||||
|
|
@ -124,4 +128,6 @@ public interface SysDeptMapper
|
|||
List<SysDept> selectDeptByAncestors(String[] deptIds);
|
||||
|
||||
String getCompanyByAncestors(String split);
|
||||
|
||||
int getMaxDeptId();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@ public interface ISysDeptService
|
|||
*/
|
||||
public boolean checkDeptExistUser(Long deptId);
|
||||
|
||||
public boolean checkCompaniesNameUnique(List<SysDept> list);
|
||||
/**
|
||||
* 校验部门名称是否唯一
|
||||
*
|
||||
|
|
@ -98,6 +99,8 @@ public interface ISysDeptService
|
|||
*/
|
||||
public void checkDeptDataScope(Long deptId);
|
||||
|
||||
public int insertCompanies(List<SysDept> list);
|
||||
|
||||
/**
|
||||
* 新增保存部门信息
|
||||
*
|
||||
|
|
|
|||
|
|
@ -10,16 +10,20 @@ import com.bonus.sgzb.common.security.utils.SecurityUtils;
|
|||
import com.bonus.sgzb.system.api.domain.SysDept;
|
||||
import com.bonus.sgzb.system.api.domain.SysRole;
|
||||
import com.bonus.sgzb.system.api.domain.SysUser;
|
||||
import com.bonus.sgzb.system.api.model.LoginUser;
|
||||
import com.bonus.sgzb.system.domain.vo.TreeSelect;
|
||||
import com.bonus.sgzb.system.mapper.SysDeptMapper;
|
||||
import com.bonus.sgzb.system.mapper.SysRoleMapper;
|
||||
import com.bonus.sgzb.system.mapper.SysUserMapper;
|
||||
import com.bonus.sgzb.system.service.ISysDeptService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -29,12 +33,15 @@ import java.util.stream.Collectors;
|
|||
*/
|
||||
@Service
|
||||
public class SysDeptServiceImpl implements ISysDeptService {
|
||||
@Autowired
|
||||
@Resource
|
||||
private SysDeptMapper deptMapper;
|
||||
|
||||
@Autowired
|
||||
@Resource
|
||||
private SysRoleMapper roleMapper;
|
||||
|
||||
@Resource
|
||||
private SysUserMapper userMapper;
|
||||
|
||||
/**
|
||||
* 查询部门管理数据
|
||||
*
|
||||
|
|
@ -152,6 +159,12 @@ public class SysDeptServiceImpl implements ISysDeptService {
|
|||
return result > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkCompaniesNameUnique(List<SysDept> list) {
|
||||
int count = deptMapper.checkCompaniesNameUnique(list);
|
||||
return count == 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验部门名称是否唯一
|
||||
*
|
||||
|
|
@ -185,6 +198,29 @@ public class SysDeptServiceImpl implements ISysDeptService {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertCompanies(List<SysDept> list) {
|
||||
long num = deptMapper.getMaxDeptId()+1;
|
||||
for (SysDept dept : list) {
|
||||
dept.setCreateBy(SecurityUtils.getUsername());
|
||||
dept.setParentId(0L);
|
||||
dept.setAncestors("0");
|
||||
dept.setOrderNum(999);
|
||||
dept.setStatus("0");
|
||||
long nextMultiple = (int) Math.ceil((double) num / 100) * 100;
|
||||
num = nextMultiple + 1;
|
||||
dept.setDeptId(nextMultiple);
|
||||
dept.setCompanyId(nextMultiple);
|
||||
}
|
||||
return deptMapper.insertCompanies(list);
|
||||
}
|
||||
|
||||
// public static void main(String[] args) {
|
||||
// int num = 1200;
|
||||
// long nextMultiple = (int) Math.ceil((double) num / 100) * 100;
|
||||
// System.out.print(num);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 新增保存部门信息
|
||||
*
|
||||
|
|
|
|||
|
|
@ -21,11 +21,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="companyId" column="company_id" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectDeptVo">
|
||||
select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time,
|
||||
d.remark
|
||||
d.remark,d.company_id
|
||||
from sys_dept d
|
||||
</sql>
|
||||
|
||||
|
|
@ -44,6 +45,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="status != null and status != ''">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
<if test="companyId != null and companyId != ''">
|
||||
AND company_id = #{companyId}
|
||||
</if>
|
||||
<!-- 数据范围过滤 -->
|
||||
${params.dataScope}
|
||||
order by d.parent_id, d.order_num
|
||||
|
|
@ -81,11 +85,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<select id="selectNormalChildrenDeptById" parameterType="Long" resultType="int">
|
||||
select count(*) from sys_dept where status = 0 and del_flag = '0' and find_in_set(#{deptId}, ancestors)
|
||||
</select>
|
||||
|
||||
<select id="checkCompaniesNameUnique" resultType="java.lang.Integer">
|
||||
select count(*)
|
||||
from sys_dept
|
||||
where dept_name in
|
||||
<foreach collection="depts" item="item" index="index" separator="," open="(" close=")">
|
||||
#{item.deptName}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="checkDeptNameUnique" resultMap="SysDeptResult">
|
||||
<include refid="selectDeptVo"/>
|
||||
where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1
|
||||
</select>
|
||||
|
||||
<insert id="insertCompanies" parameterType="com.bonus.sgzb.system.api.domain.SysDept">
|
||||
insert into sys_dept(
|
||||
dept_id,parent_id,dept_name,ancestors,order_num,leader,phone,email,status,create_by,company_id,create_time)
|
||||
values
|
||||
<foreach item="item" index="index" collection="depts" separator=",">
|
||||
(
|
||||
#{item.deptId},#{item.parentId},#{item.deptName},#{item.ancestors},#{item.orderNum},#{item.leader},
|
||||
#{item.phone},#{item.email},#{item.status},#{item.createBy},#{item.companyId},sysdate()
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="insertDept" parameterType="com.bonus.sgzb.system.api.domain.SysDept">
|
||||
insert into sys_dept(
|
||||
|
|
@ -99,6 +124,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="email != null and email != ''">email,</if>
|
||||
<if test="status != null">status,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
<if test="companyId != null and companyId != ''">company_id,</if>
|
||||
create_time
|
||||
)values(
|
||||
<if test="deptId != null and deptId != 0">#{deptId},</if>
|
||||
|
|
@ -111,6 +137,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="email != null and email != ''">#{email},</if>
|
||||
<if test="status != null">#{status},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
<if test="companyId != null and companyId != ''">#{companyId},</if>
|
||||
sysdate()
|
||||
)
|
||||
</insert>
|
||||
|
|
@ -165,4 +192,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<select id="getCompanyByAncestors" resultType="java.lang.String">
|
||||
select dept_name from sys_dept where parent_id = #{split}
|
||||
</select>
|
||||
|
||||
<select id="getMaxDeptId" resultType="java.lang.Integer">
|
||||
select max(dept_id)
|
||||
from sys_dept
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue