1.家化电子回单接口,差url
2.推送费控过滤条件(定时任务改成调操作) 3.fk状态回写,接口,触发 4.付款单定时调用费控接口更新状态 --s
This commit is contained in:
parent
f367bcadc8
commit
85f044d51e
|
|
@ -5,9 +5,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.entity.EntityMetadataCache;
|
||||
import kd.bos.entity.datamodel.ListSelectedRowCollection;
|
||||
import kd.bos.form.control.events.BeforeClickEvent;
|
||||
import kd.bos.form.control.events.BeforeItemClickEvent;
|
||||
import kd.bos.form.control.events.ItemClickEvent;
|
||||
import kd.bos.list.BillList;
|
||||
import kd.bos.list.plugin.AbstractListPlugin;
|
||||
import kd.bos.logging.Log;
|
||||
|
|
|
|||
|
|
@ -12,6 +12,10 @@ import kd.bos.logging.Log;
|
|||
import kd.bos.logging.LogFactory;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
import static shjh.jhzj7.fi.fi.utils.SapUtils.backpayment_status;
|
||||
import static shjh.jhzj7.fi.fi.utils.SapUtils.unlocked_status;
|
||||
|
||||
/**
|
||||
|
|
@ -38,23 +42,44 @@ public class ScheduleListPlugin extends AbstractListPlugin {
|
|||
for (ListSelectedRow row : rows) {
|
||||
Long pk = (Long) row.getPrimaryKeyValue();
|
||||
DynamicObject bill = BusinessDataServiceHelper.loadSingle(pk, "psd_schedulebill");
|
||||
String action = "04".equals(status)? "退单" : "作废";
|
||||
if (bill != null) {
|
||||
//来源SAP
|
||||
String shjhSapuniquevalue = bill.getString("shjh_sapuniquevalue");
|
||||
if (shjhSapuniquevalue != null && !shjhSapuniquevalue.isEmpty()) {
|
||||
JSONArray IT_INPUT = createInputJSONArray(bill, status);
|
||||
JSONObject jsonObjects = unlocked_status(IT_INPUT, bill.getString("billno"));
|
||||
String code = jsonObjects.getString("code");
|
||||
String action = "04".equals(status)? "退单" : "作废";
|
||||
if (!"0".equals(code)) {
|
||||
log.info("付款排程单:" + bill.getString("billno") + "状态" + action + "失败:" + jsonObjects.getString("msg"));
|
||||
log.info("付款排程单:" + bill.getString("billno") + "状态(SAP)" + action + "失败:" + jsonObjects.getString("msg"));
|
||||
} else {
|
||||
log.info("付款排程单:" + bill.getString("billno") + "状态" + action + "成功");
|
||||
log.info("付款排程单:" + bill.getString("billno") + "状态(SAP)" + action + "成功");
|
||||
}
|
||||
return;
|
||||
}
|
||||
//若来源为费控,调用费控状态修改接口
|
||||
String fkbillid = bill.getString("shjh_fkbillid");//获取费控单据表头ID
|
||||
if (fkbillid != null && !fkbillid.isEmpty()) {
|
||||
//先付后记(其他付款、劳务报销单、SAP会员退卡单)回写付款状态
|
||||
JSONObject jsonObjects = backpayment_status(createInputJSONArrays(bill),bill.getString("billno"));
|
||||
String code = (String)jsonObjects.get("code");
|
||||
if (!"0".equals(code)) {
|
||||
log.info("付款排程单:" + bill.getString("billno") + "状态(FK)" + action + "失败:" + jsonObjects.getString("msg"));
|
||||
} else {
|
||||
log.info("付款排程单:" + bill.getString("billno") + "状态(FK)" + action + "成功");
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* SAP接口参数
|
||||
* @param bill
|
||||
* @param status
|
||||
* @return
|
||||
*/
|
||||
private JSONArray createInputJSONArray(DynamicObject bill, String status) {
|
||||
JSONArray IT_INPUT = new JSONArray();
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
|
|
@ -77,4 +102,51 @@ public class ScheduleListPlugin extends AbstractListPlugin {
|
|||
IT_INPUT.add(jsonObject);
|
||||
return IT_INPUT;
|
||||
}
|
||||
|
||||
/**
|
||||
* 费控接口参数
|
||||
* @param bill
|
||||
* @return
|
||||
*/
|
||||
private JSONObject createInputJSONArrays(DynamicObject bill) {
|
||||
JSONObject data = new JSONObject();
|
||||
JSONArray datas = new JSONArray();
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
String CompanyCode = "";
|
||||
String CompanyName = "";
|
||||
DynamicObject openorg = bill.getDynamicObject("openorg");//核算组织
|
||||
if (null != openorg) {
|
||||
CompanyCode = openorg.getString("number");
|
||||
CompanyName = openorg.getString("name");
|
||||
}
|
||||
jsonObject.put("CompanyCode", CompanyCode);//公司编码
|
||||
jsonObject.put("CompanyName", CompanyName);//公司名称
|
||||
jsonObject.put("BillHeaderID", bill.getString("shjh_fkbillid"));//费控单据头ID
|
||||
jsonObject.put("DetailID", bill.getString("shjh_fkentryid"));//费控分录明细ID
|
||||
String PaymentBank = "";
|
||||
DynamicObject payerbank = bill.getDynamicObject("payerbank");
|
||||
if (null != payerbank) {
|
||||
PaymentBank = payerbank.getString("name");
|
||||
}
|
||||
jsonObject.put("PaymentBank", PaymentBank);//付款银行
|
||||
//付款状态 (败笔退回:-5、取消付款:-20、付款失败:-10、部分付款失败:30、付款成功:20、部分付款成功:25、
|
||||
// 处理中:15、待付款:10、未付款:0、未推送:-99、已修改:-100)
|
||||
jsonObject.put("PaymentStatus", "-5");
|
||||
String PaymentAccNum = "";
|
||||
DynamicObject payeracctbank = bill.getDynamicObject("payeracctbank");//银行账号
|
||||
if (null != payeracctbank) {
|
||||
PaymentAccNum = payeracctbank.getString("bankaccountnumber");
|
||||
}
|
||||
jsonObject.put("PaymentAccNum", PaymentAccNum);//付款账号
|
||||
Date paydate = bill.getDate("paydate");
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String PaymentDate = format.format(paydate);
|
||||
jsonObject.put("PaymentDate", PaymentDate);//付款时间
|
||||
jsonObject.put("JDBillId", ""+bill.getPkValue());//金蝶单据ID
|
||||
jsonObject.put("JDBillCode", bill.getString("billno"));//金蝶单据编码
|
||||
|
||||
datas.add(jsonObject);
|
||||
data.put("data", datas);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ import kd.bos.entity.operate.result.OperateErrorInfo;
|
|||
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||
import kd.bos.entity.plugin.args.BeforeOperationArgs;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import static shjh.jhzj7.fi.fi.utils.SapUtils.unlocked_status;
|
||||
|
|
|
|||
|
|
@ -11,6 +11,10 @@ import kd.bos.logging.LogFactory;
|
|||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
import static shjh.jhzj7.fi.fi.utils.SapUtils.backpayment_status;
|
||||
import static shjh.jhzj7.fi.fi.utils.SapUtils.unlocked_status;
|
||||
|
||||
/**
|
||||
|
|
@ -80,9 +84,59 @@ public class PayrequestBillOperation extends AbstractOperationServicePlugIn impl
|
|||
JSONObject jsonObjects = unlocked_status(IT_INPUT,bill.getString("billno"));
|
||||
String code = (String)jsonObjects.get("code");
|
||||
if (!"0".equals(code)) {
|
||||
log.info("付款申请单:"+bill.getString("billno")+"状态关闭失败:" + jsonObject.get("msg"));
|
||||
log.info("付款申请单:"+bill.getString("billno")+"状态关闭(SAP)失败:" + jsonObject.get("msg"));
|
||||
}else {
|
||||
log.info("付款申请单:"+bill.getString("billno")+"状态关闭成功");
|
||||
log.info("付款申请单:"+bill.getString("billno")+"状态关闭(SAP)成功");
|
||||
}
|
||||
}
|
||||
//若来源为费控,调用费控状态修改接口
|
||||
String fkbillid = bill.getString("shjh_fkbillid");//获取费控单据表头ID
|
||||
if (fkbillid != null && !fkbillid.isEmpty()) {
|
||||
JSONObject data = new JSONObject();
|
||||
JSONArray datas = new JSONArray();
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
String CompanyCode = "";
|
||||
String CompanyName = "";
|
||||
DynamicObject openorg = bill.getDynamicObject("openorg");//核算组织
|
||||
if (null != openorg) {
|
||||
CompanyCode = openorg.getString("number");
|
||||
CompanyName = openorg.getString("name");
|
||||
}
|
||||
jsonObject.put("CompanyCode", CompanyCode);//公司编码
|
||||
jsonObject.put("CompanyName", CompanyName);//公司名称
|
||||
jsonObject.put("BillHeaderID", bill.getString("shjh_fkbillid"));//费控单据头ID
|
||||
jsonObject.put("DetailID", bill.getString("shjh_fkentryid"));//费控分录明细ID
|
||||
String PaymentBank = "";
|
||||
DynamicObject payerbank = bill.getDynamicObject("payerbank");
|
||||
if (null != payerbank) {
|
||||
PaymentBank = payerbank.getString("name");
|
||||
}
|
||||
jsonObject.put("PaymentBank", PaymentBank);//付款银行
|
||||
//付款状态 (败笔退回:-5、取消付款:-20、付款失败:-10、部分付款失败:30、付款成功:20、部分付款成功:25、
|
||||
// 处理中:15、待付款:10、未付款:0、未推送:-99、已修改:-100)
|
||||
jsonObject.put("PaymentStatus", "-5");
|
||||
String PaymentAccNum = "";
|
||||
DynamicObject payeracctbank = bill.getDynamicObject("payeracctbank");//银行账号
|
||||
if (null != payeracctbank) {
|
||||
PaymentAccNum = payeracctbank.getString("bankaccountnumber");
|
||||
}
|
||||
jsonObject.put("PaymentAccNum", PaymentAccNum);//付款账号
|
||||
Date paydate = bill.getDate("paydate");
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String PaymentDate = format.format(paydate);
|
||||
jsonObject.put("PaymentDate", PaymentDate);//付款时间
|
||||
jsonObject.put("JDBillId", ""+bill.getPkValue());//金蝶单据ID
|
||||
jsonObject.put("JDBillCode", bill.getString("billno"));//金蝶单据编码
|
||||
|
||||
datas.add(jsonObject);
|
||||
data.put("data", datas);
|
||||
//先付后记(其他付款、劳务报销单、SAP会员退卡单)回写付款状态
|
||||
JSONObject jsonObjects = backpayment_status(data,bill.getString("billno"));
|
||||
String code = (String)jsonObjects.get("code");
|
||||
if (!"0".equals(code)) {
|
||||
log.info("付款申请单:"+bill.getString("billno")+"状态关闭失败(FK):" + jsonObjects.get("msg"));
|
||||
}else {
|
||||
log.info("付款申请单:"+bill.getString("billno")+"状态关闭(FK)成功");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,92 @@
|
|||
package shjh.jhzj7.fi.fi.plugin.task;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import kd.bos.context.RequestContext;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.exception.KDException;
|
||||
import kd.bos.logging.Log;
|
||||
import kd.bos.logging.LogFactory;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.schedule.executor.AbstractTask;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
import static shjh.jhzj7.fi.fi.utils.SapUtils.backpayment_status;
|
||||
|
||||
/**
|
||||
* 付款单定时调用费控接口更新状态
|
||||
*/
|
||||
public class UpdateFkStatusTask extends AbstractTask implements Plugin {
|
||||
|
||||
private final static Log logger = LogFactory.getLog(UpdateFkStatusTask.class);
|
||||
@Override
|
||||
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
||||
|
||||
/**
|
||||
* 单据状态:已付款
|
||||
* 是否调用过费控更新状态接口 = 否
|
||||
*/
|
||||
QFilter q1 = new QFilter("billstatus", QCP.equals, "D");//单据状态:已付款
|
||||
QFilter q2 = new QFilter("shjh_isupdatefkstatus", QCP.equals, false);//是否调用过费控更新状态接口 = 否
|
||||
DynamicObject[] paybills = BusinessDataServiceHelper.load("cas_paybill", "id", new QFilter[]{q1, q2});
|
||||
for (DynamicObject bill : paybills) {
|
||||
bill = BusinessDataServiceHelper.loadSingle(bill.getPkValue(), "cas_paybill");
|
||||
JSONObject data = new JSONObject();
|
||||
JSONArray datas = new JSONArray();
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
String CompanyCode = "";
|
||||
String CompanyName = "";
|
||||
DynamicObject openorg = bill.getDynamicObject("openorg");//核算组织
|
||||
if (null != openorg) {
|
||||
CompanyCode = openorg.getString("number");
|
||||
CompanyName = openorg.getString("name");
|
||||
}
|
||||
jsonObject.put("CompanyCode", CompanyCode);//公司编码
|
||||
jsonObject.put("CompanyName", CompanyName);//公司名称
|
||||
jsonObject.put("BillHeaderID", bill.getString("shjh_fkbillid"));//费控单据头ID
|
||||
jsonObject.put("DetailID", bill.getString("shjh_fkentryid"));//费控分录明细ID
|
||||
String PaymentBank = "";
|
||||
DynamicObject payerbank = bill.getDynamicObject("payerbank");
|
||||
if (null != payerbank) {
|
||||
PaymentBank = payerbank.getString("name");
|
||||
}
|
||||
jsonObject.put("PaymentBank", PaymentBank);//付款银行
|
||||
//付款状态 (败笔退回:-5、取消付款:-20、付款失败:-10、部分付款失败:30、付款成功:20、部分付款成功:25、
|
||||
// 处理中:15、待付款:10、未付款:0、未推送:-99、已修改:-100)
|
||||
jsonObject.put("PaymentStatus", "20");
|
||||
String PaymentAccNum = "";
|
||||
DynamicObject payeracctbank = bill.getDynamicObject("payeracctbank");//银行账号
|
||||
if (null != payeracctbank) {
|
||||
PaymentAccNum = payeracctbank.getString("bankaccountnumber");
|
||||
}
|
||||
jsonObject.put("PaymentAccNum", PaymentAccNum);//付款账号
|
||||
Date paydate = bill.getDate("paydate");
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String PaymentDate = format.format(paydate);
|
||||
jsonObject.put("PaymentDate", PaymentDate);//付款时间
|
||||
jsonObject.put("JDBillId", ""+bill.getPkValue());//金蝶单据ID
|
||||
jsonObject.put("JDBillCode", bill.getString("billno"));//金蝶单据编码
|
||||
|
||||
datas.add(jsonObject);
|
||||
data.put("data", datas);
|
||||
//先付后记(其他付款、劳务报销单、SAP会员退卡单)回写付款状态
|
||||
JSONObject jsonObjects = backpayment_status(data,bill.getString("billno"));
|
||||
String code = (String)jsonObjects.get("code");
|
||||
if (!"0".equals(code)) {
|
||||
logger.info("付款单:"+bill.getString("billno")+"付款成功:状态同步失败(FK):" + jsonObjects.get("msg"));
|
||||
}else {
|
||||
//修改 是否调用过费控更新状态接口 = 是
|
||||
bill.set("shjh_isupdatefkstatus", true);
|
||||
SaveServiceHelper.save(new DynamicObject[]{bill});
|
||||
logger.info("付款单:"+bill.getString("billno")+"付款成功:状态同步成功(FK)");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -52,6 +52,11 @@ public class SapUtils {
|
|||
|
||||
private static final String API_METHOD4 = "SAP收款凭证清账状态查询接口";
|
||||
private static final String INTERFACE_ID4 = "ReceiptVoucherClearingStatusCheck";
|
||||
|
||||
private static final String Apimenthod4 = "先付后记(其他付款、劳务报销单、SAP会员退卡单)回写付款状态";
|
||||
private static final String interfaceID4 = "WritePaymentDetailStatus";//识别被调接口并进行路由
|
||||
public static final String backpaymentUrl = "https://hipint-stg.jahwa.com.cn:6443/gateway/HIP_ReceiveFromFM/1.0/fm/send";//测试环境(先付后记(其他付款、劳务报销单、SAP会员退卡单)回写付款状态)
|
||||
// public static final String backpaymentUrl = "https://hipint.jahwa.com.cn:6443/gateway/HIP_ReceiveFromFM/1.0/fm/send";//正式环境
|
||||
/**
|
||||
* 测试地址
|
||||
*/
|
||||
|
|
@ -220,6 +225,49 @@ public class SapUtils {
|
|||
return pendingsBody;
|
||||
}
|
||||
|
||||
/**
|
||||
* 先付后记(其他付款、劳务报销单、SAP会员退卡单)回写付款状态
|
||||
*/
|
||||
public static JSONObject backpayment_status(JSONObject data, String billno) {
|
||||
Map<String, Object> thirdPartyMap = new HashMap<>();
|
||||
thirdPartyMap.put("interfaceID", interfaceID4);
|
||||
thirdPartyMap.put("receiverID", receiverID2);
|
||||
thirdPartyMap.put("URL", backpaymentUrl);
|
||||
thirdPartyMap.put("billno", billno);
|
||||
|
||||
// 获取当前日期和时间
|
||||
LocalDateTime date = LocalDateTime.now();
|
||||
// 定义日期时间格式
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
|
||||
// 格式化当前日期和时间
|
||||
String dates = date.format(formatter);
|
||||
thirdPartyMap.put("createdatetime", dates);
|
||||
// 组装请求体
|
||||
JSONObject backpaymentBody = backpaymentBody(data);
|
||||
// 发送请求并处理响应
|
||||
return processRequest(backpaymentBody, thirdPartyMap, Apimenthod4);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成代扣款记账单接口组装请求体:
|
||||
*
|
||||
* @return 请求体的 JSON 对象
|
||||
*/
|
||||
private static JSONObject backpaymentBody(JSONObject data) {
|
||||
// 获取当前日期和时间
|
||||
LocalDateTime date = LocalDateTime.now();
|
||||
// 定义日期时间格式
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
|
||||
// 格式化当前日期和时间
|
||||
String dates = date.format(formatter);
|
||||
//组装请求体
|
||||
JSONObject pendingsBody = new JSONObject();
|
||||
pendingsBody.put("rootContextID", "" + System.currentTimeMillis());//todo:唯一事务ID,采用UUID或其他强唯一性ID
|
||||
pendingsBody.put("requestTime", dates);//请求时间,格式为yyyy-MM-dd HH:mm:ss.SSS
|
||||
pendingsBody.put("data", data);
|
||||
return pendingsBody;
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送请求并处理响应
|
||||
*
|
||||
|
|
|
|||
|
|
@ -26,19 +26,16 @@ import kd.bos.orm.query.QCP;
|
|||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.operation.OperationServiceHelper;
|
||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||
import shjh.jhzj7.fi.fi.utils.JhzjUtils;
|
||||
import shjh.jhzj7.fi.fi.webapi.model.ApplyAdjustBillModel;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import static kd.bos.login.utils.DateUtils.formatDate;
|
||||
import static shjh.jhzj7.fi.fi.plugin.form.SappzFormPlugin.*;
|
||||
import static shjh.jhzj7.fi.fi.utils.SapUtils.vouchers_payable;
|
||||
import static shjh.jhzj7.fi.fi.webapi.ApplyBillControler.*;
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONException;
|
|||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.drew.lang.annotations.NotNull;
|
||||
import kd.bos.api.client.ApiResult;
|
||||
import kd.bos.context.RequestContext;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.logging.Log;
|
||||
import kd.bos.logging.LogFactory;
|
||||
|
|
@ -89,7 +90,15 @@ public class PayreceiptQueryControler {
|
|||
customApiResult.getHeaders().put("kdPayBillID",kdPayBillID);
|
||||
customApiResult.getHeaders().put("fkBillID",fkBillID);
|
||||
customApiResult.getHeaders().put("fkEntryID",fkEntryID);
|
||||
customApiResult.getHeaders().put("receipturl","url");//todo:url待确认
|
||||
//todo:url待确认
|
||||
RequestContext requestContext = RequestContext.get();
|
||||
String clientFullContextPath = requestContext.getClientFullContextPath();//http://127.0.0.1:8881/ierp/
|
||||
String globalSessionId = requestContext.getGlobalSessionId();//2162562979827025920_uIw8k6LSDffGGXcNLur8vqBPSXGNOIQ2BHoN53tSU1FagJQbARpXMSJdt6Wl1nER56l4J8Mmgj4XjltiCtnQ3d1X5UsGy72g7zUi02
|
||||
System.out.println("clientFullContextPath:" + clientFullContextPath+",globalSessionId:"+globalSessionId);
|
||||
// https://ip:port/ierp/index.html?formId=er_tripreqbill&pkId=721810009540800512
|
||||
// http://127.0.0.1:8881/ierp/kapi/v2/shjh/base/payreceipt_query
|
||||
String url = clientFullContextPath + "index.html?formId=cas_paybill&pkId=" + kdPayBillID;
|
||||
customApiResult.getHeaders().put("receipturl",url);
|
||||
}
|
||||
|
||||
return CustomApiResult.success(customApiResult);
|
||||
|
|
|
|||
Loading…
Reference in New Issue