ソースを参照

质检-规范管理-条件设置和关联元素,添加和查询接口调整未按组处理

LHB 2 ヶ月 前
コミット
f80884b841

+ 30 - 10
blade-service/blade-business/src/main/java/org/springblade/business/controller/StandardInfoController.java

@@ -4,6 +4,7 @@ package org.springblade.business.controller;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springblade.business.dto.StandardInfoDTO;
 import org.springblade.business.dto.StandardInfoJoinDTO;
@@ -40,7 +41,7 @@ public class StandardInfoController {
     /**
      * 分页查询所有数据
      *
-     * @param query         分页对象
+     * @param query        分页对象
      * @param standardInfo 查询实体
      * @return 所有数据
      */
@@ -110,14 +111,14 @@ public class StandardInfoController {
      * 条件设置
      *
      * @param standardInfoJoins 条件设置对象
-     * @param id 规范文件id
+     * @param id                规范文件id
      * @return 结果
      */
     @ApiOperation(value = "条件设置")
     @PostMapping("saveConditionSet")
     public R<Boolean> setCondition(@RequestBody @Validated List<StandardInfoVO> standardInfoJoins,
                                    @RequestParam Long id) {
-        Boolean b = this.uStandardInfoService.setCondition(standardInfoJoins,id);
+        Boolean b = this.uStandardInfoService.setCondition(standardInfoJoins, id);
         return R.data(b);
     }
 
@@ -131,12 +132,13 @@ public class StandardInfoController {
     @PostMapping("saveElementJoin")
     public R<Boolean> setElementJoin(@RequestBody @Validated List<StandardInfoPrivateJoinVO> standardInfoPrivateJoins,
                                      @RequestParam Long id) {
-        Boolean b = this.uStandardInfoService.setElementJoin(standardInfoPrivateJoins,id);
+        Boolean b = this.uStandardInfoService.setElementJoin(standardInfoPrivateJoins, id);
         return R.data(b);
     }
 
     /**
      * 删除条件设置
+     *
      * @param leftId 主关联id
      * @return 删除结果
      */
@@ -150,6 +152,7 @@ public class StandardInfoController {
 
     /**
      * 删除关联元素
+     *
      * @param leftId 主关联id
      * @return 删除结果
      */
@@ -163,30 +166,47 @@ public class StandardInfoController {
 
     /**
      * 查询条件设置
+     *
      * @param id 规范文件id
+     * @param leftId 条件设置组id
+     * @param groupId 文件信息组id
      */
     @ApiOperation(value = "查询条件设置")
-    @ApiImplicitParam(name = "id", value = "规范文件id", required = true)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "规范文件id", required = true),
+            @ApiImplicitParam(name = "leftId", value = "条件设置组id"),
+            @ApiImplicitParam(name = "groupId", value = "文件信息组id", required = true)
+
+    })
     @GetMapping("getConditionSet")
-    public R<List<StandardInfoVO>> getConditionSet(Long id,Long leftId) {
-        List<StandardInfoVO> list = this.uStandardInfoService.getConditionSet(id,leftId);
+    public R<List<StandardInfoVO>> getConditionSet(Long id, Long leftId, Long groupId) {
+        List<StandardInfoVO> list = this.uStandardInfoService.getConditionSet(id, leftId, groupId);
         return R.data(list);
     }
 
     /**
      * 查询关联元素
+     *
      * @param id 规范文件id
+     * @param leftId 文件信息Id
+     * @param groupId 文件信息组id
      */
     @ApiOperation(value = "查询关联元素")
-    @ApiImplicitParam(name = "id", value = "规范文件id", required = true)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "规范文件id", required = true),
+            @ApiImplicitParam(name = "leftId", value = "文件信息Id"),
+            @ApiImplicitParam(name = "groupId", value = "文件信息组id", required = true)
+
+    })
     @GetMapping("getElementJoin")
-    public R<List<StandardInfoPrivateJoinVO>> getElementJoin(Long id,Long leftId) {
-        List<StandardInfoPrivateJoinVO> list = this.uStandardInfoService.getElementJoin(id,leftId);
+    public R<List<StandardInfoPrivateJoinVO>> getElementJoin(Long id, Long leftId, Long groupId) {
+        List<StandardInfoPrivateJoinVO> list = this.uStandardInfoService.getElementJoin(id, leftId, groupId);
         return R.data(list);
     }
 
     /**
      * 效果预览
+     *
      * @param ids standardInfo type=1的子级id集合
      */
     @ApiOperation(value = "效果预览")

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

@@ -25,10 +25,12 @@ public interface StandardInfoMapper extends BaseMapper<StandardInfo> {
     StandardInfoDTO selectMyOne(@Param("id") Long id);
 
     List<StandardInfoVO> getConditionSet(@Param("id") Long id,
-                                         @Param("leftId") Long leftId);
+                                         @Param("leftId") Long leftId,
+                                         @Param("groupId") Long groupId);
 
     List<StandardInfoPrivateJoinVO> getElementJoin(@Param("id") Long id,
-                                                   @Param("leftId") Long leftId);
+                                                   @Param("leftId") Long leftId,
+                                                   @Param("groupId") Long groupId);
 
     List<StandardInfoPrivateJoinVO> effectPreview(@Param("rightIds") List<Long> rightIds);
 }

+ 8 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoMapper.xml

@@ -112,6 +112,7 @@
             <include refid="Base_Column_Join_List"/>, concat(a.symbol,a.name) symbolName
         from
             u_standard_info a
+            INNER join u_standard_info p on a.parent_id = p.id and a.is_deleted = p.is_deleted
             INNER JOIN u_standard_info_join b on a.id = b.standard_info_left_id and a.is_deleted = b.is_deleted
         where
             a.is_deleted = 0
@@ -121,6 +122,9 @@
             <if test="leftId != null">
                 and  b.standard_info_left_id = #{leftId}
             </if>
+            <if test="groupId != null">
+                and  p.id = #{groupId}
+            </if>
 
         GROUP BY
             b.standard_info_left_id
@@ -196,6 +200,7 @@
             <include refid="Base_Column_Join_List"/>, concat(a.symbol,a.name) symbolName
         from
             u_standard_info a
+            INNER JOIN u_standard_info c on a.parent_id = c.id and a.is_deleted = c.is_deleted
             INNER JOIN u_standard_info_private_join b on a.id = b.standard_info_id and a.is_deleted = b.is_deleted
         where
             a.is_deleted = 0
@@ -205,6 +210,9 @@
             <if test="leftId != null">
                 and  b.standard_info_id = #{leftId}
             </if>
+            <if test="groupId != null">
+                and  c.id = #{groupId}
+            </if>
         GROUP BY
             b.standard_info_id
     </select>

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

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

+ 56 - 55
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/UStandardInfoServiceImpl.java

@@ -165,22 +165,21 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean setCondition(List<StandardInfoVO> standardInfoJoins, Long id) {
-        List<StandardInfo> standardInfoIds = baseMapper.selectList(Wrappers.<StandardInfo>lambdaQuery()
-                .eq(StandardInfo::getStandardId, id)
-                .eq(StandardInfo::getIsDeleted, 0));
-        if(CollectionUtil.isEmpty(standardInfoIds)){
-            throw new ServiceException("未查询到规范文件的信息");
-        }
-        List<Long> collect = standardInfoIds.stream().map(StandardInfo::getId).collect(Collectors.toList());
-        //删除当前规范文件下的条件设置
-        standardInfoJoinService.remove(Wrappers.<StandardInfoJoin>lambdaQuery()
-                .in(StandardInfoJoin::getStandardInfoLeftId, collect));
+        if (CollectionUtil.isNotEmpty(standardInfoJoins)) {
+            //按照组进行删除
+            StandardInfoVO standardInfoVO = standardInfoJoins.get(0);
+            Long parentId = standardInfoVO.getParentId();
 
+            List<StandardInfo> standardInfoIds = baseMapper.selectList(Wrappers.<StandardInfo>lambdaQuery()
+                    .eq(StandardInfo::getParentId, parentId)
+                    .eq(StandardInfo::getIsDeleted, 0));
+            List<Long> collect = standardInfoIds.stream().map(StandardInfo::getId).collect(Collectors.toList());
+
+            //删除当前规范文件当前组下的条件设置
+            standardInfoJoinService.remove(Wrappers.<StandardInfoJoin>lambdaQuery()
+                    .in(StandardInfoJoin::getStandardInfoLeftId, collect));
 
-        if (CollectionUtil.isNotEmpty(standardInfoJoins)) {
             BladeUser user = SecureUtil.getUser();
-            //先删除,在添加
-            List<Long> leftIds = new ArrayList<>();
             //获取参宿
             List<StandardInfoJoinDTO> list = new ArrayList<>();
             //新增数据
@@ -191,7 +190,6 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
 
                 Long leftId = standardInfoJoin.getId();
                 standardInfoJoinDTO.setLeftId(leftId);
-                leftIds.add(leftId);
                 List<StandardInfoConditionVo> standardInfos = standardInfoJoin.getStandardInfos();
                 if (CollectionUtil.isNotEmpty(standardInfos)) {
                     for (StandardInfoConditionVo standardInfo : standardInfos) {
@@ -224,51 +222,54 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean setElementJoin(List<StandardInfoPrivateJoinVO> standardInfoPrivateJoins, Long id) {
-        List<StandardInfo> standardInfoIds = baseMapper.selectList(Wrappers.<StandardInfo>lambdaQuery()
-                .eq(StandardInfo::getStandardId, id)
-                .eq(StandardInfo::getIsDeleted, 0));
-        if(CollectionUtil.isEmpty(standardInfoIds)){
-            throw new ServiceException("未查询到规范文件的信息");
-        }
-        List<Long> collect = standardInfoIds.stream().map(StandardInfo::getId).collect(Collectors.toList());
-        //删除当前规范文件下的条件设置
-        standardInfoPrivateJoinService.remove(Wrappers.<StandardInfoPrivateJoin>lambdaQuery()
-                .in(StandardInfoPrivateJoin::getStandardInfoId, collect));
-
-
         BladeUser user = SecureUtil.getUser();
         List<StandardInfoPrivateJoin> saveData = new ArrayList<>();
-        List<Long> leftIds = new ArrayList<>();
 
-        try {
 
-            for (StandardInfoPrivateJoinVO standardInfoPrivateJoin : standardInfoPrivateJoins) {
-                Long leftId = standardInfoPrivateJoin.getId();
-                leftIds.add(leftId);
-                List<StandardInfoPrivateJoinGroupVO> group = standardInfoPrivateJoin.getGroup();
-                //项目组
-                for (StandardInfoPrivateJoinGroupVO standardInfoPrivateJoinGroupVO : group) {
-                    //项目id
-                    Long privateId = standardInfoPrivateJoinGroupVO.getPrivateId();
-                    List<StandardElementVo> keys = standardInfoPrivateJoinGroupVO.getKeys();
-
-                    for (StandardElementVo key : keys) {
-                        StandardInfoPrivateJoin join = new StandardInfoPrivateJoin();
-                        join.setStandardInfoId(leftId);
-                        join.setId(SnowFlakeUtil.getId());
-                        join.setPrivateId(privateId);
-                        join.setColKey(key.getColKey());
-                        join.setColName(key.getColName());
-                        join.setCreateUser(user.getUserId());
-                        saveData.add(join);
+        if (CollectionUtil.isNotEmpty(standardInfoPrivateJoins)) {
+            //根据
+            StandardInfoPrivateJoinVO standardInfoPrivateJoinVO = standardInfoPrivateJoins.get(0);
+            Long parentId = standardInfoPrivateJoinVO.getParentId();
+
+            List<StandardInfo> standardInfoIds = baseMapper.selectList(Wrappers.<StandardInfo>lambdaQuery()
+                    .eq(StandardInfo::getParentId, parentId)
+                    .eq(StandardInfo::getIsDeleted, 0));
+            List<Long> collect = standardInfoIds.stream().map(StandardInfo::getId).collect(Collectors.toList());
+
+
+            //删除当前规范文件下的条件设置
+            standardInfoPrivateJoinService.remove(Wrappers.<StandardInfoPrivateJoin>lambdaQuery()
+                    .in(StandardInfoPrivateJoin::getStandardInfoId, collect));
+
+            try {
+                for (StandardInfoPrivateJoinVO standardInfoPrivateJoin : standardInfoPrivateJoins) {
+                    Long leftId = standardInfoPrivateJoin.getId();
+                    List<StandardInfoPrivateJoinGroupVO> group = standardInfoPrivateJoin.getGroup();
+                    //项目组
+                    for (StandardInfoPrivateJoinGroupVO standardInfoPrivateJoinGroupVO : group) {
+                        //项目id
+                        Long privateId = standardInfoPrivateJoinGroupVO.getPrivateId();
+                        List<StandardElementVo> keys = standardInfoPrivateJoinGroupVO.getKeys();
+
+                        for (StandardElementVo key : keys) {
+                            StandardInfoPrivateJoin join = new StandardInfoPrivateJoin();
+                            join.setStandardInfoId(leftId);
+                            join.setId(SnowFlakeUtil.getId());
+                            join.setPrivateId(privateId);
+                            join.setColKey(key.getColKey());
+                            join.setColName(key.getColName());
+                            join.setCreateUser(user.getUserId());
+                            saveData.add(join);
+                        }
                     }
                 }
+                return standardInfoPrivateJoinService.saveOrUpdateBatch(saveData);
+            } catch (Exception e) {
+                e.printStackTrace();
+                throw new ServiceException("元素关联失败");
             }
-            return standardInfoPrivateJoinService.saveOrUpdateBatch(saveData);
-        } catch (Exception e) {
-            e.printStackTrace();
-            throw new ServiceException("元素关联失败");
         }
+        return false;
     }
 
     @Override
@@ -302,8 +303,8 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
     }
 
     @Override
-    public List<StandardInfoVO> getConditionSet(Long id, Long leftId) {
-        List<StandardInfoVO> conditionSet = baseMapper.getConditionSet(id, leftId);
+    public List<StandardInfoVO> getConditionSet(Long id, Long leftId, Long groupId) {
+        List<StandardInfoVO> conditionSet = baseMapper.getConditionSet(id, leftId, groupId);
         for (StandardInfoVO standardInfoVO : conditionSet) {
             List<StandardInfoConditionVo> standardInfos = standardInfoVO.getStandardInfos();
             for (StandardInfoConditionVo standardInfo : standardInfos) {
@@ -323,8 +324,8 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
     }
 
     @Override
-    public List<StandardInfoPrivateJoinVO> getElementJoin(Long id, Long leftId) {
-        return baseMapper.getElementJoin(id, leftId);
+    public List<StandardInfoPrivateJoinVO> getElementJoin(Long id, Long leftId, Long groupId) {
+        return baseMapper.getElementJoin(id, leftId, groupId);
 
     }