PB制作报表操作手册V1.0

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PB制作手麻统计报表操作手册V1.0
1.原理跟制作文书单非常类似;但是有所区别,请谨记;
2.PB制作手麻统计报表,需要制作2个DATAWINDOW,也即是制作2个单子;其中一个的表现形式采用原有的FREEFORM,另外一个的表现形式为GRID,分别制作2张单子,使用自定义查询参数进行联结;
3.手麻统计报表的组成部分有4部分:详细会有截图进行阅览;
a)左侧树形菜单列表;
b)右侧上方查询条件;
c)中间部分为固定交互按钮;
d)主体下方为报表的实际数据展现区域;
4.具体的操作步骤如下:
设置数据库连接,跟文书单一样,不做解释;
制作查询条件DATAWINDOW,新建一个PBL,然后点击【NEW】新建一个
DATAWINDOW,在DATAWINDOW选项里面选择FREEFORM,点击确定,选择【SQL SELECT】,点击【NEXT】
点击【CHANCEL】,点击【design】下拉菜单里面的【CONVERT TO SYNTAX】,转入到代码编辑模式,进行SQL代码的编写,见截图:
截图里面的的模式下是SQL代码,AS后面的是查询条件,这个是根据用户要求来做查询条件,截图只是放入一个开始时间和结束时间;这个里面的
begintime,endtime作为查询条件,进而跟第二个DATAWINDOW里面的参数进行联结;点击【RETURN】按钮,返回到界面模式,修改参数的名字,字段属性需要进行一定的修改,点击一个字段,选择右侧属性选项卡里面的【EDIT】,在【styletype】下拉选择【EditMask】风格,在MASK里面调整时间格式为:yyyy/mm/dd即可,在下方勾选一个日历操作选项【Drop-Down Calendar】,每做一步点击保存,保存名字自己自定义,调整好属性后,点击【Retrieve】,进行界面效果预览,如下图所示
可以设置一系列的聚焦提示效果,提示文字以及聚焦显示手型图案,例如
保存完之后,第一个DATAWINDOW已经完成;
接下来制作第二个DATAWINDOW。

