Browse Source

质检-规范管理-条件设置、关联元素设定组的概念,查询和和删除都按组处理

LHB 2 months ago
parent
commit
0aca303076

+ 5 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/StandardInfoJoinDTO.java

@@ -23,6 +23,11 @@ public class StandardInfoJoinDTO {
     @ApiModelProperty(value = "主关联id", required = true)
     @NotNull(message = "主关联id不能为空")
     private Long leftId;
+    /**
+     * 组Id
+     */
+    @ApiModelProperty(value = "组Id", required = true)
+    private Long groupId;
 
     /**
      * 副连接id

+ 4 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/StandardInfoJoin.java

@@ -19,6 +19,10 @@ public class StandardInfoJoin {
     @TableId
     private Long id;
 
+    /**
+     * 组Id
+     */
+    private Long groupId;
     /**
      * 规范基础信息关联主id
      */

+ 5 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/StandardInfoPrivateJoin.java

@@ -29,6 +29,11 @@ public class StandardInfoPrivateJoin {
     @ApiModelProperty(value = "主键", required = true)
     private Long id;
 
+    /**
+     * 组id
+     */
+    @ApiModelProperty(value = "组id", hidden = false)
+    private Long groupId;
     /**
      * 规范基础信息关联主id
      */

+ 2 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/StandardInfoPrivateJoinVO.java

@@ -16,6 +16,8 @@ import java.util.List;
 @Data
 @ApiModel(description = "关联元素对象-视图")
 public class StandardInfoPrivateJoinVO extends StandardInfo {
+    @ApiModelProperty(value = "组id")
+    private Long groupId;
     /**
      * 项目组集合
      */

+ 5 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/StandardInfoVO.java

@@ -15,6 +15,11 @@ import java.util.List;
 @Data
 @ApiModel(description = "条件设置对象")
 public class StandardInfoVO extends StandardInfo {
+    /**
+     * 分组id
+     */
+    @ApiModelProperty(value = "分组id")
+    private Long groupId;
     /**
      * 副连接对象
      */

+ 14 - 12
blade-service/blade-business/src/main/java/org/springblade/business/controller/StandardInfoController.java

@@ -143,10 +143,10 @@ public class StandardInfoController {
      * @return 删除结果
      */
     @ApiOperation(value = "删除条件设置")
-    @ApiImplicitParam(name = "leftId", value = "主关联id", required = true)
+    @ApiImplicitParam(name = "groupId", value = "组id", required = true)
     @GetMapping("deleteConditionSet")
-    public R<Boolean> deleteConditionSet(Long leftId) {
-        Boolean b = this.uStandardInfoService.deleteConditionSet(leftId);
+    public R<Boolean> deleteConditionSet(Long groupId) {
+        Boolean b = this.uStandardInfoService.deleteConditionSet(groupId);
         return R.data(b);
     }
 
@@ -157,10 +157,10 @@ public class StandardInfoController {
      * @return 删除结果
      */
     @ApiOperation(value = "删除关联元素")
-    @ApiImplicitParam(name = "leftId", value = "主关联id", required = true)
+    @ApiImplicitParam(name = "groupId", value = "组id", required = true)
     @GetMapping("deleteElementJoin")
-    public R<Boolean> deleteElementJoin(Long leftId) {
-        Boolean b = this.uStandardInfoService.deleteElementJoin(leftId);
+    public R<Boolean> deleteElementJoin(Long groupId) {
+        Boolean b = this.uStandardInfoService.deleteElementJoin(groupId);
         return R.data(b);
     }
 
@@ -175,12 +175,13 @@ public class StandardInfoController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "id", value = "规范文件id", required = true),
             @ApiImplicitParam(name = "leftId", value = "条件设置组id"),
-            @ApiImplicitParam(name = "groupId", value = "文件信息组id", required = true)
+            @ApiImplicitParam(name = "groupId", value = "文件信息组id", required = true),
+            @ApiImplicitParam(name = "joinGroupId", value = "条件设置组id")
 
     })
     @GetMapping("getConditionSet")
-    public R<List<StandardInfoVO>> getConditionSet(Long id, Long leftId, Long groupId) {
-        List<StandardInfoVO> list = this.uStandardInfoService.getConditionSet(id, leftId, groupId);
+    public R<List<StandardInfoVO>> getConditionSet(Long id, Long leftId, Long groupId, Long joinGroupId) {
+        List<StandardInfoVO> list = this.uStandardInfoService.getConditionSet(id, leftId, groupId, joinGroupId);
         return R.data(list);
     }
 
@@ -195,12 +196,13 @@ public class StandardInfoController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "id", value = "规范文件id", required = true),
             @ApiImplicitParam(name = "leftId", value = "文件信息Id"),
-            @ApiImplicitParam(name = "groupId", value = "文件信息组id", required = true)
+            @ApiImplicitParam(name = "groupId", value = "文件信息组id", required = true),
+            @ApiImplicitParam(name = "joinGroupId", value = "条件设置组id")
 
     })
     @GetMapping("getElementJoin")
-    public R<List<StandardInfoPrivateJoinVO>> getElementJoin(Long id, Long leftId, Long groupId) {
-        List<StandardInfoPrivateJoinVO> list = this.uStandardInfoService.getElementJoin(id, leftId, groupId);
+    public R<List<StandardInfoPrivateJoinVO>> getElementJoin(Long id, Long leftId, Long groupId, Long joinGroupId) {
+        List<StandardInfoPrivateJoinVO> list = this.uStandardInfoService.getElementJoin(id, leftId, groupId, joinGroupId);
         return R.data(list);
     }
 

+ 2 - 1
blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoJoinMapper.xml

@@ -6,6 +6,7 @@
 
     <resultMap id="BaseResultMap" type="org.springblade.business.entity.StandardInfoJoin">
             <id property="id" column="id" />
+            <result property="groupId" column="group_id" />
             <result property="standardInfoLeftId" column="standard_info_left_id" />
             <result property="standardInfoRightId" column="standard_info_right_id" />
             <result property="isDeleted" column="is_deleted" />
@@ -16,7 +17,7 @@
     </resultMap>
 
     <sql id="Base_Column_List">
-        id,standard_info_left_id,standard_info_right_id,is_deleted,create_time,create_user,
+        id,group_id,standard_info_left_id,standard_info_right_id,is_deleted,create_time,create_user,
         update_time,update_user
     </sql>
     <update id="updateJoin">

+ 6 - 2
blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoMapper.java

@@ -26,11 +26,15 @@ public interface StandardInfoMapper extends BaseMapper<StandardInfo> {
 
     List<StandardInfoVO> getConditionSet(@Param("id") Long id,
                                          @Param("leftId") Long leftId,
-                                         @Param("groupId") Long groupId);
+                                         @Param("groupId") Long groupId,
+                                         @Param("joinGroupId") Long joinGroupId
+    );
 
     List<StandardInfoPrivateJoinVO> getElementJoin(@Param("id") Long id,
                                                    @Param("leftId") Long leftId,
-                                                   @Param("groupId") Long groupId);
+                                                   @Param("groupId") Long groupId,
+                                                   @Param("joinGroupId") Long joinGroupId
+    );
 
     List<StandardInfoPrivateJoinVO> effectPreview(@Param("rightIds") List<Long> rightIds);
 }

+ 33 - 12
blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoMapper.xml

@@ -91,7 +91,8 @@
         <result property="type" column="type"/>
         <result property="symbol" column="symbol"/>
         <result property="symbolName" column="symbolName"/>
-        <collection property="standardInfos" ofType="org.springblade.business.vo.StandardInfoConditionVo" select="findByJoinLeftId" column="{leftId=id}">
+        <result property="groupId" column="group_id"/>
+        <collection property="standardInfos" ofType="org.springblade.business.vo.StandardInfoConditionVo" select="findByJoinLeftId" column="{leftId=id,groupId=group_id}">
         </collection>
     </resultMap>
     <sql id="Base_Column_Join_List">
@@ -109,7 +110,7 @@
 
     <select id="getConditionSet" resultMap="BaseResultConditionSet">
         select
-            <include refid="Base_Column_Join_List"/>, concat(a.symbol,a.name) symbolName
+            <include refid="Base_Column_Join_List"/>, concat(a.symbol,a.name) symbolName,b.group_id
         from
             u_standard_info a
             INNER join u_standard_info p on a.parent_id = p.id and a.is_deleted = p.is_deleted
@@ -125,14 +126,17 @@
             <if test="groupId != null">
                 and  p.id = #{groupId}
             </if>
+            <if test="joinGroupId != null">
+                and  b.group_id = #{joinGroupId}
+            </if>
 
         GROUP BY
-            b.standard_info_left_id
+            b.group_id,b.standard_info_left_id
     </select>
 
     <resultMap id="findByJoinLeftIdMap" type="org.springblade.business.vo.StandardInfoConditionVo">
         <id property="id" column="id"/>
-        <collection property="rightStandardInfos" ofType="org.springblade.business.entity.StandardInfo" select="findRightByJoinLeftId" column="{id=id,leftId=leftId}">
+        <collection property="rightStandardInfos" ofType="org.springblade.business.entity.StandardInfo" select="findRightByJoinLeftId" column="{id=id,leftId=leftId,groupId=groupId}">
         </collection>
     </resultMap>
 
@@ -148,13 +152,18 @@
             c.create_user,
             c.update_time,
             c.update_user,
-            b.standard_info_left_id leftId
+            b.standard_info_left_id leftId,
+            b.group_id groupId
         FROM
             u_standard_info a
             INNER JOIN u_standard_info_join b ON a.id = b.standard_info_right_id AND a.is_deleted = b.is_deleted
             INNER JOIN u_standard_info c ON a.parent_id = c.id AND a.is_deleted = c.is_deleted
         WHERE
-            b.standard_info_left_id = #{leftId} and a.is_deleted = 0
+            b.standard_info_left_id = #{leftId}
+            <if test="groupId != null">
+                and b.group_id = #{groupId}
+            </if>
+            and a.is_deleted = 0
         group by
             c.id
     </select>
@@ -166,7 +175,11 @@
             INNER JOIN u_standard_info_join b ON a.id = b.standard_info_right_id AND a.is_deleted = b.is_deleted
             INNER JOIN u_standard_info c ON a.parent_id = c.id AND a.is_deleted = c.is_deleted
         WHERE
-            a.parent_id = #{id} and b.standard_info_left_id = #{leftId} and a.is_deleted = 0
+            a.parent_id = #{id} and b.standard_info_left_id = #{leftId}
+            <if test="groupId != null">
+                and b.group_id = #{groupId}
+            </if>
+            and a.is_deleted = 0
         group by
             a.id
     </select>
@@ -174,12 +187,13 @@
 
     <resultMap id="BaseResultElementJoin" type="org.springblade.business.vo.StandardInfoPrivateJoinVO">
         <id property="id" column="id"/>
+        <result property="groupId" column="group_id"/>
         <result property="name" column="name"/>
         <result property="parentId" column="parent_id"/>
         <result property="type" column="type"/>
         <result property="symbol" column="symbol"/>
         <result property="symbolName" column="symbolName"/>
-        <collection property="group" ofType="org.springblade.business.vo.StandardInfoPrivateJoinGroupVO" select="findByPrivateJoinLeftId" column="{leftId=id}">
+        <collection property="group" ofType="org.springblade.business.vo.StandardInfoPrivateJoinGroupVO" select="findByPrivateJoinLeftId" column="{leftId=id,groupId=group_id}">
         </collection>
     </resultMap>
 
@@ -197,7 +211,7 @@
     </sql>
     <select id="getElementJoin" resultMap="BaseResultElementJoin">
         select
-            <include refid="Base_Column_Join_List"/>, concat(a.symbol,a.name) symbolName
+            <include refid="Base_Column_Join_List"/>, concat(a.symbol,a.name) symbolName,b.group_id
         from
             u_standard_info a
             INNER JOIN u_standard_info c on a.parent_id = c.id and a.is_deleted = c.is_deleted
@@ -214,7 +228,7 @@
                 and  c.id = #{groupId}
             </if>
         GROUP BY
-            b.standard_info_id
+            b.group_id,b.standard_info_id
     </select>
 
 
@@ -223,7 +237,7 @@
         <result property="privateId" column="private_id"/>
         <result property="privateName" column="privateName"/>
         <result property="elementNames" column="elementNames"/>
-        <collection property="keys" ofType="org.springblade.business.vo.StandardElementVo" select="findByPrivateGroupJoinLeftId" column="{standardInfoId=standard_info_id,privateId=private_id}">
+        <collection property="keys" ofType="org.springblade.business.vo.StandardElementVo" select="findByPrivateGroupJoinLeftId" column="{standardInfoId=standard_info_id,privateId=private_id,groupId=groupId}">
         </collection>
     </resultMap>
     <select id="findByPrivateJoinLeftId" resultMap="BaseResultElementGroupPrivate">
@@ -231,12 +245,16 @@
             a.standard_info_id,
             a.private_id,
             b.node_name privateName,
-            GROUP_CONCAT(col_name SEPARATOR ',') elementNames
+            GROUP_CONCAT(col_name SEPARATOR ',') elementNames,
+            a.group_id groupId
         FROM
             u_standard_info_private_join a
             INNER JOIN m_wbs_tree_private b ON a.private_id = b.p_key_id AND a.is_deleted = b.is_deleted
         WHERE
             a.standard_info_id = #{leftId}
+          <if test="groupId!=null">
+              and a.group_id = #{groupId}
+          </if>
           AND a.is_deleted = 0
         GROUP BY
             a.private_id
@@ -250,6 +268,9 @@
         INNER JOIN m_wbs_tree_private b ON a.private_id = b.p_key_id AND a.is_deleted = b.is_deleted
         WHERE
         a.standard_info_id = #{standardInfoId} and a.private_id = #{privateId}
+        <if test="groupId!=null">
+            and a.group_id = #{groupId}
+        </if>
         AND a.is_deleted = 0
     </select>
 

+ 4 - 4
blade-service/blade-business/src/main/java/org/springblade/business/service/StandardInfoService.java

@@ -32,13 +32,13 @@ public interface StandardInfoService extends IService<StandardInfo> {
 
     Boolean setElementJoin(List<StandardInfoPrivateJoinVO> standardInfoPrivateJoins, Long id);
 
-    Boolean deleteConditionSet(Long leftId);
+    Boolean deleteConditionSet(Long groupId);
 
-    Boolean deleteElementJoin(Long leftId);
+    Boolean deleteElementJoin(Long groupId);
 
-    List<StandardInfoVO> getConditionSet(Long id, Long leftId, Long groupId);
+    List<StandardInfoVO> getConditionSet(Long id, Long leftId, Long groupId, Long joinGroupId);
 
-    List<StandardInfoPrivateJoinVO> getElementJoin(Long id, Long leftId, Long groupId);
+    List<StandardInfoPrivateJoinVO> getElementJoin(Long id, Long leftId, Long groupId, Long joinGroupId);
 
     List<StandardInfoPrivateJoinVO> effectPreview(String ids);
 

+ 17 - 8
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/UStandardInfoServiceImpl.java

@@ -189,7 +189,10 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
                 StandardInfoJoinDTO standardInfoJoinDTO = new StandardInfoJoinDTO();
 
                 Long leftId = standardInfoJoin.getId();
+
                 standardInfoJoinDTO.setLeftId(leftId);
+                //设置随机组id
+                standardInfoJoinDTO.setGroupId(SnowFlakeUtil.getId());
                 List<StandardInfoConditionVo> standardInfos = standardInfoJoin.getStandardInfos();
                 if (CollectionUtil.isNotEmpty(standardInfos)) {
                     for (StandardInfoConditionVo standardInfo : standardInfos) {
@@ -204,9 +207,12 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
             //封装参数
             for (StandardInfoJoinDTO standardInfoJoin : list) {
                 List<Long> rightIds = standardInfoJoin.getRightIds();
+                standardInfoJoin.setGroupId(SnowFlakeUtil.getId());
                 for (Long rightId : rightIds) {
                     StandardInfoJoin uStandardInfoJoin = new StandardInfoJoin();
                     uStandardInfoJoin.setId(SnowFlakeUtil.getId());
+                    //设置组id
+                    uStandardInfoJoin.setGroupId(standardInfoJoin.getGroupId());
                     uStandardInfoJoin.setStandardInfoLeftId(standardInfoJoin.getLeftId());
                     uStandardInfoJoin.setStandardInfoRightId(rightId);
                     uStandardInfoJoin.setCreateUser(user.getUserId());
@@ -244,6 +250,8 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
             try {
                 for (StandardInfoPrivateJoinVO standardInfoPrivateJoin : standardInfoPrivateJoins) {
                     Long leftId = standardInfoPrivateJoin.getId();
+
+                    standardInfoPrivateJoin.setGroupId(SnowFlakeUtil.getId());
                     List<StandardInfoPrivateJoinGroupVO> group = standardInfoPrivateJoin.getGroup();
                     //项目组
                     for (StandardInfoPrivateJoinGroupVO standardInfoPrivateJoinGroupVO : group) {
@@ -253,6 +261,7 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
 
                         for (StandardElementVo key : keys) {
                             StandardInfoPrivateJoin join = new StandardInfoPrivateJoin();
+                            join.setGroupId(standardInfoPrivateJoin.getGroupId());
                             join.setStandardInfoId(leftId);
                             join.setId(SnowFlakeUtil.getId());
                             join.setPrivateId(privateId);
@@ -274,13 +283,13 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean deleteConditionSet(Long leftId) {
+    public Boolean deleteConditionSet(Long groupId) {
         BladeUser user = SecureUtil.getUser();
         try {
             return standardInfoJoinService.update(Wrappers.<StandardInfoJoin>lambdaUpdate()
                     .set(StandardInfoJoin::getIsDeleted, 1)
                     .set(StandardInfoJoin::getUpdateUser, user.getUserId())
-                    .eq(StandardInfoJoin::getStandardInfoLeftId, leftId));
+                    .eq(StandardInfoJoin::getGroupId, groupId));
         } catch (Exception e) {
             e.printStackTrace();
             throw new ServiceException("删除失败");
@@ -289,13 +298,13 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean deleteElementJoin(Long leftId) {
+    public Boolean deleteElementJoin(Long groupId) {
         BladeUser user = SecureUtil.getUser();
         try {
             return standardInfoPrivateJoinService.update(Wrappers.<StandardInfoPrivateJoin>lambdaUpdate()
                     .set(StandardInfoPrivateJoin::getIsDeleted, 1)
                     .set(StandardInfoPrivateJoin::getUpdateUser, user.getUserId())
-                    .eq(StandardInfoPrivateJoin::getStandardInfoId, leftId));
+                    .eq(StandardInfoPrivateJoin::getGroupId, groupId));
         } catch (Exception e) {
             e.printStackTrace();
             throw new ServiceException("删除失败");
@@ -303,8 +312,8 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
     }
 
     @Override
-    public List<StandardInfoVO> getConditionSet(Long id, Long leftId, Long groupId) {
-        List<StandardInfoVO> conditionSet = baseMapper.getConditionSet(id, leftId, groupId);
+    public List<StandardInfoVO> getConditionSet(Long id, Long leftId, Long groupId, Long joinGroupId) {
+        List<StandardInfoVO> conditionSet = baseMapper.getConditionSet(id, leftId, groupId, joinGroupId);
         for (StandardInfoVO standardInfoVO : conditionSet) {
             List<StandardInfoConditionVo> standardInfos = standardInfoVO.getStandardInfos();
             for (StandardInfoConditionVo standardInfo : standardInfos) {
@@ -324,8 +333,8 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
     }
 
     @Override
-    public List<StandardInfoPrivateJoinVO> getElementJoin(Long id, Long leftId, Long groupId) {
-        return baseMapper.getElementJoin(id, leftId, groupId);
+    public List<StandardInfoPrivateJoinVO> getElementJoin(Long id, Long leftId, Long groupId, Long joinGroupId) {
+        return baseMapper.getElementJoin(id, leftId, groupId, joinGroupId);
 
     }