-凭证推送,凭证类型赋值(PaybillPushSapOperation,RecPushVoucherOperation)
s
This commit is contained in:
parent
efa767d3cf
commit
84ee631a3f
|
|
@ -90,9 +90,10 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl
|
|||
//todo:付款单是由票据直接生成,凭证如何推送
|
||||
JSONObject data = new JSONObject();
|
||||
//抬头
|
||||
data.put("IS_HEADER", getIS_HEADER(bill));
|
||||
JSONObject isHeader = getIS_HEADER(bill);
|
||||
data.put("IS_HEADER", isHeader);
|
||||
//金蝶生成的凭证信息
|
||||
data.put("IT_ITEM", getIT_ITEM(bill));
|
||||
data.put("IT_ITEM", getIT_ITEM(bill, isHeader));
|
||||
Boolean isqingdan = true;
|
||||
//来源系统SAP时,清账(SAP凭证数据)
|
||||
if ("A".equals(shjhSourcesystem)) {
|
||||
|
|
@ -175,7 +176,7 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl
|
|||
return IS_HEADER;
|
||||
}
|
||||
|
||||
private JSONArray getIT_ITEM(DynamicObject bill) {
|
||||
private JSONArray getIT_ITEM(DynamicObject bill , JSONObject IS_HEADER) {
|
||||
String shjhSourcesystem = bill.getString("shjh_sourcesystem");//来源系统
|
||||
//客户(bd_customer)||供应商(bd_supplier) 收款人id:payee
|
||||
String payeetype = bill.getString("payeetype");//收款人类型
|
||||
|
|
@ -215,9 +216,11 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl
|
|||
QFilter q1 = new QFilter("sourcebill", QCP.equals, bill.getPkValue());
|
||||
QFilter q2 = new QFilter("billstatus",QCP.equals,"C");
|
||||
DynamicObject gl_voucher = BusinessDataServiceHelper.loadSingle("gl_voucher",
|
||||
"id,sourcebill,entries,entries.account,entries.debitlocal,entries.creditlocal,entries.entrydc",
|
||||
"id,sourcebill,entries,entries.account,entries.debitlocal,entries.creditlocal,entries.entrydc,vouchertype",
|
||||
new QFilter[]{q1, q2});
|
||||
if (null != gl_voucher) {
|
||||
//todo:对header 凭证类型重新赋值
|
||||
IS_HEADER.put("BLART", gl_voucher.getString("vouchertype.number"));//凭证类型
|
||||
DynamicObjectCollection entries = gl_voucher.getDynamicObjectCollection("entries");
|
||||
if (!entries.isEmpty()) {
|
||||
for (DynamicObject entry : entries) {
|
||||
|
|
|
|||
|
|
@ -143,14 +143,14 @@ public class RecPushVoucherOperation extends AbstractOperationServicePlugIn impl
|
|||
JSONObject json_HEADER = getIS_HEADER(recBill);
|
||||
data.put("IS_HEADER", json_HEADER);
|
||||
//详细,参考《IT_ITEM》
|
||||
JSONArray itItem = getIT_ITEM(recBill);
|
||||
JSONArray itItem = getIT_ITEM(recBill,json_HEADER);
|
||||
if (itItem == null){
|
||||
this.getOperationResult().setSuccess(false);//成功true;失败false
|
||||
this.getOperationResult().setMessage("金蝶凭证不存在或未审核"); // 提示内容
|
||||
this.getOperationResult().setShowMessage(true); // 是否显示提示消息
|
||||
continue;
|
||||
}
|
||||
data.put("IT_ITEM", getIT_ITEM(recBill));
|
||||
data.put("IT_ITEM", getIT_ITEM(recBill,json_HEADER));
|
||||
//收款类型=推预付款、员工还款需要传清账数据
|
||||
String receivingType = recBill.getString("receivingtype.number");
|
||||
if ("103".equals(receivingType) || "109".equals(receivingType)) {
|
||||
|
|
@ -299,7 +299,7 @@ public class RecPushVoucherOperation extends AbstractOperationServicePlugIn impl
|
|||
* @param recBill 收款单动态对象
|
||||
* @return 包含行项目信息的JSONArray
|
||||
*/
|
||||
private JSONArray getIT_ITEM(DynamicObject recBill) {
|
||||
private JSONArray getIT_ITEM(DynamicObject recBill , JSONObject json_HEADER) {
|
||||
JSONArray IT_ITEM = new JSONArray();
|
||||
//源单类型
|
||||
String sourceBillType = recBill.getString("sourcebilltype");
|
||||
|
|
@ -336,10 +336,11 @@ public class RecPushVoucherOperation extends AbstractOperationServicePlugIn impl
|
|||
QFilter voucherFilters = new QFilter("sourcebill", QCP.equals, recBill.getPkValue());
|
||||
voucherFilters.and(new QFilter("billstatus",QCP.equals,"C"));//已审核
|
||||
DynamicObject gl_voucher = BusinessDataServiceHelper.loadSingle("gl_voucher",
|
||||
"id,sourcebill,entries,entries.account,entries.debitlocal,entries.creditlocal,entries.entrydc",
|
||||
"id,sourcebill,entries,entries.account,entries.debitlocal,entries.creditlocal,entries.entrydc,vouchertype",
|
||||
voucherFilters.toArray());
|
||||
|
||||
if (gl_voucher != null) {
|
||||
json_HEADER.put("BLART", gl_voucher.getString("vouchertype.number"));//凭证类型
|
||||
DynamicObjectCollection entries = gl_voucher.getDynamicObjectCollection("entries");
|
||||
if (entries != null && !entries.isEmpty()) {
|
||||
for (DynamicObject entry : entries) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue