显示类型为组织树时候,展示和新增组织树
This commit is contained in:
parent
2651fecbe9
commit
96cb15eeff
|
@ -52,6 +52,27 @@ public class ComparisonEntity extends BaseEntity {
|
|||
private List<String> fields;
|
||||
private List<String> returnField;
|
||||
|
||||
/** 显示类型 1、树2、列表*/
|
||||
private String viewName;
|
||||
//下级结构树
|
||||
private List<ComparisonEntity> comparisonEntities;
|
||||
|
||||
public List<ComparisonEntity> getComparisonEntities() {
|
||||
return comparisonEntities;
|
||||
}
|
||||
|
||||
public void setComparisonEntities(List<ComparisonEntity> comparisonEntities) {
|
||||
this.comparisonEntities = comparisonEntities;
|
||||
}
|
||||
|
||||
public String getViewName() {
|
||||
return viewName;
|
||||
}
|
||||
|
||||
public void setViewName(String viewName) {
|
||||
this.viewName = viewName;
|
||||
}
|
||||
|
||||
public List<String> getReturnField() {
|
||||
return returnField;
|
||||
}
|
||||
|
|
|
@ -3,13 +3,14 @@ package com.hzya.frame.sysnew.comparison.service.impl;
|
|||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.hzya.frame.basedao.service.impl.BaseService;
|
||||
import com.hzya.frame.mdm.mdmModule.dao.IMdmModuleDao;
|
||||
import com.hzya.frame.mdm.mdmModule.entity.MdmModuleEntity;
|
||||
import com.hzya.frame.mdm.mdmModuleDb.entity.MdmModuleDbEntity;
|
||||
import com.hzya.frame.mdm.mdmModuleDbFileds.entity.MdmModuleDbFiledsEntity;
|
||||
import com.hzya.frame.mdm.mdmModuleView.dao.IMdmModuleViewDao;
|
||||
import com.hzya.frame.mdm.mdmModuleView.entity.MdmModuleViewEntity;
|
||||
import com.hzya.frame.mdm.service.impl.MdmServiceCache;
|
||||
import com.hzya.frame.sysnew.application.entity.SysApplicationEntity;
|
||||
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
|
||||
|
@ -20,15 +21,10 @@ import com.hzya.frame.sysnew.comparison.entity.ComparisonDetailsEntity;
|
|||
import com.hzya.frame.sysnew.comparison.entity.ComparisonEntity;
|
||||
import com.hzya.frame.sysnew.comparison.service.IComparisonService;
|
||||
import com.hzya.frame.uuid.UUIDLong;
|
||||
import com.hzya.frame.uuid.UUIDUtils;
|
||||
import com.hzya.frame.web.entity.BaseEntity;
|
||||
import com.hzya.frame.web.entity.BaseResult;
|
||||
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.ivy.Main;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import sun.java2d.pipe.AAShapePipe;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
@ -49,6 +45,9 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
|
|||
@Autowired
|
||||
private MdmServiceCache mdmServiceCache;
|
||||
|
||||
@Autowired
|
||||
private IMdmModuleViewDao mdmModuleViewDao;
|
||||
|
||||
@Autowired
|
||||
public void setGeneralDataDao(IComparisonDao dao) {
|
||||
this.comparisonDao = dao;
|
||||
|
@ -105,6 +104,12 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
|
|||
comparisonEntity.setFields(fields);
|
||||
//查询主表数据
|
||||
List<Map<String,Object>> comparisonEntitiePages = comparisonDao.queryComparisonPage(comparisonEntity);
|
||||
|
||||
//递归查询组织树
|
||||
if(comparisonEntities.get(0).getViewName().equals("1")){
|
||||
return recursiveQueryComparison(comparisonEntitiePages,comparisonEntity);
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(comparisonEntitiePages)){
|
||||
for (Map<String, Object> comparisonEntitiePage : comparisonEntitiePages) {
|
||||
JSONObject jsonObjects=new JSONObject();
|
||||
|
@ -224,6 +229,23 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
|
|||
//return BaseResult.getFailureMessageEntity(comparisonEntity.getDbName()+"表中已经存在data_id为:"+jsonObjectMain.getString("data_id")+"的数据");
|
||||
return updateEntity(json);
|
||||
} else {
|
||||
|
||||
//如果是树形结构,查询不存在,新增时候需要得到parent_id,根据parent_id查询data_id是否有,之后将查询得父id设置到mdm_up_id中
|
||||
if(comparisonEntities.get(0).getViewName().equals("1")){
|
||||
List<String> fieldParent = getFields(comparisonEntity);
|
||||
Map<String, Object> mapParentId = new HashMap<>();
|
||||
mapDataId.put("data_id", jsonObjectMain.getString("parent_id"));
|
||||
ComparisonEntity comparisonParentId = new ComparisonEntity();
|
||||
comparisonParentId.setMap(mapParentId);
|
||||
comparisonParentId.setDbName(comparisonEntity.getDbName());
|
||||
comparisonParentId.setFields(fieldParent);
|
||||
List<Map<String, Object>> listParentId = comparisonDao.queryComparisonPage(comparisonDataId);
|
||||
//如果根据parentid查询数据不为空,将dataid为parenti得id值设置到mdm_up_id中
|
||||
if(CollectionUtils.isNotEmpty(listParentId)){
|
||||
map.put("mdm_up_id",listParentId.get(0).get("id"));
|
||||
}
|
||||
}
|
||||
|
||||
//判断输入的主表字段是否是必填项
|
||||
for (ComparisonEntity entity : comparisonEntities) {
|
||||
//如果必填字段不为空
|
||||
|
@ -440,6 +462,22 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
|
|||
if(CollectionUtils.isEmpty(comparisonEntitiePages)){
|
||||
return BaseResult.getFailureMessageEntity("根据data_id查询id数据为空,请检查data_id");
|
||||
}
|
||||
|
||||
//判断是否是树形结构
|
||||
if(comparisonEntities.get(0).getViewName().equals("1")){
|
||||
//根据data_id查询出parent_id,再根据parent_id得值查询data_id字段中为这个得值,如果有,将data_id为parent_id得id值保存到mdm_up_id中
|
||||
Map<String,Object> mapParent=new HashMap<>();
|
||||
mapParent.put("data_id",comparisonEntitiePages.get(0).get("parent_id"));
|
||||
ComparisonEntity comparisonParent=new ComparisonEntity();
|
||||
comparisonParent.setDbName(comparisonEntity.getDbName());
|
||||
comparisonParent.setMap(mapId);
|
||||
comparisonParent.setFields(fields);
|
||||
List<Map<String,Object>> comparisonEntitieParent = comparisonDao.queryComparisonPage(comparisonParent);
|
||||
if(!CollectionUtils.isEmpty(comparisonEntitieParent)){
|
||||
map.put("mdm_up_id",comparisonEntitieParent.get(0).get("id"));
|
||||
}
|
||||
}
|
||||
|
||||
String id = String.valueOf(comparisonEntitiePages.get(0).get("id"));
|
||||
map.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");
|
||||
map.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");
|
||||
|
@ -583,6 +621,12 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
|
|||
if(CollectionUtils.isEmpty(comparisonEntitiePages)){
|
||||
return BaseResult.getFailureMessageEntity("根据data_id查询id数据为空,请检查data_id");
|
||||
}
|
||||
|
||||
//递归删除树结构 1.树 2.列表
|
||||
if(comparisonEntities.get(0).getViewName().equals("1")){
|
||||
return recursiveDeleteComparison(comparisonEntitiePages,comparisonEntity);
|
||||
}
|
||||
|
||||
String id = String.valueOf(comparisonEntitiePages.get(0).get("id"));
|
||||
|
||||
map.remove("id");
|
||||
|
@ -615,6 +659,58 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
|
|||
return BaseResult.getFailureMessageEntity("删除失败","请检查传递参数");
|
||||
}
|
||||
|
||||
//递归删除组织树
|
||||
private Object recursiveDeleteComparison(List<Map<String,Object>> list,ComparisonEntity comparisonEntity){
|
||||
for(int i=0;i<list.size();i++){
|
||||
List<String> fields = getFields(comparisonEntity);
|
||||
Map<String,Object> mapId=new HashMap<>();
|
||||
mapId.put("mdm_up_id",list.get(0).get("id"));
|
||||
ComparisonEntity comparison=new ComparisonEntity();
|
||||
comparison.setDbName(comparisonEntity.getDbName());
|
||||
comparison.setMap(mapId);
|
||||
comparison.setFields(fields);
|
||||
List<Map<String,Object>> comparisonEntitiePages = comparisonDao.queryComparisonPage(comparison);
|
||||
if(CollectionUtils.isNotEmpty(comparisonEntitiePages)){
|
||||
recursiveDeleteComparison(comparisonEntitiePages,comparisonEntity);
|
||||
}
|
||||
comparisonEntity.setId(String.valueOf(list.get(0).get("id")));
|
||||
Integer integer = comparisonDao.deleteComparison(comparisonEntity);
|
||||
JSONObject json1 = new JSONObject();
|
||||
json1.put("status","200");
|
||||
json1.put("integer",integer);
|
||||
return json1;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
//递归查询组织树
|
||||
private Object recursiveQueryComparison(List<Map<String,Object>> list,ComparisonEntity comparisonEntity){
|
||||
if(CollectionUtils.isNotEmpty(list)) {
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
List<String> fields = getFields(comparisonEntity);
|
||||
Map<String,Object> mapId=new HashMap<>();
|
||||
mapId.put("mdm_up_id",list.get(0).get("id"));
|
||||
ComparisonEntity comparison=new ComparisonEntity();
|
||||
comparison.setDbName(comparisonEntity.getDbName());
|
||||
comparison.setMap(mapId);
|
||||
comparison.setFields(fields);
|
||||
List<Map<String,Object>> comparisonEntitiePages = comparisonDao.queryComparisonPage(comparison);
|
||||
if(CollectionUtils.isNotEmpty(comparisonEntitiePages)){
|
||||
recursiveQueryComparison(comparisonEntitiePages,comparisonEntity);
|
||||
for (Map<String, Object> map : list) {
|
||||
map.put("comparisonEntities",comparisonEntitiePages);
|
||||
}
|
||||
}
|
||||
PageInfo pageInfo = new PageInfo(list);
|
||||
JSONObject json1=new JSONObject();
|
||||
json1.put("status","200");
|
||||
json1.put("pageInfo",pageInfo);
|
||||
return json1;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
//根据应用key和应用密钥获取应用编码和应用名称
|
||||
@Override
|
||||
public SysExtensionApiEntity getAppNameAndCode(SysExtensionApiEntity sysExtensionApiEntity) {
|
||||
|
@ -704,6 +800,11 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
|
|||
comparisonEntity.setmId(mdmModuleEntity.getId());
|
||||
List<ComparisonEntity> comparisonEntitiesFieldRule = comparisonDao.queryComparisonBymdmIdDbIdFiledId(comparisonEntity);
|
||||
|
||||
//根据mdm_module得id判断是树结构还是列表结构
|
||||
MdmModuleViewEntity mdmModuleViewEntity=new MdmModuleViewEntity();
|
||||
mdmModuleViewEntity.setMdmId(mdmModuleEntity.getId());
|
||||
List<MdmModuleViewEntity> mdmModuleViewEntities = mdmModuleViewDao.query(mdmModuleViewEntity);
|
||||
|
||||
//根据mdm_id查询mdm_module_db的信息
|
||||
MdmModuleDbEntity mdmModuleDbEntity = new MdmModuleDbEntity();
|
||||
mdmModuleDbEntity.setMdmId(mdmModuleEntity.getId());
|
||||
|
@ -736,6 +837,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
|
|||
comparisonEntityFile.setmId(mdmModuleEntity.getId());
|
||||
comparisonEntityFile.setMdmName(mdmModuleEntity.getMdmName());
|
||||
comparisonEntityFile.setMdmCode(String.valueOf(mdmModuleEntity.getMdmCode()));
|
||||
comparisonEntityFile.setViewName(CollectionUtils.isNotEmpty(mdmModuleViewEntities)?mdmModuleViewEntities.get(0).getViewName():null);
|
||||
if(CollectionUtils.isNotEmpty(comparisonEntitiesFieldRule)){
|
||||
for (ComparisonEntity entity : comparisonEntitiesFieldRule) {
|
||||
if(entity.getEnName().equals(moduleDbFiledsEntity.getEnName()) && entity.getDbType().equals(moduleDbEntity.getDbType())){
|
||||
|
|
Loading…
Reference in New Issue