9.以表格-树-表格表单三级主细为模板定制模块:文件目录三级管理

www.xaqyjc.com

1.业务需求:实现对目录和文件管理的一个维护模块,该模块涉及到三个表:文件目录表、文件表和员工表(T_Employee),文件目录表、文件表的逻辑结构和物理结构如下:

创建表的SQL:

CREATE TABLE F_Catalog
(
 CatalogID            varchar(10)  NOT NULL ,
 CatalogName          varchar(100)  NULL ,
 CreateID             int  NULL ,
 CreateDate           datetime  NULL ,
 ParentCatalogID      varchar(4)  NULL ,
 DelFlag              tinyint  NULL ,
 UpdateDateTime       datetime  NULL
)
go


ALTER TABLE F_Catalog
 ADD CONSTRAINT XPKF_Catalog PRIMARY KEY  NONCLUSTERED (CatalogID ASC)
go


CREATE TABLE F_File
(
 CatalogID            varchar(10)  NULL ,
 FileID               varchar(10)  NOT NULL ,
 FileLogicName        varchar(200)  NULL ,
 FilePhysicsName      varchar(100)  NULL ,
 DraftID              int  NULL ,
 AuditID              int  NULL ,
 Status               tinyint  NULL ,
 AuditDate            datetime  NULL ,
 DraftDate            datetime  NULL ,
 DelFlag              tinyint  NULL ,
 UpdateDateTime       datetime  NULL ,
 IsModify             bit  NULL ,
 IsPrint              bit  NULL ,
 SendID               int  NULL
)
go


ALTER TABLE F_File
 ADD CONSTRAINT XPKF_File PRIMARY KEY  NONCLUSTERED (FileID ASC)
go



ALTER TABLE F_File
 ADD CONSTRAINT R_1 FOREIGN KEY (CatalogID) REFERENCES F_Catalog(CatalogID)
  ON DELETE NO ACTION
  ON UPDATE NO ACTION
go



2.打开模块构件,新增一个模块,模块构件的属性设置界面如下:

3.打开界面元素构件,选中文件目录三级管理模块,新增“创建人信息”界面元素,界面元素的属性设置如下:

该界面元素为表格,其中查询SQL为:

select ceiling(count(*)/5.0) from T_Employee;
select TOP 5 * from (select ROW_NUMBER() OVER(ORDER BY EmpID) as RowNumber_,EmpName,Sex,IsMarried,Degree,EmpID
from v_Employee
) as a_ where a_.RowNumber_>@pageNo_

查询SQL中共有两个SQL查询语句,之间用分号分开,第一个SQL用于计算页数;第二个SQL用于查询出某页的数据,参数@pageNo_必需要有,表示某页的开始行号,由系统自动把下页开始行号值传入SQL,从而实现翻页的功能,函数ROW_NUMBER() OVER(ORDER BY ClassID)表示以EmpID字段进行排序来生成行号,该函数也必须有,因为用SQL进行翻页性能最好

选中文件目录三级管理模块的“创建人信息”界面元素,新增“文件目录”界面元素,界面元素的属性设置如下:

该界面元素为树--表单,有两个SQL,树节点表单数据的查询SQL为:

@CatalogID_;
select CatalogID,CatalogName,CreateDate,y.EmpName from FileData.dbo.F_Catalog x,T_Employee y
where x.CreateID=y.EmpID and CatalogID=@CatalogID_ and (x.DelFlag is null or x.DelFlag=0)

第一个SQL为树节点键值的参数,新增时用于返回键值的参数,第二个SQL用于查询某节点的数据。

构造树SQL为:

if(@CatalogID_='0') select CatalogID,CatalogName,isnull(ParentCatalogID,'') ParentCatalogID from FileData.dbo.F_Catalog where ParentCatalogID is null and (DelFlag is null or DelFlag=0) and CreateID=@CreateID_
else select CatalogID,CatalogName,isnull(ParentCatalogID,'') ParentCatalogID from FileData.dbo.F_Catalog whereParentCatalogID='@ParentCatalogID_' and (DelFlag is null or DelFlag=0) andCreateID=@CreateID_

