【调度系统】广东民航医疗快线调度系统源代码
克樊道人
2024-12-02 61ce8cc6883e5f94e6470141df3484167caf31ed
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
<%
Function GetMessage_1000004(DispatchOrdID)
    access_token_1000004=GetAccess_token_1000004()
 
    If DispatchOrdID="" Then
        'Response.Redirect "/DispatchOrder_List.gds?SystemMessageType=4&SMT=1"
    else
 
        Set rs = Server.CreateObject("ADODB.Recordset")
        sql="select DispatchOrdClass,DispatchOrdID,ServiceOrdIDDt,DispatchOrdState,DispatchOrdTraSDTime,DispatchOrdTraStreet,DispatchOrdTraEnd,DispatchOrdTraVia,DispatchOrd_NS_Time,DispatchOrdNo,DispatchOrdActualDate,DispatchOrdCarID,ServiceOrdTraTxnPrice,ServiceOrdUnitID from DispatchOrd LEFT JOIN ServiceOrder on ServiceOrdIDDt=ServiceOrdID where DispatchOrdID="&DispatchOrdID
        rs.open sql,objConn,1,1
        If not rs.Eof Then
            DispatchOrdClass    = rs("DispatchOrdClass")
            DispatchOrdID        = rs("DispatchOrdID")
            ServiceOrdID        = rs("ServiceOrdIDDt")
            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")
            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 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
 
 
        Else
            'Response.Redirect "/DispatchOrder.gds?DispatchOrdID="&DispatchOrdID&"&SystemMessageType=4&SMT=9"
        End If
        rs.close()
 
        '相关单位
        If ServiceOrdUnitID<>"0" Then
            sql="select APPID from IntroducerUnitData where UnitID="&ServiceOrdUnitID
            rs.open sql,objConn,1,1
            If not rs.Eof Then UnitAPPID=rs(0)
            rs.close()
        
            
 
            '当天第N单
            'sql="select COUNT(DispatchOrdID) from DispatchOrd where DispatchOrdState not in (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)
 
            '当天营业额
            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 (10))/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(ss,-1,DATEADD(dd,DATEDIFF(dd,0,getdate()),1)) and DispatchOrdState not in (10) GROUP BY DispatchOrdPerfomance,ServiceOrdID) as aa"
            'rs.open sql,objConn,1,1
            'If not rs.Eof Then Day_TraTxnPrice=int(rs(1))
            'rs.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 (10))/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 (10) and ServiceOrdUnitID="&ServiceOrdUnitID&" GROUP BY DispatchOrdPerfomance,ServiceOrdID) as aa"
            rs.open sql,objConn,1,1
            If not rs.Eof Then Month_TraTxnPrice=int(rs(1))
            rs.close()
 
            '推送的相关人员
            touser=""
            '推送的相关人员
            If hour(now())>=8 And hour(now())<22 then
                '日间推送
                PowerID="070301"
            else
                '夜间推送
                PowerID="070302"
            End If 
            sql="select OA_weixinUserID from OA_User where OA_Position='"&UnitAPPID&"' and OA_Power like '%,"&PowerID&",%' and OA_weixinStatus=1"
            rs.open sql,objConn,1,1
            do while not rs.Eof
                OA_weixinUserID        = rs("OA_weixinUserID")
                touser=touser&OA_weixinUserID&"|"
            rs.movenext
            loop
            rs.close()
            If touser<>"" Then
                touser=Mid(touser,1,Len(touser)-1)
                'touser="ylkx_vicgame|liaojunliang"
 
                '微信OA信息下发接口
                appUrl="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="&access_token_1000004
 
                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"": 1000004,"            '企业应用的id,整型。可在应用的设置页面查看
 
                args1=args1&"""msgtype"": ""news"","
                args1=args1&"""news"": {"
                    args1=args1&"""articles"":["
                        args1=args1&"{"
                        'args1=args1&"""title"": """&DispatchOrdNo&"现在出车,今天第"&OrdInt&"单出车"","
                        args1=args1&"""title"": """&CarLicense&"现在出车"","
                        args1=args1&"""description"": ""成交价:"&ServiceOrdTraTxnPrice&"元\n\n"&DispatchOrdTraVia&"\n"&DispatchOrdTraEnd&"\n\n出车成员:"&OA_NameS&"\n\n本月累计营业额:"&Month_TraTxnPrice&"元"","
                        'args1=args1&"""title"": ""您已启用业绩提醒模块,即将收到实时的出车提示。"","
                        'args1=args1&"""description"": ""本模块还能查看每日订单详细情况,和汇总数据。\n本模块现处于测试阶段,有使用建议和意见,请向廖俊良反馈。"","
                        args1=args1&"""url"": ""http://cc1.966120.com.cn:803/m_ServiceOrder.asp?ServiceOrdID="&ServiceOrdID&""","
                        args1=args1&"""picurl"": """""
                        args1=args1&"}"  
                    args1=args1&"]"
                args1=args1&"}"
 
                args1=args1&"}"
 
                'Response.Write args1
                'Response.end
                HTMLCODE= PostBody(appUrl,args1)
                If Mid(HTMLCODE,12,1)<>"0" Then
                    Call OA_Running("weixin_message_send|1000004|"&touser&"|"&HTMLCODE)
                    'Response.Write HTMLCODE
                End If
 
                'Response.Write HTMLCODE &"<br>"
                'Response.end
            End If
        End If
    End If
End Function
 
%>