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>