瀏覽代碼

处理修改规则维护异常

zhanghang 3 年之前
父節點
當前提交
e897fb1a9a
共有 1 個文件被更改,包括 37 次插入7 次删除
  1. 37 7
      daqe-center/src/main/java/com/lantone/daqe/facade/ColumnVerifyManagementFacade.java

+ 37 - 7
daqe-center/src/main/java/com/lantone/daqe/facade/ColumnVerifyManagementFacade.java

@@ -429,8 +429,11 @@ public class ColumnVerifyManagementFacade {
         List<Long> columnInfoIdUpdate = new ArrayList<>();
         for (ColumnInfoVO columnInfoVO : columnList) {
             Long columnId = columnInfoVO.getId();
-            ColumnVerify columnVerify = columnVerifyFacade.getById(columnId);
-            if (columnVerify != null) {
+            List<ColumnVerify> columnVerifyList = columnVerifyFacade.getBaseMapper().selectList(new QueryWrapper<ColumnVerify>()
+                    .eq("column_id", columnId)
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+            );
+            if (ListUtil.isNotEmpty(columnVerifyList)) {
                 //库中已有维护
                 columnInfoIdUpdate.add(columnId);
                 columnInfoUpdate.add(columnInfoVO);
@@ -461,13 +464,13 @@ public class ColumnVerifyManagementFacade {
                 columnVerify.setColumnEname(columnInfo.getColumnEname());
                 columnVerify.setTableCname(columnInfo.getTableCname());
                 columnVerify.setTableEname(columnInfo.getTableEname());
+                //先判断是否该字段信息是否已关联正则
+                RegularMapping selectOneMapping = regularMappingFacade.getBaseMapper().selectOne(new QueryWrapper<RegularMapping>()
+                        .eq("column_id", columnId)
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                );
                 if (updateColumnVerifyVO.getRegularId() != null) {
                     //插入正则维护表
-                    //先判断是否该字段信息是否已关联正则
-                    RegularMapping selectOneMapping = regularMappingFacade.getBaseMapper().selectOne(new QueryWrapper<RegularMapping>()
-                            .eq("column_id", columnId)
-                            .eq("is_deleted", IsDeleteEnum.N.getKey())
-                    );
                     if (selectOneMapping != null) {
                         //已关联正则走修改
                         regularMappingFacade.update(new UpdateWrapper<RegularMapping>()
@@ -518,6 +521,23 @@ public class ColumnVerifyManagementFacade {
                             Asserts.fail("保存失败");
                         }
                     }
+                }else {
+                    //为空则存在的关联给删掉
+                    if (selectOneMapping != null) {
+                        //已关联正则删除
+                        regularMappingFacade.remove(new UpdateWrapper<RegularMapping>()
+                                .eq("column_id", columnId)
+                                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        );
+                        Long mappingId = selectOneMapping.getId();
+                        //修改总表
+                        columnVerifyFacade.remove(new UpdateWrapper<ColumnVerify>()
+                                .eq("column_id", columnId)
+                                .eq("type", ColumnVerifyTypeEnum.REGULAR_TYPE.getKey())
+                                .eq("verify_id", mappingId)
+                        );
+                    }
+                    //未关联则不处理
                 }
                 if (updateColumnVerifyVO.getIsRequired() != null) {
                     //插入表字段的非空校验维护表
@@ -618,6 +638,16 @@ public class ColumnVerifyManagementFacade {
                             Asserts.fail("保存失败");
                         }
                     }
+                }else {
+                    //为空则存在的关联给删掉
+                    standardvalueInfoFacade.remove(new UpdateWrapper<StandardvalueInfo>()
+                            .eq("column_id", columnId)
+                    );
+                    columnVerifyFacade.remove(new UpdateWrapper<ColumnVerify>()
+                            .eq("column_id", columnId)
+                            .eq("type", ColumnVerifyTypeEnum.STANDARD_TYPE.getKey())
+                    );
+                    //未关联则不处理
                 }
             }
         }