Compare commits
8 Commits
master
...
xiangerlin
Author | SHA1 | Date |
---|---|---|
|
869a8014ea | |
|
8ff964c6cd | |
|
ef6eb4b807 | |
|
6997fb81ba | |
|
df93aa6891 | |
|
3f6ea50b70 | |
|
3f3eedbfdd | |
|
aeeb47299b |
|
@ -3,19 +3,19 @@ logging:
|
|||
#日志级别 指定目录级别
|
||||
level:
|
||||
root: info
|
||||
encodings: UTF-8
|
||||
encodings: gbk
|
||||
file:
|
||||
# 日志保存路径
|
||||
path: /Users/xiangerlin/work/app/logs/ydc
|
||||
path: D:\yongansystem\logs
|
||||
spring:
|
||||
datasource:
|
||||
dynamic:
|
||||
datasource:
|
||||
master:
|
||||
url: jdbc:mysql://hzya.ufyct.com:9096/businesscenternew?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:3306/businesscenternew?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
|
||||
password: bd993088e8a7c3dc5f44441617f9b4bf
|
||||
password: 62e4295b615a30dbf3b8ee96f41c820b
|
||||
driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
|
||||
savefile:
|
||||
# 文件保存路径
|
||||
path: /Users/xiangerlin/work/app/logs/ydc
|
||||
path: D:\yongansystem\ydc
|
||||
|
|
|
@ -216,7 +216,7 @@ public class SeeYonInterFaceImpl implements ISeeYonInterFace {
|
|||
Object summaryObj = entity.getSummaryObj();
|
||||
String deeCfgId = entity.getDeeCfgId();
|
||||
String currentNodeLast = entity.getCurrentNodeLast();
|
||||
Map<String, Object> businessData = JSON.parseObject(entity.getBusinessDataStr(), Map.class);
|
||||
JSONObject businessData = JSON.parseObject(entity.getBusinessDataStr());
|
||||
Map<String, Object> extData = entity.getExtData();
|
||||
/** 表单表的FORM ID,用此字段标记是哪个流程*/
|
||||
String formApp = entity.getFormApp();
|
||||
|
@ -248,22 +248,66 @@ public class SeeYonInterFaceImpl implements ISeeYonInterFace {
|
|||
/** 结束事件*/
|
||||
case "onProcessFinished":
|
||||
if (StrUtil.isNotEmpty(formApp)){
|
||||
String type = "_add";
|
||||
switch (formApp){
|
||||
case "-8691606453890363968"://存货
|
||||
JSONObject formmain0227 = businessData.getJSONObject("formmain_0227");
|
||||
//新增还是修改
|
||||
type = formmain0227.getString("field0014");
|
||||
break;
|
||||
case "6223456019738676230"://供应商
|
||||
JSONObject formmain0225 = businessData.getJSONObject("formmain_0225");
|
||||
type = formmain0225.getString("field0019");
|
||||
break;
|
||||
case "-9122508232154527168"://客户
|
||||
JSONObject formmain0226 = businessData.getJSONObject("formmain_0226");
|
||||
type = formmain0226.getString("field0024");
|
||||
break;
|
||||
}
|
||||
//这个枚举代表修改
|
||||
if (type.equals("7858843591961101741")){
|
||||
type = "_add";
|
||||
}else {
|
||||
type = "_edit";
|
||||
}
|
||||
SysApplicationApiEntity sysApplicationApiEntity = new SysApplicationApiEntity();
|
||||
sysApplicationApiEntity.setHeaderIn(formApp);
|
||||
sysApplicationApiEntity.setHeaderIn(formApp+type);
|
||||
List<SysApplicationApiEntity> applist = sysApplicationApiService.queryByLike(sysApplicationApiEntity);
|
||||
if (CollectionUtil.isNotEmpty(applist)){
|
||||
if (applist.size() > 1){
|
||||
return BaseResult.getFailureMessageEntity("根据formID:" + formApp+"查询出多条数据", "");
|
||||
return BaseResult.getFailureMessageEntity("根据formApp:" + formApp+"查询出多条数据", "");
|
||||
}
|
||||
SysApplicationApiEntity sysApp = applist.get(0);
|
||||
Map<String, String> headerMap = MapBuilder.<String, String>create(true)
|
||||
.put("apiCode", String.valueOf(sysApp.getApiCode()))
|
||||
.put("publicKey","ZJYAlF4yjkjZaXmjLOUqsoGzTHAlWpoTdqT7/AEYaXIwpXNCe7eDIk+3zDUT+v578prj")
|
||||
.put("secretKey","RJTPEoOSDdaBeoxoMs465tcTqy38bRag+12S7kIv2Lxd38wgLeVfWVl/ipVKVu8Qj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")
|
||||
.put("appId","800018")
|
||||
.build();
|
||||
String body = HttpRequest.post("http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface").addHeaders(headerMap).body(jsonStr).timeout(60000).execute().body();
|
||||
logger.info("调用中台返回的参数:{}",body);
|
||||
//存货要循环调用
|
||||
if (!formApp.equals("-8691606453890363968")){
|
||||
Map<String, String> headerMap = MapBuilder.<String, String>create(true)
|
||||
.put("apiCode", String.valueOf(sysApp.getApiCode()))
|
||||
.put("publicKey","ZJYAlF4yjkjZaXmjLOUqsoGzTHAlWpoTdqT7/AEYaXIwpXNCe7eDIk+3zDUT+v578prj")
|
||||
.put("secretKey","RJTPEoOSDdaBeoxoMs465tcTqy38bRag+12S7kIv2Lxd38wgLeVfWVl/ipVKVu8Qj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")
|
||||
.put("appId","800018")
|
||||
.build();
|
||||
String body = HttpRequest.post("http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface").addHeaders(headerMap).body(jsonStr).timeout(60000).execute().body();
|
||||
logger.info("调用中台返回的参数:{}",body);
|
||||
}else {
|
||||
//物料主表
|
||||
JSONObject formmain0227 = businessData.getJSONObject("formmain_0227");
|
||||
//物料明细表
|
||||
JSONArray formson0228Arr = businessData.getJSONArray("formson_0228");
|
||||
for (int i=0; i< formson0228Arr.size(); i++){
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("formmain_0227",formmain0227);
|
||||
param.put("formson_0228",formson0228Arr.getJSONObject(i));
|
||||
entity.setBusinessDataStr(JSON.toJSONString(param));
|
||||
Map<String, String> headerMap = MapBuilder.<String, String>create(true)
|
||||
.put("apiCode", String.valueOf(sysApp.getApiCode()))
|
||||
.put("publicKey","ZJYAlF4yjkjZaXmjLOUqsoGzTHAlWpoTdqT7/AEYaXIwpXNCe7eDIk+3zDUT+v578prj")
|
||||
.put("secretKey","RJTPEoOSDdaBeoxoMs465tcTqy38bRag+12S7kIv2Lxd38wgLeVfWVl/ipVKVu8Qj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")
|
||||
.put("appId","800018")
|
||||
.build();
|
||||
String body = HttpRequest.post("http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface").addHeaders(headerMap).body(JSON.toJSONString(entity)).timeout(60000).execute().body();
|
||||
logger.info("调用中台返回的参数:{}",body);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
package com.hzya.frame.seeyon.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.map.MapBuilder;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.crypto.SecureUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
@ -19,9 +23,7 @@ import org.apache.logging.log4j.Logger;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @Description seeyon扩展类
|
||||
|
@ -31,7 +33,7 @@ import java.util.Map;
|
|||
@Service(value = "seeyonExt")
|
||||
public class SeeyonExtServiceImpl implements ISeeyonExtService {
|
||||
|
||||
|
||||
static final String KEY = "`o7eotan9ws8c:aj";
|
||||
Logger logger = LogManager.getLogger(getClass());
|
||||
|
||||
@Autowired
|
||||
|
@ -53,7 +55,7 @@ public class SeeyonExtServiceImpl implements ISeeyonExtService {
|
|||
String businessDataStr = dataEntity.getBusinessDataStr();//oa表单参数
|
||||
JSONObject businessData = JSON.parseObject(businessDataStr);
|
||||
String formApp = dataEntity.getFormApp();
|
||||
SysExtensionApiEntity param = new SysExtensionApiEntity();
|
||||
// SysExtensionApiEntity param = new SysExtensionApiEntity();
|
||||
Map<String, String> headerMap = entity.getHeaders();
|
||||
JSONObject hzyaExtData = dataEntity.getHzyaExtData();//扩展参数
|
||||
if (null == hzyaExtData){
|
||||
|
@ -62,21 +64,21 @@ public class SeeyonExtServiceImpl implements ISeeyonExtService {
|
|||
//根据forApp组装不同参数
|
||||
switch (formApp){
|
||||
case "-8691606453890363968"://
|
||||
hzyaExtData.put("billCode", "cunhuoabc123456");
|
||||
getInventory(businessData,param);
|
||||
getInventory(businessData,entity,hzyaExtData);
|
||||
break;
|
||||
case "6223456019738676230":
|
||||
getSupplier(businessData,param,hzyaExtData);
|
||||
getSupplier(businessData,entity,hzyaExtData);
|
||||
break;
|
||||
case "-9122508232154527168":
|
||||
getCustomer(businessData,param,hzyaExtData);
|
||||
getCustomer(businessData,entity,hzyaExtData);
|
||||
break;
|
||||
default:
|
||||
param.setBodys("未匹配到表单!当前formID:"+ formApp);
|
||||
entity.setBodys("未匹配到表单!当前formID:"+ formApp);
|
||||
logger.error("未匹配到表单!当前formID:"+formApp);
|
||||
}
|
||||
headerMap.put("hzyaExtData", JSON.toJSONString(hzyaExtData));
|
||||
return param;
|
||||
entity.setHeaders(headerMap);
|
||||
return entity;
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
logger.error("执行英德赛OA存货同步U8接口报错:{}", e);
|
||||
|
@ -98,29 +100,55 @@ public class SeeyonExtServiceImpl implements ISeeyonExtService {
|
|||
JSONObject targetData = JSON.parseObject(logEntity.getTargetData());//这个对象里的body是 发送到u8的请求报文
|
||||
JSONObject sourceData = JSON.parseObject(logEntity.getSourceData());
|
||||
JSONObject sourceHeaders = sourceData.getJSONObject("header");//源数据header
|
||||
JSONObject targetHeaders = targetData.getJSONObject("header");//源数据header
|
||||
JSONObject sourceBody = sourceData.getJSONObject("body");//源数据body
|
||||
JSONObject hzyaExtData = sourceHeaders.getJSONObject("hzyaExtData");
|
||||
JSONObject hzyaExtData = targetHeaders.getJSONObject("hzyaExtData");// 这里刚开始用sourceHeaders取的,2024-06-04 14:24:19改成从target里取,因为从apipost请求后在source里取不到
|
||||
JSONArray formMainIds = new JSONArray();
|
||||
formMainIds.add(sourceBody.getString("id"));
|
||||
JSONObject param = new JSONObject();
|
||||
String formApp = sourceBody.getString("formApp");
|
||||
param.put("formAppId",formApp);
|
||||
param.put("formMainIds",formMainIds);
|
||||
param.put("dataSourceCode","ht_oa_sqlserver");
|
||||
param.put("dataSourceCode","ydc_oa_sqlserver");
|
||||
param.put("eventType",sourceBody.getString("eventType"));
|
||||
|
||||
//把返回的单号更新到oa档案表
|
||||
String sql = "";
|
||||
switch (formApp){
|
||||
case "-8691606453890363968"://存货
|
||||
sql = "";
|
||||
break;
|
||||
case "6223456019738676230"://供应商
|
||||
sql = "update formmain_0229 set field0002 = '' where field0001 = "+hzyaExtData.getString("billCode");
|
||||
break;
|
||||
case "-9122508232154527168"://客户
|
||||
sql = "update formmain_0230 set field0002 = '' where field0001 = "+hzyaExtData.getString("billCode");
|
||||
break;
|
||||
String returnDataStr = logEntity.getReturnData();
|
||||
if (JSONUtil.isTypeJSON(returnDataStr)){
|
||||
JSONObject returnData = JSONObject.parseObject(returnDataStr);
|
||||
String success = returnData.getString("success");
|
||||
if ("true".equals(success)){
|
||||
JSONArray dataArr = returnData.getJSONArray("data");
|
||||
if (null != dataArr){
|
||||
String code = dataArr.getString(0);
|
||||
String sql = "";
|
||||
switch (formApp){
|
||||
case "-8691606453890363968"://存货
|
||||
//todo 这里要看一下循环调用的时候 参数是什么样的,再决定
|
||||
sql = "";
|
||||
break;
|
||||
case "6223456019738676230"://供应商
|
||||
sql = "update formmain_0229 set field0002 = "+ code + " where field0001 = "+hzyaExtData.getString("billCode");
|
||||
break;
|
||||
case "-9122508232154527168"://客户
|
||||
sql = "update formmain_0230 set field0002 = "+ code + " where field0001 = "+hzyaExtData.getString("billCode");
|
||||
break;
|
||||
}
|
||||
if (StrUtil.isNotEmpty(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","ZJYAlF4yjkjZaXmjLOUqsoGzTHAlWpoTdqT7/AEYaXIwpXNCe7eDIk+3zDUT+v578prj")
|
||||
.put("secretKey","RJTPEoOSDdaBeoxoMs465tcTqy38bRag+12S7kIv2Lxd38wgLeVfWVl/ipVKVu8Qj3JzOP8MtA1LSGvL+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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
IntegrationTaskLivingDetailsEntity logDetails = new IntegrationTaskLivingDetailsEntity();
|
||||
logDetails.setRootAppPk(JSON.toJSONString(param));
|
||||
|
@ -151,28 +179,40 @@ public class SeeyonExtServiceImpl implements ISeeyonExtService {
|
|||
}
|
||||
|
||||
//存货参数组装
|
||||
private SysExtensionApiEntity getInventory(JSONObject businessData,SysExtensionApiEntity param){
|
||||
private SysExtensionApiEntity getInventory(JSONObject businessData,SysExtensionApiEntity param,JSONObject hzyaExtData){
|
||||
if (null != businessData){
|
||||
//物料主表
|
||||
JSONObject formmain0227 = businessData.getJSONObject("formmain_0227");
|
||||
JSONArray formson0228Arr = businessData.getJSONArray("formson_0228");
|
||||
for (int i=0; i< formson0228Arr.size(); i++){
|
||||
JSONObject formson0228 = formson0228Arr.getJSONObject(i);
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("Token", "Hzya1314_CheckSkip");
|
||||
jsonObject.put("billid", formson0228.getString("id"));
|
||||
jsonObject.put("AccId", formmain0227.getString("field0015"));
|
||||
|
||||
JSONObject oArchives = new JSONObject();
|
||||
oArchives.put("cInvCode", formson0228.getString("field0002"));
|
||||
oArchives.put("cInvCCode", formson0228.getString("field0005"));
|
||||
oArchives.put("cInvName", formson0228.getString("field0003"));
|
||||
//todo 这个没值
|
||||
oArchives.put("cGroupCode", "01");
|
||||
oArchives.put("cComUnitCode", formson0228.getString("field0006"));
|
||||
|
||||
jsonObject.put("oArchives", oArchives);
|
||||
param.setBodys(JSON.toJSONString(jsonObject));
|
||||
}
|
||||
//物料明细表 (上层方法处理了,这里是单条传)
|
||||
JSONObject formson0228 = businessData.getJSONObject("formson_0228");
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("Token", "Hzya1314_CheckSkip");
|
||||
jsonObject.put("billid", formson0228.getString("id"));
|
||||
jsonObject.put("AccId", formmain0227.getString("field0015"));
|
||||
/**
|
||||
* bPurchase 是否外购
|
||||
* bComsume 是否生产耗用
|
||||
* bSale 是否销售
|
||||
* bSelf 是否自制
|
||||
* bService 应税劳务
|
||||
* bInvAsset 资产
|
||||
*
|
||||
* iSupplyType 供应类型 默认领用 0
|
||||
* iDrawType 领料方式 默认申请领用
|
||||
* cValueType 计价方式 默认 全月平均法 全月平均法
|
||||
* iImpTaxRate 进项税率 默认13
|
||||
*/
|
||||
JSONObject oArchives = new JSONObject();
|
||||
oArchives.put("cInvCode", formson0228.getString("field0002"));
|
||||
oArchives.put("cInvCCode", formson0228.getString("field0005"));
|
||||
oArchives.put("cInvName", formson0228.getString("field0003"));
|
||||
//todo 这个没值
|
||||
oArchives.put("cGroupCode", "01");
|
||||
oArchives.put("cComUnitCode", formson0228.getString("field0006"));
|
||||
jsonObject.put("oArchives", oArchives);
|
||||
param.setBodys(JSON.toJSONString(jsonObject));
|
||||
hzyaExtData.put("billCode",formson0228.getString("id"));
|
||||
hzyaExtData.put("formmainId",formmain0227.getString("id"));
|
||||
}
|
||||
return param;
|
||||
}
|
||||
|
@ -183,10 +223,11 @@ public class SeeyonExtServiceImpl implements ISeeyonExtService {
|
|||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("billid", formmain0225.getString("id"));
|
||||
jsonObject.put("AccId", formmain0225.getString("field0020"));
|
||||
jsonObject.put("Token", U8Util.getToken());
|
||||
//jsonObject.put("Token", U8Util.getToken());
|
||||
jsonObject.put("Token", "Hzya1314_CheckSkip");
|
||||
JSONObject oArchives = new JSONObject();
|
||||
oArchives.put("cVenCode", formmain0225.getString("field0002"));
|
||||
oArchives.put("cVenName ", formmain0225.getString("field0003"));
|
||||
oArchives.put("cVenName", formmain0225.getString("field0003"));
|
||||
oArchives.put("cVenAbbName", formmain0225.getString("field0004"));
|
||||
oArchives.put("cVCCode", formmain0225.getString("field0006"));
|
||||
oArchives.put("cVenExch_name", formmain0225.getString("field0010"));
|
||||
|
@ -206,6 +247,10 @@ public class SeeyonExtServiceImpl implements ISeeyonExtService {
|
|||
oArchives.put("cVenRegCode", formmain0225.getString("field0009"));
|
||||
oArchives.put("cVenBank", formmain0225.getString("field0011"));
|
||||
oArchives.put("cVenAccount", formmain0225.getString("field0012"));
|
||||
//专管业务员
|
||||
oArchives.put("cVenPPerson",formmain0225.getString("field0016"));
|
||||
//分管部门
|
||||
oArchives.put("cVenDepart",formmain0225.getString("field0013"));
|
||||
jsonObject.put("oArchives", oArchives);
|
||||
param.setBodys(JSON.toJSONString(jsonObject));
|
||||
hzyaExtData.put("billCode", formmain0225.getString("field0001"));
|
||||
|
@ -228,9 +273,10 @@ public class SeeyonExtServiceImpl implements ISeeyonExtService {
|
|||
oArchives.put("cCusAbbName", formmain0226.getString("field0008"));
|
||||
oArchives.put("cCCCode", formmain0226.getString("field0012"));
|
||||
oArchives.put("cCusExch_name", formmain0226.getString("field0013"));
|
||||
// todo 这个字段没值
|
||||
//客户管理类型 默认 999
|
||||
oArchives.put("cCusMngTypeCode", "999");
|
||||
|
||||
//bCusOverseas 是否国外
|
||||
//bCusDomestic 是否国内
|
||||
jsonObject.put("oArchives", oArchives);
|
||||
param.setBodys(JSON.toJSONString(jsonObject));
|
||||
hzyaExtData.put("billCode",formmain0226.getString("field0001"));
|
||||
|
|
|
@ -18,9 +18,10 @@ public class U8Util {
|
|||
|
||||
//获取token
|
||||
public static String getToken() {
|
||||
String url = "http://127.0.0.1:51910/Api/Base/GetToken";
|
||||
String url = "http://192.168.2.240:8099/Api/Base/GetToken";
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("secretkey", "L1NhkDrQhtBDzTxFxPI0jxWcBzTBSPvaI5xZusRRi9ofS9d6ngxrj1erwbdjxtUT");
|
||||
jsonObject.put("appid","");
|
||||
jsonObject.put("secretkey", "lDihm+RTN8y9digs7f/KtU2pyoJkYyoT+8rNL2TxBEj+QbXU6dvw6fGcy4VDZWi8");
|
||||
logger.info("获取U8token参数:{}", jsonObject.toJSONString());
|
||||
String token = HttpRequest.post( url).body(jsonObject.toJSONString()).timeout(60000).execute().body();
|
||||
logger.info("token返回参数:{}", jsonObject.toJSONString());
|
||||
|
|
Loading…
Reference in New Issue