Selaa lähdekoodia

试验-规范管理-关联元素的时候先根据规范文件id删除所有关联关系,再添加

LHB 2 kuukautta sitten
vanhempi
commit
c588c9c20a

+ 3 - 2
blade-service/blade-business/src/main/java/org/springblade/business/controller/StandardInfoController.java

@@ -129,8 +129,9 @@ public class StandardInfoController {
      */
     @ApiOperation(value = "关联元素")
     @PostMapping("saveElementJoin")
-    public R<Boolean> setElementJoin(@RequestBody @Validated List<StandardInfoPrivateJoinVO> standardInfoPrivateJoins) {
-        Boolean b = this.uStandardInfoService.setElementJoin(standardInfoPrivateJoins);
+    public R<Boolean> setElementJoin(@RequestBody @Validated List<StandardInfoPrivateJoinVO> standardInfoPrivateJoins,
+                                     @RequestParam Long id) {
+        Boolean b = this.uStandardInfoService.setElementJoin(standardInfoPrivateJoins,id);
         return R.data(b);
     }
 

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

@@ -30,7 +30,7 @@ public interface StandardInfoService extends IService<StandardInfo> {
 
     Boolean setCondition(List<StandardInfoVO> standardInfoJoins, Long id);
 
-    Boolean setElementJoin(List<StandardInfoPrivateJoinVO> standardInfoPrivateJoins);
+    Boolean setElementJoin(List<StandardInfoPrivateJoinVO> standardInfoPrivateJoins,Long id);
 
     Boolean deleteConditionSet(Long leftId);
 
@@ -42,5 +42,4 @@ public interface StandardInfoService extends IService<StandardInfo> {
 
     List<StandardInfoPrivateJoinVO> effectPreview(String ids);
 
-    Boolean editConditionSet(List<StandardInfoVO> standardInfoJoins);
 }

+ 13 - 51
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/UStandardInfoServiceImpl.java

@@ -223,7 +223,19 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean setElementJoin(List<StandardInfoPrivateJoinVO> standardInfoPrivateJoins) {
+    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<>();
@@ -252,10 +264,6 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
                     }
                 }
             }
-            //删除之前的关联关系
-            standardInfoPrivateJoinService.remove(Wrappers.<StandardInfoPrivateJoin>lambdaQuery()
-                    .in(StandardInfoPrivateJoin::getStandardInfoId, leftIds));
-
             return standardInfoPrivateJoinService.saveOrUpdateBatch(saveData);
         } catch (Exception e) {
             e.printStackTrace();
@@ -325,52 +333,6 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
         List<Long> collect = Arrays.stream(ids.split(",")).map(Long::parseLong).collect(Collectors.toList());
         return baseMapper.effectPreview(collect);
     }
-
-    @Override
-    @Transactional
-    public Boolean editConditionSet(List<StandardInfoVO> standardInfoJoins) {
-        BladeUser user = SecureUtil.getUser();
-        //先删除,在添加
-        List<Long> leftIds = new ArrayList<>();
-        //获取参宿
-        List<StandardInfoJoinDTO> list = new ArrayList<>();
-        //新增数据
-        List<StandardInfoJoin> saveData = new ArrayList<>();
-        //解析参数
-        for (StandardInfoVO standardInfoJoin : standardInfoJoins) {
-            StandardInfoJoinDTO standardInfoJoinDTO = new StandardInfoJoinDTO();
-
-            Long leftId = standardInfoJoin.getId();
-            standardInfoJoinDTO.setLeftId(leftId);
-            leftIds.add(leftId);
-            List<StandardInfoConditionVo> standardInfos = standardInfoJoin.getStandardInfos();
-            for (StandardInfoConditionVo standardInfo : standardInfos) {
-                StandardInfoGroupNameVO standardInfoGroupNameVO = standardInfo.getStandardInfoGroupNameVO();
-                List<Long> ids = standardInfoGroupNameVO.getIds();
-                standardInfoJoinDTO.getRightIds().addAll(ids);
-            }
-            list.add(standardInfoJoinDTO);
-        }
-
-
-        for (StandardInfoJoinDTO standardInfoJoin : list) {
-
-            List<Long> rightIds = standardInfoJoin.getRightIds();
-            for (Long rightId : rightIds) {
-                StandardInfoJoin uStandardInfoJoin = new StandardInfoJoin();
-                uStandardInfoJoin.setId(SnowFlakeUtil.getId());
-                uStandardInfoJoin.setStandardInfoLeftId(standardInfoJoin.getLeftId());
-                uStandardInfoJoin.setStandardInfoRightId(rightId);
-                uStandardInfoJoin.setCreateUser(user.getUserId());
-                saveData.add(uStandardInfoJoin);
-            }
-        }
-
-        boolean remove = standardInfoJoinService.remove(Wrappers.<StandardInfoJoin>lambdaQuery()
-                .in(StandardInfoJoin::getStandardInfoLeftId, leftIds));
-
-        return standardInfoJoinService.saveOrUpdateBatch(saveData);
-    }
 }