资金日表取数逻辑更新
This commit is contained in:
parent
9f15f95342
commit
88b872bac3
|
@ -116,50 +116,15 @@ public class CapitalDayListDataPlugin extends AbstractReportListDataPlugin imple
|
||||||
public BigDecimal getTransactions(DynamicObject[] per_cas_recbills){
|
public BigDecimal getTransactions(DynamicObject[] per_cas_recbills){
|
||||||
BigDecimal recAmountTotal = BigDecimal.ZERO;
|
BigDecimal recAmountTotal = BigDecimal.ZERO;
|
||||||
for (DynamicObject per_cas_recbill : per_cas_recbills) {
|
for (DynamicObject per_cas_recbill : per_cas_recbills) {
|
||||||
//查询收款单,为内部往来的公司
|
//查询收款单,为内部往来的公司:收款类型为公司内部往来,或者集团内部往来
|
||||||
String payertype = per_cas_recbill.getString("payertype");//付款人类型
|
DynamicObject receivingtype = per_cas_recbill.getDynamicObject("receivingtype");//收款类型
|
||||||
Long payerid = per_cas_recbill.getLong("payer");//收款人id
|
if (receivingtype != null){
|
||||||
//判断是否内部,不是则跳过该循环
|
String number = receivingtype.getString("number");
|
||||||
if("bd_customer".equals(payertype)||"bd_supplier".equals(payertype)||"bos_org".equals(payertype)){
|
if("901".equals(number) || "902".equals(number)){
|
||||||
if("bd_supplier".equals(payertype)){
|
|
||||||
QFilter per_recQF = new QFilter("id", QCP.equals, payerid);
|
|
||||||
DynamicObject bd_supplier = BusinessDataServiceHelper.loadSingle("bd_supplier", "id,number,internal_company", per_recQF.toArray());
|
|
||||||
if(bd_supplier != null){
|
|
||||||
DynamicObject internal_company = bd_supplier.getDynamicObject("internal_company");
|
|
||||||
if (internal_company != null){
|
|
||||||
if (isYuYe(internal_company.getLong("id"))){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
} else if ("bd_customer".equals(payertype)) {
|
|
||||||
QFilter per_recQF = new QFilter("id", QCP.equals, payerid);
|
|
||||||
DynamicObject bd_customer = BusinessDataServiceHelper.loadSingle("bd_customer", "id,number,internal_company", per_recQF.toArray());
|
|
||||||
if (bd_customer != null){
|
|
||||||
DynamicObject internal_company = bd_customer.getDynamicObject("internal_company");
|
|
||||||
if (internal_company != null){
|
|
||||||
if (isYuYe(internal_company.getLong("id"))){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
if (isYuYe(payerid)){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//是内部往来,累计金额
|
//是内部往来,累计金额
|
||||||
BigDecimal actrecamt = per_cas_recbill.getBigDecimal("actrecamt");
|
BigDecimal actrecamt = per_cas_recbill.getBigDecimal("actrecamt");
|
||||||
recAmountTotal = recAmountTotal.add(actrecamt);//添加收入金额
|
recAmountTotal = recAmountTotal.add(actrecamt);//添加收入金额
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return recAmountTotal;
|
return recAmountTotal;
|
||||||
|
@ -171,46 +136,11 @@ public class CapitalDayListDataPlugin extends AbstractReportListDataPlugin imple
|
||||||
BigDecimal perPayAmountTotal = BigDecimal.ZERO;
|
BigDecimal perPayAmountTotal = BigDecimal.ZERO;
|
||||||
BigDecimal addRecAmountTotal = BigDecimal.ZERO;
|
BigDecimal addRecAmountTotal = BigDecimal.ZERO;
|
||||||
for (DynamicObject per_cas_paybill : per_cas_paybills) {
|
for (DynamicObject per_cas_paybill : per_cas_paybills) {
|
||||||
//查询收款单,为内部往来的公司
|
//查询收款单,为内部往来的公司:收款类型为公司内部往来,或者集团内部往来
|
||||||
String payertype = per_cas_paybill.getString("payeetype");//收款人款人类型
|
DynamicObject paymenttype = per_cas_paybill.getDynamicObject("paymenttype");//付款类型
|
||||||
Long payerid = per_cas_paybill.getLong("payee");//收款人id
|
if (paymenttype != null){
|
||||||
//判断是否内部,不是则跳过该循环
|
String number = paymenttype.getString("number");
|
||||||
if("bd_customer".equals(payertype)||"bd_supplier".equals(payertype)||"bos_org".equals(payertype)){
|
if("901".equals(number) || "902".equals(number)){
|
||||||
if("bd_supplier".equals(payertype)){
|
|
||||||
QFilter per_recQF = new QFilter("id",QCP.equals,payerid);
|
|
||||||
DynamicObject bd_supplier = BusinessDataServiceHelper.loadSingle("bd_supplier", "id,number,internal_company", per_recQF.toArray());
|
|
||||||
if (bd_supplier != null){
|
|
||||||
DynamicObject internal_company = bd_supplier.getDynamicObject("internal_company");
|
|
||||||
if (internal_company != null){
|
|
||||||
if (isYuYe(internal_company.getLong("id"))){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
} else if ("bd_customer".equals(payertype)) {
|
|
||||||
QFilter per_recQF = new QFilter("id",QCP.equals,payerid);
|
|
||||||
DynamicObject bd_customer = BusinessDataServiceHelper.loadSingle("bd_customer", "id,number,internal_company", per_recQF.toArray());
|
|
||||||
if (bd_customer != null){
|
|
||||||
DynamicObject internal_company = bd_customer.getDynamicObject("internal_company");
|
|
||||||
if (internal_company != null){
|
|
||||||
if (isYuYe(internal_company.getLong("id"))){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
if (isYuYe(payerid)){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//是内部往来,累计金额
|
//是内部往来,累计金额
|
||||||
String payNumber = per_cas_paybill.getDynamicObject("org").getString("number");
|
String payNumber = per_cas_paybill.getDynamicObject("org").getString("number");
|
||||||
String recNumber = per_cas_paybill.getString("payeenumber");
|
String recNumber = per_cas_paybill.getString("payeenumber");
|
||||||
|
@ -221,6 +151,7 @@ public class CapitalDayListDataPlugin extends AbstractReportListDataPlugin imple
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
stringBigDecimalHashMap.put("pay",perPayAmountTotal);
|
stringBigDecimalHashMap.put("pay",perPayAmountTotal);
|
||||||
stringBigDecimalHashMap.put("rec",addRecAmountTotal);
|
stringBigDecimalHashMap.put("rec",addRecAmountTotal);
|
||||||
return stringBigDecimalHashMap;
|
return stringBigDecimalHashMap;
|
||||||
|
@ -312,7 +243,7 @@ public class CapitalDayListDataPlugin extends AbstractReportListDataPlugin imple
|
||||||
}
|
}
|
||||||
Date startDate = this.getStartDate(firstDate);//过滤条件-开始日期
|
Date startDate = this.getStartDate(firstDate);//过滤条件-开始日期
|
||||||
bef_payQF.and("paydate","<",startDate);
|
bef_payQF.and("paydate","<",startDate);
|
||||||
DynamicObject[] bef_cas_paybills = BusinessDataServiceHelper.load("cas_paybill", "id,org,org.id,org.number,payeenumber,actpayamt,currency", bef_payQF.toArray());
|
DynamicObject[] bef_cas_paybills = BusinessDataServiceHelper.load("cas_paybill", "id,org,org.id,org.number,payeenumber,actpayamt,currency,paymenttype", bef_payQF.toArray());
|
||||||
for (DynamicObject bef_cas_paybill : bef_cas_paybills) {
|
for (DynamicObject bef_cas_paybill : bef_cas_paybills) {
|
||||||
String payNumber = bef_cas_paybill.getDynamicObject("org").getString("number");
|
String payNumber = bef_cas_paybill.getDynamicObject("org").getString("number");
|
||||||
String recNumber = bef_cas_paybill.getString("payeenumber");
|
String recNumber = bef_cas_paybill.getString("payeenumber");
|
||||||
|
@ -334,7 +265,7 @@ public class CapitalDayListDataPlugin extends AbstractReportListDataPlugin imple
|
||||||
bef_recQF.and("org.id",QCP.equals,orgPkValue);
|
bef_recQF.and("org.id",QCP.equals,orgPkValue);
|
||||||
bef_recQF.and("payeedate",QCP.large_equals,begindate);//收款日期payeedate 业务日期bizdate
|
bef_recQF.and("payeedate",QCP.large_equals,begindate);//收款日期payeedate 业务日期bizdate
|
||||||
bef_recQF.and("payeedate","<",startDate);
|
bef_recQF.and("payeedate","<",startDate);
|
||||||
DynamicObject[] cas_recbills = BusinessDataServiceHelper.load("cas_recbill", "id,org,org.id,org.number,actrecamt,currency", bef_recQF.toArray());
|
DynamicObject[] cas_recbills = BusinessDataServiceHelper.load("cas_recbill", "id,org,org.id,org.number,actrecamt,currency,receivingtype", bef_recQF.toArray());
|
||||||
for (DynamicObject cas_recbill : cas_recbills) {
|
for (DynamicObject cas_recbill : cas_recbills) {
|
||||||
BigDecimal actrecamt = cas_recbill.getBigDecimal("actrecamt");
|
BigDecimal actrecamt = cas_recbill.getBigDecimal("actrecamt");
|
||||||
recAmountTotal = recAmountTotal.add(actrecamt);
|
recAmountTotal = recAmountTotal.add(actrecamt);
|
||||||
|
@ -361,7 +292,7 @@ public class CapitalDayListDataPlugin extends AbstractReportListDataPlugin imple
|
||||||
}
|
}
|
||||||
per_recQF.and("payeedate",QCP.large_equals,startDate);//收款日期payeedate 业务日期bizdate
|
per_recQF.and("payeedate",QCP.large_equals,startDate);//收款日期payeedate 业务日期bizdate
|
||||||
per_recQF.and("payeedate",QCP.less_equals,overDate);
|
per_recQF.and("payeedate",QCP.less_equals,overDate);
|
||||||
DynamicObject[] per_cas_recbills = BusinessDataServiceHelper.load("cas_recbill", "id,org,org.id,org.number,actrecamt,currency,payertype,customerf7,customerf7,payer", per_recQF.toArray());
|
DynamicObject[] per_cas_recbills = BusinessDataServiceHelper.load("cas_recbill", "id,org,org.id,org.number,actrecamt,currency,payertype,customerf7,customerf7,payer,receivingtype", per_recQF.toArray());
|
||||||
BigDecimal transactions = this.getTransactions(per_cas_recbills);
|
BigDecimal transactions = this.getTransactions(per_cas_recbills);
|
||||||
recLB =recLB.add(transactions); //内部往来收入合计
|
recLB =recLB.add(transactions); //内部往来收入合计
|
||||||
|
|
||||||
|
@ -382,7 +313,7 @@ public class CapitalDayListDataPlugin extends AbstractReportListDataPlugin imple
|
||||||
per_payQF.and("org.id",QCP.equals,orgPkValue);
|
per_payQF.and("org.id",QCP.equals,orgPkValue);
|
||||||
per_payQF.and("paydate",QCP.large_equals,startDate);//付款日期paydate 业务日期bizdate
|
per_payQF.and("paydate",QCP.large_equals,startDate);//付款日期paydate 业务日期bizdate
|
||||||
per_payQF.and("paydate",QCP.less_equals,overDate);
|
per_payQF.and("paydate",QCP.less_equals,overDate);
|
||||||
DynamicObject[] per_cas_paybills = BusinessDataServiceHelper.load("cas_paybill", "id,org,org.id,org.number,payeenumber,actpayamt,currency,payeetype,payee", per_payQF.toArray());
|
DynamicObject[] per_cas_paybills = BusinessDataServiceHelper.load("cas_paybill", "id,org,org.id,org.number,payeenumber,actpayamt,currency,payeetype,payee,paymenttype", per_payQF.toArray());
|
||||||
HashMap<String, BigDecimal> stringBigDecimalHashMap = this.getTransactionsByfk(per_cas_paybills);
|
HashMap<String, BigDecimal> stringBigDecimalHashMap = this.getTransactionsByfk(per_cas_paybills);
|
||||||
payLB =payLB.add(stringBigDecimalHashMap.get("pay")); //内部往来支出合计
|
payLB =payLB.add(stringBigDecimalHashMap.get("pay")); //内部往来支出合计
|
||||||
recLB = recLB.add(stringBigDecimalHashMap.get("rec"));//内部往来收入合计(同公司收入补充)
|
recLB = recLB.add(stringBigDecimalHashMap.get("rec"));//内部往来收入合计(同公司收入补充)
|
||||||
|
|
Loading…
Reference in New Issue