Explorar el Código

Merge branch 'dev/20220228_v3.0.1通用版_渠道管理第一期' into debug

zhanghang hace 3 años
padre
commit
1a6bc6df57
Se han modificado 29 ficheros con 856 adiciones y 846 borrados
  1. 3 0
      daqe-center/src/main/java/com/lantone/daqe/dto/GetColumnResultPageDTO.java
  2. 4 0
      daqe-center/src/main/java/com/lantone/daqe/dto/GetRegular.java
  3. 4 0
      daqe-center/src/main/java/com/lantone/daqe/dto/GetStandardvalueInfoDTO.java
  4. 4 0
      daqe-center/src/main/java/com/lantone/daqe/dto/GetTableColumnInfoDTO.java
  5. 6 0
      daqe-center/src/main/java/com/lantone/daqe/entity/ColumnResult.java
  6. 6 0
      daqe-center/src/main/java/com/lantone/daqe/entity/NonnullResult.java
  7. 6 0
      daqe-center/src/main/java/com/lantone/daqe/entity/RegularResult.java
  8. 6 0
      daqe-center/src/main/java/com/lantone/daqe/entity/StandardvalueResult.java
  9. 4 1
      daqe-center/src/main/java/com/lantone/daqe/enums/ModeEnum.java
  10. 476 777
      daqe-center/src/main/java/com/lantone/daqe/facade/ColumnResultManagementFacade.java
  11. 25 12
      daqe-center/src/main/java/com/lantone/daqe/facade/ColumnVerifyManagementFacade.java
  12. 7 1
      daqe-center/src/main/java/com/lantone/daqe/mapper/ColumnInfoMapper.java
  13. 2 1
      daqe-center/src/main/java/com/lantone/daqe/mapper/ColumnResultMapper.java
  14. 51 0
      daqe-center/src/main/java/com/lantone/daqe/task/UpColumnResultDataCompareTask.java
  15. 3 0
      daqe-center/src/main/java/com/lantone/daqe/vo/GetColumnNameVO.java
  16. 2 2
      daqe-center/src/main/java/com/lantone/daqe/vo/GetColumnResultNumberVO.java
  17. 4 4
      daqe-center/src/main/java/com/lantone/daqe/vo/GetColumnResultPageVO.java
  18. 2 1
      daqe-center/src/main/java/com/lantone/daqe/vo/GetTableColumnInfoVO.java
  19. 34 0
      daqe-center/src/main/java/com/lantone/daqe/vo/GetTableColumnNameVO.java
  20. 9 0
      daqe-center/src/main/java/com/lantone/daqe/web/ColumnResultManagmentController.java
  21. 3 2
      daqe-center/src/main/java/com/lantone/daqe/web/ColumnVerifyManagementController.java
  22. 5 0
      daqe-center/src/main/resources/bootstrap.yml
  23. 35 0
      daqe-center/src/main/resources/mapper/ColumnInfoMapper.xml
  24. 48 43
      daqe-center/src/main/resources/mapper/ColumnResultMapper.xml
  25. 1 0
      daqe-center/src/main/resources/mapper/RegularMappingMapper.xml
  26. 1 0
      daqe-center/src/main/resources/mapper/StandardvalueInfoMapper.xml
  27. 1 1
      daqe-center/src/main/resources/upgrade/V1__daqe_init.sql
  28. 103 0
      daqe-center/src/main/resources/upgrade/V3__daqe_init_addtable.sql
  29. 1 1
      dblayer-mbg/src/main/resources/application.yml

+ 3 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/GetColumnResultPageDTO.java

