Explorar o código

删除部门在添加(相同名字)提示该部门已存在问题处理

xuxiaofei %!s(int64=2) %!d(string=hai) anos
pai
achega
cdd4475388

+ 2 - 0
zd-modules/zd-modules-system/src/main/java/com/zd/system/controller/SysDeptController.java

@@ -191,6 +191,8 @@ public class SysDeptController extends BaseController {
     @PostMapping("/addDeptByTeacher")
     public AjaxResult addDeptByTeacher(@Validated @RequestBody SysDeptVO deptVO) {
         for (SysDept sysDept : deptVO.getTeaCherDpetList()){
+            //未删除的数据
+            sysDept.setDelFlag("0");
             if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(sysDept))) {
                 return AjaxResult.error("新增部门'" + sysDept.getDeptName() + "'失败,部门名称已存在");
             }

+ 1 - 1
zd-modules/zd-modules-system/src/main/java/com/zd/system/mapper/SysDeptMapper.java

@@ -108,7 +108,7 @@ public interface SysDeptMapper {
      * @param parentId 父部门ID
      * @return 结果
      */
-    public SysDept checkDeptNameUnique(@Param("deptName") String deptName, @Param("parentId") Long parentId);
+    public SysDept checkDeptNameUnique(@Param("deptName") String deptName, @Param("parentId") Long parentId, @Param("delFlag")String delFlag);
 
     /**
      * 获取部门名称是否唯一

+ 1 - 1
zd-modules/zd-modules-system/src/main/java/com/zd/system/service/impl/SysDeptServiceImpl.java

@@ -195,7 +195,7 @@ public class SysDeptServiceImpl implements ISysDeptService {
     @Override
     public String checkDeptNameUnique(SysDept dept) {
         Long deptId = StringUtils.isNull(dept.getDeptId()) ? -1L : dept.getDeptId();
-        SysDept info = deptMapper.checkDeptNameUnique(dept.getDeptName(), dept.getParentId());
+        SysDept info = deptMapper.checkDeptNameUnique(dept.getDeptName(), dept.getParentId(),dept.getDelFlag());
         if (StringUtils.isNotNull(info) && info.getDeptId().longValue() != deptId.longValue()) {
             return UserConstants.NOT_UNIQUE;
         }

+ 6 - 1
zd-modules/zd-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml

@@ -144,7 +144,12 @@
 
     <select id="checkDeptNameUnique" resultMap="SysDeptResult">
         <include refid="selectDeptVo"/>
-        where dept_name=#{deptName} and parent_id = #{parentId} limit 1
+        where dept_name=#{deptName}
+        and parent_id = #{parentId}
+        <if test="delFlag != null and delFlag != ''">
+            AND del_flag = #{delFlag}
+        </if>
+         limit 1
     </select>
 
     <select id="getDeptNameUnique" resultMap="SysDeptResult">