指标库:原子指标编辑页:查询去重单列

This commit is contained in:
huangge1199 2025-08-07 09:21:41 +08:00
parent 7c47311649
commit b095d6926c
3 changed files with 30 additions and 6 deletions

View File

@ -13,6 +13,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;
/**
* 目标管控-指标
* TargetController
@ -37,4 +39,11 @@ public class TargetController {
IPage<Target> result = targetService.getTargetsByCategory(params);
return R.ok(result);
}
@Operation(summary = "查询去重单列")
@PostMapping("/searchColumn")
public R<List<String>> searchColumn(@RequestBody JSONObject params) {
List<String> result = targetService.searchColumn(params);
return R.ok(result);
}
}

View File

@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import iet.ustb.sf.domain.Target;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @author hyy
* @description 针对表mbgk_target的数据库操作Service
@ -13,4 +15,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
public interface TargetService extends IService<Target> {
IPage<Target> getTargetsByCategory(JSONObject params);
List<String> searchColumn(JSONObject params);
}

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlRunner;
import iet.ustb.sf.domain.Category;
import iet.ustb.sf.domain.Target;
import iet.ustb.sf.exception.ErrorCode;
@ -12,15 +13,14 @@ import iet.ustb.sf.exception.ThrowUtils;
import iet.ustb.sf.mapper.CategoryMapper;
import iet.ustb.sf.service.TargetService;
import iet.ustb.sf.mapper.TargetMapper;
import iet.ustb.sf.util.CheckUtils;
import jakarta.annotation.Resource;
import lombok.val;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.HashSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author hyy
@ -59,16 +59,27 @@ public class TargetServiceImpl extends ServiceImpl<TargetMapper, Target>
query.eq("organization", organization);
}
if (!StringUtils.isEmpty(categoryId)) {
query.eq("category_id",categoryId);
query.eq("category_id", categoryId);
}
if (!StringUtils.isEmpty(name)) {
query.like("name","%" + name + "%");
query.like("name", "%" + name + "%");
}
long cnt = targetMapper.selectCount(query);
query.orderByDesc("update_time");
pageRequest.setTotal(cnt);
return this.page(pageRequest, query);
}
@Override
public List<String> searchColumn(JSONObject params) {
String tableName = params.getString("tableName");
String columnName = params.getString("columnName");
CheckUtils.checkTableName(tableName);
CheckUtils.checkColumns(columnName, tableName);
String sql = "SELECT DISTINCT " + columnName + " FROM " + tableName + " limit 4000";
List<Map<String, Object>> list = SqlRunner.db().selectList(sql);
return list.stream().map(target -> target.get(columnName).toString()).collect(Collectors.toList());
}
}