调整通用数据

This commit is contained in:
hecan 2024-06-05 11:46:51 +08:00 committed by 476474485@qq.com
parent 329dbe723d
commit b429c40153
8 changed files with 292 additions and 107 deletions

View File

@ -53,7 +53,7 @@ public class ExecSqlServiceImpl implements IExecSqlService {
public List<HashMap<String, Object>> execSelectSql(ExecSqlEntity entity) throws RuntimeException {
List<HashMap<String, Object>> list = new ArrayList<>();
logger.info("=============进入execSelectSql方法============");
if (null != entity && ObjectUtils.isEmpty(entity.getSql())) {
if (null != entity && null!=entity.getSql()) {
//sqlsession
// SqlSession sqlSession = getSqlSession(entity.getDatasource_code());
// SqlSession sqlSession = new DataSourceUtil().getDefaultSqlSession();
@ -61,7 +61,7 @@ public class ExecSqlServiceImpl implements IExecSqlService {
logger.info("=============execSelectSql方法要执行的sql============" + select_sql);
if (!select_sql.contains("update") && !select_sql.contains("delete")
&& !select_sql.contains("insert") && !select_sql.contains("create")) {
list = sqlSession.selectList("com.hzya.frame.sysnew.execsql.entity.ExecSqlEntity.ExecSqlEntity_execsql", entity);
list = sqlSession.selectList("com.hzya.frame.execsql.entity.ExecSqlEntity.ExecSqlEntity_execsql", entity);
logger.info("===========execSelectSql方法返回的结果条数=============" + list.size());
}
//sqlSession.close();

View File

@ -79,4 +79,44 @@ public interface IComparisonDao extends IBaseDao<ComparisonEntity, String> {
* @Date 2024/5/28 14:39
* **/
ComparisonEntity queryComparisonById(ComparisonEntity comparison);
/**
*
* @content 根据主数据编码查询mdm_module数据
* @Param
* @Return
* @Author hecan
* @Date 2024/6/4 11:37
* **/
ComparisonEntity queryComparisonBymdmCode(ComparisonEntity comparison);
/**
*
* @content 根据mdm_module得id查询mdm_module_db得数据
* @Param
* @Return
* @Author hecan
* @Date 2024/6/4 11:40
* **/
List<ComparisonEntity> queryComparisonBymdmId(ComparisonEntity comparison);
/**
*
* @content 根据mdm_module得id查询mdm_module_db_fileds得数据
* @Param
* @Return
* @Author hecan
* @Date 2024/6/4 11:45
* **/
List<ComparisonEntity> queryComparisonBymdmIdFileds(ComparisonEntity comparison);
/**
*
* @content 根据数据来源内类型是插件的应用类型做分组
* @Param
* @Return
* @Author hecan
* @Date 2024/6/4 17:41
* **/
List<ComparisonEntity> queryModuleSource();
}

View File

@ -59,4 +59,32 @@ public class ComparisonDaoImpl extends MybatisGenericDao<ComparisonEntity, Strin
List<ComparisonEntity> comparisonEntities = super.query(getSqlIdPrifx() + "queryComparisonById", comparison);
return comparisonEntities.get(0);
}
//根据主数据编码查询mdm_module数据
@Override
public ComparisonEntity queryComparisonBymdmCode(ComparisonEntity comparison) {
ComparisonEntity comparisonEntity =(ComparisonEntity) super.selectOne(getSqlIdPrifx() + "queryComparisonBymdmCode", comparison);
return comparisonEntity;
}
//根据mdm_module得id查询mdm_module_db得数据
@Override
public List<ComparisonEntity> queryComparisonBymdmId(ComparisonEntity comparison) {
List<ComparisonEntity> list =(List<ComparisonEntity>) super.selectList(getSqlIdPrifx() + "queryComparisonBymdmId", comparison);
return list;
}
//根据mdm_module得id查询mdm_module_db_fileds得数据
@Override
public List<ComparisonEntity> queryComparisonBymdmIdFileds(ComparisonEntity comparison) {
List<ComparisonEntity> list =(List<ComparisonEntity>) super.selectList(getSqlIdPrifx() + "queryComparisonBymdmIdFileds", comparison);
return list;
}
//根据数据来源内类型是插件的应用类型做分组
@Override
public List<ComparisonEntity> queryModuleSource() {
List<ComparisonEntity> list =(List<ComparisonEntity>) super.selectList(getSqlIdPrifx() + "queryModuleSource","");
return list;
}
}

View File

@ -55,7 +55,7 @@
<update id="deleteComparisonDetails" parameterType = "java.util.Map" >
update
${dbName}
set sts= 'N' ,modify_time = now(),modify_user_id = #{modify_user_id}
set sts= 'N' ,modify_time = now(),modify_user_id = #{modify_user_id}, data_status= 'N',delete_status='0'
<trim prefix="where" prefixOverrides="and">
<!--<foreach collection="mapDetails.entrySet()" item="value" index="key">
${key} =#{value}

View File

@ -37,6 +37,61 @@ public class ComparisonEntity extends BaseEntity {
private String mId;//mdm_module的id
private String dbId;//mdm_module_db的id
private String addType;//显示类型新增
private String updateType;//显示类型修改
private String showType;//显示类型查看
private String queryType;//显示类型查询
private String listType;//显示类型列表
private String viewType;//显示类型显示
public String getAddType() {
return addType;
}
public void setAddType(String addType) {
this.addType = addType;
}
public String getUpdateType() {
return updateType;
}
public void setUpdateType(String updateType) {
this.updateType = updateType;
}
public String getShowType() {
return showType;
}
public void setShowType(String showType) {
this.showType = showType;
}
public String getQueryType() {
return queryType;
}
public void setQueryType(String queryType) {
this.queryType = queryType;
}
public String getListType() {
return listType;
}
public void setListType(String listType) {
this.listType = listType;
}
public String getViewType() {
return viewType;
}
public void setViewType(String viewType) {
this.viewType = viewType;
}
public String getRuleMiddle() {
return ruleMiddle;
}

View File

@ -21,7 +21,7 @@
<foreach collection="map.entrySet()" item="value" index="key">
and ${key} like concat('%',#{value},'%')
</foreach>
and sts='Y'
and sts='Y' and (data_status='Y' or data_status='F')
</trim>
</select>
@ -38,6 +38,32 @@
where m.mdm_code= #{mdmCode}
</select>
<!--根据主数据编码查询mdm_module的数据-->
<select id="queryComparisonBymdmCode" resultMap="get-ComparisonEntity-result"
parameterType="com.hzya.frame.sysnew.comparison.entity.ComparisonEntity">
select mdm_name as mdmName,mdm_code as mdmCode,id as mId
from mdm_module
where mdm_code= #{mdmCode} and sts='Y'
</select>
<!--根据mdm_module的id查询mdm_module_db得数据-->
<select id="queryComparisonBymdmId" resultMap="get-ComparisonEntity-result"
parameterType="com.hzya.frame.sysnew.comparison.entity.ComparisonEntity">
select db_name as dbName,db_type as dbType,id as dbId
from mdm_module_db
where mdm_id= #{mId} and sts='Y'
</select>
<!--根据mdm_module的id查询mdm_module_db_fileds得数据-->
<select id="queryComparisonBymdmIdFileds" resultMap="get-ComparisonEntity-result"
parameterType="com.hzya.frame.sysnew.comparison.entity.ComparisonEntity">
select ch_name as chName,en_name as enName,filed_type as filedType,add_type as addType,
update_type as updateType,show_type as showType, query_type as queryType,
list_type as listType, view_type as viewType,mdm_id as mId,db_id as dbId
from mdm_module_db_fileds
where mdm_id= #{mId} and sts='Y'
</select>
<!--根据mdm_module的id和mdm_module_db的id查询单据规则-->
<select id="queryComparisonById" resultMap="get-ComparisonEntity-result">
select group_concat(db_value SEPARATOR '') as documentRule from mdm_table_code_rule
@ -47,45 +73,20 @@
<!--生成单据规则-->
<select id="queryComparisonRule" resultMap="get-ComparisonEntity-result"
parameterType="com.hzya.frame.sysnew.comparison.entity.ComparisonEntity">
<!--select
case when
length(IFNULL(max(right(document_rule,'4')), '0')+1)=2 then
concat(#{rulePrefix},'-',REPLACE(LEFT(NOW(),10),'-',''),'-','00',IFNULL(max(right(document_rule,'4')), '0')+1)
when length(IFNULL(max(right(document_rule,'4')), '0')+1)=1 then
concat(#{rulePrefix},'-',REPLACE(LEFT(NOW(),10),'-',''),'-','000',IFNULL(max(right(document_rule,'4')), '0')+1)
when length(IFNULL(max(right(document_rule,'4')), '0')+1)=3 then
concat(#{rulePrefix},'-',REPLACE(LEFT(NOW(),10),'-',''),'-','0',IFNULL(max(right(document_rule,'4')), '0')+1)
else concat(#{rulePrefix},'-',REPLACE(LEFT(NOW(),10),'-',''),'-','',IFNULL(max(right(document_rule,'4')), '0')+1) end
as documentRule,
right(case when
length(IFNULL(max(right(document_rule,'4')), '0')+1)=2 then
concat(#{rulePrefix},'-',REPLACE(LEFT(NOW(),10),'-',''),'-','00',IFNULL(max(right(document_rule,'4')), '0')+1)
when length(IFNULL(max(right(document_rule,'4')), '0')+1)=1 then
concat(#{rulePrefix},'-',REPLACE(LEFT(NOW(),10),'-',''),'-','000',IFNULL(max(right(document_rule,'4')), '0')+1)
when length(IFNULL(max(right(document_rule,'4')), '0')+1)=3 then
concat(#{rulePrefix},'-',REPLACE(LEFT(NOW(),10),'-',''),'-','0',IFNULL(max(right(document_rule,'4')), '0')+1)
else concat(#{rulePrefix},'-',REPLACE(LEFT(NOW(),10),'-',''),'-','',IFNULL(max(right(document_rule,'4')), '0')+1) end,4) as documentRuleNum
from ${dbName} where document_rule like concat(#{rulePrefix},'-',REPLACE(LEFT(NOW(),10),'-',''),'-','%');-->
select
case when length(ifnull(max(right(document_rule,length(#{ruleSuffix}))),'0')+1)=1
then concat(#{rulePrefix},'-',date_format(NOW(),#{ruleMiddle}),'-','000',ifnull(max(right(document_rule,length(#{ruleSuffix}))),'0')+1)
when length(ifnull(max(right(document_rule,length(#{ruleSuffix}))),'0')+1)=2
then concat(#{rulePrefix},'-',date_format(NOW(),#{ruleMiddle}),'-','00',ifnull(max(right(document_rule,length(#{ruleSuffix}))),'0')+1)
when length(ifnull(max(right(document_rule,length(#{ruleSuffix}))),'0')+1)=3
then concat(#{rulePrefix},'-',date_format(NOW(),#{ruleMiddle}),'-','0',ifnull(max(right(document_rule,length(#{ruleSuffix}))),'0')+1)
else concat(#{rulePrefix},'-',date_format(NOW(),#{ruleMiddle}),'-',ifnull(max(right(document_rule,length(#{ruleSuffix}))),'0')+1)
end as document_rule,
right(
case when length(ifnull(max(right(document_rule,length(#{ruleSuffix}))),'0')+1)=1
then concat(#{rulePrefix},'-',date_format(NOW(),#{ruleMiddle}),'-','000',ifnull(max(right(document_rule,length(#{ruleSuffix}))),'0')+1)
when length(ifnull(max(right(document_rule,length(#{ruleSuffix}))),'0')+1)=2
then concat(#{rulePrefix},'-',date_format(NOW(),#{ruleMiddle}),'-','00',ifnull(max(right(document_rule,length(#{ruleSuffix}))),'0')+1)
when length(ifnull(max(right(document_rule,length(#{ruleSuffix}))),'0')+1)=3
then concat(#{rulePrefix},'-',date_format(NOW(),#{ruleMiddle}),'-','0',ifnull(max(right(document_rule,length(#{ruleSuffix}))),'0')+1)
else concat(#{rulePrefix},'-',date_format(NOW(),#{ruleMiddle}),'-',ifnull(max(right(document_rule,length(#{ruleSuffix}))),'0')+1)
end ,4) as documentRuleNum
from ${dbName} where document_rule like concat(#{rulePrefix},'-',date_format(NOW(),#{ruleMiddle}),'-','%');
</select>
select
concat(#{rulePrefix},'-',date_format(NOW(),#{ruleMiddle}),'-',ifnull(max(substring_index(document_rule,'-',-1)),'0')+1) as documentRule,
substring_index(
(concat(#{rulePrefix},'-',date_format(NOW(),#{ruleMiddle}),'-',ifnull(max(substring_index(document_rule,'-',-1)),'0')+1)),'-',-1
)
as documentRuleNum
from ${dbName} where document_rule like concat(#{rulePrefix},'-',date_format(NOW(),#{ruleMiddle}),'-','%');
</select>
<!--根据数据来源内类型是插件的应用类型做分组-->
<select id="queryModuleSource" resultMap="get-ComparisonEntity-result"
parameterType="com.hzya.frame.sysnew.comparison.entity.ComparisonEntity">
select source_type,source_name,source_code from mdm_module_source group by source_type,source_name,source_code
</select>
<!--新增档案数据-->
@ -120,7 +121,7 @@
<update id="deleteComparison" parameterType = "java.util.Map" >
update
${dbName}
set dataStatus= 'N' ,modify_time = now(),modify_user_id = #{modify_user_id}
set data_status= 'N' ,modify_time = now(),modify_user_id = #{modify_user_id},delete_status='0'
<trim prefix="where" prefixOverrides="and">
<foreach collection="map.entrySet()" item="value" index="key">
and ${key} =#{value}

View File

@ -1,6 +1,7 @@
package com.hzya.frame.sysnew.comparison.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.hzya.frame.basedao.service.IBaseService;
import com.hzya.frame.sysnew.comparison.entity.ComparisonEntity;
import com.hzya.frame.web.entity.JsonResultEntity;
@ -15,6 +16,7 @@ public interface IComparisonService extends IBaseService<ComparisonEntity, Strin
* @Author hecan
* @Date 2024/5/7 15:55
* **/
@DS("master")
JsonResultEntity queryEntityPage(JSONObject jsonObject);
/**
@ -25,6 +27,7 @@ public interface IComparisonService extends IBaseService<ComparisonEntity, Strin
* @Author hecan
* @Date 2024/5/7 16:52
* **/
@DS("master")
JsonResultEntity saveEntity(JSONObject jsonObject);
/**
@ -35,6 +38,7 @@ public interface IComparisonService extends IBaseService<ComparisonEntity, Strin
* @Author hecan
* @Date 2024/5/9 10:19
* **/
@DS("master")
JsonResultEntity updateEntity(JSONObject jsonObject);
/**
@ -45,5 +49,6 @@ public interface IComparisonService extends IBaseService<ComparisonEntity, Strin
* @Author hecan
* @Date 2024/5/9 13:59
* **/
@DS("master")
JsonResultEntity deleteEntity(JSONObject jsonObject);
}

View File

@ -3,6 +3,7 @@ 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.sysnew.comparison.dao.IComparisonDao;
@ -14,6 +15,7 @@ import com.hzya.frame.sysnew.generalData.dao.IGeneralDataDao;
import com.hzya.frame.uuid.UUIDUtils;
import com.hzya.frame.web.entity.BaseResult;
import com.hzya.frame.web.entity.JsonResultEntity;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import sun.java2d.pipe.AAShapePipe;
@ -35,6 +37,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
}
//分页查询通用数据数据
@DS("master")
@Override
public JsonResultEntity queryEntityPage(JSONObject json) {
JSONObject jsonObject = json.getJSONObject("jsonStr");
@ -48,7 +51,9 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
List<ComparisonEntity> comparisonEntities=new ArrayList<>();
try {
//根据主数据编码查询表名称字段名称等信息 10001
comparisonEntities = comparisonDao.queryComparison(comparisonEntity);
//comparisonEntities = comparisonDao.queryComparison(comparisonEntity);
comparisonEntities=getComparisonEntity(comparisonEntity);
}catch (Exception e){
logger.info("根据主数据编码查询信息错误:{}",e.getMessage());
return BaseResult.getFailureMessageEntity("查询失败");
@ -80,6 +85,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
}
//新增通用数据数据
@DS("master")
@Override
public JsonResultEntity saveEntity(JSONObject json) {
JSONObject jsonObject = json.getJSONObject("jsonStr");
@ -97,7 +103,9 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
List<ComparisonEntity> comparisonEntities=new ArrayList<>();
try {
//根据主数据编码查询表名称字段名称等信息 10001
comparisonEntities = comparisonDao.queryComparison(comparisonEntity);
// comparisonEntities = comparisonDao.queryComparison(comparisonEntity);
comparisonEntities=getComparisonEntity(comparisonEntity);
}catch (Exception e){
logger.info("根据主数据编码查询信息错误:{}",e.getMessage());
return BaseResult.getFailureMessageEntity("保存失败");
@ -109,34 +117,8 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
Map<String, Object> map = new HashMap<>();//将主表数据存到map中
Map<String, Object> mapDetails = new HashMap<>();//将子表数据存到map中
if (comparisonEntities != null && comparisonEntities.size() > 0) {
for (ComparisonEntity entity : comparisonEntities) {
//遍历主表下面的所有key,字段名
for (String key : jsonObjectMain.keySet()) {
if (entity.getDbType().equals("1")) {
comparisonEntity.setDbName(entity.getDbName());
//如果表中得字段与输入得字段相等则存起来
if(entity.getEnName().equals(key)){
map.put(key, jsonObjectMain.getString(key));
}
}
}
}
if (jsonArray != null && jsonArray.size() > 0) {
for (Object object : jsonArray) {
JSONObject jsonObjectDetails = (JSONObject) JSON.toJSON(object);
for (ComparisonEntity entity : comparisonEntities) {
//遍历主表下面的所有key,字段名
for (String key : jsonObjectDetails.keySet()) {
if (entity.getDbType().equals("2")) {
comparisonDetailsEntity.setDbName(entity.getDbName());
if(entity.getEnName().equals(key)){
mapDetails.put(key, jsonObjectDetails.getString(key));
}
}
}
}
}
}
map=spliceMainMap(comparisonEntities,jsonObjectMain,map,comparisonEntity);
mapDetails=spliceDetailMap(comparisonEntities,mapDetails,comparisonDetailsEntity,jsonArray);
String uuid = UUIDUtils.getUUID();
map.put("id", uuid);
map.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");
@ -145,20 +127,23 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
map.put("create_time", new Date());
map.put("modify_time", new Date());
map.put("sts", "Y");
map.put("add_status","0");//新增状态
map.put("update_status","1");//修改状态
map.put("delete_status","1");//删除状态
//查询单据规则
try {
ComparisonEntity comparisonEntityRule = comparisonEntities.get(0);
comparisonEntityRule= comparisonDao.queryComparisonById(comparisonEntityRule);
String documentRule = comparisonEntityRule.getDocumentRule();
comparisonEntityRule= comparisonDao.queryComparisonById(comparisonEntityRule);
String documentRule =comparisonEntityRule.getDocumentRule();; //"KH-2024-05-30-1";
logger.info("通用数据保存接口中根据mId查询出来的单据规则为:{}",documentRule);
if(documentRule !=null){
//获取规则前缀 CK
//获取规则前缀 CK
String rulePrefix=documentRule.substring(0,documentRule.indexOf("-"));
//获取规则中间日期 yyyy-MM-dd
String ruleDate = documentRule.substring(documentRule.indexOf("-") + 1, documentRule.lastIndexOf("-"));
String ruleMiddle = getRuleDate(ruleDate);
//获取规则后缀
String ruleSuffix= documentRule.substring(documentRule.lastIndexOf("-")+1);
String ruleSuffix= documentRule.substring(documentRule.lastIndexOf("-")+1);
//生成单据规则
comparisonEntity.setRulePrefix(rulePrefix);
comparisonEntity.setRuleMiddle(ruleMiddle);
@ -225,7 +210,9 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
List<ComparisonEntity> comparisonEntities=new ArrayList<>();
//根据主数据编码查询表名称字段名称等信息 10001
try {
comparisonEntities = comparisonDao.queryComparison(comparisonEntity);
// comparisonEntities = comparisonDao.queryComparison(comparisonEntity);
comparisonEntities=getComparisonEntity(comparisonEntity);
}catch (Exception e){
logger.info("根据主数据编码查询信息错误:{}",e.getMessage());
return BaseResult.getFailureMessageEntity("更新失败");
@ -233,38 +220,15 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
Map<String,Object> map=new HashMap<>();//将主表数据存到map中
Map<String,Object> mapDetails=new HashMap<>();//将子表数据存到map中
if(comparisonEntities !=null && comparisonEntities.size()>0) {
for (ComparisonEntity entity : comparisonEntities) {
//遍历主表下面的所有key,字段名
for (String key : jsonObjectMain.keySet()) {
if (entity.getDbType().equals("1")) {
comparisonEntity.setDbName(entity.getDbName());
if(entity.getEnName().equals(key)){
map.put(key, jsonObjectMain.getString(key));
}
}
}
}
if (jsonArray != null && jsonArray.size() > 0) {
for (Object object : jsonArray) {
JSONObject jsonObjectDetails = (JSONObject) JSON.toJSON(object);
for (ComparisonEntity entity : comparisonEntities) {
//遍历主表下面的所有key,字段名
for (String key : jsonObjectDetails.keySet()) {
if (entity.getDbType().equals("2")) {
comparisonDetailsEntity.setDbName(entity.getDbName());
if(entity.getEnName().equals(key)){
mapDetails.put(key, jsonObjectDetails.getString(key));
}
}
}
}
}
}
map=spliceMainMap(comparisonEntities,jsonObjectMain,map,comparisonEntity);
mapDetails=spliceDetailMap(comparisonEntities,map,comparisonDetailsEntity,jsonArray);
map.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");
map.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");
map.put("org_id", "0");
map.put("modify_time", new Date());
map.put("sts", "Y");
map.put("data_status","F");//数据状态
map.put("update_status","0");//修改状态
comparisonEntity.setMap(map);
comparisonEntity.setId(jsonObjectMain.getString("id"));
/*//生成单据规则
@ -288,6 +252,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
mapDetails.put("org_id", "0");
mapDetails.put("modify_time", new Date());
mapDetails.put("sts", "Y");
mapDetails.put("data_status","F");//数据状态
comparisonDetailsEntity.setFormmainId(jsonObjectMain.getString("id"));
comparisonDetailsEntity.setMapDetails(mapDetails);
comparisonDetailsDao.updateComparisonDetailsByType(comparisonDetailsEntity);
@ -323,7 +288,9 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
List<ComparisonEntity> comparisonEntities=new ArrayList<>();
//根据主数据编码查询表名称字段名称等信息 10001
try {
comparisonEntities = comparisonDao.queryComparison(comparisonEntity);
// comparisonEntities = comparisonDao.queryComparison(comparisonEntity);
comparisonEntities=getComparisonEntity(comparisonEntity);
}catch (Exception e){
logger.info("根据主数据编码查询信息错误:{}",e.getMessage());
return BaseResult.getFailureMessageEntity("删除失败");
@ -384,4 +351,93 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
return null;
}
}
//得到主表数据
private Map<String,Object> spliceMainMap(List<ComparisonEntity> comparisonEntities,JSONObject jsonObjectMain,Map<String, Object> map,ComparisonEntity comparisonEntity){
for (ComparisonEntity entity : comparisonEntities) {
//遍历主表下面的所有key,字段名
for (String key : jsonObjectMain.keySet()) {
if (entity.getDbType().equals("1")) {
comparisonEntity.setDbName(entity.getDbName());
//如果表中得字段与输入得字段相等则存起来
if(entity.getEnName().equals(key)){
map.put(key, jsonObjectMain.getString(key));
}
}
}
}
return map;
}
//得到明细表数据
private Map<String,Object> spliceDetailMap(List<ComparisonEntity> comparisonEntities,Map<String, Object> mapDetails,ComparisonDetailsEntity comparisonDetailsEntity,JSONArray jsonArray){
if (jsonArray != null && jsonArray.size() > 0) {
for (Object object : jsonArray) {
JSONObject jsonObjectDetails = (JSONObject) JSON.toJSON(object);
for (ComparisonEntity entity : comparisonEntities) {
//遍历主表下面的所有key,字段名
for (String key : jsonObjectDetails.keySet()) {
if (entity.getDbType().equals("2")) {
comparisonDetailsEntity.setDbName(entity.getDbName());
if(entity.getEnName().equals(key)){
mapDetails.put(key, jsonObjectDetails.getString(key));
}
}
}
}
}
}
return mapDetails;
}
//根据主数据编码获取数据表名称字段名称等
public List<ComparisonEntity> getComparisonEntity(ComparisonEntity comparisonEntity) {
List<ComparisonEntity> comparisonEntities = new ArrayList<>();
//根据主数据编码查询mdm_module数据
ComparisonEntity comparisonEntityModule = comparisonDao.queryComparisonBymdmCode(comparisonEntity);
if (comparisonEntityModule != null) {
//根据mdm_module得id查询mdm_module_db得数据
List<ComparisonEntity> comparisonEntitiesModuleDb = comparisonDao.queryComparisonBymdmId(comparisonEntityModule);
//根据mdm_module得id查询mdm_module_db_fileds得数据
List<ComparisonEntity> comparisonEntitiesFiles = comparisonDao.queryComparisonBymdmIdFileds(comparisonEntityModule);
for (ComparisonEntity comparison : comparisonEntitiesModuleDb) {
for (ComparisonEntity comparisonEntitiesFile : comparisonEntitiesFiles) {
if(comparison.getDbId().equals(comparisonEntitiesFile.getDbId())){
ComparisonEntity comparisonEntityFile=new ComparisonEntity();
comparisonEntityFile.setChName(comparisonEntitiesFile.getChName());
comparisonEntityFile.setEnName(comparisonEntitiesFile.getEnName());
comparisonEntityFile.setFiledType(comparisonEntitiesFile.getFiledType());
comparisonEntityFile.setAddType(comparisonEntitiesFile.getAddType());
comparisonEntityFile.setUpdateType(comparisonEntitiesFile.getUpdateType());
comparisonEntityFile.setShowType(comparisonEntitiesFile.getShowType());
comparisonEntityFile.setQueryType(comparisonEntitiesFile.getQueryType());
comparisonEntityFile.setListType(comparisonEntitiesFile.getListType());
comparisonEntityFile.setViewType(comparisonEntitiesFile.getViewType());
comparisonEntityFile.setDbName(comparison.getDbName());
comparisonEntityFile.setDbType(comparison.getDbType());
comparisonEntityFile.setDbId(comparison.getDbId());
comparisonEntityFile.setmId(comparisonEntitiesFile.getmId());
comparisonEntityFile.setMdmName(comparisonEntityModule.getMdmName());
comparisonEntityFile.setMdmCode(comparisonEntityModule.getMdmCode());
comparisonEntities.add(comparisonEntityFile);
}
}
}
return comparisonEntities;
}
return null;
}
//查询数据来源 根据数据来源内类型是插件的应用类型做分组
public List<ComparisonEntity> getComparisonEntityFiles(){
List<ComparisonEntity> comparisonEntities = comparisonDao.queryModuleSource();
if(CollectionUtils.isNotEmpty(comparisonEntities)){
for (ComparisonEntity comparisonEntity : comparisonEntities) {
//根据来源类型获取档案数据 比如U8C
}
}
return null;
}
}