【调度系统】广东民航医疗快线调度系统源代码
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
<%
 
 
'出车物品单号生成
Function NewDispatchMRPOrderID(OrderType,DispatchOrdID,Type1)
    NewDispatchMRPOrderID="MRP-"&OrderType&"-"&DispatchOrdID&Type1
End Function
'出车物品单返回
Function DispatchMRPOrderReturn(OrderType,DispatchOrdID)
    MRP_OrderID_Out=NewDispatchMRPOrderID(OrderType,DispatchOrdID,"Out")
    MRP_OrderID=NewDispatchMRPOrderID(OrderType,DispatchOrdID,"In")
    OutWarehouseID=5    '转出仓(出车任务)
    InWarehouseID=2        '转入仓(集盛总部正常仓一)
    Set adminrs = Server.CreateObject("ADODB.Recordset")
    sql="select MRP_OrderID from MRP_OrderManoeuvre where MRP_OrderID='"&MRP_OrderID&"' and OrderState=3"
    adminrs.open sql,objConn,1,1
    if adminrs.Eof Then
        adminrs.close()
        sql="select MRP_OrderID from MRP_OrderManoeuvre where MRP_OrderID='"&MRP_OrderID_Out&"' and OrderState=3"
        adminrs.open sql,objConn,1,1
        if not adminrs.Eof then
            '新建转仓单
            sql="insert into MRP_OrderManoeuvre (MRP_OrderID,OutWarehouseID,InWarehouseID,OrderState,OrderTime_OAid,TotalQty,OrderRemarks,AuditTime,AuditTime_OAid,OutTime,OutTime_OAid,InTime,InTime_OAid) select '"&MRP_OrderID&"',"&OutWarehouseID&","&InWarehouseID&",3,"&session("adminID")&",TotalQty,OrderRemarks,getdate(),"&session("adminID")&",getdate(),"&session("adminID")&",getdate(),"&session("adminID")&" from MRP_OrderManoeuvre where MRP_OrderID='"&MRP_OrderID_Out&"' and OrderState=3"
            objConn.Execute sql
            sql="insert into MRP_OrderDetail (MRP_OrderIDPK,StItmIDPK,OD_Qty,OD_QtyA,OD_Price,OD_Remarks) select '"&MRP_OrderID&"',StItmIDPK,OD_Qty,OD_QtyA,OD_Price,OD_Remarks from MRP_OrderDetail where MRP_OrderIDPK='"&MRP_OrderID_Out&"'"
            objConn.Execute sql
            sql="insert into MRP_Stock (StItmIDPK,StockQty,StockWarehouseID,MRP_OrderIDPK,StockTime_OAid) select StItmIDPK,-StockQty,"&OutWarehouseID&",'"&MRP_OrderID&"',"&session("adminID")&" from MRP_Stock where MRP_OrderIDPK='"&MRP_OrderID_Out&"' and StockWarehouseID="&OutWarehouseID
            objConn.Execute sql
            sql="insert into MRP_Stock (StItmIDPK,StockQty,StockWarehouseID,MRP_OrderIDPK,StockTime_OAid) select StItmIDPK,StockQty,"&InWarehouseID&",'"&MRP_OrderID&"',"&session("adminID")&" from MRP_Stock where MRP_OrderIDPK='"&MRP_OrderID_Out&"' and StockWarehouseID="&OutWarehouseID
            objConn.Execute sql
        end If
    End If
    adminrs.close()
End Function
 
Function Get_TritonshAPI(UserUUID,orderStatus,ServiceOrdID,iuid,CoName,CoPhone,orderPrice,orderSource)
    'url="https://api.966120.com.cn/v1/cuituAPI.php"
    'Origin="OrdID="&ServiceOrdID&"&method="&method&"&iuid="&iuid&"&uuid="&uuid
    'HTMLCODE= GetBody(url,Origin)
    appUrl="https://market.tritonsh.com/order/orderDeal"
    args1="{"
    'args1=args1&"""id"": """&uuid&""","            '对方订单ID
    args1=args1&"""userId"": """&iuid&""","    '对方用户ID(介绍人ID)
    args1=args1&"""orderStatus"": """&orderStatus&""","            '订单状态    0:初始订单 , 1:最终订单状态
    args1=args1&"""orderType"":0,"                '下单类型    0:本人下单,1:代人下单
    If orderSource="1" Then
        args1=args1&"""orderSource"":""代客下单"","
    ElseIf orderSource="2" Then
        args1=args1&"""orderSource"":""面对面二维码"","
    ElseIf  orderSource="3" Then
        args1=args1&"""orderSource"":""推广海报"","
    End If
    args1=args1&"""orderUserPhone"": """&CoPhone&""","        '客户手机号
    args1=args1&"""userName"": """&CoName&""","                '客户姓名
    args1=args1&"""orderPrice"": """&orderPrice&""","    '订单金额
    args1=args1&"""orderServiceNo"": """&ServiceOrdID&""""    '订单服务单号
    args1=args1&"}"
    'call PostBody(appUrl,args1)
    'Response.Write args1&"<br>"
    HTMLCODE= PostBody1(appUrl,args1)
    sql="update ServiceOrder set ToUserUUID="&UserUUID&" where ServiceOrdID="&ServiceOrdID
    objConn.Execute sql
    sql="update UserUUID set ToServiceOrdID="&ServiceOrdID&",TritonshJson='"&HTMLCODE&"',TritonshTime=getdate() where id="&UserUUID
    objConn.Execute sql
    'Response.Write HTMLCODE&"<br>"
    'Response.end
    'HTMLCODE= GetBody(url,Origin)
End Function
 
DispatchOrdID            = SafeRequest(Request("DispatchOrdID"))'调度单号
ServiceOrdID            = SafeRequest(Request("ServiceOrdID"))    '对应服务单号
ServiceOrdDel            = SafeRequest(Request("ServiceOrdDel"))'是否同时取消服务号(1是,0否)
Del                        = SafeRequest(Request("Del"))    '强制取消(YES/NO)
CancelReason            = SafeRequest(Request("CancelReason"))'取消原因
CancelReasonTXT            = SafeRequest(Request("CancelReasonTXT"))'取消原因备注
CancelReasonTXT            = CancelReasonTXT&"[取消操作:"&OAUser(session("adminID"),"UserName")&"]"
Source                    = SafeRequest(Request("Source"))    '取消来源(PC/Phone)
If CancelReason="" Then CancelReason=0
If ServiceOrdDel="" Then ServiceOrdDel=0
If Source="Phone" Then SourceURL="m_"
Set rs = Server.CreateObject("ADODB.Recordset")
'验证调度单是否可取消
If DispatchOrdID<>"" Then
    If Del<>"YES" then
        sql="select DispatchOrdState,DispatchOrd_AP_Check from DispatchOrd where DispatchOrdID="&DispatchOrdID
        rs.open sql,objConn,1,1
        If rs.eof Then
            Response.Redirect "/DispatchOrder.gds?SystemMessageType=4&SMT=1"
        Else
            DispatchOrdState    = rs("DispatchOrdState")
            DispatchOrd_AP_Check= rs("DispatchOrd_AP_Check")
            If CInt(DispatchOrdState)>=4 Then
                Response.Redirect "/"&SourceURL&"DispatchOrder.gds?DispatchOrdID="&DispatchOrdID&"&SystemMessageType=4&SMT=10"
            ElseIf DispatchOrd_AP_Check=1 Then
                Response.Redirect "/"&SourceURL&"DispatchOrder.gds?DispatchOrdID="&DispatchOrdID&"&SystemMessageType=4&SMT=11"
            End if
        End If
        rs.close()
    End if
    sql="update DispatchOrd set DispatchOrdState=10,DispatchOrdStartDate=getdate(),DispatchOrdCancelReason="&CancelReason&",DispatchOrdCancelReasonTXT='"&CancelReasonTXT&"',DispatchOrd_OAName=(SELECT STUFF(( select ',' + OA_Name from DispatchOrd_Entourage,OA_User where OA_User_ID=EntourageOAid and DispatchOrdIDDt=DispatchOrdID and EntourageState<>4 order by EntourageLead desc FOR XML PATH('')), 1, 1, '') AS EntourageName),DispatchOrd_OAEntourage=(SELECT STUFF(( select ',' + vtext from DispatchOrd_Entourage,OA_User,dictionary where OA_User_ID=EntourageOAid and DispatchOrdIDDt=DispatchOrdID and EntourageState<>4 and vtitle='DispatchOrdEntourage' and vID=EntourageID order by EntourageLead desc FOR XML PATH('')), 1, 1, '') AS EntouragePost),DispatchOrdUpdateOAid="&session("adminID")&",DispatchOrdUpdateTime=getdate() where DispatchOrdID="&DispatchOrdID
    objConn.Execute sql
    '修改相关服务单状态
    If ServiceOrdID<>"" then
        sql="select DispatchOrdID from DispatchOrd where ServiceOrdIDDt="&ServiceOrdID&" and DispatchOrdState<>10"
        rs.open sql,objConn,1,1
        If rs.eof Then
            If ServiceOrdDel="1" Then
                sql="update ServiceOrder set ServiceOrdState=4,ServiceOrd_AP_ID="&session("adminID")&",ServiceOrd_AP_Time=getdate(),ServiceOrdCancelReason="&CancelReason&",ServiceOrdCancelReasonTXT='"&CancelReasonTXT&"' where ServiceOrdID="&ServiceOrdID
            else
                sql="update ServiceOrder set ServiceOrdState=2,ServiceOrdStartDate=getdate(),ServiceOrdCancelReason="&CancelReason&",ServiceOrdCancelReasonTXT='"&CancelReasonTXT&"' where ServiceOrdID="&ServiceOrdID
            End If
            objConn.Execute sql
        End If
        rs.close()
    End If
    '重点议器归还
    Call DispatchMRPOrderReturn(14,DispatchOrdID)
    ReturnURL="/"&SourceURL&"DispatchOrder.gds?DispatchOrdID="&DispatchOrdID
    Call OA_Running("取消调度单:"&DispatchOrdID)
ElseIf ServiceOrdID<>"" Then
    If Del<>"YES" then
        sql="select ServiceOrdState,ServiceOrd_AP_Check,ServiceOrdCoName,ServiceOrdCoPhone,ToUserUUID from ServiceOrder where ServiceOrdID="&ServiceOrdID
        rs.open sql,objConn,1,1
        If rs.eof Then
            Response.Redirect "/"&SourceURL&"ServiceOrder_List.gds?SystemMessageType=4&SMT=1"
        Else
            ServiceOrdState    = rs("ServiceOrdState")
            ServiceOrdCoName= rs("ServiceOrdCoName")
            ServiceOrdCoPhone= rs("ServiceOrdCoPhone")
            ToUserUUID        = rs("ToUserUUID")
            If CInt(ServiceOrdState)=3 Then
                Response.Redirect "/"&SourceURL&"ServiceOrder.gds?ServiceOrdID="&ServiceOrdID&"&SystemMessageType=4&SMT=10"
            ElseIf ServiceOrd_AP_Check=1 Then
                Response.Redirect "/"&SourceURL&"ServiceOrder.gds?ServiceOrdID="&ServiceOrdID&"&SystemMessageType=4&SMT=11"
            End if
        End If
        rs.close()
    End if
    sql="update ServiceOrder set ServiceOrdState=4,ServiceOrd_AP_ID="&session("adminID")&",ServiceOrd_AP_Time=getdate(),ServiceOrdCancelReason="&CancelReason&",ServiceOrdCancelReasonTXT='"&CancelReasonTXT&"' where ServiceOrdState<>4 and ServiceOrdID="&ServiceOrdID
    objConn.Execute sql
    '营销小程序数据更新
    If ToUserUUID<>"0" And ToUserUUID<>"" Then 
        sql="select top 1 id,iuid from UserUUID where id="&ToUserUUID
        rs.open sql,objConn,1,1
        if not rs.eof Then
            iuid=rs("iuid")
            Call Get_TritonshAPI(ToUserUUID,1,ServiceOrdID,iuid,ServiceOrdCoName,ServiceOrdCoPhone,0)
        End If
        rs.close()
    End If
    ReturnURL="/"&SourceURL&"ServiceOrder_List.gds?OrdState=0"
    Call OA_Running("取消调度单:"&ServiceOrdID)
End If
 
objConn.Execute "exec OrdDataUP "&ServiceOrdID
rsRollbackTrans(objConn.Errors.count)
Response.Redirect ReturnURL&"&SystemMessageType=3&SMT=8&h_menu1_1="&session("h_menu1_1")
Response.End