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】返回到界面进行参数传递保存预览;

相关文档
最新文档