<% '--------------------------事务结束处理---------------------begin Function rsRollbackTrans(rsErrors) 'sql="Insert into OA_OperationRecord (OperationID,OperationAction,OperationRecord,OperationIP) values ('"&session("adminID")&"','"&admin_save&"','"&OperationRecord&"','"&Request.ServerVariables("REMOTE_ADDR")&"')" 'objConn.Execute sql if rsErrors=0 then objConn.CommitTrans else objConn.RollbackTrans %> <% Response.End end if End Function '--------------------------事务结束处理---------------------end '--------------------------生成唯一ID---------------------begin '生成时间ID Function DTimeID() Ye=Year(date()) Mo=Month(date()) Da=Day(date()) Ho=Hour(time()) Mi=Minute(time()) Se=Second(time()) if len(Mo)=1 then Mo="0" & Mo if len(Da)=1 then Da="0" & Da if len(Ho)=1 then Ho="0" & Ho if len(Mi)=1 then Mi="0" & Mi if len(Se)=1 then Se="0" & Se DTimeID = Mo&Da&Ho&Mi&Se End Function '生成日期ID Function DDateID() Ye=Year(date()) Mo=Month(date()) Da=Day(date()) Ho=Hour(time()) Mi=Minute(time()) Se=Second(time()) if len(Mo)=1 then Mo="0" & Mo if len(Da)=1 then Da="0" & Da if len(Ho)=1 then Ho="0" & Ho if len(Mi)=1 then Mi="0" & Mi if len(Se)=1 then Se="0" & Se DDateID = Ye&Mo&Da End Function '创建随机ID过程 function getID() dim numbers dim letters dim i dim ID Randomize numbers = "0123456789" letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" for i = 1 to 10 if i mod 2 <> 0 then ID = ID & mid(letters, Int((26 * Rnd) + 1),1) else ID = ID & mid(numbers, Int((10 * Rnd) + 1),1) end if next getID = ID end function '创建随机ID过程2 Function randKey(obj) Dim char_array(80) Dim temp For i = 0 To 9 char_array(i) = Cstr(i) Next For i = 10 To 35 char_array(i) = Chr(i + 55) Next For i = 36 To 61 char_array(i) = Chr(i + 61) Next Randomize For i = 1 To obj 'rnd函数返回的随机数在0~1之间,可等于0,但不等于1 '公式:int((上限-下限+1)*Rnd+下限)可取得从下限到上限之间的数,可等于下限但不可等于上限 temp = temp&char_array(int(62 - 0 + 1)*Rnd + 0) Next randKey = temp End Function '创建唯一ID过程,调用DTimeID()、getID() Function CreateMyID() dim MyID MyID=DTimeID()&"-"&getID() CreateMyID = MyID End Function 'response.write CreateMyID() '--------------------------生成唯一ID---------------------end '日期格式整理 Function DateFormat(DateA) If DateA<>"" Then DateA=Month(DateA)&"/"&day(DateA)&" "&Right("0"&hour(DateA),2)&":"&Right("0"&Minute(DateA),2) End If DateFormat=DateA End Function Function NewMRPOrderID(OrderType) NewMRPOrderID="MRP-"&OrderType&"-"&DDateID()&"-"&randKey(4) End Function '-------------------------供应商状态--------------------begin Function Supplier_A(execLevel) select case execLevel case -1 Supplier_A="等待审核" case 0 Supplier_A="正常" end select End Function '-------------------------供应商状态--------------------end '-------------------------采购入库/出库单状态--------------------begin Function PurchaseOrderState_A(OrderState,OrdType) If OrdType="10" Then OrdTypeName="入库" Else OrdTypeName="出库" End If If OrderState=0 Then PurchaseOrderState_A = "未审核" ElseIf OrderState=1 Then PurchaseOrderState_A = "已审核,等待"&OrdTypeName ElseIf OrderState=2 Then PurchaseOrderState_A = "部分"&OrdTypeName ElseIf OrderState=3 Then PurchaseOrderState_A = "已"&OrdTypeName ElseIf OrderState=4 Then PurchaseOrderState_A = "取消" End If End Function '-------------------------采购入库/出库单状态--------------------end '-------------------------销售出库/入库单状态--------------------begin Function TradeOrderState_A(OrderState,OrdType) If OrdType="11" Then OrdTypeName="出库" Else OrdTypeName="入库" End If If OrderState=0 Then TradeOrderState_A = "未审核" ElseIf OrderState=1 Then TradeOrderState_A = "已审核,等待"&OrdTypeName ElseIf OrderState=2 Then TradeOrderState_A = "部分"&OrdTypeName ElseIf OrderState=3 Then TradeOrderState_A = "已"&OrdTypeName ElseIf OrderState=4 Then TradeOrderState_A = "取消" End If End Function '-------------------------采购入库/出库单状态--------------------end '--------------------------字符转换---------------------begin Function DealInput1(exp1) dim exp2 exp2=Replace(exp1,chr(13),"

") exp2=Replace(exp2,chr(10),"") DealInput1=trim(exp2) End Function '--------------------------字符转换---------------------end '--------------------------字符转换2---------------------begin Function DealInput2(exp1) dim exp2 exp2=Replace(exp1,chr(13),"
 ") exp2=Replace(exp2,chr(10),"") DealInput2=trim(exp2) End Function '--------------------------字符转换2---------------------end '是否判断 Function is_B(isInt) select case isInt case 0 is_B="否" case 1 is_B="是" end select End Function '--------------------------企业用户查找---------------------begin Function UnitUser(UnitID,DataID) if UnitID<>"" then Set adminrs = Server.CreateObject("ADODB.Recordset") sql="select UnitID,UnitName,UnitShort,APPID from IntroducerUnitData where UnitID="&UnitID adminrs.open sql,objConn,1,1 if not adminrs.Eof then ADMINUnitID = adminrs("UnitID") ADMINUnitName = adminrs("UnitName") ADMINUnitShort = adminrs("UnitShort") ADMINAPPID = adminrs("APPID") adminrs.close() else DataID="UnitID" End If select case DataID case "UnitID" UnitUser = ADMINUnitID case "UnitName" UnitUser = ADMINUnitName case "UnitShort" UnitUser = ADMINUnitShort case "UnitAPPID" UnitUser = ADMINAPPID end Select End If End Function '--------------------------企业用户查找---------------------end '--------------------------企业用户查找---------------------begin Function UnitIntroducer(ServiceOrdIntroducer,DataID) if ServiceOrdIntroducer<>"" Then If IsNumeric(ServiceOrdIntroducer) Then Set adminrs = Server.CreateObject("ADODB.Recordset") sql="select IntroducerID,IntroducerName,IntroducerUnitID from IntroducerData where IntroducerID="&ServiceOrdIntroducer adminrs.open sql,objConn,1,1 if not adminrs.Eof then IntroducerID = adminrs("IntroducerID") IntroducerName = adminrs("IntroducerName") IntroducerUnitID = adminrs("IntroducerUnitID") Else DataID="TXT" End If adminrs.close() Else DataID="TXT" End If else DataID="TXT" End If select case DataID case "TXT" UnitIntroducer = ServiceOrdIntroducer case "UnitName" UnitIntroducer = IntroducerName case "UnitID" UnitIntroducer = IntroducerUnitID end Select End Function '--------------------------企业用户查找---------------------end '--------------------------用户查找---------------------begin Function OAUser(adminID,DataID) if adminID<>"" then Set adminrs = Server.CreateObject("ADODB.Recordset") sql="select OA_User_ID,OA_User,OA_Name,OA_weixinAvatar,OA_mobile,OA_DepartmentID from OA_User where OA_User_ID="&adminID adminrs.open sql,objConn,1,1 if not adminrs.Eof then ADMINuserID = adminrs("OA_User_ID") ADMINuser = adminrs("OA_User") ADMINName = adminrs("OA_Name") ADMINMobile = adminrs("OA_mobile") ADMINAvatar = adminrs("OA_weixinAvatar") ADMINDepartmentID = adminrs("OA_DepartmentID") If ADMINAvatar="" Then ADMINAvatar="/resources/images/icon_avatar_default.png" else DataID="adminID" end if adminrs.close() select case DataID case "userID" OAUser = ADMINuserID case "UserName" OAUser = ADMINName case "UserPhone" OAUser = ADMINMobile case "adminID" OAUser = adminID case "Avatar" OAUser = ADMINAvatar case "DepartmentID" OAUser = ADMINDepartmentID end select end if End Function '--------------------------用户查找---------------------end '--------------------------部门查找---------------------begin Function OADepartment(OA_DepartmentID,DataID) if OA_DepartmentID<>"" then Set adminrs = Server.CreateObject("ADODB.Recordset") sql="select id,vID,vtext,vType,vOrder from dictionary where vtitle='OA_Department' and vID="&OA_DepartmentID adminrs.open sql,objConn,1,1 if not adminrs.Eof then Did = adminrs("id") DepartmentID = adminrs("vID") DepartmentName = adminrs("vtext") DepartmentParentid = adminrs("vType") DepartmentOrder = adminrs("vOrder") end if adminrs.close() select case DataID case "Did" OADepartment = Did case "DepartmentID" OADepartment = DepartmentID case "DepartmentName" OADepartment = DepartmentName Case Else OADepartment = OA_DepartmentID end select end if End Function '--------------------------部门查找---------------------end '--------------------------职能查找---------------------begin Function OACompetency(OA_Competency,DataID) if OA_Competency<>"" then Set adminrs = Server.CreateObject("ADODB.Recordset") sql="select id,vID,vtext,vType,vOrder from dictionary where vtitle='OA_Competency' and vID="&OA_Competency adminrs.open sql,objConn,1,1 if not adminrs.Eof then Cid = adminrs("id") CompetencyID = adminrs("vID") CompetencyName = adminrs("vtext") CompetencyOrder = adminrs("vOrder") end if adminrs.close() select case DataID case "Cid" OACompetency = Cid case "CompetencyID" OACompetency = CompetencyID case "CompetencyName" OACompetency = CompetencyName Case Else OACompetency = OA_Competency end select end if End Function '--------------------------职能查找---------------------end '--------------------------车辆资料查询---------------------begin Function CarDataA(CarID,CarLicense,DataID) Set CarDataRS = Server.CreateObject("ADODB.Recordset") If CarID<>"" then CarDataA=CarID sql="select * from CarData where CarID="&CarID ElseIf CarLicense<>"" Then CarDataA=CarLicense sql="select * from CarData where CarLicense='"&CarLicense&"'" End if CarDataRS.open sql,objConn,1,1 if not CarDataRS.Eof then CarDataAID = CarDataRS("CarID") CarDataALicense = CarDataRS("CarLicense") CarDataAAVIN = CarDataRS("CarVIN") CarDataAModels = CarDataRS("CarModels") CarDataAGPS_IMEI= CarDataRS("GPS_IMEI") end if CarDataRS.close() select case DataID case "CarID" CarDataA = CarDataAID case "CarLicense" CarDataA = CarDataALicense case "CarVIN" CarDataA = CarDataAAVIN case "CarModels" CarDataA = CarDataAModels case "CarIMEI" CarDataA = CarDataAGPS_IMEI end select End Function '--------------------------车辆资料查询---------------------end '--------------------------医院资料查询---------------------begin Function HospA(HospID,DataID) if HospID<>"" then Set adminrs = Server.CreateObject("ADODB.Recordset") sql="select id,vID,vtext,vType,vOrder from dictionary where vtitle='HospName' and vID="&HospID adminrs.open sql,objConn,1,1 if not adminrs.Eof then Hid = adminrs("id") HospID = adminrs("vID") HospName = adminrs("vtext") HosOrder = adminrs("vOrder") end if adminrs.close() select case DataID case "HospName" HospA = HospName Case Else HospA = HospName end select end if End Function '--------------------------医院资料查询---------------------end '--------------------------审核状态---------------------begin Function AP_Check_A(AP_Check) select case AP_Check case "1" AP_Check_A="审核" case "2" AP_Check_A="审核" case "0" AP_Check_A="未审核" case "-1" AP_Check_A="作废" case "4" AP_Check_A="不通过" end select End Function '--------------------------审核状态---------------------end '--------------------------语言类型---------------------begin Function AdminLanguage_A(AdminLanguage) select case AdminLanguage case "zh-CN" AdminLanguage_A=Ch("简体中文") case "En" AdminLanguage_A=Ch("英文") end select End Function '--------------------------语言类型---------------------end '--------------------------是否有效---------------------begin Function Is_A(IsInt) select case IsInt case 0 Is_A=Ch("有效") case 1 Is_A=Ch("无效") end select End Function '--------------------------语言类型---------------------end '--------------------------服务单据状态---------------------begin Function ServiceOrdStateA(ServiceOrdState) Set ServiceOrdStateRS = Server.CreateObject("ADODB.Recordset") sql="select vtext from dictionary where vtitle='ServiceOrderState' and vID="&ServiceOrdState ServiceOrdStateRS.open sql,objConn,1,1 if not ServiceOrdStateRS.Eof then ServiceOrdStateA = ServiceOrdStateRS(0) else ServiceOrdStateA = "问题订单" end if ServiceOrdStateRS.close() End Function '--------------------------服务单据状态---------------------end '--------------------------服务单据状态(配色版)---------------------begin Function ServiceOrdStateB(ServiceOrdState) Set ServiceOrdStateRS = Server.CreateObject("ADODB.Recordset") sql="select vtext from dictionary where vtitle='ServiceOrderState' and vID="&ServiceOrdState ServiceOrdStateRS.open sql,objConn,1,1 if not ServiceOrdStateRS.Eof then If ServiceOrdStateRS(0)="咨询单" Then ServiceOrdStateB = ""&ServiceOrdStateRS(0)&"" ElseIf ServiceOrdStateRS(0)="取消单" Then ServiceOrdStateB = ""&ServiceOrdStateRS(0)&"" ElseIf ServiceOrdStateRS(0)="未调度" Then ServiceOrdStateB = ""&ServiceOrdStateRS(0)&"" Else ServiceOrdStateB = ServiceOrdStateRS(0) End If else ServiceOrdStateB = "问题订单" end if ServiceOrdStateRS.close() End Function '--------------------------服务单据状态(配色版)---------------------end '--------------------------调度单据状态---------------------begin Function DispatchOrdStateA(DispatchOrdState) Set DispatchOrdStateRS = Server.CreateObject("ADODB.Recordset") DispatchOrdState1=DispatchOrdState If InStr(DispatchOrdState1,"_")>0 Then DispatchOrdState1=Left(DispatchOrdState1,InStr(DispatchOrdState1,"_")-1) sql="select vtext from dictionary where vtitle='DispatchOrdState' and vID="&DispatchOrdState1 DispatchOrdStateRS.open sql,objConn,1,1 if not DispatchOrdStateRS.Eof then DispatchOrdStateA = DispatchOrdStateRS(0) else DispatchOrdStateA = "问题订单" end if DispatchOrdStateRS.close() End Function '--------------------------调度单据状态---------------------end '--------------------------调度单据状态(配色版)---------------------begin Function DispatchOrdStateC(DispatchOrdState) Set DispatchOrdStateRS = Server.CreateObject("ADODB.Recordset") DispatchOrdState1=DispatchOrdState If InStr(DispatchOrdState1,"_")>0 Then DispatchOrdState1=Left(DispatchOrdState1,InStr(DispatchOrdState1,"_")-1) sql="select vtext from dictionary where vtitle='DispatchOrdState' and vID="&DispatchOrdState1 DispatchOrdStateRS.open sql,objConn,1,1 if not DispatchOrdStateRS.Eof then If DispatchOrdState="4" Or DispatchOrdState="5" Or DispatchOrdState="6" Or DispatchOrdState="7" Then DispatchOrdStateC = ""&DispatchOrdStateRS(0)&"" 'ElseIf DispatchOrdState="4" Then ' DispatchOrdStateC = ""&DispatchOrdStateRS(0)&"" 'ElseIf DispatchOrdState="4" Then ' DispatchOrdStateC = ""&DispatchOrdStateRS(0)&"" Else DispatchOrdStateC = DispatchOrdStateRS(0) End If else DispatchOrdStateC = "问题订单" end if DispatchOrdStateRS.close() End Function '--------------------------调度单据状态(配色版)---------------------end '--------------------------调度单取消详情---------------------begin Function CancelReasonB(DispatchOrdCancelReason,DispatchOrdCancelReasonTXT) If DispatchOrdCancelReason<>"" then Set DispatchOrdStateRS = Server.CreateObject("ADODB.Recordset") sql="select vtext from dictionary where vtitle='CancelReason' and vID="&DispatchOrdCancelReason DispatchOrdStateRS.open sql,objConn,1,1 if not DispatchOrdStateRS.Eof then CancelReasonB = DispatchOrdStateRS(0) else CancelReasonB = "其它取消" end If If DispatchOrdCancelReasonTXT<>"" Then CancelReasonB=CancelReasonB&"("&DispatchOrdCancelReasonTXT&")" DispatchOrdStateRS.close() End If End Function '--------------------------调度单取消详情---------------------end '--------------------------调度单据列表---------------------begin Function DispatchOrdStateB(DispatchOrdState) if DispatchOrdState="1" Or DispatchOrdState="2" then DispatchOrdStateB = "未确认列表" ElseIf DispatchOrdState="3" Then DispatchOrdStateB = "未出车列表" ElseIf DispatchOrdState="4" Or DispatchOrdState="5" Or DispatchOrdState="6" Or DispatchOrdState="7" Then DispatchOrdStateB = "执行中列表" ElseIf DispatchOrdState="8" Then DispatchOrdStateB = "已返回列表" ElseIf DispatchOrdState="9" Then DispatchOrdStateB = "跑空单列表" ElseIf DispatchOrdState="10" Then DispatchOrdStateB = "取消单据列表" ElseIf DispatchOrdState="12" Or DispatchOrdState="100" Then DispatchOrdStateB = "历史任务列表" else DispatchOrdStateB = "全部调度单" end if End Function '--------------------------调度单据列表---------------------end '--------------------------个人任务-调度单据状态---------------------begin Function TaskStateA(TaskState) If TaskState="2" then TaskStateA = "新任务" ElseIf TaskState="3" then TaskStateA = "进行中" ElseIf TaskState="8" then TaskStateA = "已完成" else TaskStateA = "问题订单" end if End Function '--------------------------个人任务-调度单据状态---------------------end '--------------------------单据号码类型---------------------begin Function OrderClassA(OrderClass) Set OrderClassRS = Server.CreateObject("ADODB.Recordset") sql="select vtext from dictionary where vtitle='OrderClass' and vOrder2='"&OrderClass&"'" OrderClassRS.open sql,objConn,1,1 if not OrderClassRS.Eof then OrderClassA = OrderClassRS(0) else OrderClassA = "单据类型错误" end if OrderClassRS.close() End Function '--------------------------单据号码类型---------------------end '--------------------------服务单类型---------------------begin Function ServiceOrdTypeA(ServiceOrdType) Set OrderTypeRS = Server.CreateObject("ADODB.Recordset") sql="select vtext from dictionary where vtitle='ServiceOrderType' and vID="&ServiceOrdType OrderTypeRS.open sql,objConn,1,1 if not OrderTypeRS.Eof then ServiceOrdTypeA = OrderTypeRS(0) else ServiceOrdTypeA = "" end if OrderTypeRS.close() End Function '--------------------------服务单类型---------------------end '--------------------------取消类型---------------------begin Function CancelReasonA(CancelReason) Set OrderTypeRS = Server.CreateObject("ADODB.Recordset") sql="select vtext from dictionary where vtitle='CancelReason' and vID="&CancelReason OrderTypeRS.open sql,objConn,1,1 if not OrderTypeRS.Eof then CancelReasonA = OrderTypeRS(0) else CancelReasonA = "其它" end if OrderTypeRS.close() End Function '--------------------------取消类型---------------------end '--------------------------小数显示---------------------begin Function FN(n) if IsNumeric(n)=False then FN=n elseif InStr(n,".")<=0 then FN=FormatNumber(n,0,-1,,0) elseif len(Mid(n,InStr(n,".")))=2 then FN=FormatNumber(n,1,-1,,0) else FN=FormatNumber(n,2,-1,,0) end if End Function '--------------------------小数显示---------------------end '======================去掉UBB代码(单图片)====================== Private Function ReUBBimg(ByVal inVal) '转换成UBB代码:inVal 为需要转换的字符串 'inVal = Server.HTMLEncode(inVal) inVal = Replace(inVal," "," ") inVal = Replace(inVal,vbCrlf,"") Dim regEx Set regEx = New RegExp regEx.IgnoreCase = True regEx.Global = True regEx.Pattern = "\[IMG]http://(.[^\[]*)(\.gif|\.jpg|\.jpeg)\[\/IMG]" inVal = regEx.Replace(inVal,",http://$1$2") regEx.Pattern = "\[IMG](.[^\[]*)(\.gif|\.jpg|\.jpeg)\[\/IMG]" inVal = regEx.Replace(inVal,",$1$2") Set regEx = Nothing ReUBBimg = inVal End Function '验证字段2 Function SafeRequestHtml(ParaName) ParaValue=ParaName if not isnull(ParaValue) then ParaValue = replace(ParaName,"'","''") 'ParaValue = replace(ParaValue,"""",""") 'ParaValue = replace(ParaValue,"http://v.com.cn:8080","") 'ParaValue = replace(ParaValue,"http://www.v.com.cn:8080","") end if OperationRecord=OperationRecord&ParaValue SafeRequestHtml=ParaValue End function '--------------------------提交记录Form---------------------begin Function RequestForm(Origin) ReDim arr(Request.form.Count,2) Dim v '所有表单值 Dim t '所有表单数量 v=Request.form t=Request.form.Count For i=0 To t-1 arr(i,1)=Split(Split(v,"&")(i),"=")(0) arr(i,2)=Split(Split(v,"&")(i),"=")(1) Next For i = 0 To t-1 If arr(i,1)="province" Then arr(i,1)="ServiceOrdTraProvince" If arr(i,1)="city" Then arr(i,1)="ServiceOrdTraCity" If oldv<>arr(i,1) then oldv=arr(i,1) Origin=Origin & "|" & arr(i,1) & "=" & URLDecode(arr(i,2)) Else Origin=Origin & "," & URLDecode(arr(i,2)) End If Next End Function '--------------------------提交记录Form---------------------end '--------------------------提交记录QueryString---------------------begin Function RequestQueryString() ReDim arr(Request.QueryString.Count,2) Dim v '所有表单值 Dim t '所有表单数量 v=Request.QueryString t=Request.QueryString.Count For i=0 To t-1 arr(i,1)=Split(Split(v,"&")(i),"=")(0) arr(i,2)=Split(Split(v,"&")(i),"=")(1) Next oldv="" For i = 0 To t-1 If arr(i,1)="province" Then arr(i,1)="ServiceOrdTraProvince" If arr(i,1)="city" Then arr(i,1)="ServiceOrdTraCity" If oldv<>arr(i,1) then oldv=arr(i,1) Origin=Origin & "|" & arr(i,1) & "=" & URLDecode(arr(i,2)) Else Origin=Origin & "," & URLDecode(arr(i,2)) End If Next End Function '--------------------------提交记录QueryString---------------------end '--------------------------URL反编码函数---------------------begin Function URLDecode(ByVal urlcode)'URL反编码函数 Dim start,final,length,char,i,butf8,pass Dim leftstr,rightstr,finalstr Dim b0,b1,bx,blength,position,u,utf8 On Error Resume Next b0 = Array(192,224,240,248,252,254) urlcode = Replace(urlcode,"+"," ") pass = 0 utf8 = -1 length = Len(urlcode) : start = InStr(urlcode,"%") : final = InStrRev(urlcode,"%") If start = 0 or length < 3 Then URLDecode = urlcode : Exit Function leftstr = Left(urlcode,start - 1) : rightstr = Right(urlcode,length - 2 - final) For i = start To final char = Mid(urlcode,i,1) If char = "%" Then bx = URLDecode_Hex(Mid(urlcode,i + 1,2)) If bx > 31 And bx < 128 Then i = i + 2 finalstr = finalstr & ChrW(bx) ElseIf bx > 127 Then i = i + 2 If utf8 < 0 Then butf8 = 1 : blength = -1 : b1 = bx For position = 4 To 0 Step -1 If b1 >= b0(position) And b1 < b0(position + 1) Then blength = position Exit For End If Next If blength > -1 Then For position = 0 To blength b1 = URLDecode_Hex(Mid(urlcode,i + position * 3 + 2,2)) If b1 < 128 or b1 > 191 Then butf8 = 0 : Exit For Next Else butf8 = 0 End If If butf8 = 1 And blength = 0 Then butf8 = -2 If butf8 > -1 And utf8 = -2 Then i = start - 1 : finalstr = "" : pass = 1 utf8 = butf8 End If If pass = 0 Then If utf8 = 1 Then b1 = bx : u = 0 : blength = -1 For position = 4 To 0 Step -1 If b1 >= b0(position) And b1 < b0(position + 1) Then blength = position b1 = (b1 xOr b0(position)) * 64 ^ (position + 1) Exit For End If Next If blength > -1 Then For position = 0 To blength bx = URLDecode_Hex(Mid(urlcode,i + 2,2)) : i = i + 3 If bx < 128 or bx > 191 Then u = 0 : Exit For u = u + (bx And 63) * 64 ^ (blength - position) Next If u > 0 Then finalstr = finalstr & ChrW(b1 + u) End If Else b1 = bx * &h100 : u = 0 bx = URLDecode_Hex(Mid(urlcode,i + 2,2)) If bx > 0 Then u = b1 + bx i = i + 3 Else If Left(urlcode,1) = "%" Then u = b1 + Asc(Mid(urlcode,i + 3,1)) i = i + 2 Else u = b1 + Asc(Mid(urlcode,i + 1,1)) i = i + 1 End If End If finalstr = finalstr & Chr(u) End If Else pass = 0 End If End If Else finalstr = finalstr & char End If Next URLDecode = leftstr & finalstr & rightstr End Function Function URLDecode_Hex(ByVal h) On Error Resume Next h = "&h" & Trim(h) : URLDecode_Hex = -1 If Len(h) <> 4 Then Exit Function If isNumeric(h) Then URLDecode_Hex = cInt(h) End Function '--------------------------URL反编码函数---------------------end '--------------------------秒数转X小时X分X秒---------------------begin function SplitTime(secondTime) HourTime=int(secondTime/3600) MinuteTime=int((secondTime mod 3600)/60) SecondTime=(secondTime mod 3600) mod 60 if len(MinuteTime)<2 then MinuteTime="0" & MinuteTime end if if len(SecondTime)<2 then SecondTime="0" & SecondTime end if SplitTime="" If HourTime>0 Then SplitTime=HourTime&"小时 " If MinuteTime>0 Then SplitTime=SplitTime & MinuteTime&"分 " If SecondTime>0 Then SplitTime=SplitTime & SecondTime&"秒" end function '--------------------------秒数转X小时X分X秒---------------------end '--------------------------UNIX时间戳---------------------begin 'ToUnixTime(now(), +8) Function ToUnixTime(strTime, intTimeZone) If IsEmpty(strTime) or Not IsDate(strTime) Then strTime = Now If IsEmpty(intTimeZone) or Not isNumeric(intTimeZone) Then intTimeZone = 0 ToUnixTime = DateAdd("h",-intTimeZone,strTime) ToUnixTime = DateDiff("s","1970-1-1 0:0:0", ToUnixTime) End Function '--------------------------UNIX时间戳---------------------end '--------------------------远程获取图片至本地---------------------begin Function downFile(url,filePath,fileSuffix) '远程获取文件 '------------------------------------------------------ set xmlhttp = server.CreateObject("Microsoft.XMLHTTP") xmlhttp.open "get",url,false xmlhttp.send html = xmlhttp.ResponseBody '获取文件名 '----------------------------------------------------- If fileSuffix<>"" Then fileName = ToUnixTime(now(),+8)&randKey(4) &"."&fileSuffix else fileNameSplit = Split(url,"/") fileName = fileNameSplit(Ubound(fileNameSplit)) End If '开始保存文件到本地 '----------------------------------------------------- Set saveFile = Server.CreateObject("Adodb.Stream") saveFile.Type = 1 saveFile.Open saveFile.Write html saveFile.SaveToFile server.MapPath(filePath)&"\"&fileName, 2 downFile=filePath&fileName End Function '中文转拼音首字 Function Pinyin_A(Str) Str=Replace(Str,"(","") Str=Replace(Str,")","") Str=Replace(Str," ","") Str=Replace(Str,"、","") Pinyin_A=GetBody("https://sys.966120.com.cn/inc/GB2312.gds","zhoz_txt="&server.urlencode(Str)) Pinyin_A=Replace(Pinyin_A,"?","") End Function 'Get方法 Function GetBody(appUrl,Origin) Set https = Server.CreateObject("Msxml2.ServerXMLHTTP") With https .Open "GET", appUrl&"?"&Origin, False .setRequestHeader "Content-Type","application/x-www-form-urlencoded" .Send "" GetBody = .ResponseBody End With GetBody = BytesToBstr(GetBody,"utf-8") Set https = Nothing End Function Function BytesToBstr(body,Cset) '飘易:转换GB2312 dim objstream set objstream = Server.CreateObject("adodb.stream") objstream.Type = 1 objstream.Mode =3 objstream.Open objstream.Write body objstream.Position = 0 objstream.Type = 2 objstream.Charset = Cset BytesToBstr = objstream.ReadText objstream.Close set objstream = nothing End Function '--------------------------分钟转小时---------------------end function mtodhm(mnum) dim m,h0,h,d m=(mnum mod 60) h=int(mnum/60) mtodhm=h&"小时"&m&"分" end Function '--------------------------分钟转小时---------------------end '--------------------------字符串签名---------------------begin '待签名字符串 Function SignArgs(args1) args1SP=SPLIT(args1,"&") ReDim arr(UBOUND(args1SP)+1,2) Dim v '所有表单值 Dim t '所有表单数量 v=args1 t=UBOUND(args1SP)+1 For i=0 To t-1 arr(i,1)=Split(Split(v,"&")(i),"=")(0) arr(i,2)=Split(Split(v,"&")(i),"=")(1) Next For i = 0 To t-1 For j = i + 1 To t-1 If arr(i,1) > arr(j,1) Then tmp1 = arr(i,1) arr(i,1) = arr(j,1) arr(j,1) = tmp1 tmp2 = arr(i,2) arr(i,2) = arr(j,2) arr(j,2) = tmp2 End If Next Next For i = 0 To t-1 'response.write arr(i,1) & "=" & arr(i,2) & "
