view plaincopy to
clipboardprint?
1.
2.
using System;
3.
using System.Collections.Generic;
4.
using System.ComponentModel;
5.
using System.Data;
6.
using System.Drawing;
7.
using System.Text;
8.
using System.Windows.Forms;
9.
using System.Net;
10.
using Smartbi.Catalog;
11.
using Smartbi.SimpleReport;
12.
using Smartbi.User;
13.
using Smartbi.AnalysisReport;
14.
using Smartbi.ManageReport;
15.
16.
namespace WebServiceDemo
17.
{
18.
public partial class Form1 : Form
19.
{
20.
private CookieContainer cookieContainer = new System.Net.CookieContainer();
21.
public Form1()
22.
{
23.
InitializeComponent();
24.
}
25.
private void button1_Click(object sender, EventArgs e)
26.
{
27.
/******用户管理模块测试**********/
28.
UserManagerService user = new UserManagerService();
29.
user.CookieContainer = cookieContainer;
30.
//登录
31.
user.login("admin", "manager");
32.
33.
//登录信息
34.
bool isLogged = user.isLogged();
35.
IUser currentUser = user.getCurrentUser();
36.
string currentUserName = currentUser.name;
37.
//新建组
38.
string newDepId = user.createDepartment("DEPARTMENT", "WebServiceTest", "WebService测试组", "", "WEBSERVICE");
39.
//新建用户
40.
string newUserId = user.createUser(newDepId, "WebServiceTest", "webservice测试用户", "", "manager", true);
41.
//新建角色
42.
string newRoleId = user.createRole("WebServiceTestRole", "WebService测试角色", "", newDepId, "0");
43.
//给用户分配角色
44.
string[] rolesOfUser = { "GROUPADMIN", "USERS" };
45.
user.assignRolesToUser(newUserId, rolesOfUser);
46.
47.
/******资源测试********/
48.
CatalogService catalog = new CatalogService();
49.
catalog.CookieContainer = cookieContainer;
50.
//获取根目录的子结点
51.
ICatalogElement[] childrenElement = catalog.getChildElements("DEFAULT_TREENODE");
52.
Boolean isCatalogAccessible = catalog.isCatalogElementAccessible("DEFAULT_TREENODE", "WRITE");
53.
54.
/****灵活报表测试*****/
55.
SimpleReportService simpleReport = new SimpleReportService();
56.
simpleReport.CookieContainer = cookieContainer;
57.
//此为报表ID,需要根据项目具体情况进行修改
58.
string reportId = "I
59.
//1.打开报表
60.
ClientReportView reportView = simpleReport.openQuery(reportId);
61.
string clientId = reportView.clientId;
62.
//2.设置报表参数,ID取业务查询中右边属性面板输出参数的ID,需要项目具体情况进行修改
63.
string paramId = "OutputParameter.I
64.
simpleReport.setParamValue(clientId, paramId, "3", "甜点、面包和糖");
65.
//3.取报表数据
66.
CellData[][] reportData = simpleReport.getReportDataWS(clientId, 0);
67.
foreach (CellData[] data in reportData)
68.
{
69.
foreach (CellData cellData in data)
70.
{
71.
string displayValue = cellData.displayValue;
72.
}
73.
}
74.
//4.关闭报表
75.
simpleReport.closeQuery(clientId);
76.
77.
/******多维分析*****/
78.
AnalysisReportService analysisReport = new AnalysisReportService();
79.
analysisReport.CookieContainer = cookieContainer;
80.
//此为多维分析ID,需要项目具体情况进行修改
81.
string analysisReportId = "I
82.
//1.打开报表
83.
string apClientId = analysisReport.openOlapReport(analysisReportId);
84.
//2.执行报表,获取数据
85.
AnalysisReportData apReportData = analysisReport.executeQueryWS(apClientId);
86.
AnalysisReportCell[] apReportCell = apReportData.cells;
87.
int rowCount = apReportData.rowCount;
88.
int rowSize = apReportData.rowSize;
89.
int countSize = apReportData.columnSize;
90.
91.
foreach (AnalysisReportCell cell in apReportCell)
92.
{
93.
if (cell == null)
94.
break;
95.
IMember[] rowMembers = cell.rowMembers;
96.
foreach (IMember rowMember in rowMembers)
97.
{
98.
string name = rowMember.uniqueName;
99.
string alias = rowMember.caption;
100.
}
101.
IMember[] colMembers = cell.columnMembers;
102.
foreach (IMember colMember in colMembers)
103.
{
104.
string name = colMember.uniqueName;
105.
string alias = colMember.caption;
106.
}
107.
}
108.
//3.关闭
109.
analysisReport.closeQuery(apClientId);
110.
111.
/******复杂报表*****/
112.
ManageReportService manageReport = new ManageReportService();
113.
manageReport.CookieContainer = cookieContainer;
114.
//此为复杂报表的名称,需要项目具体情况进行修改
115.
string complexReportName = "001";
116.
//1.打开报表
117.
ManageReportBean complexReport = manageReport.openReportByName(complexReportName);
118.
string complexReportClientId = complexReport.clientId;
119.
//2.刷新报表
120.
manageReport.refreshComplexReport(complexReportClientId);
121.
//3.关闭报表
122.
manageReport.closeReport(complexReportClientId);
123.
124.
/******指标报表*******/
125.
//此为指标报表的名称,需要项目具体情况进行修改
126.
string metricReportName = "report_006";
127.
//1.打开报表
128.
ManageReportBean metricReport = manageReport.openReportByName(metricReportName);
129.
string metricReportClientId = metricReport.clientId;
130.
//2.获取数据
131.
ManageReportCell[] reportCell = manageReport.getOriginalDataWS(metricReportClientId); ;
132.
foreach (ManageReportCell cell in reportCell)
133.
{
134.
ColumnRow row = cell.conflictCR;
135.
if (row != null)
136.
{
137.
int col = row.column;
138.
int r = row.row;
139.
}
140.
}
141.
//3.关闭报表
142.
manageReport.closeReport(metricReportClientId);
143.
144.
//注销
145.
user.logout();
146.
}
147.
}
148.
}