【调度系统】广东民航医疗快线调度系统源代码
wzp
2024-12-05 9dc0d99742f5526321e1b5fdb0dec10e6725415e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>
<!--#include virtual="/inc/chkadmin.gds"-->
<!--#include virtual="/inc/function.gds"-->
<%'On Error Resume next
searchTXT=SafeRequest(trim(Request("searchTXT")))
searchTXTMore=SafeRequest(Request("searchTXTMore"))
If InStr(searchTXT,",")>0 Then
    searchTXTMore=searchTXT
    searchTXT=""
End If
OrdState=SafeRequest(Request("OrdState"))
OrdClassList=SafeRequest(Request("OrdClassList"))
OrdDateType=SafeRequest(Request("OrdDateType"))
OrdDateStart=SafeRequest(Request("OrdDateStart"))
OrdDateEnd=SafeRequest(Request("OrdDateEnd"))
UnitNameID=SafeRequest(Request("UnitNameID"))
CoopUnitID=SafeRequest(Request("CoopUnitID"))
 
OrdType=Request("OrdType")
 
If isDepartment("020115")=1 And (Mid(searchTXT,1,4)<>"out|" And Mid(searchTXT,1,3)<>"in|" And Mid(searchTXT,1,5)<>"hosp|") Then    '只显示个人相关服务单
    OAHospsql=" and (ServiceOrdID in (select ServiceOrdIDDt from ServiceOrd_Message where MessageState=1 and MessageOAid="&session("adminID")&") or ServiceOrd_Sale_ID="&session("adminID")&") "
    OAHospTXT="(个人)"
 
ElseIf isDepartment("070107")=1  Then    '只显示个人分管医院
    OAHospsql=" and (ServiceOrdPtOutHospID in (select HospID from HospData where HospOAID='"&session("adminID")&"' or HospOAID like '%,"&session("adminID")&",%') or ServiceOrdPtInHospID in (select HospID from HospData where HospOAID='"&session("adminID")&"' or HospOAID like '%,"&session("adminID")&",%'))  and FromHQ_is=1 "
 
ElseIf isDepartment("0301")=0 Then    '没显示列表权
    Response.Redirect "/"
    Response.End()
 
End If
 
Set rs = Server.CreateObject("ADODB.Recordset")
Set rsDt = Server.CreateObject("ADODB.Recordset")
'默认显示字段
UnitClass=SafeRequest(Request("UnitClass"))
If UnitClass<>"" And UnitNameID="" Then
    sql="select vID from dictionary where vtitle='UnitName' and ','+vOrder2+',' like '%,'+(select top 1 convert(varchar(3),vID) from dictionary where vtitle='OrderClass' and vOrder2='"&UnitClass&"')+',%'"
    rs.open Sql,objConn,1,1
    If not rs.Eof Then
        UnitNameID=CStr(rs("vID"))
    End If
    rs.close()
End If
If OrdState="" Then OrdState=0
If OrdState="Visit" Then
    Set rsVisit = Server.CreateObject("ADODB.Recordset")
    If OrdClassList="" Or OrdClassList="-1" Or OrdClassList="-2" Then OrdClassList="0"
    If OrdClassList="0" then
        OrdClassName = "全部回访"
    ElseIf OrdClassList="1" then
        OrdClassName = "已回访"
    Else
        OrdClassName = "未回访"
    End If
ElseIf OrdState="Image" Then
    Set rsImage = Server.CreateObject("ADODB.Recordset")
    If OrdClassList="" Then OrdClassList="0"
    If OrdClassList="1" then
        OrdClassName = "已审核"
    Else
        OrdClassName = "未审核"
    End If
Else
    If (isDepartment("070109")=1 Or UnitNameID="1" Or UnitNameID="6" Or UnitNameID="15") And OrdClassList="" Then
        OrdClassList="-1"
        OrdClassName    = "仅正常单"
    Else
        OrdClassName    = "全部"
    End If
End if
If OrdDateType="" And Request.Cookies("CAME")("OrdDateType")<>"" Then
    OrdDateType=Request.Cookies("CAME")("OrdDateType")
    OrdDateTop=" top 20 "
ElseIf OrdDateType="" Then
  OrdDateType=13
  OrdDateTop=" top 20 "
End If
Response.Cookies("CAME")("OrdDateType")=OrdDateType
 
'公司列表
If UnitNameID<>"" Then
    Response.Cookies("CAME")("UnitNameID")=UnitNameID
ElseIf UnitNameID="" And Request.Cookies("CAME")("UnitNameID")<>"" Then
    UnitNameID=Request.Cookies("CAME")("UnitNameID")
End If
if isDepartment("070109")=0 And OrdClassInt>1 Then
    UnitSql=" and replace(replace(vtext,'公司',''),'分','') in (select replace(vtext,'调度单','') from dictionary where vType in (1,2) and vtitle='OrderClass' and vtext like '%调度单' and vOrder2 in ('"&OrdClassListSql&"')) "
