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