Commit be7c11ba by 刘泽志

字段对比功能

parent eb72e954
......@@ -2,6 +2,7 @@ package com.tbyf.his.web.controller.dataImport;
import com.baomidou.mybatisplus.annotation.DbType;
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.extension.plugins.pagination.Page;
import com.tbyf.his.common.annotation.IgnoreWebSecurity;
......@@ -82,6 +83,26 @@ public class DataFieldController {
}
@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("")
@ApiOperation("字段新增")
public AjaxResult addField(@RequestBody @Validated AddFieldParam param) {
......@@ -172,10 +193,14 @@ public class DataFieldController {
@ApiOperation("元字段查询")
public TableDataInfo queryField(@Validated QueryMetaFieldParam param) {
final Page<MetaField> page = Page.of(param.getPageNum(), param.getPageSize());
final LambdaQueryWrapper<MetaField> queryWrapper = Wrappers.lambdaQuery(MetaField.class);
queryWrapper.like(StringUtils.isNotBlank(param.getFieldName()), MetaField::getFieldName, param.getFieldName())
.like(StringUtils.isNotBlank(param.getFieldType()), MetaField::getFieldType, param.getFieldType())
.like(StringUtils.isNotBlank(param.getFieldComment()), MetaField::getFieldComment, param.getFieldComment());
final QueryWrapper<MetaField> queryWrapper = new QueryWrapper<>();
//final LambdaQueryWrapper<MetaField> queryWrapper = Wrappers.lambdaQuery(MetaField.class);
queryWrapper.like(StringUtils.isNotBlank(param.getFieldName()), "field_name", param.getFieldName())
.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);
return param.convert(templatePage);
}
......
......@@ -7,6 +7,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
/**
* @author lzz
* @date 2023/1/10 17:01
......@@ -17,6 +19,7 @@ import lombok.experimental.Accessors;
@ApiModel(value = "字段查询参数", description = "字段查询参数")
public class QueryFieldParam extends ParamMp {
@NotBlank(message = "templateId不能传空")
@ApiModelProperty(value = "模板ID")
private String templateId;
......@@ -32,4 +35,6 @@ public class QueryFieldParam extends ParamMp {
@ApiModelProperty(value = "数据库字段名")
private String field;
private String oldTemplateId;
}
......@@ -26,4 +26,7 @@ public class QueryMetaFieldParam extends ParamMp {
@ApiModelProperty(value = "字段注释/指标名称")
private String fieldComment;
@ApiModelProperty(value = "异常检测类型 length")
private String errorType;
}
......@@ -30,6 +30,12 @@ public class DataFieldVO implements Serializable {
@ApiModelProperty(value = "指标名称")
private String title;
private String oldCode;
private String oldTitle;
private String oldId;
@ApiModelProperty(value = "计量单位")
private String unit;
......@@ -39,9 +45,13 @@ public class DataFieldVO implements Serializable {
@ApiModelProperty(value = "排序字段")
private Integer sort;
@ApiModelProperty(value = "数据库字段")
@ApiModelProperty(value = "数据库字段ID")
private String field;
@ApiModelProperty(value = "数据库字段名")
private String fieldName;
@ApiModelProperty(value = "字段注释")
private String fieldComment;
}
......@@ -35,6 +35,9 @@ public class TemplateVO extends BaseMp implements Serializable {
@ApiModelProperty(value = "导入状态 1-已导入 0-未导入")
private String importStatus;
@ApiModelProperty(value = "数据excel导入状态 实际查询值为excel的id 有就说明已导入")
private String dataStatus;
@ApiModelProperty(value = "数据年份")
private String year;
......
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.service.impl.ServiceImpl;
import com.tbyf.his.common.annotation.DataSource;
......@@ -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.VerifyVO;
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.mapper.DataFieldMapper;
import com.tbyf.his.web.dataImport.service.DataFieldService;
import com.tbyf.his.web.dataImport.service.DataTemplateService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -35,9 +38,23 @@ public class DataFieldServiceImpl extends ServiceImpl<DataFieldMapper, DataField
@Autowired
private DataFieldMapper dataFieldMapper;
@Autowired
private DataTemplateService dataTemplateService;
@Override
public Page<DataFieldVO> queryField(QueryFieldParam param) {
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);
}
......
......@@ -12,9 +12,17 @@
df.coordinate,
df.sort,
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
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>
<if test="param.templateId != null and param.templateId != ''">
and df.template_id = #{param.templateId}
......
......@@ -20,7 +20,12 @@
from excel_data
where template_id = data_template.id
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
<where>
<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