Commit be7c11ba by 刘泽志

字段对比功能

parent eb72e954
...@@ -2,6 +2,7 @@ package com.tbyf.his.web.controller.dataImport; ...@@ -2,6 +2,7 @@ package com.tbyf.his.web.controller.dataImport;
import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tbyf.his.common.annotation.IgnoreWebSecurity; import com.tbyf.his.common.annotation.IgnoreWebSecurity;
...@@ -82,6 +83,26 @@ public class DataFieldController { ...@@ -82,6 +83,26 @@ public class DataFieldController {
} }
@IgnoreWebSecurity @IgnoreWebSecurity
@GetMapping("/dict")
@ApiOperation("字段查询字典,查询的是当前模板之前年份的同类模板")
public AjaxResult queryFieldDict(@RequestParam String templateId) {
final DataTemplate template = dataTemplateService.getById(templateId);
if (template != null) {
final DataTemplate dataTemplate = dataTemplateService.getOne(Wrappers.lambdaQuery(DataTemplate.class)
.eq(DataTemplate::getOrgName, template.getOrgName())
.lt(DataTemplate::getYear, template.getYear())
.orderByDesc(DataTemplate::getYear), false);
if (dataTemplate != null) {
return AjaxResult.success(dataFieldService.list(Wrappers.lambdaQuery(DataField.class)
.eq(DataField::getTemplateId, dataTemplate.getId())
.isNotNull(DataField::getField)
.orderByAsc(DataField::getSort)));
}
}
return AjaxResult.success(Collections.emptyList());
}
@IgnoreWebSecurity
@PostMapping("") @PostMapping("")
@ApiOperation("字段新增") @ApiOperation("字段新增")
public AjaxResult addField(@RequestBody @Validated AddFieldParam param) { public AjaxResult addField(@RequestBody @Validated AddFieldParam param) {
...@@ -172,10 +193,14 @@ public class DataFieldController { ...@@ -172,10 +193,14 @@ public class DataFieldController {
@ApiOperation("元字段查询") @ApiOperation("元字段查询")
public TableDataInfo queryField(@Validated QueryMetaFieldParam param) { public TableDataInfo queryField(@Validated QueryMetaFieldParam param) {
final Page<MetaField> page = Page.of(param.getPageNum(), param.getPageSize()); final Page<MetaField> page = Page.of(param.getPageNum(), param.getPageSize());
final LambdaQueryWrapper<MetaField> queryWrapper = Wrappers.lambdaQuery(MetaField.class); final QueryWrapper<MetaField> queryWrapper = new QueryWrapper<>();
queryWrapper.like(StringUtils.isNotBlank(param.getFieldName()), MetaField::getFieldName, param.getFieldName()) //final LambdaQueryWrapper<MetaField> queryWrapper = Wrappers.lambdaQuery(MetaField.class);
.like(StringUtils.isNotBlank(param.getFieldType()), MetaField::getFieldType, param.getFieldType()) queryWrapper.like(StringUtils.isNotBlank(param.getFieldName()), "field_name", param.getFieldName())
.like(StringUtils.isNotBlank(param.getFieldComment()), MetaField::getFieldComment, param.getFieldComment()); .like(StringUtils.isNotBlank(param.getFieldType()), "field_type", param.getFieldType())
.like(StringUtils.isNotBlank(param.getFieldComment()), "field_comment", param.getFieldComment());
if (StringUtils.equals("length", param.getErrorType())) {
queryWrapper.gt("length(field_name)", 30);
}
final Page<MetaField> templatePage = metaFieldService.page(page, queryWrapper); final Page<MetaField> templatePage = metaFieldService.page(page, queryWrapper);
return param.convert(templatePage); return param.convert(templatePage);
} }
......
...@@ -7,6 +7,8 @@ import lombok.Data; ...@@ -7,6 +7,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
/** /**
* @author lzz * @author lzz
* @date 2023/1/10 17:01 * @date 2023/1/10 17:01
...@@ -17,6 +19,7 @@ import lombok.experimental.Accessors; ...@@ -17,6 +19,7 @@ import lombok.experimental.Accessors;
@ApiModel(value = "字段查询参数", description = "字段查询参数") @ApiModel(value = "字段查询参数", description = "字段查询参数")
public class QueryFieldParam extends ParamMp { public class QueryFieldParam extends ParamMp {
@NotBlank(message = "templateId不能传空")
@ApiModelProperty(value = "模板ID") @ApiModelProperty(value = "模板ID")
private String templateId; private String templateId;
...@@ -32,4 +35,6 @@ public class QueryFieldParam extends ParamMp { ...@@ -32,4 +35,6 @@ public class QueryFieldParam extends ParamMp {
@ApiModelProperty(value = "数据库字段名") @ApiModelProperty(value = "数据库字段名")
private String field; private String field;
private String oldTemplateId;
} }
...@@ -26,4 +26,7 @@ public class QueryMetaFieldParam extends ParamMp { ...@@ -26,4 +26,7 @@ public class QueryMetaFieldParam extends ParamMp {
@ApiModelProperty(value = "字段注释/指标名称") @ApiModelProperty(value = "字段注释/指标名称")
private String fieldComment; private String fieldComment;
@ApiModelProperty(value = "异常检测类型 length")
private String errorType;
} }
...@@ -30,6 +30,12 @@ public class DataFieldVO implements Serializable { ...@@ -30,6 +30,12 @@ public class DataFieldVO implements Serializable {
@ApiModelProperty(value = "指标名称") @ApiModelProperty(value = "指标名称")
private String title; private String title;
private String oldCode;
private String oldTitle;
private String oldId;
@ApiModelProperty(value = "计量单位") @ApiModelProperty(value = "计量单位")
private String unit; private String unit;
...@@ -39,9 +45,13 @@ public class DataFieldVO implements Serializable { ...@@ -39,9 +45,13 @@ public class DataFieldVO implements Serializable {
@ApiModelProperty(value = "排序字段") @ApiModelProperty(value = "排序字段")
private Integer sort; private Integer sort;
@ApiModelProperty(value = "数据库字段") @ApiModelProperty(value = "数据库字段ID")
private String field; private String field;
@ApiModelProperty(value = "数据库字段名")
private String fieldName; private String fieldName;
@ApiModelProperty(value = "字段注释")
private String fieldComment;
} }
...@@ -35,6 +35,9 @@ public class TemplateVO extends BaseMp implements Serializable { ...@@ -35,6 +35,9 @@ public class TemplateVO extends BaseMp implements Serializable {
@ApiModelProperty(value = "导入状态 1-已导入 0-未导入") @ApiModelProperty(value = "导入状态 1-已导入 0-未导入")
private String importStatus; private String importStatus;
@ApiModelProperty(value = "数据excel导入状态 实际查询值为excel的id 有就说明已导入")
private String dataStatus;
@ApiModelProperty(value = "数据年份") @ApiModelProperty(value = "数据年份")
private String year; private String year;
......
package com.tbyf.his.web.dataImport.service.impl; package com.tbyf.his.web.dataImport.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.tbyf.his.common.annotation.DataSource; import com.tbyf.his.common.annotation.DataSource;
...@@ -11,9 +12,11 @@ import com.tbyf.his.web.dataImport.domain.vo.CreateFieldVO; ...@@ -11,9 +12,11 @@ import com.tbyf.his.web.dataImport.domain.vo.CreateFieldVO;
import com.tbyf.his.web.dataImport.domain.vo.DataFieldVO; import com.tbyf.his.web.dataImport.domain.vo.DataFieldVO;
import com.tbyf.his.web.dataImport.domain.vo.VerifyVO; import com.tbyf.his.web.dataImport.domain.vo.VerifyVO;
import com.tbyf.his.web.dataImport.entity.DataField; import com.tbyf.his.web.dataImport.entity.DataField;
import com.tbyf.his.web.dataImport.entity.DataTemplate;
import com.tbyf.his.web.dataImport.entity.MetaField; import com.tbyf.his.web.dataImport.entity.MetaField;
import com.tbyf.his.web.dataImport.mapper.DataFieldMapper; import com.tbyf.his.web.dataImport.mapper.DataFieldMapper;
import com.tbyf.his.web.dataImport.service.DataFieldService; import com.tbyf.his.web.dataImport.service.DataFieldService;
import com.tbyf.his.web.dataImport.service.DataTemplateService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -35,9 +38,23 @@ public class DataFieldServiceImpl extends ServiceImpl<DataFieldMapper, DataField ...@@ -35,9 +38,23 @@ public class DataFieldServiceImpl extends ServiceImpl<DataFieldMapper, DataField
@Autowired @Autowired
private DataFieldMapper dataFieldMapper; private DataFieldMapper dataFieldMapper;
@Autowired
private DataTemplateService dataTemplateService;
@Override @Override
public Page<DataFieldVO> queryField(QueryFieldParam param) { public Page<DataFieldVO> queryField(QueryFieldParam param) {
final Page<DataFieldVO> page = Page.of(param.getPageNum(), param.getPageSize()); final Page<DataFieldVO> page = Page.of(param.getPageNum(), param.getPageSize());
// 查询需要对比的信息
final DataTemplate template = dataTemplateService.getById(param.getTemplateId());
if (template != null) {
final DataTemplate dataTemplate = dataTemplateService.getOne(Wrappers.lambdaQuery(DataTemplate.class)
.eq(DataTemplate::getOrgName, template.getOrgName())
.lt(DataTemplate::getYear, template.getYear())
.orderByDesc(DataTemplate::getYear), false);
if (dataTemplate != null) {
param.setOldTemplateId(dataTemplate.getId());
}
}
return (Page<DataFieldVO>) dataFieldMapper.queryField(page, param); return (Page<DataFieldVO>) dataFieldMapper.queryField(page, param);
} }
......
...@@ -12,9 +12,17 @@ ...@@ -12,9 +12,17 @@
df.coordinate, df.coordinate,
df.sort, df.sort,
df.field, df.field,
mf.field_name as fieldName mf.field_name as fieldName,
mf.field_comment as fieldComment,
df2.id as oldId,
df2.code as oldCode,
df2.title as oldTitle
from data_field df from data_field df
left join meta_field mf on df.field = mf.id left join meta_field mf on df.field = mf.id
left join (select *
from data_field
where template_id = #{param.oldTemplateId} and field is not null) df2
on df2.field = df.field
<where> <where>
<if test="param.templateId != null and param.templateId != ''"> <if test="param.templateId != null and param.templateId != ''">
and df.template_id = #{param.templateId} and df.template_id = #{param.templateId}
......
...@@ -20,7 +20,12 @@ ...@@ -20,7 +20,12 @@
from excel_data from excel_data
where template_id = data_template.id where template_id = data_template.id
and type = '2' and type = '2'
limit 1) as excelId limit 1) as excelId,
(select id
from excel_data
where template_id = data_template.id
and type = '1'
limit 1) as dataStatus
FROM data_template FROM data_template
<where> <where>
<if test="year != null and year != ''"> <if test="year != null and year != ''">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment