收款单推员工还款接口

This commit is contained in:
李贵强 2025-03-13 11:20:18 +08:00
parent a6a4481676
commit b8e40c83e1
9 changed files with 390 additions and 24 deletions

View File

@ -169,6 +169,8 @@ public class ClaimConvertPlugin extends AbstractConvertPlugIn implements Plugin
targetEntry.set("shjh_fiscalyear", entry.getString("shjh_fiscalyear"));
targetEntry.set("shjh_billheaderid", entry.getString("shjh_billheaderid"));
targetEntry.set("shjh_detailid", entry.getString("shjh_detailid"));
targetEntry.set("shjh_usercode", entry.getString("shjh_usercode"));
targetEntry.set("shjh_deptcode", entry.getString("shjh_deptcode"));
}
}
}

View File

@ -137,10 +137,11 @@ public class ClaimBillButtonAssPlugin extends AbstractFormPlugin implements Plug
// 根据apiKey判断需要填充的字段
if ("paymentApi".equals(apiKey)) {
setPaymentValues(returnData, i);
setPublicValues(returnData,i);
} else if ("loanApi".equals(apiKey)) {
setLoanValues(returnData, i);
setPublicValues(returnData,i);
}
this.getView().updateView(ClaimFieldsInfo.ENTRY);
}
}
@ -148,7 +149,7 @@ public class ClaimBillButtonAssPlugin extends AbstractFormPlugin implements Plug
}
/**
* 反写预付款相关分录字段
* 反写预付款特定字段
* @param returnData
* @param i
*/
@ -167,16 +168,10 @@ public class ClaimBillButtonAssPlugin extends AbstractFormPlugin implements Plug
this.getModel().setValue(ClaimFieldsInfo.PAYMENT_AMOUNT, returnData.get(i).getBigDecimal(ClaimFieldsInfo.PAYMENT_AMOUNT), i);
//单据可退还金额
this.getModel().setValue(ClaimFieldsInfo.DOCUMENT_AMOUNT, returnData.get(i).getBigDecimal(ClaimFieldsInfo.DOCUMENT_AMOUNT), i);
//核销单凭证号
this.getModel().setValue(ClaimFieldsInfo.VERIFICATION_NUMBER, returnData.get(i).getString(ClaimFieldsInfo.VERIFICATION_NUMBER), i);
//会计年度
this.getModel().setValue(ClaimFieldsInfo.FISCAL_YEAR, returnData.get(i).getString(ClaimFieldsInfo.FISCAL_YEAR), i);
this.getModel().setValue("shjh_billheaderid", returnData.get(i).getString("shjh_billheaderid"), i);
this.getModel().setValue("shjh_detailid", returnData.get(i).getString("shjh_detailid"), i);
}
/**
* 反写借款单相关分录字段
* 反写借款单特定字段
* @param returnData
* @param i
*/
@ -187,12 +182,26 @@ public class ClaimBillButtonAssPlugin extends AbstractFormPlugin implements Plug
this.getModel().setValue(ClaimFieldsInfo.LOAN_AMOUNT, returnData.get(i).getBigDecimal(ClaimFieldsInfo.LOAN_AMOUNT), i);
//借款余额
this.getModel().setValue(ClaimFieldsInfo.LOAN_BALANCE, returnData.get(i).getBigDecimal(ClaimFieldsInfo.LOAN_BALANCE), i);
}
/**
* 反写共有参数
* @param returnData
* @param i
*/
private void setPublicValues(DynamicObjectCollection returnData, int i) {
//核销单凭证号
this.getModel().setValue(ClaimFieldsInfo.VERIFICATION_NUMBER, returnData.get(i).getString(ClaimFieldsInfo.VERIFICATION_NUMBER), i);
//会计年度
this.getModel().setValue(ClaimFieldsInfo.FISCAL_YEAR, returnData.get(i).getString(ClaimFieldsInfo.FISCAL_YEAR), i);
this.getModel().setValue("shjh_billheaderid", returnData.get(i).getString("shjh_billheaderid"), i);
this.getModel().setValue("shjh_detailid", returnData.get(i).getString("shjh_detailid"), i);
//关联id
this.getModel().setValue(ClaimFieldsInfo.HEADER_ID, returnData.get(i).getString(ClaimFieldsInfo.HEADER_ID), i);
//关联分录id
this.getModel().setValue(ClaimFieldsInfo.DETAIL_ID, returnData.get(i).getString(ClaimFieldsInfo.DETAIL_ID), i);
//员工编码
this.getModel().setValue(ClaimFieldsInfo.USER_CODE, returnData.get(i).getString(ClaimFieldsInfo.USER_CODE), i);
//部门编码
this.getModel().setValue(ClaimFieldsInfo.DEPT_CODE, returnData.get(i).getString(ClaimFieldsInfo.DEPT_CODE), i);
}
}

View File

@ -82,6 +82,8 @@ public class ClaimBillFormPlugin extends AbstractFormPlugin implements Plugin {
//收款类型=员工还款时显示该按钮
showLoanButton();
setCostCenter();
//设置付款人类型-职员
setPaymentType();
break;
default:
break;
@ -105,4 +107,8 @@ public class ClaimBillFormPlugin extends AbstractFormPlugin implements Plugin {
}
}
}
private void setPaymentType() {
this.getModel().setValue("paymenttype","bos_user");
}
}

View File

@ -185,6 +185,8 @@ public class FeeControlApiPlugin extends AbstractFormPlugin implements Plugin {
" \"RequestDate\": \"2025-01-09 11:29:22\",\n" +
" \"GLDate\": \"2025-01-09 00:00:00\",\n" +
" \"RequestUserName\": \"余超\",\n" +
" \"UserCode\": \"HCS2001\",\n" +
" \"DeptCode\": \"1000001\",\n" +
" \"AvailableAmt\": 80.5,\n" +
" \"SupplierId\": 89948,\n" +
" \"SupplierId_Name\": \"品销宝\",\n" +
@ -252,7 +254,96 @@ public class FeeControlApiPlugin extends AbstractFormPlugin implements Plugin {
String interfaceID="FMGetJahJKYList";
HashMap<String, String> head = ApiUtils.buildHead(interfaceID);
HashMap<String, Object> body = ApiUtils.buildBody(companyCode, this.getUserCode(), startDate, endDate);
String response = ApiUtils.sendPost(head, body, "https://hipint-stg.jahwa.com.cn:6443/gateway/HIP_ReceiveFromFM/1.0/fm/send");
//String response = ApiUtils.sendPost(head, body, "https://hipint-stg.jahwa.com.cn:6443/gateway/HIP_ReceiveFromFM/1.0/fm/send");
String response="{\n" +
" \"rootContextID\": \"8as6dfasd6f98as7d6f9a98sd76f\",\n" +
" \"code\": \"0\",\n" +
" \"msg\": \"成功\",\n" +
" \"data\": {\n" +
" \"total\": 3,\n" +
" \"LoanItems\": [\n" +
" {\n" +
" \"ID\": \"a50547a4-d661-486b-a5c0-adecdbe958b9\",\n" +
" \"RequestCode\": \"JKY2025011400001\",\n" +
" \"RequestName\": \"财务及分销系统余超2025-01-14员工借款单\",\n" +
" \"RequestDeptID\": \"77ace8b5-557e-45d9-a3cf-e4831ec37231\",\n" +
" \"RequestAmt\": 111,\n" +
" \"RequestDate\": \"2025-01-14 14:57:13\",\n" +
" \"GLDate\": \"2025-01-14 00:00:00\",\n" +
" \"RequestDeptName\": \"财务及分销系统\",\n" +
" \"ProjectName\": null,\n" +
" \"RequestUserID\": \"ce989821-2bcb-45b9-a278-230d3ce627f3\",\n" +
" \"RequestUserName\": \"余超\",\n" +
" \"UserCode\": \"HCS2001\",\n" +
" \"DeptCode\": \"1000001\",\n" +
" \"RequestUserNumber\": null,\n" +
" \"AvailableAmt\": 111,\n" +
" \"CurrencyId\": 10510,\n" +
" \"CurrencyName\": \"人民币\",\n" +
" \"StrColumn6\": \"6217001180014130648\",\n" +
" \"StrColumn7\": \"建设银行\",\n" +
" \"CompanyCode\": \"C001\",\n" +
" \"CompanyName\": \"上海家化联合股份有限公司\",\n" +
" \"RequestRemark\": \"上传\",\n" +
" \"StrColumn20\": \"1600000001\",\n" +
" \"LoanDetailInfo\": null\n" +
" },\n" +
" {\n" +
" \"ID\": \"b60358b5-e762-497b-b6d1-bdfdfbe123c4\",\n" +
" \"RequestCode\": \"JKY2025021000002\",\n" +
" \"RequestName\": \"技术部张三2025-02-10员工借款单\",\n" +
" \"RequestDeptID\": \"88bdf9d1-9a8d-44f7-bfa1-0ab7893cd321\",\n" +
" \"RequestAmt\": 500,\n" +
" \"RequestDate\": \"2025-02-10 09:30:00\",\n" +
" \"GLDate\": \"2025-02-10 00:00:00\",\n" +
" \"RequestDeptName\": \"技术部\",\n" +
" \"ProjectName\": \"ERP升级项目\",\n" +
" \"RequestUserID\": \"ab123456-7890-1234-5678-abcdef123456\",\n" +
" \"RequestUserName\": \"张三\",\n" +
" \"UserCode\": \"JS2025\",\n" +
" \"DeptCode\": \"2000002\",\n" +
" \"RequestUserNumber\": \"003\",\n" +
" \"AvailableAmt\": 300,\n" +
" \"CurrencyId\": 10510,\n" +
" \"CurrencyName\": \"人民币\",\n" +
" \"StrColumn6\": \"6225881234567890\",\n" +
" \"StrColumn7\": \"工商银行\",\n" +
" \"CompanyCode\": \"C002\",\n" +
" \"CompanyName\": \"北京科技有限公司\",\n" +
" \"RequestRemark\": \"差旅借款\",\n" +
" \"StrColumn20\": \"1600000002\",\n" +
" \"LoanDetailInfo\": null\n" +
" },\n" +
" {\n" +
" \"ID\": \"c78945c3-f983-4d7e-c3b2-3456fdbe456a\",\n" +
" \"RequestCode\": \"JKY2025030100003\",\n" +
" \"RequestName\": \"市场部李四2025-03-01员工借款单\",\n" +
" \"RequestDeptID\": \"99ace8d5-1234-45d9-a3cf-9876cde45678\",\n" +
" \"RequestAmt\": 880,\n" +
" \"RequestDate\": \"2025-03-01 11:45:00\",\n" +
" \"GLDate\": \"2025-03-01 00:00:00\",\n" +
" \"RequestDeptName\": \"市场部\",\n" +
" \"ProjectName\": null,\n" +
" \"RequestUserID\": \"cd456789-1234-9876-5432-ba9876def123\",\n" +
" \"RequestUserName\": \"李四\",\n" +
" \"UserCode\": \"SC2025\",\n" +
" \"DeptCode\": \"3000003\",\n" +
" \"RequestUserNumber\": \"007\",\n" +
" \"AvailableAmt\": 880,\n" +
" \"CurrencyId\": 10510,\n" +
" \"CurrencyName\": \"人民币\",\n" +
" \"StrColumn6\": \"6230580001234567\",\n" +
" \"StrColumn7\": \"农业银行\",\n" +
" \"CompanyCode\": \"C003\",\n" +
" \"CompanyName\": \"广州市场发展有限公司\",\n" +
" \"RequestRemark\": \"项目启动备用金\",\n" +
" \"StrColumn20\": \"1600000003\",\n" +
" \"LoanDetailInfo\": null\n" +
" }\n" +
" ],\n" +
" \"VoucherItems\": []\n" +
" }\n" +
"}\n";
if (response != null) {
Boolean result = parseResponse(response, billNumber, String.valueOf(body), "借款单清单查询接口");
if (result) {
@ -311,6 +402,8 @@ public class FeeControlApiPlugin extends AbstractFormPlugin implements Plugin {
this.getModel().setValue("shjh_fiscalyear", top.getString("GLDate").substring(0, 4), i);
this.getModel().setValue("shjh_billheaderid", detail.getString("BillHeaderID"), i);
this.getModel().setValue("shjh_detailid", detail.getString("DetailID"), i);
this.getModel().setValue("shjh_usercode", top.getString("UserCode"), i);
this.getModel().setValue("shjh_deptcode", top.getString("DeptCode"), i);
} catch (Exception e) {
logger.error("预付单赋值异常: " + e.getMessage(), e);
}
@ -331,10 +424,8 @@ public class FeeControlApiPlugin extends AbstractFormPlugin implements Plugin {
entry.clear();
for (int i = 0; i < rows.size(); i++) {
JSONObject top = (JSONObject) rows.get(i);
JSONArray loanDetailInfo = top.getJSONArray("LoanDetailInfo");
JSONObject detail = (JSONObject) loanDetailInfo.get(0);
entry.addNew();
setLoanApiValues(top,detail, i);
setLoanApiValues(top, i);
}
} catch (Exception e) {
logger.error("借款单数据解析异常: " + e.getMessage(), e);
@ -347,7 +438,7 @@ public class FeeControlApiPlugin extends AbstractFormPlugin implements Plugin {
* @param top
* @param i
*/
private void setLoanApiValues(JSONObject top, JSONObject detail,int i) {
private void setLoanApiValues(JSONObject top,int i) {
try {
this.getModel().setValue("shjh_billno", top.getString("CompanyCode"), i);
this.getModel().setValue("shjh_loannum", top.getString("RequestCode"), i);
@ -355,8 +446,9 @@ public class FeeControlApiPlugin extends AbstractFormPlugin implements Plugin {
this.getModel().setValue("shjh_loanbalance", top.getBigDecimal("AvailableAmt"), i);
this.getModel().setValue("shjh_verificationnum", top.getString("StrColumn20"), i);
this.getModel().setValue("shjh_fiscalyear", top.getString("GLDate").substring(0, 4), i);
this.getModel().setValue("shjh_billheaderid", detail.getString("BillHeaderID"), i);
this.getModel().setValue("shjh_detailid", detail.getString("DetailID"), i);
this.getModel().setValue("shjh_billheaderid", top.getString("ID"), i);
this.getModel().setValue("shjh_usercode", top.getString("UserCode"), i);
this.getModel().setValue("shjh_deptcode", top.getString("DeptCode"), i);
} catch (Exception e) {
logger.error("借款单赋值异常: " + e.getMessage(), e);
}

View File

@ -115,4 +115,8 @@ public class ClaimFieldsInfo {
public static final String ASS_LOAN= "shjh_assloan";
public static final String USER_COST_CENTER= "shjh_fycc";
public static final String HEADER_ID= "shjh_billheaderid";
public static final String DETAIL_ID= "shjh_detailid";
public static final String USER_CODE= "shjh_usercode";
public static final String DEPT_CODE= "shjh_deptcode";
}

View File

@ -0,0 +1,253 @@
package shjh.jhzj7.fi.fi.plugin.operate;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.dataentity.utils.StringUtils;
import kd.bos.entity.ExtendedDataEntity;
import kd.bos.entity.formula.RowDataModel;
import kd.bos.entity.operate.result.OperateErrorInfo;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.AddValidatorsEventArgs;
import kd.bos.entity.plugin.PreparePropertysEventArgs;
import kd.bos.entity.plugin.args.AfterOperationArgs;
import kd.bos.entity.validate.AbstractValidator;
import kd.bos.entity.validate.ErrorLevel;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.sdk.plugin.Plugin;
import shjh.jhzj7.fi.fi.utils.ApiUtils;
import shjh.jhzj7.fi.fi.utils.EsbUtils;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* 单据操作插件-借款单推送费控系统
* @author LiGuiQiang
*/
public class LoanPushSapOperation extends AbstractOperationServicePlugIn implements Plugin {
/**
* 操作标识
*/
private static final String KEY_PUSH_LOAN = "pushloan";
/**
* 操作执行前准备加载单据数据之前触发此事件
*
* @remark 插件可以在此事件中指定需要加载的字段
*/
@Override
public void onPreparePropertys(PreparePropertysEventArgs e) {
super.onPreparePropertys(e);
//收款类型=预付款退回 and SAP凭证号不为空
e.getFieldKeys().add(PaymentPushSapOperation.PaymentValidator.KEY_RECEIVING_TYPE);
e.getFieldKeys().add(PaymentPushSapOperation.PaymentValidator.KEY_VOUCHER_NUM);
}
/**
* 执行操作校验前触发此事件
*
* @remark 插件可以在此事件调整预置的操作校验器或者增加自定义操作校验器
*/
@Override
public void onAddValidators(AddValidatorsEventArgs e) {
super.onAddValidators(e);
//添加自定义校验器:收款类型=员工还款 and SAP凭证号不为空
e.addValidator(new PaymentPushSapOperation.PaymentValidator());
}
@Override
public void afterExecuteOperationTransaction(AfterOperationArgs e) {
super.afterExecuteOperationTransaction(e);
//TODO:调用SAP预付款单接口
String operationKey = e.getOperationKey();
if (StringUtils.equals(KEY_PUSH_LOAN, operationKey)) {
DynamicObject[] dataEntities = e.getDataEntities();
if (dataEntities != null && dataEntities.length >= 1) {
StringBuilder message = new StringBuilder();
for (DynamicObject dataEntity : dataEntities) {
DynamicObject recBill = BusinessDataServiceHelper.loadSingle(dataEntity.getLong("id"), "cas_recbill");
if (null != recBill) {
//单号
String billNumber = recBill.getString("billno");
String interfaceId = "GeneraRepayBill";
HashMap<String, String> responseHead = ApiUtils.buildHead(interfaceId);
HashMap<String, Object> responseBody = this.assembleRequest(interfaceId,billNumber, recBill,message);
try {
String response = ApiUtils.sendPost(responseHead, responseBody, "https://hipint-stg.jahwa.com.cn:6443/gateway/HIP_ReceiveFromFM/1.0/fm/send");
if (!response.isEmpty()) {
this.parseResponse(response, billNumber, responseBody, interfaceId, message);
}
} catch (IOException ex) {
message.append("收款处理【").append(billNumber).append("】:").append(ex.getMessage()).append("\n");
}
if (message.length()!=0){
OperateErrorInfo operateErrorInfo = new OperateErrorInfo();
operateErrorInfo.setMessage(String.valueOf(message));
operateErrorInfo.setErrorLevel(ErrorLevel.Error.name());
operateErrorInfo.setPkValue(dataEntity.getPkValue());
this.operationResult.addErrorInfo(operateErrorInfo);
}
}
}
}
}
}
/**
* 自定义校验器
*/
static class PaymentValidator extends AbstractValidator {
/**
* 收款类型字段标识
*/
public final static String KEY_RECEIVING_TYPE = "receivingtype";
/**
* SAP凭证号字段标识
*/
public final static String KEY_VOUCHER_NUM = "shjh_vouchernum";
@Override
public void validate() {
//取数模型
RowDataModel rowDataModel = new RowDataModel(this.entityKey, this.getValidateContext().getSubEntityType());
ExtendedDataEntity[] dataEntities = this.getDataEntities();
if (dataEntities != null && dataEntities.length >= 1) {
for (ExtendedDataEntity dataEntity : dataEntities) {
if (dataEntity != null) {
rowDataModel.setRowContext(dataEntity.getDataEntity());
DynamicObject type = (DynamicObject) rowDataModel.getValue(KEY_RECEIVING_TYPE);
if (null != type) {
String number = type.getString("number");
if (null != number) {
if (!"109".equals(number)) {
// 校验不通过输出一条错误提示
this.addErrorMessage(dataEntity, "请选择【收款类型】=【员工还款】的单据!");
}
}
}
String voucherNumber = (String) rowDataModel.getValue(KEY_VOUCHER_NUM);
if (voucherNumber.isEmpty()) {
this.addErrorMessage(dataEntity, "SAP凭证不能为空");
}
}
}
}
}
}
/**
* 请求头组装
* @param billNumber 单据编号
* @param recBill 收款处理
* @return
*/
private HashMap<String, Object> assembleRequest(String interfaceId,String billNumber,DynamicObject recBill,StringBuilder message){
HashMap<String, Object> responseBody = null;
try {
// 生成唯一事务ID
String rootContextId = UUID.randomUUID().toString();
// 获取当前请求时间格式为 yyyy-MM-dd HH:mm:ss.SSS
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String requestTime = sdf.format(new Date());
responseBody = new HashMap<>(5);
responseBody.put("rootContextID", rootContextId);
responseBody.put("requestTime", requestTime);
HashMap<String, Object> data = new HashMap<>(10);
HashMap<String, Object> header = new HashMap<>(13);
header.put("FM_RequestBillCode", "PersonalRepay");
//资金系统的申请单号
header.put("FM_RequestCode", billNumber);
//公司编码
header.put("FM_CompanyCode", recBill.getString("org.number"));
//部门编码
header.put("FM_DeptCode", recBill.getDynamicObjectCollection("entry").get(0).getString("shjh_deptcode"));
//还款人工号
header.put("FM_UserCode", recBill.getDynamicObjectCollection("entry").get(0).getString("shjh_usercode"));
//收款银行账号
header.put("FM_BankCode",recBill.getString("accountbank.number"));
//成本中心编码
header.put("FM_CostCenterCode", recBill.getString("shjh_costcenter.number"));
//创建人工号
header.put("FM_CreateUserCode", recBill.getString("creator.number"));
header.put("FM_CurrencyCode", "RMB");
//单据主题
header.put("FM_RequestName", "退预付款推送测试");
//附件URL地址
//HashMap<String, String> url = new HashMap<>(2);
header.put("FM_AttachUr", new ArrayList<>());
//事项描述
header.put("Remark", "测试");
List<Map<String, Object>> body = new ArrayList<>();
List<Map<String, Object>> loanRequestList = new ArrayList<>();
DynamicObjectCollection entryCollection = recBill.getDynamicObjectCollection("entry");
if (!entryCollection.isEmpty()){
for (DynamicObject entry : entryCollection) {
Map<String, Object> loanItem = new HashMap<>(2);
loanItem.put("BillHeaderID", entry.getString("shjh_billheaderid"));
loanItem.put("DetailID", entry.getString("shjh_detailid"));
loanRequestList.add(loanItem);
Map<String, Object> bodyItem = new HashMap<>(4);
bodyItem.put("FM_JKYRequestCode", entry.getString("shjh_loannum"));
bodyItem.put("FM_JKYBillHeaderID", entry.getString("shjh_billheaderid"));
bodyItem.put("FM_JKYDetailID", entry.getString("shjh_detailid"));
bodyItem.put("FM_RepayAmt", entry.getBigDecimal("shjh_refundedamount"));
body.add(bodyItem);
}
header.put("FM_LoanRequestList", loanRequestList);
}
data.put("header", header);
data.put("body", body);
responseBody.put("data", data);
} catch (Exception e) {
message.append("收款处理【").append(billNumber).append("】:").append(e.getMessage()).append("\n");
EsbUtils.saveLog(billNumber, interfaceId, null, e.getMessage(), false, "ESBPushApi", "数据异常");
}
return responseBody;
}
/**
* 日志记录
*
* @param response 响应参数
* @param billNumber 本单单号
* @param body 请求体
* @param apiName 接口名
*/
private void parseResponse(String response, String billNumber, HashMap<String, Object> body, String apiName, StringBuilder message) {
JSONObject result = JSONObject.parseObject(response);
if (null != result) {
String formattedBody = JSON.toJSONString(body);
String code = result.getString("code");
switch (code) {
case "0":
EsbUtils.saveLog("收款处理"+billNumber, apiName, formattedBody, response, true, "ESBPushApi", "推送成功");
break;
case "1":
EsbUtils.saveLog("收款处理"+billNumber, apiName, formattedBody, response, false, "ESBPushApi", "服务异常");
message.append("收款处理【").append(billNumber).append("】:").append("服务异常").append("\n");
break;
case "2":
EsbUtils.saveLog("收款处理"+billNumber, apiName, formattedBody, response, false, "ESBPushApi", "三方服务异常");
message.append("收款处理【").append(billNumber).append("】:").append("三方服务异常").append("\n");
break;
case "3":
EsbUtils.saveLog("收款处理"+billNumber, apiName, formattedBody, response, false, "ESBPushApi", "业务异常");
message.append("收款处理【").append(billNumber).append("】:").append("业务异常").append("\n");
break;
default:
EsbUtils.saveLog("收款处理"+billNumber, apiName, formattedBody, response, false, "ESBPushApi", "未知异常");
message.append("收款处理【").append(billNumber).append("】:").append("未知异常").append("\n");
break;
}
}
}
}

View File

@ -168,11 +168,11 @@ public class PaymentPushSapOperation extends AbstractOperationServicePlugIn impl
//公司编码
header.put("FM_CompanyCode", recBill.getString("org.number"));
//部门编码
header.put("FM_DeptCode", SysUtils.getUserDeptNumber());
header.put("FM_DeptCode", recBill.getDynamicObjectCollection("entry").get(0).getString("shjh_deptcode"));
//供应商编码
header.put("FM_SupplierCode", getSupOrCusNumber(recBill));
//员工工号
header.put("FM_UserCode", SysUtils.getUserNumber());
header.put("FM_UserCode", recBill.getDynamicObjectCollection("entry").get(0).getString("shjh_usercode"));
//成本中心编码
header.put("FM_CostCenterCode", recBill.getString("shjh_costcenter.number"));
//创建人工号

View File

@ -23,11 +23,11 @@ public class ApiUtils {
static Log log = LogFactory.getLog(ApiUtils.class);
public static HashMap<String,String> buildHead(String interfaceID){
public static HashMap<String,String> buildHead(String interfaceId){
HashMap<String,String> header = new HashMap<>(5);
header.put("Content-Type","application/json;charset=UTF-8");
header.put("x-Gateway-APIKey","207b5296-9866-4b4b-8146-1fea58b3c8c9");
header.put("interfaceID",interfaceID);
header.put("interfaceID",interfaceId);
header.put("receiverID","FeiKong");
return header;
}

View File

@ -28,8 +28,6 @@ public class SysUtils {
return (String) userMap.get("number");
}
/**
* 获取当前操作人部门编码
* @return
@ -46,4 +44,6 @@ public class SysUtils {
}
return deptNumber;
}
}