parent
92fceb9317
commit
8337b23375
|
@ -205,7 +205,7 @@ public class ApiService {
|
|||
dynamic.set("shkd_businessnumber", data.getString("code"));
|
||||
dynamic.set("shkd_businessid", data.getString("id"));
|
||||
dynamic.set("shkd_businessname", "BIP");
|
||||
dynamic.set("shkd_pushstatus", "已推送");
|
||||
dynamic.set("shkd_pushstatus", "已结算");
|
||||
dynamicObjects.add(dynamic);
|
||||
|
||||
submitUrl = objects[0].getString("shkd_submiturl");
|
||||
|
@ -233,6 +233,13 @@ public class ApiService {
|
|||
code = jsonObject.getString("code");
|
||||
if ("200".equals(code)) {
|
||||
dynamic.set("billstatus", "A");
|
||||
|
||||
if ("TF、NC、OF".contains(objects[0].getString("bankpaystatus"))) {
|
||||
dynamic.set("shkd_pushstatus", "结算失败");
|
||||
} else if ("TS".equals(objects[0].getString("bankpaystatus"))){
|
||||
dynamic.set("shkd_pushstatus", "已结算");
|
||||
}
|
||||
|
||||
dynamicObjects.add(dynamic);
|
||||
logger.info("付款处理(支付结果) → BIP推送接口 → 成功\n成功单据编号:{}\n推送成功接口返回数据:{}", dynamic.getString("billno"), saveResponseBody);
|
||||
result = "推送 → 付款处理(支付结果) → 成功";
|
||||
|
@ -400,6 +407,18 @@ public class ApiService {
|
|||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
// 格式化Date对象为字符串
|
||||
value = sdf.format(bizdate);
|
||||
} else if ("bankpaystatus".equals(parts[0])) {
|
||||
String bankpaystatus = billObject.getString(parts[0]);
|
||||
switch (bankpaystatus) {
|
||||
case "TS":
|
||||
value = "3";
|
||||
break;
|
||||
case "TF":
|
||||
case "NC":
|
||||
case "OF":
|
||||
value = "4";
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
value = billObject.get(parts[0]);
|
||||
}
|
||||
|
|
|
@ -118,7 +118,18 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
|
|||
map.put(fieldName2, payeebank);
|
||||
}
|
||||
}
|
||||
|
||||
String billstatus = map.get("billstatus").toString();
|
||||
if ("C".equals(billstatus)) {
|
||||
map.put("shkd_pushstatus", "未结算");
|
||||
}
|
||||
|
||||
if ("D".equals(billstatus)) {
|
||||
map.put("shkd_pushstatus", "已结算");
|
||||
}
|
||||
|
||||
logger.info("最终处理 → 调用接口参数:{}", reqData);
|
||||
|
||||
}
|
||||
return reqData;
|
||||
}
|
||||
|
|
|
@ -112,11 +112,13 @@ public class ApiMappingBillPlugin extends AbstractFormPlugin implements Plugin {
|
|||
|
||||
if ("shkd_testapi".equals(itemKey)) {
|
||||
String result = ApiService.paymentSlipsJson(billObject, "BIP", dynamicObjects);
|
||||
SaveServiceHelper.save(dynamicObjects.toArray(new DynamicObject[0]));
|
||||
this.getView().showTipNotification("返回结果:" + result);
|
||||
}
|
||||
|
||||
if ("shkd_hitback".equals(itemKey)) {
|
||||
String result = ApiService.paymentSlipsJson(billObject, "BIPNO", dynamicObjects);
|
||||
SaveServiceHelper.save(dynamicObjects.toArray(new DynamicObject[0]));
|
||||
this.getView().showTipNotification("返回结果:" + result);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
package shkd.sys.sys.plugin.form;
|
||||
|
||||
import kd.bos.bill.AbstractBillPlugIn;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.form.control.Toolbar;
|
||||
import kd.bos.form.control.events.ItemClickEvent;
|
||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
import shkd.sys.sys.mservice.ApiService;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.EventObject;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 单据界面插件
|
||||
*/
|
||||
public class PaymentProcessingBillPlugin extends AbstractBillPlugIn implements Plugin {
|
||||
@Override
|
||||
public void registerListener(EventObject e) {
|
||||
Toolbar tbmain = this.getView().getControl("tbmain");
|
||||
tbmain.addItemClickListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void itemClick(ItemClickEvent evt) {
|
||||
String itemKey = evt.getItemKey();
|
||||
if ("shkd_hitback".equals(itemKey)) {
|
||||
DynamicObject dataEntity = this.getModel().getDataEntity(true);
|
||||
String bankpaystatus = dataEntity.getString("bankpaystatus");
|
||||
if ("TF、NC、OF".contains(bankpaystatus)) {
|
||||
List<DynamicObject> dynamicObjects = new ArrayList<>();
|
||||
String result = ApiService.paymentSlipsJson(dataEntity, "BIPNO", dynamicObjects);
|
||||
if (result.contains("成功")) {
|
||||
SaveServiceHelper.save(dynamicObjects.toArray(new DynamicObject[0]));
|
||||
this.getView().showSuccessNotification("打回成功");
|
||||
}
|
||||
} else {
|
||||
this.getView().showErrorNotification("打回失败,请确认银行支付状态");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
package shkd.sys.sys.plugin.list;
|
||||
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.entity.datamodel.ListSelectedRow;
|
||||
import kd.bos.entity.datamodel.ListSelectedRowCollection;
|
||||
import kd.bos.form.control.events.ItemClickEvent;
|
||||
import kd.bos.list.BillList;
|
||||
import kd.bos.list.plugin.AbstractListPlugin;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标准单据列表插件
|
||||
*/
|
||||
public class PaymentProcessingListPlugin extends AbstractListPlugin implements Plugin {
|
||||
@Override
|
||||
public void itemClick(ItemClickEvent evt) {
|
||||
String itemKey = evt.getItemKey();
|
||||
if ("shkd_hitback".equals(itemKey)) {
|
||||
List<String> billnos = new ArrayList<>();
|
||||
//获取列表
|
||||
BillList list = this.getControl("billlistap");
|
||||
//获取列表选中的行数据
|
||||
ListSelectedRowCollection selectedRows = list.getSelectedRows();
|
||||
|
||||
if (selectedRows.isEmpty()) this.getView().showTipNotification("请至少选择一条数据");
|
||||
if (selectedRows.size() > 1000) this.getView().showTipNotification("请至少选择一条数据");
|
||||
|
||||
for (ListSelectedRow listSelectedRow : selectedRows) {
|
||||
billnos.add(listSelectedRow.getBillNo());
|
||||
}
|
||||
|
||||
/* DynamicObject[] objects1 = BusinessDataServiceHelper.load("cas_paybill",
|
||||
"id,billno,actpayamt,entry,entry.e_expenseitem,entry.e_remark,settletype,payeebanknum," +
|
||||
"payeetype,payeenumber,payeracctbank,payeebank,payeebankname,paymenttype,org,bizdate,description," +
|
||||
"shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname,billstatus,bankpaystatus"
|
||||
, new QFilter("bizdate", QCP.large_equals, date).and("shkd_pushstatus", QCP.not_equals, "已推送")
|
||||
.and("billstatus", QCP.equals, "D").toArray());*/
|
||||
}
|
||||
}
|
||||
}
|
|
@ -53,13 +53,18 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
|||
List<DynamicObject> dynamicObjectList = new ArrayList<>();
|
||||
if (billMark != null) {
|
||||
switch (billMark.toString()) {
|
||||
//已结算、未结算、结算失败、未推送
|
||||
|
||||
// 付款处理
|
||||
case "cas_paybill":
|
||||
DynamicObject[] objects1 = BusinessDataServiceHelper.load("cas_paybill",
|
||||
"id,billno,actpayamt,entry,entry.e_expenseitem,entry.e_remark,settletype,payeebanknum," +
|
||||
"payeetype,payeenumber,payeracctbank,payeebank,payeebankname,paymenttype,org,bizdate,description," +
|
||||
"shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname,billstatus,bankpaystatus"
|
||||
, new QFilter("bizdate", QCP.large_equals, date).and("shkd_pushstatus", QCP.not_equals, "已推送")
|
||||
, new QFilter("bizdate", QCP.large_equals, date)
|
||||
.and("shkd_pushstatus", QCP.not_equals, "已结算")
|
||||
.and("shkd_pushstatus", QCP.not_equals, "未结算")
|
||||
.and("shkd_pushstatus", QCP.not_equals, "结算失败")
|
||||
.and("billstatus", QCP.equals, "D").toArray());
|
||||
dynamicObjects = Arrays.asList(objects1);
|
||||
dynamicObjects.forEach(dynamicObject -> {
|
||||
|
@ -87,14 +92,24 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
|||
dynamicObjects = Arrays.asList(objects3);
|
||||
billName = "银行收付处理";
|
||||
break;
|
||||
// 支付失败(付款处理支付结果定时推送)
|
||||
// 支付结果推送(付款处理支付结果定时推送)
|
||||
case "cas_paybill_result":
|
||||
DynamicObject[] objects4 = BusinessDataServiceHelper.load("cas_paybill",
|
||||
"id,billno,actpayamt,entry,entry.e_expenseitem,entry.e_remark,settletype,payeebanknum," +
|
||||
"payeetype,payeenumber,payeracctbank,payeebank,payeebankname,paymenttype,org,bizdate,description," +
|
||||
"shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname,billstatus,bankpaystatus"
|
||||
, new QFilter("bizdate", QCP.large_equals, date).and("bankpaystatus", QCP.in, new String[]{"TF", "NC", "OF"}).toArray());
|
||||
, new QFilter("bizdate", QCP.large_equals, date)
|
||||
.and("bankpaystatus", QCP.in, new String[]{"TS", "TF", "NC", "OF"})
|
||||
.and("shkd_pushstatus", QCP.equals, "未结算").toArray());
|
||||
|
||||
DynamicObject[] objects5 = BusinessDataServiceHelper.load("cas_paybill",
|
||||
"id,billno,actpayamt,entry,entry.e_expenseitem,entry.e_remark,settletype,payeebanknum," +
|
||||
"payeetype,payeenumber,payeracctbank,payeebank,payeebankname,paymenttype,org,bizdate,description," +
|
||||
"shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname,billstatus,bankpaystatus"
|
||||
, new QFilter("bankpaystatus", QCP.equals, "TS")
|
||||
.and("shkd_pushstatus", QCP.equals, "结算失败").toArray());
|
||||
dynamicObjects = Arrays.asList(objects4);
|
||||
dynamicObjects.addAll(Arrays.asList(objects5));
|
||||
dynamicObjects.forEach(dynamicObject -> {
|
||||
ApiService.paymentSlipsJson(dynamicObject, "BIPNO", dynamicObjectList);
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue