Mercurial > HIS > BLT-XML
comparison ehis.pool.XML @ 2:a409f2a3ce0a default tip
Fix:修改文件名为英文名(Hgweb不支持中文路径)
author | Schmit <liny.jii@nnsui.com> |
---|---|
date | Sun, 08 Sep 2024 17:15:31 +0800 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1:be9328b4ea2d | 2:a409f2a3ce0a |
---|---|
1 <?xml version="1.0" encoding="UTF-8"?> | |
2 <report report-id="ehis.数据统计.营业收入.运营情况汇总" title="运营情况汇总" seq="0" is-detail="true"> | |
3 <description>运营情况汇总</description> | |
4 <attrs> | |
5 <attr key="datasource" value="default"/> | |
6 <attr key="leftFixedColCount" value="0"/> | |
7 <attr key="rightFixedColCount" value="0"/> | |
8 <attr key="showTotalRow" value="false"/> | |
9 <attr key="showRowIndex" value="true"/> | |
10 <attr key="showColIndex" value="false"/> | |
11 <attr key="showColLine" value="true"/> | |
12 <attr key="showRowLine" value="true"/> | |
13 <attr key="showHeader" value="false"/> | |
14 <attr key="showTools" value="false"/> | |
15 <attr key="trackMouseOver" value="true"/> | |
16 <attr key="defaultColWidth" value="100"/> | |
17 <attr key="rowNoColWidth" value="40"/> | |
18 <attr key="pageType" value="A4"/> | |
19 <attr key="pageDirect" value="V"/> | |
20 <attr key="pageFontSize" value="11"/> | |
21 <attr key="pageSize" value="297,210"/> | |
22 <attr key="pageMargin" value="10,10,10,10"/> | |
23 <attr key="pageMaxRowCount" value="50"/> | |
24 <attr key="autoSizeCol" value="0" /> | |
25 </attrs> | |
26 | |
27 <params> | |
28 <param id="jgxs"> | |
29 <sql> | |
30 <![CDATA[ | |
31 select count(1) col into #t from | |
32 ( | |
33 select 机构ID value,名称 text from bas_机构 where 机构ID=${user.companyPartyId} | |
34 union all | |
35 select 机构ID value,名称 text from bas_机构 where isnull(管理机构ID,'')=${user.companyPartyId} | |
36 ) a | |
37 ; | |
38 select case when col>1 then 'false' else 'true' end aaa from #t | |
39 ]]> | |
40 </sql> | |
41 </param> | |
42 <param id="mrjg"> | |
43 <sql> | |
44 <![CDATA[ | |
45 select ${user.companyPartyId} id | |
46 ]]> | |
47 </sql> | |
48 </param> | |
49 </params> | |
50 | |
51 <enums> | |
52 <enum id="tjjg"> | |
53 <sql> | |
54 <![CDATA[ | |
55 select 机构ID value,名称 text from bas_机构 where 机构ID=${user.companyPartyId} | |
56 union all | |
57 select 机构ID value,名称 text from bas_机构 where isnull(管理机构ID,'')=${user.companyPartyId} | |
58 ]]> | |
59 </sql> | |
60 </enum> | |
61 </enums> | |
62 | |
63 <header-items> | |
64 <header-item id="统计机构" type="enum" enum-id="tjjg" title="统计机构" default="${mrjg}" hidden="${jgxs}" value-col="value" use-like='false' text-col="text" width="250" trigger-query="false"/> | |
65 <header-item id="时间" type="datetimerange" title="统计时间" default="今天" width="190" trigger-query="false"/> | |
66 <header-item id="查找" type="text" width="150" use-like="false" title="查找" hidden="true" empty-text="请输入查找信息" trigger-query="false"/> | |
67 </header-items> | |
68 | |
69 <select> | |
70 <field id="分类" title="分类"><![CDATA[分类]]></field> | |
71 <field id="列1" title="列1"><![CDATA[列1]]></field> | |
72 <field id="列1值" title="列1值"><![CDATA[列1值]]></field> | |
73 <field id="列2" title="列2"><![CDATA[列2]]></field> | |
74 <field id="列2值" title="列2值"><![CDATA[列2值]]></field> | |
75 <field id="列3" title="列3"> <![CDATA[列3]]></field> | |
76 <field id="列3值" title="列3值"> <![CDATA[列3值]]></field> | |
77 <field id="列4" title="列4"> <![CDATA[列4]]></field> | |
78 <field id="列4值" title="列4值"> <![CDATA[列4值]]></field> | |
79 </select> | |
80 | |
81 <from> | |
82 <![CDATA[ | |
83 ( | |
84 select | |
85 '门诊情况' 分类,'挂号人数' 列1,gh.挂号人数 列1值,'挂号金额' 列2,cast(gh.挂号金额 as nvarchar(10)) 列2值, | |
86 '首诊人数' 列3,gh.首诊人数 列3值,'复诊人数' 列4,gh.复诊人数 列4值 | |
87 from #jg jg | |
88 left join #gh gh on jg.机构ID=gh.机构ID | |
89 union all | |
90 select | |
91 '门诊情况' 分类,'门诊人次' 列1,mzjs.门诊人次 列1值,'总金额' 列2,cast(mzjs.总金额 as nvarchar(10)) 列2值, | |
92 '医保金额' 列3,mzjs.报销金额 列3值,'现金金额' 列4,mzzf.现金支付 列4值 | |
93 from #jg jg | |
94 left join #mzjs mzjs on jg.机构ID=mzjs.机构ID | |
95 left join #mzzf mzzf on jg.机构ID=mzzf.机构ID | |
96 union all | |
97 select | |
98 '门诊情况' 分类,'处方总数' 列1,mzcf.处方总数 列1值,'药品金额' 列2,cast(mzcf.药品金额 as nvarchar(10)) 列2值, | |
99 '诊疗金额' 列3,mzcf.诊疗金额 列3值,'处方均额' 列4,case when mzcf.处方总数<>0 then cast(mzjs.总金额/mzcf.处方总数 as decimal(10,2)) else null end 列4值 | |
100 from #jg jg | |
101 left join #mzcf mzcf on jg.机构ID=mzcf.机构ID | |
102 left join #mzjs mzjs on jg.机构ID=mzjs.机构ID | |
103 union all | |
104 select | |
105 '门诊情况' 分类,'自费人次' 列1,mzjs.自费人次 列1值,'医保人次' 列2,cast(mzjs.医保人次 as nvarchar(10)) 列2值, | |
106 '普通门诊数' 列3,mzjs.普通门诊人次 列3值,'特病人次' 列4,mzjs.特病人次 列4值 | |
107 from #jg jg | |
108 left join #mzjs mzjs on jg.机构ID=mzjs.机构ID | |
109 union all | |
110 select | |
111 '住院情况' 分类,'入院总人数' 列1,ry.入院总人数 列1值,'当前在院总人数' 列2,cast(zy.在院总人数 as nvarchar(10)) 列2值, | |
112 '出院总人数' 列3,cy.出院总人数 列3值,'结算总人数' 列4,zyjs.结算总人数 列4值 | |
113 from #jg jg | |
114 left join #ry ry on jg.机构ID=ry.机构ID | |
115 left join #cy cy on jg.机构ID=cy.机构ID | |
116 left join #zyjs zyjs on jg.机构ID=zyjs.机构ID | |
117 left join #zy zy on jg.机构ID=zy.机构ID | |
118 union all | |
119 select | |
120 '住院情况' 分类,'结算金额' 列1,zyjs.结算金额 列1值,'职工金额' 列2,cast(zyjs.职工金额 as nvarchar(10)) 列2值, | |
121 '居民金额' 列3,zyjs.居民金额 列3值,'自费金额' 列4,zyjs.自费金额 列4值 | |
122 from #jg jg | |
123 left join #zyjs zyjs on jg.机构ID=zyjs.机构ID | |
124 union all | |
125 select | |
126 '住院情况' 分类,'预交收入' 列1,zyyj.预交收入 列1值,'药品收入' 列2,cast(zycf.药品收入 as nvarchar(10)) 列2值, | |
127 '诊疗收入' 列3,zycf.诊疗收入 列3值,'医院承担' 列4,zyjs.医院承担 列4值 | |
128 from #jg jg | |
129 left join #zyjs zyjs on jg.机构ID=zyjs.机构ID | |
130 left join #zyyj zyyj on jg.机构ID=zyyj.机构ID | |
131 left join #zycf zycf on jg.机构ID=zycf.机构ID | |
132 union all | |
133 select null,'',null,'工作量情况(医院实际工','作量情况,与结算','数据无关)',null,null,null | |
134 union all | |
135 select | |
136 null,'总费用',t.总金额,'药品金额',cast(t.药品金额 as nvarchar(10)) ,'诊疗金额',t.诊疗金额,null,null | |
137 from #gzl t | |
138 union all | |
139 select null,'',null,'各项收入项目费用情况','(结算数据)','',null,null,null | |
140 union all | |
141 select | |
142 null,a.收入项目,a.金额,b.收入项目,cast(b.金额 as nvarchar(10)) ,c.收入项目,c.金额,d.收入项目,d.金额 | |
143 from #a a | |
144 left join #b b on a.px+1=b.px | |
145 left join #c c on a.px+2=c.px | |
146 left join #d d on a.px+3=d.px | |
147 union all | |
148 select null, '合计' ,sum(t.金额),null,null,null,null,null,null | |
149 from #srxm t | |
150 ) t | |
151 ]]> | |
152 </from> | |
153 | |
154 <with> | |
155 <![CDATA[ | |
156 | |
157 with t as ( | |
158 select | |
159 gh.登记机构ID 机构ID, | |
160 count(distinct gh.档案ID) 挂号人数, | |
161 count(distinct case when isnull(jzjl.初诊,'是')='是' then jzjl.档案ID else null end) 首诊人数, | |
162 count(distinct case when isnull(jzjl.初诊,'是')='否' then jzjl.档案ID else null end) 复诊人数, | |
163 sum(js.金额) 挂号金额 | |
164 from reg_挂号 gh | |
165 inner join opd_记录 jzjl on gh.挂号ID=jzjl.挂号ID | |
166 inner join opc_记录_结算 js on gh.结算ID=js.结算ID | |
167 where gh.就诊日期 between ${时间_START} and ${时间_END} and gh.登记机构ID=${统计机构} | |
168 group by gh.登记机构ID | |
169 ) | |
170 select * into #gh from t; | |
171 select | |
172 js.结算机构ID 机构ID, | |
173 count(distinct jl.档案ID+'-'+jl.开单医生ID+'-'+convert(nvarchar(10),jl.登记时间,120)) 门诊人次, | |
174 sum(js.金额) 总金额, | |
175 sum(js.报销金额) 报销金额, | |
176 COUNT(DISTINCT (case when ybjs.结算ID IS NULL THEN jl.档案ID+'-'+jl.开单医生ID+'-'+convert(nvarchar(10),jl.登记时间,120) ELSE NULL END)) 自费人次, | |
177 COUNT(DISTINCT (case when ybjs.结算ID IS NOT NULL THEN jl.档案ID+'-'+jl.开单医生ID+'-'+convert(nvarchar(10),jl.登记时间,120) ELSE NULL END)) 医保人次, | |
178 count(distinct (case when jzlb.名称 in ('门诊慢特病') then jl.档案ID+'-'+jl.开单医生ID+'-'+convert(nvarchar(10),jl.登记时间,120) else null end)) 特病人次, | |
179 count(distinct (case when jzlb.名称 not in ('门诊慢特病') then jl.档案ID+'-'+jl.开单医生ID+'-'+convert(nvarchar(10),jl.登记时间,120) else null end)) 普通门诊人次 | |
180 into #mzjs | |
181 from opc_记录 jl | |
182 inner join opc_记录_结算 js on jl.记录ID=js.记录ID | |
183 left join yb_就诊结算记录 ybjs on js.结算ID=ybjs.结算ID | |
184 left join bas_就诊类别 jzlb on jl.医疗类别ID=jzlb.医疗类别ID AND jl.就诊类别ID=jzlb.就诊类别ID | |
185 where js.结算时间 between ${时间_START} and ${时间_END} and js.结算机构ID=${统计机构} | |
186 and jl.处方来源<>'门诊挂号' | |
187 group by js.结算机构ID | |
188 | |
189 | |
190 select | |
191 js.结算机构ID 机构ID, | |
192 sum(case when zffs.名称='现金' then zf.支付金额 else null end) 现金支付, | |
193 sum(case when zffs.名称!='现金' then zf.支付金额 else null end) 其他支付 | |
194 into #mzzf | |
195 from opc_记录_结算 js | |
196 inner join opc_记录 jl on js.记录ID=jl.记录ID | |
197 inner join opc_记录_结算_支付 zf on js.结算ID=zf.结算ID | |
198 inner join bas_支付方式 zffs on zf.支付方式ID=zffs.支付方式ID | |
199 where js.结算时间 between ${时间_START} and ${时间_END} and js.结算机构ID=${统计机构} | |
200 and jl.处方来源<>'门诊挂号' | |
201 group by js.结算机构ID | |
202 | |
203 | |
204 --cf | |
205 select | |
206 js.结算机构ID 机构ID, | |
207 count(distinct fymx.处方ID) 处方总数, | |
208 sum(case when xm.类别ID in ('5','6','7','8') then mx.金额 else null end) 药品金额, | |
209 sum(case when xm.类别ID not in ('5','6','7','8') then mx.金额 else null end) 诊疗金额 | |
210 into #mzcf | |
211 from opc_记录_明细 mx | |
212 inner join opc_记录_结算 js on mx.结算ID=js.结算ID | |
213 inner join bas_收费项目 xm on mx.项目ID=xm.项目ID | |
214 left join opd_处方_医嘱_费用 fymx on mx.医嘱明细ID=fymx.明细ID | |
215 where js.结算时间 between ${时间_START} and ${时间_END} AND js.结算机构ID=${统计机构} | |
216 group by js.结算机构ID | |
217 | |
218 --住院 | |
219 select jl.登记机构ID 机构ID, count(1) 入院总人数 into #ry | |
220 from ihm_记录 jl | |
221 where jl.入院时间 between ${时间_START} and ${时间_END} AND 登记机构ID=${统计机构} | |
222 group by jl.登记机构ID | |
223 | |
224 select | |
225 jl.登记机构ID 机构ID, | |
226 count(1) 在院总人数 | |
227 into #zy | |
228 from ihm_记录 jl | |
229 where jl.状态 in ('在床','待分') | |
230 group by jl.登记机构ID | |
231 | |
232 | |
233 | |
234 select | |
235 jl.登记机构ID 机构ID, count(1) 出院总人数 into #cy | |
236 from ihm_记录 jl | |
237 where jl.出院时间 between ${时间_START} and ${时间_END} | |
238 group by jl.登记机构ID | |
239 | |
240 select js.结算机构ID 机构ID,count(distinct 记录ID) 结算总人数, | |
241 sum(js.金额) 结算金额, | |
242 sum(case when ybjs.险种类型='310' then js.金额 else null end) 职工金额, | |
243 sum(case when ybjs.险种类型='390' then js.金额 else null end) 居民金额, | |
244 sum(case when ybjs.结算ID is null then js.金额 else null end) 自费金额, | |
245 sum(js.医院承担) 医院承担 | |
246 into #zyjs | |
247 from ihm_记录_结算 js | |
248 left join yb_就诊结算记录 ybjs on js.结算ID=ybjs.结算ID AND js.结算机构ID=${统计机构} | |
249 where js.结算时间 between ${时间_START} and ${时间_END} | |
250 group by js.结算机构ID | |
251 | |
252 select | |
253 yj.登记机构ID 机构ID, | |
254 sum(yj.金额) 预交收入 | |
255 into #zyyj | |
256 from ihm_记录_预交 yj | |
257 where yj.收费时间 between ${时间_START} and ${时间_END} and yj.登记机构ID=${统计机构} | |
258 group by yj.登记机构ID | |
259 | |
260 select js.结算机构ID 机构ID, | |
261 sum(case when xm.类别ID in ('5','6','7','8') then case when js.状态='作废' then -mx.金额 else mx.金额 end else null end) 药品收入, | |
262 sum(case when xm.类别ID not in ('5','6','7','8') then case when js.状态='作废' then -mx.金额 else mx.金额 end else null end) 诊疗收入 | |
263 into #zycf | |
264 from ihm_记录_结算 js | |
265 inner join ihm_记录_结算_明细 jsmx on js.结算ID=jsmx.结算ID | |
266 inner join ihm_记录_明细 mx on jsmx.明细ID=mx.明细ID | |
267 inner join bas_收费项目 xm on mx.项目ID=xm.项目ID | |
268 where js.结算时间 between ${时间_START} and ${时间_END} and js.结算机构ID=${统计机构} | |
269 group by js.结算机构ID | |
270 | |
271 | |
272 select | |
273 sum(case when xm.类别ID in ('5','6','7','8') then mx.金额 else null end) 药品金额, | |
274 sum(case when xm.类别ID not in ('5','6','7','8') then mx.金额 else null end) 诊疗金额, | |
275 sum(mx.金额) 总金额 into #mx | |
276 from opc_记录_明细 mx | |
277 inner join bas_收费项目 xm on mx.项目ID=xm.项目ID | |
278 where mx.登记时间 between ${时间_START} and ${时间_END} and mx.登记机构ID=${统计机构} | |
279 union all | |
280 select | |
281 sum(case when xm.类别ID in ('5','6','7','8') then mx.金额 else null end) 药品金额, | |
282 sum(case when xm.类别ID not in ('5','6','7','8') then mx.金额 else null end) 诊疗金额, | |
283 sum(mx.金额) 总金额 | |
284 from ihm_记录_明细 mx | |
285 inner join bas_收费项目 xm on mx.项目ID=xm.项目ID | |
286 where mx.登记时间 between ${时间_START} and ${时间_END} and mx.登记机构ID=${统计机构} | |
287 | |
288 select | |
289 sum(t.总金额) 总金额, | |
290 sum(t.药品金额) 药品金额, | |
291 sum(t.诊疗金额) 诊疗金额 | |
292 into #gzl | |
293 from #mx t | |
294 | |
295 | |
296 select | |
297 js.结算机构ID, | |
298 xm.收入项目, | |
299 sum(mx.金额) 金额 into #srxmmx | |
300 from opc_记录_结算 js | |
301 inner join opc_记录_明细 mx on js.结算ID=mx.结算ID | |
302 inner join bas_收费项目 xm on mx.项目ID=xm.项目ID | |
303 where js.结算时间 between ${时间_START} and ${时间_END} and js.结算机构ID=${统计机构} | |
304 group by js.结算机构ID,xm.收入项目 | |
305 union all | |
306 select | |
307 js.结算机构ID, | |
308 xm.收入项目, | |
309 sum(case when js.状态='作废' then -mx.金额 else mx.金额 end) 金额 | |
310 from ihm_记录_结算 js | |
311 inner join ihm_记录_结算_明细 jsmx on js.结算ID=jsmx.结算ID | |
312 inner join ihm_记录_明细 mx on jsmx.明细ID=mx.明细ID | |
313 inner join bas_收费项目 xm on mx.项目ID=xm.项目ID | |
314 where js.结算时间 between ${时间_START} and ${时间_END} and js.结算机构ID=${统计机构} | |
315 group by js.结算机构ID,xm.收入项目 | |
316 | |
317 | |
318 | |
319 select | |
320 t.结算机构ID,t.收入项目,sum(t.金额) 金额, | |
321 ROW_NUMBER()over(order by t.收入项目) px into #srxm | |
322 from #srxmmx t | |
323 group by t.结算机构ID,t.收入项目 | |
324 | |
325 select 收入项目,金额,px into #a from #srxm t where t.px%4=1 | |
326 select 收入项目,金额,px into #b from #srxm t where t.px%4=2 | |
327 select 收入项目,金额,px into #c from #srxm t where t.px%4=3 | |
328 select 收入项目,金额,px into #d from #srxm t where t.px%4=0 | |
329 | |
330 | |
331 select jg.机构ID into #jg | |
332 from bas_机构 jg | |
333 where jg.机构ID=${统计机构} | |
334 | |
335 ]]> | |
336 </with> | |
337 | |
338 | |
339 <where> | |
340 <![CDATA[ | |
341 | |
342 ]]> | |
343 </where> | |
344 | |
345 <groups> | |
346 <group> | |
347 <group-col id="分类" field-id="分类" width="120" span="true" span-dep-col-id="分类"/> | |
348 <group-col id="列1" field-id="列1" width="120" /> | |
349 <group-col id="列1值" field-id="列1值" width="80" /> | |
350 <group-col id="列2" field-id="列2" width="170"/> | |
351 <group-col id="列2值" field-id="列2值" width="125"/> | |
352 <group-col id="列3" field-id="列3" width="120"/> | |
353 <group-col id="列3值" field-id="列3值" width="80"/> | |
354 <group-col id="列4" field-id="列4" width="120"/> | |
355 <group-col id="列4值" field-id="列4值" width="80" /> | |
356 </group> | |
357 </groups> | |
358 | |
359 </report> |