Xiajijian
2026-03-03 7a8fe33d905a74e9cd092d9e9cc3d446c79b9c7e
1. 修改分组无添加父级目录问题。
4 files modified
112 ■■■■■ changed files
ard-inspection/src/main/java/com/ard/inspection/domain/ArdInspectionGroup.java 34 ●●●●● patch | view | raw | blame | history
ard-inspection/src/main/java/com/ard/inspection/mapper/ArdInspectionGroupMapper.java 12 ●●●●● patch | view | raw | blame | history
ard-inspection/src/main/java/com/ard/inspection/service/impl/ArdInspectionGroupServiceImpl.java 16 ●●●●● patch | view | raw | blame | history
ard-inspection/src/main/resources/mapper/ArdInspectionGroupMapper.xml 50 ●●●●● patch | view | raw | blame | history
ard-inspection/src/main/java/com/ard/inspection/domain/ArdInspectionGroup.java
@@ -1,6 +1,9 @@
package com.ard.inspection.domain;
import com.ard.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.ArrayList;
@@ -30,6 +33,9 @@
    /** 显示顺序 */
    private Integer orderNum;
    /** 删除标志(0代表存在 2代表删除) */
    private String delFlag;
    /** 父部门名称 */
    private String parentName;
@@ -95,4 +101,32 @@
        this.children = children;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    public String getDelFlag() {
        return delFlag;
    }
    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("groupId", getGroupId())
            .append("groupParentId", getGroupParentId())
            .append("ancestors", getAncestors())
            .append("groupName", getGroupName())
            .append("orderNum", getOrderNum())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
ard-inspection/src/main/java/com/ard/inspection/mapper/ArdInspectionGroupMapper.java
@@ -69,8 +69,10 @@
     * @param groupParentId 分组父部门ID
     * @return 结果
     */
    public ArdInspectionGroup checkInspectionGroupNameUnique(@Param("groupName") String groupName,
    public ArdInspectionGroup checkInspectionGroupNameUniqueA(@Param("groupName") String groupName,
                                                             @Param("groupParentId") Long groupParentId);
    public ArdInspectionGroup checkInspectionGroupNameUniqueB(@Param("groupName") String groupName);
    /**
     * 根据ID查询所有子分组
@@ -103,4 +105,12 @@
     * @return 结果 true 存在 false 不存在
     */
    public int checkInspectionGroupExistUser(Long groupId);
    /**
     * 查询groupId最大值
     *
     * @return 结果 true 存在 false 不存在
     */
    public int selectMaxGroupId();
}
ard-inspection/src/main/java/com/ard/inspection/service/impl/ArdInspectionGroupServiceImpl.java
@@ -61,9 +61,16 @@
     */
    @Override
    public int insertArdInspectionGroup(ArdInspectionGroup ardInspectionGroup) {
        ArdInspectionGroup inspectionGroup = ardInspectionGroupMapper.selectArdInspectionGroupByGroupId(ardInspectionGroup.getGroupParentId());
        ardInspectionGroup.setAncestors(inspectionGroup.getAncestors() + "," + ardInspectionGroup.getGroupParentId());
        if (ardInspectionGroup.getGroupId() == null){
            ardInspectionGroup.setGroupId((long) (ardInspectionGroupMapper.selectMaxGroupId() + 100));
            ardInspectionGroup.setGroupParentId(0L);
            ardInspectionGroup.setAncestors("0");
        }else {
            ArdInspectionGroup inspectionGroup = ardInspectionGroupMapper.selectArdInspectionGroupByGroupId(ardInspectionGroup.getGroupParentId());
            ardInspectionGroup.setAncestors(inspectionGroup.getAncestors() + "," + ardInspectionGroup.getGroupParentId());
        }
        ardInspectionGroup.setCreateTime(DateUtils.getNowDate());
        ardInspectionGroup.setDelFlag("0");
        return ardInspectionGroupMapper.insertArdInspectionGroup(ardInspectionGroup);
    }