End If
UnitNameName=""
UnitNames = ""
sql="select vID,vtext,vType from dictionary where vType>=0 and vtitle='UnitName'"&UnitSql&" order by vType desc,vOrder"
rs.open Sql,objConn,1,1
u=0
do while not rs.Eof
    u=u+1
    UnitName=rs("vtext")
    UnitNameID_temp=rs("vID")
    If rs("vType")=0 Then UnitName=UnitName&"(停用)"
    UnitNames = UnitNames & rs("vID") &","& UnitName & "|"
    If UnitNameID=CStr(rs("vID")) Then UnitNameName    = UnitName
rs.movenext
Loop
rs.close()
If u>1 Then
    UnitNames = "0,全部|"&UnitNames
    If UnitNameName="" And Len(UnitNameID)>=3 Then
        UnitNameName=UBOUND(SPLIT(UnitNameID,","))+1&"家"
    ElseIf UnitNameName="" Then
        UnitNameName="全部"
    End If
Else
    UnitNameID=UnitNameID_temp
    UnitNameName=UnitName
End If
UnitNames = left(UnitNames,len(UnitNames)-1)
UnitNamesPS = SPLIT(UnitNames,"|")
 
'时间参数
If OrdDateType="0" then
    If OrdDateStart="" And OrdDateEnd="" Then
        OrdDateStart=Date()
        OrdDateEnd=Date()&" 23:59:59"
    ElseIf OrdDateStart<>"" And OrdDateEnd="" Then
        OrdDateEnd=OrdDateStart
    ElseIf OrdDateStart="" And OrdDateEnd<>"" Then
        OrdDateStart=OrdDateEnd
    End If
    If Cdate(OrdDateStart)>Cdate(OrdDateEnd) Then
        OrdDateStart1=OrdDateStart
        OrdDateStart=OrdDateEnd
        OrdDateEnd=OrdDateStart1
    End If
    If dateDiff("d",OrdDateStart,OrdDateEnd)>93 Then
        Response.Redirect "?SystemMessageType=4&SMT=9&OrdDateType=1"
        Response.End()
    End If
    If OrdDateStart=OrdDateEnd Then
        OrdDateStart=FORMATDATETIME(OrdDateStart,vbShortDate)
        OrdDateTypeName=OrdDateStart
        OrdDateTypeName1=OrdDateTypeName
        OrdDateEnd=FORMATDATETIME(OrdDateEnd,vbShortDate)
    Else
        OrdDateTypeName=OrdDateStart&" 至 "&OrdDateEnd
        OrdDateTypeName1="时间段"
    End If
    If InStr(OrdDateEnd," ")>1 Then
        SqlOrdDateType="between '"&OrdDateStart&"' and '"&OrdDateEnd&"'"
    Else
        SqlOrdDateType="between '"&OrdDateStart&"' and '"&OrdDateEnd&" 23:59:59'"
    End If
    
Else
    sql="select vID,vtext,vOrder2 from dictionary where vType>=1 and vtitle='OrdDateType' and vID="&OrdDateType
    rs.open Sql,objConn,1,1
    If not rs.Eof Then
        OrdDateTypeName    = rs("vtext")
        OrdDateTypeName1=OrdDateTypeName
        SqlOrdDateType    = rs("vOrder2")
    Else
        OrdDateType=4
        OrdDateTypeName="本月"
        OrdDateTypeName1=OrdDateTypeName
        SqlOrdDateType="between DATEADD(mm,DATEDIFF(mm,0,getdate()),0) and dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))"
    End If
    rs.close()
End If
 
 
'高级搜索
If searchTXTMore<>"" Then
    If Right(searchTXTMore,1)="," Then searchTXTMore=searchTXTMore&" "
    searchTXTMorePS = SPLIT(searchTXTMore,", ")
    searchTXTMoreUBOUND=UBOUND(searchTXTMorePS)
    If searchTXTMoreUBOUND>=0 Then searchTXTMore0=searchTXTMorePS(0)    '成交价范围-低
    If searchTXTMoreUBOUND>=1 Then searchTXTMore1=searchTXTMorePS(1)    '成交价范围-高
    If searchTXTMoreUBOUND>=2 Then searchTXTMore2=searchTXTMorePS(2)    '联系人姓名
    If searchTXTMoreUBOUND>=3 Then searchTXTMore3=searchTXTMorePS(3)    '联系电话
    If searchTXTMoreUBOUND>=4 Then searchTXTMore4=searchTXTMorePS(4)    '患者姓名
    If searchTXTMoreUBOUND>=5 Then searchTXTMore5=searchTXTMorePS(5)    '转出医院
    If searchTXTMoreUBOUND>=6 Then searchTXTMore6=searchTXTMorePS(6)    '转入医院
    If searchTXTMoreUBOUND>=7 Then searchTXTMore7=searchTXTMorePS(7)    '销售*
    If searchTXTMoreUBOUND>=8 Then searchTXTMore8=searchTXTMorePS(8)    '介绍人
    If searchTXTMoreUBOUND>=9 Then searchTXTMore9=searchTXTMorePS(9)    '客服*
    If searchTXTMoreUBOUND>=10 Then searchTXTMore10=searchTXTMorePS(10)    '调度*
    If searchTXTMoreUBOUND>=11 Then searchTXTMore11=searchTXTMorePS(11)    '来源*
    searchTXTMoreSql=""
    If searchTXTMore0<>"" And IsNumeric(searchTXTMore0) Then
        searchTXTMoreSql=searchTXTMoreSql&" and ServiceOrdTraTxnPrice>="&searchTXTMore0&" "
    End If
    If searchTXTMore1<>"" Then
        searchTXTMoreSql=searchTXTMoreSql&" and ServiceOrdTraTxnPrice<="&searchTXTMore1&" "
    End If
    If searchTXTMore2<>"" Then
        searchTXTMoreSql=searchTXTMoreSql&" and ServiceOrdCoName like '%"&searchTXTMore2&"%' "
    End If
    If searchTXTMore3<>"" Then
        searchTXTMoreSql=searchTXTMoreSql&" and ServiceOrdCoPhone like '%"&searchTXTMore3&"%' "
    End If
    If searchTXTMore4<>"" Then
        searchTXTMoreSql=searchTXTMoreSql&" and ServiceOrdPtName like '%"&searchTXTMore4&"%' "
    End If
    If searchTXTMore5<>"" Then
        searchTXTMoreSql=searchTXTMoreSql&" and (ServiceOrdPtOutHospID in (select HospID from HospData where HospName like '%"&searchTXTMore5&"%') or DispatchOrdTraVia like '%"&searchTXTMore5&"%') "
    End If
    If searchTXTMore6<>"" Then
        searchTXTMoreSql=searchTXTMoreSql&" and (ServiceOrdPtInHospID in (select HospID from HospData where HospName like '%"&searchTXTMore6&"%') or DispatchOrdTraEnd like '%"&searchTXTMore6&"%') "
    End If
    If searchTXTMore7<>"" Then
        searchTXTMoreSql=searchTXTMoreSql&" and ServiceOrd_Sale_ID in (select OA_User_ID from OA_User where OA_Name like '%"&searchTXTMore7&"%') "
    End If
    If searchTXTMore8<>"" Then
        searchTXTMoreSql=searchTXTMoreSql&" and ServiceOrdIntroducer in (select IntroducerID from IntroducerData where IntroducerName like '%"&searchTXTMore8&"%') "
    End If
    If searchTXTMore9<>"" Then
        searchTXTMoreSql=searchTXTMoreSql&" and ServiceOrd_CC_ID in (select OA_User_ID from OA_User where OA_Name like '%"&searchTXTMore9&"%') "
    End If
    If searchTXTMore10<>"" Then
        searchTXTMoreSql=searchTXTMoreSql&" and ServiceOrdID in (select ServiceOrdIDDt from DispatchOrd where DispatchOrd_NS_ID in (select OA_User_ID from OA_User where OA_Name like '%"&searchTXTMore10&"%')) "
    End If
    If searchTXTMore11<>"" Then
        searchTXTMoreSql=searchTXTMoreSql&" and ServiceOrdSource in (select vID from dictionary where vtitle in ('OrdSource') and vtext like '%"&searchTXTMore11&"%') "
    End If
    If searchTXTMoreSql<>"" Then
        searchTXTMoreSql= Mid(searchTXTMoreSql,5)
        searchTXT=searchTXTMore
    End If
End If
 
If searchTXTMoreSql<>"" Then
  searchSql=searchTXTMoreSql&" and DispatchOrd_NS_Time "&SqlOrdDateType
elseif searchTXT<>"" Then
  searchSql=""
  If Len(searchTXT)=11 And Left(searchTXT,2)="20" And IsNumeric(searchTXT) Then
    searchSql=" CONVERT(VARCHAR(10),DispatchOrd_NS_Time,120)=CONVERT(VARCHAR(10),'"&Mid(searchTXT,1,4)&"-"&Mid(searchTXT,5,2)&"-"&Mid(searchTXT,7,2)&"',120) and Right('00'+convert(varchar(3),DispatchOrdNo),3)='"&Right(searchTXT,3)&"' "
  ElseIf Len(searchTXT)=9 And Left(searchTXT,1)="2" And IsNumeric(searchTXT) Then
    searchSql=" CONVERT(VARCHAR(10),DispatchOrd_NS_Time,120)=CONVERT(VARCHAR(10),'20"&Mid(searchTXT,1,2)&"-"&Mid(searchTXT,3,2)&"-"&Mid(searchTXT,5,2)&"',120) and Right('00'+convert(varchar(3),DispatchOrdNo),3)='"&Right(searchTXT,3)&"' "
  ElseIf Len(searchTXT)=7 And (Left(searchTXT,1)="1" Or Left(searchTXT,1)="0") And IsNumeric(searchTXT) Then
    searchSql=" CONVERT(VARCHAR(10),DispatchOrd_NS_Time,120)=CONVERT(VARCHAR(10),'"&Year(now())&"-"&Mid(searchTXT,1,2)&"-"&Mid(searchTXT,3,2)&"',120) and Right('00'+convert(varchar(3),DispatchOrdNo),3)='"&Right(searchTXT,3)&"' "
  ElseIf Len(searchTXT)=5 And IsNumeric(searchTXT) Then
    searchSql=" CONVERT(VARCHAR(10),DispatchOrd_NS_Time,120)=CONVERT(VARCHAR(10),'"&Year(now())&"-"&Right("0"&Month(now()),2)&"-"&Mid(searchTXT,1,2)&"',120) and Right('00'+convert(varchar(3),DispatchOrdNo),3)='"&Right(searchTXT,3)&"' "
  ElseIf Len(searchTXT)=14 And Not IsNumeric(Left(searchTXT,2)) And IsNumeric(Mid(searchTXT,3,8)) And IsNumeric(Right(searchTXT,3)) And Mid(searchTXT,11,1)="-" Then
    searchSql=" DispatchOrdClass='"&Left(searchTXT,2)&"' and CONVERT(VARCHAR(10),DispatchOrd_NS_Time,120)=CONVERT(VARCHAR(10),'"&Mid(searchTXT,3,4)&"-"&Mid(searchTXT,7,2)&"-"&Mid(searchTXT,9,2)&"',120) and Right('00'+convert(varchar(3),DispatchOrdNo),3)='"&Right(searchTXT,3)&"' "
  ElseIf Len(searchTXT)=10 And IsNumeric(searchTXT) Then
    searchSql=" DispatchOrdID="&Right(searchTXT,10)&" "
  ElseIf Mid(searchTXT,1,4)="out|" Then    ' and DispatchOrdState in (8)
    searchSql=" (ServiceOrdPtOutHosp in (select vid from dictionary where vType=1 and vtitle='HospName' and vtext='"&Mid(searchTXT,5)&"')) and DispatchOrdState<>10 and DispatchOrd_NS_Time "&SqlOrdDateType
  ElseIf Mid(searchTXT,1,3)="in|" Then
    searchSql=" (ServiceOrdPtInHosp in (select vid from dictionary where vType=1 and vtitle='HospName' and vtext='"&Mid(searchTXT,4)&"')) and DispatchOrdState<>10 and DispatchOrd_NS_Time "&SqlOrdDateType
  ElseIf Mid(searchTXT,1,5)="hosp|" Then
    searchSql=" (ServiceOrdPtOutHosp in (select vid from dictionary where vType=1 and vtitle='HospName' and vtext='"&Mid(searchTXT,6)&"') or ServiceOrdPtInHosp in (select vid from dictionary where vType=1 and vtitle='HospName' and vtext='"&Mid(searchTXT,6)&"')) and DispatchOrdState<>10 and DispatchOrd_NS_Time "&SqlOrdDateType
  ElseIf Mid(searchTXT,1,6)="staff|" Then
    searchSql=" (DispatchOrdID in (select DispatchOrdIDDt from DispatchOrd_Entourage where EntourageState<>4 and EntourageOAid="&Mid(searchTXT,7)&")) and DispatchOrd_NS_Time "&SqlOrdDateType
  ElseIf Mid(searchTXT,1,7)="staff1|" Then
    searchSql=" (DispatchOrdID in (select DispatchOrdIDDt from DispatchOrd_Entourage where EntourageState=3 and EntourageOAid="&Mid(searchTXT,8)&")) and DispatchOrdState in (8,9) and DispatchOrd_NS_Time "&SqlOrdDateType
  ElseIf Mid(searchTXT,1,8)="OrdType|" Then
    If searchTXT="OrdType|特殊单" Then
        searchSql=" (ServiceOrdIDDt in (select ServiceOrdID from ServiceOrder where ServiceOrdState=3 and ServiceOrdType in (select vID from dictionary where vtitle='ServiceOrderType' and vType=2))) and DispatchOrdState not in (10) and DispatchOrd_NS_Time "&SqlOrdDateType
    Else
        searchSql=" (ServiceOrdIDDt in (select ServiceOrdID from ServiceOrder where ServiceOrdState=3 and ServiceOrdType="&Mid(searchTXT,9)&")) and DispatchOrdState not in (10) and DispatchOrd_NS_Time "&SqlOrdDateType
    End If
  ElseIf Mid(searchTXT,1,12)="OrdAreaType|" Then
    searchSql=" (ServiceOrdIDDt in (select ServiceOrdID from ServiceOrder where ServiceOrdState=3 and ServiceOrdAreaType="&Mid(searchTXT,13)&")) and DispatchOrdState not in (10) and DispatchOrd_NS_Time "&SqlOrdDateType
  ElseIf Mid(searchTXT,1,10)="FrontLine|" Then
    sql="select vID,vtext,vOrder2 from dictionary where vType=1 and vtitle='Report_FrontLine' and vID="&Mid(searchTXT,11)
    rs.open sql,objConn,1,1
    If not rs.Eof Then
        FrontSql=rs("vOrder2")
    End If
    rs.close()
    searchSql=" DispatchOrdState not in (0,1,2,3,9,10) and DispatchOrd_NS_Time "&SqlOrdDateType&" "&FrontSql
  ElseIf Mid(searchTXT,1,12)="StaffScore0|" Then
    StaffScore=Split(Mid(searchTXT,13),"|")
    searchSql=" (ServiceOrdIDDt in (select ServiceOrdID VisitSum from ServiceOrder,DispatchOrd_Entourage,DispatchOrd where ServiceOrdClass='"&StaffScore(1)&"' and EntourageState<>4 and DispatchOrdIDDt=DispatchOrdID and ServiceOrdID=ServiceOrdIDDt and DispatchOrdState not in (10,9) and (RV_PointE like '%1%' or RV_PointE like '%2%' or Guest_PointE like '%1%' or Guest_PointE like '%2%') and (ServiceOrdVisit_time "&SqlOrdDateType&" or Guest_Time "&SqlOrdDateType&") )) "
  ElseIf Mid(searchTXT,1,12)="StaffScore1|" Then
    StaffScore=Split(Mid(searchTXT,13),"|")
    searchSql=" (ServiceOrdIDDt in (select ServiceOrdID from ServiceOrder where ServiceOrdVisit like '%"&StaffScore(0)&"%' and ServiceOrdClass='"&StaffScore(1)&"' and ServiceOrdVisit_time "&SqlOrdDateType&")) "
  ElseIf Mid(searchTXT,1,12)="StaffScore2|" Then
    StaffScore=Split(Mid(searchTXT,13),"|")
    If StaffScore(0)="其他(手写)" Then
        ReturnChannelSql=" and ServiceOrdReturnChannel not in ('医生护士推荐','护工保安推荐','亲朋好友推荐','小程序或公众号','名片或广告','百度搜索','老用户') "
    Else
        ReturnChannelSql=" and ServiceOrdReturnChannel='"&StaffScore(0)&"' "
    End If
    searchSql=" (ServiceOrdIDDt in (select ServiceOrdID from ServiceOrder where ServiceOrdVisit_time "&SqlOrdDateType&" "&ReturnChannelSql&" and ServiceOrdClass='"&StaffScore(1)&"')) "
  Else
    searchSql=" (ServiceOrdCoName like '%"&searchTXT&"%' or ServiceOrdCoPhone like '%"&searchTXT&"%' or ServiceOrdPtName like '%"&searchTXT&"%' or ServiceOrdTraStreet like '%"&searchTXT&"%' or ServiceOrdTraEnd like '%"&searchTXT&"%' or ServiceOrdPtOutHosp in (select vid from dictionary where vType=1 and vtitle='HospName' and vtext like '%"&searchTXT&"%')) "
  End If
  searchSumSql=searchSql
  searchSumSql1="DispatchOrd_NS_Time "&SqlOrdDateType
else
  searchSql=" DispatchOrd_NS_Time "&SqlOrdDateType&" "
  If isDepartment("010401")=1 then
    '演示功能 不显示价格
    searchSql=searchSql&" and DispatchOrdState not in (9,10,14) "
  End If
  
  '单据状态
  If OrdState="0" Then
    searchSql=searchSql&""
  ElseIf OrdState="1" Then    '新调度单(未下发)
    searchSql=searchSql&" and DispatchOrdState in (0) "
  ElseIf OrdState="2" Then    '等待确认订单(已下发)
    searchSql=searchSql&" and DispatchOrdState in (1,2) "
  ElseIf OrdState="4" Then    '服务中
    searchSql=" DispatchOrdState in (4,5,6,7) "
  ElseIf OrdState="4_4" Then    '4-已出车(去接)
    searchSql=" DispatchOrdState in (4) "
  ElseIf OrdState="4_5" Then    '5-已出车(等待)
    searchSql=" DispatchOrdState in (5) "
  ElseIf OrdState="4_6" Then    '6-已出车(已接 )
    searchSql=" DispatchOrdState in (6) "
  ElseIf OrdState="4_7" Then    '7-已送达(回程中)
    searchSql=" DispatchOrdState in (7) "
  ElseIf OrdState="8_0" Then'已返回(未审核)
    searchSql=" DispatchOrdState in (8,9) and DispatchOrd_AP_Check=0 and DispatchOrd_NS_Time "&SqlOrdDateType
  ElseIf OrdState="8_2" Then'已返回(未提交)
    searchSql=" DispatchOrdState in (8,9) and DispatchOrdIsEnd=0 and DispatchOrd_NS_Time "&SqlOrdDateType
  ElseIf OrdState="8_1" Then'已返回(审核)
    searchSql=" DispatchOrdState in (8,9) and DispatchOrd_AP_Check>0 and DispatchOrd_AP_Check<=3 and DispatchOrd_NS_Time "&SqlOrdDateType
  ElseIf OrdState="8_5" Then'已返回(等待财务审核)
    searchSql=" DispatchOrdState in (8,9) and DispatchOrd_AP_Check=1 and DispatchOrdClass='SA' and DispatchOrd_NS_Time "&SqlOrdDateType
  ElseIf OrdState="8_4" Then'已返回(审核不通过)
    searchSql=" DispatchOrdState in (8,9) and DispatchOrdIsEnd=-1 and DispatchOrd_NS_Time "&SqlOrdDateType
  ElseIf OrdState="8_3" Then'所有订单
 
  ElseIf OrdState="9" Then    '跑空单
    searchSql=searchSql&" and DispatchOrdState in (9) "
  ElseIf OrdState="Visit" And OrdClassList="1" Then
    searchSql=searchSql&" and DispatchOrdState in (8,9) and ServiceOrdVisit_ID is not null and ServiceOrdType in (select vID from dictionary where vType=1 and vtitle='ServiceOrderType' and vID not in (7))"
  ElseIf OrdState="Visit" And OrdClassList="2" Then
    searchSql=searchSql&" and DispatchOrdState in (8,9) and ServiceOrdVisit_ID is null and ServiceOrdType in (select vID from dictionary where vType=1 and vtitle='ServiceOrderType' and vtitle='ServiceOrderType' and vID not in (7))"
  ElseIf OrdState="Visit" Then
    searchSql=searchSql&" and DispatchOrdState in (8,9) and ServiceOrdType in (select vID from dictionary where vType=1 and vtitle='ServiceOrderType' and vtitle='ServiceOrderType' and vID not in (7))"
  ElseIf OrdState="Image" Then
    If OrdClassList="1" Then
        searchSql=searchSql&" and DispatchOrdState in (2,3,4,5,6,7,8,9) and (DispatchOrdID in (select DOrdIDDt from ImageData where isAP=1) and DispatchOrdID not in (select DOrdIDDt from ImageData where isAP=0)) and ServiceOrdType in (select vID from dictionary where vType=1 and vtitle='ServiceOrderType') "
    Else
        searchSql=searchSql&" and DispatchOrdState in (2,3,4,5,6,7,8,9) and (DispatchOrdID in (select DOrdIDDt from ImageData where isAP=0) or DispatchOrdID not in (select DOrdIDDt from ImageData where isAP=1)) and ServiceOrdType in (select vID from dictionary where vType=1 and vtitle='ServiceOrderType') "
    End If
  Else
    searchSql=searchSql&" and DispatchOrdState in ("&OrdState&") "
  End If
 
  '单据类型
  If OrdClassList="-1" And OrdState<>"Visit" And OrdState<>"Image" Then
    searchSumSql1=searchSql
    searchSql=searchSql&" and ServiceOrdType in (select vID from dictionary where vType=1 and vtitle='ServiceOrderType') "
    searchSumSql=searchSql
  ElseIf OrdClassList="-2" And OrdState<>"Visit" And OrdState<>"Image" Then
    searchSumSql1=searchSql
    searchSql=searchSql&" and ServiceOrdType in (select vID from dictionary where vType=2 and vtitle='ServiceOrderType') "
    searchSumSql=searchSql
  ElseIf OrdClassList="-3" And OrdState<>"Visit" And OrdState<>"Image" Then
    searchSumSql1=searchSql
    searchSql=searchSql&" and ServiceOrdID in (select ServiceOrdTMID from ServiceOrd_TransferMode where TransferModeID=7) "
    searchSumSql=searchSql
  ElseIf OrdClassList<>"" And OrdClassList<>"0" And OrdState<>"Visit" And OrdState<>"Image" Then
    searchSumSql1=searchSql&" and ServiceOrdType in ("&OrdClassList&") "
    searchSql=searchSql&" and ServiceOrdType in ("&OrdClassList&") "
    searchSumSql=searchSql&" and ServiceOrdType in ("&OrdClassList&") "
  Else
    searchSumSql=searchSql
    searchSumSql1=searchSql
  End If
 
end If
 
'查看合作公司
If CoopUnitID<>"" And CoopUnitID<>"0" Then
  If Left(CoopUnitID,2)="0," Then CoopUnitID=Mid(CoopUnitID,3)
  CoopUnitSql=" And  (ServiceOrdUnitID in ("&CoopUnitID&")"
    sql="select HospID,HospIntroducerDate from HospData,IntroducerData where HospIntroducerID=IntroducerID and IntroducerUnitID in ("&CoopUnitID&") GROUP BY HospID,HospIntroducerDate order by HospIntroducerDate"
    rs.open sql,objConn,1,1
    If not rs.Eof Then
        UnitHospDateOld=""
        do while not rs.Eof
            If UnitHospDateOld<>rs(1) then
                UnitHospDate=UnitHospDate&"|"&rs(1)
                UnitHospID=UnitHospID&"|"
                UnitHospDateOld=rs(1)
            End If
            UnitHospID=UnitHospID&","&rs(0)
        rs.movenext
        Loop
        UnitHospDateSP    = SPLIT(UnitHospDate,"|")
        UnitHospIDSP    = SPLIT(UnitHospID,"|")
        for i=1 to ubound(UnitHospDateSP)
            CoopUnitSql=CoopUnitSql&" or (ServiceOrdPtOutHospID in ("&Mid(UnitHospIDSP(i),2)&") and ServiceOrd_CC_Time>='"&UnitHospDateSP(i)&"')"
        Next
    End If
    rs.close()
  CoopUnitSql=CoopUnitSql&")"
Else
  CoopUnitSql=""
End If
 
'查看A级单权限
'If isDepartment("020111")=0 Then
'    CoopUnitSql=CoopUnitSql&" and OrderLevel<>1"
'End If
 
'查看各分公司报表权限
if (isDepartment("070109")=1 Or OrdClassInt>1) And UnitNameID<>"" then
  If UnitNameID<>"" And UnitNameID<>"0" Then
    OrdClassListSql=""
    sql="select vOrder2 from dictionary where vtitle='UnitName' and vID in ("&UnitNameID&")"
    rs.open sql,objConn,1,1
    do while not rs.Eof
        UnitTypeID    = UnitTypeID&","&rs(0)
        rs.movenext
    Loop
    rs.close()
    If UnitTypeID<>"" Then
        UnitTypeID=Mid(UnitTypeID,2)
        sql="select vID,vtext,vOrder2 from dictionary where vID in ("&UnitTypeID&") and vtitle='OrderClass' order by vOrder"
        rs.open sql,objConn,1,1
        do while not rs.Eof
            OrderClassID    = rs("vOrder2")
            OrdClassListSql    = OrdClassListSql&","&OrderClassID
            rs.movenext
        Loop
        OrdClassListSql=Mid(OrdClassListSql,2)
        OrdClassListSql=Replace(OrdClassListSql,",","','")
    End If
    rs.close()
    
  ElseIf isDepartment("070109")=1 Then
    OrdClassListSql=""
    sql="select vID,vtext,vOrder2 from dictionary where vType in (1,2) and vtitle='OrderClass' order by vOrder"
    rs.open sql,objConn,1,1
    do while not rs.Eof
        OrderClassID    = rs("vOrder2")
        OrdClassListSql    = OrdClassListSql&","&OrderClassID
        rs.movenext
    loop
    rs.close()
    OrdClassListSql=Mid(OrdClassListSql,2)
    OrdClassListSql=Replace(OrdClassListSql,",","','")
  End If
end If
 
If OrdType="DispatchOrder_List" And OrdState<>"Image" And OrdState<>"Visit"  Then
    If OrdDateType="6" Then
        Response.Write "--"
    Else
        page=clng(request("page"))
        if page=empty then page=clng(1)
        If page=1 Or session("DispatchOrderSun")="" Then
            '当前查询统计 OrdClassListSql
            sql="select Sum_OrdInt=isnull(SUM(Sum_OrdInt),0),Sum_TraTxnPrice=isnull(SUM(Sum_TraTxnPrice),0) from (select Sum_OrdInt=COUNT(DispatchOrdID),case when isnull(SUM(ServiceOrdTraTxnPrice+StretcherMoney),0)=0 or DispatchOrdPerfomance=0 then 0 else SUM(ServiceOrdTraTxnPrice+StretcherMoney)/((select SUM(DispatchOrdPerfomance) from DispatchOrd where ServiceOrdIDDt=ServiceOrdID and DispatchOrdState not in (10))/DispatchOrdPerfomance) END as Sum_TraTxnPrice from DispatchOrd LEFT JOIN ServiceOrder on ServiceOrdIDDt=ServiceOrdID  where "&searchSumSql&CoopUnitSql&OAHospsql&" and (ServiceOrdClass in ('"&OrdClassListSql&"') or DispatchOrdClass in ('"&OrdClassListSql&"')) and DispatchOrdState not in (10) GROUP BY DispatchOrdPerfomance,ServiceOrdID) as aa"
            sql=Replace(sql," where  and "," where ")
            'Response.Write sql
            rs.open sql,objConn,1,1
            Sum_OrdInt        = rs("Sum_OrdInt")
            Sum_TraTxnPrice    = MoneyCheck(rs("Sum_TraTxnPrice"),1)
            rs.close()
            DispatchOrderSun="当前查询统计&nbsp;&nbsp;&nbsp;&nbsp;单据数量: "&Sum_OrdInt&" 费用合计: "&Sum_TraTxnPrice
 
            If (InStr(OrdClassListSql,"SA")>0 Or InStr(OrdClassListSql,"BF")>0) Then
                    DispatchOrderSun = DispatchOrderSun&"<span style='float: right;'>"
                    '当天查询统计
                    sql="select Sum_OrdInt=isnull(SUM(Sum_OrdInt),0),Sum_TraTxnPrice=isnull(SUM(Sum_TraTxnPrice),0) from (select Sum_OrdInt=COUNT(DispatchOrdID),case when isnull(SUM(ServiceOrdTraTxnPrice+StretcherMoney),0)=0 or DispatchOrdPerfomance=0 then 0 else SUM(ServiceOrdTraTxnPrice+StretcherMoney)/((select SUM(DispatchOrdPerfomance) from DispatchOrd where ServiceOrdIDDt=ServiceOrdID and DispatchOrdState not in (10))/DispatchOrdPerfomance) END as Sum_TraTxnPrice from DispatchOrd LEFT JOIN ServiceOrder on ServiceOrdIDDt=ServiceOrdID  where "&searchSumSql1&CoopUnitSql&OAHospsql&" and (ServiceOrdClass in ('BF') or DispatchOrdClass in ('SA')) and DispatchOrdState not in (10) GROUP BY DispatchOrdPerfomance,ServiceOrdID) as aa"
                    sql=replace(sql,"DispatchOrd_NS_Time "&SqlOrdDateType,"DispatchOrd_NS_Time between DATEADD(dd,DATEDIFF(dd,0,getdate()),0) and DATEADD(ss,-1,DATEADD(dd,DATEDIFF(dd,0,getdate()),1)) ")
                    sql=Replace(sql," where  and "," where ")
                    'Response.Write sql
                    rs.open sql,objConn,1,1
                    Sum_OrdInt        = rs("Sum_OrdInt")
                    Sum_TraTxnPrice    = MoneyCheck(rs("Sum_TraTxnPrice"),1)
                    rs.close()
                    DispatchOrderSun = DispatchOrderSun&"今天单据数量: "&Sum_OrdInt&" 费用合计: "&Sum_TraTxnPrice
 
                    '当天分部支援统计 -暂时取消(2022-4-26)
                    'sql="select Sum_OrdInt=isnull(SUM(Sum_OrdInt),0),Sum_TraTxnPrice=isnull(SUM(Sum_TraTxnPrice),0) from (select Sum_OrdInt=COUNT(ServiceOrdID),case when DispatchOrdPerfomance IS null then ServiceOrdTraTxnPrice when isnull(SUM(ServiceOrdTraTxnPrice+StretcherMoney),0)=0 or DispatchOrdPerfomance=0 then 0 else SUM(ServiceOrdTraTxnPrice+StretcherMoney)/((select SUM(DispatchOrdPerfomance) from DispatchOrd where ServiceOrdIDDt=ServiceOrdID and DispatchOrdState not in (10))/DispatchOrdPerfomance) END as Sum_TraTxnPrice from ServiceOrder LEFT JOIN DispatchOrd on ServiceOrdIDDt=ServiceOrdID and DispatchOrdState not in (10) where "&searchSumSql1&CoopUnitSql&OAHospsql&" and FromHQ2_is=1 and ServiceOrdState not in (4) GROUP BY DispatchOrdPerfomance,ServiceOrdID,ServiceOrdTraTxnPrice) as aa"
                    'sql=replace(sql,"DispatchOrd_NS_Time "&SqlOrdDateType,"(ServiceOrd_CC_Time between DATEADD(dd,DATEDIFF(dd,0,getdate()),0) and DATEADD(ss,-1,DATEADD(dd,DATEDIFF(dd,0,getdate()),1)) or DispatchOrd_NS_Time between DATEADD(dd,DATEDIFF(dd,0,getdate()),0) and DATEADD(ss,-1,DATEADD(dd,DATEDIFF(dd,0,getdate()),1))) ")
                    'sql=Replace(sql," where  and "," where ")
                    'rs.open sql,objConn,1,1
                    'Sum_OrdInt        = rs("Sum_OrdInt")
                    'Sum_TraTxnPrice    = Int(rs("Sum_TraTxnPrice"))
                    'rs.close()
                    'DispatchOrderSun = DispatchOrderSun&"&nbsp;&nbsp;&nbsp;&nbsp;分部支援服务单数量: "&Sum_OrdInt&" 费用合计: "&Sum_TraTxnPrice&"元"
 
                    '本周查询统计
                    sql="select Sum_OrdInt=isnull(SUM(Sum_OrdInt),0),Sum_TraTxnPrice=isnull(SUM(Sum_TraTxnPrice),0) from (select Sum_OrdInt=COUNT(DispatchOrdID),case when isnull(SUM(ServiceOrdTraTxnPrice+StretcherMoney),0)=0 or DispatchOrdPerfomance=0 then 0 else SUM(ServiceOrdTraTxnPrice+StretcherMoney)/((select SUM(DispatchOrdPerfomance) from DispatchOrd where ServiceOrdIDDt=ServiceOrdID and DispatchOrdState not in (10))/DispatchOrdPerfomance) END as Sum_TraTxnPrice from DispatchOrd LEFT JOIN ServiceOrder on ServiceOrdIDDt=ServiceOrdID  where "&searchSumSql1&CoopUnitSql&OAHospsql&" and (ServiceOrdClass in ('BF') or DispatchOrdClass in ('SA')) and DispatchOrdState not in (10) GROUP BY DispatchOrdPerfomance,ServiceOrdID) as aa"
                    sql=replace(sql,"DispatchOrd_NS_Time "&SqlOrdDateType,"DispatchOrd_NS_Time between DATEADD(wk,DATEDIFF(wk,0,getdate()),0)-1 and DATEADD(ss,-1,DATEADD(wk,DATEDIFF(wk,0,getdate()),0)+6) ")
                    sql=Replace(sql," where  and "," where ")
                    'Response.Write sql
                    rs.open sql,objConn,1,1
                    Sum_OrdInt        = rs("Sum_OrdInt")
                    Sum_TraTxnPrice    = MoneyCheck(rs("Sum_TraTxnPrice"),1)
                    rs.close()
                    DispatchOrderSun = DispatchOrderSun&"&nbsp;&nbsp;&nbsp;&nbsp;本周单据数量: "&Sum_OrdInt&" 费用合计: "&Sum_TraTxnPrice
 
                    DispatchOrderSun = DispatchOrderSun&"&nbsp;&nbsp;&nbsp;&nbsp;[只统计广州地区数据](包括特殊任务,不包括取消)</span>"
                    session("DispatchOrderSun")=DispatchOrderSun
            End If
            session("DispatchOrderSun") = DispatchOrderSun
        Else
            DispatchOrderSun = session("DispatchOrderSun")
        End If
        Response.Write DispatchOrderSun
    End If
End If
%>