可靠授信申请表 ,销售返利表同步BIP

This commit is contained in:
lvleigang 2025-08-08 19:10:58 +08:00
parent 681d6ef15d
commit e1b1364e7a
1 changed files with 108 additions and 7 deletions

View File

@ -111,9 +111,21 @@ public class CreditauditServiceImpl extends BaseService<CreditauditEntity, Strin
headVO.put("fstatusflag", mainData.getString("field0028"));//单据状态
headVO.put("billmaker", mainData.getString("field0029"));//制单人
headVO.put("vnote", mainData.getString("field0011"));//备注
headVO.put("capplyerid", mainData.getString("field0001"));//申请人
headVO.put("capplydeptid", mainData.getString("field0002"));//申请部门
headVO.put("creator", mainData.getString("field0001"));//// TODO
if(mainData.getString("field0036") != null && !"".equals(mainData.getString("field0036"))){
headVO.put("capplyerid", mainData.getString("field0036"));//申请人
}else {
headVO.put("capplyerid", "XONE");
}
if(mainData.getString("field0035") != null && !"".equals(mainData.getString("field0035"))){
headVO.put("capplydeptid", mainData.getString("field0035"));//申请部门
}else {
headVO.put("capplydeptid", "0201");
}
if(mainData.getString("field0029") != null && !"".equals(mainData.getString("field0029"))){
headVO.put("creator", mainData.getString("field0029"));
}else {
headVO.put("creator", "oagly");
}
//headVO.put("vdef1", "wxzvdef1");
// 构建bodyVOList数组中的第一个对象
@ -121,10 +133,10 @@ public class CreditauditServiceImpl extends BaseService<CreditauditEntity, Strin
bodyVO.put("climittypeid", mainData.getString("field0030"));//额度类型
bodyVO.put("pk_org", mainData.getString("field0031"));//信用控制域
//bodyVO.put("csaleorgid", mainData.getString("field0002"));//销售组织
bodyVO.put("ccustid", mainData.getString("field0005"));//客户
bodyVO.put("ccustid", mainData.getString("field0024"));//客户
//bodyVO.put("climitlevel", mainData.getString("field0002"));//信用等级
bodyVO.put("ccurrencyid", mainData.getString("field0023"));//币种
//bodyVO.put("nlimitmny", mainData.getString("field0002"));//信用额度// TODO
bodyVO.put("nlimitmny", mainData.getString("field0012"));//信用额度
bodyVO.put("dfromdate", mainData.getString("field0020"));//有效期从
Date dtodate = mainData.getDate("field0014");
bodyVO.put("dtodate", sdf.format(dtodate)+" 23:59:59");//有效期至
@ -168,9 +180,11 @@ public class CreditauditServiceImpl extends BaseService<CreditauditEntity, Strin
return BaseResult.getFailureMessageEntity("系统错误");
}
JSONObject mainData = businessDataStr.getJSONObject(0);
JSONObject mxData = businessDataStr.getJSONObject(1);
if (mainData == null) {
return BaseResult.getFailureMessageEntity("系统错误");
}
JSONArray jsonArray = mxData.getJSONArray("formson_1788");
//组装数据
//获取token
String token = null; //todo
@ -190,7 +204,7 @@ public class CreditauditServiceImpl extends BaseService<CreditauditEntity, Strin
} else {
return BaseResult.getFailureMessageEntity("获取BIP token失败");
}
JSONObject sendData = setSalesRebateData(mainData);
JSONObject sendData = setSalesRebateData(mainData,jsonArray);
logger.error("同步销售返利发送参数:" + sendData.toJSONString());
String sendResult = HttpRequest.post(url).
header("appId", "800053").
@ -217,9 +231,96 @@ public class CreditauditServiceImpl extends BaseService<CreditauditEntity, Strin
* @param mainData
* @return com.alibaba.fastjson.JSONObject
**/
private JSONObject setSalesRebateData(JSONObject mainData) {
private JSONObject setSalesRebateData(JSONObject mainData,JSONArray jsonArray) {
JSONObject sendData = new JSONObject();
// 构建salerebate对象
JSONObject salerebate = new JSONObject();
salerebate.put("pk_salerebate", null); // 主键
if(mainData.getString("field0021") != null && !"".equals(mainData.getString("field0021"))){
salerebate.put("pk_org", mainData.getString("field0021")); // 组织必填取Dee组织编码如001
}else {
salerebate.put("pk_org", "001"); // 组织必填取Dee组织编码如001
}
if(mainData.getString("field0021") != null && !"".equals(mainData.getString("field0021"))){
salerebate.put("pk_org_v", mainData.getString("field0021")); // 组织必填取Dee组织编码如001
}else {
salerebate.put("pk_org_v", "001"); // 组织多版本必填取Dee组织编码如001
}
salerebate.put("pk_group", "COCOS"); // pk_group
salerebate.put("vbillcode", mainData.getString("field0001")); // 返利申请单号OA申请单号
salerebate.put("maketime", mainData.getString("field0004")); // 制单时间必填格式2025-08-08 00:00:00
salerebate.put("lastmaketime", null); // 最后修改时间格式2025-08-08 00:00:00
if(mainData.getString("field0022") != null && !"".equals(mainData.getString("field0022"))){
salerebate.put("creator", mainData.getString("field0022")); // 创建人必填用户编码可默认oagly
}else {
salerebate.put("creator", "oagly"); // 创建人必填用户编码可默认oagly
}
salerebate.put("creationtime", mainData.getString("field0004")); // 创建时间必填格式2025-08-08 00:00:00
salerebate.put("modifier", null); // 最后修改人
if(mainData.getString("field0023") != null && !"".equals(mainData.getString("field0023"))){
salerebate.put("billtype", mainData.getString("field0023")); // 单据类型必填默认30FL
}else {
salerebate.put("billtype", "30FL"); // 单据类型必填默认30FL
}
salerebate.put("transtype", null); // 交易类型
salerebate.put("transtypepk", null); // 交易类型 pk
salerebate.put("applydate", mainData.getString("field0004")); // 申请日期必填格式2025-08-08 00:00:00
if(mainData.getString("field0024") != null && !"".equals(mainData.getString("field0024"))){
salerebate.put("pk_psndoc", mainData.getString("field0024"));
}else {
salerebate.put("pk_psndoc", "XONE");
}
if(mainData.getString("field0025") != null && !"".equals(mainData.getString("field0025"))){
salerebate.put("pk_dept", mainData.getString("field0025")); // 部门部门编码
}else {
salerebate.put("pk_dept", "0201");
}
salerebate.put("rebatetype", mainData.getString("field0026")); // 返利类型必填取Dee返利类型自定义档案编码
salerebate.put("totalaount", mainData.getString("field0028")); // 返利总额必填金额总额
salerebate.put("memo", mainData.getString("field0016")); // 备注
salerebate.put("approvenote", null); // 审批批语
salerebate.put("approver", null); // 审批人
salerebate.put("approvedate", null); // 审批时间格式2025-08-08 00:00:00
salerebate.put("approvestatus", null); // 审批状态
salerebate.put("emendenum", null); // 修订枚举
salerebate.put("billmaker", "oagly"); // 制单人
salerebate.put("vdef1", mainData.getString("field0026")); // 返利类型编码必填取Dee返利类型自定义档案编码
String field0009 = null;
// 构建pk_salerebate_b数组
JSONArray salerebateBArray = new JSONArray();
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject salerebateB = new JSONObject();
salerebateB.put("pk_salerebate_b", ""); // 主键
if(mainData.getString("field0021") != null && !"".equals(mainData.getString("field0021"))){
salerebateB.put("pk_org", mainData.getString("field0021")); // 组织必填取Dee组织编码如001
}else {
salerebateB.put("pk_org", "001"); // 组织必填取表头组织编码
}
if(mainData.getString("field0021") != null && !"".equals(mainData.getString("field0021"))){
salerebateB.put("pk_org_v", mainData.getString("field0021")); // 组织必填取Dee组织编码如001
}else {
salerebateB.put("pk_org_v", "001"); // 组织必填取表头组织编码
}
salerebateB.put("rowno", String.valueOf((i+1)*10)); // 行号必填默认第一行10多行2030递增
salerebateB.put("cmaterialvid", null); // 物料取DEE物料编码
salerebateB.put("cmaterialid", null); // 物料版本取DEE物料编码
salerebateB.put("materialspec", null); // 规格取DEE物料对应的规格
salerebateB.put("pk_measdoc", null); // 主计量单位取DEE计量单位的编码
salerebateB.put("money", jsonArray.getJSONObject(i).getString("field0014")); // 返利金额必填返利金额
field0009 = jsonArray.getJSONObject(i).getString("field0009");
salerebateB.put("vmemo", null); // 行备注
salerebateB.put("vbdef1", null); // 自定义项 1
// 将对象添加到数组
salerebateBArray.add(salerebateB);
}
salerebate.put("pk_customer", field0009); // 客户必填取DEE客户编码
// 将salerebate和pk_salerebate_b添加到外层对象
sendData.put("salerebate", salerebate);
sendData.put("pk_salerebate_b", salerebateBArray);
return sendData;