@@ -124,8 +131,9 @@
    @Override
    public boolean checkInspectionGroupNameUnique(ArdInspectionGroup ardInspectionGroup) {
        Long groupId = StringUtils.isNull(ardInspectionGroup.getGroupId()) ? -1L : ardInspectionGroup.getGroupId();
        ArdInspectionGroup info = ardInspectionGroupMapper.checkInspectionGroupNameUnique(ardInspectionGroup.getGroupName(),ardInspectionGroup.getGroupParentId());
        if (StringUtils.isNotNull(info) && info.getGroupId().longValue() != groupId.longValue())
        ArdInspectionGroup infoA = ardInspectionGroupMapper.checkInspectionGroupNameUniqueA(ardInspectionGroup.getGroupName(),ardInspectionGroup.getGroupParentId());
        ArdInspectionGroup infoB = ardInspectionGroupMapper.checkInspectionGroupNameUniqueB(ardInspectionGroup.getGroupName());
        if (StringUtils.isNotNull(infoB) && infoB.getGroupId().longValue() != groupId.longValue())
        {
            return UserConstants.NOT_UNIQUE;
        }
ard-inspection/src/main/resources/mapper/ArdInspectionGroupMapper.xml
@@ -5,16 +5,17 @@
<mapper namespace="com.ard.inspection.mapper.ArdInspectionGroupMapper">
    
    <resultMap type="ArdInspectionGroup" id="ArdInspectionGroupResult">
        <result property="groupId"    column="group_id"    />
        <result property="groupId"          column="group_id"           />
        <result property="groupParentId"    column="group_parent_id"    />
        <result property="ancestors"    column="ancestors"    />
        <result property="groupName"    column="group_name"    />
        <result property="orderNum"    column="order_num"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
        <result property="parentName" column="parent_name" />
        <result property="ancestors"        column="ancestors"          />
        <result property="groupName"        column="group_name"         />
        <result property="orderNum"         column="order_num"          />
        <result property="createBy"         column="create_by"          />
        <result property="createTime"       column="create_time"        />
        <result property="updateBy"         column="update_by"          />
        <result property="updateTime"       column="update_time"        />
        <result property="delFlag"          column="del_flag"           />
        <result property="parentName"       column="parent_name"        />
    </resultMap>
    <sql id="selectArdInspectionGroupVo">
@@ -26,13 +27,15 @@
               create_by,
               create_time,
               update_by,
               update_time
               update_time,
               del_flag
        from ard_inspection_group
    </sql>
    <select id="selectArdInspectionGroupList" parameterType="ArdInspectionGroup" resultMap="ArdInspectionGroupResult">
        <include refid="selectArdInspectionGroupVo"/>
        <where>
            del_flag = '0'
            <if test="groupId != null ">
                and group_id = #{groupId}
            </if>
@@ -107,21 +110,26 @@
        where group_id = #{groupId}
    </update>
    <delete id="deleteArdInspectionGroupByGroupId" parameterType="Long">
        delete from ard_inspection_group where group_id = #{groupId}
    </delete>
    <update id="deleteArdInspectionGroupByGroupId" parameterType="Long">
        update ard_inspection_group set del_flag = '2' where group_id = #{groupId}
    </update>
    <delete id="deleteArdInspectionGroupByGroupIds" parameterType="String">
        delete from ard_inspection_group where group_id in
    <update id="deleteArdInspectionGroupByGroupIds" parameterType="String">
        update ard_inspection_group set del_flag = '2' where group_id in
        <foreach item="groupId" collection="array" open="(" separator="," close=")">
            #{groupId}
        </foreach>
    </delete>
    </update>
    <select id="checkInspectionGroupNameUnique" resultMap="ArdInspectionGroupResult">
    <select id="checkInspectionGroupNameUniqueA" resultMap="ArdInspectionGroupResult">
        <include refid="selectArdInspectionGroupVo"/>
        where group_name=#{groupName}
        and group_parent_id = #{groupParentId} limit 1
    </select>
    <select id="checkInspectionGroupNameUniqueB" resultMap="ArdInspectionGroupResult">
        <include refid="selectArdInspectionGroupVo"/>
        where group_name=#{groupName} limit 1
    </select>
    <select id="selectChildrenInspectionGroupById" parameterType="Long" resultMap="ArdInspectionGroupResult">
@@ -143,11 +151,17 @@
    <select id="hasChildByInspectionGroupId" parameterType="Long" resultType="int">
        select count(1) from ard_inspection_group
        where group_parent_id = #{groupId} limit 1
        where del_flag = '0' and group_parent_id = #{groupId} limit 1
    </select>
    <select id="checkInspectionGroupExistUser" parameterType="Long" resultType="int">
        select count(1) from sys_user where group_id = #{groupId} and del_flag = '0'
    </select>
    <select id="selectMaxGroupId" resultType="int">
        SELECT group_id FROM ard_inspection_group
        WHERE group_parent_id = 0 AND ancestors = 0
        ORDER BY group_id DESC LIMIT 1
    </select>
</mapper>