数据源修改

This commit is contained in:
xiang2lin 2024-07-09 17:52:50 +08:00
parent 461661ea5f
commit ef8f21e525
2 changed files with 35 additions and 53 deletions

View File

@ -26,11 +26,4 @@ public interface ISeeyonExtService {
* @param logEntity * @param logEntity
*/ */
void ydcSeeyon2u8CallBack(SysMessageManageLogEntity logEntity); void ydcSeeyon2u8CallBack(SysMessageManageLogEntity logEntity);
/**
* 更新英德赛表单
* @param dataSourceCode
* @param sql
*/
void updateYdcForm(String sql);
} }

View File

@ -1,31 +1,30 @@
package com.hzya.frame.seeyon.service.impl; package com.hzya.frame.seeyon.service.impl;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapBuilder;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.hzya.frame.execsql.service.IExecSqlService; import com.hzya.frame.execsql.service.IExecSqlService;
import com.hzya.frame.seeyon.entity.OAWorkflowEventDataEntity; import com.hzya.frame.seeyon.entity.OAWorkflowEventDataEntity;
import com.hzya.frame.seeyon.service.ISeeyonExtService; import com.hzya.frame.seeyon.service.ISeeyonExtService;
import com.hzya.frame.seeyon.ydc.entity.FormmainEntity;
import com.hzya.frame.seeyon.ydc.service.IFormmainService;
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity;
import com.hzya.frame.sysnew.integtationTaskLivingDetails.service.IIntegrationTaskLivingDetailsService; import com.hzya.frame.sysnew.integtationTaskLivingDetails.service.IIntegrationTaskLivingDetailsService;
import com.hzya.frame.sysnew.messageManageLog.entity.SysMessageManageLogEntity; import com.hzya.frame.sysnew.messageManageLog.entity.SysMessageManageLogEntity;
import com.hzya.frame.sysnew.messageManageLog.entity.SysMessageManageLogStatusEnum; import com.hzya.frame.sysnew.messageManageLog.entity.SysMessageManageLogStatusEnum;
import com.hzya.frame.u8.util.U8Util;
import com.hzya.frame.uuid.UUIDLong;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.*; import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/** /**
* @Description seeyon扩展类 * @Description seeyon扩展类
@ -36,8 +35,13 @@ import java.util.*;
public class SeeyonExtServiceImpl implements ISeeyonExtService { public class SeeyonExtServiceImpl implements ISeeyonExtService {
static final String KEY = "`o7eotan9ws8c:aj"; static final String KEY = "`o7eotan9ws8c:aj";
//static String oaDataSourceCode = "ydc_oa_sqlserver";
@Value("${oa.datasource_code}")
public String dataSourceCode;
Logger logger = LogManager.getLogger(getClass()); Logger logger = LogManager.getLogger(getClass());
@Autowired
private IFormmainService formmainService;
//存货属性枚举 //存货属性枚举
private static Map<String,String> inventoryAttrMap; private static Map<String,String> inventoryAttrMap;
@ -119,52 +123,52 @@ public class SeeyonExtServiceImpl implements ISeeyonExtService {
JSONObject targetHeaders = targetData.getJSONObject("header");//源数据header JSONObject targetHeaders = targetData.getJSONObject("header");//源数据header
JSONObject sourceBody = sourceData.getJSONObject("body");//源数据body JSONObject sourceBody = sourceData.getJSONObject("body");//源数据body
JSONObject hzyaExtData = targetHeaders.getJSONObject("hzyaExtData");// 这里刚开始用sourceHeaders取的2024-06-04 14:24:19改成从target里取因为从apipost请求后在source里取不到 JSONObject hzyaExtData = targetHeaders.getJSONObject("hzyaExtData");// 这里刚开始用sourceHeaders取的2024-06-04 14:24:19改成从target里取因为从apipost请求后在source里取不到
String targetFormApp = targetHeaders.getString("formApp");//这个字段可以判断出来是新增还是修改
JSONArray formMainIds = new JSONArray(); JSONArray formMainIds = new JSONArray();
formMainIds.add(sourceBody.getString("id")); formMainIds.add(sourceBody.getString("id"));
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
String formApp = sourceBody.getString("formApp"); String formApp = sourceBody.getString("formApp");
param.put("formAppId",formApp); param.put("formAppId",formApp);
param.put("formMainIds",formMainIds); param.put("formMainIds",formMainIds);
param.put("dataSourceCode","ydc_oa_sqlserver"); param.put("dataSourceCode",dataSourceCode);
param.put("eventType",sourceBody.getString("eventType")); param.put("eventType",sourceBody.getString("eventType"));
//把返回的单号更新到oa档案表 //把返回的单号更新到oa档案表
String returnDataStr = logEntity.getReturnData(); String returnDataStr = logEntity.getReturnData();
if (JSONUtil.isTypeJSON(returnDataStr)){ if (JSONUtil.isTypeJSON(returnDataStr) && !targetFormApp.contains("edit")){
JSONObject returnData = JSONObject.parseObject(returnDataStr); JSONObject returnData = JSONObject.parseObject(returnDataStr);
String success = returnData.getString("success"); String success = returnData.getString("success");
if ("true".equals(success)){ if ("true".equals(success)){
JSONArray dataArr = returnData.getJSONArray("data"); JSONArray dataArr = returnData.getJSONArray("data");
if (null != dataArr){ if (null != dataArr){
String code = dataArr.getString(0); String code = dataArr.getString(0);
String sql = "";
switch (formApp){ switch (formApp){
case "-8691606453890363968"://存货 case "-8691606453890363968"://存货
sql = "update formmain_0231 set field0014 = '"+code +"' where field0009 = '"+hzyaExtData.getString("billCode")+"' and field0024 = '"+hzyaExtData.getString("serialNumber")+"'"; FormmainEntity inventory = new FormmainEntity();
//sql = "update formmain_0231 set field0014 = '"+code +"' where field0009 = '"+hzyaExtData.getString("billCode")+"' and field0024 = '"+hzyaExtData.getString("serialNumber")+"'";
inventory.setField0014(code);
inventory.setField0009(hzyaExtData.getString("billCode"));
inventory.setField0024(hzyaExtData.getString("serialNumber"));
inventory.setDataSourceCode(dataSourceCode);
formmainService.updateInventoryCode(inventory);
break; break;
case "6223456019738676230"://供应商 case "6223456019738676230"://供应商
sql = "update formmain_0229 set field0002 = '"+ code + "' where field0001 = '"+hzyaExtData.getString("billCode")+"'"; FormmainEntity supplier = new FormmainEntity();
//sql = "update formmain_0229 set field0002 = '"+ code + "' where field0001 = '"+hzyaExtData.getString("billCode")+"'";
supplier.setField0002(code);
supplier.setField0001(hzyaExtData.getString("billCode"));
supplier.setDataSourceCode(dataSourceCode);
formmainService.updateSupplierCode(supplier);
break; break;
case "-9122508232154527168"://客户 case "-9122508232154527168"://客户
sql = "update formmain_0230 set field0002 = '"+ code + "' where field0001 = '"+hzyaExtData.getString("billCode")+"'"; //sql = "update formmain_0230 set field0002 = '"+ code + "' where field0001 = '"+hzyaExtData.getString("billCode")+"'";
FormmainEntity customer = new FormmainEntity();
//sql = "update formmain_0229 set field0002 = '"+ code + "' where field0001 = '"+hzyaExtData.getString("billCode")+"'";
customer.setField0002(code);
customer.setField0001(hzyaExtData.getString("billCode"));
customer.setDataSourceCode(dataSourceCode);
formmainService.updateCustomerCode(customer);
break; break;
} }
if (StrUtil.isNotEmpty(sql)){
logger.info("要执行的sql:{}",sql);
//不调rest接口了改成直接更新
updateYdcForm(sql);
// String sign = SecureUtil.md5(sql);
// String data = SecureUtil.aes(KEY.getBytes()).encryptHex(sql);
// Map<String, String> headerMap = MapBuilder.<String, String>create(true)
// .put("apiCode", "8000190001")
// .put("publicKey","ZJYA+I8JEYTh7Mkjr7ncOp1uISzUk/ugy0uL4OTJgepuip9Ce7eDIk+3zDUT+v578prj")
// .put("secretKey","cYLV+V7qcvBEWU/hAhH4Mgd6Zjs43nALsmzdNApb142abKpMCMTwodlKbQQe5/oEj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")
// .put("appId","800019")
// .build();
// JSONObject params = new JSONObject();
// params.put("sign",sign);
// params.put("data",data);
// String body = HttpRequest.post("http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface").addHeaders(headerMap).body(JSON.toJSONString(params)).timeout(60000).execute().body();
}
} }
} }
} }
@ -196,22 +200,6 @@ public class SeeyonExtServiceImpl implements ISeeyonExtService {
} }
} }
/**
* 更新英德赛表单
*
* @param sql
* @param
*/
@Override
@DS("ydc_oa_sqlserver_test")
public void updateYdcForm(String sql) {
try {
executionService.execUpdateSql(sql,null);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
//存货参数组装 //存货参数组装
private SysExtensionApiEntity getInventory(JSONObject businessData,SysExtensionApiEntity param,JSONObject hzyaExtData){ private SysExtensionApiEntity getInventory(JSONObject businessData,SysExtensionApiEntity param,JSONObject hzyaExtData){
if (null != businessData){ if (null != businessData){
@ -242,6 +230,7 @@ public class SeeyonExtServiceImpl implements ISeeyonExtService {
oArchives.put("cInvName", formson0228.getString("field0003")); oArchives.put("cInvName", formson0228.getString("field0003"));
oArchives.put("cGroupCode", formson0228.getString("field0018")); oArchives.put("cGroupCode", formson0228.getString("field0018"));
oArchives.put("cComUnitCode", formson0228.getString("field0017")); oArchives.put("cComUnitCode", formson0228.getString("field0017"));
oArchives.put("cInvStd", formson0228.getString("field0004"));
//存货属性勾选 //存货属性勾选
String attr = formson0228.getString("field0007"); String attr = formson0228.getString("field0007");
if (StrUtil.isNotEmpty(attr)){ if (StrUtil.isNotEmpty(attr)){