选中文件目录三级管理模块的“创建人信息”界面元素,新增“文件列表”界面元素,界面元素的属性设置如下:


该界面元素为表格,查询SQL为:

select ceiling(count(*)/20.0) from FileData.dbo.F_File x,T_Employee y
where x.DraftID=y.EmpID and CatalogID=@CatalogID_;
select TOP 20 * from (select ROW_NUMBER() OVER(ORDER BY x.FileID) as RowNumber_,
case when x.SendID is null then x.FileLogicName else '(转发)'+x.FileLogicName end FileLogicName,x.FilePhysicsName,x.FileID,
x.DraftDate, x.DraftID,y.EmpName DraftName,x.Status,case when x.Status=0 then '起草' when x.Status=1
then '送审' when x.Status=2 then '否决' when x.Status=3 then '通过' end StatusName,
z.EmpName SendName
from FileData.dbo.F_File x left join T_Employee z on x.SendID=z.EmpID,T_Employee y
where x.DraftID=y.EmpID and CatalogID=@CatalogID_
) as a_ where a_.RowNumber_>@pageNo_

4.打开操作构件,选中文件目录三级管理模块中的文件目录界面元素,新增新增、修改、删除、保存、取消操作,这些操作的属性设置如下:

新增属性设置如下图:

修改属性设置如下图:

删除属性设置如下图:

其中点击前执行脚本为:

confirm('你确认要删除该文档目录吗?')

保存属性设置如下图:

取消属性设置如下图:

选中文件目录三级管理模块中的文件列表界面元素,新增修改、保存、取消操作,这些操作的属性设置如下:

修改属性设置如下图:

保存属性设置如下图:

取消属性设置如下图:

5.打开界面元素查询参数构件,选择文件目录三级管理模块的文件目录界面元素,新增两个查询参数@CatalogID_和@CreateID_,属性设置如下:

选择文件目录三级管理模块的文件列表界面元素,新增查询参数@CatalogID_,属性设置如下:


6.打开字段构件,选中文件目录三级管理模块中的创建人信息界面元素,新增如下字段:

EmpID字段属性设置:

EmpName字段属性设置如下:

Sex字段属性设置如下:

IsMarried字段属性设置如下:
Degree字段属性设置如下:
选中文件目录三级管理模块中的文件目录界面元素,新增如下字段:
CatalogID字段属性设置如下:
CatalogName字段属性设置如下:

EmpName字段属性设置如下:

CreateDate字段属性设置如下:
选中文件目录三级管理模块中的文件列表界面元素,新增如下字段:
FileID字段属性设置如下:
FileLogicName字段属性设置如下:
DraftName字段属性设置如下:
DraftDate字段属性设置如下:
StatusName字段属性设置如下:

7. 打开操作 SQL 构件,选中文件目录三级管理模块中的文件目录界面元素的删除操作,属性设置如下图
其中执行SQL为:
update FileData.dbo.F_Catalog set DelFlag=1 whereCatalogID=@CatalogID_
选中保存操作,其中新增状态的属性设置如下图:
新增状态的执行SQL为:
if(@ParentCatalogID_='0')
insert into FileData.dbo.F_Catalog(CatalogID,CatalogName,CreateID,CreateDate,ParentCatalogID,UpdateDateTime)
values(@CatalogID_,@CatalogName_,@CreateID_,getdate(),null,getdate())
else
insert into FileData.dbo.F_Catalog(CatalogID,CatalogName,CreateID,CreateDate,ParentCatalogID,UpdateDateTime)
values(@CatalogID_,@CatalogName_,@CreateID_,getdate(),@ParentCatalogID_,getdate())
其中修改状态的属性设置如下图:
修改状态的执行SQL为:
update FileData.dbo.F_Catalog
set CatalogName=@CatalogName_,
UpdateDateTime=getdate()
where CatalogID=@CatalogID_
选中文件目录三级管理模块中的文件列表界面元素的保存操作,属性设置如下图

执行SQL为:
update FileData.dbo.F_File setDraftDate=@DraftDate_ whereFileID=@FileID_
到此为止,该模块定制完成,定制出来的模块可以对文件目录、文件进行维护、查询操作了。模块界面如下图:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值