点击【NEW】,选择DATAWINDOW里面的【Grid】,接下来选择【SQL SELECT】在这里需要提醒一下,我们常规方式选择的是纯SQL语句进行查询,但是如果碰到逻辑较为复杂的报表,可以考虑使用存储过程进行查询,在这里我们选择【SQL SELECT】,别的步骤都跟文书单一样,依次往下点击,最终进入模式下,在SQL里面编写好脚本,先在数据库里面调试一下,看看数据是否正常或者是否有性能问题,没有问题需要定义参数,这里的参数就是上一个DATAWINDOW里面定义的列名,需要完全保持一致,在第二个GRID里面需要进行参数的定义,也即是如图所示:
SQL 脚本举例说明是这样写的:统计输血项
SELECT
(vchrDrugName+(CASE intRhBloodType WHEN 1 THEN ' RH+' WHEN 0 THEN ' RH-' ELSE '' END)) AS vchrDrugName,
vchrPatientName,
CASE intSex WHEN 0 THEN '女' WHEN 1 THEN '男' ELSE '未知' END AS vchrSex, dbo.fun_GetAge(CONVERT(VARCHAR(8),Birthday,112),CONVERT(VARCHAR(8) ,GETDATE(),112),0,0,1) AS Age,
vchrPatientCaseNO,
vchrOperatingRoomName,
CASE wf2_IntraopeRecord.intEmergency WHEN 0 THEN '择期' WHEN 1 THEN '急诊' ELSE '未知' END AS VchrEmergency,
dbo.fun_getOperationName(wf2_IntraopeRecord.IntraopeRecordId) AS OperationNames,
T.decTotalDose,
T.vchrTotalDoseUnit,
DoseUnit FROM wf2_IntraopeRecord
INNER JOIN (SELECT
IntraopeRecordId,vchrDrugName,SUM(wf2_UseDrug.decAmount) AS decTotalDose,
Convert(varchar(18),SUM(wf2_UseDrug.decAmount))+wf2_UseDrug.vchrUsed DoseUnit AS vchrTotalDoseUnit,
wf2_UseDrug.vchrUsedDoseUnit AS DoseUnit
FROM wf2_UseDrug
INNER JOIN dic_Drug ON wf2_UseDrug.DrugID=dic_Drug.DrugId
WHERE dic_Drug.intTypeID=4
GROUP BY IntraopeRecordId,vchrDrugName,vchrUsedDoseUnit
) T ON T.IntraopeRecordId=wf2_IntraopeRecord.IntraopeRecordId
INNER JOIN wf1_ApplyOperation ON
wf1_ApplyOperation.ApplyOperationId=wf2_IntraopeRecord.IntraopeRecordI d
LEFT JOIN bas_Patient ON
bas_Patient.PatientId=wf1_ApplyOperation.PatientId
LEFT JOIN wf1_PlanOperation ON
wf1_PlanOperation.ApplyID=wf1_ApplyOperation.ApplyOperationId
LEFT JOIN dic_OperatingRoom ON
dic_OperatingRoom.OperatingRoomId=wf1_PlanOperation.OperatingRoomID WHERE FactBeginTime>=cONVERT(VARCHAR(10),:BeginTime,120)+' 00:00:00' AND FactBeginTime<=CONVERT(VARCHAR(10),:EndTime)+' 23:59:59:999' ORDER BY vchrDrugName
没有问题的话,点击【RETURN】返回到界面进行参数传递保存预览;
以上算2个DATAWINDOWN全部完成,接下来需要进行整体的报表集成,那集成方式相当简单,基于客户端以及数据库配置即可;
1.把以及完成的DATAWINDOWN所属的PBL单独拉出来,后缀名改成.PBD即可,放到程序根目录下的statistics目录下面即可,配置一下statistics目录下面的
MH.AOIS.DWStatistics.exe.config数据库连接串即可;
2.接下来需要配置数据库里面的2个表:rpt_Template; rpt_TemplateStyle两张表通过RptTmpltID关联;其中rpt_Template是报表菜单数据配置表,按照要求进行数据插入即可
示例脚本如下:
INSERT INTO dbo.rpt_Template (RptTmpltID, RptTmpltTitle, Status, SortID, GroupTitle, GroupSortID, CreateDate, CreateUserID, UpdateDate, UpdateUserID)
VALUES ('A5F35E87-116D-40CB-AFCF-C4986A4B3466', '新输血统计', 1, 39, '手术统计', 6, '2015-09-15 16:12:00', NULL, NULL, NULL)
GO
INSERT INTO dbo.rpt_TemplateStyle (TmpltStyleID, RptTmpltID, Title, DWOQueryCondition, DWOReport, DWOReportPrint, PblDirectory, Status, SortID, IsDefault, QueryAreaHeight, EnableQueryMode)
VALUES ('A5F35E87-116D-40CB-AFCF-C4986A4B3466',
'A5F35E87-116D-40CB-AFCF-C4986A4B3466', '表格', 'cn_blood', 'stat_blood', NULL, NULL, 0, 1, 0, 0, 0)
GO
需要解释一下2个表里面需要配置的字段含义:
1. rpt_Template表里面
RptTmpltID为NEWID();
RptTmpltTitle为配置菜单里面的报表名称;
GroupSortID为分组ID号;
SortID为所属分组下的子ID号,按照顺序生成,可以从任意数据开始
其他字段可以忽略不计;正常插入同类数据即可;
2. rpt_TemplateStyle表里面
TmpltStyleID为模板风格ID,跟RptTmpltID一样为NEWID(),但是必修跟rpt_Template表里面的RptTmpltID一样;
DWOQueryCondition--查询条件的DATAWINDOWN名称;
DWOReport--实际报表的DATAWINDOWN名称;
其他字段可以忽略不计;正常插入同类数据即可;。

相关文档
最新文档