Explorar o código

新增字段校验规则接口

zhanghang %!s(int64=3) %!d(string=hai) anos
pai
achega
fe6dddf5a5

+ 44 - 0
daqe-center/src/main/java/com/lantone/daqe/enums/ColumnVerifyTypeEnum.java

@@ -0,0 +1,44 @@
+package com.lantone.daqe.enums;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 校验类型
+ * @author: zhanghang
+ * @time: 2022/3/4 16:03
+ */
+public enum ColumnVerifyTypeEnum {
+
+    UNKNOWN_TYPE("0", "未知"),
+    NONNULL_TYPE("1", "数据缺失"),
+    STANDARD_TYPE("2", "标准值"),
+    REGULAR_TYPE("3", "正则");
+
+    @Getter
+    @Setter
+    private String key;
+
+    @Getter
+    @Setter
+    private String name;
+
+    ColumnVerifyTypeEnum(String key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static ColumnVerifyTypeEnum getEnum(String key) {
+        for (ColumnVerifyTypeEnum item : ColumnVerifyTypeEnum.values()) {
+            if (item.key.equals(key)) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(String key) {
+        ColumnVerifyTypeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+}

+ 104 - 21
daqe-center/src/main/java/com/lantone/daqe/facade/ColumnVerifyManagementFacade.java

@@ -7,18 +7,23 @@ import com.lantone.common.exception.Asserts;
 import com.lantone.common.util.BeanUtil;
 import com.lantone.common.util.ListUtil;
 import com.lantone.common.util.StringUtil;
-import com.lantone.daqe.dto.GetColumnDTO;
 import com.lantone.daqe.dto.GetColumnNameDTO;
 import com.lantone.daqe.dto.GetColumnVerifyPageDTO;
 import com.lantone.daqe.dto.GetRegularDTO;
 import com.lantone.daqe.dto.GetTableNameDTO;
 import com.lantone.daqe.entity.ColumnInfo;
+import com.lantone.daqe.entity.ColumnVerify;
+import com.lantone.daqe.entity.NonnullInfo;
 import com.lantone.daqe.entity.RegularInfo;
 import com.lantone.daqe.entity.RegularMapping;
+import com.lantone.daqe.entity.StandardvalueInfo;
+import com.lantone.daqe.enums.ColumnVerifyTypeEnum;
 import com.lantone.daqe.facade.base.ColumnInfoFacade;
 import com.lantone.daqe.facade.base.ColumnVerifyFacade;
+import com.lantone.daqe.facade.base.NonnullInfoFacade;
 import com.lantone.daqe.facade.base.RegularInfoFacade;
 import com.lantone.daqe.facade.base.RegularMappingFacade;
+import com.lantone.daqe.facade.base.StandardvalueInfoFacade;
 import com.lantone.daqe.vo.AddColumnVerifyVO;
 import com.lantone.daqe.vo.ColumnInfoVO;
 import com.lantone.daqe.vo.GetColumnNameVO;
@@ -29,7 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -44,13 +48,16 @@ public class ColumnVerifyManagementFacade {
 
     @Autowired
     ColumnVerifyFacade columnVerifyFacade;
-
     @Autowired
     ColumnInfoFacade columnInfoFacade;
     @Autowired
     RegularInfoFacade regularInfoFacade;
     @Autowired
     RegularMappingFacade regularMappingFacade;
+    @Autowired
+    NonnullInfoFacade nonnullInfoFacade;
+    @Autowired
+    StandardvalueInfoFacade standardvalueInfoFacade;
 
     /**
      * 获取字段校验规则分页列表数据
@@ -73,7 +80,7 @@ public class ColumnVerifyManagementFacade {
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .like(StringUtil.isNotBlank(getTableNameVO.getTableCname()), "table_cname", getTableNameVO.getTableCname())
                 .like(StringUtil.isNotBlank(getTableNameVO.getTableEname()), "table_ename", getTableNameVO.getTableEname())
-                .groupBy("table_cname","table_ename")
+                .groupBy("table_cname", "table_ename")
         );
         List<GetTableNameDTO> getColumnDTOList = BeanUtil.listCopyTo(columnInfoList, GetTableNameDTO.class);
         return getColumnDTOList;
@@ -90,7 +97,7 @@ public class ColumnVerifyManagementFacade {
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .like(StringUtil.isNotBlank(getColumnNameVO.getColumnCname()), "column_cname", getColumnNameVO.getColumnCname())
                 .like(StringUtil.isNotBlank(getColumnNameVO.getColumnEname()), "column_ename", getColumnNameVO.getColumnEname())
-                .groupBy("column_cname","column_ename")
+                .groupBy("column_cname", "column_ename")
         );
         List<GetColumnNameDTO> getColumnDTOList = BeanUtil.listCopyTo(columnInfoList, GetColumnNameDTO.class);
         return getColumnDTOList;
@@ -119,7 +126,6 @@ public class ColumnVerifyManagementFacade {
      */
     public Boolean addColumnVerify(AddColumnVerifyVO addColumnVerifyVO) {
         List<ColumnInfoVO> columnList = addColumnVerifyVO.getColumnList();
-        List<Long> columnIdList = new ArrayList<>();
         //查出表列信息ID
         for (ColumnInfoVO columnInfoVO : columnList) {
             ColumnInfo columnInfo = columnInfoFacade.getBaseMapper().selectOne(new QueryWrapper<ColumnInfo>()
@@ -129,33 +135,110 @@ public class ColumnVerifyManagementFacade {
                     .eq(StringUtil.isNotBlank(columnInfoVO.getColumnCname()), "column_cname", columnInfoVO.getColumnCname())
                     .eq(StringUtil.isNotBlank(columnInfoVO.getColumnEname()), "column_ename", columnInfoVO.getColumnEname())
             );
-            columnIdList.add(columnInfo.getId());
-        }
-        //插入正则维护表
-        if(ListUtil.isNotEmpty(columnIdList)){
-            for (Long columnId : columnIdList) {
-                //先判断是否该字段信息是否已关联该正则
+            Long columnId = columnInfo.getId();
+            if (columnId == null) {
+                Asserts.fail("不存在该字段信息!");
+            }
+            ColumnVerify columnVerify = new ColumnVerify();
+            columnVerify.setColumnId(columnId);
+            columnVerify.setColumnCname(columnInfoVO.getColumnCname());
+            columnVerify.setColumnEname(columnInfoVO.getColumnEname());
+            columnVerify.setTableCname(columnInfoVO.getTableCname());
+            columnVerify.setTableEname(columnInfoVO.getTableEname());
+            if (addColumnVerifyVO.getRegularId() != null) {
+                //插入正则维护表
+                //先判断是否该字段信息是否已关联正则
                 RegularMapping selectOneMapping = regularMappingFacade.getBaseMapper().selectOne(new QueryWrapper<RegularMapping>()
                         .eq("column_id", columnId)
-                        .eq("regular_id", addColumnVerifyVO.getRegularId())
                         .eq("is_deleted", IsDeleteEnum.N.getKey())
                 );
-                if(selectOneMapping!=null){
-                    Asserts.fail("所选字段已关联该正则,请重新选择正则!");
+                if (selectOneMapping != null) {
+                    Asserts.fail("所选字段已关联正则!");
                 }
                 RegularMapping regularMapping = new RegularMapping();
                 regularMapping.setColumnId(columnId);
                 regularMapping.setGmtCreate(new Date());
                 regularMapping.setRegularId(addColumnVerifyVO.getRegularId());
-                int insert = regularMappingFacade.getBaseMapper().insert(regularMapping);
-                if(insert!=1){
+                try {
+                    regularMappingFacade.getBaseMapper().insert(regularMapping);
+                } catch (Exception e) {
                     Asserts.fail("关联正则失败,请重试!");
                 }
+                Long regularMappingId = regularMapping.getId();
+                //插入总表
+                columnVerify.setType(ColumnVerifyTypeEnum.REGULAR_TYPE.getKey());
+                columnVerify.setVerifyId(regularMappingId);
+                columnVerify.setVerifyVal(addColumnVerifyVO.getRegularName());
+                columnVerify.setDescription(addColumnVerifyVO.getDescription());
+                columnVerify.setGmtCreate(new Date());
+                try {
+                    columnVerifyFacade.getBaseMapper().insert(columnVerify);
+                } catch (Exception e) {
+                    Asserts.fail("保存失败");
+                }
+            }
+            if (addColumnVerifyVO.getIsRequired() != null) {
+                //插入表字段的非空校验维护表
+                //先判断是否该字段信息是否已存在非空规则
+                NonnullInfo selectOneInfo = nonnullInfoFacade.getBaseMapper().selectOne(new QueryWrapper<NonnullInfo>()
+                        .eq("column_id", columnId)
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                );
+                if (selectOneInfo != null) {
+                    Asserts.fail("所选字段已存在是否非空维护规则");
+                }
+                NonnullInfo nonnullInfo = new NonnullInfo();
+                nonnullInfo.setColumnId(columnId);
+                nonnullInfo.setGmtCreate(new Date());
+                nonnullInfo.setIsRequired(addColumnVerifyVO.getIsRequired());
+                try {
+                    nonnullInfoFacade.getBaseMapper().insert(nonnullInfo);
+                } catch (Exception e) {
+                    Asserts.fail("关联是否非空失败,请重试!");
+                }
+                Long nonnullInfoId = nonnullInfo.getId();
+                //插入总表
+                columnVerify.setType(ColumnVerifyTypeEnum.NONNULL_TYPE.getKey());
+                columnVerify.setVerifyId(nonnullInfoId);
+                columnVerify.setVerifyVal(addColumnVerifyVO.getIsRequired());
+                columnVerify.setDescription(addColumnVerifyVO.getDescription());
+                columnVerify.setGmtCreate(new Date());
+                try {
+                    columnVerifyFacade.getBaseMapper().insert(columnVerify);
+                } catch (Exception e) {
+                    Asserts.fail("保存失败");
+                }
+            }
+            if (ListUtil.isNotEmpty(addColumnVerifyVO.getStandardValueList())) {
+                //插入关键字信息维护表
+                List<String> standardValueList = addColumnVerifyVO.getStandardValueList();
+                for (String standardValue : standardValueList) {
+                    StandardvalueInfo standardvalueInfo = new StandardvalueInfo();
+                    standardvalueInfo.setColumnId(columnId);
+                    standardvalueInfo.setGmtCreate(new Date());
+                    standardvalueInfo.setVal(standardValue);
+                    try {
+                        standardvalueInfoFacade.getBaseMapper().insert(standardvalueInfo);
+                    } catch (Exception e) {
+                        Asserts.fail("关联关键字失败,请重试!");
+                    }
+                    Long standardvalueInfoId = standardvalueInfo.getId();
+                    //插入总表
+                    columnVerify.setType(ColumnVerifyTypeEnum.STANDARD_TYPE.getKey());
+                    columnVerify.setVerifyId(standardvalueInfoId);
+                    columnVerify.setVerifyVal(standardValue);
+                    columnVerify.setDescription(addColumnVerifyVO.getDescription());
+                    columnVerify.setGmtCreate(new Date());
+                    try {
+                        columnVerifyFacade.getBaseMapper().insert(columnVerify);
+                    } catch (Exception e) {
+                        Asserts.fail("保存失败");
+                    }
+                }
             }
+            return true;
         }
-        //插入表字段的非空校验维护表
-        //插入关键字信息维护表
-        //插入总表
-        return null;
+        Asserts.fail("请输入表字段信息");
+        return false;
     }
 }

+ 8 - 2
daqe-center/src/main/java/com/lantone/daqe/vo/AddColumnVerifyVO.java

@@ -1,6 +1,6 @@
 package com.lantone.daqe.vo;
 
-import com.lantone.daqe.entity.ColumnInfo;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
@@ -21,7 +21,10 @@ import java.util.List;
 public class AddColumnVerifyVO implements Serializable {
 
 
-    private static final long serialVersionUID = 7391387152361022696L;
+    private static final long serialVersionUID = 9022047248318049371L;
+    @ApiModelProperty(value = "组织机构ID", required = true)
+    @NotNull(message = "组织机构ID不能为空")
+    private Long hospitalId;
 
     @ApiModelProperty(value = "表字段信息", required = true)
     @NotNull(message = "表信息不能为空")
@@ -36,6 +39,9 @@ public class AddColumnVerifyVO implements Serializable {
     @ApiModelProperty(value = "正则式名称")
     String regularName;
 
+    @ApiModelProperty(value = "标准值")
+    List<String> standardValueList;
+
     @ApiModelProperty(value = "说明")
     String description;
 

+ 1 - 1
daqe-center/src/main/java/com/lantone/daqe/web/ColumnVerifyManagementController.java

@@ -2,7 +2,6 @@ package com.lantone.daqe.web;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.lantone.common.api.CommonResult;
-import com.lantone.daqe.dto.GetColumnDTO;
 import com.lantone.daqe.dto.GetColumnNameDTO;
 import com.lantone.daqe.dto.GetColumnVerifyPageDTO;
 import com.lantone.daqe.dto.GetRegularDTO;
@@ -50,6 +49,7 @@ public class ColumnVerifyManagementController {
     public CommonResult<List<GetTableNameDTO>> getTableName(@RequestBody GetTableNameVO getTableNameVO) {
         return CommonResult.success(columnVerifyManagementFacade.getTableName(getTableNameVO));
     }
+
     @ApiOperation(value = "下拉框获取数据库表中列数据字段名称信息 [by:zhanghang]")
     @PostMapping("/getColumnName")
     public CommonResult<List<GetColumnNameDTO>> getColumnName(@RequestBody GetColumnNameVO getColumnNameVO) {

+ 0 - 1
daqe-center/src/main/java/com/lantone/daqe/web/RecordTemplateManagementController.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.lantone.common.api.CommonResult;
 import com.lantone.daqe.dto.GetRecordTemplateManageDTO;
 import com.lantone.daqe.dto.GetRecordTemplatePageDTO;
-import com.lantone.daqe.entity.RecordTemplate;
 import com.lantone.daqe.facade.RecordTemplateManagementFacade;
 import com.lantone.daqe.vo.GetRecordTemplateByIdVO;
 import com.lantone.daqe.vo.GetRecordTemplatePageVO;

+ 0 - 12
daqe-center/src/main/java/com/lantone/daqe/web/RegularManagementController.java

@@ -2,20 +2,11 @@ package com.lantone.daqe.web;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.lantone.common.api.CommonResult;
-import com.lantone.daqe.dto.GetDiseasePageDTO;
-import com.lantone.daqe.dto.GetMatchingDiseasePageDTO;
 import com.lantone.daqe.dto.GetRegularPageDTO;
-import com.lantone.daqe.facade.DiseaseManagementFacade;
 import com.lantone.daqe.facade.RegularManagementFacade;
-import com.lantone.daqe.vo.AddDiseaseVO;
 import com.lantone.daqe.vo.AddRegularVO;
-import com.lantone.daqe.vo.DelDiseaseByIdVO;
 import com.lantone.daqe.vo.DelRegularByIdVO;
-import com.lantone.daqe.vo.GetDiseasePageVO;
-import com.lantone.daqe.vo.GetMatchingDiseasePageVO;
 import com.lantone.daqe.vo.GetRegularPageVO;
-import com.lantone.daqe.vo.MatchingDiseaseVO;
-import com.lantone.daqe.vo.UpDiseaseByIdVO;
 import com.lantone.daqe.vo.UpRegularByIdVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -23,11 +14,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
 
-import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 
 /**