报表开发步骤
- 格式:docx
- 大小:129.39 KB
- 文档页数:18
报表开发步骤
1 报表需要建的文件
可以在设计建模新建一个文件夹 也可以在业务建模下新建
2
ContractReportFilterUI:报表弹出的条件选择框,即过滤界面,新建需要mRptBaseConditionUI
F7控件以及其他控件在选用板中添加,绑定F7的实体对象 在F7的属性下使用queryinfo进行绑定
3 ContractReportUI: 报表展示页面,新键需要继承系统UI类,需要添加一个KDTABLE控件,右击该表格,可以编辑表信息,即添加列跟头,注意列名需跟表头对应起来。需要新建一个表头跟列名对应起来。 mRptBaseUI
4
CntractReportFacade:用于调用系统查询的Facade,也需要继承系统类
mRptBase
ContractReportFilterUI 方法说明
getCustomCondition:用于获取报表界面的界面参数,也可以理解成过滤信息
setCustomCondition: 用于将弹出UI的界面参数保存起来,和上面方法对应
onInit: 系统初始化方法,你可以初始化控件,也可以初始化控件值
verify:验证输入信息。 public class ContractReportFilterUI extends AbstractContractReportFilterUI {
private static final Logger logger = CoreUIObject
.getLogger(ContractReportFilterUI.class);
/**
* output class constructor
*/
public ContractReportFilterUI() throws Exception {
super();
setSize(400, 300); // 设置初始化大小
}
@Override
public void onLoad() throws Exception {
NewOrgViewF7PromptDialog f7 = new NewAdminF7(this);
// NewOrgViewF7PromptDialog f7 = new NewF7(this);
f7.setShowAssistantOrg(false);
f7.setIsCUFilter(false);
f7.setShowVirtual(true);
f7.setContainSealUp(false);
f7.setNeedAddAssistant(true);
f7.setPermissionItem("gl_voucher_add");
departmentF7.setSelector(f7);
// 设置必填
departmentF7.setRequired(true);
super.onLoad();
}
/**
* output storeFields method
*/
public void storeFields() {
super.storeFields();
}
// 用于获取过滤报表界面的界面参数,也可以理解成过滤信息
@Override
public RptParams getCustomCondition() {
RptParams rpt = new RptParams();
if (this.departmentF7.getValue() != null) {
rpt
.setObject("department", this.departmentF7.getValue() .toString());
} else {
rpt.setObject("department", null);
}
// 使用状态
if (this.kDBizPromptBox1.getValue() != null) {
rpt.setObject("status", ((FaUseStatusInfo) this.kDBizPromptBox1
.getValue()).getId().toString());
} else {
rpt.setObject("status", null);
}
// 资产类别
if (this.kDBizPromptBox2.getValue() != null) {
rpt.setObject("cat", ((FaCatInfo) this.kDBizPromptBox2.getValue())
.getId().toString());
} else {
rpt.setObject("cat", null);
}
// 存放地点
if (this.kDBizPromptBox3.getValue() != null) {
rpt.setObject("address", ((AddressInfo) this.kDBizPromptBox3
.getValue()).getId().toString());
} else {
rpt.setObject("address", null);
}
// 规格编号
if (!StringUtils.isEmpty(kDTextField1.getText())) {
rpt.setString("Specifications", kDTextField1.getText());
} else {
rpt.setString("Specifications", null);
}
// 资产编码
if (!StringUtils.isEmpty(kDTextField2.getText())) {
rpt.setString("asserts", kDTextField2.getText());
} else {
rpt.setString("asserts", null);
}
// 条形码
if (!StringUtils.isEmpty(kDTextField3.getText())) {
rpt.setString("bar", kDTextField3.getText());
} else { rpt.setString("bar", null);
}
// 编码
if (!StringUtils.isEmpty(kDTextField4.getText())) {
rpt.setString("number", kDTextField4.getText());
} else {
rpt.setString("number", null);
}
// 技术编码
if (!StringUtils.isEmpty(kDTextField5.getText())) {
rpt.setString("technology", kDTextField5.getText());
} else {
rpt.setString("technology", null);
}
return rpt;
}
// 系统初始化方法,你可以初始化控件,也可以初始化控件值
@Override
public void onInit(RptParams params) throws Exception {
}
// 用于将弹出UI的界面参数保存起来,和上面方法对应(保存方案中获取保存的值)
@Override
public void setCustomCondition(RptParams params) {
if(params.getObject("department") != null){
departmentF7.setValue(params.getObject("department"));
}else{
departmentF7.setValue(null);
}
if(params.getObject("status") !=null){
kDBizPromptBox1.setValue(params.getObject("status"));
}else{
kDBizPromptBox1.setValue(null);
}
if(params.getObject("cat") !=null){
kDBizPromptBox2.setValue(params.getObject("cat"));
}else{
kDBizPromptBox2.setValue(null);
}