【调度系统】广东民航医疗快线调度系统源代码
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
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>  
<!--#include file="JsonPost_29.gds"-->
<!--#include virtual="/inc/function.gds"-->
<!--include file="message_send_Report_Dispatch_cc1.gds"-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%
DispatchOrdID    = trim(request("DispatchOrdID"))
 
If DispatchOrdID="" Then
    Response.Redirect "/DispatchOrder_List.gds?SystemMessageType=4&SMT=1"
End If
'session("JsonKey")="1"
If session("JsonKey")="1" Then
session("JsonKey")="0"
 
    Set rs = Server.CreateObject("ADODB.Recordset")
    Set rsDt = Server.CreateObject("ADODB.Recordset")
    sql="select DispatchOrdClass,DispatchOrdID,DispatchOrdState,DispatchOrdTraSDTime,DispatchOrdTraStreet,DispatchOrdTraEnd,DispatchOrdTraVia,DispatchOrd_NS_Time,DispatchOrdNo,DispatchOrdActualDate,DispatchOrdCarID,ServiceOrdTraTxnPrice,ServiceOrdUnitID,ServiceOrdClass,ServiceOrdPtOutHosp,ServiceOrdPtServices,ServiceOrdPtServicesID,ServiceOrdPtInHosp,ServiceOrdPtInServices,ServiceOrdPtInServicesID from DispatchOrd LEFT JOIN ServiceOrder on ServiceOrdIDDt=ServiceOrdID where DispatchOrdID="&DispatchOrdID
    rs.open sql,objConn,1,1
    If not rs.Eof Then
        ServiceOrdClass        = rs("ServiceOrdClass")
        DispatchOrdClass    = rs("DispatchOrdClass")
        DispatchOrdID        = rs("DispatchOrdID")
        DispatchOrdState    = rs("DispatchOrdState")
        SDTime                = rs("DispatchOrdTraSDTime")
        DispatchOrdTraStreet= rs("DispatchOrdTraStreet")
        DispatchOrdTraEnd    = rs("DispatchOrdTraEnd")
        DispatchOrdTraVia    = rs("DispatchOrdTraVia")
        DispatchOrdActualDate=rs("DispatchOrdActualDate")
        DispatchOrdCarID    = rs("DispatchOrdCarID")
        ServiceOrdTraTxnPrice=rs("ServiceOrdTraTxnPrice")
        ServiceOrdUnitID    = rs("ServiceOrdUnitID")
        ServiceOrdPtOutHosp    = rs("ServiceOrdPtOutHosp")        '转出医院ID
        ServiceOrdPtServicesID=rs("ServiceOrdPtServicesID")    '转出科室ID
        ServiceOrdPtServices= rs("ServiceOrdPtServices")    '转出床位
        ServiceOrdPtInHosp    = rs("ServiceOrdPtInHosp")            '转入医院ID
        ServiceOrdPtInServicesID=rs("ServiceOrdPtInServicesID")    '转入科室ID
        ServiceOrdPtInServices= rs("ServiceOrdPtInServices")    '转入床位
        DispatchOrdNo            = DispatchOrdClass& year(rs("DispatchOrd_NS_Time"))&Right("0"&month(rs("DispatchOrd_NS_Time")),2)&Right("0"&day(rs("DispatchOrd_NS_Time")),2) & "-"&Right("00"&rs("DispatchOrdNo"),3)    '调度单编号
        If isnull(DispatchOrdActualDate) Then DispatchOrdActualDate=now()
        
        If SDTime<>"" Then 
            DispatchOrdTraSDTime=year(SDTime)&"年"&month(SDTime)&"月"&day(SDTime)&"日"
            If hour(SDTime)>0 Then DispatchOrdTraSDTime=DispatchOrdTraSDTime&" "&hour(SDTime)&"时"
            If minute(SDTime)>0 Then DispatchOrdTraSDTime=DispatchOrdTraSDTime&minute(SDTime)&"分"
            If DateDiff("d",Date(),formatdatetime(SDTime,2))=0 Then DispatchOrdTraSDTime=DispatchOrdTraSDTime&"(今天)"
            If DateDiff("d",Date(),formatdatetime(SDTime,2))=1 Then DispatchOrdTraSDTime=DispatchOrdTraSDTime&"(明天)"
            If DateDiff("d",Date(),formatdatetime(SDTime,2))=2 Then DispatchOrdTraSDTime=DispatchOrdTraSDTime&"(后天)"
        End If
        
        If ServiceOrdPtOutHosp<>"0" And ServiceOrdPtOutHosp<>"" And ServiceOrdPtOutHosp<>"814" Then
            DispatchOrdTraVia=HospA(ServiceOrdPtOutHosp,"HospName")&"-"&HospitalDepartment(ServiceOrdPtServicesID)
        End If
        If ServiceOrdPtInHosp<>"0" And ServiceOrdPtInHosp<>"" And ServiceOrdPtInHosp<>"814" Then
            DispatchOrdTraEnd=HospA(ServiceOrdPtInHosp,"HospName")&"-"&HospitalDepartment(ServiceOrdPtInServicesID)
        End If
 
 
    Else
        Response.Redirect "/DispatchOrder.gds?DispatchOrdID="&DispatchOrdID&"&SystemMessageType=4&SMT=9"
    End If
    rs.close()
 
    '当天第N单
    sql="select COUNT(DispatchOrdID) from DispatchOrd where DispatchOrdState not in (0,10,14) and DispatchOrdActualDate between '"&FormatDateTime(DispatchOrdActualDate,vbShortDate)&"' and '"&FormatDateTime(DispatchOrdActualDate,vbShortDate)&" 23:59:59'"
    rs.open sql,objConn,1,1
    OrdInt=rs(0)
    rs.close()
 
    '车牌
    If not isnull(DispatchOrdCarID) And DispatchOrdCarID<>"0" then
    sql="select CarLicense from CarData where CarID="&DispatchOrdCarID
    rs.open sql,objConn,1,1
    If not rs.Eof Then CarLicense=rs(0)
    rs.close()
    End If
 
    '出车成员
    OA_NameS=""
    sql="select OA_Name from DispatchOrd_Entourage,OA_User where OA_User_ID=EntourageOAid and EntourageState<>4 and DispatchOrdIDDt="&DispatchOrdID&" order by EntourageLead desc"
    rs.open sql,objConn,1,1
    do while not rs.Eof
        OA_NameS    = OA_NameS&rs("OA_Name")&"、"
    rs.movenext
    loop
    rs.close()
    OA_NameS=Mid(OA_NameS,1,Len(OA_NameS)-1)
 
    '推送的相关人员
    If hour(now())>=8 And hour(now())<22 then
        '日间推送
        PowerID="070202"
    else
        '夜间推送
        PowerID="070203"
    End If 
    sql="select OA_weixinUserID,OA_OrderClass from OA_User where OA_Power like '%,"&PowerID&",%' and OA_weixinStatus=1 and (OA_OrderClass like '%"&ServiceOrdClass&"%' or OA_OrderClass like '%"&DispatchOrdClass&"%' or OA_OrderClass='')"
    'sql=sql&" and OA_weixinUserID in ('ylkx_vicgame','liaojunliang')"
    'sql="select OA_weixinUserID,OA_OrderClass from OA_User where OA_weixinUserID in ('ylkx_vicgame','liaojunliang')"
    rs.open sql,objConn,1,1
    do while not rs.Eof
        OA_OrderClass = rs("OA_OrderClass")
        OA_weixinUserID        = rs("OA_weixinUserID")
        touser=""
        TraTxnPriceTXT=""
        '营业额统计(停止统计 2019-11-22)
        If OA_OrderClass<>"" And 1=2 Then
            OA_OrderClass=Replace(OA_OrderClass," ","")
            OA_OrderClassSql=Replace(OA_OrderClass,",","','")
            '当天营业额
            Day_TraTxnPrice=0
            sql="select Sum_OrdInt=SUM(Sum_OrdInt),Sum_TraTxnPrice=SUM(Sum_TraTxnPrice) from (select Sum_OrdInt=COUNT(DispatchOrdID),case when isnull(SUM(ServiceOrdTraTxnPrice),0)=0 or DispatchOrdPerfomance=0 then 0 else SUM(ServiceOrdTraTxnPrice)/((select SUM(DispatchOrdPerfomance) from DispatchOrd where ServiceOrdIDDt=ServiceOrdID and DispatchOrdState not in (0,10,14))/DispatchOrdPerfomance) END as Sum_TraTxnPrice from DispatchOrd LEFT JOIN ServiceOrder on ServiceOrdIDDt=ServiceOrdID where DispatchOrd_NS_Time between DATEADD(dd,DATEDIFF(dd,0,getdate()),0) and DATEADD(ms,-3,DATEADD(dd,DATEDIFF(dd,0,getdate()),1)) and DispatchOrdState not in (0,10,14) and (ServiceOrdClass in ('"&OA_OrderClassSql&"') or DispatchOrdClass in ('"&OA_OrderClassSql&"')) GROUP BY DispatchOrdPerfomance,ServiceOrdID) as aa"
            rsDt.open sql,objConn,1,1
            If not rsDt.Eof Then Day_TraTxnPrice=int(rsDt(1))
            rsDt.close()
 
            '本月累计营业额
            Month_TraTxnPrice=0
            sql="select Sum_OrdInt=SUM(Sum_OrdInt),Sum_TraTxnPrice=SUM(Sum_TraTxnPrice) from (select Sum_OrdInt=COUNT(DispatchOrdID),case when isnull(SUM(ServiceOrdTraTxnPrice),0)=0 or DispatchOrdPerfomance=0 then 0 else SUM(ServiceOrdTraTxnPrice)/((select SUM(DispatchOrdPerfomance) from DispatchOrd where ServiceOrdIDDt=ServiceOrdID and DispatchOrdState not in (0,10,14))/DispatchOrdPerfomance) END as Sum_TraTxnPrice from DispatchOrd LEFT JOIN ServiceOrder on ServiceOrdIDDt=ServiceOrdID where DispatchOrd_NS_Time between DATEADD(mm,DATEDIFF(mm,0,getdate()),0) and dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0)) and DispatchOrdState not in (0,10,14) and (ServiceOrdClass in ('"&OA_OrderClassSql&"') or DispatchOrdClass in ('"&OA_OrderClassSql&"')) GROUP BY DispatchOrdPerfomance,ServiceOrdID) as aa"
            rsDt.open sql,objConn,1,1
            If not rsDt.Eof Then Month_TraTxnPrice=int(rsDt(1))
            rsDt.close()
            TraTxnPriceTXT="\n\n当天营业额:"&Day_TraTxnPrice&"元\n本月累计营业额:"&Month_TraTxnPrice&"元"
        End If
        
        '微信推送
        touser=OA_weixinUserID
        If touser<>"" Then
            'touser="ylkx_vicgame|liaojunliang"
            '微信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"": 29,"            '企业应用的id,整型。可在应用的设置页面查看
 
            args1=args1&"""msgtype"": ""news"","
            args1=args1&"""news"": {"
                args1=args1&"""articles"":["
                    args1=args1&"{"
                    'args1=args1&"""title"": """&DispatchOrdNo&"现在出车,今天第"&OrdInt&"单出车"","
                    args1=args1&"""title"": """&DispatchOrdNo&"现在出车"","
                    args1=args1&"""description"": ""车辆:"&CarLicense&"\n成交价:"&ServiceOrdTraTxnPrice&"元\n\n"&DispatchOrdTraVia&"\n"&DispatchOrdTraEnd&"\n\n出车成员:"&OA_NameS&TraTxnPriceTXT&""","
                    'args1=args1&"""title"": ""您已启用业绩提醒模块,即将收到实时的出车提示。"","
                    'args1=args1&"""description"": ""本模块还能查看每日订单详细情况,和汇总数据。\n本模块现处于测试阶段,有使用建议和意见,请向廖俊良反馈。"","
                    args1=args1&"""url"": """&WEBURL&"/m_DispatchOrder.gds?DispatchOrdID="&DispatchOrdID&""","
                    args1=args1&"""picurl"": """""
                    args1=args1&"}"  
                args1=args1&"]"
            args1=args1&"}"
 
            args1=args1&"}"
 
            'Response.Write args1&"<br>"
            'Response.end
            'Call PostBody(appUrl,args1)
            HTMLCODE= PostBody(appUrl,args1)
            If Mid(HTMLCODE,12,1)<>"0" Then
                Call OA_Running("weixin_message_send|29|"&touser&"|"&HTMLCODE)
                'Response.Write HTMLCODE
            End If
            'Response.Write HTMLCODE &"<br>"
            'Response.end
        End If
    rs.movenext
    loop
    rs.close()
    
    '合作单位推送
    If ServiceOrdUnitID<>"0" And ServiceOrdUnitID<>"" Then
        'Call GetMessage_1000004(DispatchOrdID)
        'session("JsonKey")="1"
        'Response.Redirect "/message_send_Report_Dispatch_cc1.gds?DispatchOrdID="&DispatchOrdID
    End If
End If
    'Response.end
Response.Redirect "/m_DispatchOrder.gds?DispatchOrdID="&DispatchOrdID&"&closeWindow=YES"
 
%>