" If arr(i,1)="Sign" Then reserve=arr(i,2) else If arr(i,2)="timestamp" Then arr(i,2)=Date() &" "& Time() sParaSort=sParaSort & arr(i,1) & arr(i,2) sParaRunning=sParaRunning &"&"& arr(i,1) &"="& arr(i,2) End if Next sign_type = "MD5" input_charset="utf-8" stringA=sParaSort&key 'response.write sParaSort & "
" 'SignArgs=stringA SignArgs=Md5Sign(sParaSort,key,input_charset) End Function '--------------------------字符串签名---------------------end '--------------------------获取客户端真实IP地址---------------------begin Private Function getIP() Dim strIPAddr If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then strIPAddr = Request.ServerVariables("REMOTE_ADDR") ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),1,InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),",")-1) ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),1,InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),";")-1) Else strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR") End If getIP = Trim(Mid(strIPAddr, 1, 30)) End Function '--------------------------获取客户端真实IP地址---------------------end '--------------------------名传无线-短信发送---------------------begin Function Get_SMS(Send_Phone,Send_Text,Send_Remarks) '账号:201453 '密码:b9d04e62652a47f317616e122e819918 '地址:yun.mchuan.com url="http://112.74.139.4:8002/sms3_api/jsonapi/jsonrpc2.jsp" '//定义要获取源代码的网址,一般是通过变量传递过来 Origin="{" Origin=Origin&"""id"": 1 ," Origin=Origin&"""method"":""send""," Origin=Origin&"""params"":{" Origin=Origin&"""userid"":""201453""," Origin=Origin&"""password"":""b9d04e62652a47f317616e122e819918""," Origin=Origin&"""submit"": [{" Origin=Origin&"""content"":"""&Send_Text&"""," Origin=Origin&"""phone"":"""&Send_Phone&"""" Origin=Origin&"}]}}" 'Response.Write url&"?"&Origin&"
" 'Response.end HTMLCODE= GetBody(url,Server.URLEncode(Origin)) %> <% str=HTMLCODE str=right(str,len(str)-instr(str,"[")+1) str=left(str,InstrRev(str,"]")) set obj = getjson(str) for i=0 to obj.length-1 phone = obj.get(i).phone msgid = obj.get(i).msgid return = obj.get(i).return errMsg = obj.get(i).info sql="Insert into Sms_Log (Log_Id,Send_Text,Send_Phone,Send_OA,Send_errMsg,Send_Remarks) values ('"&msgid&"','"&Send_Text&"','"&phone&"',"&session("adminID")&",'"&errMsg&"','"&Send_Remarks&"')" 'objConn.Execute sql Next End Function '--------------------------名传无线-短信发送---------------------end %>