- [x] 强弱共享报表优化(小计 StrongSharingQueryPlugin )
- [x] 强弱共享报表优化(合计 StrongSharingFormPlugin) - [x] 付款单推送费控(人员编码优化) --s
This commit is contained in:
parent
0811ca98c2
commit
2b47345d72
|
|
@ -139,10 +139,10 @@ public class PaybillOperation extends AbstractOperationServicePlugIn implements
|
|||
}
|
||||
}
|
||||
}
|
||||
// header.put("FM_UserCode", FM_UserCode);//员工工号,配置表(shjh_fksqr)
|
||||
// header.put("FM_CreateUserCode", FM_CreateUserCode);// 创建人工号
|
||||
header.put("FM_UserCode", "GH017994");//员工工号,配置表(shjh_fksqr)
|
||||
header.put("FM_CreateUserCode", "GH017994");// 创建人工号
|
||||
header.put("FM_UserCode", FM_UserCode);//员工工号,配置表(shjh_fksqr)
|
||||
header.put("FM_CreateUserCode", FM_CreateUserCode);// 创建人工号
|
||||
// header.put("FM_UserCode", "GH017994");//员工工号,配置表(shjh_fksqr)
|
||||
// header.put("FM_CreateUserCode", "GH017994");// 创建人工号
|
||||
|
||||
String FM_ExpenseTypeCode = "";
|
||||
if (null!= bill.getDynamicObject("shjh_bizbig")) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
package shjh.jhzj7.fi.fi.plugin.report;
|
||||
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.entity.report.ReportQueryParam;
|
||||
import kd.bos.report.plugin.AbstractReportFormPlugin;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* 报表界面插件
|
||||
* 强弱共享报表界面插件
|
||||
*/
|
||||
public class StrongSharingFormPlugin extends AbstractReportFormPlugin implements Plugin {
|
||||
|
||||
@Override
|
||||
public void processRowData(String gridPK, DynamicObjectCollection rowData, ReportQueryParam queryParam) {
|
||||
super.processRowData(gridPK, rowData, queryParam);
|
||||
|
||||
BigDecimal shjh_amountjz = new BigDecimal("0");//合计_基准日期-余额
|
||||
BigDecimal shjh_amounttn = new BigDecimal("0");//合计_同年比较日期-余额
|
||||
|
||||
for (DynamicObject rowDatum : rowData) {
|
||||
//银行名称(shjh_bankname)包含小计 汇总 (1.基准日期-余额(shjh_amountjz) 2.同年比较日期-余额(shjh_amounttn))
|
||||
if (rowDatum.getString("shjh_bankname").contains("小计")){
|
||||
BigDecimal amountjz = rowDatum.getBigDecimal("shjh_amountjz");
|
||||
shjh_amountjz=shjh_amountjz.add(amountjz);//基准日期-余额
|
||||
BigDecimal amounttn = rowDatum.getBigDecimal("shjh_amounttn");
|
||||
shjh_amounttn=shjh_amounttn.add(amounttn);//同年比较日期-余额
|
||||
}
|
||||
}
|
||||
DynamicObject dynamicObject = new DynamicObject(rowData.getDynamicObjectType());
|
||||
dynamicObject.set("shjh_orgnumber","合计");//组织编码
|
||||
dynamicObject.set("shjh_amountjz",shjh_amountjz);
|
||||
dynamicObject.set("shjh_amounttn",shjh_amounttn);
|
||||
rowData.add(dynamicObject);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -183,8 +183,8 @@ public class StrongSharingQueryPlugin extends AbstractReportListDataPlugin imple
|
|||
}
|
||||
}
|
||||
}
|
||||
result1.print(true);
|
||||
result2.print(true);
|
||||
// result1.print(true);
|
||||
// result2.print(true);
|
||||
|
||||
// 根据资金组织编码名称,银行名称进行左连接
|
||||
DataSet finalResult = result1.leftJoin(result2)
|
||||
|
|
@ -192,11 +192,30 @@ public class StrongSharingQueryPlugin extends AbstractReportListDataPlugin imple
|
|||
.on("shjh_bankname", "shjh_bankname")
|
||||
.on("shjh_orgnumber", "shjh_orgnumber")
|
||||
.on("shjh_companyisshare", "shjh_companyisshare")
|
||||
.select(new String[]{"shjh_orgnumber", "shjh_orgname", "shjh_bankname", "banknumber","shjh_companyisshare",
|
||||
"shjh_amountjz", "shjh_amounttn"})
|
||||
.select(new String[]{ "shjh_bankname","shjh_orgnumber", "shjh_orgname","shjh_companyisshare", "shjh_amountjz", "shjh_amounttn"})
|
||||
.finish();
|
||||
finalResult.print(true);
|
||||
// finalResult.print(true);
|
||||
|
||||
return finalResult;
|
||||
//分组小计 银行名称 基准余额,同年比较余额
|
||||
DataSet groupDataSet = finalResult.groupBy(new String[]{"shjh_bankname"}).sum("shjh_amountjz").sum("shjh_amounttn").finish();
|
||||
// 由于分组计算之后,Dataset的字段少了一个,需要通过addField加回来,为之后union做准备
|
||||
groupDataSet = groupDataSet
|
||||
.addField("NULL", "shjh_companyisshare")//公司属性:强共享/弱共享
|
||||
.addField("'-'", "shjh_orgnumber")//组织编码
|
||||
.addField("'-'","shjh_orgname");//组织名称
|
||||
|
||||
StringBuilder selectExpression = new StringBuilder();
|
||||
selectExpression.append("shjh_bankname,shjh_orgnumber,shjh_orgname,shjh_companyisshare,shjh_amountjz,shjh_amounttn");
|
||||
|
||||
// 应用SELECT转换
|
||||
groupDataSet = groupDataSet.select("concat(shjh_bankname+'小计') as "+ selectExpression);
|
||||
// union前,需要保证两个dataSet的字段序列一致,因此这里对sumDataSet对象重新排列字段序列
|
||||
groupDataSet = groupDataSet.select(String.valueOf(selectExpression));
|
||||
// union,此时groupDataSet会续在dataSet的底部
|
||||
DataSet unionDataSet = finalResult.union(groupDataSet);
|
||||
|
||||
// return unionDataSet;
|
||||
// 按组织名称排序,这样,底部的合计数据,就会与上面的组织名称排在一起
|
||||
return unionDataSet.orderBy(new String[]{"shjh_bankname"});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue