- [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_UserCode", FM_UserCode);//员工工号,配置表(shjh_fksqr)
|
||||||
// header.put("FM_CreateUserCode", FM_CreateUserCode);// 创建人工号
|
header.put("FM_CreateUserCode", FM_CreateUserCode);// 创建人工号
|
||||||
header.put("FM_UserCode", "GH017994");//员工工号,配置表(shjh_fksqr)
|
// header.put("FM_UserCode", "GH017994");//员工工号,配置表(shjh_fksqr)
|
||||||
header.put("FM_CreateUserCode", "GH017994");// 创建人工号
|
// header.put("FM_CreateUserCode", "GH017994");// 创建人工号
|
||||||
|
|
||||||
String FM_ExpenseTypeCode = "";
|
String FM_ExpenseTypeCode = "";
|
||||||
if (null!= bill.getDynamicObject("shjh_bizbig")) {
|
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);
|
// result1.print(true);
|
||||||
result2.print(true);
|
// result2.print(true);
|
||||||
|
|
||||||
// 根据资金组织编码名称,银行名称进行左连接
|
// 根据资金组织编码名称,银行名称进行左连接
|
||||||
DataSet finalResult = result1.leftJoin(result2)
|
DataSet finalResult = result1.leftJoin(result2)
|
||||||
|
|
@ -192,11 +192,30 @@ public class StrongSharingQueryPlugin extends AbstractReportListDataPlugin imple
|
||||||
.on("shjh_bankname", "shjh_bankname")
|
.on("shjh_bankname", "shjh_bankname")
|
||||||
.on("shjh_orgnumber", "shjh_orgnumber")
|
.on("shjh_orgnumber", "shjh_orgnumber")
|
||||||
.on("shjh_companyisshare", "shjh_companyisshare")
|
.on("shjh_companyisshare", "shjh_companyisshare")
|
||||||
.select(new String[]{"shjh_orgnumber", "shjh_orgname", "shjh_bankname", "banknumber","shjh_companyisshare",
|
.select(new String[]{ "shjh_bankname","shjh_orgnumber", "shjh_orgname","shjh_companyisshare", "shjh_amountjz", "shjh_amounttn"})
|
||||||
"shjh_amountjz", "shjh_amounttn"})
|
|
||||||
.finish();
|
.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