【调度系统】广东民航医疗快线调度系统源代码
wlzboy
2025-09-06 2decf5219e3476e30095fd9dbf6e49c55e105563
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
 
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>
<%Response.Buffer = True
Server.ScriptTimeOut=240000
'On Error Resume Next
%>
<!--#include virtual="/inc/chkadmin_for_wx.gds"-->
<!--#include virtual="/inc/function.gds"-->
<!--#include virtual="/inc/core.asp"-->
<!--#include virtual="admin_save_follower.gds"-->
<%
 
objConn.BeginTrans
 
Set rs = Server.CreateObject("ADODB.Recordset")
ServiceOrdClass            = SafeRequest(Request.form("ServiceOrdClass"))            '单据类型
ServiceOrdAreaType        = SafeRequest(Request.form("ServiceOrdAreaType"))        '服务单执行区域
ServiceOrdType            = SafeRequest(Request.form("ServiceOrdType"))            '服务单执行类型
ServiceOrdState            = SafeRequest(Request.form("ServiceOrdState"))            '服务单状态
ServiceOrdStartDate        = SafeRequest(Request.form("ServiceOrdStartDate"))        '开单日期
ServiceOrdApptDate        = SafeRequest(Request.form("ServiceOrdApptDate"))        '预约日期
ServiceOrdCoName        = SafeRequest(Request.form("ServiceOrdCoName"))            '联系人姓名
ServiceOrdCoPhone        = StrTrim(SafeRequest(Request.form("ServiceOrdCoPhone")))        '联系人电话
ServiceOrdCoTies        = SafeRequest(Request.form("ServiceOrdCoTies"))            '联系人与患者关系
ServiceOrdPtName        = SafeRequest(Request.form("ServiceOrdPtName"))            '患者姓名
ServiceOrdPtAge            = SafeRequest(Request.form("ServiceOrdPtAge"))            '患者年龄
ServiceOrdPtKG            = SafeRequest(Request.form("ServiceOrdPtKG"))            '患者体重
ServiceOrdPtSex            = SafeRequest(Request.form("ServiceOrdPtSex"))            '患者性别
ServiceOrdPtNat            = SafeRequest(Request.form("ServiceOrdPtNat"))            '患者国籍
ServiceOrdPtIDCard        = SafeRequest(Request.form("ServiceOrdPtIDCard"))        '患者身份证
ServiceOrdPtOutHospID_New=SafeRequest(Request.form("ServiceOrdPtOutHospID"))    '转出医院ID
ServiceOrdPtOutHosp        = SafeRequest(Request.form("ServiceOrdPtOutHosp"))        '转出医院
ServiceOrdPtInHospID_New=SafeRequest(Request.form("ServiceOrdPtInHospID"))        '转入医院ID
ServiceOrdPtInHosp        = SafeRequest(Request.form("ServiceOrdPtInHosp"))        '转入医院
ServiceOrdPtServices    = SafeRequest(Request.form("ServiceOrdPtServices"))        '转出科室
ServiceOrdPtServicesID    = SafeRequest(Request.form("ServiceOrdPtServicesID"))    '转出科室ID
ServiceOrdPtInServices    = SafeRequest(Request.form("ServiceOrdPtInServices"))        '转入科室
ServiceOrdPtInServicesID= SafeRequest(Request.form("ServiceOrdPtInServicesID"))    '转入科室ID
ServiceOrdPtDiagnosis    = SafeRequest(Request.form("ServiceOrdPtDiagnosis"))    '诊断
ServiceOrdPtCondition    = SafeRequest(Request.form("ServiceOrdPtCondition"))    '病情描述
ServiceOrdTaskRemarks    = SafeRequest(Request.form("ServiceOrdTaskRemarks"))    '医护司备注
ServiceOrdPtDoctor        = SafeRequest(Request.form("ServiceOrdPtDoctor"))        '患者医生
ServiceOrdPtDoctorPhone    = SafeRequest(Request.form("ServiceOrdPtDoctorPhone"))    '患者医生电话
ServiceOrdTraProvince    = SafeRequest(Request.form("province"))                    '出发地省份
ServiceOrdTraCity        = SafeRequest(Request.form("city"))                        '出发地城市
ServiceOrdTraStreet        = SafeRequest(Request.form("ServiceOrdTraStreet"))        '出发地
ServiceOrdTraStreetCoo    = SafeRequest(Request.form("ServiceOrdTraStreetCoo"))    '出发地坐标
ServiceOrdTraEnd        = SafeRequest(Request.form("ServiceOrdTraEnd"))            '目的地
ServiceOrdTraEndCoo        = SafeRequest(Request.form("ServiceOrdTraEndCoo"))        '目的地坐标
ServiceOrdTraVia        = SafeRequest(Request.form("ServiceOrdTraVia"))            '途经地
ServiceOrdViaDistance    = SafeRequest(Request.form("ServiceOrdViaDistance"))    '中途距离(公里)
ServiceOrdTraDistance    = SafeRequest(Request.form("ServiceOrdTraDistance"))    '距离(公里)
ServiceOrdTraDuration    = SafeRequest(Request.form("ServiceOrdTraDuration"))    '预计行程时间
ServiceOrdTraUnitPrice    = SafeRequest(Request.form("ServiceOrdTraUnitPrice"))    '单价/公里
ServiceOrdTraOfferPrice    = SafeRequest(Request.form("ServiceOrdTraOfferPrice"))    '标准报价
ServiceOrdTraTxnPrice    = SafeRequest(Request.form("ServiceOrdTraTxnPrice"))    '成交价
ServiceOrdTraPrePayment    = SafeRequest(Request.form("ServiceOrdTraPrePayment"))    '需预付款
SettlementPrice            = SafeRequest(Request.form("SettlementPrice"))            '结算价
ServiceOrdTraPriceReason= SafeRequest(Request.form("ServiceOrdTraPriceReason"))    '差价原因
TEL_Phone                = SafeRequest(Request.form("Phone"))                    '来电电话
TEL_Time                = SafeRequest(Request.form("TEL_Time"))                    '来电时间
TEL_Remarks                = SafeRequest(Request.form("TEL_Remarks"))                '来电备注
TransferModeID            = SafeRequest(Request.form("TransferModeID"))            '转运方式
ServiceOrdVIP            = SafeRequest(Request.form("ServiceOrdVIP"))            'VIP客户
ServiceOrd_CC_ID        = SafeRequest(Request.form("ServiceOrd_CC_ID"))            '客服人员ID
ServiceOrd_Sale_ID        = SafeRequest(Request.form("ServiceOrd_Sale_ID"))        '销售人员ID
ServiceOrdIntroducer    = SafeRequest(Request.form("ServiceOrdIntroducer"))        '介绍人
ServiceOrd_work_ID        = SafeRequest(Request.form("ServiceOrd_work_ID"))        '主要企微客服ID
ServiceOrd_work_IDs        = SafeRequest(Request.form("ServiceOrd_work_IDs"))        '其他企微客服ID
ServiceOrd_work_is        = SafeRequest(request.form("ServiceOrd_work_is"))    '是否企微成交
CommissionScenarioID    = SafeRequest(request.form("CommissionScenarioID"))    '企微绩效方案
ServiceOrdOperationRemarks    = SafeRequest(Request.form("ServiceOrdOperationRemarks"))'操作备注
ServiceOrdEstimatedOrderDate= SafeRequest(Request.form("ServiceOrdEstimatedOrderDate"))'预计派单时间
ServiceOrdSource        = SafeRequest(Request.form("ServiceOrdSource"))            '订单来源
OrderLevel                = SafeRequest(Request.form("OrderLevel"))                '查看等级
ServiceOrdDepartureType    = SafeRequest(Request.form("ServiceOrdDepartureType"))    '预约类型
ConditionLevel            = SafeRequest(Request.form("ConditionLevel"))            '病重级别
DirectionType            = SafeRequest(Request.form("DirectionType"))            '转运去向
ServiceOrd_m            = SafeRequest(Request.form("ServiceOrd_m"))                '来源入口
FromHQ2_is                = SafeRequest(Request.form("FromHQ2_is"))                '广州总部推送任务标记  
OrderPrice_Auto            = SafeRequest(Request.form("OrderPrice_Auto"))            '订单自动报价参考值
 
 
 
 
Call RequestForm(Origin)
session("Origin")=Origin
'response.write  Origin
 
If ServiceOrdTraUnitPrice="" Then ServiceOrdTraUnitPrice=0
If ServiceOrdTraOfferPrice="" Then ServiceOrdTraOfferPrice=0
If ServiceOrdTraTxnPrice="" Then ServiceOrdTraTxnPrice=0
If ServiceOrdTraPrePayment="" Then ServiceOrdTraPrePayment=0
If SettlementPrice="" Then SettlementPrice=0
If InStr(ServiceOrdTraTxnPrice,",")>0 Then ServiceOrdTraTxnPrice=Replace(ServiceOrdTraTxnPrice,",","")
If InStr(ServiceOrdTraOfferPrice,",")>0 Then ServiceOrdTraOfferPrice=Replace(ServiceOrdTraOfferPrice,",","")
If InStr(ServiceOrdTraPrePayment,",")>0 Then ServiceOrdTraPrePayment=Replace(ServiceOrdTraPrePayment,",","")
If InStr(SettlementPrice,",")>0 Then SettlementPrice=Replace(SettlementPrice,",","")
If ServiceOrdState="" Then ServiceOrdState=1
'If InStr(ServiceOrdTraDistance,"公里")>0 Then ServiceOrdTraDistance=Replace(ServiceOrdTraDistance,"公里","")
'If InStr(ServiceOrdTraDistance,"米")>0 Then ServiceOrdTraDistance=CInt(Replace(ServiceOrdTraDistance,"米",""))/1000
If ServiceOrdViaDistance="" Or OrderLevel<>"2" Then ServiceOrdViaDistance=0
If ServiceOrdTraDistance="" Then ServiceOrdTraDistance=0
If ServiceOrdTraDistance<>"" Then ServiceOrdTraDistance=Replace(ServiceOrdTraDistance," ","")
If ServiceOrd_Sale_ID="" Then ServiceOrd_Sale_ID="null"
If ServiceOrd_work_ID="" Then ServiceOrd_work_ID="null"
If ServiceOrd_work_is="" Then ServiceOrd_work_is=0
If CommissionScenarioID="" Then CommissionScenarioID=0
If ServiceOrd_CC_ID="" Then ServiceOrd_CC_ID=session("adminID")
If ServiceOrdPtOutHospID_New="" Then ServiceOrdPtOutHospID_New=0
If ServiceOrdPtInHospID_New="" Then ServiceOrdPtInHospID_New=0
If ServiceOrdVIP="" Then ServiceOrdVIP=0
If ServiceOrdSource="" Then ServiceOrdSource=0
If ServiceOrdPtServicesID="" Then ServiceOrdPtServicesID=0
If ServiceOrdPtInServicesID="" Then ServiceOrdPtInServicesID=0
If OrderLevel="" Then OrderLevel=0
If ServiceOrdDepartureType="" Then ServiceOrdDepartureType=1
If ConditionLevel="" Then ConditionLevel=0
If DirectionType="" Then DirectionType=0
If FromHQ2_is="" Then FromHQ2_is=0
If OrderPrice_Auto="" or OrderPrice_Auto="undefined" Then OrderPrice_Auto="0"
RedirectURL="ServiceOrder.gds"
 
'数据不完整
If (ServiceOrdState="1" Or ServiceOrdState="4") And (ServiceOrdCoPhone="" Or ServiceOrdClass="" Or ServiceOrdTraDistance="" or ServiceOrdType="" Or ServiceOrdAreaType="") Then 
    response.write "data not complete"
    response.end
end if
If ServiceOrdState="2" And ServiceOrd_m<>"1" Then
    error=","
    If ServiceOrdAreaType="" Then error=error&"ServiceOrdAreaType,"
    If ServiceOrdType="" Then error=error&"ServiceOrdType,"
    If ServiceOrdCoPhone="" Or ServiceOrdClass="" Then error=error&"ServiceOrdCoPhone,"
    If ServiceOrdTraDistance="" Then error=error&"ServiceOrdTraDistance,"
    If ServiceOrdCoName="" Then error=error&"ServiceOrdCoName,"
    'If ServiceOrdApptDate="" Then error=error&"ServiceOrdApptDate,"
    If ServiceOrdPtName="" Then error=error&"ServiceOrdPtName,"
    'If ServiceOrdPtOutHosp="" Then error=error&"ServiceOrdPtOutHosp,"
    If ServiceOrdTraStreet="" Then error=error&"ServiceOrdTraStreet,"
    If ServiceOrdTraEnd="" Then error=error&"ServiceOrdTraEnd,"
    If ServiceOrdTraTxnPrice="" Then error=error&"ServiceOrdTraTxnPrice,"
    'If ServiceOrd_Sale_ID="" Then error=error&"ServiceOrd_Sale_Name,"
    'If ServiceOrdIntroducer="" Then error=error&"ServiceOrdIntroducer,"
    If ServiceOrdSource="0" Then error=error&"ServiceOrdSource,"
    'If ConditionLevel="0" Then error=error&"ConditionLevel,"
    'If DirectionType="0" Then error=error&"DirectionType,"
    If ServiceOrdPtServicesID="0" Then error=error&"ServiceOrdPtServicesID,"
    If ServiceOrdPtInServicesID="0" Then error=error&"ServiceOrdPtInServicesID,"
    
    RedirectURL="ServiceOrder.gds"
    If Len(error)>2 Then 
        response.write "data error "&error
        response.end
    end if
    
ElseIf ServiceOrd_m="1" Then
    '手机端默认值
    If ServiceOrdCoPhone="" Then ServiceOrdCoPhone=""
    If ServiceOrdTraProvince="" Then ServiceOrdTraProvince=""
    If ServiceOrdTraCity="" Then ServiceOrdTraCity=""
    If ServiceOrdTraStreet="" And ServiceOrdClass<>"" Then
        sql="select vMono from dictionary where vType=1 and vtitle='OrderClass' and vOrder2='"&ServiceOrdClass&"'"
        rs.open sql,objConn,1,1
        If not rs.Eof Then
            ServiceOrdTraStreet=rs(0)
        End If
        rs.close()
    End If
    If ServiceOrdTraVia="" Then ServiceOrdTraVia=ServiceOrdPtOutHosp
    If ServiceOrdTraEnd="" Then ServiceOrdTraEnd=ServiceOrdPtInHosp
 
    error=","
    If ServiceOrdCoName="" Then error=error&"ServiceOrdCoName,"
    If ServiceOrdPtName="" Then error=error&"ServiceOrdPtName,"
    'If ConditionLevel="0" Then error=error&"ConditionLevel,"
    'If DirectionType="0" Then error=error&"DirectionType,"
    If ServiceOrdPtOutHospID_New="" Then error=error&"ServiceOrdPtOutHospID,"
    If ServiceOrdPtInHospID_New="" Then error=error&"ServiceOrdPtInHospID,"
    RedirectURL="m_ServiceOrder.gds"
    If Len(error)>2 Then 
        response.write "error:"&error
    end if
    
End if
 
 
'验证有没重复提交
sql="select ServiceOrdID from ServiceOrder where ServiceOrdCoPhone='"&ServiceOrdCoPhone&"' and ServiceOrdStartDate='"&ServiceOrdStartDate&"'"
rs.open sql,objConn,1,1
if not rs.eof Then  
    session("Origin")=""
    response.write "repeat submit"
    response.end
End if
rs.close()
 
'注册&查询用户ID
If ServiceOrdCoPhone<>"" And Len(ServiceOrdCoPhone)=11 And Left(ServiceOrdCoPhone,1)="1" And IsNumeric(ServiceOrdCoPhone) Then
    UserPhone=ServiceOrdCoPhone
    UserName=ServiceOrdCoName
    Call User_Login(UserID,UserPhone,wxOriginalID,wxOpenid,wxUnionID,UserSource,UserName)
Else
    UserID=0
End If
 
'重复手机号码每月不能超过5个订单,取消不算
sql="select count(ServiceOrdID) from ServiceOrder where ServiceOrdCoPhone='"&ServiceOrdCoPhone&"' and ServiceOrdState<>4 and ServiceOrd_CC_Time between DATEADD(mm,DATEDIFF(mm,0,getdate()),0) and dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))"
rs.open sql,objConn,1,1
if rs(0)>5 Then  
    'Response.Redirect "/"&RedirectURL&"?Phone="&TEL_Phone&"&NEWOrder="&NEWOrder&"&SystemMessageType=4&SMT=12"
End if
rs.close()
 
'查找医院ID
If ServiceOrdPtOutHosp<>"" Then
    If InStr(ServiceOrdPtOutHosp,"|")>0 Then ServiceOrdPtOutHosp=Mid(ServiceOrdPtOutHosp,1,InStr(ServiceOrdPtOutHosp,"|")-1)
    sql="select vID from dictionary where vType=1 and vtitle='HospName' and vtext='"&ServiceOrdPtOutHosp&"'"
    rs.open sql,objConn,1,1
    If not rs.Eof Then
        ServiceOrdPtOutHospID=rs(0)
    Else
        rs.close()
        sql="select top 1 vID from dictionary where vtitle='HospName' order by vID desc"
        rs.open sql,objConn,1,1
        If not rs.Eof Then
            ServiceOrdPtOutHospID=rs(0)+1
        Else
            ServiceOrdPtOutHospID=1
        End if
        sql="insert into dictionary (vID,vtext,vtitle,vType,vMono) values ("&ServiceOrdPtOutHospID&",'"&ServiceOrdPtOutHosp&"','HospName',1,'医院名称')"
        objConn.Execute sql
    End If
    rs.close()
    If ServiceOrdPtOutHospID_New="0" Then
        sql="select HospID from HospData where HospState=1 and  HospName='"&ServiceOrdPtOutHosp&"'"
        rs.open sql,objConn,1,1
        If not rs.Eof Then
            ServiceOrdPtOutHospID_New=rs(0)
        End If
        rs.close()
    End If
Else
    ServiceOrdPtOutHospID=0
End If
If ServiceOrdPtInHosp<>"" then
    If InStr(ServiceOrdPtInHosp,"|")>0 Then ServiceOrdPtInHosp=Mid(ServiceOrdPtInHosp,1,InStr(ServiceOrdPtInHosp,"|")-1)
    sql="select vID from dictionary where vType=1 and vtitle='HospName' and vtext='"&ServiceOrdPtInHosp&"'"
    rs.open sql,objConn,1,1
    If not rs.Eof Then
        ServiceOrdPtInHospID=rs(0)
    Else
        rs.close()
        sql="select top 1 vID from dictionary where vtitle='HospName' order by vID desc"
        rs.open sql,objConn,1,1
        If not rs.Eof Then
            ServiceOrdPtInHospID=rs(0)+1
        Else
            ServiceOrdPtInHospID=1
        End if
        sql="insert into dictionary (vID,vtext,vtitle,vType,vMono) values ("&ServiceOrdPtInHospID&",'"&ServiceOrdPtInHosp&"','HospName',1,'医院名称')"
        objConn.Execute sql
    End If
    rs.close()
    If ServiceOrdPtInHospID_New="0" Then
        sql="select HospID from HospData where HospState=1 and  HospName='"&ServiceOrdPtInHosp&"'"
        rs.open sql,objConn,1,1
        If not rs.Eof Then
            ServiceOrdPtInHospID_New=rs(0)
        End If
        rs.close()
    End If
Else
    ServiceOrdPtInHospID=0
End If
 
'查找合作单位ID
If ServiceOrdIntroducer<>"" And IsNumeric(ServiceOrdIntroducer) Then
    sql="select IntroducerID,IntroducerName,IntroducerUnitID from IntroducerData where IntroducerUnitID<>'' and IntroducerID="&ServiceOrdIntroducer
    rs.open sql,objConn,1,1
    If not rs.Eof Then
        ServiceOrdUnitID=rs("IntroducerUnitID")
    Else
        ServiceOrdUnitID=0
    End If
    rs.close()
Else
    ServiceOrdUnitID=0
End If
 
'新服务单序号
sql="select top 1 ServiceOrdNo from ServiceOrder where CONVERT(VARCHAR(10),ServiceOrd_CC_Time,120)=CONVERT(VARCHAR(10),GETDATE(),120) and ServiceOrdClass='"&ServiceOrdClass&"' order by ServiceOrdNo desc"
rs.open sql,objConn,1,1
If not rs.Eof Then
    ServiceOrdNo=rs(0)+1
Else
    ServiceOrdNo=1
End if
rs.close()
 
'写入新服务单
sql="insert into ServiceOrder (ServiceOrdUserID,ServiceOrdClass,ServiceOrdAreaType,ServiceOrdType,ServiceOrdState,ServiceOrdStartDate,ServiceOrdApptDate,ServiceOrdCoName,ServiceOrdCoPhone,ServiceOrdCoTies,ServiceOrdPtName,ServiceOrdPtAge,ServiceOrdPtKG,ServiceOrdPtSex,ServiceOrdPtNat,ServiceOrdPtIDCard,ServiceOrdPtOutHospID,ServiceOrdPtOutHosp,ServiceOrdPtInHospID,ServiceOrdPtInHosp,ServiceOrdPtServices,ServiceOrdPtServicesID,ServiceOrdPtInServices,ServiceOrdPtInServicesID,ServiceOrdPtDiagnosis,ServiceOrdPtCondition,ServiceOrdTaskRemarks,ServiceOrdPtDoctor,ServiceOrdPtDoctorPhone,ServiceOrdTraProvince,ServiceOrdTraCity,ServiceOrdTraStreet,ServiceOrdTraStreetCoo,ServiceOrdTraEnd,ServiceOrdTraEndCoo,ServiceOrdTraVia,ServiceOrdViaDistance,ServiceOrdTraDistance,ServiceOrdTraDuration,ServiceOrdTraUnitPrice,ServiceOrdTraOfferPrice,ServiceOrdTraTxnPrice,ServiceOrdTraPrePayment,SettlementPrice,ServiceOrdTraPriceReason,ServiceOrd_CC_ID,ServiceOrd_CC_Time,ServiceOrdNo,ServiceOrd_Sale_ID,ServiceOrd_work_ID,ServiceOrd_work_IDs,ServiceOrd_work_is,CommissionScenarioID,ServiceOrdIntroducer,ServiceOrdUnitID,ServiceOrdVIP,ServiceOrdOperationRemarks,ServiceOrdEstimatedOrderDate,ServiceOrdSource,OrderLevel,ServiceOrdDepartureType,ConditionLevel,DirectionType,FromHQ2_is,OrderPrice_Auto) values ("&UserID&",'"&ServiceOrdClass&"',"&ServiceOrdAreaType&","&ServiceOrdType&","&ServiceOrdState&",'"&ServiceOrdStartDate&"','"&ServiceOrdApptDate&"','"&ServiceOrdCoName&"','"&ServiceOrdCoPhone&"','"&ServiceOrdCoTies&"','"&ServiceOrdPtName&"','"&ServiceOrdPtAge&"','"&ServiceOrdPtKG&"','"&ServiceOrdPtSex&"','"&ServiceOrdPtNat&"','"&ServiceOrdPtIDCard&"',"&ServiceOrdPtOutHospID_New&","&ServiceOrdPtOutHospID&","&ServiceOrdPtInHospID_New&","&ServiceOrdPtInHospID&",'"&ServiceOrdPtServices&"',"&ServiceOrdPtServicesID&",'"&ServiceOrdPtInServices&"',"&ServiceOrdPtInServicesID&",'"&ServiceOrdPtDiagnosis&"','"&ServiceOrdPtCondition&"','"&ServiceOrdTaskRemarks&"','"&ServiceOrdPtDoctor&"','"&ServiceOrdPtDoctorPhone&"','"&ServiceOrdTraProvince&"','"&ServiceOrdTraCity&"','"&ServiceOrdTraStreet&"','"&ServiceOrdTraStreetCoo&"','"&ServiceOrdTraEnd&"','"&ServiceOrdTraEndCoo&"','"&ServiceOrdTraVia&"','"&ServiceOrdViaDistance&"','"&ServiceOrdTraDistance&"','"&ServiceOrdTraDuration&"',"&ServiceOrdTraUnitPrice&","&ServiceOrdTraOfferPrice&","&ServiceOrdTraTxnPrice&","&ServiceOrdTraPrePayment&","&SettlementPrice&",'"&ServiceOrdTraPriceReason&"',"&ServiceOrd_CC_ID&",getdate(),"&ServiceOrdNo&","&ServiceOrd_Sale_ID&","&ServiceOrd_work_ID&",'"&ServiceOrd_work_IDs&"',"&ServiceOrd_work_is&","&CommissionScenarioID&",'"&ServiceOrdIntroducer&"',"&ServiceOrdUnitID&","&ServiceOrdVIP&",'"&ServiceOrdOperationRemarks&"','"&ServiceOrdEstimatedOrderDate&"',"&ServiceOrdSource&","&OrderLevel&","&ServiceOrdDepartureType&","&ConditionLevel&","&DirectionType&","&FromHQ2_is&","&OrderPrice_Auto&")"
'Response.write sql&"<BR>"
objConn.Execute sql
sql="select top 1 ServiceOrdID from ServiceOrder where ServiceOrdCoPhone='"&ServiceOrdCoPhone&"' order by ServiceOrdID desc"
rs.open sql,objConn,1,1
ServiceOrdID = rs(0)
rs.close()
ServiceOrdNo    = ServiceOrdClass& year(now())&Right("0"&month(now()),2)&Right("0"&day(now()),2) & "-"&Right("00"&ServiceOrdNo,3)
 
 
SaveOpenerCommission ServiceOrdID
SaveFollowers ServiceOrdID
'咨询单转为服务单('自动审核)
If ServiceOrdState="2" then
    sql="update ServiceOrder set ServiceOrd_NS_ID="&session("adminID")&",ServiceOrd_NS_Time=getdate(),ServiceOrd_AP_Check=1,ServiceOrd_AP_Time=getdate(),ServiceOrd_AP_ID="&session("adminID")&" where ServiceOrdID="&ServiceOrdID
    objConn.Execute sql
Else    '自动审核
    'sql="update ServiceOrder set ServiceOrd_AP_Check=1,ServiceOrd_AP_Time=getdate(),ServiceOrd_AP_ID="&session("adminID")&" where ServiceOrdID="&ServiceOrdID
    'objConn.Execute sql
End if
 
'写入电话记录
If TEL_Phone<>"" then
    sql="select CallRecordID from CallRecord where CallRecord_Phine='"&TEL_Phone&"' and CallRecord_StartTime between dateadd(Ss,-10,'"&TEL_Time&"') and dateadd(Ss,10,'"&TEL_Time&"')"
    rs.open sql,objConn,1,1
    If not rs.eof Then
        sql="update CallRecord set CallRecord_OAUserID="&session("adminID")&",CallRecord_EndTime=getdate(),CallRecord_OrdClass='"&ServiceOrdClass&"',CallRecord_OrdID="&ServiceOrdID&",CallRecord_Record='"&TEL_Remarks&"' where CallRecordID="&rs(0)
        objConn.Execute sql
    Else
        sql="insert into CallRecord (CallRecord_Phine,CallRecord_OAUserID,CallRecord_StartTime,CallRecord_EndTime,CallRecord_Type,CallRecord_OrdClass,CallRecord_OrdID,CallRecord_Record) values ('"&TEL_Phone&"',"&session("adminID")&",'"&TEL_Time&"',getdate(),1,'"&ServiceOrdClass&"',"&ServiceOrdID&",'"&TEL_Remarks&"')"
        objConn.Execute sql
    End if
    rs.close()
End if
 
'写入目前病情(单选项类)
sql="select vOrder from dictionary where vType=2 and vtitle='Condition' order by vOrder,vID"
rs.open sql,objConn,1,1
do while not rs.Eof
    ConditionOrder=rs("vOrder")
    ConditionID=SafeRequest(Request.form("ConditionID_"&ConditionOrder))
    If ConditionID<>"" Then
      sql="insert into ServiceOrd_Condition (ServiceOrdCoID,ConditionID) values ("&ServiceOrdID&","&ConditionID&")"
      objConn.Execute sql
    End If
    If ConditionID="4" Then
      sql=" update ServiceOrder set AMV_is=1 where ServiceOrdID="&ServiceOrdID
      objConn.Execute sql
    ElseIf ConditionID="3" Then
      sql=" update ServiceOrder set AMV_is=0 where ServiceOrdID="&ServiceOrdID
      objConn.Execute sql
    End If
rs.movenext
loop
rs.close()
 
'写入诊断ICD
OrdICD_ID                = SafeRequest(Request.form("OrdICD_ID"))    '诊断ICD_ID
OrdICD_ID_old            = SafeRequest(Request.form("OrdICD_ID_old"))
If OrdICD_ID<>OrdICD_ID_old Then
    If OrdICD_ID<>"" then
        OrdICD_IDSP    = SPLIT(OrdICD_ID,",")
        for i=1 to ubound(OrdICD_IDSP)-1
            If OrdICD_IDSP(i)<>"" Then
                sql="insert into ServiceOrder_ICD (ServiceOrdIDDt,icd_id) values ("&ServiceOrdID&","&OrdICD_IDSP(i)&")"
                objConn.Execute sql
            End If
        Next
    End If
End If
 
'写入转运方式(多选项)
TransferModeIDSP    = SPLIT(TransferModeID,", ")
for i = 0 to UBOUND(TransferModeIDSP)
    TransferModeID = TransferModeIDSP(i)
    If TransferModeID<>"" then
      sql="insert into ServiceOrd_TransferMode (ServiceOrdTMID,TransferModeID) values ("&ServiceOrdID&","&TransferModeID&")"
      objConn.Execute sql
    End if
Next
 
'核销优惠券
Call CouponUse(ServiceOrdTraPriceReason,ServiceOrdID)
 
'写入预计派单时间通知
If ServiceOrdEstimatedOrderDate<>"" Then
        NC_OAID="78"
        ServiceOrdNo    = ServiceOrdClass& year(now())&Right("0"&month(now()),2)&Right("0"&day(now()),2) & "-"&Right("00"&ServiceOrdNo,3)
        NC_Name="【"&ServiceOrdNo&"派单时间提醒】"
        NC_Content="服务单:"&ServiceOrdNo&",已到预定的派单时间,请即时处理"
        NC_PageUrl="/ServiceOrder.gds?ServiceOrdID="&ServiceOrdID
        NC_PageUrlM=ServiceOrdEstimatedOrderDate
    Call Notification_Add(NC_OAID,NC_Name,NC_Content,NC_PageUrl,NC_PageUrlM)
End If
 
session("Origin")=""
If ServiceOrd_m="1" Then
    ReturnURL="m_ServiceOrder.gds?ServiceOrdID="&ServiceOrdID
    Call OA_Running("手机新建服务单:"&ServiceOrdID)
Else
    ReturnURL="ServiceOrder.gds?ServiceOrdID="&ServiceOrdID
    Call OA_Running("新建服务单:"&ServiceOrdID)
End If
objConn.Execute "exec OrdDataUP "&ServiceOrdID
rsRollbackTrans(objConn.Errors.count)
 
'直接审核并转跳至调度单
NEWOrder    = SafeRequest(Request.form("NEWOrder"))
If NEWOrder="2" Then
    sql="update ServiceOrder set ServiceOrd_AP_Check=1,ServiceOrd_AP_Time=getdate(),ServiceOrd_AP_ID="&session("adminID")&" where ServiceOrdID="&ServiceOrdID
    objConn.Execute sql
    Perfomance    = SafeRequest(Request.form("DispatchOrdPerfomance"))        '绩效
    Stretcher    = SafeRequest(Request.form("StretcherMoney"))        '担架费
    If ServiceOrd_m="1" Then
        Response.Redirect "m_DispatchOrder.gds?ServiceOrdID="&ServiceOrdID&"&NEWOrder=3&Perfomance="&Perfomance&"&Stretcher="&Stretcher
    else
        Response.Redirect "DispatchOrder.gds?ServiceOrdID="&ServiceOrdID&"&SystemMessageType=3&SMT=12&Perfomance="&Perfomance&"&Stretcher="&Stretcher
    End If
Else
    '写入相关销售人员通知(暂停推送2020.9.17)
    If ServiceOrdPtOutHospID_New<>"0" And ServiceOrdPtInHospID_New<>"0" And OrderLevel<>"1" And 1=2 Then
        %>
        <!--#include virtual="/weixin/JsonPost_1000006.gds"-->
        <%
        touser=""
        sql="SELECT STUFF((select ',' + HospOAID from HospData where HospID in ("&ServiceOrdPtOutHospID_New&","&ServiceOrdPtInHospID_New&") and HospOAID<>'' and HospOAID is not null FOR XML PATH('')), 1, 1, '')"
        rs.open sql,objConn,1,1
        HospOAIDs=rs(0)
        rs.close()
        
 
        If not isnull(HospOAIDs) Then
            HospOAIDPS = SPLIT(HospOAIDs,",")
            HospOAIDs=""
            for z = 0 to UBOUND(HospOAIDPS)
              If HospOAIDPS(z)<>"" Then
                HospOAIDs=HospOAIDs&","&HospOAIDPS(z)
              End If
            Next
            If HospOAIDs<>"" Then HospOAIDs=Mid(HospOAIDs,2)
            touser = ""
            If HospOAIDs<>"" Then
                sql="select OA_weixinUserID,OA_Name from OA_User where OA_execLevel>=0 and OA_User_ID in ("&HospOAIDs&")"
                rs.open sql,objConn,1,1
                do while not rs.Eof 
                    touser    = touser&"|"&rs("OA_weixinUserID")
                    MessageName=MessageName&"、"&rs("OA_Name")
                rs.movenext
                loop 
                rs.close()
                If touser<>"" Then
                    touser=Mid(touser,2)
                    MessageName=Mid(MessageName,2)
                End If
            End If
            'touser="ylkx_vicgame"
            If touser<>"" Then
                '订单留言
                MessageContents="订单推送给"&MessageName
                sql="insert into ServiceOrd_Message (ServiceOrdIDDt,MessageContents,MessageOAid) values ("&ServiceOrdID&",'"&MessageContents&"',"&session("adminID")&")"
                objConn.Execute sql
                '微信OA信息下发接口
                appUrl="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="&access_token
                args1="{"
                args1=args1&"""touser"": """&touser&""","    '成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送 |liaojunliang
                args1=args1&"""toparty"": """","        '部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
                args1=args1&"""totag"": """","            '标签ID列表,多个接收者用‘|’分隔。当touser为@all时忽略本参数
                args1=args1&"""agentid"": 1000006,"            '企业应用的id,整型。可在应用的设置页面查看
                args1=args1&"""msgtype"": ""news"","
                args1=args1&"""news"": {"
                    args1=args1&"""articles"":["
                        args1=args1&"{"
                        args1=args1&"""title"": ""【新服务单】"&ServiceOrdNo&""","
                        args1=args1&"""description"": """
                        If ServiceOrdApptDate<>"" Then args1=args1&"预约时间:"&ServiceOrdApptDate&"\n"
                        If ServiceOrdPtInHosp="家中" Then ServiceOrdPtInHosp=ServiceOrdTraEnd
                        args1=args1&"出发地:"&ServiceOrdPtOutHosp&"\n目的地:"&ServiceOrdPtInHosp&"(约"&ServiceOrdTraDistance&")"","
                        args1=args1&"""url"": """&WEBURL&"/m_ServiceOrder.gds?ServiceOrdID="&ServiceOrdID&"&OrdEdit=NO"","
                        args1=args1&"""picurl"": """""
                        args1=args1&"}"  
                    args1=args1&"]"
                args1=args1&"}"
                args1=args1&"}"
                call PostBody(appUrl,args1)
            End If
        End If
    End If
End If
Response.write "OK"
Response.End%>