parent
da79adb2d3
commit
4718f5f05e
|
|
@ -26,10 +26,7 @@ import shjh.jhzj7.fi.fi.utils.domin.ResponseData;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
@ -93,18 +90,25 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl
|
||||||
bill = BusinessDataServiceHelper.loadSingle(bill.getPkValue(), "cas_paybill");
|
bill = BusinessDataServiceHelper.loadSingle(bill.getPkValue(), "cas_paybill");
|
||||||
String shjhSourcesystem = bill.getString("shjh_sourcesystem");//来源系统
|
String shjhSourcesystem = bill.getString("shjh_sourcesystem");//来源系统
|
||||||
//主动:{1.fk:不清帐,直传付款凭证给sap;2.SAP:要清账,都传} 被动:{不用传清账} FKZJ2025030040
|
//主动:{1.fk:不清帐,直传付款凭证给sap;2.SAP:要清账,都传} 被动:{不用传清账} FKZJ2025030040
|
||||||
//todo:付款单是由票据直接生成,凭证如何推送
|
|
||||||
JSONObject data = new JSONObject();
|
JSONObject data = new JSONObject();
|
||||||
//抬头
|
//抬头
|
||||||
JSONObject isHeader = getIS_HEADER(bill);
|
JSONObject isHeader = getIS_HEADER(bill);
|
||||||
|
//组装核算维度map
|
||||||
|
Map<String, String> sapMap = new HashMap<>();
|
||||||
|
QFilter filter1 = new QFilter("enable", QCP.equals, "1");
|
||||||
|
QFilter filter2 = new QFilter("shjh_sap", QCP.not_equals, "");
|
||||||
|
DynamicObject[] bdAsstacttypes = BusinessDataServiceHelper.load("bd_asstacttype", "id,shjh_sap,enable,flexfield", new QFilter[]{filter1, filter2});
|
||||||
|
for (DynamicObject bdAsstacttype : bdAsstacttypes) {
|
||||||
|
sapMap.put(bdAsstacttype.getString("flexfield"), bdAsstacttype.getString("shjh_sap"));
|
||||||
|
}
|
||||||
|
// 时间问题代码未优化提取公共方法
|
||||||
// 前提:若无凭证,校验
|
// 前提:若无凭证,校验
|
||||||
// 票:
|
// 票:
|
||||||
// 1.遍历付款单明细分录,若任意一行中存在SAP凭证号:组装明细XX,拿号调方法(W);遍历票据分录,拿票据号,查收款单(将表头凭证信息)_无行编号,SAP会计科目(从收款单对应凭证取借方),清张金额取票据(转让金额)
|
// 1.遍历付款单明细分录,若任意一行中存在SAP凭证号:组装明细XX,拿号调方法(W);遍历票据分录,拿票据号,查收款单(将表头凭证信息)_无行编号,SAP会计科目(从收款单对应凭证取借方),清张金额取票据(转让金额)
|
||||||
// 2.若无SAP凭证号:联查凭证(遍历,借方iteam{SGTXT:凭证行摘要},遍历票_查收款单(将表头凭证信息):行没有)
|
// 2.若无SAP凭证号:联查凭证(遍历,借方iteam{SGTXT:凭证行摘要},遍历票_查收款单(将表头凭证信息):行没有)
|
||||||
// 非票:
|
// 非票:
|
||||||
// 1.来源SAP :(iteam{})
|
// 1.来源SAP :(付款单查凭证:遍历分录:if贷iteam{钱取贷方} 遍历明细clear{})
|
||||||
// 2.else
|
// 2.else(item:付款单联查凭证:遍历分录{原逻辑})
|
||||||
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",
|
||||||
|
|
@ -343,6 +347,8 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl
|
||||||
}else if("f000060".equals(asstype)){
|
}else if("f000060".equals(asstype)){
|
||||||
//行项目的参考码
|
//行项目的参考码
|
||||||
IT_ITEMS.put("XREF3",glassistbd.getString("assval"));
|
IT_ITEMS.put("XREF3",glassistbd.getString("assval"));
|
||||||
|
}else if(sapMap.containsKey(asstype)){
|
||||||
|
IT_ITEMS.put(sapMap.get(asstype),glassistbd.getString("assval"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -532,6 +538,8 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl
|
||||||
}else if("f000060".equals(asstype)){
|
}else if("f000060".equals(asstype)){
|
||||||
//行项目的参考码
|
//行项目的参考码
|
||||||
IT_ITEMS.put("XREF3",glassistbd.getString("assval"));
|
IT_ITEMS.put("XREF3",glassistbd.getString("assval"));
|
||||||
|
}else if(sapMap.containsKey(asstype)){
|
||||||
|
IT_ITEMS.put(sapMap.get(asstype),glassistbd.getString("assval"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -679,6 +687,8 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl
|
||||||
}else if("f000060".equals(asstype)){
|
}else if("f000060".equals(asstype)){
|
||||||
//行项目的参考码
|
//行项目的参考码
|
||||||
IT_ITEMS.put("XREF3",glassistbd.getString("assval"));
|
IT_ITEMS.put("XREF3",glassistbd.getString("assval"));
|
||||||
|
}else if(sapMap.containsKey(asstype)){
|
||||||
|
IT_ITEMS.put(sapMap.get(asstype),glassistbd.getString("assval"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue