找回密码
 注册成为天翎用户
查看: 678|回复: 0

[客户分享] 能否给一个与视图对接的脚本示例?

[复制链接]
lingling17 发表于 2021-2-25 17:53:04 | 显示全部楼层 |阅读模式
【myApps/OBPM版本号】:v4.4- sp23
【浏览器类型】:Chrome/其他
【联系方式-QQ】:
【联系电话】:
【问题描述】:能否给一个与视图对接的脚本示例?

【解决方法】:
  1. (function(){
  2. var FontBuilder = Packages.net.sf.dynamicreports.report.builder.style.FontBuilder;
  3. var DynamicReports = Packages.net.sf.dynamicreports.report.builder.DynamicReports;
  4. var Templates = Packages.cn.myapps.report.examples.Templates;
  5. var TextColumnBuilder = Packages.net.sf.dynamicreports.report.builder.column.TextColumnBuilder;
  6. var DRDataSource = Packages.net.sf.dynamicreports.report.datasource.DRDataSource;
  7. var DRException = Packages.net.sf.dynamicreports.report.exception.DRException;
  8. var JRDataSource = Packages.net.sf.jasperreports.engine.JRDataSource;
  9. var Calculation = Packages.net.sf.dynamicreports.report.constant.Calculation;
  10. var PageType = Packages.net.sf.dynamicreports.report.constant.PageType;
  11. var PageOrientation = Packages.net.sf.dynamicreports.report.constant.PageOrientation;

  12. var BigDecimal = Packages.java.math.BigDecimal;
  13. var Integer = Packages.java.lang.Integer;
  14. var String = Packages.java.lang.String;

  15. function createDataSource() {
  16.         var dataSource = new DRDataSource("物料代码","物料名称","单位","单价","库存地","总金额","工厂", "数量");
  17.         //var docid="__6jHaF7NmjDE3nqETmQ7";
  18.         //var request = $WEB.getParamsTable().getHttpRequest();             
  19.     //var session = request.getSession();            
  20.     //var docid=session.getAttribute("getdocid");
  21.   var docid =  new Packages.cn.myapps.util.cache.MemoryCacheUtil().getFromPrivateSpace("getdocid",getWebUser());

  22.         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";
  23.         var domainid="11e6-20d4-4d46585f-89bc-6371125afd92";  
  24.           var APPLICATIONID="11e6-20d4-12c9a888-89bc-6371125afd92";  
  25.         var service = Packages.cn.myapps.designtime.common.service.DesignTimeServiceFactory.resolve("cn.myapps.designtime.datasource.service.DataSourceDesignTimeService");
  26.         var datas =        service.queryDataSourceSQL("cunhuoBusiness",sql,APPLICATIONID);
  27.         if(datas!=null){
  28.                 for(var iterator = datas.iterator();iterator.hasNext();){
  29.                         var data = iterator.next();
  30.                         var skucode=data.get("item_SKUCode");
  31.                         var StandardName=data.get("item_StandardName");
  32.                         var StorageLocation=data.get("item_StorageLocation");
  33.                         var ConFactory=data.get("item_ConFactory");
  34.                         if(ConFactory==null||"".equals(ConFactory)){
  35.                                 //(select item_ConFactoryName from tlk_ConFactory_Information where item_ConFactoryCode=item_ConFactory)item_ConFactoryName
  36.                                 ConFactory=data.get("item_ConFactory");
  37.                         }
  38.                         var zongshu=data.get("item_zongshu");
  39.                         var AllMoney=data.get("item_AllMoney");
  40.                         var Sale=data.get("item_Sale");
  41.                         var Unit=data.get("item_Unit");
  42.                         dataSource.add(skucode,StandardName,Unit,Sale.toString(),StorageLocation,AllMoney.toString(),ConFactory,new BigDecimal(zongshu));
  43.                 }
  44.         }

  45.         return dataSource;
  46. }

  47.                  var boldFont = DynamicReports.stl.fontArialBold().setFontSize(12);

  48.                var rowGroup = DynamicReports.ctab.rowGroup("物料代码", String).setTotalHeader("总计").setHeaderWidth(100);
  49.                  var rowGroup2 = DynamicReports.ctab.rowGroup("物料名称", String).setShowTotal(false).setHeaderWidth(250);
  50.                  var rowGroup3 = DynamicReports.ctab.rowGroup("单位", String).setShowTotal(false).setHeaderWidth(100);
  51.                  var rowGroup4 = DynamicReports.ctab.rowGroup("单价", String).setShowTotal(false).setHeaderWidth(100);
  52.                  var rowGroup5 = DynamicReports.ctab.rowGroup("库存地", String).setShowTotal(false).setHeaderWidth(100);
  53.                  var rowGroup6 = DynamicReports.ctab.rowGroup("总金额", String).setShowTotal(false).setHeaderWidth(100);

  54.         var columnGroup = DynamicReports.ctab.columnGroup("工厂", String);

  55.         var crosstab = DynamicReports.ctab.crosstab()
  56.                                        .headerCell(DynamicReports.cmp.text("物料代码、物料名称、单位、单价、库存地、总金额 / 工厂").setStyle(Templates.boldCenteredStyle))
  57.                                        .rowGroups(rowGroup,rowGroup2,rowGroup3,rowGroup4,rowGroup5,rowGroup6)
  58.                                        .columnGroups(columnGroup)
  59.                                        .measures(DynamicReports.ctab.measure("数量", "数量", BigDecimal, Calculation.SUM));


  60. return DynamicReports.report().setPageFormat(PageType.A2, PageOrientation.LANDSCAPE)
  61.                     .setTemplate(Templates.reportTemplate)
  62.                     .title(Templates.createTitleComponent("定期报废物料统计报表"))
  63.                     .summary(crosstab)
  64.                     .pageFooter(Templates.footerComponent)
  65.                     .setDataSource(createDataSource())
  66.                
  67. })();
复制代码

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-14 19:37

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表