Commit 29f1c37f authored by limei's avatar limei

模型表单接口

parent f8deb7f6
......@@ -8,6 +8,8 @@
</option>
<option name="ignoredFiles">
<set>
<option value="D:/Sanwei/developer/amos-boot-system-ugp/amos-boot-module-ugp-api/pom.xml" />
<option value="D:/Sanwei/developer/amos-boot-system-ugp/amos-boot-module-ugp-biz/pom.xml" />
<option value="$PROJECT_DIR$/amos-boot-data/amos-boot-data-accessapi/pom.xml" />
<option value="$PROJECT_DIR$/amos-boot-module/amos-boot-module-api/amos-boot-module-kgd-api/pom.xml" />
<option value="$PROJECT_DIR$/amos-boot-module/amos-boot-module-biz/amos-boot-module-kgd-biz/pom.xml" />
......
......@@ -17,11 +17,27 @@ public class ModelTreeDto {
private String name;
private String key;
private String path;
private String packageId;
private String version;
private String tableName;
private String amosOrgName;
private String modelId;
private String projectId;
private String projectName;
private List<ModelTreeDto> tables;
private List<Map<String, Object>> children;
private List<Map<String, Object>> resourceItems;
}
......@@ -58,4 +58,7 @@ public class CheckModel {
@ApiModelProperty(value = "模型校验项数量")
private int checkItemAmount;
@ApiModelProperty(value = "模型文件地址")
private String ModelFile;
}
package com.yeejoin.amos.boot.module.tdc.api.enums;
import java.util.HashMap;
import java.util.Map;
public enum ModeNameProjectIdEnum {
白鹤滩换流站("白鹤滩换流站","d2528788-b8d5-4170-ae62-edf153fddc59"),
锦屏换流站("锦屏换流站","edf153fddc59");
String amosOrgName;
String projectId;
ModeNameProjectIdEnum(String amosOrgName, String projectId) {
this.amosOrgName = amosOrgName;
this.projectId = projectId;
}
public String getAmosOrgName() {
return amosOrgName;
}
public void setAmosOrgName(String amosOrgName) {
this.amosOrgName = amosOrgName;
}
public String getProjectId() {
return projectId;
}
public void setProjectId(String projectId) {
this.projectId = projectId;
}
public static Map<String,String> map = new HashMap<>();
public static String getStateValue(String modelName){
return map.get(modelName);
}
static{
for(ModeNameProjectIdEnum ModeNameProjectIdEnum: ModeNameProjectIdEnum.values()){
map.put(ModeNameProjectIdEnum.getAmosOrgName(),ModeNameProjectIdEnum.getProjectId());
}
}
}
package com.yeejoin.amos.boot.module.tdc.api.enums;
import java.util.HashMap;
import java.util.Map;
public enum ModelNameEnum {
amosOrgCode1("50*110","白鹤滩换流站"),
amosOrgCode2("50*111","锦屏换流站");
String amosOrgCode;
String amosOrgName;
ModelNameEnum(String amosOrgCode, String amosOrgName) {
this.amosOrgCode = amosOrgCode;
this.amosOrgName = amosOrgName;
}
public String getAmosOrgCode() {
return amosOrgCode;
}
public void setAmosOrgCode(String amosOrgCode) {
this.amosOrgCode = amosOrgCode;
}
public String getAmosOrgName() {
return amosOrgName;
}
public void setAmosOrgName(String amosOrgName) {
this.amosOrgName = amosOrgName;
}
public static Map<String,String> map = new HashMap<>();
static{
for(ModelNameEnum ModelNameEnum :ModelNameEnum.values()){
map.put(ModelNameEnum.getAmosOrgCode(),ModelNameEnum.getAmosOrgName());
}
}
}
......@@ -39,4 +39,9 @@ public interface IdxFeignService {
@RequestMapping(value = "/dimensionTable/treeView", method = RequestMethod.GET)
ResponseModel<JSONObject> getDimensionTable(@RequestParam("id") String id);
@RequestMapping(value = "/v1/subject-tree", method = RequestMethod.GET)
ResponseModel<List> dataTree();
}
package com.yeejoin.amos.boot.module.tdc.api.feign;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List;
@FeignClient(value = "AMOS-API-PRIVILEGE", path = "privilege")
public interface PrivilegeFeignService {
@RequestMapping(value = "/v1/company/tree", method = RequestMethod.GET)
ResponseModel<List> getCompanyName();
}
package com.yeejoin.amos.boot.module.tdc.api.feign;
import com.alibaba.fastjson.JSONObject;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List;
@FeignClient(value = "AMOS-API-RULE", path = "urule")
public interface UruleFeignService {
@RequestMapping(value = "/v1/packageeditor/loadPackages", method = RequestMethod.GET)
ResponseModel<List> getRule(@RequestParam("project") String project);
}
package com.yeejoin.amos.boot.module.tdc.api.mapper;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -7,6 +8,8 @@ import com.yeejoin.amos.boot.module.tdc.api.dto.CheckModelDto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel;
import org.mapstruct.Mapper;
import java.util.Map;
/**
* Mapper接口
* @author xxz
......@@ -15,4 +18,7 @@ import org.mapstruct.Mapper;
public interface CheckModelMapper extends BaseMapper<CheckModel> {
IPage<CheckModelDto> selectByOrgCode(Page page, String amosOrgCode);
String saveModel(JSONObject jsonObject);
}
package com.yeejoin.amos.boot.module.tdc.api.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.tdc.api.dto.CheckModelDto;
......@@ -55,5 +57,13 @@ public interface CheckModelService extends IService<CheckModel> {
String getOrgCode(String companyName);
JSONArray getDataTree();
List<Object> getRule(String project);
List<Object> getCompanyName();
String saveModel(JSONObject jsonObject);
}
......@@ -20,7 +20,7 @@ public interface CheckResultService extends IService<CheckResult> {
List<CheckResult> selectCheckResult(String batchNo);
Map<String, Object> selectTotal(String batchNo);
Map<String,Object> selectTotal(String batchNo);
List<CheckResultDto> selectStatistion(String batchNo,String amosOrgCode);
......@@ -57,4 +57,5 @@ public interface CheckResultService extends IService<CheckResult> {
Integer selectItemNo(String batchNo,Long modelId);
List<DimensionTableDto> getDimensionTable(String id);
}
package com.yeejoin.amos.boot.module.tdc.api.vo;
import com.yeejoin.amos.boot.module.tdc.api.dto.ModelTreeDto;
import lombok.Data;
import java.util.List;
......@@ -20,6 +21,24 @@ public class SubjectTreeVo {
private String key;
private String columns;
private String id;
private String name;
private String project;
private String createDate;
private String path;
private String packageId;
private String version;
private List<SubjectTreeVo> tables;
private List<TableColumnsVo> tableCols;
}
package com.yeejoin.amos.boot.module.tdc.biz.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
// 授权
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable()
.headers()
.frameOptions()
.disable()
.and()
.authorizeRequests()
.regexMatchers("^(?!/actuator).*$").permitAll()
.regexMatchers("/actuator/health").permitAll()
.regexMatchers("/actuator/info").permitAll()
.anyRequest().authenticated().and()
.formLogin();
}
}
package com.yeejoin.amos.boot.module.tdc.biz.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.tdc.api.dto.CheckModelDto;
......@@ -14,8 +16,10 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import sun.reflect.generics.tree.VoidDescriptor;
import java.util.List;
import java.util.Map;
/**
* @author xxz
......@@ -76,7 +80,41 @@ public class CheckModelController extends BaseController {
@GetMapping(value = "/companyTree")
@ApiOperation(httpMethod = "GET",value = "下拉框选项", notes = "下拉框选项")
public ResponseModel<String> getOrgCode(String companyName){
return ResponseHelper.buildResponse(checkModelService.getOrgCode(companyName));
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/getDataTree")
@ApiOperation(httpMethod = "GET", value = "关联表单", notes = "关联表单")
public ResponseModel<JSONArray> getDataTree() {
return ResponseHelper.buildResponse(checkModelService.getDataTree());
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/getRule")
@ApiOperation(httpMethod = "GET", value = "关联规则", notes = "关联规则")
public ResponseModel<List<Object>> getRule(String project) {
return ResponseHelper.buildResponse(checkModelService.getRule(project));
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/getCompanyName")
@ApiOperation(httpMethod = "GET", value = "所属机构", notes = "所属机构")
public ResponseModel<List<Object>> getCompanyName() {
return ResponseHelper.buildResponse(checkModelService.getCompanyName());
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@PostMapping(value = "/saveModel")
@ApiOperation(httpMethod = "POST", value = "存模型表", notes = "存模型表")
public ResponseModel<String> saveModel(@RequestBody JSONObject jsonObject ){
return ResponseHelper.buildResponse(checkModelService.saveModel(jsonObject));
}
}
......@@ -47,22 +47,26 @@ public class CheckResultController extends BaseController {
}
/**
* 根据amosOrgCode、modelId查询不合格项
* 根据batchNo查询不合格项
* return
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/selectCheckResult")
@ApiOperation(httpMethod = "GET",value = "查询最后一次校验模型", notes = "查询最后一次校验模型")
@ApiOperation(httpMethod = "GET",value = "根据batchNo查询不合格项", notes = "根据batchNo查询不合格项")
public ResponseModel<List<CheckResult>> selectCheckResult( String batchNo) {
return ResponseHelper.buildResponse(checkResultService.selectCheckResult(batchNo));
}
/**
* 根据batchNo统计校验项和不合格项
* return
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/selectTotal")
@ApiOperation(httpMethod = "GET", value = "result", notes = "result")
@ApiOperation(httpMethod = "GET", value = "根据batchNo统计校验项和不合格项", notes = "根据batchNo统计校验项和不合格项")
public ResponseModel<Map<String, Object>> selectTotal(String batchNo) {
return ResponseHelper.buildResponse(checkResultService.selectTotal(batchNo));
}
......
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tdc.biz.service.impl;
import com.alibaba.excel.util.CollectionUtils;
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.metadata.IPage;
......@@ -10,7 +11,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yeejoin.amos.boot.module.tdc.api.dto.CheckModelDto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel;
import com.yeejoin.amos.boot.module.tdc.api.enums.ModeNameProjectIdEnum;
import com.yeejoin.amos.boot.module.tdc.api.enums.ModelNameEnum;
import com.yeejoin.amos.boot.module.tdc.api.feign.IdxFeignService;
import com.yeejoin.amos.boot.module.tdc.api.feign.PrivilegeFeignService;
import com.yeejoin.amos.boot.module.tdc.api.feign.UruleFeignService;
import com.yeejoin.amos.boot.module.tdc.api.mapper.CheckModelMapper;
import com.yeejoin.amos.boot.module.tdc.api.mapper.CheckResultMapper;
import com.yeejoin.amos.boot.module.tdc.api.service.CheckModelService;
......@@ -47,8 +52,18 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
IdxFeignService idxFeignService;
@Autowired
UruleFeignService uruleFeignService;
@Autowired
CheckModelService checkModelService;
@Autowired
PrivilegeFeignService privilegeFeignService;
@Autowired
RuleTrigger ruleTrigger;
@Override
public IPage<CheckModelDto> selectByOrgCode(int current, int size, String amosOrgCode) {
Page page = new Page(current,size);
......@@ -81,6 +96,8 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
}
@Override
public void checkAllMode(String amosOrgCode, AgencyUserModel userInfo) {
String userName = userInfo.getUserName();
......@@ -108,6 +125,7 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
}
}
@Override
public CheckModel selectCheckModelByNameCode(String modelName, String amosOrgCode) {
LambdaQueryWrapper<CheckModel> wrapper = new LambdaQueryWrapper<>();
......@@ -164,7 +182,125 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
Iterator<CompanyModel> iterator = companyModelCollection.iterator();
CompanyModel companyModel = iterator.next();
return companyModel.getOrgCode();
}
@Override
public JSONArray getDataTree() {
ResponseModel<List> listResponseModel = idxFeignService.dataTree();
List result = listResponseModel.getResult();
JSONArray jsonArray = new JSONArray();
for(Object object: result){
jsonArray = JSONArray.parseArray(JSONObject.parseObject(JSON.toJSONString(object)).getString("tables"));
}
JSONArray jsonArray1 = new JSONArray();
for(Object object: jsonArray){
JSONObject ob = JSONObject.parseObject(JSON.toJSONString(object));
String tableId = ob.getString("tableId");
String tableName = ob.getString("tableName");
String url = tableId + "$" + tableName;
ob.put("url",url);
jsonArray1.add(ob);
}
return jsonArray1;
}
@Override
public List<Object> getRule(String project) {
List result = uruleFeignService.getRule(project).getResult();
List<Object> objectList = new ArrayList<>();
for(Object object: result){
JSONArray array = JSONObject.parseObject(JSON.toJSONString(object)).getJSONArray("resourceItems");
for(Object object1: array){
objectList.add(object1);
}
}
return objectList;
}
@Override
public List<Object> getCompanyName() {
List result = privilegeFeignService.getCompanyName().getResult();
List<Object> objectList = new ArrayList<>();
for(Object object: result){
JSONArray array = JSONObject.parseObject(JSON.toJSONString(object)).getJSONArray("children");
for(Object object1: array){
// JSONObject ob = JSONObject.parseObject(JSON.toJSONString(object1));
// String companyName = ob.getString("companyName");
// String orgCode = ob.getString("orgCode");
// String text = orgCode + "$" + companyName;
// ob.put("text",text);
objectList.add(object1);
}
}
return objectList;
}
@Override
public String saveModel(JSONObject jsonObject){
List<CheckModel> checkModelList = new ArrayList<>();
String modelName = jsonObject.getString("model_name");
// String text = jsonObject.getString("text");
// 截取$之前的所有字符串
// String amosOrgCode = text.substring(0,text.indexOf("$"));
// 截取$之后的所有字符串
// String amosOrgName = text.substring(text.indexOf("$")+1);
String url = jsonObject.getString("url");
// 截取$之前的所有字符串
String tableId = url.substring(0,url.indexOf("$"));
// 截取$之后的所有字符串
String idxTableName = url.substring(url.indexOf("$")+1);
JSONArray modelPictureUrl = jsonObject.getJSONArray("model_picture_url");
String pictureUrl = "";
for (Object o : modelPictureUrl) {
JSONObject jo = JSON.parseObject(JSON.toJSONString(o));
pictureUrl = jo.getString("url");
break;
}
String modelRule = jsonObject.getString("model_rule");
if(!ValidationUtil.isEmpty(modelRule)){
modelRule = modelRule.substring(modelRule.indexOf("/"),modelRule.indexOf("."));
}
JSONArray modelFile = jsonObject.getJSONArray("model_file");
String fileUrl = "";
Iterator iterator = modelFile.iterator();
if(iterator.hasNext()){
Object o = iterator.next();
JSONObject jo = JSON.parseObject(JSON.toJSONString(o));
fileUrl = fileUrl+jo.getString("url");
if(iterator.hasNext()){
fileUrl = fileUrl + ",";
}
}
JSONArray jsonArray = jsonObject.getJSONArray("amos_org_code");
for (Object o:jsonArray){
CheckModel checkModel = new CheckModel();
checkModel.setAmosOrgName(ModelNameEnum.map.get(String.valueOf(o)));
// checkModel.setAmosOrgCode(amosOrgCode);
// checkModel.setAmosOrgName(amosOrgName);
checkModel.setProjectId(ModeNameProjectIdEnum.map.get(ModelNameEnum.map.get(String.valueOf(o))));
checkModel.setModelName(modelName);
checkModel.setIdxTableName(idxTableName);
checkModel.setModelPictureUrl(pictureUrl);
checkModel.setModelRule(modelRule);
checkModel.setTableId(tableId);
checkModel.setModelFile(fileUrl);
checkModel.setAmosOrgCode(String.valueOf(o));
checkModelList.add(checkModel);
}
checkModelService.saveBatch(checkModelList);
return null;
}
}
......@@ -70,10 +70,8 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
public IPage<CheckResultDto> selectResult(int current,int size,String code) {
Page page = new Page(current,size);
return checkResultMapper.selectResult(page,code);
}
@Override
public List<CheckResult> selectCheckResult(String batchNo) {
LambdaQueryWrapper<CheckResult> wrapper = new LambdaQueryWrapper<>();
......@@ -83,11 +81,14 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
return baseMapper.selectList(wrapper);
}
//统计不合格项和校验项接口
@Override
public Map<String, Object> selectTotal(String batchNo) {
return checkResultMapper.selectTotal(batchNo);
}
@Override
public List<CheckResultDto> selectStatistion(String batchNo, String amosOrgCode) {
return checkResultMapper.selectStatistion(batchNo, amosOrgCode);
......@@ -105,10 +106,12 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
LambdaQueryWrapper<CheckModel> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CheckModel::getAmosOrgCode, amosOrgCode);
List<CheckModel> checkModels = checkModelMapper.selectList(wrapper);
checkModels.forEach(checkModel -> {
ModelTreeDto modelTreeDto = selectDataTree(String.valueOf(checkModel.getSequenceNbr()));
modelTreeDtoList.add(modelTreeDto);
});
// ResponseModel<List<JSONObject>> listResponseModel = idxFeignService.subjectTree("d2528788-b8d5-4170-ae62-edf153fddc59");
// List<JSONObject> result = listResponseModel.getResult();
// result.forEach(obj ->{
......@@ -123,6 +126,8 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
return modelTreeDtoList;
}
private ModelTreeDto selectDataTree(String modelId) {
ModelTreeDto modelTreeDto = new ModelTreeDto();
LambdaQueryWrapper<CheckModel> wrapper = new LambdaQueryWrapper<>();
......@@ -159,6 +164,7 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
return modelTreeDto;
}
@Override
public List<ModelTreeDto> getModelDataTree(String modelId) {
List<ModelTreeDto> modelTreeDtoList = new ArrayList<>();
......@@ -281,7 +287,6 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
filepdf.delete();
}
}
return pdfUrlString;
}
......@@ -317,7 +322,6 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
checkReport.setName(name.concat(""+"三维校验"));
checkReport.setCheckPeopleName(userName);
checkReportService.save(checkReport);
return null;
}
......
......@@ -38,8 +38,14 @@ spring.redis.lettuce.pool.max-active=200
spring.redis.lettuce.pool.max-wait=-1
spring.redis.lettuce.pool.max-idle=10
spring.redis.lettuce.pool.min-idle=0
spring.security.user.name=admin
spring.security.user.password=a1234560
## redis失效时间
redis.cache.failure.time=10800
#校验完成发送消息
mqtt.topic.check.complete=/tdc/check/complete
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