parent
9ed5afc85b
commit
7ff901528e
|
@ -253,7 +253,7 @@ public class ApiService {
|
|||
data = jsonObject.getJSONObject("data");
|
||||
dynamic.set("shkd_businessnumber", data.getString("code"));
|
||||
dynamic.set("shkd_businessid", data.getString("id"));
|
||||
dynamic.set("shkd_businessname", "BIP");
|
||||
dynamic.set("shkd_businessname", "共享系统");
|
||||
dynamic.set("shkd_pushstatus", "已结算");
|
||||
dynamicObjects.add(dynamic);
|
||||
|
||||
|
@ -307,8 +307,9 @@ public class ApiService {
|
|||
dynamic.set("shkd_businessname", "共享系统");
|
||||
dynamicObjects.add(dynamic);
|
||||
logger.info("银行收付处理 → BIP推送接口 → 成功\n成功单据编号:{}\n成功请求体:{}\n推送成功接口返回数据:{}", dynamic.getString("billno"), saveRequestBody, saveResponseBody);
|
||||
result = "推送 → 银行收付处理 → 成功";
|
||||
|
||||
// 电子回单关联标记
|
||||
/*// 电子回单关联标记
|
||||
String receiptno = dynamic.getString("receiptno");
|
||||
DynamicObject[] loaded = BusinessDataServiceHelper.load("bei_elecreceipt",
|
||||
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbankname,description,company," +
|
||||
|
@ -320,7 +321,7 @@ public class ApiService {
|
|||
result = "(推送 → 银行收付处理 → 成功\n推送 → 电子回单 → 成功\n推送 → 电子回单附件 → 成功)";
|
||||
} else {
|
||||
result = "(推送 → 银行收付处理 → 成功\n推送 → 电子回单 → 失败\n推送 → 电子回单附件 → 失败)";
|
||||
}
|
||||
}*/
|
||||
|
||||
} else {
|
||||
logger.info("银行收付处理 → BIP推送接口 → 失败\n失败单据编号:{}\n失败请求体:{}\n推送失败接口返回数据:{}", dynamic.getString("billno"), saveRequestBody, saveResponseBody);
|
||||
|
@ -361,6 +362,10 @@ public class ApiService {
|
|||
jsonObject = JSON.parseObject(saveResponseBody);
|
||||
code = jsonObject.getString("code");
|
||||
if ("200".equals(code)) {
|
||||
dynamic.set("shkd_pushstatus", "已推送");
|
||||
dynamic.set("shkd_businessname", "共享系统");
|
||||
dynamicObjects.add(dynamic);
|
||||
|
||||
logger.info("电子回单查询 → BIP推送接口 → 成功\n成功单据编号:{}\n成功请求体:{}\n推送成功接口返回数据:{}",
|
||||
dynamic.getString("billno"), saveRequestBody, saveResponseBody);
|
||||
|
||||
|
@ -384,11 +389,11 @@ public class ApiService {
|
|||
String attachmentRequestBody = getAttachmentRequestBody(hashMap);
|
||||
String pushResult = pushBill(token, "https://biptestctny.invest.com.cn:8002/iuap-api-auth//yonbip/ctm/bank/tran/update", attachmentRequestBody);
|
||||
logger.info("电子回单查询 → BIP推送附件接口 → 请求返回结果:\n{}", pushResult);
|
||||
result = "推送 → 电子回单查询 → 成功";
|
||||
result = "推送 → 电子回单和附件 → 成功";
|
||||
} else {
|
||||
logger.info("电子回单查询 → BIP推送接口 → 失败\n失败单据编号:{}\n失败请求体:{}\n推送失败接口返回数据:{}",
|
||||
dynamic.getString("billno"), saveRequestBody, saveResponseBody);
|
||||
result = "推送 → 电子回单查询 → 失败";
|
||||
result = "推送 → 电子回单和附件 → 失败";
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -15,6 +15,7 @@ import kd.bos.servicehelper.user.UserServiceHelper;
|
|||
import okhttp3.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
@ -40,39 +41,50 @@ public class InfoSecService extends AbstractCAService {
|
|||
VerifySignResult result = new VerifySignResult();
|
||||
|
||||
long userId = UserServiceHelper.getCurrentUserId();//获取当前登录对象的Id
|
||||
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(userId, "bos_user");
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load("bd_usercredentials", "id,number,publickey,uname", new QFilter("uname", QCP.equals, dynamicObject.getString("name")).toArray());
|
||||
if (objects.length == 0) {
|
||||
result.setSuccess(false);
|
||||
result.setMessage("验签失败。");
|
||||
return result;
|
||||
} else {
|
||||
String puKey = objects[0].getString("publickey");
|
||||
if (publicKey.equals(puKey)) {
|
||||
try {
|
||||
String response = verifyPkcs7(cleartext, signData, "" + System.currentTimeMillis());
|
||||
JSONObject jsonObject = JSON.parseObject(response);
|
||||
String code = jsonObject.getString("code");
|
||||
if ("200".equals(code)) {
|
||||
result.setSuccess(true);
|
||||
result.setMessage("验签通过。");
|
||||
} else {
|
||||
result.setSuccess(false);
|
||||
result.setMessage("验签失败。");
|
||||
}
|
||||
log.info("验签响应: " + response);
|
||||
DynamicObject[] certificateUserRelationships = BusinessDataServiceHelper.load("bd_userandcertrelation", "userid,certid,id", new QFilter("userid", QCP.equals, userId).toArray());
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error(e);
|
||||
result.setSuccess(false);
|
||||
result.setMessage("验签失败:" + e.getMessage());
|
||||
}
|
||||
if (certificateUserRelationships.length == 0) {
|
||||
result.setSuccess(false);
|
||||
result.setMessage("验签失败,当前用户未绑定证书!");
|
||||
log.info("验签失败,当前用户未绑定证书!");
|
||||
return result;
|
||||
}else {
|
||||
String certid = certificateUserRelationships[0].getString("certid");
|
||||
DynamicObject certificateManagement = BusinessDataServiceHelper.loadSingle(certid, "bd_usercredentials");
|
||||
if (certificateManagement == null) {
|
||||
result.setSuccess(false);
|
||||
result.setMessage("验签失败。");
|
||||
log.info("验签失败,未找到当前用户绑定证书");
|
||||
return result;
|
||||
} else {
|
||||
result.setSuccess(false);
|
||||
result.setMessage("验签失败,签名人员和验签人员不同");
|
||||
log.info("验签失败,签名人员和验签人员不同");
|
||||
return result;
|
||||
String puKey = certificateManagement.getString("publickey");
|
||||
log.info("证书验签publicKey:{}\n当前登录人绑定证书的publicKey:{}", publicKey, puKey);
|
||||
if (publicKey.equals(puKey)) {
|
||||
try {
|
||||
String response = verifyPkcs7(cleartext, signData, "" + System.currentTimeMillis());
|
||||
JSONObject jsonObject = JSON.parseObject(response);
|
||||
String code = jsonObject.getString("code");
|
||||
if ("200".equals(code)) {
|
||||
result.setSuccess(true);
|
||||
result.setMessage("验签通过。");
|
||||
} else {
|
||||
result.setSuccess(false);
|
||||
result.setMessage("验签失败。");
|
||||
}
|
||||
log.info("验签响应: " + response);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error(e);
|
||||
result.setSuccess(false);
|
||||
result.setMessage("验签失败:" + e.getMessage());
|
||||
}
|
||||
return result;
|
||||
} else {
|
||||
result.setSuccess(false);
|
||||
result.setMessage("验签失败,签名人员和验签人员不同");
|
||||
log.info("验签失败,签名人员和验签人员不同");
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -53,6 +53,16 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
|
|||
Object payeetype = map.get("payeetype");//如果是收款人类型 则为付款处理保存接口
|
||||
Object payertype = map.get("payertype");//如果是付款人类型 则为收款处理保存接口
|
||||
if (payeetype != null) {
|
||||
|
||||
String billstatus = map.get("billstatus").toString();
|
||||
if ("B".equals(billstatus)) {
|
||||
map.put("shkd_pushstatus", "未结算");
|
||||
}
|
||||
|
||||
if ("D".equals(billstatus)) {
|
||||
map.put("shkd_pushstatus", "已结算");
|
||||
}
|
||||
|
||||
if ("BD_Supplier".equals(payeetype)) {
|
||||
payeetype = "bd_supplier";
|
||||
map.put("payeetype", "bd_supplier");
|
||||
|
@ -201,15 +211,6 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
|
|||
}
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ package shkd.sys.sys.plugin.task;
|
|||
import com.kingdee.bos.qing.util.DateUtils;
|
||||
import kd.bos.context.RequestContext;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.exception.KDException;
|
||||
import kd.bos.logging.Log;
|
||||
import kd.bos.logging.LogFactory;
|
||||
|
@ -28,11 +29,149 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
|||
@Override
|
||||
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
||||
Object billMark = map.get("billMark");
|
||||
|
||||
|
||||
List<DynamicObject> dynamicObjects;
|
||||
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,org.number,bizdate,description," +
|
||||
"shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname,billstatus,bankpaystatus"
|
||||
, new QFilter("bizdate", QCP.large_equals, calculateTheDate(2))
|
||||
.and("org.number", QCP.in, new String[]{"SIG1040100", "SIG000101135", "SIG1041000", "SIG1040400"})//目前四家公司
|
||||
.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 -> ApiService.paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null));
|
||||
SaveServiceHelper.save(dynamicObjectList.toArray(new DynamicObject[0]));
|
||||
break;
|
||||
/**
|
||||
* 支付结果推送(付款处理支付结果定时推送)
|
||||
* 我们的付款处理推送,推送结算结果直接默认为7
|
||||
* BIP推送至星瀚单据只有需审核的数据才需推送结果至BIP,成功则推送成功,失败则推送失败
|
||||
*/
|
||||
case "cas_paybill_result":
|
||||
//TS 交易成功
|
||||
//TF 交易失败
|
||||
//NC 交易未确认
|
||||
//OF 银企异常
|
||||
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, calculateTheDate(2))
|
||||
.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, null));
|
||||
SaveServiceHelper.save(dynamicObjectList.toArray(new DynamicObject[0]));
|
||||
break;
|
||||
// 收款处理
|
||||
case "cas_recbill":
|
||||
DynamicObject[] objects2 = BusinessDataServiceHelper.load("cas_recbill",
|
||||
"id,billno,entry,entry.e_expenseitem,settletype,entry.e_remark,receivingtype," +
|
||||
"payertype,org,bizdate,accountbank,payernumber,actrecamt,txt_description,shkd_pushstatus," +
|
||||
"shkd_businessnumber,shkd_businessid,shkd_businessname,billstatus"
|
||||
, new QFilter("bizdate", QCP.large_equals, calculateTheDate(2))
|
||||
.and("shkd_pushstatus", QCP.not_equals, "已结算")
|
||||
.and("billstatus", QCP.equals, "D").toArray());
|
||||
dynamicObjects = Arrays.asList(objects2);
|
||||
dynamicObjects.forEach(dynamicObject -> ApiService.paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null));
|
||||
SaveServiceHelper.save(dynamicObjectList.toArray(new DynamicObject[0]));
|
||||
break;
|
||||
/**
|
||||
* 银行收付处理
|
||||
* 通过固定几家公司的银行账号,通过银行账号查询出对应的银行流水在查对应的回单以及回单附件,一起推送到BIP
|
||||
* 当前发现入账状态为“已入账”银行流水,会有
|
||||
*
|
||||
* 1、筛选出需要推送至BIP的流水
|
||||
* 2、通过上游单据推送吗?
|
||||
*
|
||||
* 付款 → 先有单据 后有流水
|
||||
* 收款 → 先有流水 后有单据
|
||||
*/
|
||||
case "bei_transdetail_cas":
|
||||
DynamicObject[] objects3 = BusinessDataServiceHelper.load("bei_transdetail_cas",
|
||||
"id,bizdate,oppbank,oppunit,accountbank,description,company,oppbanknumber," +
|
||||
"bankdetailno,transbalance,description,debitamount,creditamount,shkd_pushstatus," +
|
||||
"shkd_businessnumber,shkd_businessid,shkd_businessname,recedbillentry,receiptno," +
|
||||
"recedbillentry.e_recedbilltype,recedbillentry.e_recedbillnumber,recedbillentry.e_recedbillid"
|
||||
, new QFilter("bizdate", QCP.large_equals, calculateTheDate(7))
|
||||
.and("shkd_pushstatus", QCP.not_equals, "已推送").toArray());
|
||||
ArrayList<DynamicObject> transdetailCollection = new ArrayList<>();
|
||||
Arrays.stream(objects3).forEach(dynamicObject -> {
|
||||
DynamicObjectCollection dynamicObjectCollection = dynamicObject.getDynamicObjectCollection("recedbillentry");
|
||||
if (!dynamicObjectCollection.isEmpty()) {
|
||||
DynamicObject object = dynamicObjectCollection.get(0);
|
||||
String billType = object.getString("e_recedbilltype");// 接收单据类型
|
||||
String billNumber = object.getString("e_recedbillnumber");// 接受单据编号
|
||||
String billId = object.getString("e_recedbillid");// 接受单据ID
|
||||
if (billType.equals("cas_paybill")) {
|
||||
DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle(billId, billType);
|
||||
String businessName = dynamicObject1.getString("shkd_businessname");// 推送系统
|
||||
String pushStatus = dynamicObject1.getString("shkd_pushstatus");// 推送状态
|
||||
if ("共享系统".equals(businessName) && "已结算".equals(pushStatus)) {
|
||||
transdetailCollection.add(dynamicObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
transdetailCollection.forEach(dynamicObject -> ApiService.paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null));
|
||||
SaveServiceHelper.save(dynamicObjectList.toArray(new DynamicObject[0]));
|
||||
break;
|
||||
/**
|
||||
* 电子回单查询
|
||||
* 星空推送不会有影响吧?
|
||||
*/
|
||||
case "bei_elecreceipt":
|
||||
DynamicObject[] elecreceiptArays = BusinessDataServiceHelper.load("bei_elecreceipt",
|
||||
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbankname,description,company," +
|
||||
"oppbanknumber,detaildatetime,accountbank,amount,use,debitamount,creditamount,detailid," +
|
||||
"uploadfilename,shkd_businessnumber,shkd_businessid,shkd_businessname,filepath,receiptno"
|
||||
, new QFilter("bizdate", QCP.large_equals, calculateTheDate(7))
|
||||
.and("shkd_pushstatus", QCP.not_equals, "已推送").toArray());
|
||||
ArrayList<DynamicObject> elecreceiptCollection = new ArrayList<>();
|
||||
Arrays.stream(elecreceiptArays).forEach(dynamicObject -> {
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load("bei_transdetail_cas",
|
||||
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbankname,description,company," +
|
||||
"oppbanknumber,detaildatetime,accountbank,amount,use,debitamount,creditamount,detailid," +
|
||||
"uploadfilename,shkd_businessnumber,shkd_businessid,shkd_businessname,filepath,receiptno",
|
||||
new QFilter("receiptno", QCP.equals, dynamicObject.getString("receiptno")).
|
||||
and(new QFilter("shkd_pushstatus", QCP.equals, "已推送")).
|
||||
and(new QFilter("shkd_businessname", QCP.equals, "共享系统")).toArray());
|
||||
if (objects.length > 0) {
|
||||
elecreceiptCollection.add(dynamicObject);
|
||||
}
|
||||
});
|
||||
elecreceiptCollection.forEach(dynamicObject -> ApiService.paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null));
|
||||
SaveServiceHelper.save(dynamicObjectList.toArray(new DynamicObject[0]));
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static Date calculateTheDate(int days) {
|
||||
// 获取当前日期
|
||||
LocalDate currentDate = LocalDate.now();
|
||||
|
||||
// 获取当前日期的前两天
|
||||
LocalDate twoDaysAgo = currentDate.minusDays(2);
|
||||
LocalDate twoDaysAgo = currentDate.minusDays(days);
|
||||
|
||||
// 格式化日期为 "yyyy-MM-dd"
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
|
@ -44,71 +183,6 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
|||
} catch (ParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
List<DynamicObject> dynamicObjects;
|
||||
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, "已结算")
|
||||
.and("shkd_pushstatus", QCP.not_equals, "结算失败")
|
||||
.and("billstatus", QCP.equals, "D").toArray());
|
||||
dynamicObjects = Arrays.asList(objects1);
|
||||
dynamicObjects.forEach(dynamicObject -> ApiService.paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null));
|
||||
SaveServiceHelper.save(dynamicObjectList.toArray(new DynamicObject[0]));
|
||||
break;
|
||||
// 收款处理
|
||||
case "cas_recbill":
|
||||
DynamicObject[] objects2 = BusinessDataServiceHelper.load("cas_recbill",
|
||||
"id,billno,entry,entry.e_expenseitem,settletype,entry.e_remark,receivingtype," +
|
||||
"payertype,org,bizdate,accountbank,payernumber,actrecamt,txt_description,shkd_pushstatus," +
|
||||
"shkd_businessnumber,shkd_businessid,shkd_businessname,billstatus"
|
||||
, new QFilter("bizdate", QCP.large_equals, date)
|
||||
.and("shkd_pushstatus", QCP.not_equals, "已结算")
|
||||
.and("billstatus", QCP.equals, "D").toArray());
|
||||
dynamicObjects = Arrays.asList(objects2);
|
||||
dynamicObjects.forEach(dynamicObject -> ApiService.paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null));
|
||||
SaveServiceHelper.save(dynamicObjectList.toArray(new DynamicObject[0]));
|
||||
break;
|
||||
// 银行收付处理
|
||||
case "bei_transdetail_cas":
|
||||
DynamicObject[] objects3 = BusinessDataServiceHelper.load("bei_transdetail_cas",
|
||||
"id,bizdate,oppbank,oppunit,accountbank,description,company,oppbanknumber," +
|
||||
"bankdetailno,transbalance,description,debitamount,creditamount,shkd_pushstatus," +
|
||||
"shkd_businessnumber,shkd_businessid,shkd_businessname"
|
||||
, new QFilter("bizdate", QCP.large_equals, date).and("shkd_pushstatus", QCP.not_equals, "已推送").toArray());
|
||||
dynamicObjects = Arrays.asList(objects3);
|
||||
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[]{"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, null));
|
||||
SaveServiceHelper.save(dynamicObjectList.toArray(new DynamicObject[0]));
|
||||
default:
|
||||
}
|
||||
}
|
||||
return date;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue