|
|
【myApps/OBPM版本号】:v4.4- sp23
【浏览器类型】:Chrome/其他
【联系方式-QQ】:
【联系电话】:
【问题描述】:能否给一个与视图对接的脚本示例?
【解决方法】:
- (function(){
- var FontBuilder = Packages.net.sf.dynamicreports.report.builder.style.FontBuilder;
- var DynamicReports = Packages.net.sf.dynamicreports.report.builder.DynamicReports;
- var Templates = Packages.cn.myapps.report.examples.Templates;
- var TextColumnBuilder = Packages.net.sf.dynamicreports.report.builder.column.TextColumnBuilder;
- var DRDataSource = Packages.net.sf.dynamicreports.report.datasource.DRDataSource;
- var DRException = Packages.net.sf.dynamicreports.report.exception.DRException;
- var JRDataSource = Packages.net.sf.jasperreports.engine.JRDataSource;
- var Calculation = Packages.net.sf.dynamicreports.report.constant.Calculation;
- var PageType = Packages.net.sf.dynamicreports.report.constant.PageType;
- var PageOrientation = Packages.net.sf.dynamicreports.report.constant.PageOrientation;
- var BigDecimal = Packages.java.math.BigDecimal;
- var Integer = Packages.java.lang.Integer;
- var String = Packages.java.lang.String;
- function createDataSource() {
- var dataSource = new DRDataSource("物料代码","物料名称","单位","单价","库存地","总金额","工厂", "数量");
- //var docid="__6jHaF7NmjDE3nqETmQ7";
- //var request = $WEB.getParamsTable().getHttpRequest();
- //var session = request.getSession();
- //var docid=session.getAttribute("getdocid");
- var docid = new Packages.cn.myapps.util.cache.MemoryCacheUtil().getFromPrivateSpace("getdocid",getWebUser());
- var sql="select *,sum(item_Count) as item_zongshu,item_Sale*sum(item_Count) as item_AllMoney from tlk_Logistics_Scrap_Material where parent='"+docid+"' group by item_SKUCode,item_StorageLocation,item_ConFactory order by item_SKUCode,item_StorageLocation,item_ConFactory";
- var domainid="11e6-20d4-4d46585f-89bc-6371125afd92";
- var APPLICATIONID="11e6-20d4-12c9a888-89bc-6371125afd92";
- var service = Packages.cn.myapps.designtime.common.service.DesignTimeServiceFactory.resolve("cn.myapps.designtime.datasource.service.DataSourceDesignTimeService");
- var datas = service.queryDataSourceSQL("cunhuoBusiness",sql,APPLICATIONID);
- if(datas!=null){
- for(var iterator = datas.iterator();iterator.hasNext();){
- var data = iterator.next();
- var skucode=data.get("item_SKUCode");
- var StandardName=data.get("item_StandardName");
- var StorageLocation=data.get("item_StorageLocation");
- var ConFactory=data.get("item_ConFactory");
- if(ConFactory==null||"".equals(ConFactory)){
- //(select item_ConFactoryName from tlk_ConFactory_Information where item_ConFactoryCode=item_ConFactory)item_ConFactoryName
- ConFactory=data.get("item_ConFactory");
- }
- var zongshu=data.get("item_zongshu");
- var AllMoney=data.get("item_AllMoney");
- var Sale=data.get("item_Sale");
- var Unit=data.get("item_Unit");
- dataSource.add(skucode,StandardName,Unit,Sale.toString(),StorageLocation,AllMoney.toString(),ConFactory,new BigDecimal(zongshu));
- }
- }
- return dataSource;
- }
- var boldFont = DynamicReports.stl.fontArialBold().setFontSize(12);
- var rowGroup = DynamicReports.ctab.rowGroup("物料代码", String).setTotalHeader("总计").setHeaderWidth(100);
- var rowGroup2 = DynamicReports.ctab.rowGroup("物料名称", String).setShowTotal(false).setHeaderWidth(250);
- var rowGroup3 = DynamicReports.ctab.rowGroup("单位", String).setShowTotal(false).setHeaderWidth(100);
- var rowGroup4 = DynamicReports.ctab.rowGroup("单价", String).setShowTotal(false).setHeaderWidth(100);
- var rowGroup5 = DynamicReports.ctab.rowGroup("库存地", String).setShowTotal(false).setHeaderWidth(100);
- var rowGroup6 = DynamicReports.ctab.rowGroup("总金额", String).setShowTotal(false).setHeaderWidth(100);
- var columnGroup = DynamicReports.ctab.columnGroup("工厂", String);
- var crosstab = DynamicReports.ctab.crosstab()
- .headerCell(DynamicReports.cmp.text("物料代码、物料名称、单位、单价、库存地、总金额 / 工厂").setStyle(Templates.boldCenteredStyle))
- .rowGroups(rowGroup,rowGroup2,rowGroup3,rowGroup4,rowGroup5,rowGroup6)
- .columnGroups(columnGroup)
- .measures(DynamicReports.ctab.measure("数量", "数量", BigDecimal, Calculation.SUM));
- return DynamicReports.report().setPageFormat(PageType.A2, PageOrientation.LANDSCAPE)
- .setTemplate(Templates.reportTemplate)
- .title(Templates.createTitleComponent("定期报废物料统计报表"))
- .summary(crosstab)
- .pageFooter(Templates.footerComponent)
- .setDataSource(createDataSource())
-
- })();
复制代码 |
|