diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysDeptController.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysDeptController.java index 0b87816..df3f901 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysDeptController.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysDeptController.java @@ -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 list) { + if (!deptService.checkCompaniesNameUnique(list)) { + return error("新增公司失败,其中有些公司名称已存在"); + } + return toAjax(deptService.insertCompanies(list)); + } + + /** * 新增部门 */ diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/mapper/SysDeptMapper.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/mapper/SysDeptMapper.java index 6833da7..e310500 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/mapper/SysDeptMapper.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/mapper/SysDeptMapper.java @@ -68,6 +68,8 @@ public interface SysDeptMapper */ public int checkDeptExistUser(Long deptId); + public int checkCompaniesNameUnique(@Param("depts") List 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 list); + /** * 新增部门信息 * @@ -124,4 +128,6 @@ public interface SysDeptMapper List selectDeptByAncestors(String[] deptIds); String getCompanyByAncestors(String split); + + int getMaxDeptId(); } diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/ISysDeptService.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/ISysDeptService.java index 784e594..f0a8e54 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/ISysDeptService.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/ISysDeptService.java @@ -83,6 +83,7 @@ public interface ISysDeptService */ public boolean checkDeptExistUser(Long deptId); + public boolean checkCompaniesNameUnique(List list); /** * 校验部门名称是否唯一 * @@ -98,6 +99,8 @@ public interface ISysDeptService */ public void checkDeptDataScope(Long deptId); + public int insertCompanies(List list); + /** * 新增保存部门信息 * diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysDeptServiceImpl.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysDeptServiceImpl.java index e45ff56..75ebb4d 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysDeptServiceImpl.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysDeptServiceImpl.java @@ -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 list) { + int count = deptMapper.checkCompaniesNameUnique(list); + return count == 0; + } + /** * 校验部门名称是否唯一 * @@ -185,6 +198,29 @@ public class SysDeptServiceImpl implements ISysDeptService { } } + @Override + public int insertCompanies(List 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); +// } + /** * 新增保存部门信息 * diff --git a/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysDeptMapper.xml b/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysDeptMapper.xml index 262601d..21c037f 100644 --- a/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -21,11 +21,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + 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 @@ -44,6 +45,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND status = #{status} + + AND company_id = #{companyId} + ${params.dataScope} order by d.parent_id, d.order_num @@ -81,11 +85,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + insert into sys_dept( + dept_id,parent_id,dept_name,ancestors,order_num,leader,phone,email,status,create_by,company_id,create_time) + values + + ( + #{item.deptId},#{item.parentId},#{item.deptName},#{item.ancestors},#{item.orderNum},#{item.leader}, + #{item.phone},#{item.email},#{item.status},#{item.createBy},#{item.companyId},sysdate() + ) + + insert into sys_dept( @@ -99,6 +124,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" email, status, create_by, + company_id, create_time )values( #{deptId}, @@ -111,6 +137,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{email}, #{status}, #{createBy}, + #{companyId}, sysdate() ) @@ -165,4 +192,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + \ No newline at end of file