Commit bdc0f498 authored by xixinzhao's avatar xixinzhao

三维校验提交

parent ae7338f7
package com.yeejoin.amos.boot.module.tdc.api.dto; package com.yeejoin.amos.boot.module.tdc.api.dto;
import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date; import java.util.Date;
/**
* @author DELL
*/
@Data @Data
@Accessors(chain = true) @ApiModel(value="CheckResultDto", description="校验记录")
@TableName("tdc_check_result")
public class CheckResultDto { public class CheckResultDto {
@ApiModelProperty(value="校验时间") @ApiModelProperty(value="校验时间")
...@@ -18,10 +19,4 @@ public class CheckResultDto { ...@@ -18,10 +19,4 @@ public class CheckResultDto {
@ApiModelProperty(value="模型名称") @ApiModelProperty(value="模型名称")
private String name; private String name;
}
private String total; \ No newline at end of file
private String aaa;
}
package com.yeejoin.amos.boot.module.tdc.api.dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* @author xxz
*/
@Data
@ApiModel(value="ModelTreeDto", description="模型树")
public class ModelTreeDto {
private String id;
private String name;
private String tableName;
private List<Map<String, Object>> children;
}
package com.yeejoin.amos.boot.module.tdc.api.feign; package com.yeejoin.amos.boot.module.tdc.api.feign;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.apache.ibatis.annotations.Param;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -18,10 +19,17 @@ public interface IdxFeignService { ...@@ -18,10 +19,17 @@ public interface IdxFeignService {
/** /**
* 查询表详情和表字段 * 查询表详情和表字段
*
* @param tableId * @param tableId
* @return * @return
*/ */
@RequestMapping(value = "/table/{tableId}", method = RequestMethod.GET) @RequestMapping(value = "/table/{tableId}", method = RequestMethod.GET)
ResponseModel<JSONObject> queryByTableId(@PathVariable String tableId); ResponseModel<JSONObject> queryByTableId(@PathVariable String tableId);
/**
* 查询主题下所有表名和字段
* @param projectId 主题id
* @return
*/
@RequestMapping(value = "/v1/subject-tree", method = RequestMethod.GET)
ResponseModel<List<JSONObject>> subjectTree(@RequestParam("projectId") String projectId);
} }
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tdc.api.service; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tdc.api.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.tdc.api.dto.CheckResultDto; import com.yeejoin.amos.boot.module.tdc.api.dto.CheckResultDto;
import com.yeejoin.amos.boot.module.tdc.api.dto.ModelTreeDto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -18,4 +19,5 @@ public interface CheckResultService extends IService<CheckResult> { ...@@ -18,4 +19,5 @@ public interface CheckResultService extends IService<CheckResult> {
List<CheckResultDto> selectTotal(String modelId, String amosOrgCode); List<CheckResultDto> selectTotal(String modelId, String amosOrgCode);
List<ModelTreeDto> test();
} }
package com.yeejoin.amos.boot.module.tdc.api.vo;
import lombok.Data;
import java.util.List;
/**
* @author xxz
*/
@Data
public class SubjectTreeVo {
private String tableId;
private String tableName;
private String topicName;
private String title;
private String key;
private List<TableColumnsVo> columns;
}
package com.yeejoin.amos.boot.module.tdc.api.vo;
import lombok.Data;
/**
* @author xxz
*/
@Data
public class TableColumnsVo {
private String id;
private String columnName;
private String name;
private String columnType;
private String columnLength;
private String dimtableId;
private String scale;
private String nullable;
private String type;
private String expression;
private String target;
private String unique;
private String dimension;
}
package com.yeejoin.amos.boot.module.tdc.biz.action.model;
import com.yeejoin.amos.component.rule.RuleFact;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* @author DELL
*/
@RuleFact(value = "指标",project = "三维校验")
@Data
public class IdxProjectModel {
/**
* 规则项目id
*/
private String projectSeq;
/**
* 规则id
*/
private String ruleSeq;
/**
* 知识包id
*/
private String packageId;
/**
* 项目名称
*/
private String projectName;
/**
* 主题名称
*/
private String itemName;
/**
* 属性集合
*/
private List propertys;
/**
* 变量属性值
*/
private Map propertyValues;
}
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tdc.biz.controller; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tdc.biz.controller;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.tdc.api.dto.CheckResultDto; import com.yeejoin.amos.boot.module.tdc.api.dto.CheckResultDto;
import com.yeejoin.amos.boot.module.tdc.api.dto.ModelTreeDto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult;
import com.yeejoin.amos.boot.module.tdc.api.service.CheckResultService; import com.yeejoin.amos.boot.module.tdc.api.service.CheckResultService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -60,4 +61,16 @@ public class CheckResultController extends BaseController { ...@@ -60,4 +61,16 @@ public class CheckResultController extends BaseController {
return ResponseHelper.buildResponse(checkResultService.selectTotal(modelId, amosOrgCode)); return ResponseHelper.buildResponse(checkResultService.selectTotal(modelId, amosOrgCode));
} }
/**
* 根据amosOrgCode、modelId查询不合格项
* return
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/selectCheckResult/test")
@ApiOperation(httpMethod = "GET",value = "查询最后一次校验模型", notes = "查询最后一次校验模型")
public ResponseModel<List<ModelTreeDto>> test() {
return ResponseHelper.buildResponse(checkResultService.test());
}
} }
package com.yeejoin.amos.boot.module.tdc.biz.service.impl; package com.yeejoin.amos.boot.module.tdc.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mysql.cj.xdevapi.JsonArray;
import com.yeejoin.amos.boot.module.tdc.api.dto.CheckResultDto; import com.yeejoin.amos.boot.module.tdc.api.dto.CheckResultDto;
import com.yeejoin.amos.boot.module.tdc.api.dto.ModelTreeDto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckReport; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckReport;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult;
import com.yeejoin.amos.boot.module.tdc.api.feign.IdxFeignService;
import com.yeejoin.amos.boot.module.tdc.api.mapper.CheckResultMapper; import com.yeejoin.amos.boot.module.tdc.api.mapper.CheckResultMapper;
import com.yeejoin.amos.boot.module.tdc.api.service.CheckResultService; import com.yeejoin.amos.boot.module.tdc.api.service.CheckResultService;
import com.yeejoin.amos.boot.module.tdc.api.vo.SubjectTreeVo;
import com.yeejoin.amos.boot.module.tdc.api.vo.TableColumnsVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
@Service @Service
public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult> implements CheckResultService { public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult> implements CheckResultService {
...@@ -19,6 +31,9 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult> ...@@ -19,6 +31,9 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
@Autowired @Autowired
CheckResultMapper checkResultMapper; CheckResultMapper checkResultMapper;
@Autowired
IdxFeignService idxFeignService;
@Override @Override
public List<CheckResultDto> selectResult(String code) { public List<CheckResultDto> selectResult(String code) {
...@@ -39,4 +54,39 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult> ...@@ -39,4 +54,39 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
return checkResultMapper.selectTotal(modelId, amosOrgCode); return checkResultMapper.selectTotal(modelId, amosOrgCode);
} }
@Override
public List<ModelTreeDto> test() {
ResponseModel<List<JSONObject>> listResponseModel = idxFeignService.subjectTree("d2528788-b8d5-4170-ae62-edf153fddc59");
List<JSONObject> result = listResponseModel.getResult();
List<ModelTreeDto> modelTreeDtoList = new ArrayList<>();
result.forEach(obj ->{
JSONArray tables = (obj).getJSONArray("tables");
tables.forEach(table -> {
ModelTreeDto modelTreeDto = new ModelTreeDto();
SubjectTreeVo subjectTreeVo = JSON.parseObject(JSON.toJSONString(table), SubjectTreeVo.class);
selct(modelTreeDto, subjectTreeVo);
modelTreeDtoList.add(modelTreeDto);
});
});
return modelTreeDtoList;
}
private void selct(ModelTreeDto modelTreeDto, SubjectTreeVo subjectTreeVo) {
modelTreeDto.setId(subjectTreeVo.getTableId());
modelTreeDto.setName(subjectTreeVo.getTopicName());
modelTreeDto.setTableName(subjectTreeVo.getTableName());
List<TableColumnsVo> columns = subjectTreeVo.getColumns();
List<Map<String, Object>> list = new ArrayList<>();
columns.forEach(tableColumnsVo -> {
Map<String, Object> map = new HashMap<>(3);
map.put("name", tableColumnsVo.getName());
map.put("id", tableColumnsVo.getId());
map.put("data", 1);
list.add(map);
});
modelTreeDto.setChildren(list);
}
} }
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