资金计划优化2
This commit is contained in:
parent
726a8bc9ec
commit
5cc1516ac8
|
|
@ -22,6 +22,7 @@ public class VoucherBillOperation extends AbstractOperationServicePlugIn impleme
|
|||
String sourcebilltype;
|
||||
DynamicObject bizbillinfo;
|
||||
for (DynamicObject pzinfo : dos) {
|
||||
pzinfo = BusinessDataServiceHelper.loadSingle(pzinfo.getPkValue(), pzinfo.getDataEntityType().getName(), "id,billno,sourcebill,sourcebilltype");
|
||||
sourcebillid = pzinfo.getLong("sourcebill");
|
||||
sourcebilltype = pzinfo.getDynamicObject("sourcebilltype").getString("number");
|
||||
if(recbillName.equals(sourcebilltype)){
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ public class FundPlanCollectionTask extends AbstractTask implements Plugin {
|
|||
//调用SAP应收已清接口,按照事业部、月份、计划科目汇总金额
|
||||
Map<String, BigDecimal> acctamountMap = getSapARClearedData();
|
||||
if(acctamountMap == null || acctamountMap.isEmpty()){
|
||||
logger.info("未获取到月份、计划科目汇总金额");
|
||||
return;
|
||||
}
|
||||
ReportDataSDKService reportService = new ReportDataSDKService();//报表服务,用于写入或者查询报表数据
|
||||
|
|
@ -92,6 +93,7 @@ public class FundPlanCollectionTask extends AbstractTask implements Plugin {
|
|||
for(DynamicObject entryinfo : maindimentrys){
|
||||
accountInfo = entryinfo.getDynamicObject("subjectmem");
|
||||
if(!accountInfo.getBoolean("isleaf")){
|
||||
//非叶子节点的数据,不处理
|
||||
continue;
|
||||
}
|
||||
accountnum = accountInfo.getString("number");
|
||||
|
|
@ -105,7 +107,7 @@ public class FundPlanCollectionTask extends AbstractTask implements Plugin {
|
|||
JSONObject mmInfo = new JSONObject();
|
||||
//PLANREFERENCEAMT 计划参考值 ACTMAT 已执行额度
|
||||
mmInfo.put("templateMetricType","ACTMAT");//度量值预置类型
|
||||
mmInfo.put("amount",acctamountMap.get(sybnum+months+accountnum));//写入金额-从SAP接口中汇总
|
||||
mmInfo.put("amount",acctamountMap.get(months+accountnum));//写入金额-从SAP接口中汇总
|
||||
mmInfo.put("amountUnit","one");//金额单位 one元 thousand千元 ten_thousand 万元
|
||||
mms.add(mmInfo);
|
||||
itemInfo.put("metricMembers",mms);//度量值列表
|
||||
|
|
@ -144,40 +146,49 @@ public class FundPlanCollectionTask extends AbstractTask implements Plugin {
|
|||
if(data != null){
|
||||
JSONArray items = data.getJSONArray("IT_ITEM");
|
||||
Map<String, BigDecimal> acctamountMap = new HashMap<>();
|
||||
BigDecimal amount;//根据事业部编号+月份+资金计划科目编号汇总的金额
|
||||
String productnum;//品牌
|
||||
String sybnum;//事业部编号
|
||||
BigDecimal amount;//根据事业部编号+月份+资金计划科目编号汇总的金额-最新修改为根据月份+资金计划科目编号
|
||||
// String productnum;//品牌
|
||||
// String sybnum;//事业部编号
|
||||
String months;//月份
|
||||
String accountnum;//资金计划科目编号
|
||||
String mapkey;//事业部编号+月份+资金计划科目编号
|
||||
DynamicObject ppsybinfo;//品牌和事业部关系对象
|
||||
// DynamicObject ppsybinfo;//品牌和事业部关系对象
|
||||
for (int i = 0; i < items.size(); i++) {
|
||||
sapresult = items.getJSONObject(i);
|
||||
amount = sapresult.getBigDecimal("DMBTR");//已清金额
|
||||
productnum = sapresult.getString("SPART");//产品组
|
||||
// productnum = sapresult.getString("SPART");//产品组
|
||||
months = sapresult.getString("BUDAT");//过账日期
|
||||
if(JhzjUtils.isEmpty(months)){
|
||||
logger.info("SAP过账日期为空"+sapresult.toJSONString());
|
||||
continue;
|
||||
}
|
||||
accountnum = xdMembersubjectNumber(sapresult);
|
||||
if(JhzjUtils.isEmpty(accountnum)){
|
||||
logger.info("SAP应收已清未找到对应资金科目"+sapresult.toJSONString());
|
||||
continue;
|
||||
}
|
||||
months = JhzjUtils.getFundPeriodBySAPDate(months);
|
||||
//根据品牌和事业部关系,将该笔金额归属到事业部上
|
||||
ppsybinfo = BusinessDataServiceHelper.loadSingleFromCache(ppsybName,new QFilter[]{new QFilter("shjh_productgroup.number", QCP.equals, productnum)});
|
||||
if(ppsybinfo != null){
|
||||
sybnum = ppsybinfo.getDynamicObject("shjh_division").getString("number");
|
||||
mapkey = sybnum+months+accountnum;
|
||||
if(acctamountMap.containsKey(mapkey)){
|
||||
acctamountMap.put(mapkey, JhzjUtils.addTwoAmount(amount,acctamountMap.get(mapkey)));
|
||||
}else{
|
||||
acctamountMap.put(mapkey,amount);
|
||||
}
|
||||
mapkey = months+accountnum;
|
||||
amount = sapresult.getBigDecimal("DMBTR");//已清金额
|
||||
if(acctamountMap.containsKey(mapkey)){
|
||||
acctamountMap.put(mapkey, JhzjUtils.addTwoAmount(amount,acctamountMap.get(mapkey)));
|
||||
}else{
|
||||
//TODO 如果品牌没有对应的事业部时,数据放哪里?
|
||||
logger.info("根据SAP的品牌编号未找到对应的品牌和事业部关系"+productnum);
|
||||
acctamountMap.put(mapkey,amount);
|
||||
}
|
||||
|
||||
//根据品牌和事业部关系,将该笔金额归属到事业部上
|
||||
// ppsybinfo = BusinessDataServiceHelper.loadSingleFromCache(ppsybName,new QFilter[]{new QFilter("shjh_productgroup.number", QCP.equals, productnum)});
|
||||
// if(ppsybinfo != null){
|
||||
// sybnum = ppsybinfo.getDynamicObject("shjh_division").getString("number");
|
||||
// mapkey = sybnum+months+accountnum;
|
||||
// if(acctamountMap.containsKey(mapkey)){
|
||||
// acctamountMap.put(mapkey, JhzjUtils.addTwoAmount(amount,acctamountMap.get(mapkey)));
|
||||
// }else{
|
||||
// acctamountMap.put(mapkey,amount);
|
||||
// }
|
||||
// }else{
|
||||
// //如果品牌没有对应的事业部时,数据放哪里?
|
||||
// logger.info("根据SAP的品牌编号未找到对应的品牌和事业部关系"+productnum);
|
||||
// }
|
||||
}
|
||||
return acctamountMap;
|
||||
}
|
||||
|
|
@ -258,10 +269,7 @@ public class FundPlanCollectionTask extends AbstractTask implements Plugin {
|
|||
if(customerinfo != null){
|
||||
custinfofives = customerinfo.getDynamicObjectCollection("shjh_entry_five");
|
||||
}
|
||||
DynamicObjectCollection kmcolls;//科目集合
|
||||
DynamicObjectCollection custfivecolls;//客户组5集合
|
||||
DynamicObjectCollection custcolls;//包含客户的集合
|
||||
DynamicObjectCollection nocustcolls;//不包含客户的集合
|
||||
boolean kmbhFlag;
|
||||
boolean custfiveFlag;
|
||||
boolean custFlag;
|
||||
|
|
@ -269,19 +277,9 @@ public class FundPlanCollectionTask extends AbstractTask implements Plugin {
|
|||
DynamicObject account;
|
||||
for (int i = 0; i < accounts.length; i++) {
|
||||
account = BusinessDataServiceHelper.loadSingle(accounts[i].getPkValue(), payReceName);
|
||||
kmbhFlag = false;
|
||||
kmcolls = account.getDynamicObjectCollection("shjh_kjkm");//科目
|
||||
if(kmcolls.isEmpty()){
|
||||
//当前配置表没有配置科目,即任何科目都可以匹配
|
||||
kmbhFlag = true;
|
||||
}else{
|
||||
//科目上配置有参数,需要判断与当前科目是否匹配
|
||||
for (DynamicObject kminfo : kmcolls) {
|
||||
if(kminfo.getDynamicObject("fbasedataid").getString("number").equals(kmbh)){
|
||||
kmbhFlag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
kmbhFlag = getDOInFlag(account,"shjh_kjkm",kmbh);//科目
|
||||
if(!kmbhFlag){
|
||||
continue;
|
||||
}
|
||||
custfiveFlag = false;
|
||||
custfivecolls = account.getDynamicObjectCollection("shjh_khzw");//客户组5
|
||||
|
|
@ -308,36 +306,17 @@ public class FundPlanCollectionTask extends AbstractTask implements Plugin {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
custFlag = false;
|
||||
custcolls = account.getDynamicObjectCollection("shjh_bhkh");//包含客户
|
||||
if(custcolls.isEmpty()){
|
||||
//当前配置表没有配置客户,即任何客户都可以匹配
|
||||
custFlag = true;
|
||||
}else{
|
||||
for (DynamicObject custinfo : custcolls) {
|
||||
if(custinfo.getDynamicObject("fbasedataid").getString("number").equals(cust)){
|
||||
custFlag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!custfiveFlag){
|
||||
continue;
|
||||
}
|
||||
|
||||
nocustcolls = account.getDynamicObjectCollection("shjh_bbhkh");//不包含客户
|
||||
if(nocustcolls.isEmpty()){
|
||||
//当前配置表没有配置客户,即任何客户都可以匹配
|
||||
nocustFlag = true;
|
||||
}else{
|
||||
nocustFlag = true;
|
||||
for (DynamicObject nocustinfo : custcolls) {
|
||||
if(nocustinfo.getDynamicObject("fbasedataid").getString("number").equals(cust)){
|
||||
nocustFlag = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
custFlag = getDOInFlag(account,"shjh_bhkh",cust);//包含客户
|
||||
if(!custFlag){
|
||||
continue;
|
||||
}
|
||||
if(kmbhFlag && custfiveFlag && custFlag && nocustFlag){
|
||||
//所有标记都满足,则返回
|
||||
nocustFlag = getDOOutFlag(account,"shjh_bbhkh",cust);//不包含客户
|
||||
|
||||
if(nocustFlag){
|
||||
//最后一个标记满足条件,则返回,否则会继续循环
|
||||
return account.getDynamicObject("shjh_membersubject").getString("number");
|
||||
}
|
||||
}
|
||||
|
|
@ -350,6 +329,39 @@ public class FundPlanCollectionTask extends AbstractTask implements Plugin {
|
|||
return null;
|
||||
}
|
||||
|
||||
private boolean getDOInFlag(DynamicObject pzbinfo, String property, String sapvalue){
|
||||
DynamicObjectCollection kmcolls = pzbinfo.getDynamicObjectCollection(property);//具体的属性可能是科目、原因码、客户、供应商
|
||||
if(kmcolls.isEmpty()){
|
||||
//当前配置表没有配置property,即任何property都可以匹配
|
||||
return true;
|
||||
}else{
|
||||
//配置有参数,需要判断与当前数据是否匹配
|
||||
for (DynamicObject kminfo : kmcolls) {
|
||||
if(kminfo.getDynamicObject("fbasedataid").getString("number").equals(sapvalue)){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//获取基础资料不包含情况下的标记
|
||||
private boolean getDOOutFlag(DynamicObject pzbinfo, String property, String sapvalue){
|
||||
DynamicObjectCollection kmcolls = pzbinfo.getDynamicObjectCollection(property);//具体的属性可能是科目、原因码、客户、供应商
|
||||
if(kmcolls.isEmpty()){
|
||||
//当前配置表没有配置property,即任何property都可以匹配
|
||||
return true;
|
||||
}else{
|
||||
//配置有参数,需要判断与当前参数是否匹配,已匹配表示在排除范围内
|
||||
for (DynamicObject kminfo : kmcolls) {
|
||||
if(kminfo.getDynamicObject("fbasedataid").getString("number").equals(sapvalue)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void addFilterCondition(JSONArray IT_LIST, String field, String low, String high) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("FIELD", field); //字段名称
|
||||
|
|
|
|||
|
|
@ -51,7 +51,8 @@ public class FundPlanPaymentTask extends AbstractTask implements Plugin {
|
|||
if(collection.length > 0){
|
||||
//调用SAP应付未清接口,按照事业部、月份、计划科目汇总金额
|
||||
Map<String, BigDecimal> acctamountMap = getSapAR();
|
||||
if(acctamountMap == null){
|
||||
if(acctamountMap == null || acctamountMap.isEmpty()){
|
||||
logger.info("未获取到月份、计划科目汇总金额");
|
||||
return;
|
||||
}
|
||||
ReportDataSDKService reportService = new ReportDataSDKService();//报表服务,用于写入或者查询报表数据
|
||||
|
|
@ -61,7 +62,7 @@ public class FundPlanPaymentTask extends AbstractTask implements Plugin {
|
|||
String reportPeriodCode;//编报期间的编号
|
||||
DynamicObject reportOrg;//编报主体对象
|
||||
DynamicObject accountInfo;//资金计划科目
|
||||
String sybnum;//事业部编号-编报主体的编号
|
||||
String sybnum;//编报主体的编号
|
||||
String months;//月份-科目编制分录中的期间编号
|
||||
String accountnum;//资金计划科目编号
|
||||
DynamicObjectCollection maindimentrys;
|
||||
|
|
@ -90,6 +91,7 @@ public class FundPlanPaymentTask extends AbstractTask implements Plugin {
|
|||
for(DynamicObject entryinfo : maindimentrys){
|
||||
accountInfo = entryinfo.getDynamicObject("subjectmem");
|
||||
if(!accountInfo.getBoolean("isleaf")){
|
||||
//非叶子节点的数据,不处理
|
||||
continue;
|
||||
}
|
||||
accountnum = accountInfo.getString("number");
|
||||
|
|
@ -103,7 +105,7 @@ public class FundPlanPaymentTask extends AbstractTask implements Plugin {
|
|||
JSONObject mmInfo = new JSONObject();
|
||||
//PLANREFERENCEAMT 计划参考值 ACTMAT 已执行额度
|
||||
mmInfo.put("templateMetricType","PLANREFERENCEAMT");//度量值预置类型
|
||||
mmInfo.put("amount",acctamountMap.get(sybnum+months+accountnum));//写入金额-从SAP接口中获取
|
||||
mmInfo.put("amount",acctamountMap.get(months+accountnum));//写入金额-从SAP接口中获取
|
||||
mmInfo.put("amountUnit","one");//金额单位 one元 thousand千元 ten_thousand 万元
|
||||
mms.add(mmInfo);
|
||||
itemInfo.put("metricMembers",mms);//度量值列表
|
||||
|
|
@ -143,46 +145,53 @@ public class FundPlanPaymentTask extends AbstractTask implements Plugin {
|
|||
List<DynamicObject> pzblist = getPzb();
|
||||
if(pzblist.isEmpty()){
|
||||
//配置表没有对应规则,返回null
|
||||
logger.info("配置表没有对应规则");
|
||||
logger.info("付款申请单配置表没有对应规则");
|
||||
return null;
|
||||
}
|
||||
JSONArray items = data.getJSONArray("IT_ITEM");
|
||||
Map<String, BigDecimal> acctamountMap = new HashMap<>();
|
||||
BigDecimal amount;//根据事业部编号+月份+资金计划科目编号汇总的金额
|
||||
String deptnum;//部门编号
|
||||
String sybnum;//事业部编号
|
||||
BigDecimal amount;//根据事业部编号+月份+资金计划科目编号汇总的金额-最新修改为根据月份+资金计划科目编号
|
||||
// String deptnum;//部门编号
|
||||
// String sybnum;//事业部编号
|
||||
String months;//月份
|
||||
String accountnum;//资金计划科目编号
|
||||
String mapkey;//事业部编号+月份+资金计划科目编号
|
||||
DynamicObject ppsybinfo;//二级部门和事业部关系对象
|
||||
// DynamicObject ppsybinfo;//二级部门和事业部关系对象
|
||||
for (int i = 0; i < items.size(); i++) {
|
||||
sapresult = items.getJSONObject(i);
|
||||
sapresult.getString("BUKRS");//公司编号
|
||||
months = sapresult.getString("FAEDT");//到期日
|
||||
amount = sapresult.getBigDecimal("WRBTR");//未清金额
|
||||
deptnum = sapresult.getString("ZREQ_DEPT");//二级部门,需求部门
|
||||
// deptnum = sapresult.getString("ZREQ_DEPT");//二级部门,需求部门
|
||||
if(JhzjUtils.isEmpty(months)){
|
||||
logger.info("SAP到期日为空"+sapresult.toJSONString());
|
||||
continue;
|
||||
}
|
||||
accountnum = xdMembersubjectNumber(pzblist, sapresult);
|
||||
if(JhzjUtils.isEmpty(accountnum)){
|
||||
logger.info("SAP应付凭证未找到对应资金科目"+sapresult.toJSONString());
|
||||
continue;
|
||||
}
|
||||
months = JhzjUtils.getFundPeriodBySAPDate(months);
|
||||
//根据二级部门和事业部关系,将该笔金额归属到事业部上
|
||||
ppsybinfo = BusinessDataServiceHelper.loadSingleFromCache(ppsybName,new QFilter[]{new QFilter("shjh_orgdept.number", QCP.equals, deptnum)});
|
||||
if(ppsybinfo != null){
|
||||
sybnum = ppsybinfo.getDynamicObject("shjh_division").getString("number");
|
||||
mapkey = sybnum+months+accountnum;
|
||||
if(acctamountMap.containsKey(mapkey)){
|
||||
acctamountMap.put(mapkey, JhzjUtils.addTwoAmount(amount,acctamountMap.get(mapkey)));
|
||||
}else{
|
||||
acctamountMap.put(mapkey,amount);
|
||||
}
|
||||
mapkey = months+accountnum;
|
||||
amount = sapresult.getBigDecimal("WRBTR");//未清金额
|
||||
if(acctamountMap.containsKey(mapkey)){
|
||||
acctamountMap.put(mapkey, JhzjUtils.addTwoAmount(amount,acctamountMap.get(mapkey)));
|
||||
}else{
|
||||
//TODO 如果二级部门没有对应的事业部时,数据放哪里?
|
||||
logger.info("根据SAP的二级部门编号未找到对应的二级部门和事业部关系"+deptnum);
|
||||
acctamountMap.put(mapkey,amount);
|
||||
}
|
||||
//根据二级部门和事业部关系,将该笔金额归属到事业部上
|
||||
// ppsybinfo = BusinessDataServiceHelper.loadSingleFromCache(ppsybName,new QFilter[]{new QFilter("shjh_orgdept.number", QCP.equals, deptnum)});
|
||||
// if(ppsybinfo != null){
|
||||
// sybnum = ppsybinfo.getDynamicObject("shjh_division").getString("number");
|
||||
// mapkey = sybnum+months+accountnum;
|
||||
// if(acctamountMap.containsKey(mapkey)){
|
||||
// acctamountMap.put(mapkey, JhzjUtils.addTwoAmount(amount,acctamountMap.get(mapkey)));
|
||||
// }else{
|
||||
// acctamountMap.put(mapkey,amount);
|
||||
// }
|
||||
// }else{
|
||||
// //如果二级部门没有对应的事业部时,数据放哪里?
|
||||
// logger.info("根据SAP的二级部门编号未找到对应的二级部门和事业部关系"+deptnum);
|
||||
// }
|
||||
}
|
||||
return acctamountMap;
|
||||
}
|
||||
|
|
@ -283,8 +292,8 @@ public class FundPlanPaymentTask extends AbstractTask implements Plugin {
|
|||
boolean yymFlag;
|
||||
boolean kmbhFlag;
|
||||
boolean orgFlag;
|
||||
boolean bizbigFlag;
|
||||
boolean bizsmallFlag;
|
||||
// boolean bizbigFlag;
|
||||
// boolean bizsmallFlag;
|
||||
boolean notorgFlag;
|
||||
boolean suppFlag;
|
||||
boolean notsuppFlag;
|
||||
|
|
@ -292,43 +301,44 @@ public class FundPlanPaymentTask extends AbstractTask implements Plugin {
|
|||
String kdbilltype;
|
||||
boolean billTypeFlag;
|
||||
boolean notbillTypeFlag;
|
||||
boolean purGroupFlag;
|
||||
boolean notpurGroupFlag;
|
||||
for (int i = 0; i < pzblist.size(); i++) {
|
||||
pzbinfo = pzblist.get(i);
|
||||
yymFlag = getDOInFlag(pzbinfo,"shjh_yym",sapresult.getString(""));//原因码
|
||||
yymFlag = getDOInFlag(pzbinfo,"shjh_yym",sapresult.getString("RSTGR"));//原因码
|
||||
if(!yymFlag){
|
||||
continue;
|
||||
}
|
||||
kmbhFlag = getDOInFlag(pzbinfo,"shjh_kjkm",sapresult.getString(""));//会计科目
|
||||
kmbhFlag = getDOInFlag(pzbinfo,"shjh_kjkm",sapresult.getString("SAKNR"));//会计科目
|
||||
if(!kmbhFlag){
|
||||
continue;
|
||||
}
|
||||
orgFlag = getDOInFlag(pzbinfo,"shjh_companys",sapresult.getString(""));//公司范围
|
||||
orgFlag = getDOInFlag(pzbinfo,"shjh_companys",sapresult.getString("BUKRS"));//包含公司范围
|
||||
if(!orgFlag){
|
||||
continue;
|
||||
}
|
||||
suppFlag = getDOInFlag(pzbinfo,"shjh_supplier",sapresult.getString(""));//包含供应商
|
||||
if(!suppFlag){
|
||||
continue;
|
||||
}
|
||||
bizbigFlag = getDOInFlag(pzbinfo,"shjh_bizbig",sapresult.getString(""));//业务大类
|
||||
if(!bizbigFlag){
|
||||
continue;
|
||||
}
|
||||
bizsmallFlag = getDOInFlag(pzbinfo,"shjh_bizsmall",sapresult.getString(""));//业务小类
|
||||
if(!bizsmallFlag){
|
||||
continue;
|
||||
}
|
||||
|
||||
notsuppFlag = getDOOutFlag(pzbinfo,"shjh_bbhgys",sapresult.getString(""));//不包含供应商
|
||||
if(!notsuppFlag){
|
||||
continue;
|
||||
}
|
||||
notorgFlag = getDOOutFlag(pzbinfo,"shjh_bbhzz",sapresult.getString(""));//不包含公司
|
||||
notorgFlag = getDOOutFlag(pzbinfo,"shjh_bbhzz",sapresult.getString("BUKRS"));//不包含公司范围
|
||||
if(!notorgFlag){
|
||||
continue;
|
||||
}
|
||||
suppFlag = getDOInFlag(pzbinfo,"shjh_supplier",sapresult.getString("LIFNR"));//包含供应商
|
||||
if(!suppFlag){
|
||||
continue;
|
||||
}
|
||||
notsuppFlag = getDOOutFlag(pzbinfo,"shjh_bbhgys",sapresult.getString("LIFNR"));//不包含供应商
|
||||
if(!notsuppFlag){
|
||||
continue;
|
||||
}
|
||||
// bizbigFlag = getDOInFlag(pzbinfo,"shjh_bizbig",sapresult.getString(""));//业务大类
|
||||
// if(!bizbigFlag){
|
||||
// continue;
|
||||
// }
|
||||
// bizsmallFlag = getDOInFlag(pzbinfo,"shjh_bizsmall",sapresult.getString(""));//业务小类
|
||||
// if(!bizsmallFlag){
|
||||
// continue;
|
||||
// }
|
||||
// getBooleanFlag(pzbinfo,"shjh_czl",sapresult.getString(""));//是否充值类
|
||||
// getBooleanFlag(pzbinfo,"shjh_zxcg",sapresult.getString(""));//是否自行采购
|
||||
// getBooleanFlag(pzbinfo,"shjh_zxcg",sapresult.getString("ZZXCG_FLAG"));//是否自行采购
|
||||
// getBooleanFlag(pzbinfo,"shjh_poisnull",sapresult.getString(""));//PO号是否为空
|
||||
sapbillno = sapresult.getString("XBLNR");//sap单据号
|
||||
kdbilltype = JhzjUtils.getBillTypeForSAP(sapbillno);//根据sap单据号获取对应的金蝶单据类型
|
||||
|
|
@ -340,6 +350,17 @@ public class FundPlanPaymentTask extends AbstractTask implements Plugin {
|
|||
if(!notbillTypeFlag){
|
||||
continue;
|
||||
}
|
||||
|
||||
purGroupFlag = getDOInFlag(pzbinfo,"shjh_cgz",sapresult.getString("EKGRP"));//包含采购组
|
||||
if(!purGroupFlag){
|
||||
continue;
|
||||
}
|
||||
notpurGroupFlag = getDOInFlag(pzbinfo,"shjh_bbhcgz",sapresult.getString("EKGRP"));//不包含采购组
|
||||
|
||||
if(notpurGroupFlag){
|
||||
//最后一个标记满足条件,则返回,否则会继续循环
|
||||
return pzbinfo.getDynamicObject("shjh_membersubject").getString("number");
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
|
|
|
|||
Loading…
Reference in New Issue