调整OA对接BIP代码

This commit is contained in:
hecan 2024-12-20 11:13:32 +08:00
parent c996ade1ee
commit 71c1d1bfb3
7 changed files with 193 additions and 109 deletions

View File

@ -135,17 +135,30 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
String id = requestJson.getString("integration_task_living_details_id"); String id = requestJson.getString("integration_task_living_details_id");
//执行重新发送 //执行重新发送
if (StrUtil.isNotEmpty(id)) { if (StrUtil.isNotEmpty(id)) {
logger.info("========开始执行业务数据下发重推接口,重推id为{}=======", id);
//查询日志表 //查询日志表
IntegrationTaskLivingDetailsEntity taskDetailEntity = taskLivingDetailsService.get(id); IntegrationTaskLivingDetailsEntity taskDetailEntity = taskLivingDetailsService.get(id);
if (null != taskDetailEntity && JSONUtil.isTypeJSON(taskDetailEntity.getRootAppPk())){ if (null != taskDetailEntity && JSONUtil.isTypeJSON(taskDetailEntity.getRootAppPk())) {
ServiceDataEntity zt = new ServiceDataEntity();
zt.setBillCode(taskDetailEntity.getRootAppBill());
List<ServiceDataEntity> list = serviceDataDao.queryDataByVdef1(zt);
if (list == null || list.size() == 0) {
logger.info("重试id{}该数据下发状态已经为1不再重推", id);
taskDetailEntity.setResult("发送成功");
taskLivingDetailsService.saveLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("发送成功");
} else {
//拿到这张表的源系统ID //拿到这张表的源系统ID
JSONObject jsonObject = JSONObject.parseObject(taskDetailEntity.getRootAppPk()); JSONObject jsonObject = JSONObject.parseObject(taskDetailEntity.getRootAppPk());
Long mdmCode = jsonObject.getLong("mdmCode");//主数据编码 Long mdmCode = jsonObject.getLong("mdmCode");//主数据编码
String documentRule = jsonObject.getString("documentRule");//行数据的单据规则编码 String documentRule = jsonObject.getString("documentRule");//行数据的单据规则编码
String distributeId = jsonObject.getString("distributeId");//发送表id String distributeId = jsonObject.getString("distributeId");//发送表id
String type = jsonObject.getString("type");//发送类型1新增2修改3删除 String type = jsonObject.getString("type");//发送类型1新增2修改3删除
if(mdmCode == null || documentRule == null || distributeId == null || type == null if (mdmCode == null || documentRule == null || distributeId == null || type == null
|| "".equals(mdmCode) || "".equals(documentRule) || "".equals(distributeId) || "".equals(type)){ || "".equals(mdmCode) || "".equals(documentRule) || "".equals(distributeId) || "".equals(type)) {
taskDetailEntity.setResult("系统保存参数错误"); taskDetailEntity.setResult("系统保存参数错误");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("系统保存参数错误"); return BaseResult.getFailureMessageEntity("系统保存参数错误");
@ -156,7 +169,7 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
//获取主数据信息 //获取主数据信息
MdmModuleEntity mdmModuleEntity = mdmServiceCache.getMdmModuleEntity(mdmCode); MdmModuleEntity mdmModuleEntity = mdmServiceCache.getMdmModuleEntity(mdmCode);
if(mdmModuleEntity == null || mdmModuleEntity.getId() == null ){ if (mdmModuleEntity == null || mdmModuleEntity.getId() == null) {
taskDetailEntity.setResult("主数据不存在"); taskDetailEntity.setResult("主数据不存在");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("主数据不存在"); return BaseResult.getFailureMessageEntity("主数据不存在");
@ -167,7 +180,7 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
MdmModuleDbEntity mdmModuleDbEntity = new MdmModuleDbEntity(); MdmModuleDbEntity mdmModuleDbEntity = new MdmModuleDbEntity();
mdmModuleDbEntity.setMdmId(mdmModuleEntity.getId()); mdmModuleDbEntity.setMdmId(mdmModuleEntity.getId());
List<MdmModuleDbEntity> mdmModuleDbEntities = mdmServiceCache.queryMdmModuleDb(mdmModuleDbEntity); List<MdmModuleDbEntity> mdmModuleDbEntities = mdmServiceCache.queryMdmModuleDb(mdmModuleDbEntity);
if(mdmModuleDbEntities == null || mdmModuleDbEntities.size() == 0){ if (mdmModuleDbEntities == null || mdmModuleDbEntities.size() == 0) {
taskDetailEntity.setResult("主数据数据源不存在"); taskDetailEntity.setResult("主数据数据源不存在");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("主数据数据源不存在"); return BaseResult.getFailureMessageEntity("主数据数据源不存在");
@ -177,20 +190,20 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
//获取分发表 //获取分发表
//获取分发的接口 //获取分发的接口
MdmModuleDistributeEntity mdmModuleDistributeEntity = mdmModuleDistributeDao.get(distributeId); MdmModuleDistributeEntity mdmModuleDistributeEntity = mdmModuleDistributeDao.get(distributeId);
if(mdmModuleDistributeEntity == null || mdmModuleDistributeEntity.getId() == null ){ if (mdmModuleDistributeEntity == null || mdmModuleDistributeEntity.getId() == null) {
taskDetailEntity.setResult("分发不存在"); taskDetailEntity.setResult("分发不存在");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("分发不存在"); return BaseResult.getFailureMessageEntity("分发不存在");
} }
// 启用停用 0停用 // 启用停用 0停用
if("0".equals(mdmModuleDistributeEntity.getEnabledState())){ if ("0".equals(mdmModuleDistributeEntity.getEnabledState())) {
taskDetailEntity.setResult("分发已停用"); taskDetailEntity.setResult("分发已停用");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("分发已停用"); return BaseResult.getFailureMessageEntity("分发已停用");
} }
MdmModuleDistributeDetailEntity mdmModuleDistributeDetailEntity = new MdmModuleDistributeDetailEntity() ; MdmModuleDistributeDetailEntity mdmModuleDistributeDetailEntity = new MdmModuleDistributeDetailEntity();
mdmModuleDistributeDetailEntity.setDistributeId(distributeId); mdmModuleDistributeDetailEntity.setDistributeId(distributeId);
mdmModuleDistributeDetailEntity.setSts("Y"); mdmModuleDistributeDetailEntity.setSts("Y");
List<MdmModuleDistributeDetailEntity> mdmModuleDistributeDetailEntities = mdmModuleDistributeDetailDao.queryBase(mdmModuleDistributeDetailEntity); List<MdmModuleDistributeDetailEntity> mdmModuleDistributeDetailEntities = mdmModuleDistributeDetailDao.queryBase(mdmModuleDistributeDetailEntity);
@ -202,41 +215,41 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
// return BaseResult.getFailureMessageEntity("分发为手动下发"); // return BaseResult.getFailureMessageEntity("分发为手动下发");
//} //}
//1新增2修改3删除 //1新增2修改3删除
if("1".equals(type)){ if ("1".equals(type)) {
apiId = mdmModuleDistributeEntity.getAddApi(); apiId = mdmModuleDistributeEntity.getAddApi();
scriptId = mdmModuleDistributeEntity.getAddScript(); scriptId = mdmModuleDistributeEntity.getAddScript();
}else if("2".equals(type)){ } else if ("2".equals(type)) {
apiId = mdmModuleDistributeEntity.getUpdateApi(); apiId = mdmModuleDistributeEntity.getUpdateApi();
scriptId = mdmModuleDistributeEntity.getUpdateScript(); scriptId = mdmModuleDistributeEntity.getUpdateScript();
}else if("3".equals(type)){ } else if ("3".equals(type)) {
apiId = mdmModuleDistributeEntity.getDeleteApi(); apiId = mdmModuleDistributeEntity.getDeleteApi();
scriptId = mdmModuleDistributeEntity.getDeleteScript(); scriptId = mdmModuleDistributeEntity.getDeleteScript();
} }
if(apiId == null || "".equals(apiId)){ if (apiId == null || "".equals(apiId)) {
taskDetailEntity.setResult("分发接口未选择,请先选择"); taskDetailEntity.setResult("分发接口未选择,请先选择");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("分发接口未选择,请先选择"); return BaseResult.getFailureMessageEntity("分发接口未选择,请先选择");
} }
SysApplicationScriptEntity scriptEntity = null; SysApplicationScriptEntity scriptEntity = null;
if(scriptId != null && !"".equals(scriptId)){ if (scriptId != null && !"".equals(scriptId)) {
scriptEntity = sysApplicationScriptDao.get(scriptId); scriptEntity = sysApplicationScriptDao.get(scriptId);
if(scriptEntity == null || scriptEntity.getId() == null ){ if (scriptEntity == null || scriptEntity.getId() == null) {
taskDetailEntity.setResult("分发接口脚本不存在"); taskDetailEntity.setResult("分发接口脚本不存在");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("分发接口脚本不存在"); return BaseResult.getFailureMessageEntity("分发接口脚本不存在");
} }
} }
SysApplicationApiEntity apiEntity = sysApplicationApiDao.get(apiId); SysApplicationApiEntity apiEntity = sysApplicationApiDao.get(apiId);
if(apiEntity == null || apiEntity.getId() == null ){ if (apiEntity == null || apiEntity.getId() == null) {
taskDetailEntity.setResult("分发接口不存在"); taskDetailEntity.setResult("分发接口不存在");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("分发接口不存在"); return BaseResult.getFailureMessageEntity("分发接口不存在");
} }
SysApplicationEntity sysApplicationEntity = sysApplicationDao.get(apiEntity.getAppId()); SysApplicationEntity sysApplicationEntity = sysApplicationDao.get(apiEntity.getAppId());
if(sysApplicationEntity == null || sysApplicationEntity.getId() == null ){ if (sysApplicationEntity == null || sysApplicationEntity.getId() == null) {
taskDetailEntity.setResult("应用不存在"); taskDetailEntity.setResult("应用不存在");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("应用不存在"); return BaseResult.getFailureMessageEntity("应用不存在");
@ -251,50 +264,58 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
queryFildRule.setRuleCode("service"); queryFildRule.setRuleCode("service");
List<MdmModuleDbFiledsRuleEntity> mdmModuleDbFiledsRuleEntities = mdmModuleDbFiledsRuleDao.queryBase(queryFildRule); List<MdmModuleDbFiledsRuleEntity> mdmModuleDbFiledsRuleEntities = mdmModuleDbFiledsRuleDao.queryBase(queryFildRule);
String mainDb = null;
String mainId = null;
//获取主数据db对应的实体表的数据 //获取主数据db对应的实体表的数据
JSONObject object = new JSONObject(); JSONObject object = new JSONObject();
for (int i = 0; i < mdmModuleDbEntities.size(); i++) { for (int i = 0; i < mdmModuleDbEntities.size(); i++) {
if("1".equals(mdmModuleDbEntities.get(i).getDbType())){ if ("1".equals(mdmModuleDbEntities.get(i).getDbType())) {
Map<String,Object> map = new HashMap<>();
map.put("tableName",mdmModuleDbEntities.get(i).getDbName()); mainDb = mdmModuleDbEntities.get(i).getDbName();
map.put("documentRule",documentRule);
Map<String, Object> map = new HashMap<>();
map.put("tableName", mdmModuleDbEntities.get(i).getDbName());
map.put("documentRule", documentRule);
object = mdmModuleDao.queryMdmST(map); object = mdmModuleDao.queryMdmST(map);
object = toLowerCaseKeys(object); object = toLowerCaseKeys(object);
if(object.getString("id") == null || "".equals(object.getString("id")) ){ mainId = object.getString("id");
if (object.getString("id") == null || "".equals(object.getString("id"))) {
taskDetailEntity.setResult("当前数据不存在"); taskDetailEntity.setResult("当前数据不存在");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("当前数据不存在"); return BaseResult.getFailureMessageEntity("当前数据不存在");
} }
if(mdmModuleDistributeDetailEntities != null && mdmModuleDistributeDetailEntities.size() > 0){ if (mdmModuleDistributeDetailEntities != null && mdmModuleDistributeDetailEntities.size() > 0) {
Map<String,Object> checkData = new HashMap<>(); Map<String, Object> checkData = new HashMap<>();
checkData.put("tableName",mdmModuleDbEntities.get(i).getDbName()); checkData.put("tableName", mdmModuleDbEntities.get(i).getDbName());
checkData.put("documentRule",documentRule); checkData.put("documentRule", documentRule);
checkData.put("mdmModuleDistributeDetailEntities",mdmModuleDistributeDetailEntities); checkData.put("mdmModuleDistributeDetailEntities", mdmModuleDistributeDetailEntities);
JSONObject object1 = mdmModuleDao.queryMdmST(checkData); JSONObject object1 = mdmModuleDao.queryMdmST(checkData);
object1 = toLowerCaseKeys(object1); object1 = toLowerCaseKeys(object1);
if(object1.getString("id") == null || "".equals(object1.getString("id")) ){ if (object1.getString("id") == null || "".equals(object1.getString("id"))) {
taskDetailEntity.setResult("当前数据不符合规则不发送"); taskDetailEntity.setResult("当前数据不符合规则不发送");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("当前数据不符合规则不发送"); return BaseResult.getFailureMessageEntity("当前数据不符合规则不发送");
} }
} }
//查看主表是否有字段是关联的 //查看主表是否有字段是关联的
if(mdmModuleDbFiledsRuleEntities != null && mdmModuleDbFiledsRuleEntities.size() > 0){ if (mdmModuleDbFiledsRuleEntities != null && mdmModuleDbFiledsRuleEntities.size() > 0) {
for (int i1 = 0; i1 < mdmModuleDbFiledsRuleEntities.size(); i1++) { for (int i1 = 0; i1 < mdmModuleDbFiledsRuleEntities.size(); i1++) {
if(mdmModuleDbFiledsRuleEntities.get(i1).getDbId().equals(mdmModuleDbEntities.get(i).getId())){ if (mdmModuleDbFiledsRuleEntities.get(i1).getDbId().equals(mdmModuleDbEntities.get(i).getId())) {
if(mdmModuleDbFiledsEntities != null && mdmModuleDbFiledsEntities.size() > 0){ if (mdmModuleDbFiledsEntities != null && mdmModuleDbFiledsEntities.size() > 0) {
for (int i2 = 0; i2 < mdmModuleDbFiledsEntities.size(); i2++) { for (int i2 = 0; i2 < mdmModuleDbFiledsEntities.size(); i2++) {
if(mdmModuleDbFiledsRuleEntities.get(i1).getFiledId().equals(mdmModuleDbFiledsEntities.get(i2).getId())){ if (mdmModuleDbFiledsRuleEntities.get(i1).getFiledId().equals(mdmModuleDbFiledsEntities.get(i2).getId())) {
if(object.getString(mdmModuleDbFiledsEntities.get(i2).getEnName()) != null){ if (object.getString(mdmModuleDbFiledsEntities.get(i2).getEnName()) != null) {
Map<String,Object> mapDetail = new HashMap<>(); Map<String, Object> mapDetail = new HashMap<>();
mapDetail.put("tableName",mdmModuleDbFiledsRuleEntities.get(i1).getRuleValue()); mapDetail.put("tableName", mdmModuleDbFiledsRuleEntities.get(i1).getRuleValue());
String ids = object.getString(mdmModuleDbFiledsEntities.get(i2).getEnName()); String ids = object.getString(mdmModuleDbFiledsEntities.get(i2).getEnName());
String[] idss = ids.split(","); String[] idss = ids.split(",");
mapDetail.put("id", idss[idss.length-1]); mapDetail.put("id", idss[idss.length - 1]);
JSONObject objectDetail = mdmModuleDao.queryMdmST(mapDetail); JSONObject objectDetail = mdmModuleDao.queryMdmST(mapDetail);
objectDetail = toLowerCaseKeys(objectDetail); objectDetail = toLowerCaseKeys(objectDetail);
object.put(mdmModuleDbFiledsEntities.get(i2).getEnName(),objectDetail); object.put(mdmModuleDbFiledsEntities.get(i2).getEnName(), objectDetail);
} }
} }
} }
@ -306,33 +327,33 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
} }
for (int i = 0; i < mdmModuleDbEntities.size(); i++) { for (int i = 0; i < mdmModuleDbEntities.size(); i++) {
if("2".equals(mdmModuleDbEntities.get(i).getDbType())){ if ("2".equals(mdmModuleDbEntities.get(i).getDbType())) {
Map<String,Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("tableName",mdmModuleDbEntities.get(i).getDbName()); map.put("tableName", mdmModuleDbEntities.get(i).getDbName());
map.put("formmainId",object.getString("id")); map.put("formmainId", object.getString("id"));
List<JSONObject> detail = mdmModuleDao.queryMdmSTDetail(map); List<JSONObject> detail = mdmModuleDao.queryMdmSTDetail(map);
detail = toLowerCaseKeys(detail); detail = toLowerCaseKeys(detail);
//查看主表是否有字段是关联的 //查看主表是否有字段是关联的
if(detail != null && detail.size() > 0){ if (detail != null && detail.size() > 0) {
if(mdmModuleDbFiledsRuleEntities != null && mdmModuleDbFiledsRuleEntities.size() > 0){ if (mdmModuleDbFiledsRuleEntities != null && mdmModuleDbFiledsRuleEntities.size() > 0) {
for (int i1 = 0; i1 < mdmModuleDbFiledsRuleEntities.size(); i1++) { for (int i1 = 0; i1 < mdmModuleDbFiledsRuleEntities.size(); i1++) {
if(mdmModuleDbFiledsRuleEntities.get(i1).getDbId().equals(mdmModuleDbEntities.get(i).getId())){ if (mdmModuleDbFiledsRuleEntities.get(i1).getDbId().equals(mdmModuleDbEntities.get(i).getId())) {
if(mdmModuleDbFiledsEntities != null && mdmModuleDbFiledsEntities.size() > 0){ if (mdmModuleDbFiledsEntities != null && mdmModuleDbFiledsEntities.size() > 0) {
for (int i2 = 0; i2 < mdmModuleDbFiledsEntities.size(); i2++) { for (int i2 = 0; i2 < mdmModuleDbFiledsEntities.size(); i2++) {
if(mdmModuleDbFiledsRuleEntities.get(i1).getFiledId().equals(mdmModuleDbFiledsEntities.get(i2).getId())){ if (mdmModuleDbFiledsRuleEntities.get(i1).getFiledId().equals(mdmModuleDbFiledsEntities.get(i2).getId())) {
for (int i3 = 0; i3 < detail.size(); i3++) { for (int i3 = 0; i3 < detail.size(); i3++) {
if(detail.get(i3).getString(mdmModuleDbFiledsEntities.get(i2).getEnName()) != null){ if (detail.get(i3).getString(mdmModuleDbFiledsEntities.get(i2).getEnName()) != null) {
Map<String,Object> mapDetail = new HashMap<>(); Map<String, Object> mapDetail = new HashMap<>();
mapDetail.put("tableName",mdmModuleDbFiledsRuleEntities.get(i1).getRuleValue()); mapDetail.put("tableName", mdmModuleDbFiledsRuleEntities.get(i1).getRuleValue());
String ids = detail.get(i3).getString(mdmModuleDbFiledsEntities.get(i2).getEnName()); String ids = detail.get(i3).getString(mdmModuleDbFiledsEntities.get(i2).getEnName());
String[] idss = ids.split(","); String[] idss = ids.split(",");
mapDetail.put("id", idss[idss.length-1]); mapDetail.put("id", idss[idss.length - 1]);
JSONObject objectDetail = mdmModuleDao.queryMdmST(mapDetail); JSONObject objectDetail = mdmModuleDao.queryMdmST(mapDetail);
objectDetail = toLowerCaseKeys(objectDetail); objectDetail = toLowerCaseKeys(objectDetail);
detail.get(i3).put(mdmModuleDbFiledsEntities.get(i2).getEnName(),objectDetail); detail.get(i3).put(mdmModuleDbFiledsEntities.get(i2).getEnName(), objectDetail);
} }
} }
@ -343,16 +364,18 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
} }
} }
} }
object.put(mdmModuleDbEntities.get(i).getDbName(),detail); object.put(mdmModuleDbEntities.get(i).getDbName(), detail);
} }
} }
logger.info("=========开始执行业务数据下发重试脚本,第一次==========");
//执行脚本 //执行脚本
JSONObject groovy = new JSONObject(); JSONObject groovy = new JSONObject();
JSONObject parameterJson = new JSONObject(); JSONObject parameterJson = new JSONObject();
parameterJson.put("header",apiEntity.getHeaderIn()); parameterJson.put("header", apiEntity.getHeaderIn());
parameterJson.put("body",apiEntity.getBodyIn()); parameterJson.put("body", apiEntity.getBodyIn());
parameterJson.put("query",apiEntity.getQueryIn()); parameterJson.put("query", apiEntity.getQueryIn());
parameterJson.put("data",object); parameterJson.put("data", object);
if (!"1".equals(type)) {//删除或者修改情况,查询三方id有就设置没有就设置空 if (!"1".equals(type)) {//删除或者修改情况,查询三方id有就设置没有就设置空
//1根据主数据id数据id应用ID默认查询主数据应用下发三方id表只查询最新的一条数据 //1根据主数据id数据id应用ID默认查询主数据应用下发三方id表只查询最新的一条数据
@ -363,7 +386,7 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
mdmModuleDistributeTripartiteEntity.setAppId(sysApplicationEntity.getId()); mdmModuleDistributeTripartiteEntity.setAppId(sysApplicationEntity.getId());
mdmModuleDistributeTripartiteEntity = mdmModuleDistributeTripartiteDao.queryOneTripartite(mdmModuleDistributeTripartiteEntity); mdmModuleDistributeTripartiteEntity = mdmModuleDistributeTripartiteDao.queryOneTripartite(mdmModuleDistributeTripartiteEntity);
String tripartiteId = ""; String tripartiteId = "";
if(mdmModuleDistributeTripartiteEntity != null && mdmModuleDistributeTripartiteEntity.getTripartiteId() != null ){ if (mdmModuleDistributeTripartiteEntity != null && mdmModuleDistributeTripartiteEntity.getTripartiteId() != null) {
tripartiteId = mdmModuleDistributeTripartiteEntity.getTripartiteId(); tripartiteId = mdmModuleDistributeTripartiteEntity.getTripartiteId();
} }
parameterJson.put("tripartiteId", tripartiteId); parameterJson.put("tripartiteId", tripartiteId);
@ -374,35 +397,36 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
String querys = null; String querys = null;
/** body */ /** body */
String bodys = object.toJSONString(); String bodys = object.toJSONString();
if(scriptEntity != null && scriptEntity.getId() != null ){ if (scriptEntity != null && scriptEntity.getId() != null) {
groovy.put("code",scriptEntity.getScriptCode()); groovy.put("code", scriptEntity.getScriptCode());
groovy.put("className",scriptEntity.getClassName()); groovy.put("className", scriptEntity.getClassName());
groovy.put("name",scriptEntity.getScriptName()); groovy.put("name", scriptEntity.getScriptName());
groovy.put("methodStr",scriptEntity.getScriptData()); groovy.put("methodStr", scriptEntity.getScriptData());
groovy.put("parameterJson",parameterJson); groovy.put("parameterJson", parameterJson);
JSONObject groovyStr = new JSONObject(); JSONObject groovyStr = new JSONObject();
groovyStr.put("jsonStr",groovy); groovyStr.put("jsonStr", groovy);
try { try {
Object str = groovyIntegrationService.groovyScriptExecution(groovyStr); Object str = groovyIntegrationService.groovyScriptExecution(groovyStr);
JSONObject jsonResultEntity = JSONObject.parseObject(str.toString()); JSONObject jsonResultEntity = JSONObject.parseObject(str.toString());
header = (Map<String, String>) jsonResultEntity.get("header"); header = (Map<String, String>) jsonResultEntity.get("header");
querys = jsonResultEntity.getString("querys"); querys = jsonResultEntity.getString("querys");
bodys = jsonResultEntity.getString("bodys"); bodys = jsonResultEntity.getString("bodys");
}catch (Exception e){ } catch (Exception e) {
taskDetailEntity.setResult("分发脚本转换错误"); taskDetailEntity.setResult("分发脚本转换错误");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("分发脚本转换错误"); return BaseResult.getFailureMessageEntity("分发脚本转换错误");
} }
} }
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
headers.put("publicKey","ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"); headers.put("publicKey", "ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj");
headers.put("secretKey","fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="); headers.put("secretKey", "fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=");
headers.put("appId",sysApplicationEntity.getAppId().toString()); headers.put("appId", sysApplicationEntity.getAppId().toString());
headers.put("apiCode",apiEntity.getApiCode().toString()); headers.put("apiCode", apiEntity.getApiCode().toString());
if(header != null){ if (header != null) {
headers.putAll(header); headers.putAll(header);
} }
if (SysEnum.NEED_LOGIN.getValue().equals(apiEntity.getNeedLogin())) { if (SysEnum.NEED_LOGIN.getValue().equals(apiEntity.getNeedLogin())) {
logger.info("========业务数据下发重试开始执行登录接口==========");
//找到登陆接口 //找到登陆接口
SysApplicationApiEntity loginApi = sysApplicationApiDao.get(apiEntity.getAuthenticationPort()); SysApplicationApiEntity loginApi = sysApplicationApiDao.get(apiEntity.getAuthenticationPort());
if (null == loginApi) { if (null == loginApi) {
@ -410,46 +434,50 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("发送错误,认证接口不存在"); return BaseResult.getFailureMessageEntity("发送错误,认证接口不存在");
} }
String rzquerys = getQuery(loginApi,null,null); String rzquerys = getQuery(loginApi, null, null);
Map<String, String> headersa = new HashMap<>(); Map<String, String> headersa = new HashMap<>();
headersa.put("publicKey", "ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"); headersa.put("publicKey", "ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj");
headersa.put("secretKey", "fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="); headersa.put("secretKey", "fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=");
headersa.put("appId", sysApplicationEntity.getAppId().toString()); headersa.put("appId", sysApplicationEntity.getAppId().toString());
headersa.put("apiCode", loginApi.getApiCode().toString()); headersa.put("apiCode", loginApi.getApiCode().toString());
Map<String, String> rzheaders = getHeaders(loginApi,headersa,null); Map<String, String> rzheaders = getHeaders(loginApi, headersa, null);
String rzbodys = getBodys(loginApi,null,null); String rzbodys = getBodys(loginApi, null, null);
JsonResultEntity rzjsonResultEntity = sendData(loginApi,rzheaders,rzbodys,rzquerys); JsonResultEntity rzjsonResultEntity = sendData(loginApi, rzheaders, rzbodys, rzquerys);
if (!rzjsonResultEntity.isFlag()) { if (!rzjsonResultEntity.isFlag()) {
taskDetailEntity.setResult("发送错误,认证接口错误"); taskDetailEntity.setResult("发送错误,认证接口错误");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("发送错误:"+rzjsonResultEntity.getMsg()); return BaseResult.getFailureMessageEntity("发送错误:" + rzjsonResultEntity.getMsg());
} }
JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString()); JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString());
logger.info("认证接口返回信息:"+ attritube.toJSONString()); logger.info("=======业务数据下发重试登录返回数据:{}========", attritube.toJSONString());
querys = getQuery(apiEntity,querys,attritube); logger.info("认证接口返回信息:" + attritube.toJSONString());
headers = getHeaders(apiEntity,headers,attritube); querys = getQuery(apiEntity, querys, attritube);
headers = getHeaders(apiEntity, headers, attritube);
bodys = getBodys(apiEntity,bodys,attritube); bodys = getBodys(apiEntity, bodys, attritube);
} }
logger.info("=========开始执行业务数据下发重试脚本,第二次==========");
//组装数据发送 //组装数据发送
JsonResultEntity jsonResultEntity = sendData(apiEntity,headers,bodys,querys); JsonResultEntity jsonResultEntity = sendData(apiEntity, headers, bodys, querys);
if(jsonResultEntity.isFlag()){ logger.info("=====业务数据下发重试调用BIP付款申请返回结果为:{}", JSONObject.parseObject(jsonResultEntity.getAttribute().toString()).toJSONString());
if (jsonResultEntity.isFlag()) {
if ("1".equals(type)) {//保存三方返回id if ("1".equals(type)) {//保存三方返回id
if (scriptEntity != null && scriptEntity.getId() != null && scriptEntity.getBackScriptData() != null ) { if (scriptEntity != null && scriptEntity.getId() != null && scriptEntity.getBackScriptData() != null) {
logger.info("========开始执行业务数据下发重试返回脚本=============");
JSONObject backScriptJson = new JSONObject(); JSONObject backScriptJson = new JSONObject();
backScriptJson.put("data", jsonResultEntity.getAttribute()); backScriptJson.put("data", jsonResultEntity.getAttribute());
groovy.put("code", scriptEntity.getScriptCode()+"back"); groovy.put("code", scriptEntity.getScriptCode() + "back");
groovy.put("className", scriptEntity.getClassName()+"back"); groovy.put("className", scriptEntity.getClassName() + "back");
groovy.put("name", scriptEntity.getScriptName()+"back"); groovy.put("name", scriptEntity.getScriptName() + "back");
groovy.put("methodStr", scriptEntity.getBackScriptData()); groovy.put("methodStr", scriptEntity.getBackScriptData());
groovy.put("parameterJson", backScriptJson); groovy.put("parameterJson", backScriptJson);
JSONObject groovyStr = new JSONObject(); JSONObject groovyStr = new JSONObject();
groovyStr.put("jsonStr", groovy); groovyStr.put("jsonStr", groovy);
try { try {
Object str = groovyIntegrationService.groovyScriptExecution(groovyStr); Object str = groovyIntegrationService.groovyScriptExecution(groovyStr);
if(str != null){ if (str != null) {
JSONObject backJsonResultEntity = JSONObject.parseObject(str.toString()); JSONObject backJsonResultEntity = JSONObject.parseObject(str.toString());
if(backJsonResultEntity != null && backJsonResultEntity.getString("success") != null && "true".equals(backJsonResultEntity.getString("success"))){ if (backJsonResultEntity != null && backJsonResultEntity.getString("success") != null && "true".equals(backJsonResultEntity.getString("success"))) {
MdmModuleDistributeTripartiteEntity mdmModuleDistributeTripartiteEntity = new MdmModuleDistributeTripartiteEntity(); MdmModuleDistributeTripartiteEntity mdmModuleDistributeTripartiteEntity = new MdmModuleDistributeTripartiteEntity();
mdmModuleDistributeTripartiteEntity.setCreate(); mdmModuleDistributeTripartiteEntity.setCreate();
mdmModuleDistributeTripartiteEntity.setMdmId(mdmModuleEntity.getId()); mdmModuleDistributeTripartiteEntity.setMdmId(mdmModuleEntity.getId());
@ -461,26 +489,27 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
JSONObject jsonObjectBody = JSONObject.parseObject(bodys); JSONObject jsonObjectBody = JSONObject.parseObject(bodys);
String parent = jsonObjectBody.getString("parent"); String parent = jsonObjectBody.getString("parent");
JSONObject jsonObjectParent = JSONObject.parseObject(parent); JSONObject jsonObjectParent = JSONObject.parseObject(parent);
ServiceDataEntity serviceDataEntity=new ServiceDataEntity(); ServiceDataEntity serviceDataEntity = new ServiceDataEntity();
serviceDataEntity.setBillCode(jsonObjectParent.getString("vdef1")); serviceDataEntity.setBillCode(jsonObjectParent.getString("vdef1"));
serviceDataEntity.setDataSourceCode("SW-OA"); serviceDataEntity.setDataSourceCode("SW-OA");
logger.info("========业务数据下发重试中开始根据单据编号:{}查询数据=============", jsonObjectParent.getString("vdef1"));
List<ServiceDataEntity> query = serviceDataDao.query(serviceDataEntity); List<ServiceDataEntity> query = serviceDataDao.query(serviceDataEntity);
if(CollectionUtils.isNotEmpty(query)){ if (CollectionUtils.isNotEmpty(query)) {
logger.info("===下发时候开始根据OA单据编号{}更新BIP付款申请单号:{}",jsonObjectParent.getString("vdef1"),backJsonResultEntity.getString("vbillno")); logger.info("===重试下发时候开始根据OA单据编号{}更新BIP付款申请单号:{}", jsonObjectParent.getString("vdef1"), backJsonResultEntity.getString("vbillno"));
serviceDataEntity.setTabName(query.get(0).getTabName()); serviceDataEntity.setTabName(query.get(0).getTabName());
serviceDataEntity.setBipPaymentNumberField(query.get(0).getBipPaymentNumberField()); serviceDataEntity.setBipPaymentNumberField(query.get(0).getBipPaymentNumberField());
serviceDataEntity.setBipPaymentNumber(query.get(0).getBipPaymentNumber()); serviceDataEntity.setBipPaymentNumber(backJsonResultEntity.getString("vbillno"));
serviceDataEntity.setId(query.get(0).getId()); serviceDataEntity.setId(query.get(0).getId());
serviceDataDao.updateBipPaymentNumber(serviceDataEntity); serviceDataDao.updateBipPaymentNumber(serviceDataEntity);
logger.info("===下发时候根据OA单据编号{}更新BIP付款申请单号:{}完毕",jsonObjectParent.getString("vdef1"),backJsonResultEntity.getString("vbillno")); logger.info("===重试下发时候根据OA单据编号{}更新BIP付款申请单号:{}完毕", jsonObjectParent.getString("vdef1"), backJsonResultEntity.getString("vbillno"));
}else{ } else {
logger.info("======下发时候根据单据编号:{}未能在三维OA查询到数据Bip付款申请单号不回写",jsonObjectParent.getString("vdef1")); logger.info("======重试下发时候根据单据编号:{}未能在三维OA查询到数据Bip付款申请单号不回写", jsonObjectParent.getString("vdef1"));
} }
} }
} }
} catch (Exception e) { } catch (Exception e) {
logger.info("执行异常错误原因:"+e); logger.info("执行异常错误原因:" + e);
logger.error("新增返回脚本解析保存三方id错误"+jsonResultEntity.getAttribute()); logger.error("新增返回脚本解析保存三方id错误" + jsonResultEntity.getAttribute());
taskDetailEntity.setResult("新增返回脚本解析保存三方id错误"); taskDetailEntity.setResult("新增返回脚本解析保存三方id错误");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("发送错误"); return BaseResult.getFailureMessageEntity("发送错误");
@ -489,15 +518,26 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
} }
taskDetailEntity.setResult("发送成功"); taskDetailEntity.setResult("发送成功");
taskLivingDetailsService.saveLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.saveLogFailToSuccess(taskDetailEntity);
logger.info("=======业务数据重试完毕开始根据id:{},表名称:{}更新新增下发状态============", mainId, mainDb);
if (StrUtil.isNotEmpty(mainId)) {
Map<String, Object> updateMap = new HashMap<>();
updateMap.put("tableName", mainDb);
updateMap.put("addStatus", "1");
updateMap.put("id", mainId);
mdmModuleDao.updateMdmSTs(updateMap);
}
return BaseResult.getFailureMessageEntity("发送成功"); return BaseResult.getFailureMessageEntity("发送成功");
}else { } else {
taskDetailEntity.setResult("发送错误"); taskDetailEntity.setResult("发送错误");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("发送错误"); return BaseResult.getFailureMessageEntity("发送错误");
} }
} }
}
}else {//执行正常下发 }else {//执行正常下发
logger.info("==========开始执行正常业务数据下发=============");
//查询主数据 //查询主数据
MdmModuleEntity queryMdmModuleEntity = new MdmModuleEntity(); MdmModuleEntity queryMdmModuleEntity = new MdmModuleEntity();
queryMdmModuleEntity.setSts("Y"); queryMdmModuleEntity.setSts("Y");
@ -1030,7 +1070,6 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
continue; continue;
} }
getDetailData(mdmModuleDbEntities,doObjects.get(i),mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); getDetailData(mdmModuleDbEntities,doObjects.get(i),mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities);
//执行脚本 //执行脚本
JSONObject groovy = new JSONObject(); JSONObject groovy = new JSONObject();
JSONObject parameterJson = new JSONObject(); JSONObject parameterJson = new JSONObject();
@ -1057,6 +1096,7 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
/** body */ /** body */
String bodys = doObjects.get(i).toJSONString(); String bodys = doObjects.get(i).toJSONString();
if(scriptEntity != null && scriptEntity.getId() != null ){ if(scriptEntity != null && scriptEntity.getId() != null ){
logger.info("=========开始执行正常业务数据下发脚本,第一次==============");
groovy.put("code",scriptEntity.getScriptCode()); groovy.put("code",scriptEntity.getScriptCode());
groovy.put("className",scriptEntity.getClassName()); groovy.put("className",scriptEntity.getClassName());
groovy.put("name",scriptEntity.getScriptName()); groovy.put("name",scriptEntity.getScriptName());
@ -1084,7 +1124,7 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
headers.putAll(header); headers.putAll(header);
} }
if (SysEnum.NEED_LOGIN.getValue().equals(apiEntity.getNeedLogin())) { if (SysEnum.NEED_LOGIN.getValue().equals(apiEntity.getNeedLogin())) {
logger.info("=========正常业务数据开始执行登录接口==============");
//找到登陆接口 //找到登陆接口
SysApplicationApiEntity loginApi = sysApplicationApiDao.get(apiEntity.getAuthenticationPort()); SysApplicationApiEntity loginApi = sysApplicationApiDao.get(apiEntity.getAuthenticationPort());
if (null == loginApi) { if (null == loginApi) {
@ -1105,15 +1145,19 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
continue; continue;
} }
JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString()); JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString());
logger.info("=======业务数据正常下发登录返回数据:{}========",attritube.toJSONString());
querys = getQuery(apiEntity,querys,attritube); querys = getQuery(apiEntity,querys,attritube);
headers = getHeaders(apiEntity,headers,attritube); headers = getHeaders(apiEntity,headers,attritube);
bodys = getBodys(apiEntity,bodys,attritube); bodys = getBodys(apiEntity,bodys,attritube);
} }
//组装数据发送 //组装数据发送
logger.info("=========开始执行正常业务数据下发脚本,第二次==============");
JsonResultEntity jsonResultEntity = sendData(apiEntity,headers,bodys,querys); JsonResultEntity jsonResultEntity = sendData(apiEntity,headers,bodys,querys);
logger.info("=====业务数据下发重试调用BIP付款申请返回结果为:{}",JSONObject.parseObject(jsonResultEntity.getAttribute().toString()).toJSONString());
if(jsonResultEntity.isFlag()){ if(jsonResultEntity.isFlag()){
if (scriptEntity != null && scriptEntity.getId() != null && scriptEntity.getBackScriptData() != null ) { if (scriptEntity != null && scriptEntity.getId() != null && scriptEntity.getBackScriptData() != null ) {
logger.info("=========开始执行正常业务返回脚本==============");
JSONObject backScriptJson = new JSONObject(); JSONObject backScriptJson = new JSONObject();
backScriptJson.put("data", jsonResultEntity.getAttribute()); backScriptJson.put("data", jsonResultEntity.getAttribute());
groovy.put("code", scriptEntity.getScriptCode()+"back"); groovy.put("code", scriptEntity.getScriptCode()+"back");
@ -1149,17 +1193,18 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
ServiceDataEntity serviceDataEntity=new ServiceDataEntity(); ServiceDataEntity serviceDataEntity=new ServiceDataEntity();
serviceDataEntity.setBillCode(jsonObjectParent.getString("vdef1")); serviceDataEntity.setBillCode(jsonObjectParent.getString("vdef1"));
serviceDataEntity.setDataSourceCode("SW-OA"); serviceDataEntity.setDataSourceCode("SW-OA");
logger.info("========正常业务数据下发开始根据单据编号:{}查询数据==========",jsonObjectParent.getString("vdef1"));
List<ServiceDataEntity> query = serviceDataDao.query(serviceDataEntity); List<ServiceDataEntity> query = serviceDataDao.query(serviceDataEntity);
if(CollectionUtils.isNotEmpty(query)){ if(CollectionUtils.isNotEmpty(query)){
logger.info("===下发时候开始根据OA单据编号{}更新BIP付款申请单号:{}",jsonObjectParent.getString("vdef1"),backJsonResultEntity.getString("vbillno")); logger.info("===正常下发时候开始根据OA单据编号{}更新BIP付款申请单号:{}",jsonObjectParent.getString("vdef1"),backJsonResultEntity.getString("vbillno"));
serviceDataEntity.setTabName(query.get(0).getTabName()); serviceDataEntity.setTabName(query.get(0).getTabName());
serviceDataEntity.setBipPaymentNumberField(query.get(0).getBipPaymentNumberField()); serviceDataEntity.setBipPaymentNumberField(query.get(0).getBipPaymentNumberField());
serviceDataEntity.setBipPaymentNumber(backJsonResultEntity.getString("vbillno")); serviceDataEntity.setBipPaymentNumber(backJsonResultEntity.getString("vbillno"));
serviceDataEntity.setId(query.get(0).getId()); serviceDataEntity.setId(query.get(0).getId());
serviceDataDao.updateBipPaymentNumber(serviceDataEntity); serviceDataDao.updateBipPaymentNumber(serviceDataEntity);
logger.info("===下发时候根据OA单据编号{}更新BIP付款申请单号:{}完毕",jsonObjectParent.getString("vdef1"),backJsonResultEntity.getString("vbillno")); logger.info("===正常下发时候根据OA单据编号{}更新BIP付款申请单号:{}完毕",jsonObjectParent.getString("vdef1"),backJsonResultEntity.getString("vbillno"));
}else{ }else{
logger.info("======下发时候根据单据编号:{}未能在三维OA查询到数据Bip付款申请单号不回写",jsonObjectParent.getString("vdef1")); logger.info("======正常下发时候根据单据编号:{}未能在三维OA查询到数据Bip付款申请单号不回写",jsonObjectParent.getString("vdef1"));
} }
} }
} }
@ -1235,7 +1280,7 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{
aa.put("distributeId",distributeId);//发送表id aa.put("distributeId",distributeId);//发送表id
aa.put("type",option_type);//发送类型1新增2修改3删除 aa.put("type",option_type);//发送类型1新增2修改3删除
integrationTaskLivingDetailsEntity.setRootAppPk(aa.toJSONString()); integrationTaskLivingDetailsEntity.setRootAppPk(aa.toJSONString());
integrationTaskLivingDetailsEntity.setRootAppBill(jsonObject.getString("document_rule")); integrationTaskLivingDetailsEntity.setRootAppBill(jsonObject.getString("vdef1"));
integrationTaskLivingDetailsEntity.setPluginId("ServiceDataDistributePluginInitializer"); integrationTaskLivingDetailsEntity.setPluginId("ServiceDataDistributePluginInitializer");
integrationTaskLivingDetailsEntity.setRootAppNewData(source_data); integrationTaskLivingDetailsEntity.setRootAppNewData(source_data);
integrationTaskLivingDetailsEntity.setNewTransmitInfo(remark); integrationTaskLivingDetailsEntity.setNewTransmitInfo(remark);

View File

@ -3,7 +3,7 @@ logging:
#日志级别 指定目录级别 #日志级别 指定目录级别
level: level:
root: info root: info
encodings: UTF-8 encodings: GBK
file: file:
# 日志保存路径 # 日志保存路径
path: D:\yongansystem\kangarooDataCenter\v3\logs path: D:\yongansystem\kangarooDataCenter\v3\logs
@ -16,7 +16,7 @@ spring:
# username: root # username: root
# password: bd993088e8a7c3dc5f44441617f9b4bf # password: bd993088e8a7c3dc5f44441617f9b4bf
# driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 # driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
url: jdbc:mysql://ufidahz.com.cn:9014/businesscenter?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true url: jdbc:mysql://127.0.0.1:3307/businesscenter?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true
username: root username: root
password: 62e4295b615a30dbf3b8ee96f41c820b password: 62e4295b615a30dbf3b8ee96f41c820b
driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
@ -27,4 +27,4 @@ savefile:
# tomcatpath: D:\apache-tomcat-9.0.69\webapps\kangarooDataCenter\WEB-INF\classes\ # tomcatpath: D:\apache-tomcat-9.0.69\webapps\kangarooDataCenter\WEB-INF\classes\
tomcatpath: /home/webservice/zt/tomcatV3/webapps/kangarooDataCenterV3/WEB-INF/classes/ tomcatpath: /home/webservice/zt/tomcatV3/webapps/kangarooDataCenterV3/WEB-INF/classes/
zt: zt:
url: http://127.0.0.1:8901/kangarooDataCenterV3/entranceController/externalCallInterface url: http://127.0.0.1:9011/kangarooDataCenterV3/entranceController/externalCallInterface

View File

@ -170,7 +170,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
JSONObject jsonObjectMain=new JSONObject(); JSONObject jsonObjectMain=new JSONObject();
JSONArray jsonArray=new JSONArray(); JSONArray jsonArray=new JSONArray();
List<JSONArray> arrayList=new ArrayList<>(); List<JSONArray> arrayList=new ArrayList<>();
logger.info("=========通用新增接口中获取主表和明细表信息完成===============");
String tableName=null; String tableName=null;
//根据dbtype和dbname分组拿到表名称和表类型 //根据dbtype和dbname分组拿到表名称和表类型
Map<String, Map<String, List<ComparisonEntity>>> collect = comparisonEntities.stream().collect(Collectors.groupingBy(ComparisonEntity::getDbName, Collectors.groupingBy(ComparisonEntity::getDbType))); Map<String, Map<String, List<ComparisonEntity>>> collect = comparisonEntities.stream().collect(Collectors.groupingBy(ComparisonEntity::getDbName, Collectors.groupingBy(ComparisonEntity::getDbType)));
@ -187,6 +187,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
if(main!=null){ if(main!=null){
jsonObjectMain = JSONObject.parseObject(main); jsonObjectMain = JSONObject.parseObject(main);
if(!checkStr(jsonObjectMain.getString("data_id"))){ if(!checkStr(jsonObjectMain.getString("data_id"))){
logger.info("=======新增时候主表data_id不能为空============");
//保存操作日志 //保存操作日志
controlsLogDaoimpl.saveControlsLog(uuid,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),tableName+"_option_log","2"); controlsLogDaoimpl.saveControlsLog(uuid,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),tableName+"_option_log","2");
return BaseResult.getFailureMessageEntity("新增时候主表data_id不能为空"); return BaseResult.getFailureMessageEntity("新增时候主表data_id不能为空");
@ -201,6 +202,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
JSONObject jsonObjectDetails = jsonArray.getJSONObject(i); JSONObject jsonObjectDetails = jsonArray.getJSONObject(i);
jsonObjectDetails.put("table_name", keyPair.getKey()); jsonObjectDetails.put("table_name", keyPair.getKey());
if(!checkStr(jsonObjectDetails.getString("data_id"))){ if(!checkStr(jsonObjectDetails.getString("data_id"))){
logger.info("=======新增时候明细data_id不能为空============");
//保存操作日志 //保存操作日志
controlsLogDaoimpl.saveControlsLog(uuid,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),tableName+"_option_log","2"); controlsLogDaoimpl.saveControlsLog(uuid,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),tableName+"_option_log","2");
return BaseResult.getFailureMessageEntity("新增时候明细data_id不能为空"); return BaseResult.getFailureMessageEntity("新增时候明细data_id不能为空");
@ -210,6 +212,8 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
} }
} }
} }
logger.info("=========根据dbtype和dbname分组拿到表名称和表类型完成===============");
if(jsonObjectMain!=null && jsonObjectMain.size()>0) { if(jsonObjectMain!=null && jsonObjectMain.size()>0) {
Map<String, Object> map = new HashMap<>();//将主表数据存到map中 Map<String, Object> map = new HashMap<>();//将主表数据存到map中
List<List<Map<String, Object>>> mapDetails = new ArrayList<>();//将子表数据存到map中 List<List<Map<String, Object>>> mapDetails = new ArrayList<>();//将子表数据存到map中
@ -412,6 +416,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
logger.info("根据主数据编码查询信息错误:{}",e.getMessage()); logger.info("根据主数据编码查询信息错误:{}",e.getMessage());
return BaseResult.getFailureMessageEntity("更新失败"); return BaseResult.getFailureMessageEntity("更新失败");
} }
logger.info("=========通用更新接口中获取主表和明细表信息完成===============");
JSONObject jsonObjectMain=new JSONObject(); JSONObject jsonObjectMain=new JSONObject();
JSONArray jsonArray=new JSONArray(); JSONArray jsonArray=new JSONArray();
List<JSONArray> arrayList=new ArrayList<>(); List<JSONArray> arrayList=new ArrayList<>();
@ -790,6 +795,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
//根据主数据编码获取主表和明细表表名称表字段信息 //根据主数据编码获取主表和明细表表名称表字段信息
public List<ComparisonEntity> getComparisonEntityCache(ComparisonEntity comparison,String type){ public List<ComparisonEntity> getComparisonEntityCache(ComparisonEntity comparison,String type){
try {
List<ComparisonEntity> comparisonEntities = new ArrayList<>(); List<ComparisonEntity> comparisonEntities = new ArrayList<>();
//根据主数据编号获取模板主表 //根据主数据编号获取模板主表
MdmModuleEntity mdmModuleEntity = mdmServiceCache.getMdmModuleEntity(Long.valueOf(comparison.getMdmCode())); MdmModuleEntity mdmModuleEntity = mdmServiceCache.getMdmModuleEntity(Long.valueOf(comparison.getMdmCode()));
@ -805,6 +811,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
mdmModuleViewEntity.setMdmId(mdmModuleEntity.getId()); mdmModuleViewEntity.setMdmId(mdmModuleEntity.getId());
List<MdmModuleViewEntity> mdmModuleViewEntities = mdmModuleViewDao.query(mdmModuleViewEntity); List<MdmModuleViewEntity> mdmModuleViewEntities = mdmModuleViewDao.query(mdmModuleViewEntity);
//根据mdm_id查询mdm_module_db的信息 //根据mdm_id查询mdm_module_db的信息
MdmModuleDbEntity mdmModuleDbEntity = new MdmModuleDbEntity(); MdmModuleDbEntity mdmModuleDbEntity = new MdmModuleDbEntity();
mdmModuleDbEntity.setMdmId(mdmModuleEntity.getId()); mdmModuleDbEntity.setMdmId(mdmModuleEntity.getId());
@ -891,6 +898,9 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
} }
return comparisonEntities; return comparisonEntities;
} }
}catch (Exception e){
logger.info("====通用数据中根据主数据编码获取主表和明细表表名称,表字段信息错误:{}",e.getMessage());
}
return null; return null;
} }

View File

@ -77,4 +77,14 @@ public interface IServiceDataDao extends IBaseDao<ServiceDataEntity,String> {
* @Date 2024-12-09 11:56 * @Date 2024-12-09 11:56
* **/ * **/
Integer updateElectronic(ServiceDataEntity entity); Integer updateElectronic(ServiceDataEntity entity);
/**
*
* @content 根据单据编号查询中台中相关表的下发数据,避免重推时候将所有未下发数据都推送过去
* @Param
* @Return
* @Author hecan
* @Date 2024-12-19 10:49
* **/
List<ServiceDataEntity> queryDataByVdef1(ServiceDataEntity entity);
} }

View File

@ -63,8 +63,15 @@ public class ServiceDataDaoImpl extends MybatisGenericDao<ServiceDataEntity,Stri
return (List<ServiceDataEntity>) super.selectList("queryServiceElectronic",entity); return (List<ServiceDataEntity>) super.selectList("queryServiceElectronic",entity);
} }
@DS("#entity.dataSourceCode")
@Override @Override
public Integer updateElectronic(ServiceDataEntity entity) { public Integer updateElectronic(ServiceDataEntity entity) {
return super.update("updateElectronic",entity); return super.update("updateElectronic",entity);
} }
@DS("#entity.dataSourceCode")
@Override
public List<ServiceDataEntity> queryDataByVdef1(ServiceDataEntity entity) {
return super.query("queryDataByVdef1",entity);
}
} }

View File

@ -55,6 +55,18 @@
</trim> </trim>
</select> </select>
<!-- 查询 采用==查询 -->
<select id="queryDataByVdef1" resultMap="get-ServiceDataEntity-result" parameterType = "com.hzya.frame.sysnew.comparison.serviceData.entity.ServiceDataEntity">
select
*
from cmp_apply
<trim prefix="where" prefixOverrides="and">
<if test="id != null and id != ''"> and id = #{id} </if>
<if test="billCode != null and billCode != ''"> and vdef1 = #{billCode} </if>
and add_status='0' order by modify_time desc limit 1
</trim>
</select>
<!-- 查询 采用==查询 --> <!-- 查询 采用==查询 -->
<select id="queryServiceElectronic" resultMap="get-ServiceDataEntity-result" parameterType = "com.hzya.frame.sysnew.comparison.serviceData.entity.ServiceDataEntity"> <select id="queryServiceElectronic" resultMap="get-ServiceDataEntity-result" parameterType = "com.hzya.frame.sysnew.comparison.serviceData.entity.ServiceDataEntity">
select select

View File

@ -295,7 +295,7 @@ public class ServiceDataServiceImpl extends BaseService<ComparisonEntity,String>
"push_status_field,summary_id,bip_payment_number_field,\n" + "push_status_field,summary_id,bip_payment_number_field,\n" +
"vdef1,pk_acceptorg,creator,pk_group,pk_org,applydate,pk_trantypecode,pk_busitype,vdef2,pk_currtype,\n" + "vdef1,pk_acceptorg,creator,pk_group,pk_org,applydate,pk_trantypecode,pk_busitype,vdef2,pk_currtype,\n" +
"pk_supplier,pk_bankacc_r,pk_bankacc_p,pk_decidedept,vdef10,vdef12,vdef3,vdef4,vdef5,vdef6,applysum,\n" + "pk_supplier,pk_bankacc_r,pk_bankacc_p,pk_decidedept,vdef10,vdef12,vdef3,vdef4,vdef5,vdef6,applysum,\n" +
"vdef7,vdef8,vdef9 from v_cmp_apply where 1=1 and vdef1 is not null and push_status is null "); "vdef7,vdef8,vdef9 from v_cmp_apply where 1=1 and vdef1 is not null and push_status is null and applysum >0");
mdmModuleSourceEntity.setDataSourceCode(dbCode); mdmModuleSourceEntity.setDataSourceCode(dbCode);
List<HashMap<String, Object>> hashMaps = serviceDataDao.queryListBySWSource(stringBuffer.toString(), mdmModuleSourceEntity); List<HashMap<String, Object>> hashMaps = serviceDataDao.queryListBySWSource(stringBuffer.toString(), mdmModuleSourceEntity);
int i = 0; int i = 0;