@@ -60,6 +60,9 @@ public class GetColumnResultPageDTO implements Serializable {
     @ApiModelProperty(value = "字段问题类型,1-数据缺失,2-非标准值,3-正则校验失败")
     private String type;
 
+    @ApiModelProperty(value = "入院日期")
+    private Date behospitalDate;
+
     @ApiModelProperty(value = "最近一次机器比对时间")
     private Date solveTime;
 

+ 4 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/GetRegular.java

@@ -6,6 +6,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * @Description: 获取正则信息
@@ -32,4 +33,7 @@ public class GetRegular implements Serializable {
 
     @ApiModelProperty(value = "正则式描述")
     private String des;
+
+    @ApiModelProperty(value = "修改时间")
+    private Date gmtModified;
 }

+ 4 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/GetStandardvalueInfoDTO.java

@@ -6,6 +6,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * @Description: 列信息标准值信息
@@ -23,4 +24,7 @@ public class GetStandardvalueInfoDTO implements Serializable {
 
     @ApiModelProperty(value = "标准值")
     private String standardvalue;
+
+    @ApiModelProperty(value = "修改时间")
+    private Date gmtModified;
 }

+ 4 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/GetTableColumnInfoDTO.java

@@ -6,6 +6,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * @Description:
@@ -33,6 +34,9 @@ public class GetTableColumnInfoDTO implements Serializable {
     @ApiModelProperty(value = "住院序号")
     private String behospitalCode;
 
+    @ApiModelProperty(value = "入院日期")
+    private Date behospitalDate;
+
     @ApiModelProperty(value = "值")
     private String val;
 

+ 6 - 0
daqe-center/src/main/java/com/lantone/daqe/entity/ColumnResult.java

@@ -152,6 +152,12 @@ public class ColumnResult implements Serializable {
     @TableField("description")
     private String description;
 
+    /**
+     * 入院日期
+     */
+    @TableField("behospital_date")
+    private Date behospitalDate;
+
     /**
      * 是否删除,N:未删除,Y:删除
      */

+ 6 - 0
daqe-center/src/main/java/com/lantone/daqe/entity/NonnullResult.java

@@ -134,6 +134,12 @@ public class NonnullResult implements Serializable {
     @TableField("audit_time")
     private Date auditTime;
 
+    /**
+     * 入院日期
+     */
+    @TableField("behospital_date")
+    private Date behospitalDate;
+
     /**
      * 描述
      */

+ 6 - 0
daqe-center/src/main/java/com/lantone/daqe/entity/RegularResult.java

@@ -158,6 +158,12 @@ public class RegularResult implements Serializable {
     @TableField("audit_time")
     private Date auditTime;
 
+    /**
+     * 入院日期
+     */
+    @TableField("behospital_date")
+    private Date behospitalDate;
+
     /**
      * 描述
      */

+ 6 - 0
daqe-center/src/main/java/com/lantone/daqe/entity/StandardvalueResult.java

@@ -140,6 +140,12 @@ public class StandardvalueResult implements Serializable {
     @TableField("audit_time")
     private Date auditTime;
 
+    /**
+     * 入院日期
+     */
+    @TableField("behospital_date")
+    private Date behospitalDate;
+
     /**
      * 描述
      */

+ 4 - 1
daqe-center/src/main/java/com/lantone/daqe/enums/ModeEnum.java

@@ -9,7 +9,10 @@ import lombok.Setter;
  * @time: 2022/3/11 16:03
  */
 public enum ModeEnum {
-    med_home_page("6", "病案首页");
+    med_home_page("6", "病案首页"),
+    med_behospital_info("0", "住院病历信息"),
+    str_admission_note("1", "入院记录"),
+    str_leave_hospital("5", "出院小结");
 
 
     @Getter

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 476 - 777
daqe-center/src/main/java/com/lantone/daqe/facade/ColumnResultManagementFacade.java


+ 25 - 12
daqe-center/src/main/java/com/lantone/daqe/facade/ColumnVerifyManagementFacade.java

@@ -38,6 +38,7 @@ import com.lantone.daqe.vo.GetByIdColumnVerifyVO;
 import com.lantone.daqe.vo.GetColumnNameVO;
 import com.lantone.daqe.vo.GetColumnVerifyPageVO;
 import com.lantone.daqe.vo.GetRegularVO;
+import com.lantone.daqe.vo.GetTableColumnNameVO;
 import com.lantone.daqe.vo.GetTableNameVO;
 import com.lantone.daqe.vo.UpdateColumnVerifyVO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -112,14 +113,7 @@ public class ColumnVerifyManagementFacade {
      * @return: 数据库表中列数据表名称信息
      */
     public List<GetTableNameDTO> getTableName(GetTableNameVO getTableNameVO) {
-        List<ColumnInfo> columnInfoList = columnInfoFacade.getBaseMapper().selectList(new QueryWrapper<ColumnInfo>()
-                .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")
-        );
-        List<GetTableNameDTO> getColumnDTOList = BeanUtil.listCopyTo(columnInfoList, GetTableNameDTO.class);
-        return getColumnDTOList;
+        return columnInfoFacade.getBaseMapper().getVerifyTableName(getTableNameVO);
     }
 
     /**
@@ -131,6 +125,7 @@ public class ColumnVerifyManagementFacade {
     public List<GetColumnNameDTO> getColumnName(GetColumnNameVO getColumnNameVO) {
         List<ColumnInfo> columnInfoList = columnInfoFacade.getBaseMapper().selectList(new QueryWrapper<ColumnInfo>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("table_ename",getColumnNameVO.getTableEname())
                 .like(StringUtil.isNotBlank(getColumnNameVO.getColumnCname()), "column_cname", getColumnNameVO.getColumnCname())
                 .like(StringUtil.isNotBlank(getColumnNameVO.getColumnEname()), "column_ename", getColumnNameVO.getColumnEname())
                 .groupBy("column_cname", "column_ename")
@@ -145,8 +140,8 @@ public class ColumnVerifyManagementFacade {
      * @param
      * @return: 数据库表中列数据字段名称信息
      */
-    public List<GetTableColumnNameDTO> getTableColumnName() {
-        List<GetColumnInfoDTO> columnInfoList = columnInfoFacade.getBaseMapper().getNoVerifyColumnName();
+    public List<GetTableColumnNameDTO> getTableColumnName(GetTableColumnNameVO getTableColumnNameVO) {
+        List<GetColumnInfoDTO> columnInfoList = columnInfoFacade.getBaseMapper().getNoVerifyColumnName(getTableColumnNameVO);
         List<String> columnString = new ArrayList<>();
         List<GetTableColumnNameDTO> getTableColumnNameDTOS = new ArrayList<>();
         for (GetColumnInfoDTO columnInfo : columnInfoList) {
@@ -200,6 +195,11 @@ public class ColumnVerifyManagementFacade {
         Long currentHospitalId = SysUserUtils.getCurrentHospitalId();
         addColumnVerifyVO.setHospitalId(currentHospitalId);
         List<ColumnInfoVO> columnList = addColumnVerifyVO.getColumnList();
+        //判断是否有重复
+        long distinctNum = columnList.stream().map(ColumnInfoVO::getId).distinct().count();
+        if (distinctNum < columnList.size()) {
+            Asserts.fail("表字段信息不能重复 !");
+        }
         //查出表列信息ID
         for (ColumnInfoVO columnInfoVO : columnList) {
             Long columnId = columnInfoVO.getId();
@@ -225,6 +225,7 @@ public class ColumnVerifyManagementFacade {
                 RegularMapping regularMapping = new RegularMapping();
                 regularMapping.setColumnId(columnId);
                 regularMapping.setGmtCreate(new Date());
+                regularMapping.setGmtModified(new Date());
                 regularMapping.setRegularId(addColumnVerifyVO.getRegularId());
                 try {
                     regularMappingFacade.getBaseMapper().insert(regularMapping);
@@ -238,6 +239,7 @@ public class ColumnVerifyManagementFacade {
                 columnVerify.setVerifyVal(addColumnVerifyVO.getRegularName());
                 columnVerify.setDescription(addColumnVerifyVO.getDescription());
                 columnVerify.setGmtCreate(new Date());
+                columnVerify.setGmtModified(new Date());
                 try {
                     columnVerifyFacade.getBaseMapper().insert(columnVerify);
                 } catch (Exception e) {
@@ -257,6 +259,7 @@ public class ColumnVerifyManagementFacade {
                 NonnullInfo nonnullInfo = new NonnullInfo();
                 nonnullInfo.setColumnId(columnId);
                 nonnullInfo.setGmtCreate(new Date());
+                nonnullInfo.setGmtModified(new Date());
                 nonnullInfo.setIsRequired(addColumnVerifyVO.getIsRequired());
                 try {
                     nonnullInfoFacade.getBaseMapper().insert(nonnullInfo);
@@ -270,6 +273,7 @@ public class ColumnVerifyManagementFacade {
                 columnVerify.setVerifyVal(addColumnVerifyVO.getIsRequired());
                 columnVerify.setDescription(addColumnVerifyVO.getDescription());
                 columnVerify.setGmtCreate(new Date());
+                columnVerify.setGmtModified(new Date());
                 try {
                     columnVerifyFacade.getBaseMapper().insert(columnVerify);
                 } catch (Exception e) {
@@ -283,6 +287,7 @@ public class ColumnVerifyManagementFacade {
                     StandardvalueInfo standardvalueInfo = new StandardvalueInfo();
                     standardvalueInfo.setColumnId(columnId);
                     standardvalueInfo.setGmtCreate(new Date());
+                    standardvalueInfo.setGmtModified(new Date());
                     standardvalueInfo.setVal(standardValue);
                     try {
                         standardvalueInfoFacade.getBaseMapper().insert(standardvalueInfo);
@@ -296,6 +301,7 @@ public class ColumnVerifyManagementFacade {
                     columnVerify.setVerifyVal(standardValue);
                     columnVerify.setDescription(addColumnVerifyVO.getDescription());
                     columnVerify.setGmtCreate(new Date());
+                    columnVerify.setGmtModified(new Date());
                     try {
                         columnVerifyFacade.getBaseMapper().insert(columnVerify);
                     } catch (Exception e) {
@@ -390,6 +396,11 @@ public class ColumnVerifyManagementFacade {
         Long currentHospitalId = SysUserUtils.getCurrentHospitalId();
         updateColumnVerifyVO.setHospitalId(currentHospitalId);
         List<ColumnInfoVO> columnList = updateColumnVerifyVO.getColumnList();
+        //判断是否有重复--去重
+        long distinctNum = columnList.stream().map(ColumnInfoVO::getId).distinct().count();
+        if (distinctNum < columnList.size()) {
+            Asserts.fail("表字段信息不能重复 !");
+        }
         AddColumnVerifyVO addColumnVerifyVO = new AddColumnVerifyVO();
         List<ColumnInfoVO> columnInfoAdd = new ArrayList<>();
         List<ColumnInfoVO> columnInfoUpdate = new ArrayList<>();
@@ -533,10 +544,10 @@ public class ColumnVerifyManagementFacade {
                     //插入关键字信息维护表
                     List<String> standardValueList = updateColumnVerifyVO.getStandardValueList();
                     //先删除之前的关联然后直接插入
-                    standardvalueInfoFacade.remove(new QueryWrapper<StandardvalueInfo>()
+                    standardvalueInfoFacade.remove(new UpdateWrapper<StandardvalueInfo>()
                             .eq("column_id", columnId)
                     );
-                    columnVerifyFacade.remove(new QueryWrapper<ColumnVerify>()
+                    columnVerifyFacade.remove(new UpdateWrapper<ColumnVerify>()
                             .eq("column_id", columnId)
                             .eq("type", ColumnVerifyTypeEnum.STANDARD_TYPE.getKey())
                     );
@@ -544,6 +555,7 @@ public class ColumnVerifyManagementFacade {
                         StandardvalueInfo standardvalueInfo = new StandardvalueInfo();
                         standardvalueInfo.setColumnId(columnId);
                         standardvalueInfo.setGmtCreate(new Date());
+                        standardvalueInfo.setGmtModified(new Date());
                         standardvalueInfo.setVal(standardValue);
                         try {
                             standardvalueInfoFacade.getBaseMapper().insert(standardvalueInfo);
@@ -557,6 +569,7 @@ public class ColumnVerifyManagementFacade {
                         columnVerify.setVerifyVal(standardValue);
                         columnVerify.setDescription(updateColumnVerifyVO.getDescription());
                         columnVerify.setGmtCreate(new Date());
+                        columnVerify.setGmtModified(new Date());
                         try {
                             columnVerifyFacade.getBaseMapper().insert(columnVerify);
                         } catch (Exception e) {

+ 7 - 1
daqe-center/src/main/java/com/lantone/daqe/mapper/ColumnInfoMapper.java

@@ -2,7 +2,11 @@ package com.lantone.daqe.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.lantone.daqe.dto.GetColumnInfoDTO;
+import com.lantone.daqe.dto.GetTableNameDTO;
 import com.lantone.daqe.entity.ColumnInfo;
+import com.lantone.daqe.vo.GetTableColumnNameVO;
+import com.lantone.daqe.vo.GetTableNameVO;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -12,5 +16,7 @@ import java.util.List;
  * </p>
  */
 public interface ColumnInfoMapper extends BaseMapper<ColumnInfo> {
-    List<GetColumnInfoDTO> getNoVerifyColumnName();
+
+    List<GetColumnInfoDTO> getNoVerifyColumnName(@Param("getTableColumnNameVO") GetTableColumnNameVO getTableColumnNameVO);
+    List<GetTableNameDTO> getVerifyTableName(@Param("getTableNameVO") GetTableNameVO getTableNameVO);
 }

+ 2 - 1
daqe-center/src/main/java/com/lantone/daqe/mapper/ColumnResultMapper.java

@@ -18,5 +18,6 @@ import java.util.List;
 public interface ColumnResultMapper extends BaseMapper<ColumnResult> {
     GetColumnResultNumberDTO getColumnResultNumber(@Param("getColumnResultNumberVO") GetColumnResultNumberVO getColumnResultNumberVO);
 
-    List<GetTableColumnInfoDTO> getTableColumnVal(@Param("getTableColumnInfoVO") GetTableColumnInfoVO getTableColumnInfoVO);
+
+    List<GetTableColumnInfoDTO> getSpecialTableColumnVal(@Param("getTableColumnInfoVO") GetTableColumnInfoVO getTableColumnInfoVO);
 }

+ 51 - 0
daqe-center/src/main/java/com/lantone/daqe/task/UpColumnResultDataCompareTask.java

@@ -0,0 +1,51 @@
+package com.lantone.daqe.task;
+
+import com.lantone.common.util.DateUtil;
+import com.lantone.daqe.facade.ColumnResultManagementFacade;
+import com.lantone.daqe.vo.DataCheckVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.Trigger;
+import org.springframework.scheduling.TriggerContext;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.SchedulingConfigurer;
+import org.springframework.scheduling.config.ScheduledTaskRegistrar;
+import org.springframework.scheduling.support.CronTrigger;
+
+import java.util.Date;
+
+@Configuration      //1.主要用于标记配置类,兼备Component的效果。
+@EnableScheduling   // 2.开启定时任务
+@Slf4j
+public class UpColumnResultDataCompareTask implements SchedulingConfigurer {
+
+    @Autowired
+    private ColumnResultManagementFacade columnResultManagementFacade;
+    @Value("${upColumnResult.compare.cron}")
+    private String cron = "0 0 0 * * ?";
+    @Value("${upColumnResult.compare.use}")
+    private String isUsed = "false";
+
+    /**
+     * 执行定时任务.
+     */
+    @Override
+    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
+        taskRegistrar.addTriggerTask(new Runnable() {
+            @Override
+            public void run() {
+                if(Boolean.parseBoolean(isUsed)){
+                    columnResultManagementFacade.taskCheckTableColumnVal();
+                }
+            }
+        }, new Trigger() {
+            @Override
+            public Date nextExecutionTime(TriggerContext triggerContext) {
+                CronTrigger trigger = new CronTrigger(cron);
+                return trigger.nextExecutionTime(triggerContext);
+            }
+        });
+    }
+}

+ 3 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/GetColumnNameVO.java

@@ -19,6 +19,9 @@ public class GetColumnNameVO implements Serializable {
 
     private static final long serialVersionUID = 5838762135714290423L;
 
+    @ApiModelProperty(value = "表名称(英文)", required = true)
+    private String tableEname;
+
     @ApiModelProperty(value = "字段名称(中文)")
     private String columnCname;
 

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

@@ -26,10 +26,10 @@ public class GetColumnResultNumberVO implements Serializable {
 
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "开始时间", required = true)
-    private Date solveTimeStart;
+    private Date behospitalStartDate;
 
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "结束时间", required = true)
-    private Date solveTimeEnd;
+    private Date behospitalEndDate;
 
 }

+ 4 - 4
daqe-center/src/main/java/com/lantone/daqe/vo/GetColumnResultPageVO.java

@@ -22,12 +22,12 @@ public class GetColumnResultPageVO extends Page {
     private static final long serialVersionUID = -9174449428110548322L;
 
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty(value = "开始时间", required = true)
-    private Date solveTimeStart;
+    @ApiModelProperty(value = "入院开始时间", required = true)
+    private Date behospitalStartDate;
 
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty(value = "结束时间", required = true)
-    private Date solveTimeEnd;
+    @ApiModelProperty(value = "入院结束时间", required = true)
+    private Date behospitalEndDate;
 
     @ApiModelProperty(value = "组织ID", required = true,hidden = true)
     private Long hospitalId;

+ 2 - 1
daqe-center/src/main/java/com/lantone/daqe/vo/GetTableColumnInfoVO.java

@@ -6,6 +6,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * @Description: 表字段名称表名称信息
@@ -42,7 +43,7 @@ public class GetTableColumnInfoVO implements Serializable {
     private String columnEname;
 
     @ApiModelProperty(value = "住院序号")
-    private String behospitalCode;
+    private List<String> behospitalCodeList;
 
     @ApiModelProperty(value = "是否为运行质控,0-运行质控,1-终末质控",required = true)
     private String isPlacefile;

+ 34 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/GetTableColumnNameVO.java

@@ -0,0 +1,34 @@
+package com.lantone.daqe.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 根据类型获取表字段信息
+ * @author: zhanghang
+ * @time: 2022/3/23 10:45
+ */
+@ApiModel(value = "根据类型获取表字段信息")
+@Getter
+@Setter
+public class GetTableColumnNameVO implements Serializable {
+    private static final long serialVersionUID = -3298890194696044902L;
+
+    @ApiModelProperty(value = "表名称(中文)")
+    private String tableCname;
+
+    @ApiModelProperty(value = "表名称(英文)")
+    private String tableEname;
+
+    @ApiModelProperty(value = "字段名称(中文)")
+    private String columnCname;
+
+    @ApiModelProperty(value = "字段名称(英文)")
+    private String columnEname;
+
+
+}

+ 9 - 0
daqe-center/src/main/java/com/lantone/daqe/web/ColumnResultManagmentController.java

@@ -21,6 +21,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * @Description: 字段校验问题明细API
  * @author: zhanghang
@@ -66,4 +68,11 @@ public class ColumnResultManagmentController {
     public CommonResult<Boolean> dataCheck(@RequestBody DataCheckVO dataCheckVO) {
         return CommonResult.success(columnResultManagementFacade.dataCheck(dataCheckVO));
     }
+
+    @ApiOperation(value = "获取质控模块名称 [by:zhanghang]")
+    @PostMapping("/getModeName")
+    @Transactional
+    public CommonResult<List<String>> getModeName() {
+        return CommonResult.success(columnResultManagementFacade.getModeName());
+    }
 }

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

@@ -16,6 +16,7 @@ import com.lantone.daqe.vo.GetByIdColumnVerifyVO;
 import com.lantone.daqe.vo.GetColumnNameVO;
 import com.lantone.daqe.vo.GetColumnVerifyPageVO;
 import com.lantone.daqe.vo.GetRegularVO;
+import com.lantone.daqe.vo.GetTableColumnNameVO;
 import com.lantone.daqe.vo.GetTableNameVO;
 import com.lantone.daqe.vo.UpdateColumnVerifyVO;
 import io.swagger.annotations.Api;
@@ -70,8 +71,8 @@ public class ColumnVerifyManagementController {
 
     @ApiOperation(value = "新增修改下拉框获取数据库表中列数据字段名称信息 [by:zhanghang]")
     @PostMapping("/getAddUpColumnName")
-    public CommonResult<List<GetTableColumnNameDTO>> getTableColumnName() {
-        return CommonResult.success(columnVerifyManagementFacade.getTableColumnName());
+    public CommonResult<List<GetTableColumnNameDTO>> getTableColumnName(@RequestBody GetTableColumnNameVO getTableColumnNameVO) {
+        return CommonResult.success(columnVerifyManagementFacade.getTableColumnName(getTableColumnNameVO ));
     }
 
     @ApiOperation(value = "下拉框获取正则式名称 [by:zhanghang]")

+ 5 - 0
daqe-center/src/main/resources/bootstrap.yml

@@ -65,4 +65,9 @@ blockloss:
 columnResult:
   compare:
     cron: 0 0 1 * * ?
+    use: true
+#修改规则数据校验定时器
+upColumnResult:
+  compare:
+    cron: 0 0 0 * * ?
     use: true

+ 35 - 0
daqe-center/src/main/resources/mapper/ColumnInfoMapper.xml

@@ -21,6 +21,18 @@
                             dc_column_info a
                         WHERE
                             a.is_deleted = 'N'
+                        <if test="getTableColumnNameVO.tableCname != null and getTableColumnNameVO.tableCname != ''">
+                            AND a.table_cname LIKE CONCAT('%',#{getTableColumnNameVO.tableCname},'%')
+                        </if>
+                        <if test="getTableColumnNameVO.tableEname != null and getTableColumnNameVO.tableEname != ''">
+                            AND a.table_ename LIKE CONCAT('%',#{getTableColumnNameVO.tableEname},'%')
+                        </if>
+                        <if test="getTableColumnNameVO.columnCname != null and getTableColumnNameVO.columnCname != ''">
+                            AND a.column_cname LIKE CONCAT('%',#{getTableColumnNameVO.columnCname},'%')
+                        </if>
+                        <if test="getTableColumnNameVO.columnEname != null and getTableColumnNameVO.columnEname != ''">
+                            AND a.column_ename LIKE CONCAT('%',#{getTableColumnNameVO.columnEname},'%')
+                        </if>
                     ) a
                 LEFT JOIN dc_column_verify b ON a.id = b.column_id
                 GROUP BY
@@ -29,4 +41,27 @@
         WHERE
             a.column_id IS NULL
     </select>
+
+
+    <select id="getVerifyTableName" resultType="com.lantone.daqe.dto.GetTableNameDTO">
+        SELECT
+            a.table_ename,
+            a.table_cname
+        FROM
+            dc_column_info a,
+            dc_column_verify b
+        WHERE
+            b.column_id=a.id
+            and a.is_deleted='N'
+            and b.is_deleted='N'
+            <if test="getTableNameVO.tableCname != null and getTableNameVO.tableCname != ''">
+                AND a.table_cname LIKE CONCAT('%',#{getTableNameVO.tableCname},'%')
+            </if>
+            <if test="getTableNameVO.tableEname != null and getTableNameVO.tableEname != ''">
+                AND a.table_ename LIKE CONCAT('%',#{getTableNameVO.tableEname},'%')
+            </if>
+            GROUP BY
+            table_cname,
+            table_ename
+    </select>
 </mapper>

+ 48 - 43
daqe-center/src/main/resources/mapper/ColumnResultMapper.xml

@@ -3,52 +3,57 @@
 <mapper namespace="com.lantone.daqe.mapper.ColumnResultMapper">
 
     <select id="getColumnResultNumber" resultType="com.lantone.daqe.dto.GetColumnResultNumberDTO">
-		SELECT
-		sum(CASE dcr.is_solved WHEN 1 THEN 1 ELSE 0 END) resolved,
-		sum(CASE dcr.is_solved WHEN 0 THEN 1 ELSE 0 END) notSolved,
-		sum(CASE dcr.is_solved WHEN 1 THEN (CASE dcr.type WHEN 1 THEN 1 ELSE 0 END) ELSE 0 END) resolvedNonnull,
-		sum(CASE dcr.is_solved WHEN 1 THEN (CASE dcr.type WHEN 2 THEN 1 ELSE 0 END) ELSE 0 END) resolvedStandardvalue,
-		sum(CASE dcr.is_solved WHEN 1 THEN (CASE dcr.type WHEN 3 THEN 1 ELSE 0 END) ELSE 0 END) resolvedRegular,
-		sum(CASE dcr.is_solved WHEN 0 THEN (CASE dcr.type WHEN 1 THEN 1 ELSE 0 END) ELSE 0 END) notSolvedNonnull,
-		sum(CASE dcr.is_solved WHEN 0 THEN (CASE dcr.type WHEN 2 THEN 1 ELSE 0 END) ELSE 0 END) notSolvedStandardvalue,
-		sum(CASE dcr.is_solved WHEN 0 THEN (CASE dcr.type WHEN 3 THEN 1 ELSE 0 END) ELSE 0 END) notSolvedRegular
-		FROM
-			dc_column_result dcr
-		WHERE
-			dcr.is_deleted = 'N'
-		and hospital_id=#{getColumnResultNumberVO.hospitalId}
-		<if test="getColumnResultNumberVO.solveTimeStart != null ">
-			<![CDATA[ AND solve_time >= #{getColumnResultNumberVO.solveTimeStart}]]>
-		</if>
-		<if test="getColumnResultNumberVO.solveTimeEnd != null ">
-			<![CDATA[ AND solve_time <= #{getColumnResultNumberVO.solveTimeEnd}]]>
-		</if>
+        SELECT
+        sum(CASE dcr.is_solved WHEN 1 THEN 1 ELSE 0 END) resolved,
+        sum(CASE dcr.is_solved WHEN 0 THEN 1 ELSE 0 END) notSolved,
+        sum(CASE dcr.is_solved WHEN 1 THEN (CASE dcr.type WHEN 1 THEN 1 ELSE 0 END) ELSE 0 END) resolvedNonnull,
+        sum(CASE dcr.is_solved WHEN 1 THEN (CASE dcr.type WHEN 2 THEN 1 ELSE 0 END) ELSE 0 END) resolvedStandardvalue,
+        sum(CASE dcr.is_solved WHEN 1 THEN (CASE dcr.type WHEN 3 THEN 1 ELSE 0 END) ELSE 0 END) resolvedRegular,
+        sum(CASE dcr.is_solved WHEN 0 THEN (CASE dcr.type WHEN 1 THEN 1 ELSE 0 END) ELSE 0 END) notSolvedNonnull,
+        sum(CASE dcr.is_solved WHEN 0 THEN (CASE dcr.type WHEN 2 THEN 1 ELSE 0 END) ELSE 0 END) notSolvedStandardvalue,
+        sum(CASE dcr.is_solved WHEN 0 THEN (CASE dcr.type WHEN 3 THEN 1 ELSE 0 END) ELSE 0 END) notSolvedRegular
+        FROM
+        dc_column_result dcr
+        WHERE
+        dcr.is_deleted = 'N'
+        and hospital_id=#{getColumnResultNumberVO.hospitalId}
+        <if test="getColumnResultNumberVO.behospitalStartDate != null ">
+            <![CDATA[ AND behospital_date >= #{getColumnResultNumberVO.behospitalStartDate}]]>
+        </if>
+        <if test="getColumnResultNumberVO.behospitalEndDate != null ">
+            <![CDATA[ AND behospital_date <= #{getColumnResultNumberVO.behospitalEndDate}]]>
+        </if>
 
     </select>
 
 
-    <select id="getTableColumnVal" resultType="com.lantone.daqe.dto.GetTableColumnInfoDTO">
-		SELECT
-			a.behospital_code,
-			a.hospital_id,
-			sdd.id tableId,
-			sdd.${getTableColumnInfoVO.columnEname} val,
-			sdd.${getTableColumnInfoVO.numberColumnCname} numberId
-		FROM
-			(
-				SELECT
-					behospital_code,
-					hospital_id
-				FROM
-					med_behospital_info
-				WHERE
-					behospital_code = #{getTableColumnInfoVO.behospitalCode}
-				AND is_deleted = 'N'
-				AND hospital_id = #{getTableColumnInfoVO.hospitalId}
-				AND is_placefile = #{getTableColumnInfoVO.isPlacefile}
-			) a
-		LEFT JOIN ${getTableColumnInfoVO.tableEname} sdd ON sdd.behospital_code = a.behospital_code
-		AND sdd.is_deleted = 'N'
-		AND a.hospital_id = sdd.hospital_id
+    <select id="getSpecialTableColumnVal" resultType="com.lantone.daqe.dto.GetTableColumnInfoDTO">
+        SELECT
+        a.behospital_code,
+        a.hospital_id,
+        sdd.id tableId,
+        a.behospital_date,
+        sdd.${getTableColumnInfoVO.columnEname} val,
+        sdd.${getTableColumnInfoVO.numberColumnCname} numberId
+        FROM
+        (
+        SELECT
+        behospital_code,
+        hospital_id,
+        behospital_date
+        FROM
+        med_behospital_info
+        WHERE
+        is_deleted = 'N'
+        AND hospital_id = #{getTableColumnInfoVO.hospitalId}
+        AND behospital_code in
+        <foreach collection="getTableColumnInfoVO.behospitalCodeList" item="behospitalCode" open="(" separator=","
+                 close=")">
+            #{behospitalCode}
+        </foreach>
+        ) a
+        LEFT JOIN ${getTableColumnInfoVO.tableEname} sdd ON sdd.behospital_code = a.behospital_code
+        AND sdd.is_deleted = 'N'
+        AND a.hospital_id = sdd.hospital_id
     </select>
 </mapper>

+ 1 - 0
daqe-center/src/main/resources/mapper/RegularMappingMapper.xml

@@ -7,6 +7,7 @@
         SELECT
         a.column_id,
         a.regular_id id,
+        a.gmt_modified,
         b.`name`,
         b.val,
         b.description des

+ 1 - 0
daqe-center/src/main/resources/mapper/StandardvalueInfoMapper.xml

@@ -5,6 +5,7 @@
     <select id="getStandardvalueInfo" resultType="com.lantone.daqe.dto.GetStandardvalueInfoDTO">
         SELECT
             a.column_id,
+            a.gmt_modified,
             GROUP_CONCAT(a.val SEPARATOR ';') standardvalue
         FROM
             dc_standardvalue_info a

+ 1 - 1
daqe-center/src/main/resources/upgrade/V1__daqe_init.sql

@@ -142,7 +142,7 @@ CREATE TABLE `dc_regular_info` (
   `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
   `name` varchar(32) NOT NULL COMMENT '正则式名称',
   `val` varchar(256) NOT NULL COMMENT '正则式值',
-  `description` varchar(512) DEFAULT NULL COMMENT '描述',
+  `description` varchar(512) NOT NULL COMMENT '描述',
   `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
   `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
   `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',

+ 103 - 0
daqe-center/src/main/resources/upgrade/V3__daqe_init_addtable.sql

@@ -0,0 +1,103 @@
+-- ----------------------------
+-- 1.新增入院记录结构化表
+-- ----------------------------
+DROP TABLE IF EXISTS `str_admission_note`;
+CREATE TABLE `str_admission_note` (
+  `rec_id` varchar(100) NOT NULL COMMENT '记录编号',
+  `hospital_id` bigint(20) NOT NULL COMMENT '医院ID',
+  `behospital_code` varchar(50) NOT NULL COMMENT '病历号',
+  `name` varchar(32) DEFAULT NULL COMMENT '姓名',
+  `sex` varchar(2) DEFAULT NULL COMMENT '性别',
+  `age` varchar(32) DEFAULT NULL COMMENT '年龄',
+  `bed_no` varchar(50) DEFAULT NULL COMMENT '床号',
+  `dept_name` varchar(50) DEFAULT NULL COMMENT '科别',
+  `record_date` datetime DEFAULT NULL COMMENT '病历日期',
+  `birthday` datetime DEFAULT NULL COMMENT '出生日期',
+  `marriage` varchar(16) DEFAULT NULL COMMENT '婚姻状况',
+  `job_type` varchar(32) DEFAULT NULL COMMENT '职业',
+  `nation` varchar(32) DEFAULT NULL COMMENT '民族',
+  `phone` varchar(32) DEFAULT NULL COMMENT '联系电话',
+  `workplace` varchar(256) DEFAULT NULL COMMENT '工作单位',
+  `register_address` varchar(256) DEFAULT NULL COMMENT '户口地址',
+  `born_address` varchar(256) DEFAULT NULL COMMENT '出生地',
+  `expect_date` varchar(100) DEFAULT NULL COMMENT '预产期',
+  `last_menstrual` varchar(100) DEFAULT NULL COMMENT '末次月经',
+  `pregnant_num` varchar(100) DEFAULT NULL COMMENT '孕/产次',
+  `behospital_date` datetime DEFAULT NULL COMMENT '入院日期',
+  `history_teller` varchar(64) DEFAULT NULL COMMENT '病史陈述者',
+  `chief` varchar(2500) DEFAULT NULL COMMENT '主诉',
+  `present` text COMMENT '现病史',
+  `past_history` text COMMENT '既往史',
+  `personal_history` text COMMENT '个人史',
+  `marital_history` text COMMENT '婚育史',
+  `menstrual_history` text COMMENT '月经史',
+  `family_history` text COMMENT '家族史',
+  `feeding_history` text COMMENT '喂养史',
+  `operation_history` text COMMENT '手术外伤史',
+  `blood_history` text COMMENT '输血史',
+  `infection_history` text COMMENT '传染病史',
+  `special_vital` text COMMENT '专科检查',
+  `assistant_exam` text COMMENT '辅助检查',
+  `lis_exam` text COMMENT '实验室检查',
+  `pacs_exam` text COMMENT '影像学检查',
+  `tentative_diagnosis` varchar(1000) DEFAULT NULL COMMENT '初步诊断',
+  `supply_diagnosis` varchar(1000) DEFAULT NULL COMMENT '补充诊断',
+  `revised_diagnosis` varchar(1000) DEFAULT NULL COMMENT '修正诊断',
+  `rec_doctor` varchar(32) DEFAULT NULL COMMENT '记录医生',
+  `rec_date` datetime DEFAULT NULL COMMENT '记录时间',
+  `audit_doctor` varchar(32) DEFAULT NULL COMMENT '审核医生',
+  `audit_date` datetime DEFAULT NULL COMMENT '审核时间',
+  `temperature` varchar(100) DEFAULT NULL COMMENT '体温',
+  `pulse` varchar(100) DEFAULT NULL COMMENT '脉搏',
+  `breathe` varchar(100) DEFAULT NULL COMMENT '呼吸',
+  `blood_pressure` varchar(100) DEFAULT NULL COMMENT '血压',
+  `pain` varchar(255) DEFAULT NULL COMMENT '疼痛',
+  `weight` varchar(100) DEFAULT NULL COMMENT '体重',
+  `height` varchar(100) DEFAULT NULL COMMENT '身高',
+  `bmi` varchar(100) DEFAULT NULL COMMENT 'BMI',
+  `whole_data` longtext COMMENT '结构化数据',
+  `remark` varchar(1024) DEFAULT NULL COMMENT '备注',
+  `is_deleted` varchar(3) DEFAULT 'N' COMMENT '是否删除',
+  `gmt_create` datetime DEFAULT NULL COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT NULL COMMENT '记录修改时间',
+  `creator` varchar(60) DEFAULT NULL COMMENT '创建人',
+  `modifier` varchar(60) DEFAULT NULL COMMENT '修改人',
+  PRIMARY KEY (`rec_id`,`hospital_id`,`behospital_code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='入院记录';
+-- ----------------------------
+-- 1.新增出院小结结构化表
+-- ----------------------------
+DROP TABLE IF EXISTS `str_leave_hospital`;
+CREATE TABLE `str_leave_hospital` (
+  `rec_id` varchar(32) NOT NULL COMMENT '记录编号',
+  `hospital_id` bigint(20) NOT NULL COMMENT '医院ID',
+  `behospital_code` varchar(50) DEFAULT NULL COMMENT '病历号',
+  `name` varchar(100) DEFAULT NULL COMMENT '姓名',
+  `sex` varchar(2) DEFAULT NULL COMMENT '性别',
+  `age` varchar(32) DEFAULT NULL COMMENT '年龄',
+  `bed_no` varchar(32) DEFAULT NULL COMMENT '床号',
+  `dept_name` varchar(32) DEFAULT NULL COMMENT '科别',
+  `record_date` datetime DEFAULT NULL COMMENT '病历日期',
+  `behospital_date` datetime DEFAULT NULL COMMENT '入院日期',
+  `leave_hospital_date` datetime DEFAULT NULL COMMENT '出院日期',
+  `tentative_diagnosis` varchar(1000) DEFAULT NULL COMMENT '入院诊断',
+  `leave_diagnosis` varchar(1500) DEFAULT NULL COMMENT '出院诊断',
+  `behospital_day_num` varchar(8) DEFAULT NULL COMMENT '住院天数',
+  `behospital_reason` text COMMENT '入院原因',
+  `behospital_situation` text COMMENT '入院情况',
+  `treatment_process` text COMMENT '诊治经过',
+  `leave_hospital_situation` text COMMENT '出院情况',
+  `leave_hospital_doctoradvice` text COMMENT '出院医嘱',
+  `rec_doctor` varchar(100) DEFAULT NULL COMMENT '记录医生',
+  `rec_date` datetime DEFAULT NULL COMMENT '记录时间',
+  `audit_doctor` varchar(32) DEFAULT NULL COMMENT '审核医生',
+  `audit_date` datetime DEFAULT NULL COMMENT '审核时间',
+  `whole_data` longtext COMMENT '结构化数据',
+  `remark` varchar(1024) DEFAULT NULL COMMENT '备注',
+  `is_deleted` varchar(3) DEFAULT 'N' COMMENT '是否删除',
+  `gmt_create` datetime DEFAULT NULL COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT NULL COMMENT '记录修改时间',
+  `creator` varchar(60) DEFAULT NULL COMMENT '创建人',
+  `modifier` varchar(60) DEFAULT NULL COMMENT '修改人',
+  PRIMARY KEY (`rec_id`,`hospital_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='出院小结';

+ 1 - 1
dblayer-mbg/src/main/resources/application.yml

@@ -48,7 +48,7 @@ spring:
         login-password: root
   flyway:
     # 启用Flyway功能
-    enabled: true
+    enabled: false
     # 禁用Flyway的clean命令,使用clean命令会删除schema下的所有表
     clean-disabled: true
     # 设置Flyway的SQL脚本路径