<%
|
'--------------------------事务结束处理---------------------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
|
%>
|
<script language=javascript>
|
alert("网络错误,请稍后再试!!")
|
window.history.go(-1)
|
</script>
|
<%
|
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过程(纯数字)
|
function getIDnumbers(obj)
|
dim numbers
|
dim letters
|
dim i
|
dim ID
|
Randomize
|
numbers = "0123456789"
|
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
for i = 1 to obj
|
ID = ID & mid(numbers, Int((10 * Rnd) + 1),1)
|
next
|
getIDnumbers = ID
|
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
|
DateA1=Month(DateA)&"/"&day(DateA)&" "&Right("0"&hour(DateA),2)&":"&Right("0"&Minute(DateA),2)
|
End If
|
DateFormat=DateA1
|
End Function
|
|
Function NewMRPOrderID(OrderType)
|
NewMRPOrderID="MRP-"&OrderType&"-"&DDateID()&"-"&randKey(4)
|
End Function
|
|
'出车物品单号生成
|
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
|
|
'-------------------------供应商状态--------------------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 ApplyOrderState_A(OrderState,OrdType)
|
If OrdType="11" Then
|
OrdTypeName="出库"
|
Else
|
OrdTypeName="入库"
|
End If
|
If OrderState=0 Then
|
ApplyOrderState_A = "未审核"
|
ElseIf OrderState=1 Then
|
ApplyOrderState_A = "已审核,等待"&OrdTypeName
|
ElseIf OrderState=2 Then
|
ApplyOrderState_A = "部分"&OrdTypeName
|
ElseIf OrderState=3 Then
|
ApplyOrderState_A = "已"&OrdTypeName
|
ElseIf OrderState=4 Then
|
ApplyOrderState_A = "取消"
|
End If
|
End Function
|
'-------------------------领用入库/出库单状态--------------------end
|
|
'--------------------------字符转换---------------------begin
|
Function DealInput1(exp1)
|
dim exp2
|
exp2=Replace(exp1,chr(13),"<p></p>")
|
exp2=Replace(exp2,chr(10),"")
|
DealInput1=trim(exp2)
|
End Function
|
'--------------------------字符转换---------------------end
|
|
'--------------------------字符转换2---------------------begin
|
Function DealInput2(exp1)
|
dim exp2
|
exp2=Replace(exp1,chr(13),"<br> ")
|
exp2=Replace(exp2,chr(10),"")
|
DealInput2=trim(exp2)
|
End Function
|
'--------------------------字符转换2---------------------end
|
|
'--------------------------字符转换2---------------------begin
|
Function DealInput3(exp1)
|
dim exp2
|
exp2=Replace(exp1,chr(13),"<br>")
|
exp2=Replace(exp2,chr(10),"")
|
DealInput3=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 Warehouse_A(WarehouseID,DataID)
|
if WarehouseID<>"" then
|
Set adminrs = Server.CreateObject("ADODB.Recordset")
|
sql="select WarehouseID,WarehouseName from MRP_Warehouse where WarehouseID="&WarehouseID
|
adminrs.open sql,objConn,1,1
|
if not adminrs.Eof then
|
ADMINWarehouseID = adminrs("WarehouseID")
|
ADMINWarehouseName = adminrs("WarehouseName")
|
else
|
DataID="ID"
|
end if
|
adminrs.close()
|
|
select case DataID
|
case "ID"
|
Warehouse_A = WarehouseID
|
case "Name"
|
Warehouse_A = ADMINWarehouseName
|
end select
|
end if
|
End Function
|
'--------------------------仓库查找---------------------end
|
|
'--------------------------供应商查找---------------------begin
|
Function Supplier_A(SupplierID,DataID)
|
if SupplierID<>"" then
|
Set adminrs = Server.CreateObject("ADODB.Recordset")
|
sql="select SupplierID,SupplierName from MRP_Supplier where SupplierID="&SupplierID
|
adminrs.open sql,objConn,1,1
|
if not adminrs.Eof then
|
ADMINSupplierID = adminrs("SupplierID")
|
ADMINSupplierName = adminrs("SupplierName")
|
else
|
DataID="ID"
|
end if
|
adminrs.close()
|
|
select case DataID
|
case "ID"
|
Supplier_A = SupplierID
|
case "Name"
|
Supplier_A = ADMINSupplierName
|
end select
|
end if
|
End Function
|
'--------------------------供应商查找---------------------end
|
|
'--------------------------企业用户查找---------------------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 WX_UUID(UserUUID,DataID)
|
If IsNumeric(UserUUID) Then
|
Set adminrs = Server.CreateObject("ADODB.Recordset")
|
sql="select "&DataID&" from UserUUID where id="&UserUUID
|
adminrs.open sql,objConn,1,1
|
if not adminrs.Eof then
|
WX_UUID = adminrs(DataID)
|
Else
|
WX_UUID = UserUUID
|
End If
|
adminrs.close()
|
Else
|
WX_UUID=UserUUID
|
End If
|
End Function
|
'--------------------------营销小程序用户查找---------------------end
|
|
'--------------------------个人营销小程序用户查找---------------------begin
|
Function WX_RUID(UserRUID)
|
If IsNumeric(UserRUID) Then
|
Set adminrs = Server.CreateObject("ADODB.Recordset")
|
sql="select UserName,UserPhone,UserNickName from UserData where UserID="&UserRUID
|
adminrs.open sql,objConn,1,1
|
if not adminrs.Eof then
|
If adminrs("UserName")<>"" then
|
WX_RUID = adminrs("UserName")
|
ElseIf adminrs("UserNickName")<>"" then
|
WX_RUID = adminrs("UserNickName")
|
Else
|
WX_RUID = adminrs("UserPhone")
|
End If
|
Else
|
WX_RUID = UserRUID
|
End If
|
adminrs.close()
|
Else
|
WX_RUID=UserRUID
|
End If
|
End Function
|
'--------------------------营销小程序用户查找---------------------end
|
|
'--------------------------用户查找---------------------begin
|
Function OAUser(adminID,DataID)
|
If adminID="10" Then
|
OAUser = "线上支付"
|
elseif adminID<>"" Then
|
If Mid(adminID,1,1)="," Then adminID=Mid(adminID,2)
|
If Right(adminID,1)="," Then adminID=Mid(adminID,1,Len(adminID)-1)
|
Set adminrs = Server.CreateObject("ADODB.Recordset")
|
sql="select OA_User_ID,OA_User,OA_Name,OA_weixinAvatar,OA_Img_64,OA_mobile,OA_DepartmentID,OA_EmployeeGroup,OA_weixinUserID from OA_User where OA_User_ID in ("&adminID&")"
|
adminrs.open sql,objConn,1,1
|
if not adminrs.Eof Then
|
do while not adminrs.Eof
|
ADMINuserID = ADMINuserID&","& adminrs("OA_User_ID")
|
ADMINuser = ADMINuser&","& adminrs("OA_User")
|
ADMINName = ADMINName&","& adminrs("OA_Name")
|
ADMINMobile = ADMINMobile&","& adminrs("OA_mobile")
|
ADMINDepartmentID = ADMINDepartmentID&","& adminrs("OA_DepartmentID")
|
ADMINDEmployeeGroup = ADMINDEmployeeGroup&","& adminrs("OA_EmployeeGroup")
|
ADMINDOA_weixinUserID = ADMINDOA_weixinUserID&","& adminrs("OA_weixinUserID")
|
ADMINAvatarNew = adminrs("OA_Img_64")
|
If ADMINAvatarNew="" Or isnull(ADMINAvatarNew) Then
|
ADMINAvatarNew = adminrs("OA_weixinAvatar")
|
If ADMINAvatarNew="" Then ADMINAvatarNew="/resources/images/icon_avatar_default.png"
|
Else
|
ADMINAvatarNew = OAImgURL&ADMINAvatarNew
|
End If
|
ADMINAvatar = ADMINAvatar&","& ADMINAvatarNew
|
adminrs.movenext
|
Loop
|
ADMINuserID = Mid(ADMINuserID,2)
|
ADMINuser = Mid(ADMINuser,2)
|
ADMINName = Mid(ADMINName,2)
|
ADMINMobile = Mid(ADMINMobile,2)
|
ADMINDepartmentID = Mid(ADMINDepartmentID,2)
|
ADMINDEmployeeGroup = Mid(ADMINDEmployeeGroup,2)
|
ADMINDOA_weixinUserID = Mid(ADMINDOA_weixinUserID,2)
|
ADMINAvatar = Mid(ADMINAvatar,2)
|
ElseIf adminID="177" And DataID="UserName" Then
|
ADMINName="无"
|
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
|
case "EmployeeGroup"
|
OAUser = ADMINDEmployeeGroup
|
case "weixinUserID"
|
OAUser = ADMINDOA_weixinUserID
|
end select
|
Else
|
OAUser = "--"
|
end if
|
End Function
|
'--------------------------用户查找---------------------end
|
|
'--------------------------部门查找---------------------begin
|
Function OADepartment(OA_DepartmentID,DataID)
|
DepartmentName=""
|
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 in ("&OA_DepartmentID&")"
|
adminrs.open sql,objConn,1,1
|
do while not adminrs.Eof
|
Did = adminrs("id")
|
DepartmentID = adminrs("vID")
|
DepartmentName = DepartmentName&"|"&adminrs("vtext")
|
DepartmentParentid = adminrs("vType")
|
DepartmentOrder = adminrs("vOrder")
|
adminrs.movenext
|
Loop
|
adminrs.close()
|
|
select case DataID
|
case "Did"
|
OADepartment = Did
|
case "DepartmentID"
|
OADepartment = DepartmentID
|
case "DepartmentName"
|
If DepartmentName<>"" Then DepartmentName=Mid(DepartmentName,2)
|
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 HospitalDepartment(ServiceOrdPtServicesID)
|
HospitalDepartmentName=""
|
if ServiceOrdPtServicesID<>"" then
|
Set adminrs = Server.CreateObject("ADODB.Recordset")
|
sql="select id,vID,vtext,vType,vOrder from dictionary where vtitle='HospitalDepartment' and vID="&ServiceOrdPtServicesID
|
adminrs.open sql,objConn,1,1
|
if not adminrs.Eof then
|
HospitalDepartmentName = adminrs("vtext")
|
end if
|
adminrs.close()
|
end If
|
HospitalDepartment=HospitalDepartmentName
|
End Function
|
'--------------------------科室查找---------------------end
|
|
|
'--------------------------通话来源查询---------------------begin
|
Function CallRecord_SourceA(CallRecord_Source)
|
CallRecord_SourceName=""
|
if CallRecord_Source<>"" then
|
Set adminrs = Server.CreateObject("ADODB.Recordset")
|
sql="select id,vID,vtext,vType,vOrder from dictionary where vtitle='CallRecord_Source' and vID="&CallRecord_Source
|
adminrs.open sql,objConn,1,1
|
if not adminrs.Eof then
|
CallRecord_SourceName = adminrs("vtext")
|
end if
|
adminrs.close()
|
end If
|
CallRecord_SourceA=CallRecord_SourceName
|
End Function
|
'--------------------------科室查找---------------------end
|
|
'--------------------------介绍人查询---------------------begin
|
Function IntroducerData(IntroducerID)
|
IntroducerData=""
|
if IntroducerID<>"" then
|
Set adminrs = Server.CreateObject("ADODB.Recordset")
|
sql="select IntroducerID,IntroducerName from IntroducerData where IntroducerID="&IntroducerID
|
adminrs.open sql,objConn,1,1
|
if not adminrs.Eof then
|
IntroducerName = adminrs("IntroducerName")
|
end if
|
adminrs.close()
|
end If
|
IntroducerData=IntroducerName
|
End Function
|
'--------------------------介绍人查询---------------------end
|
|
'--------------------------调度单跟随人员---------------------begin
|
Function EntourageOANameA(EntourageID,DispatchOrdID,DataID)
|
if EntourageID<>"" And DispatchOrdID<>"" then
|
Set EntourageOArs = Server.CreateObject("ADODB.Recordset")
|
sql="select OA_User_ID,OA_User,OA_Name,OA_weixinAvatar,EntourageLead,EntourageState,EntourageDKP,EntourageDKPScale,EntourageOT_is,EntourageOT2_is,EntourageLong_is,EntourageBetimesHH,EntourageEnd_Time,EntourageState_Time,Stretcher_is,StretcherM=isnull((select b.StretcherMoney/COUNT(a.Stretcher_is) from DispatchOrd_Entourage as a,DispatchOrd as b where a.DispatchOrdIDDt=DispatchOrd_Entourage.DispatchOrdIDDt and b.DispatchOrdID=a.DispatchOrdIDDt and a.EntourageState<>4 and a.Stretcher_is=1 and b.StretcherMoney>0 GROUP BY b.StretcherMoney),0),Guest_PointE,Guest_Point_1,Guest_Point_2,Guest_Point_3,RV_PointE,RV_Point_1,RV_Point_2,RV_Point_3 from DispatchOrd_Entourage,OA_User where OA_User_ID=EntourageOAid and EntourageState<>4 and DispatchOrdIDDt="&DispatchOrdID&" and EntourageID="&EntourageID
|
EntourageOArs.open sql,objConn,1,1
|
if not EntourageOArs.Eof then
|
EntourageOAuserID = EntourageOArs("OA_User_ID")
|
EntourageOAuser = EntourageOArs("OA_User")
|
EntourageOAName = EntourageOArs("OA_Name")
|
EntourageOAAvatar = EntourageOArs("OA_weixinAvatar")
|
If EntourageOAAvatar="" Then EntourageOAAvatar="/resources/images/icon_avatar_default.png"
|
EntourageOALead = EntourageOArs("EntourageLead")
|
EntourageOAState= EntourageOArs("EntourageState")
|
EntourageOT_is = EntourageOArs("EntourageOT_is") '是否休息出车
|
EntourageOT2_is = EntourageOArs("EntourageOT2_is") '是否加班出车2
|
EntourageLong_is= EntourageOArs("EntourageLong_is") '是否跟车
|
EntourageBetimesHH= EntourageOArs("EntourageBetimesHH")'提出出车N小时
|
EntourageDKP = EntourageOArs("EntourageDKP") '个人绩效
|
EntourageDKPScale = EntourageOArs("EntourageDKPScale")'分成比例
|
EntourageEnd_Time = EntourageOArs("EntourageEnd_Time")'报告提交时间
|
EntourageState_Time = EntourageOArs("EntourageState_Time")'调度时间
|
Stretcher_is = EntourageOArs("Stretcher_is")
|
StretcherM = Stretcher_is*EntourageOArs("StretcherM")
|
Guest_PointE = EntourageOArs("Guest_PointE") '客户微信评分(2020.12.22)
|
Guest_Point_1 = EntourageOArs("Guest_Point_1") '客户微信评分1
|
Guest_Point_2 = EntourageOArs("Guest_Point_2") '客户微信评分2
|
Guest_Point_3 = EntourageOArs("Guest_Point_3") '客户微信评分3
|
RV_PointE = EntourageOArs("RV_PointE") '电话回访评分(2020.12.22)
|
RV_Point_1 = EntourageOArs("RV_Point_1") '电话回访评分1
|
RV_Point_2 = EntourageOArs("RV_Point_2") '电话回访评分2
|
RV_Point_3 = EntourageOArs("RV_Point_3") '电话回访评分3
|
else
|
DataID="userID"
|
end if
|
EntourageOArs.close()
|
|
select case DataID
|
case "userID"
|
EntourageOANameA = EntourageOAuserID
|
case "UserName"
|
EntourageOANameA = EntourageOAName
|
If EntourageOAState="3" Then
|
EntourageOANameA = "<font color='#6699ff'>"&EntourageOANameA&"</font>"
|
ElseIf EntourageOAState="2" Then
|
EntourageOANameA = "<font color='#C3C3C3'>"&EntourageOANameA&"</font>"
|
End if
|
If EntourageOALead="1" Then EntourageOANameA = "<img src='/resources/images/2016020401.png'>"&EntourageOANameA
|
case "UserNameList"
|
EntourageOANameA = EntourageOAName
|
If EntourageOT_is="1" Then
|
EntourageOT_is="/加"
|
Else
|
EntourageOT_is=""
|
End If
|
If EntourageOT2_is="1" Then
|
EntourageOT2_is="/加2"
|
Else
|
EntourageOT2_is=""
|
End If
|
If EntourageLong_is="1" Then
|
EntourageLong_is="/跟"
|
Else
|
EntourageLong_is=""
|
End If
|
If EntourageBetimesHH>0 Then
|
EntourageBetimesHH="/提"&EntourageBetimesHH
|
Else
|
EntourageBetimesHH=""
|
End If
|
If EntourageOAState="3" Then
|
EntourageOANameA = "<font color='#6699ff'>"&EntourageOANameA&EntourageOT_is&EntourageOT2_is&EntourageLong_is&EntourageBetimesHH&"</font>"
|
ElseIf EntourageOAState="2" Then
|
EntourageOANameA = "<font color='#C3C3C3'>"&EntourageOANameA&EntourageOT_is&EntourageOT2_is&EntourageLong_is&EntourageBetimesHH&"</font>"
|
End If
|
If EntourageOALead="1" Then EntourageOANameA = EntourageOANameA&"<img src='/resources/images/2016020401.png'>"
|
EntourageOANameA=EntourageOANameA&"EntourageName"
|
If Guest_PointE<>"" And Guest_PointE<>"0" Then
|
EntourageOANameA = EntourageOANameA&" <font color='#6699ff'>"&Guest_PointEA(Guest_PointE)&"</font>"
|
ElseIf RV_PointE<>"" And RV_PointE<>"0" Then
|
EntourageOANameA = EntourageOANameA&" "&Guest_PointEA(RV_PointE)
|
ElseIf (Guest_Point_1>0 And Guest_Point_2>0) And Guest_Point_3=0 Then
|
EntourageOANameA = EntourageOANameA&" 技能:"&Guest_Point_1&" 服务:"&Guest_Point_2
|
ElseIf Guest_Point_1>0 and Guest_Point_2=0 and Guest_Point_3=0 Then
|
EntourageOANameA = EntourageOANameA&" 评分:"&Guest_Point_1
|
ElseIf Guest_Point_1>0 And Guest_Point_2>0 And Guest_Point_3>0 And (EntourageID=1 Or EntourageID=2) Then
|
EntourageOANameA = EntourageOANameA&" 安全:"&Guest_Point_1&" 服务:"&Guest_Point_2&" 平稳:"&Guest_Point_3
|
ElseIf Guest_Point_1>0 Or Guest_Point_2>0 Or Guest_Point_3>0 Then
|
EntourageOANameA = EntourageOANameA&" 技能:"&Guest_Point_1&" 服务:"&Guest_Point_2&" 指导:"&Guest_Point_3
|
ElseIf (RV_Point_1>0 And RV_Point_2>0) And RV_Point_3=0 Then
|
EntourageOANameA = EntourageOANameA&" <font color='#6699ff'>技能:"&RV_Point_1&" 服务:"&RV_Point_2&"</font>"
|
ElseIf RV_Point_1>0 and RV_Point_2=0 and RV_Point_3=0 Then
|
EntourageOANameA = EntourageOANameA&" <font color='#6699ff'>评分:"&RV_Point_1&"</font>"
|
ElseIf RV_Point_1>0 And RV_Point_2>0 And RV_Point_3>0 And (EntourageID=1 Or EntourageID=2) Then
|
EntourageOANameA = EntourageOANameA&" <font color='#6699ff'>安全:"&RV_Point_1&" 服务:"&RV_Point_2&" 平稳:"&RV_Point_3&"</font>"
|
ElseIf RV_Point_1>0 Or RV_Point_2>0 Or RV_Point_3>0 Then
|
EntourageOANameA = EntourageOANameA&" <font color='#6699ff'>技能:"&RV_Point_1&" 服务:"&RV_Point_2&" 指导:"&RV_Point_3&"</font>"
|
End If
|
case "UserNameReport"
|
EntourageOANameA = EntourageOAName
|
If Len(EntourageOANameA)=2 Then EntourageOANameA=EntourageOANameA&" "
|
If EntourageOT_is="1" Then
|
EntourageOANameA = "<font color='#ff0033'>"&EntourageOANameA&"</font>"
|
ElseIf EntourageBetimesHH>0 Then
|
EntourageOANameA = "<font color='#6699ff'>"&EntourageOANameA&"</font> 提前"&EntourageBetimesHH&"小时"
|
End If
|
If EntourageDKP>0 Then
|
If EntourageDKPScale=1 Then
|
EntourageOANameA = EntourageOANameA &" 驻点提成:"&EntourageDKP_Money_A(DispatchOrdPerfomance,EntourageOT_is,EntourageLong_is,EntourageBetimesHH,EntourageDKP,EntourageDKPScale,EntourageState_Time)&"元"
|
else
|
EntourageOANameA = EntourageOANameA &"绩效:"&EntourageDKP&" 提成:"&EntourageDKP_Money_A(DispatchOrdPerfomance,EntourageOT_is,EntourageLong_is,EntourageBetimesHH,EntourageDKP,EntourageDKPScale,EntourageState_Time)+StretcherM&"元"
|
End if
|
Else
|
EntourageOANameA = EntourageOANameA &" <font color='#6699ff'>未填写完成报告单</font>"
|
End If
|
case "UserNameReport2"
|
EntourageOANameA = EntourageOAName
|
If EntourageOT_is="1" Then
|
EntourageOT_is="/休"
|
Else
|
EntourageOT_is=""
|
End If
|
If EntourageLong_is="1" Then
|
EntourageLong_is="/跟"
|
Else
|
EntourageLong_is=""
|
End If
|
If EntourageBetimesHH>0 Then
|
EntourageBetimesHH="/提"&EntourageBetimesHH
|
Else
|
EntourageBetimesHH=""
|
End If
|
EntourageOANameA=EntourageOANameA&EntourageOT_is&EntourageLong_is&EntourageBetimesHH
|
If EntourageID=5 Or EntourageID=6 Or EntourageID=2 Then
|
EntourageOANameA=","&EntourageOANameA
|
End If
|
'If EntourageOALead="1" Then EntourageOANameA = EntourageOANameA&"<img src='/resources/images/2016020401.png'>"
|
case "Avatar"
|
EntourageOANameA = EntourageOAuser
|
end select
|
end if
|
End Function
|
'--------------------------调度单跟随人员---------------------end
|
|
|
'--------------------------调度单跟随人员权限---------------------begin
|
Function EntourageOAidA(DispatchOrdID)
|
EntourageOAidA=0
|
if DispatchOrdID<>"" then
|
Set EntourageOArs = Server.CreateObject("ADODB.Recordset")
|
sql="select EntourageLead,EntourageState from DispatchOrd_Entourage where EntourageState<>4 and DispatchOrdIDDt="&DispatchOrdID&" and EntourageOAid="&session("adminID")
|
EntourageOArs.open sql,objConn,1,1
|
if not EntourageOArs.Eof Then
|
EntourageOALead = EntourageOArs("EntourageLead")
|
EntourageOAState= EntourageOArs("EntourageState")
|
else
|
EntourageOALead="-1"
|
end if
|
EntourageOArs.close()
|
|
select case EntourageOALead
|
case "0" '参考者
|
EntourageOAidA = 1
|
case "1" '领队
|
EntourageOAidA = 2
|
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")
|
CarDataAVideo_ID= CarDataRS("Video_ID")
|
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
|
case "CarVideoID"
|
CarDataA = CarDataAVideo_ID
|
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 AdminType_A(AdminType)
|
select case AdminType
|
case 1
|
AdminType_A=Ch("管理员")
|
case 2
|
AdminType_A=Ch("经销商")
|
case 3
|
AdminType_A=Ch("供应商")
|
end select
|
End Function
|
'--------------------------用户账号类型---------------------end
|
|
'--------------------------账号状态---------------------begin
|
Function AdminExecLevel_A(AdminExecLevel)
|
select case AdminExecLevel
|
case -1
|
AdminExecLevel_A="停用"
|
case 0
|
AdminExecLevel_A="只读"
|
case 1
|
AdminExecLevel_A="正常"
|
case 2
|
AdminExecLevel_A="管理员"
|
case 3
|
AdminExecLevel_A="系统"
|
end select
|
End Function
|
'--------------------------账号状态---------------------end
|
|
'--------------------------账号状态B---------------------begin
|
Function AdminExecLevel_B(AdminExecLevel,weixinStatus,Status)
|
select case AdminExecLevel
|
case -1
|
AdminExecLevel_B="停用"
|
case 0
|
AdminExecLevel_B="只读"
|
case 1
|
AdminExecLevel_B="正常"
|
case 2
|
AdminExecLevel_B="管理员"
|
case 3
|
AdminExecLevel_B="系统"
|
end Select
|
|
If Status="1" then
|
select case weixinStatus
|
case 1
|
AdminExecLevel_B=AdminExecLevel_B&"-已关注微信OA"
|
case 2
|
AdminExecLevel_B=AdminExecLevel_B&"-已禁用微信OA"
|
case 4
|
AdminExecLevel_B=AdminExecLevel_B&"-未关注微信OA"
|
end Select
|
ElseIf Status="2" Then
|
select case weixinStatus
|
case 1
|
AdminExecLevel_B="[已关注]"
|
case 2
|
AdminExecLevel_B="[已禁用]"
|
case 4
|
AdminExecLevel_B="[未关注]"
|
end Select
|
ElseIf weixinStatus=4 And (AdminExecLevel=1 Or AdminExecLevel=2) Then
|
AdminExecLevel_B="未关注"
|
End if
|
End Function
|
'--------------------------账号状态B---------------------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 OrderLevelA(OrderLevel)
|
OrderLevelA=""
|
if OrderLevel<>"" And OrderLevel<>"0" then
|
Set adminrs = Server.CreateObject("ADODB.Recordset")
|
sql="select id,vID,vtext,vType,vOrder from dictionary where vtitle='OrderLevel' and vID="&OrderLevel
|
adminrs.open sql,objConn,1,1
|
if not adminrs.Eof then
|
OrderLevelID = adminrs("vID")
|
OrderLevelName = adminrs("vtext")
|
end if
|
adminrs.close()
|
|
OrderLevelA = OrderLevelName
|
end if
|
End Function
|
'--------------------------订单级别查询---------------------end
|
|
'--------------------------公司名称---------------------begin
|
Function Companies_B(B2bID,DataID)
|
Set Crs = Server.CreateObject("ADODB.Recordset")
|
if B2bID<=1999 then
|
CompaniesName_zh="管理员"
|
CompaniesName_en="ADMIN"
|
Companies_is=1
|
elseif B2bID<=2999 then
|
sql="select DealerID,DealerName_zh,DealerName_en,Dealer_is,Dealer_Language from B2B_Dealer where DealerID="&B2bID
|
Crs.open sql,objConn,1,1
|
if not Crs.eof then
|
CompaniesName_zh = Crs("DealerName_zh")
|
CompaniesName_en = Crs("DealerName_en")
|
Companies_Language = Crs("Dealer_Language")
|
Companies_is = Crs("Dealer_is")
|
end if
|
Crs.close()
|
|
elseif B2bID<=3999 then
|
sql="select SupplierID,SupplierName_zh,SupplierName_en,Supplier_is,Supplier_Language from B2B_Supplier where SupplierID="&B2bID
|
Crs.open sql,objConn,1,1
|
if not Crs.eof then
|
CompaniesName_zh = Crs("SupplierName_zh")
|
CompaniesName_en = Crs("SupplierName_en")
|
Companies_Language = Crs("Supplier_Language")
|
Companies_is = Crs("Supplier_is")
|
end if
|
Crs.close()
|
|
end if
|
|
select case DataID
|
case "CompaniesName"
|
if session("Admin_Language")="zh-CN"then
|
CompaniesName= CompaniesName_zh
|
elseif session("Admin_Language")="En"then
|
CompaniesName= CompaniesName_en
|
end if
|
Companies_B = CompaniesName
|
case "CompaniesNameAll"
|
if session("Admin_Language")="zh-CN"then
|
CompaniesName= CompaniesName_zh
|
if CompaniesName_en<>"" then CompaniesName = CompaniesName &" ("&CompaniesName_en&")"
|
elseif session("Admin_Language")="En"then
|
CompaniesName= CompaniesName_en
|
if CompaniesName_zh<>"" then CompaniesName = CompaniesName &" ("&CompaniesName_zh&")"
|
end if
|
Companies_B = CompaniesName
|
end select
|
|
if Companies_is=1 then Companies_B = Companies_B &" ["&Is_A(Companies_is)&"]"
|
End Function
|
'--------------------------公司名称---------------------end
|
|
'--------------------------公司服务类型---------------------begin
|
Function CompaniesType_A(ID,CompaniesType)
|
Set Crs = Server.CreateObject("ADODB.Recordset")
|
sql="select * from GBR.dbo.dictionary WHERE vtitle = '"&CompaniesType&"' and vID="&ID
|
Crs.open sql,objConn,1,1
|
if not Crs.eof then
|
vtext = Crs("vtext")
|
vtextEn= Crs("vtextEn")
|
end if
|
Crs.close()
|
if session("Admin_Language")="En" then
|
CompaniesType_A = vtextEn
|
else
|
CompaniesType_A = vtext
|
end if
|
End Function
|
'--------------------------公司服务类型---------------------end
|
|
'--------------------------服务单据状态---------------------begin
|
Function ServiceOrdStateA(ServiceOrdState)
|
If ServiceOrdState="3_1" Then
|
ServiceOrdStateA = "已调度-未支付"
|
Else
|
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 If
|
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 = "<font color='#2196f3'>"&ServiceOrdStateRS(0)&"</font>"
|
ElseIf ServiceOrdStateRS(0)="取消单" Then
|
ServiceOrdStateB = "<font color='#4CAF50'>"&ServiceOrdStateRS(0)&"</font>"
|
ElseIf ServiceOrdStateRS(0)="未调度" Then
|
ServiceOrdStateB = "<font color='#f44336'>"&ServiceOrdStateRS(0)&"</font>"
|
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 = "<font color='#f44336'>"&DispatchOrdStateRS(0)&"</font>"
|
ElseIf DispatchOrdState="0" Then
|
DispatchOrdStateC = "<font color='#009636'>"&DispatchOrdStateRS(0)&"</font>"
|
'ElseIf DispatchOrdState="4" Then
|
' DispatchOrdStateC = "<font color='#2196f3'>"&DispatchOrdStateRS(0)&"</font>"
|
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='"&Trim(OrderClass)&"'"
|
OrderClassRS.open sql,objConn,1,1
|
if not OrderClassRS.Eof then
|
OrderClassA = OrderClassRS(0)
|
else
|
OrderClassA = "单据类型错误"
|
end if
|
OrderClassRS.close()
|
End Function
|
'--------------------------单据号码类型---------------------end
|
|
'--------------------------单据号码类型B---------------------begin
|
Function OrderClassB(OrderClass,ClassType)
|
Set OrderClassRS = Server.CreateObject("ADODB.Recordset")
|
sql="select vtext,vType,vMono,UnitState from dictionary left join IntroducerUnitData on ServiceBranch=vOrder2 where vtitle='OrderClass' and vOrder2='"&Trim(OrderClass)&"'"
|
OrderClassRS.open sql,objConn,1,1
|
if not OrderClassRS.Eof then
|
If ClassType="vType" Then
|
OrderClassB = OrderClassRS("vType")
|
ElseIf ClassType="vMono" Then
|
OrderClassB = OrderClassRS("vMono")
|
ElseIf ClassType="UnitState" Then
|
OrderClassB = OrderClassRS("UnitState")
|
ElseIf ClassType="vtext" Then
|
If OrderClassRS("UnitState")="0" Then
|
OrderClassB = OrderClassRS("vtext")&"(停用)"
|
Else
|
OrderClassB = OrderClassRS("vtext")
|
End If
|
Else
|
OrderClassB = OrderClassRS(0)
|
End If
|
else
|
OrderClassB = "类型错误"
|
end if
|
OrderClassRS.close()
|
End Function
|
'--------------------------单据号码类型B---------------------end
|
|
'--------------------------单据号码类型D(批量查询)---------------------begin
|
Function OrderClassD(OrderClass)
|
Set OrderClassRS = Server.CreateObject("ADODB.Recordset")
|
OrderClassSql = Replace(OrderClass,",","','")
|
sql="select replace(vtext,'服务单','') as vtext from dictionary where vtitle='OrderClass' and vType=1 and vOrder2 in ('"&OrderClassSql&"')"
|
OrderClassRS.open sql,objConn,1,1
|
do while not OrderClassRS.Eof
|
OrderClassD=OrderClassD&","&OrderClassRS(0)
|
OrderClassRS.movenext
|
loop
|
OrderClassRS.close()
|
If OrderClassD<>"" Then OrderClassD = mid(OrderClassD,2)
|
End Function
|
'--------------------------单据号码类型D---------------------end
|
|
'--------------------------单据出发地类型---------------------begin
|
Function OrderClassC(OrderClass,ClassType)
|
Set OrderClassRS = Server.CreateObject("ADODB.Recordset")
|
sql="select ServiceBranch,ServiceAddress,ServiceAddress_lat,ServiceAddress_lng,UnitName,UnitShort,ServiceMinPrice,ServiceUnitPrice,ServiceLong from IntroducerUnitData where UnitState>0 and ServiceAddress_lat is not null and ServiceAddress_lng is not null and ServiceBranch='"&Trim(OrderClass)&"'"
|
OrderClassRS.open sql,objConn,1,1
|
if not OrderClassRS.Eof then
|
If ClassType="Address" Then
|
OrderClassC = OrderClassRS("ServiceAddress")
|
ElseIf ClassType="LatLng" Then
|
OrderClassC = OrderClassRS("ServiceAddress_lat")&","&OrderClassRS("ServiceAddress_lng")
|
ElseIf ClassType="UnitName" Then
|
OrderClassC = OrderClassRS("UnitName")
|
ElseIf ClassType="UnitShort" Then
|
OrderClassC = OrderClassRS("UnitShort")
|
ElseIf ClassType="UnitPrice" Then
|
OrderClassC = OrderClassRS("ServiceMinPrice")&","&OrderClassRS("ServiceUnitPrice")&","&OrderClassRS("ServiceLong")
|
Else
|
OrderClassC = OrderClassRS(0)
|
End If
|
else
|
OrderClassC = ""
|
end if
|
OrderClassRS.close()
|
End Function
|
'--------------------------单据号码类型---------------------end
|
|
'--------------------------服务单区域---------------------begin
|
Function ServiceOrdAreaTypeA(ServiceOrdAreaType)
|
Set OrderTypeRS = Server.CreateObject("ADODB.Recordset")
|
sql="select vtext from dictionary where vtitle='ServiceOrdAreaType' and vID="&ServiceOrdAreaType
|
OrderTypeRS.open sql,objConn,1,1
|
if not OrderTypeRS.Eof then
|
ServiceOrdAreaTypeA = OrderTypeRS(0)
|
else
|
ServiceOrdAreaTypeA = ""
|
end if
|
OrderTypeRS.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 ServiceOrdTypeB(ServiceOrdType,DataID)
|
If ServiceOrdType<>"" Then
|
Set OrderTypeRS = Server.CreateObject("ADODB.Recordset")
|
sql="select * from dictionary where vtitle='ServiceOrderType' and vID="&ServiceOrdType
|
OrderTypeRS.open sql,objConn,1,1
|
if not OrderTypeRS.Eof then
|
If DataID<>"" Then
|
ServiceOrdTypeB=OrderTypeRS(DataID)
|
Else
|
ServiceOrdTypeB=OrderTypeRS("vtext")
|
End If
|
else
|
ServiceOrdTypeB = ""
|
end if
|
OrderTypeRS.close()
|
End If
|
End Function
|
'--------------------------服务单类型---------------------end
|
|
'--------------------------取消类型---------------------begin
|
Function CancelReasonA(CancelReason)
|
Set OrderTypeRS = Server.CreateObject("ADODB.Recordset")
|
If IsNumeric(CancelReason) then
|
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()
|
Else
|
CancelReasonA = CancelReason
|
End If
|
End Function
|
'--------------------------取消类型---------------------end
|
|
'--------------------------医院级别---------------------begin
|
Function HospLevelA(HospLevel)
|
Set HospLevelRS = Server.CreateObject("ADODB.Recordset")
|
sql="select vtext from dictionary where vtitle='HospLevel' and vID="&HospLevel
|
HospLevelRS.open sql,objConn,1,1
|
if not HospLevelRS.Eof then
|
HospLevelA = HospLevelRS(0)
|
else
|
HospLevelA = "未知"
|
end if
|
HospLevelRS.close()
|
End Function
|
'--------------------------医院级别---------------------end
|
|
'--------------------------文档类型---------------------begin
|
Function ImageTypeA(ImageType)
|
Set ImageTypeRS = Server.CreateObject("ADODB.Recordset")
|
sql="select vtext from dictionary where vtitle='ImageType' and vID="&ImageType
|
ImageTypeRS.open sql,objConn,1,1
|
if not ImageTypeRS.Eof then
|
ImageTypeA = ImageTypeRS(0)
|
else
|
ImageTypeA = "其它"
|
end if
|
ImageTypeRS.close()
|
End Function
|
'--------------------------取消类型---------------------end
|
|
'--------------------------客户评价(2020.12.22)---------------------begin
|
Function Guest_PointEA(Guest_PointE)
|
Guest_PointESP=split(Guest_PointE,",")
|
for z=1 to ubound(Guest_PointESP)
|
if Guest_PointESP(z)="9" then
|
Guest_PointEA = Guest_PointEA&",满意"
|
ElseIf Guest_PointESP(z)="8" then
|
Guest_PointEA = Guest_PointEA&",满意"
|
ElseIf Guest_PointESP(z)="1" then
|
Guest_PointEA = Guest_PointEA&",不满意技能水平"
|
ElseIf Guest_PointESP(z)="2" then
|
Guest_PointEA = Guest_PointEA&",不满意服务水平"
|
else
|
Guest_PointEA = Guest_PointE
|
end if
|
Next
|
If Guest_PointEA<>"" Then Guest_PointEA=Mid(Guest_PointEA,2)
|
|
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
|
|
'去掉字符串中的空格和?
|
Function StrTrim(ParaName)
|
ParaValue=ParaName
|
if not isnull(ParaValue) then
|
ParaValue = trim(ParaValue)
|
ParaValue = replace(ParaValue," ","")
|
ParaValue = replace(ParaValue,"?","")
|
end if
|
StrTrim=ParaValue
|
End function
|
|
|
'缩略图生成
|
Function strPICTurn(PicID,strPIC,strPICs,scaleW,scaleH,S)
|
if Instr(strPICs,scaleW&"x"&scaleH)>=1 or Request.ServerVariables("SERVER_NAME")="192.168.0.250" then '已有合适图片
|
'if Instr(strPICs,scaleW&"x"&scaleH)=0 then '已有合适图片 or Request.ServerVariables("SERVER_NAME")="new.v.com.cn"
|
strPICTurn=replace(strPIC,".","_"&scaleW&"x"&scaleH&".")
|
else '产生缩略图
|
org_file = server.mappath(strPIC)
|
org_FileName = Right(org_file, Len(org_file)-InstrRev(org_file,"\")) '源文件名
|
org_FilePath = Left(org_file, InstrRev(org_file,"\")) '文件路径
|
new_FileName = replace(org_FileName,".","_"&scaleW&"x"&scaleH&".") '新文件名
|
new_file = org_FilePath & new_FileName '新文件路径+新文件名
|
org_webPath = replace(strPIC,org_fileName,"") '文件网页路径
|
CreatThumbPhoto org_FilePath,org_FileName,org_FilePath,new_FileName,scaleW,scaleH,S,PicID
|
objConn.Execute "update ImageData set ImageUrls='"&strPICs&","&scaleW&"x"&scaleH&"' where PicID="&PicID
|
strPICTurn = org_webPath & new_FileName
|
end if
|
End Function
|
|
sub CreatThumbPhoto(org_path,org_name,target_path,target_name,scaleW,scaleH,S,PicID)
|
set fso = Server.CreateObject("scripting.FileSystemObject")
|
if fso.FileExists(org_path&org_name) then
|
Response.Expires = 0
|
' create instance of AspJpeg
|
Set jpeg = Server.CreateObject("Persits.Jpeg")
|
' Open source file
|
jpeg.Open( org_path & org_name )
|
W = cint(scaleW)
|
H = cint(scaleH)
|
PicWidth=cint(jpeg.OriginalWidth)
|
PicHeight=cint(jpeg.OriginalHeight)
|
SaveWidth=0
|
SaveHeight=0
|
if cint(jpeg.OriginalWidth) > W or cint(jpeg.OriginalHeight) > H then
|
|
if S="W" then
|
SaveWidth=W
|
SaveHeight=jpeg.OriginalHeight * W / jpeg.OriginalWidth
|
elseif S="H" then
|
SaveWidth=H
|
SaveHeight=jpeg.OriginalWidth * H / jpeg.OriginalHeight
|
else
|
If jpeg.OriginalWidth > jpeg.OriginalHeight Then
|
SaveWidth=jpeg.OriginalWidth * W / jpeg.OriginalHeight
|
SaveHeight=W
|
Else
|
SaveWidth=H
|
SaveHeight=jpeg.OriginalHeight * H / jpeg.OriginalWidth
|
End If
|
end if
|
jpeg.Width = SaveWidth
|
jpeg.Height = SaveHeight
|
|
if SaveWidth<>W or SaveHeight<>H then
|
x = 0
|
y = 0
|
if SaveWidth>SaveHeight then
|
x = (SaveWidth-W)/2
|
else
|
y = (SaveHeight-H)/2
|
end if
|
jpeg.crop x,y,W+x,H+y '开始切割其实是把超过52象素的下部分去掉
|
end if
|
'jpeg.Sharpen 1, 130
|
'jpeg.Quality = 100 ' 默认值为80,最佳为100
|
jpeg.Sharpen 1, 101 ' 设定锐化效果第一个阐述为半径(1或2),第二个为数量(百分比,大于100)
|
'jpeg.Interpolation 2 ' 设定锐化效果 2最慢,默认值为1,最快为0
|
|
|
else
|
jpeg.Height = jpeg.OriginalHeight
|
jpeg.Width = jpeg.OriginalWidth
|
end if
|
Jpeg.Save target_path & target_name
|
end if
|
end Sub
|
|
|
'--------------------------商品价格类型---------------------begin
|
Function Shop_StrItm_Money(TM_slevel)
|
Set StrItm_Moneyrs = Server.CreateObject("ADODB.Recordset")
|
sql="select vtext from TVDV.dbo.dictionary where vtitle='商品价格分类' and vID="&TM_slevel
|
StrItm_Moneyrs.open sql,objConn,1,1
|
if not StrItm_Moneyrs.Eof then
|
Shop_StrItm_Money = StrItm_Moneyrs(0)
|
else
|
Shop_StrItm_Money = "热卖价"
|
end if
|
StrItm_Moneyrs.close()
|
End Function
|
'--------------------------商品价格类型---------------------end
|
|
|
'--------------------------会员类型---------------------begin
|
Function Shop_user_slevel(TM_slevel,UserSlevel)
|
Set StrItm_slevelrs = Server.CreateObject("ADODB.Recordset")
|
if TM_slevel=0 then
|
sql="select vtext from TVDV.dbo.dictionary where vtitle='TV_UserSlevel' and vID="&UserSlevel
|
else
|
sql="select vtext from TVDV.dbo.dictionary where vtitle='商品价格分类' and vID="&TM_slevel
|
end if
|
StrItm_slevelrs.open sql,objConn,1,1
|
if not StrItm_slevelrs.Eof then
|
Shop_user_slevel = StrItm_slevelrs(0)
|
else
|
Shop_user_slevel = "问题会员"
|
end if
|
StrItm_slevelrs.close()
|
End Function
|
'--------------------------会员类型---------------------end
|
|
'--------------------------会员类型---------------------begin
|
Function CAction_A(CAction)
|
select case CAction
|
case 0
|
CAction_A="(去电)"
|
case 1
|
CAction_A="(来电)"
|
end select
|
End Function
|
'--------------------------会员类型---------------------end
|
|
|
'--------------------------提交记录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
|
|
'--------------------------支付记录---------------------begin
|
Function PaidMoneyA(ServiceOrdID,DispatchOrdID,PaidMoney,PaidMoneyType,PaidMoneyTimestamp,PaidMoneyMono,PaidMoneyCheck)
|
If DispatchOrdID="" Then DispatchOrdID=0
|
If PaidMoneyCheck="" Then PaidMoneyCheck=0
|
If Len(ServiceOrdID)=12 And Not IsNumeric(Left(ServiceOrdID,2)) And IsNumeric(Right(ServiceOrdID,10)) Then ServiceOrdID=Right(ServiceOrdID,10)
|
If Len(DispatchOrdID)=12 And Not IsNumeric(Left(DispatchOrdID,2)) And IsNumeric(Right(DispatchOrdID,10)) Then DispatchOrdID=Right(DispatchOrdID,10)
|
Set PaidMoneyRS = Server.CreateObject("ADODB.Recordset")
|
|
NC_OAID=""
|
DO_State=""
|
STraPrePayment=0
|
STraPaidPrice=0
|
STraTxnPrice=0
|
If DispatchOrdID<>"0" then
|
'调度员ID
|
sql="select DispatchOrd_NS_ID,DispatchOrdClass,DispatchOrd_NS_Time,DispatchOrdNo,DispatchOrdState,DispatchOrdPerfomance from DispatchOrd where DispatchOrdID="&DispatchOrdID
|
PaidMoneyRS.open sql,objConn,1,1
|
If not PaidMoneyRS.Eof Then
|
'NC_OAID=PaidMoneyRS(0)
|
DO_State = PaidMoneyRS("DispatchOrdState")
|
DispatchOrdNo = PaidMoneyRS("DispatchOrdClass")& year(PaidMoneyRS("DispatchOrd_NS_Time"))&Right("0"&month(PaidMoneyRS("DispatchOrd_NS_Time")),2)&Right("0"&day(PaidMoneyRS("DispatchOrd_NS_Time")),2) & "-"&Right("00"&PaidMoneyRS("DispatchOrdNo"),3) '调度单编号
|
OrdTime=PaidMoneyRS("DispatchOrd_NS_Time")
|
DispatchOrdPerfomance=PaidMoneyRS("DispatchOrdPerfomance")
|
end if
|
PaidMoneyRS.close()
|
'领队ID
|
touser=""
|
sql="select OA_weixinUserID,EntourageOAid from DispatchOrd,DispatchOrd_Entourage,OA_User where EntourageLead=1 and EntourageState=3 and EntourageOAid=OA_User_ID and DispatchOrdIDDt=DispatchOrdID and OA_weixinUserID<>'' and DispatchOrdID="&DispatchOrdID
|
PaidMoneyRS.open sql,objConn,1,1
|
If not PaidMoneyRS.Eof Then
|
NC_OAID = PaidMoneyRS("EntourageOAid")
|
OA_weixinUserID = PaidMoneyRS("OA_weixinUserID")
|
touser=OA_weixinUserID
|
End if
|
PaidMoneyRS.close()
|
Else
|
'客服ID
|
sql="select ServiceOrd_CC_ID,ServiceOrdClass,ServiceOrd_CC_Time,ServiceOrdNo,ServiceOrdType,ServiceOrdCoName,ServiceOrdCoPhone,OutHosp=(select HospName from HospData where HospID=ServiceOrdPtOutHospID),ServiceOrdTraTxnPrice,ServiceOrdTraPrePayment,ServiceOrdTraPaidPrice from ServiceOrder where ServiceOrdID="&ServiceOrdID
|
PaidMoneyRS.open sql,objConn,1,1
|
If not PaidMoneyRS.Eof Then
|
'NC_OAID=PaidMoneyRS(0)
|
STraTxnPrice=PaidMoneyRS("ServiceOrdTraTxnPrice") '成交价
|
STraPrePayment=PaidMoneyRS("ServiceOrdTraPrePayment") '定金
|
STraPaidPrice=PaidMoneyRS("ServiceOrdTraPaidPrice") '已支付金额
|
SOrdTyp=PaidMoneyRS("ServiceOrdType") '服务单类型
|
SCoName=PaidMoneyRS("ServiceOrdCoName") '联系人姓名
|
SOutHosp=PaidMoneyRS("OutHosp") '出发地
|
Send_Phone=PaidMoneyRS("ServiceOrdCoPhone") '联系人电话
|
ServiceOrdNo=PaidMoneyRS("ServiceOrdClass")& year(PaidMoneyRS("ServiceOrd_CC_Time"))&Right("0"&month(PaidMoneyRS("ServiceOrd_CC_Time")),2)&Right("0"&day(PaidMoneyRS("ServiceOrd_CC_Time")),2) & "-"&Right("00"&PaidMoneyRS("ServiceOrdNo"),3) '服务单单编号
|
OrdTime=PaidMoneyRS("ServiceOrd_CC_Time")
|
end if
|
PaidMoneyRS.close()
|
End If
|
If PaidMoney<0 Then '查询退款审核人员
|
touser=""
|
sql="select OA_User_ID,OA_weixinUserID from OA_User where OA_execLevel>=0 and OA_Power like '%030209%'"
|
PaidMoneyRS.open sql,objConn,1,1
|
do while not PaidMoneyRS.Eof
|
NC_OAID = PaidMoneyRS("OA_User_ID")
|
OA_weixinUserID = PaidMoneyRS("OA_weixinUserID")
|
touser=touser&"|"&OA_weixinUserID
|
PaidMoneyRS.movenext
|
loop
|
PaidMoneyRS.close()
|
End If
|
|
sql="select id from PaidMoney where PaidMoneyOaID="&session("adminID")&" and PaidMoneyTimestamp='"&PaidMoneyTimestamp&"'"
|
PaidMoneyRS.open sql,objConn,1,1
|
if PaidMoneyRS.Eof then
|
If PaidMoneyCheck=1 Then
|
sql="insert into PaidMoney (PaidMoneyClass,ServiceOrdIDDt,DispatchOrdIDDt,PaidMoney,PaidMoneyType,PaidMoneyOaID,PaidMoneyTimestamp,PaidMoneyMono,PaidMoney_AP_Check,PaidMoney_AP_Time,PaidMoney_AP_ID) values ('FI',"&ServiceOrdID&","&DispatchOrdID&","&PaidMoney&","&PaidMoneyType&","&session("adminID")&",'"&PaidMoneyTimestamp&"','"&PaidMoneyMono&"',1,getdate(),"&session("adminID")&")"
|
else
|
sql="insert into PaidMoney (PaidMoneyClass,ServiceOrdIDDt,DispatchOrdIDDt,PaidMoney,PaidMoneyType,PaidMoneyOaID,PaidMoneyTimestamp,PaidMoneyMono) values ('FI',"&ServiceOrdID&","&DispatchOrdID&","&PaidMoney&","&PaidMoneyType&","&session("adminID")&",'"&PaidMoneyTimestamp&"','"&PaidMoneyMono&"')"
|
End if
|
objConn.Execute sql
|
Call OA_Running(PaidMoneyType&"支付"&PaidMoney&"元 ID:"&ServiceOrdID)
|
If dateDiff("m",OrdTime,now())>=1 Then Call FinancialAudit(ServiceOrdID,DispatchOrdID,"修改任务金额")
|
If ServiceOrdID<>"" Then
|
sql="update ServiceOrder set ServiceOrdTraPaidPrice=ServiceOrdTraPaidPrice+"&PaidMoney&" where ServiceOrdID="&ServiceOrdID
|
objConn.Execute sql
|
'发送客户定金短信
|
If CLng(STraPrePayment)=CLng(PaidMoney) And CLng(STraPaidPrice)<=0 And SOrdTyp="20" Then
|
'阿里云短信下发接口
|
lateCode="SMS_463648792"
|
name=SCoName
|
m1=STraPrePayment
|
m2=CLng(STraTxnPrice)-CLng(STraPrePayment)
|
d1=SOutHosp
|
appUrl="https://api.966120.com.cn/v1/SendSms.php?Phone="&Send_Phone&"&name="&name&"&m1="&m1&"&m2="&m2&"&d1="&d1&"&lateCode="&lateCode
|
'Response.Write appUrl
|
'Response.end
|
HTMLCODE= PostBody(appUrl,args1)
|
Send_Text=name&"您好!您已支付了定金"&m1&"元,我们的服务团队到达出发地"&d1&"后,收齐余下"&m2&"元后再出发。"
|
Send_Remarks="ServiceOrdID:"&ServiceOrdID
|
sql="Insert into Sms_Log (Log_Id,Send_Text,Send_Phone,Send_OA,Send_errMsg,Send_Remarks) values ('阿里云','"&Send_Text&"','"&Send_Phone&"',"&session("adminID")&",'"&errMsg&"','"&Send_Remarks&"')"
|
objConn.Execute sql
|
End If
|
End If
|
If NC_OAID<>"" And PaidMoney>0 Then '支付成功推送
|
If DispatchOrdNo<>"" then
|
NC_Name="【调度单成功支付】"
|
NC_Content="调度单:"&DispatchOrdNo&"客户已通过["&PaidMoneyType&"]成功支付"&PaidMoney&"元 "&PaidMoneyMono
|
NC_PageUrl="/DispatchOrder.gds?DispatchOrdID="&DispatchOrdID
|
NC_PageUrlM="/m_DispatchOrder.gds?DispatchOrdID="&DispatchOrdID
|
Else
|
NC_Name="【服务单成功支付】"
|
NC_Content="服务单:"&ServiceOrdNo&"客户已通过["&PaidMoneyType&"]成功支付"&PaidMoney&"元 "&PaidMoneyMono
|
NC_PageUrl="/ServiceOrder.gds?ServiceOrdID="&ServiceOrdID
|
NC_PageUrlM=""
|
End If
|
'Call Notification_Add(NC_OAID,NC_Name,NC_Content,NC_PageUrl,NC_PageUrlM)
|
|
'微信OA信息推送
|
If touser<>"" then
|
agentid=21
|
articles="{"
|
articles=articles&"""title"": ""【订单支付成功】"","
|
If DispatchOrdNo<>"" Then
|
articles=articles&"""description"": ""调度单号:"&DispatchOrdNo&"\n支付金额:"&PaidMoney&"元\n支付时间:"&Now()&""","
|
articles=articles&"""url"": ""https://sys.966120.com.cn/m_DispatchOrder_PaidMoney.gds?DispatchOrdID="&DispatchOrdID&""""
|
Else
|
articles=articles&"""description"": ""服务单号:"&ServiceOrdNo&"\n支付金额:"&PaidMoney&"元\n支付时间:"&Now()&""","
|
articles=articles&"""url"": """""
|
End If
|
articles=articles&"}"
|
call WeiXin_MessageSend(access_token,touser,agentid,articles)
|
End If
|
|
ElseIf PaidMoney<0 And (PaidMoneyType="3" Or PaidMoneyType="4") And InStr(PaidMoneyMono,"收款编号:")>0 Then '退款申请推送
|
PaidMoneyRS.close()
|
sql="select top 1 id from PaidMoney where PaidMoneyOaID="&session("adminID")&" order by id desc"
|
PaidMoneyRS.open sql,objConn,1,1
|
If not PaidMoneyRS.Eof Then
|
PaidMoneyID=PaidMoneyRS("id")
|
End If
|
'微信OA信息推送
|
If touser<>"" then
|
agentid=21
|
articles="{"
|
articles=articles&"""title"": ""【退款申请】"","
|
If DispatchOrdNo<>"" Then
|
articles=articles&"""description"": ""调度单号:"&DispatchOrdNo&"\n退款金额:"&PaidMoney&"元\n申请时间:"&Now()&""","
|
articles=articles&"""url"": ""https://sys.966120.com.cn/m_PaidMoneyRefund.gds?PaidMoneyID="&PaidMoneyID&""""
|
Else
|
articles=articles&"""description"": ""服务单号:"&ServiceOrdNo&"\n退款金额:"&PaidMoney&"元\n申请时间:"&Now()&""","
|
articles=articles&"""url"": ""https://sys.966120.com.cn/m_PaidMoneyRefund.gds?PaidMoneyID="&PaidMoneyID&""""
|
End If
|
articles=articles&"}"
|
call WeiXin_MessageSend(access_token,touser,agentid,articles)
|
End If
|
|
End If
|
end if
|
PaidMoneyRS.close()
|
|
'更新跑空单成交价与绩效
|
If DO_State="9" And DispatchOrdID<>"" And ServiceOrdID<>"" Then
|
call PaidMoneyB(ServiceOrdID,DispatchOrdID)
|
End If
|
|
'人员绩效
|
If DispatchOrdID<>"" And DispatchOrdID<>"0" And DispatchOrdPerfomance<>"" Then
|
call EntourageDKP_A(DispatchOrdID,DispatchOrdPerfomance)
|
End If
|
|
'更新用户积分
|
Call UserPointsA(ServiceOrdID,DispatchOrdID)
|
End Function
|
'--------------------------支付记录---------------------end
|
|
'--------------------------用户积分记录---------------------begin 限制小程序有效 ServiceOrdSource=5
|
Function UserPointsA(ServiceOrdID,DispatchOrdID)
|
If DispatchOrdID="" Then DispatchOrdID="0"
|
If ServiceOrdID="" Then ServiceOrdID="0"
|
UserID="0"
|
PointsRatio2_UserID="0"
|
PointsRatio1=0 '本人消费积分 0%
|
PointsRatio2=0.03 '推荐人积分 首次5%,二次以上3%
|
PointsRatio3=0.03 '上级推荐人积分 3%
|
Set UserPointsRS = Server.CreateObject("ADODB.Recordset")
|
If ServiceOrdID="0" And DispatchOrdID<>"0" Then
|
sql="select ServiceOrdIDDt from DispatchOrd where DispatchOrdID="&DispatchOrdID
|
UserPointsRS.open sql,objConn,1,1
|
If not UserPointsRS.Eof Then
|
ServiceOrdID=UserPointsRS(0)
|
end if
|
UserPointsRS.close()
|
End If
|
If ServiceOrdID<>"0" And DispatchOrdID="0" Then
|
sql="select DispatchOrdID from DispatchOrd where ServiceOrdIDDt="&ServiceOrdID&" and DispatchOrdState in (8)"
|
UserPointsRS.open sql,objConn,1,1
|
If not UserPointsRS.Eof Then
|
DispatchOrdID=UserPointsRS(0)
|
end if
|
UserPointsRS.close()
|
End If
|
If ServiceOrdID<>"0" And DispatchOrdID<>"0" Then
|
sql="select ServiceOrdUserID,ServiceOrdClass,ServiceOrd_CC_Time,ServiceOrdNo,old_OrdInt=(select COUNT(*) from ServiceOrder as b,DispatchOrd where ServiceOrdIDDt=b.ServiceOrdID and DispatchOrdState in (8) and b.ServiceOrd_CC_Time<a.ServiceOrd_CC_Time and b.ServiceOrdUserID=a.ServiceOrdUserID) from ServiceOrder as a where ServiceOrdUserID<>0 and ServiceOrdSource=5 and ServiceOrdID="&ServiceOrdID
|
UserPointsRS.open sql,objConn,1,1
|
If not UserPointsRS.Eof Then
|
UserID=UserPointsRS("ServiceOrdUserID")
|
old_OrdInt=UserPointsRS("old_OrdInt")
|
ServiceOrdNo = UserPointsRS("ServiceOrdClass")& year(UserPointsRS("ServiceOrd_CC_Time"))&Right("0"&month(UserPointsRS("ServiceOrd_CC_Time")),2)&Right("0"&day(UserPointsRS("ServiceOrd_CC_Time")),2) & "-"&Right("00"&UserPointsRS("ServiceOrdNo"),3)
|
If old_OrdInt=0 Then '推荐人积分 首次5%,二次以上3%
|
PointsRatio2=0.05
|
End If
|
'刷新积分记录
|
sql="delete from UserPoints where Points_Type in (1,3) and ServiceOrdIDDt="&ServiceOrdID
|
objConn.Execute sql
|
end if
|
UserPointsRS.close()
|
sql="select DispatchOrdState,DispatchOrdStartDate from DispatchOrd where DispatchOrdID="&DispatchOrdID&" and DispatchOrdState in (8)"
|
UserPointsRS.open sql,objConn,1,1
|
If not UserPointsRS.Eof Then
|
DispatchOrdState=UserPointsRS(0)
|
DispatchOrdStartDate=UserPointsRS(1)
|
end if
|
UserPointsRS.close()
|
If DispatchOrdState="8" And UserID<>"0" Then
|
sql="select isnull(SUM(PaidMoney),0) from PaidMoney where (ServiceOrdIDDt="&ServiceOrdID&" or DispatchOrdIDDt="&DispatchOrdID&") and PaidMoney_AP_Check<>-1 and PaidMoneyType<>9"
|
UserPointsRS.open sql,objConn,1,1
|
If not UserPointsRS.Eof Then
|
OrdPaidMoney=UserPointsRS(0)
|
end if
|
UserPointsRS.close()
|
If OrdPaidMoney>0 Then
|
|
|
'本人消费0%积分
|
Points_Score1=CInt(OrdPaidMoney*PointsRatio1)
|
If Points_Score1>0 Then
|
If Points_Score1>3000 Then Points_Score1=3000
|
sql="insert into UserPoints (ToUserID,Points_Score,Points_Time,Points_Type,Points_State,ServiceOrdIDDt,Points_Value1) values ("&UserID&","&Points_Score1&",'"&DispatchOrdStartDate&"',1,1,"&ServiceOrdID&",'"&ServiceOrdNo&"')"
|
objConn.Execute sql
|
End If
|
|
'推荐人积分 首次5%,二次以上3%
|
sql="select UserID,UserLevel from UserData where UserID in (select RecommendUserID from UserData where RecommendUserID is Not null and RecommendUserID<>0 and UserID="&UserID&")"
|
UserPointsRS.open sql,objConn,1,1
|
If not UserPointsRS.Eof Then
|
PointsRatio2_UserID=UserPointsRS("UserID")
|
Points_Score2=CInt(OrdPaidMoney*PointsRatio2)
|
If Points_Score2>0 Then
|
If Points_Score2>3000 Then Points_Score2=3000
|
sql="insert into UserPoints (ToUserID,Points_Score,Points_Time,Points_Type,Points_State,ServiceOrdIDDt) values ("&PointsRatio2_UserID&","&Points_Score2&",'"&DispatchOrdStartDate&"',3,1,"&ServiceOrdID&")"
|
objConn.Execute sql
|
End If
|
end if
|
UserPointsRS.close()
|
|
'上级推荐人积分 3%
|
If PointsRatio2_UserID<>"0" Then
|
sql="select UserID,UserLevel from UserData where UserID in (select RecommendUserID from UserData where RecommendUserID is Not null and RecommendUserID<>0 and UserID="&PointsRatio2_UserID&")"
|
UserPointsRS.open sql,objConn,1,1
|
If not UserPointsRS.Eof Then
|
PointsRatio3_UserID=UserPointsRS("UserID")
|
PointsRatio3_UserLevel=UserPointsRS("UserLevel")
|
If PointsRatio3_UserLevel>1 Then
|
Points_Score3=CInt(OrdPaidMoney*PointsRatio3)
|
If Points_Score3>0 Then
|
If Points_Score3>3000 Then Points_Score3=3000
|
sql="insert into UserPoints (ToUserID,Points_Score,Points_Time,Points_Type,Points_State,ServiceOrdIDDt) values ("&PointsRatio3_UserID&","&Points_Score3&",'"&DispatchOrdStartDate&"',3,1,"&ServiceOrdID&")"
|
objConn.Execute sql
|
End If
|
End If
|
end if
|
UserPointsRS.close()
|
End If
|
End If
|
End If
|
End If
|
End Function
|
'--------------------------用户积分记录---------------------end
|
|
|
'--------------------------请求财务二次审核---------------------begin
|
Function FinancialAudit(ServiceOrdID,DispatchOrdID,Reason)
|
If DispatchOrdID="" Then DispatchOrdID="0"
|
If DispatchOrdID="0" And ServiceOrdID<>"" Then
|
Set PaidMoneyRS = Server.CreateObject("ADODB.Recordset")
|
sql="select top 1 DispatchOrdID from DispatchOrd where ServiceOrdIDDt="&ServiceOrdID&" order by DispatchOrdID desc"
|
PaidMoneyRS.open sql,objConn,1,1
|
If not PaidMoneyRS.Eof Then
|
DispatchOrdID=PaidMoneyRS("DispatchOrdID")
|
End If
|
PaidMoneyRS.close()
|
End If
|
If DispatchOrdID<>"0" Then
|
sql="update DispatchOrd set DispatchOrd_FA_Check=0,DispatchOrd_FA_Time=getdate(),DispatchOrd_FA_ID="&session("adminID")&",DispatchOrd_FA_Reason='"&Reason&"' where DispatchOrdID="&DispatchOrdID
|
objConn.Execute sql
|
End If
|
End Function
|
'--------------------------请求财务二次审核---------------------end
|
|
'更新跑空单成交价与绩效
|
Function PaidMoneyB(ServiceOrdID,DispatchOrdID)
|
Set PaidMoneyRS = Server.CreateObject("ADODB.Recordset")
|
DO_State=""
|
sql="select ServiceOrdID,DispatchOrdState,ServiceOrdType,StretcherMoney from DispatchOrd,ServiceOrder where ServiceOrdIDDt=ServiceOrdID and DispatchOrdID="&DispatchOrdID
|
PaidMoneyRS.open sql,objConn,1,1
|
If not PaidMoneyRS.eof Then
|
ServiceOrdID=PaidMoneyRS("ServiceOrdID")
|
DO_State=PaidMoneyRS("DispatchOrdState")
|
DO_Type=ServiceOrdTypeB(PaidMoneyRS("ServiceOrdType"),"vType")
|
DO_StretcherMoney=PaidMoneyRS("StretcherMoney")
|
End If
|
PaidMoneyRS.close()
|
If DO_State="9" Then
|
sql="select isnull(SUM(PaidMoney),0) from PaidMoney where PaidMoney_AP_Check<>-1 and (DispatchOrdIDDt="&DispatchOrdID&" or ServiceOrdIDDt="&ServiceOrdID&")"
|
PaidMoneyRS.open sql,objConn,1,1
|
If not PaidMoneyRS.eof Then
|
DispatchOrdPerfomance=PaidMoneyRS(0)-DO_StretcherMoney
|
End If
|
PaidMoneyRS.close()
|
If DispatchOrdPerfomance="" Or isnull(DispatchOrdPerfomance) Then DispatchOrdPerfomance=0
|
If DO_Type<>"2" Then
|
sql="update DispatchOrd set DispatchOrdPerfomance="&DispatchOrdPerfomance&" where DispatchOrdState=9 and DispatchOrdID="&DispatchOrdID
|
objConn.Execute sql
|
End If
|
sql="update ServiceOrder set ServiceOrdTraTxnPrice="&DispatchOrdPerfomance&" where ServiceOrdID="&ServiceOrdID
|
objConn.Execute sql
|
call EntourageDKP_A(DispatchOrdID,DispatchOrdPerfomance)
|
|
End If
|
'更新用户积分
|
Call UserPointsA(ServiceOrdID,DispatchOrdID)
|
End Function
|
'--------------------------更新跑空单成交价与绩效---------------------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
|
|
'--------------------------调度单绩效算法---------------------begin
|
Function EntourageDKP_A(DispatchOrdID,DispatchOrdPerfomance)
|
Set EntourageDKPRS = Server.CreateObject("ADODB.Recordset")
|
EntourageDoctors=0 '医生人数
|
EntourageNurse=0 '护士人数
|
EntourageDriver=0 '司机人数
|
EntourageSum=0 '总随行人数
|
sql="select vtext,COUNT(EntourageID) from DispatchOrd_Entourage,dictionary where vtitle='DispatchOrdEntourage' and vID=EntourageID and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt="&DispatchOrdID&" GROUP BY vtext"
|
EntourageDKPRS.open sql,objConn,1,1
|
do while not EntourageDKPRS.Eof
|
select case EntourageDKPRS("vtext")
|
case "医生"
|
EntourageDoctors=EntourageDKPRS(1)
|
case "护士"
|
EntourageNurse=EntourageDKPRS(1)
|
case "司机"
|
EntourageDriver=EntourageDKPRS(1)
|
end Select
|
EntourageSum=EntourageSum+EntourageDKPRS(1)
|
EntourageDKPRS.movenext
|
loop
|
EntourageDKPRS.close()
|
'计价分里数
|
sql="select top 1 ServiceOrdTraDistance,OrderLevel,DispatchOrd_NS_Time,ServiceOrdTraTxnPrice+isnull((select sum(AddMoney) from PaidMoney_Add where AddMoneyType=1 and ToDispatchOrdID=DispatchOrdID),0),ServiceOrdID,ServiceOrdType,DispatchOrdState,ServiceOrdIntroducer,ServiceOrdTraPaidType,ServiceOrdAreaType from ServiceOrder,DispatchOrd where ServiceOrdID=ServiceOrdIDDt and DispatchOrdID="&DispatchOrdID
|
EntourageDKPRS.open sql,objConn,1,1
|
if not EntourageDKPRS.Eof Then
|
OrdDistance=EntourageDKPRS(0)
|
If InStr(OrdDistance,"公里")>0 Or InStr(OrdDistance,"km")>0 Then
|
OrdDistance=Replace(Replace(OrdDistance,"公里",""),"km","")
|
Else
|
OrdDistance=0
|
End If
|
OrderLevel=EntourageDKPRS(1)
|
DispatchOrd_NS_Time=EntourageDKPRS(2)
|
OrdPrice=EntourageDKPRS(3)
|
ServiceOrdID=EntourageDKPRS(4)
|
ServiceOrdType=EntourageDKPRS(5)
|
DispatchOrdState=EntourageDKPRS(6)
|
ServiceOrdIntroducer=EntourageDKPRS(7)
|
PaidMoneyType=EntourageDKPRS(8)
|
ServiceOrdAreaType=EntourageDKPRS(9)
|
OrdTypeB=ServiceOrdTypeB(ServiceOrdType,"vType")
|
DispatchOrdPerfomance=OrdPrice
|
Else
|
OrdDistance=0
|
OrderLevel=0
|
OrdTypeB=1
|
DispatchOrd_NS_Time=now()
|
End If
|
If IsNumeric(OrdDistance) Then
|
OrdDistance=clng(OrdDistance)
|
Else
|
OrdDistance=0
|
End If
|
EntourageDKPRS.close()
|
|
If EntourageSum>0 and OrdPrice=>0 Then
|
|
'提成算法
|
DKPScale_Doctors=0.16+0.05 '医生正常绩效(16%)+超时补贴(5%)
|
DKPScale_Nurse=0.11+0.04 '护士正常绩效(16%)+超时补贴(5%)
|
DKPScale_Driver=0.09+0.03 '司机正常绩效(9%)+超时补贴(3%)
|
|
'跟车绩效算法
|
EntourageLongDKP_Doctors=DispatchOrdPerfomance*(1/EntourageSum) '跟车医生绩效比例
|
EntourageLongDKP_Nurse=DispatchOrdPerfomance*(1/EntourageSum) '跟车护士绩效比例
|
EntourageLongDKP_Driver=DispatchOrdPerfomance*(1/EntourageSum) '跟车司机绩效比例
|
|
'里程系数
|
MileageFactor_Doctors=1 '医生正常里程系数
|
MileageFactor_Nurse=1 '护士正常里程系数
|
MileageFactor_Driver=1 '司机正常里程系数
|
|
'跟车里程系数
|
LongMileageFactor_Doctors=0.5 '跟车医生里程系数
|
LongMileageFactor_Nurse=0.5 '跟车护士里程系数
|
LongMileageFactor_Driver=0.5 '跟车司机里程系数
|
|
'Z计划 个人系列默认1.2倍
|
If OrderLevel=2 Then
|
MileageFactor_Doctors=MileageFactor_Doctors*1.2 '医生正常里程系数
|
MileageFactor_Nurse=MileageFactor_Nurse*1.2 '护士正常里程系数
|
MileageFactor_Driver=MileageFactor_Driver*1.2 '司机正常里程系数
|
|
LongMileageFactor_Doctors=LongMileageFactor_Doctors*1.2 '跟车医生里程系数
|
LongMileageFactor_Nurse=LongMileageFactor_Nurse*1.2 '跟车护士里程系数
|
LongMileageFactor_Driver=LongMileageFactor_Driver*1.2 '跟车司机里程系数
|
End If
|
|
'外部人员
|
sql="update DispatchOrd_Entourage set EntourageMileageEdit=0,DKPEdit_Reason='系统角色',DKPEdit_Time=getdate(),DKPEdit_OAid=null from DispatchOrd_Entourage where EntourageState<>4 and (DKPEdit_Reason<>'系统角色' or DKPEdit_Reason is null) and EntourageOAid in (95,175,176) and DispatchOrdIDDt="&DispatchOrdID
|
objConn.Execute sql
|
'出车时间数据修正
|
sql="update DispatchOrd_Entourage set Entourage_Time=DispatchOrd_NS_Time from DispatchOrd,DispatchOrd_Entourage where DispatchOrdID=DispatchOrdIDDt and Entourage_Time='1900-1-1'"
|
objConn.Execute sql
|
|
If CDate(DispatchOrd_NS_Time)>=CDate("2021-9-1") Then '最新绩效计算公式(2021-9-1 开始使用)
|
'提成算法
|
DKPScale_Doctors=7.7 '医生300公里绩效(7.7%)+长途(5.8%)
|
DKPScalelong_Doctors=5.8
|
DKPScalelong_Doctors2=0
|
Giving_Doctors=45 '医生保底提成
|
DKPScale_Nurse=6.7 '护士300公里绩效(6.7%)+长途(4.8%)
|
DKPScalelong_Nurse=4.8
|
DKPScalelong_Nurse2=0
|
Giving_Nurse=40 '护士保底提成
|
DKPScale_Driver=5.7 '司机300公里绩效(5.7%)+长途(3.8%)
|
DKPScalelong_Driver=3.8
|
DKPScalelong_Driver2=0
|
Giving_Driver=35 '司机保底提成
|
If CDate(DispatchOrd_NS_Time)>=CDate("2024-7-1") Then '最新绩效计算公式(2024-7-1 开始使用)
|
'提成算法
|
DKPScale_Doctors=7.2 '医生300公里绩效(7.2%)+长途(5.5%)
|
DKPScalelong_Doctors=5.5
|
DKPScalelong_Doctors2=0
|
Giving_Doctors=45 '医生保底提成
|
DKPScale_Nurse=6.2 '护士300公里绩效(6.2%)+长途(4.5%)
|
DKPScalelong_Nurse=4.5
|
DKPScalelong_Nurse2=0
|
Giving_Nurse=40 '护士保底提成
|
DKPScale_Driver=5.2 '司机300公里绩效(5.2%)+长途(3.8%)
|
DKPScalelong_Driver=3.8
|
DKPScalelong_Driver2=0
|
Giving_Driver=35 '司机保底提成
|
End If
|
'跟车提成
|
DKPScale_Doctors1=DKPScale_Doctors
|
DKPScalelong_Doctors1=DKPScalelong_Doctors
|
Giving_Doctors1=Giving_Doctors
|
|
DKPScale_Nurse1=DKPScale_Nurse
|
DKPScalelong_Nurse1=DKPScalelong_Nurse
|
Giving_Nurse1=Giving_Nurse
|
DKPScale_Driver1=DKPScale_Driver
|
DKPScalelong_Driver1=DKPScalelong_Driver
|
Giving_Driver1=Giving_Driver
|
|
If CDate(DispatchOrd_NS_Time)>=CDate("2022-9-1") Then '(2022-9-1 开始使用)
|
If EntourageDoctors=1 And EntourageNurse=0 Then '单医生出车绩效按标准绩效的1.3倍计算
|
DKPScale_Doctors=DKPScale_Doctors*1.3
|
DKPScalelong_Doctors=DKPScalelong_Doctors*1.3
|
Giving_Doctors=Giving_Doctors*1.3
|
ElseIf EntourageDoctors=0 And EntourageNurse=1 Then '单护士出车绩效按标准绩效的1.3倍计算
|
DKPScale_Nurse=DKPScale_Nurse*1.3
|
DKPScalelong_Nurse=DKPScalelong_Nurse*1.3
|
Giving_Nurse=Giving_Nurse*1.3
|
End If
|
If EntourageDoctors+EntourageNurse=1 And EntourageDriver=1 And OrdDistance<=300 Then '单司机+单医或单护士出车绩效的1.1倍计算(300公里内)
|
DKPScale_Driver=DKPScale_Driver*1.1
|
DKPScalelong_Driver=DKPScalelong_Driver*1.1
|
Giving_Driver=Giving_Driver*1.1
|
End If
|
Else
|
If EntourageDoctors=0 And EntourageNurse=1 Then '单护士出车按医生绩效
|
DKPScale_Nurse=DKPScale_Doctors
|
DKPScalelong_Nurse=DKPScalelong_Doctors
|
Giving_Nurse=Giving_Doctors
|
ElseIf EntourageDoctors=0 And EntourageNurse=0 And EntourageDriver=1 Then '单司机无医护人员出车按护士绩效
|
DKPScale_Driver=DKPScale_Nurse
|
DKPScalelong_Driver=DKPScalelong_Nurse
|
Giving_Driver=Giving_Nurse
|
End If
|
End If
|
If OrdPrice>0 Then
|
If DispatchOrdState=9 Then '跑空单处理
|
If (OrdPrice>0 And PaidMoneyType="6") Or OrdTypeB=2 Then
|
'跑空单处理 特殊任务挂账 不高于350元的,按60元/单;超出350、不高于700元的,按80元/单,超出700、不高于1000元的,按100元/单,超过1000元的,按单次金额的10%。
|
If OrdPrice>350 And OrdPrice<=700 Then
|
DispatchOrdPerfomance=80
|
ElseIf OrdPrice>700 And OrdPrice<=1000 Then
|
DispatchOrdPerfomance=100
|
ElseIf OrdPrice>1000 Then
|
DispatchOrdPerfomance=OrdPrice*0.1
|
Else
|
DispatchOrdPerfomance=60
|
End If
|
sql="update DispatchOrd set DispatchOrdPerfomance="&DispatchOrdPerfomance&" where DispatchOrdID="&DispatchOrdID
|
objConn.Execute sql
|
sql="update DispatchOrd_Entourage set EntourageMileageEdit=null,DKPEdit_Reason=null,DKPEdit_Time=null,DKPEdit_OAid=null from DispatchOrd_Entourage where EntourageState<>4 and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务') and DispatchOrdIDDt="&DispatchOrdID
|
objConn.Execute sql
|
ElseIf OrdTypeB=2 Then
|
' 跑空单处理 特殊任务跑空
|
|
ElseIf ServiceOrdAreaType=1 Or ServiceOrdType=7 Then
|
'跑空单处理 市内普通转运空跑(含中大肿瘤的发热单)及保障空跑:医生护士司机按保底绩效各20元。
|
sql="update DispatchOrd_Entourage set EntourageMileageEdit=20+EntourageOT_Money,DKPEdit_Reason='跑空单',DKPEdit_Time=getdate() from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务')"
|
objConn.Execute sql
|
Else
|
'跑空单处理 市外空跑:按实际单程公里数计算,医生护士司机按0.6元/公里。
|
If OrdDistance<0 Then OrdDistance=0
|
sql="update DispatchOrd_Entourage set EntourageMileageEdit=(CASE when EntourageOT2_is=1 and (datename(hour,Entourage_Time)<8 Or (datename(hour,Entourage_Time)=8 And datename(Mi,Entourage_Time)<30)) THEN "&(0.6*OrdDistance)&"*1.2 when EntourageOT2_is=1 THEN "&(0.6*OrdDistance)&"*1.1 else "&(0.6*OrdDistance)&" END)+EntourageOT_Money,DKPEdit_Reason='跑空单',DKPEdit_Time=getdate() from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务')"
|
objConn.Execute sql
|
End If
|
|
ElseIf ServiceOrdType="5" Or ServiceOrdType="8" Then '高铁与航空
|
sql="update DispatchOrd_Entourage set EntourageDKP=0,EntourageDKPScale=0,EntourageMileageFactor=0,EntourageP1=Post_MoneyP1 from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务')"
|
objConn.Execute sql
|
|
ElseIf DispatchOrdPerfomance=50 Then '驻点绩效 不出车情况下,绩效为0,补贴50元
|
sql="update DispatchOrd_Entourage set EntourageDKP=50,EntourageDKPScale=1 from DispatchOrd_Entourage as b where EntourageState<>4 and DispatchOrdIDDt="&DispatchOrdID&" and EntourageOAid not in (select a.EntourageOAid from DispatchOrd_Entourage as a,DispatchOrd,ServiceOrder where a.DispatchOrdIDDt=DispatchOrdID and DispatchOrdID<>b.DispatchOrdIDDt and ServiceOrdID=ServiceOrdIDDt and a.EntourageState<>4 and (ServiceOrdApptDate between b.EntourageEnd_Time and dateadd(d,1,b.EntourageEnd_Time) or DispatchOrdTraSDTime between b.EntourageEnd_Time and dateadd(d,1,b.EntourageEnd_Time) or DispatchOrdActualDate between b.EntourageEnd_Time and dateadd(d,1,b.EntourageEnd_Time)))"
|
objConn.Execute sql
|
|
ElseIf OrdDistance>300 Then '大于300公里
|
|
'均价计算 均价=任务单金额/任务单公里数
|
UnitPricee=OrdPrice/OrdDistance
|
sql="update ServiceOrder set ServiceOrdTraUnitPrice="&UnitPricee&" where ServiceOrdID="&ServiceOrdID
|
objConn.Execute sql
|
|
If CDate(DispatchOrd_NS_Time)>=CDate("2022-9-1") Then
|
If EntourageDriver=1 Then '超300km以上的任务,单司机出车的绩效按标准绩效的1.3倍计算。(2022-9-1 开始使用)
|
DKPScale_Driver=DKPScale_Driver*1.3
|
DKPScalelong_Driver=DKPScalelong_Driver*1.3
|
End If
|
Else
|
If EntourageDriver=1 Then '大于300公里单司机(绩效按医生绩效)
|
DKPScale_Driver=DKPScale_Doctors
|
DKPScalelong_Driver=DKPScalelong_Doctors
|
ElseIf EntourageDoctors=0 And EntourageNurse=0 And EntourageDriver>=1 Then '大于300公里只有司机没医护(绩效按护士绩效)
|
DKPScale_Driver=DKPScale_Nurse
|
DKPScalelong_Driver=DKPScalelong_Nurse
|
End If
|
If EntourageDoctors=1 And EntourageNurse=0 Then '大于300公里单医生(前300公里8.8%,超300公里6.8%)
|
DKPScale_Doctors=8.8
|
DKPScalelong_Doctors=6.8
|
End If
|
End If
|
|
DKPScale_Doctors=((300*UnitPricee*DKPScale_Doctors)+((OrdDistance-300)*UnitPricee*DKPScalelong_Doctors))/OrdPrice
|
DKPScale_Nurse=((300*UnitPricee*DKPScale_Nurse)+((OrdDistance-300)*UnitPricee*DKPScalelong_Nurse))/OrdPrice
|
DKPScale_Driver=((300*UnitPricee*DKPScale_Driver)+((OrdDistance-300)*UnitPricee*DKPScalelong_Driver))/OrdPrice
|
sql="update DispatchOrd_Entourage set EntourageDKP="&DispatchOrdPerfomance*(1/EntourageSum)&",EntourageDKPScale="&DKPScale_Doctors&",EntourageMileageFactor=0,EntourageP1=Post_MoneyP1,EntourageMileageEdit=null,DKPEdit_Reason=null,DKPEdit_Time=null,DKPEdit_OAid=null from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务') and vtext='医生'"
|
objConn.Execute sql
|
sql="update DispatchOrd_Entourage set EntourageDKP="&DispatchOrdPerfomance*(1/EntourageSum)&",EntourageDKPScale="&DKPScale_Nurse&",EntourageMileageFactor=0,EntourageP1=Post_MoneyP1,EntourageMileageEdit=null,DKPEdit_Reason=null,DKPEdit_Time=null,DKPEdit_OAid=null from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务') and vtext='护士'"
|
objConn.Execute sql
|
sql="update DispatchOrd_Entourage set EntourageDKP="&DispatchOrdPerfomance*(1/EntourageSum)&",EntourageDKPScale="&DKPScale_Driver&",EntourageMileageFactor=0,EntourageP1=Post_MoneyP1,EntourageMileageEdit=null,DKPEdit_Reason=null,DKPEdit_Time=null,DKPEdit_OAid=null from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务') and vtext='司机'"
|
objConn.Execute sql
|
|
'跟车正常系数0.5
|
DKPScale_Doctors1=((300*UnitPricee*DKPScale_Doctors1)+((OrdDistance-300)*UnitPricee*DKPScalelong_Doctors1))/OrdPrice
|
DKPScale_Nurse1=((300*UnitPricee*DKPScale_Nurse1)+((OrdDistance-300)*UnitPricee*DKPScalelong_Nurse1))/OrdPrice
|
DKPScale_Driver1=((300*UnitPricee*DKPScale_Driver1)+((OrdDistance-300)*UnitPricee*DKPScalelong_Driver1))/OrdPrice
|
sql="update DispatchOrd_Entourage set EntourageDKP="&EntourageLongDKP_Doctors&",EntourageDKPScale="&DKPScale_Doctors1/2&",EntourageMileageFactor="&LongMileageFactor_Doctors&",EntourageP1=Post_MoneyP1,EntourageMileageEdit=null,DKPEdit_Reason=null,DKPEdit_Time=null,DKPEdit_OAid=null from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=1 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务') and vtext='医生'"
|
objConn.Execute sql
|
sql="update DispatchOrd_Entourage set EntourageDKP="&EntourageLongDKP_Nurse&",EntourageDKPScale="&DKPScale_Nurse1/2&",EntourageMileageFactor="&LongMileageFactor_Nurse&",EntourageP1=Post_MoneyP1,EntourageMileageEdit=null,DKPEdit_Reason=null,DKPEdit_Time=null,DKPEdit_OAid=null from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=1 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务') and vtext='护士'"
|
objConn.Execute sql
|
sql="update DispatchOrd_Entourage set EntourageDKP="&EntourageLongDKP_Driver&",EntourageDKPScale="&DKPScale_Driver1/2&",EntourageMileageFactor="&LongMileageFactor_Driver&",EntourageP1=Post_MoneyP1,EntourageMileageEdit=null,DKPEdit_Reason=null,DKPEdit_Time=null,DKPEdit_OAid=null from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=1 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务') and vtext='司机'"
|
objConn.Execute sql
|
|
Else '小于300公里
|
'If EntourageDriver=2 Then '特殊情况1 仅双司机(绩效/2)
|
' DKPScale_Driver=DKPScale_Driver/2
|
'End If
|
'If EntourageDoctors=1 And EntourageNurse=0 Then '小于300公里单医生(8.8%)
|
' DKPScale_Doctors=8.8
|
'End If
|
If ServiceOrdType="7" Then '保障任务单不计算收入提成
|
DKPScale_Doctors=0
|
DKPScale_Nurse=0
|
DKPScale_Driver=0
|
End If
|
sql="update DispatchOrd_Entourage set EntourageDKP="&DispatchOrdPerfomance*(1/EntourageSum)&",EntourageDKPScale="&DKPScale_Doctors&",EntourageMileageFactor=0,EntourageP1=Post_MoneyP1,EntourageMileageEdit=null,DKPEdit_Reason=null,DKPEdit_Time=null,DKPEdit_OAid=null from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务') and vtext='医生'"
|
objConn.Execute sql
|
sql="update DispatchOrd_Entourage set EntourageDKP="&DispatchOrdPerfomance*(1/EntourageSum)&",EntourageDKPScale="&DKPScale_Nurse&",EntourageMileageFactor=0,EntourageP1=Post_MoneyP1,EntourageMileageEdit=null,DKPEdit_Reason=null,DKPEdit_Time=null,DKPEdit_OAid=null from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务') and vtext='护士'"
|
objConn.Execute sql
|
sql="update DispatchOrd_Entourage set EntourageDKP="&DispatchOrdPerfomance*(1/EntourageSum)&",EntourageDKPScale="&DKPScale_Driver&",EntourageMileageFactor=0,EntourageP1=Post_MoneyP1,EntourageMileageEdit=null,DKPEdit_Reason=null,DKPEdit_Time=null,DKPEdit_OAid=null from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务') and vtext='司机'"
|
objConn.Execute sql
|
|
'跟车正常系数0.5
|
sql="update DispatchOrd_Entourage set EntourageDKP="&EntourageLongDKP_Doctors&",EntourageDKPScale="&DKPScale_Doctors1/2&",EntourageMileageFactor="&LongMileageFactor_Doctors&",EntourageP1=Post_MoneyP1,EntourageMileageEdit=null,DKPEdit_Reason=null,DKPEdit_Time=null,DKPEdit_OAid=null from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=1 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务') and vtext='医生'"
|
objConn.Execute sql
|
sql="update DispatchOrd_Entourage set EntourageDKP="&EntourageLongDKP_Nurse&",EntourageDKPScale="&DKPScale_Nurse1/2&",EntourageMileageFactor="&LongMileageFactor_Nurse&",EntourageP1=Post_MoneyP1,EntourageMileageEdit=null,DKPEdit_Reason=null,DKPEdit_Time=null,DKPEdit_OAid=null from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=1 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务') and vtext='护士'"
|
objConn.Execute sql
|
sql="update DispatchOrd_Entourage set EntourageDKP="&EntourageLongDKP_Driver&",EntourageDKPScale="&DKPScale_Driver1/2&",EntourageMileageFactor="&LongMileageFactor_Driver&",EntourageP1=Post_MoneyP1,EntourageMileageEdit=null,DKPEdit_Reason=null,DKPEdit_Time=null,DKPEdit_OAid=null from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=1 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='特殊任务') and vtext='司机'"
|
objConn.Execute sql
|
|
If ServiceOrdType<>"7" And ServiceOrdType<>"16" Then
|
If ServiceOrdIntroducer="116" Then
|
Floors_Driver=60
|
sql="update DispatchOrd_Entourage set EntourageMileageEdit="&Floors_Driver&",DKPEdit_Reason='特殊任务',DKPEdit_Time=getdate() from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='特殊任务') and vtext='司机'"
|
objConn.Execute sql
|
Else
|
'绩效保底 一般任务 医生45元,护士40元,司机35元
|
If DispatchOrdPerfomance>199 And DKPScale_Doctors/100*DispatchOrdPerfomance<Giving_Doctors And DKPScale_Doctors/100*OrdPrice<Giving_Doctors And DispatchOrdPerfomance>0 Then
|
sql="update DispatchOrd_Entourage set EntourageMileageEdit=(CASE when EntourageOT2_is=1 and (datename(hour,Entourage_Time)<8 Or (datename(hour,Entourage_Time)=8 And datename(Mi,Entourage_Time)<30)) THEN "&Giving_Doctors&"*1.2 when EntourageOT2_is=1 THEN "&Giving_Doctors&"*1.1 else "&Giving_Doctors&" END)+EntourageOT_Money,DKPEdit_Reason='绩效保底',DKPEdit_Time=getdate() from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='跑空单') and vtext='医生'"
|
objConn.Execute sql
|
'跟车绩效保底 0.5
|
sql="update DispatchOrd_Entourage set EntourageMileageEdit=(CASE when EntourageOT2_is=1 and (datename(hour,Entourage_Time)<8 Or (datename(hour,Entourage_Time)=8 And datename(Mi,Entourage_Time)<30)) THEN "&Giving_Doctors1&"*1.2 when EntourageOT2_is=1 THEN "&Giving_Doctors1&"*1.1 else "&Giving_Doctors1&" END)+EntourageOT_Money,DKPEdit_Reason='绩效保底',DKPEdit_Time=getdate() from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=1 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='跑空单') and vtext='医生'"
|
objConn.Execute sql
|
End If
|
If DispatchOrdPerfomance>199 And DKPScale_Nurse/100*DispatchOrdPerfomance<Giving_Nurse And DKPScale_Nurse/100*OrdPrice<Giving_Nurse And DispatchOrdPerfomance>0 Then
|
sql="update DispatchOrd_Entourage set EntourageMileageEdit=(CASE when EntourageOT2_is=1 and (datename(hour,Entourage_Time)<8 Or (datename(hour,Entourage_Time)=8 And datename(Mi,Entourage_Time)<30)) THEN "&Giving_Nurse&"*1.2 when EntourageOT2_is=1 THEN "&Giving_Nurse&"*1.1 else "&Giving_Nurse&" END)+EntourageOT_Money,DKPEdit_Reason='绩效保底',DKPEdit_Time=getdate() from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='跑空单') and vtext='护士'"
|
objConn.Execute sql
|
'跟车绩效保底 0.5
|
sql="update DispatchOrd_Entourage set EntourageMileageEdit=(CASE when EntourageOT2_is=1 and (datename(hour,Entourage_Time)<8 Or (datename(hour,Entourage_Time)=8 And datename(Mi,Entourage_Time)<30)) THEN "&Giving_Nurse1&"*1.2 when EntourageOT2_is=1 THEN "&Giving_Nurse1&"*1.1 else "&Giving_Nurse1&" END)+EntourageOT_Money,DKPEdit_Reason='绩效保底',DKPEdit_Time=getdate() from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=1 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='跑空单') and vtext='护士'"
|
objConn.Execute sql
|
objConn.Execute sql
|
End If
|
If DispatchOrdPerfomance>199 And CLng(DKPScale_Driver/100*DispatchOrdPerfomance)<Giving_Driver And DKPScale_Driver/100*OrdPrice<Giving_Driver And DispatchOrdPerfomance>0 Then
|
sql="update DispatchOrd_Entourage set EntourageMileageEdit=(CASE when EntourageOT2_is=1 and (datename(hour,Entourage_Time)<8 Or (datename(hour,Entourage_Time)=8 And datename(Mi,Entourage_Time)<30)) THEN "&Giving_Driver&"*1.2 when EntourageOT2_is=1 THEN "&Giving_Driver&"*1.1 else "&Giving_Driver&" END)+EntourageOT_Money,DKPEdit_Reason='绩效保底',DKPEdit_Time=getdate() from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='特殊任务') and vtext='司机'"
|
objConn.Execute sql
|
'跟车绩效保底 0.5
|
sql="update DispatchOrd_Entourage set EntourageMileageEdit=(CASE when EntourageOT2_is=1 and (datename(hour,Entourage_Time)<8 Or (datename(hour,Entourage_Time)=8 And datename(Mi,Entourage_Time)<30)) THEN "&Giving_Driver1&"*1.2 when EntourageOT2_is=1 THEN "&Giving_Driver1&"*1.1 else "&Giving_Driver1&" END)+EntourageOT_Money,DKPEdit_Reason='绩效保底',DKPEdit_Time=getdate() from DispatchOrd_Entourage,dictionary,OA_User where OA_User_ID=EntourageOAid and vID=EntourageID and EntourageState<>4 and EntourageLong_is=1 and DispatchOrdIDDt="&DispatchOrdID&" and (DKPEdit_Reason is null or DKPEdit_Reason='' or DKPEdit_Reason='绩效保底' or DKPEdit_Reason='跑空单' or DKPEdit_Reason='特殊任务') and vtext='司机'"
|
objConn.Execute sql
|
End If
|
End If
|
End If
|
End If
|
End If
|
End If
|
|
End If
|
End Function
|
'--------------------------调度单绩效算法---------------------end
|
|
'--------------------------个人绩效提成算法---------------------begin
|
Function EntourageDKP_Money_A(DispatchOrdPerfomance,EntourageOT_is,EntourageLong_is,EntourageBetimesHH,EntourageDKP,EntourageDKPScale,EntourageState_Time)
|
EntourageDKP_Money=0
|
If EntourageOT_is=1 Then '加班绩效提成计算方式
|
If DispatchOrdPerfomance<=1000 Then
|
If EntourageName="医生" Then
|
EntourageDKP_Money=100
|
ElseIf EntourageName="护士" Then
|
EntourageDKP_Money=80
|
Else
|
EntourageDKP_Money=70
|
End If
|
ElseIf DispatchOrdPerfomance>1000 And DispatchOrdPerfomance<=2000 Then
|
If EntourageName="医生" Then
|
EntourageDKP_Money=200
|
ElseIf EntourageName="护士" Then
|
EntourageDKP_Money=160
|
Else
|
EntourageDKP_Money=140
|
End If
|
ElseIf DispatchOrdPerfomance>2000 And DispatchOrdPerfomance<=3000 then
|
If EntourageName="医生" Then
|
EntourageDKP_Money=300
|
ElseIf EntourageName="护士" Then
|
EntourageDKP_Money=240
|
Else
|
EntourageDKP_Money=210
|
End If
|
Else
|
If EntourageName="医生" Then
|
EntourageDKP_Money=FormatNumber(DispatchOrdPerfomance*0.1,0)
|
ElseIf EntourageName="护士" Then
|
EntourageDKP_Money=FormatNumber(DispatchOrdPerfomance*0.08,0)
|
Else
|
EntourageDKP_Money=FormatNumber(DispatchOrdPerfomance*0.07,0)
|
End If
|
End If
|
If (EntourageDKP*EntourageDKPScale)>EntourageDKP_Money Then EntourageDKP_Money=FormatNumber(EntourageDKP*EntourageDKPScale,0)
|
Else '正常上班时间
|
If CInt(EntourageBetimesHH)>0 Then
|
If CInt(EntourageBetimesHH)>2 And DateDiff("d",EntourageState_Time,"2016-12-5")<=0 Then EntourageBetimesHH=2
|
EntourageDKP_Money=EntourageBetimesHH*30
|
End If
|
If EntourageDKP>0 Then EntourageDKP_Money=EntourageDKP_Money+FormatNumber(EntourageDKP*EntourageDKPScale,0)
|
End If
|
EntourageDKP_Money_A=EntourageDKP_Money
|
|
End Function
|
'--------------------------个人绩效提成算法---------------------end
|
|
'--------------------------个人绩效提成算法2---------------------begin
|
Function EntourageDKP_Money_B(DispatchOrdPerfomance,EntourageOT_is,EntourageLong_is,EntourageBetimesHH,EntourageDKP,EntourageDKPScale,EntourageState_Time,StretcherM)
|
EntourageDKP_Money=0
|
If EntourageOT_is=1 Then '加班绩效提成计算方式
|
If DispatchOrdPerfomance<=1000 Then
|
If EntourageName="医生" Then
|
EntourageDKP_Money=100
|
ElseIf EntourageName="护士" Then
|
EntourageDKP_Money=80
|
Else
|
EntourageDKP_Money=70
|
End If
|
ElseIf DispatchOrdPerfomance>1000 And DispatchOrdPerfomance<=2000 Then
|
If EntourageName="医生" Then
|
EntourageDKP_Money=200
|
ElseIf EntourageName="护士" Then
|
EntourageDKP_Money=160
|
Else
|
EntourageDKP_Money=140
|
End If
|
ElseIf DispatchOrdPerfomance>2000 And DispatchOrdPerfomance<=3000 then
|
If EntourageName="医生" Then
|
EntourageDKP_Money=300
|
ElseIf EntourageName="护士" Then
|
EntourageDKP_Money=240
|
Else
|
EntourageDKP_Money=210
|
End If
|
Else
|
If EntourageName="医生" Then
|
EntourageDKP_Money=FormatNumber(DispatchOrdPerfomance*0.1,0)
|
ElseIf EntourageName="护士" Then
|
EntourageDKP_Money=FormatNumber(DispatchOrdPerfomance*0.08,0)
|
Else
|
EntourageDKP_Money=FormatNumber(DispatchOrdPerfomance*0.07,0)
|
End If
|
End If
|
Else '正常上班时间
|
If CInt(EntourageBetimesHH)>0 Then
|
If CInt(EntourageBetimesHH)>2 And DateDiff("d",EntourageState_Time,"2016-12-5")<=0 Then EntourageBetimesHH=2
|
EntourageDKP_Money=EntourageBetimesHH*30
|
End If
|
EntourageDKP_Money=EntourageDKP_Money+FormatNumber(EntourageDKP*EntourageDKPScale,0)
|
End If
|
EntourageDKP_Money_B=EntourageDKP_Money+StretcherM
|
|
End Function
|
'--------------------------个人绩效提成算法2---------------------end
|
|
'--------------------------个人绩效提成算法3_保存版2 2018-10-25开始使用---------------------begin
|
Function EntourageDKP_Money_C2(DispatchOrdID)
|
If DispatchOrdID<>"" Then
|
Set DKP_Rs = Server.CreateObject("ADODB.Recordset")
|
sql="select DispatchOrd_Entourage.id,EntourageID,EntourageOAid,ServiceOrdID,DispatchOrdID,DispatchOrdState,ServiceOrdType,DispatchOrd_NS_Time,OrderLevel,ServiceOrdTraTxnPrice,OrdDistance=case when PATINDEX('%[^0-9|.|-|+]%',Replace(Replace(ServiceOrdTraDistance,'公里',''),'km',''))=0 then convert(money,Replace(Replace(ServiceOrdTraDistance,'公里',''),'km','')) else -1 end,OrdViaDistance=case when PATINDEX('%[^0-9|.|-|+]%',Replace(Replace(ServiceOrdViaDistance,'公里',''),'km',''))=0 then convert(money,Replace(Replace(ServiceOrdViaDistance,'公里',''),'km','')) else 0 end,TimeLength_Program,TimeLength_ICU,TimeLength_Wait,EntourageMileageFactor,EntourageOT_is,EntourageOT2_is,Entourage_Time,EntourageBetimesHH,Stretcher_Money=(isnull((select sum(AddMoney) from (select AddMoney=(AddMoney/COUNT(a.Stretcher_is)) from DispatchOrd_Entourage as a,(select ToDispatchOrdID,AddMoneyType,AddMoney=sum(AddMoney) from PaidMoney_Add where ToDispatchOrdID=DispatchOrd_Entourage.DispatchOrdIDDt GROUP BY ToDispatchOrdID,AddMoneyType) as b where a.DispatchOrdIDDt=DispatchOrd_Entourage.DispatchOrdIDDt and b.ToDispatchOrdID=a.DispatchOrdIDDt and a.EntourageState<>4 and a.Stretcher_is=1 and b.AddMoneyType=2 GROUP BY AddMoney) as c),0)*Stretcher_is),EntourageP1,EntourageLong_is,Condition_is=(select COUNT(id) from ServiceOrd_Condition where ConditionID in (4,22,24) and ServiceOrdCoID=ServiceOrdID) from DispatchOrd_Entourage,OA_User,dictionary,DispatchOrd,ServiceOrder where vtitle='DispatchOrdEntourage' and EntourageID=vID and OA_User_ID=EntourageOAid and EntourageState<>4 and ServiceOrdID=ServiceOrdIDDt and DispatchOrdID=DispatchOrdIDDt and DispatchOrdState in (8,9) and DispatchOrdID="&DispatchOrdID
|
'Response.Write sql
|
'Response.end
|
DKP_Rs.open sql,objConn,1,1
|
do while not DKP_Rs.Eof
|
If CDate(DKP_Rs("DispatchOrd_NS_Time"))<CDate("2021-4-1") Then '2021-4-1前的提成公式
|
sql="exec EntourageDKP_Money_C2 "&DKP_Rs("id")&","&DKP_Rs("EntourageOAid")&","&DKP_Rs("DispatchOrdID")&","&DKP_Rs("ServiceOrdType")&","&DKP_Rs("OrdDistance")&","&DKP_Rs("TimeLength_Program")&","&DKP_Rs("TimeLength_ICU")&","&DKP_Rs("TimeLength_Wait")&","&DKP_Rs("EntourageMileageFactor")&","&DKP_Rs("EntourageOT_is")&","&DKP_Rs("EntourageBetimesHH")&","&DKP_Rs("Stretcher_Money")&","&DKP_Rs("EntourageP1")&","&DKP_Rs("Condition_is")
|
objConn.Execute sql
|
ElseIf CDate(DKP_Rs("DispatchOrd_NS_Time"))<CDate("2021-8-9") or (DKP_Rs("ServiceOrdType")="7" And CDate(DKP_Rs("DispatchOrd_NS_Time"))<CDate("2021-9-1")) Then '2021-8-9前的提成公式
|
If DKP_Rs("OrderLevel")="2" And DKP_Rs("EntourageBetimesHH")>0 Then
|
OrdDistance=DKP_Rs("OrdViaDistance")
|
Else
|
OrdDistance=DKP_Rs("OrdDistance")
|
End If
|
'Z计划 里程提成不足100元按100元算
|
If OrdDistance<70 Then
|
OrdDistance1=70
|
Else
|
OrdDistance1=OrdDistance
|
End If
|
'Response.Write OrdDistance1&"*"&DKP_Rs("EntourageMileageFactor")&"*"&DKP_Rs("EntourageP1")&"="&OrdDistance1*DKP_Rs("EntourageMileageFactor")*DKP_Rs("EntourageP1")&"<br>"
|
If DKP_Rs("OrderLevel")="2" And OrdDistance1*DKP_Rs("EntourageMileageFactor")*DKP_Rs("EntourageP1")<100 Then
|
OrdDistance=100/DKP_Rs("EntourageMileageFactor")/DKP_Rs("EntourageP1")
|
End If
|
|
sql="exec EntourageDKP_Money_D1 "&DKP_Rs("id")&","&DKP_Rs("EntourageOAid")&","&DKP_Rs("DispatchOrdID")&","&DKP_Rs("ServiceOrdType")&","&OrdDistance&","&DKP_Rs("TimeLength_Program")&","&DKP_Rs("TimeLength_ICU")&","&DKP_Rs("TimeLength_Wait")&","&DKP_Rs("EntourageMileageFactor")&","&DKP_Rs("EntourageOT_is")&","&DKP_Rs("EntourageBetimesHH")&","&DKP_Rs("Stretcher_Money")&","&DKP_Rs("EntourageP1")&","&DKP_Rs("Condition_is")&","&DKP_Rs("DispatchOrdState")
|
objConn.Execute sql
|
Else '2021-8-10后提成公式
|
EntourageOT_Money=0
|
'加班出车绩效1.1倍,超12点出车1.2倍
|
'If DKP_Rs("EntourageOT2_is")=1 And (hour(DKP_Rs("Entourage_Time"))<8 Or (hour(DKP_Rs("Entourage_Time"))=8 And Minute(DKP_Rs("Entourage_Time"))<30)) Then
|
' EntourageDKPOTScale=1.2
|
'ElseIf DKP_Rs("EntourageOT2_is")=1 Then
|
' EntourageDKPOTScale=1.1
|
'Else
|
' EntourageDKPOTScale=1
|
'End If
|
If DKP_Rs("TimeLength_Program")>0 Then '大型活动保障时长 提成
|
If DKP_Rs("EntourageID")=3 Or DKP_Rs("EntourageID")=5 Then
|
EntourageOT_Money=EntourageOT_Money+(DKP_Rs("TimeLength_Program")*25)
|
ElseIf DKP_Rs("EntourageID")=4 Or DKP_Rs("EntourageID")=6 Then
|
EntourageOT_Money=EntourageOT_Money+(DKP_Rs("TimeLength_Program")*23)
|
ElseIf DKP_Rs("EntourageID")=1 Or DKP_Rs("EntourageID")=2 Then
|
EntourageOT_Money=EntourageOT_Money+(DKP_Rs("TimeLength_Program")*20)
|
End If
|
End If
|
If DKP_Rs("TimeLength_ICU")>0 Then '居家ICU时长 提成
|
If DKP_Rs("EntourageID")=3 Or DKP_Rs("EntourageID")=5 Then
|
EntourageOT_Money=EntourageOT_Money+(DKP_Rs("TimeLength_ICU")*50)
|
ElseIf DKP_Rs("EntourageID")=4 Or DKP_Rs("EntourageID")=6 Then
|
EntourageOT_Money=EntourageOT_Money+(DKP_Rs("TimeLength_ICU")*40)
|
ElseIf DKP_Rs("EntourageID")=1 Or DKP_Rs("EntourageID")=2 Then
|
EntourageOT_Money=EntourageOT_Money+(DKP_Rs("TimeLength_ICU")*30)
|
End If
|
End If
|
If EntourageOT_Money>0 And DKP_Rs("EntourageLong_is")="1" Then EntourageOT_Money=EntourageOT_Money*0.5 '跟车提成减半
|
If DKP_Rs("EntourageOT_is")>0 And CDate(DKP_Rs("DispatchOrd_NS_Time"))>=CDate("2022-7-1") Then '加班 提成30元 2022.7.1开始
|
EntourageOT_Money=EntourageOT_Money+30
|
End If
|
sql="update DispatchOrd_Entourage set EntourageOA_Name=(select top 1 OA_Name from OA_User where OA_User_ID=EntourageOAid),EntourageOA_DepartmentName=(select top 1 vtext from OA_User,dictionary where vtitle='OA_Department' and vID=OA_DepartmentID and OA_User_ID=EntourageOAid),EntourageOutHosp=(select top 1 vtext from DispatchOrd,ServiceOrder,dictionary where vtitle='HospName' and vType=1 and vID=ServiceOrdPtOutHosp and DispatchOrdID=DispatchOrdIDDt and ServiceOrdID=ServiceOrdIDDt),EntourageInHosp=(select top 1 vtext from DispatchOrd,ServiceOrder,dictionary where vtitle='HospName' and vType=1 and vID=ServiceOrdPtInHosp and DispatchOrdID=DispatchOrdIDDt and ServiceOrdID=ServiceOrdIDDt),ConversionDistance=0,EntourageOT_Money="&EntourageOT_Money&",Stretcher_Money="&DKP_Rs("Stretcher_Money")&",EntourageMileageFactor="&DKP_Rs("EntourageMileageFactor")&",Condition_Money=0 where id="&DKP_Rs("id")
|
objConn.Execute sql
|
End If
|
DKP_Rs.movenext
|
loop
|
DKP_Rs.close()
|
End If
|
End Function
|
'--------------------------个人绩效提成算法3_保存版2 2018-10-25开始使用---------------------end
|
|
'--------------------------个人绩效提成算法3_保存版 2018-10-25~2021-3-24---------------------begin
|
Function EntourageDKP_Money_C1(Eid,OA_User_ID,DispatchOrdID,ServiceOrdType,OrdDistance,TimeLength_Program,TimeLength_ICU,TimeLength_Wait,EntourageMileageFactor,EntourageOT_is,EntourageBetimesHH,Stretcher_Money,EntourageP1,ConversionDistance,EntourageOT_Money,EntourageDKP_Money,Condition_is,Condition_Money)
|
Set EntourageDKP_MoneyRs = Server.CreateObject("ADODB.Recordset")
|
sql="exec EntourageDKP_Money_C1 "&Eid&","&OA_User_ID&","&DispatchOrdID&","&ServiceOrdType&","&OrdDistance&","&TimeLength_Program&","&TimeLength_ICU&","&TimeLength_Wait&","&EntourageMileageFactor&","&EntourageOT_is&","&EntourageBetimesHH&","&Stretcher_Money&","&EntourageP1&","&Condition_is&""
|
'Response.Write sql
|
objConn.Execute sql
|
sql="SELECT ConversionDistance,EntourageOT_Money,Stretcher_Money,Condition_Money,EntourageMileageFactor FROM DispatchOrd_Entourage where id="&Eid
|
'Response.Write sql
|
EntourageDKP_MoneyRs.open sql,objConn,1,1
|
ConversionDistance = EntourageDKP_MoneyRs("ConversionDistance") '折算公里数 L
|
EntourageOT_Money = EntourageDKP_MoneyRs("EntourageOT_Money") '加班费
|
Stretcher_Money = EntourageDKP_MoneyRs("Stretcher_Money") '担架费
|
Condition_Money = EntourageDKP_MoneyRs("Condition_Money") '特殊项目金额
|
EntourageMileageFactor = EntourageDKP_MoneyRs("EntourageMileageFactor") '个人系数
|
EntourageDKP_Money = ConversionDistance*EntourageP1+EntourageOT_Money+Stretcher_Money+Condition_Money '提成金额
|
EntourageDKP_MoneyRs.close()
|
End Function
|
'--------------------------个人绩效提成算法3_保存版 2018-10-25~2021-3-24---------------------end
|
|
'--------------------------个人绩效提成算法3 2018-10-25~2021-3-24---------------------begin
|
Function EntourageDKP_Money_C(OA_User_ID,DispatchOrdID,ServiceOrdType,OrdDistance,TimeLength_Program,TimeLength_ICU,TimeLength_Wait,EntourageMileageFactor,EntourageOT_is,EntourageBetimesHH,Stretcher_Money,EntourageP1,ConversionDistance,EntourageOT_Money,EntourageDKP_Money,Condition_is,Condition_Money)
|
Set EntourageDKP_MoneyRs = Server.CreateObject("ADODB.Recordset")
|
sql="SELECT * FROM dbo.EntourageDKP_Money_C("&OA_User_ID&","&DispatchOrdID&","&ServiceOrdType&","&OrdDistance&","&TimeLength_Program&","&TimeLength_ICU&","&TimeLength_Wait&","&EntourageMileageFactor&","&EntourageOT_is&","&EntourageBetimesHH&","&Stretcher_Money&","&EntourageP1&","&Condition_is&")"
|
'Response.Write sql
|
EntourageDKP_MoneyRs.open sql,objConn,1,1
|
ConversionDistance = EntourageDKP_MoneyRs("ConversionDistance") '折算公里数 L
|
EntourageOT_Money = EntourageDKP_MoneyRs("EntourageOT_Money") '加班费
|
Stretcher_Money = EntourageDKP_MoneyRs("Stretcher_Money") '担架费
|
EntourageDKP_Money = EntourageDKP_MoneyRs("EntourageDKP_Money") '提成金额
|
Condition_Money = EntourageDKP_MoneyRs("Condition_Money") '特殊项目金额
|
EntourageMileageFactor = EntourageDKP_MoneyRs("EntourageMileageFactor") '个人系数
|
EntourageDKP_MoneyRs.close()
|
End Function
|
'--------------------------个人绩效提成算法3 2018-10-25~2021-3-24---------------------end
|
|
'--------------------------个人月度绩效提成算法 2018-10-25-2018-12-24 ---------------------begin
|
Function EntourageDKP_Money_M(OA_User_ID,ConversionDistance,Stretcher_Money,EntourageOT_Money,EntourageP1)
|
OA_DKPMoney_Sum=0
|
Set EntourageDKP_MoneyRs = Server.CreateObject("ADODB.Recordset")
|
sql="select OA_User_ID,OA_Name,OA_DepartmentID,Post_Name,Post_MoneyP,Post_MoneyP1 from OA_User where OA_User_ID="&OA_User_ID
|
EntourageDKP_MoneyRs.open sql,objConn,1,1
|
If not EntourageDKP_MoneyRs.Eof Then
|
M_OA_User_ID = EntourageDKP_MoneyRs("OA_User_ID")
|
M_OA_Name = EntourageDKP_MoneyRs("OA_Name")
|
M_OA_DepartmentID=EntourageDKP_MoneyRs("OA_DepartmentID")
|
M_Post_Name = EntourageDKP_MoneyRs("Post_Name")
|
M_Post_MoneyP = EntourageDKP_MoneyRs("Post_MoneyP")
|
M_Post_MoneyP1 = EntourageDKP_MoneyRs("Post_MoneyP1")
|
'M_Post_MoneyP1 = 0.71
|
'加权系数设定 K
|
If M_OA_DepartmentID=11 Then '医生
|
K=3500
|
ElseIf M_OA_DepartmentID=5 Then '司机
|
K=3500
|
ElseIf M_OA_DepartmentID=8 Then '护士
|
K=3000
|
Else
|
K=3500
|
End If
|
|
If ConversionDistance>K Then
|
OA_DKPMoney_Sum=(K*EntourageP1)+((ConversionDistance-K)*(ConversionDistance/K)*EntourageP1)
|
'Response.Write "("&K&"*"&M_Post_MoneyP1&")+(("&ConversionDistance&"-"&K&")*("&ConversionDistance&"/"&K&")*"&M_Post_MoneyP1&")"&"<br>"
|
Else
|
OA_DKPMoney_Sum=ConversionDistance*EntourageP1
|
End If
|
End If
|
EntourageDKP_MoneyRs.close()
|
EntourageDKP_Money_M=FormatNumber((OA_DKPMoney_Sum+Stretcher_Money+EntourageOT_Money),2,-1,,0)
|
End Function
|
'--------------------------个人月度绩效提成算法 2018-10-25-2018-12-24 ---------------------end
|
|
'--------------------------个人月度绩效提成算法 2018-12-25开始使用---------------------begin
|
Function EntourageDKP_Money_M1(OA_User_ID,ConversionDistance,Stretcher_Money,EntourageOT_Money,Condition_Money,EntourageP1)
|
OA_DKPMoney_Sum=0
|
Set EntourageDKP_MoneyRs = Server.CreateObject("ADODB.Recordset")
|
sql="select OA_User_ID,OA_Name,OA_DepartmentID,Post_Name,Post_MoneyP,Post_MoneyP1 from OA_User where OA_User_ID="&OA_User_ID
|
EntourageDKP_MoneyRs.open sql,objConn,1,1
|
If not EntourageDKP_MoneyRs.Eof Then
|
M_OA_User_ID = EntourageDKP_MoneyRs("OA_User_ID")
|
M_OA_Name = EntourageDKP_MoneyRs("OA_Name")
|
M_OA_DepartmentID=EntourageDKP_MoneyRs("OA_DepartmentID")
|
M_Post_Name = EntourageDKP_MoneyRs("Post_Name")
|
M_Post_MoneyP = EntourageDKP_MoneyRs("Post_MoneyP")
|
M_Post_MoneyP1 = EntourageDKP_MoneyRs("Post_MoneyP1")
|
'M_Post_MoneyP1 = 0.71
|
'加权系数设定 K
|
If M_OA_DepartmentID=11 Then '医生
|
K=1000000
|
ElseIf M_OA_DepartmentID=5 Then '司机
|
K=1000000
|
ElseIf M_OA_DepartmentID=8 Then '护士
|
K=1000000
|
Else
|
K=1000000
|
End If
|
|
If ConversionDistance>K Then
|
OA_DKPMoney_Sum=(K*EntourageP1)+((ConversionDistance-K)*(ConversionDistance/K)*EntourageP1)
|
'Response.Write "("&K&"*"&M_Post_MoneyP1&")+(("&ConversionDistance&"-"&K&")*("&ConversionDistance&"/"&K&")*"&M_Post_MoneyP1&")"&"<br>"
|
Else
|
OA_DKPMoney_Sum=ConversionDistance*EntourageP1
|
End If
|
End If
|
EntourageDKP_MoneyRs.close()
|
EntourageDKP_Money_M1=FormatNumber((OA_DKPMoney_Sum+Stretcher_Money+EntourageOT_Money+Condition_Money),2,-1,,0)
|
End Function
|
'--------------------------个人月度绩效提成算法 2018-12-25开始使用---------------------end
|
|
'--------------------------条形报表日期算法---------------------begin
|
Function labelsArr_A(DateA,DateB)
|
labelsArr=""
|
DateC=DateA
|
DateDay = DateDiff("d",DateA,DateB)+1
|
'日
|
If DateDay=1 Then
|
labelsArr="'0时','','','','','','6','','','','','12','','','','','','18','','','','','','23'"
|
'周
|
ElseIf DateDay=7 Then
|
labelsArr="'"&Month(DateC)&"."&Day(DateC)&"'"
|
do while DateC<dateadd("d",-1,DateB)
|
DateD=dateadd("d",1,DateC)
|
If Month(DateD)<>Month(DateC) Then
|
labelsArr=labelsArr&",'"&Month(DateD)&"."&Day(DateD)&"'"
|
Else
|
labelsArr=labelsArr&",'"&Day(DateD)&"'"
|
End If
|
DateC=DateD
|
Loop
|
labelsArr=labelsArr&",'"&Month(DateB)&"."&Day(DateB)&"'"
|
|
'月
|
ElseIf DateDay=30 Or DateDay=31 Or DateDay=28 Or DateDay=29 Then
|
labelsArr="'"&Month(DateC)&"."&Day(DateC)&"'"
|
do while DateC<dateadd("d",-1,DateB)
|
DateD=dateadd("d",1,DateC)
|
If Month(DateD)<>Month(DateC) Then
|
labelsArr=labelsArr&",'"&Month(DateD)&"."&Day(DateD)&"'"
|
ElseIf Day(DateD)=5 Or Day(DateD)=10 Or Day(DateD)=15 Or Day(DateD)=20 Or Day(DateD)=25 then
|
labelsArr=labelsArr&",'"&Day(DateD)&"'"
|
Else
|
labelsArr=labelsArr&",''"
|
End If
|
DateC=DateD
|
Loop
|
labelsArr=labelsArr&",'"&Month(DateB)&"."&Day(DateB)&"'"
|
|
'年
|
ElseIf DateDay=366 Or DateDay=365 Then
|
labelsArr="'"&Month(DateC)&"月'"
|
i=1
|
do while DateC<dateadd("m",-1,DateB)
|
DateD=dateadd("m",1,DateC)
|
If Month(DateD)<>Month(DateC) And (i=5 Or i=11) Then
|
labelsArr=labelsArr&",'"&Month(DateD)&"月'"
|
ElseIf Month(DateD)<>Month(DateC) Then
|
labelsArr=labelsArr&",'"&Month(DateD)&"'"
|
Else
|
labelsArr=labelsArr&",''"
|
End If
|
DateC=DateD
|
i=i+1
|
Loop
|
'labelsArr=labelsArr&",'"&Month(DateB)&"."&Day(DateB)&"'"
|
|
End If
|
labelsArr_A=labelsArr
|
End Function
|
'--------------------------条形报表日期算法---------------------end
|
|
'中文转拼音首字
|
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
|
|
|
'--------------------------名传无线-短信发送---------------------begin
|
Function Get_SMS(Send_Phone,Send_Text,Send_Remarks)
|
'账号:201453
|
'密码:b9d04e62652a47f317616e122e819918
|
'地址:yun.mchuan.com
|
If Len(Send_Phone)>=11 Then
|
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&"<br>"
|
'Response.end
|
HTMLCODE= GetBody(url,Server.URLEncode(Origin))
|
If InStr(HTMLCODE,"error")>=1 Then
|
Response.Write HTMLCODE
|
Response.end
|
End If
|
%>
|
<script language="jscript" runat="server">
|
Array.prototype.get = function(i)
|
{
|
return this[i];
|
};
|
function getjson(str){
|
try{
|
eval("var jsonStr = (" + str + ")");
|
}catch(ex){
|
var jsonStr = null;
|
}
|
return jsonStr;
|
}
|
</script>
|
<%
|
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 If
|
End Function
|
'--------------------------名传无线-短信发送---------------------end
|
|
'--------------------------转运快线-订单状态发送---------------------begin
|
Function Get_TritonshAPI(UserUUID,orderStatus,ServiceOrdID,iuid,CoName,CoPhone,orderPrice)
|
'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:代人下单
|
args1=args1&"""orderSource"":""面对面二维码""," '订单来源 订单来源(代客下单,面对面二维码,推广海报)
|
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= PostBody2(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
|
'--------------------------转运快线-订单状态发送---------------------end
|
|
'Post方法2
|
Function PostBody2(appUrl,args1)
|
Set https = Server.CreateObject("Msxml2.ServerXMLHTTP")
|
|
'Set https = Server.CreateObject("MSXML2.XMLHTTP")
|
With https
|
.Open "Post", appUrl, False
|
.setRequestHeader "Content-Type","application/json"
|
.Send args1
|
PostBody2 = .ResponseBody
|
End With
|
PostBody2 = BytesToBstr(PostBody2,"utf-8")
|
Set https = Nothing
|
End Function
|
|
'--------------------------第三方平台数据更新---------------------begin
|
Function Get_UnitOrd(ServiceOrdUnitID,ServiceOrdID,ServiceOrdState,DispatchOrdState)
|
If ServiceOrdID<>"" Then
|
sysUnix=ToUnixTime(now(),+8)
|
|
' 新增获取状态写入库,供广交集团的接口使用。
|
sql = "select ServiceOrdTraTxnPrice from ServiceOrder where ServiceOrdID=" & ServiceOrdID
|
rs.open sql, objConn, 1, 1
|
|
If Not rs.Eof Then
|
ServiceOrdTraTxnPrice = rs("ServiceOrdTraTxnPrice")
|
|
If ServiceOrdState = "4" Or ServiceOrdState = "5" Then
|
msg = "无效取消"
|
ElseIf ServiceOrdTraTxnPrice > 0 And ServiceOrdState <> "4" And ServiceOrdState <> "5" Then
|
' msg = "已报价 " & ServiceOrdTraTxnPrice
|
msg = "已报价"
|
Else
|
msg = "未报价"
|
End If
|
|
If DispatchOrdState <> "" Then
|
msg = DispatchOrdStateA(DispatchOrdState)
|
End If
|
|
' 插入数据到 A_OrderStatus 表
|
sql = "INSERT INTO [came].[dbo].[A_OrderStatus] ([serviceOrdID], [msg], [updateTime], [flag]) " & _
|
"VALUES (" & ServiceOrdID & ", '" & msg & "', GETDATE(), 0)"
|
objConn.Execute sql
|
End If
|
|
rs.close()
|
|
|
If ServiceOrdUnitID="2" Then '医护通平台
|
url="http://www.emtsos.com/emtApi.do" '//定义要获取源代码的网址,一般是通过变量传递过来
|
sql="select ServiceOrdTraTxnPrice from ServiceOrder where ServiceOrdID="&ServiceOrdID
|
rs.open sql,objConn,1,1
|
If not rs.Eof Then
|
ServiceOrdTraTxnPrice=rs("ServiceOrdTraTxnPrice")
|
If ServiceOrdState="4" Or ServiceOrdState="5" Then
|
msg="无效取消"
|
ElseIf ServiceOrdTraTxnPrice>0 And ServiceOrdState<>"4" And ServiceOrdState<>"5" Then
|
msg="已报价 "&ServiceOrdTraTxnPrice
|
'msg="已报价"
|
Else
|
msg="未报价"
|
End If
|
'msg="1"
|
If DispatchOrdState<>"" Then msg=DispatchOrdStateA(DispatchOrdState)
|
Origin=""
|
Origin=Origin&"method=statusUpdate&"
|
Origin=Origin&"msg1="&msg&"&"
|
Origin=Origin&"ServiceOrdID="&ServiceOrdID&"&"
|
Origin=Origin&"UnixTime="&sysUnix&""
|
'Origin=Origin&"""sign"":"""&signA&""""
|
'Response.Write url&"?"&Origin&"<br>"
|
'Response.end
|
%>
|
<script src="/js/jquery-1.7.1.min.js" type=text/javascript></script>
|
<script type="text/javascript">
|
$.ajax({
|
type:'get',
|
url:'<%=url%>',
|
data:{"method":"statusUpdate","msg1":"<%=msg%>","ServiceOrdID":"<%=ServiceOrdID%>","UnixTime":"<%=sysUnix%>"},
|
dataType:'json',
|
cache:true
|
});
|
</script>
|
<%
|
Call OA_Running(url&"?"&Origin)
|
If InStr(ReturnURL,"SystemMessageType")<=0 Then ReturnURL=ReturnURL&"&SystemMessageType=3&SMT=3"
|
response.write ("<script language=""javascript"">setTimeout(location.href='"&ReturnURL&"',1000)</script>")
|
Response.end
|
'Call GetBody(url,Origin)
|
End If
|
rs.close()
|
Else
|
|
End If
|
End If
|
End Function
|
'--------------------------第三方平台数据更新---------------------end
|
|
'--------------------------写入通知中心_旧---------------------begin
|
Function Notification_Add_old(NC_OAID,NC_Name,NC_Content,NC_PageUrl,NC_PageUrlM)
|
If NC_Name="" Then NC_Name=now()
|
If NC_OAID<>"" And (InStr(NC_Name,"BF")>0 Or InStr(NC_Name,"SA")>0) Then '分公司通知临时注销
|
NC_OAIDSP=SPLIT(NC_OAID,",")
|
for n = 0 to UBOUND(NC_OAIDSP)
|
If InStr(NC_Name,"派单时间提醒")>0 Then
|
sql="insert into Notification (NC_OAID,NC_Name,NC_Content,NC_PageUrl,NC_PageUrlM,NC_Time) values ("&NC_OAIDSP(n)&",'"&NC_Name&"','"&NC_Content&"','"&NC_PageUrl&"','','"&NC_PageUrlM&"')"
|
Else
|
sql="insert into Notification (NC_OAID,NC_Name,NC_Content,NC_PageUrl,NC_PageUrlM) values ("&NC_OAIDSP(n)&",'"&NC_Name&"','"&NC_Content&"','"&NC_PageUrl&"','"&NC_PageUrlM&"')"
|
End If
|
objConn.Execute sql
|
next
|
End If
|
End Function
|
'--------------------------写入通知中心_旧---------------------end
|
|
'--------------------------写入通知中心_2019.8.20---------------------begin
|
Function Notification_Add(NC_OAID,NC_Name,NC_Content,NC_PageUrl,NC_PageUrlM)
|
If NC_Name="" Then NC_Name=now()
|
NC_Content=Replace(NC_Content,"单号","单")
|
NC_Content=Replace(NC_Content,":",":")
|
If NC_OAID="78" Or NC_OAID="" Then NC_OAID="0"
|
If InStr(NC_Name,"派单时间提醒")>0 Then
|
NC_Time=NC_PageUrlM
|
NC_PageUrlM=""
|
Else
|
NC_Time=now()
|
End If
|
If NC_OAID<>"0" Then '点对点发送通知
|
NC_OAIDSP=SPLIT(NC_OAID,",")
|
for n = 0 to UBOUND(NC_OAIDSP)
|
sql="insert into Notification (NC_OAID,NC_Name,NC_Content,NC_PageUrl,NC_PageUrlM,NC_Time) values ("&NC_OAIDSP(n)&",'"&NC_Name&"','"&NC_Content&"','"&NC_PageUrl&"','"&NC_PageUrlM&"','"&NC_Time&"')"
|
objConn.Execute sql
|
next
|
Else
|
If InStr(NC_Content,":")>0 Then
|
NC_OAClass=Mid(NC_Content,InStr(NC_Content,":")+1,2)
|
sql="insert into Notification (NC_OAID,NC_OAClass,NC_Name,NC_Content,NC_PageUrl,NC_PageUrlM,NC_Time) values (0,'"&NC_OAClass&"','"&NC_Name&"','"&NC_Content&"','"&NC_PageUrl&"','"&NC_PageUrlM&"','"&NC_Time&"')"
|
objConn.Execute sql
|
End If
|
End If
|
End Function
|
'--------------------------写入通知中心_2019.8.20---------------------end
|
|
'--------------------------微信OA信息下发接口---------------------begin
|
Function WeiXin_MessageSend(access_token,touser,agentid,articles)
|
access_token=GetAccess_token1()
|
appUrl="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="&access_token
|
If touser<>"" Then
|
If InStr(touser,"|")=1 Then touser=Mid(touser,2)
|
'agentid=21
|
args1="{"
|
args1=args1&"""touser"": """&touser&"""," '成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送 |liaojunliang
|
args1=args1&"""toparty"": """&toparty&"""," '部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
|
args1=args1&"""totag"": """&totag&"""," '标签ID列表,多个接收者用‘|’分隔。当touser为@all时忽略本参数
|
args1=args1&"""agentid"": "&agentid&"," '企业应用的id,整型。可在应用的设置页面查看
|
args1=args1&"""msgtype"": ""news"","
|
args1=args1&"""news"": {"
|
args1=args1&"""articles"":["&articles&"]"
|
args1=args1&"}"
|
args1=args1&"}"
|
call PostBody1(appUrl,args1)
|
'Response.Write args1&"<br>"
|
'HTMLCODE= PostBody1(appUrl,args1)
|
'Response.Write HTMLCODE
|
'Response.end
|
End If
|
End Function
|
'--------------------------微信OA信息下发接口---------------------end
|
|
'Post方法1
|
Function PostBody1(appUrl,args1)
|
Set PBrs = Server.CreateObject("ADODB.Recordset")
|
sql="select id from API_Json where DATEDIFF (ss,Json_time,GETDATE())<=30 and Json='"&args1&"'"
|
PBrs.open sql,objConn,1,1
|
If PBrs.Eof Then
|
Set https = Server.CreateObject("Msxml2.ServerXMLHTTP")
|
|
'Set https = Server.CreateObject("MSXML2.XMLHTTP")
|
With https
|
.Open "Post", appUrl, False
|
.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
|
.Send args1
|
PostBody1 = .ResponseBody
|
End With
|
PostBody1 = BytesToBstr(PostBody1,"utf-8")
|
Set https = Nothing
|
End If
|
PBrs.close()
|
End Function
|
|
'获取微信access_token
|
Function GetAccess_token1()
|
'接口信息
|
corpid="wx248505bfbab6d0c1"
|
corpsecret="2MCilqWYC0FWjOQ894sbb-s7Lb5sVH4HHuJgOsd9l1k"
|
access_tokenID=1 '对应数据库ID
|
Set rs = Server.CreateObject("ADODB.Recordset")
|
sql="select vtext,vMono from dictionary where id="&access_tokenID
|
rs.open sql,objConn,1,1
|
access_token=rs("vtext")
|
access_token_time=cdate(rs("vMono"))
|
rs.close()
|
If DateDiff("s",access_token_time,now())>0 then
|
'获取新的access_token
|
url="https://qyapi.weixin.qq.com/cgi-bin/gettoken" '//定义要获取源代码的网址,一般是通过变量传递过来
|
Origin="corpid="&corpid&"&corpsecret="&corpsecret
|
HTMLCODE= GetBody(url,Origin)
|
str="["&HTMLCODE&"]"
|
set obj = getjson(str)
|
access_token = obj.get(0).access_token
|
expires_in = obj.get(0).expires_in
|
'access_token=replace(replace(HTMLCODE,"{""access_token"":""",""),""",""expires_in"":7200}","")
|
access_token_time=DateAdd("s",500,now())
|
'写入数据库
|
sql="update dictionary set vtext='"&access_token&"',vMono='"&access_token_time&"' where id="&access_tokenID
|
objConn.Execute sql
|
End if
|
GetAccess_token1 = access_token
|
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 dwzURL(LongURL)
|
Randomize
|
Do While Len(pass)<4 '随机密码位数
|
num1=CStr(Chr((57-48)*rnd+48)) '0~9
|
num2=CStr(Chr((90-65)*rnd+65)) 'A~Z
|
num3=CStr(Chr((122-97)*rnd+97)) 'a~z
|
pass=pass&num1&num2&num3
|
Loop
|
sql="insert into dwzURL (n,URL) values ('"&pass&"','"&LongURL&"')"
|
objConn.Execute sql
|
dwzURL="wx.966120.com.cn/?n="&pass
|
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) & "<br>"
|
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 stringA & "<br>"
|
'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 CouponUse(OrdTraPriceReason,ServiceOrdID)
|
If OrdTraPriceReason<>"" Then
|
If InStr(OrdTraPriceReason,"优惠券:")>=1 Then
|
CouponNO=Mid(OrdTraPriceReason,InStr(OrdTraPriceReason,"优惠券:")+4)
|
CouponNO=Mid(CouponNO,1,InStr(CouponNO," ")-1)
|
If Len(CouponNO)>1 Then
|
'If isnumeric(CouponNO) And Len(CouponNO)=18 Then
|
'写入数据库
|
sql="update Coupon set CouponState=1,CouponRemarks='"&ServiceOrdID&"' where CouponState=0 and CouponNO='"&CouponNO&"'"
|
objConn.Execute sql
|
End If
|
End If
|
End If
|
End Function
|
'--------------------------核销优惠券---------------------end
|
|
|
'--------------------------反核销优惠券---------------------begin
|
Function CouponReverseUse(OrdTraPriceReason,ServiceOrdID)
|
If OrdTraPriceReason<>"" Then
|
If InStr(OrdTraPriceReason,"优惠券:")>=1 Then
|
CouponNO=Mid(OrdTraPriceReason,InStr(OrdTraPriceReason,"优惠券:")+4)
|
CouponNO=Mid(CouponNO,1,InStr(CouponNO," ")-1)
|
If Len(CouponNO)>1 Then
|
'If isnumeric(CouponNO) And Len(CouponNO)=18 Then
|
'写入数据库
|
sql="update Coupon set CouponState=0,CouponRemarks='' where CouponState=1 and CouponNO='"&CouponNO&"'"
|
objConn.Execute sql
|
End If
|
End If
|
End If
|
End Function
|
'--------------------------反核销优惠券---------------------end
|
|
'--------------------------用户ID注册&查询---------------------begin
|
Function User_Login(UserID,UserPhone,wxOriginalID,wxOpenid,wxUnionID,UserSource,UserName)
|
key="966120API"
|
url="https://api.966120.com.cn/user/"
|
If UserID="" Then UserID=0
|
If UserPhone<>"" Then
|
LoginType=1
|
ElseIf wxOpenid<>"" Then
|
LoginType=3
|
ElseIf UserID<>"0" Then
|
LoginType=0
|
Else
|
LoginType=-1
|
End If
|
If UserName="先生" Or UserName="小姐" Or UserName="test" Or UserName="测试" Or UserName="无" Or UserName="AA" Or Len(UserName)=11 Then
|
UserName=""
|
End If
|
If LoginType>=0 Then
|
Origin="method=User_Login"
|
Origin=Origin&"&LoginType="&LoginType
|
Origin=Origin&"&UserID="&UserID
|
Origin=Origin&"&UserPhone="&UserPhone
|
Origin=Origin&"&wxOpenid="&wxOpenid
|
Origin=Origin&"&wxOriginalID="&wxOriginalID
|
Origin=Origin&"&wxUnionID="&wxUnionID
|
Origin=Origin&"&UserName="&UserName
|
Origin=Origin&"&UnixTime="&ToUnixTime(now(),+8)
|
|
sParaSort=SignArgs(Origin)
|
Origin=Origin&"&Sign="&sParaSort
|
|
'Response.Write url&"?"&Origin&"<br>"
|
'Response.end
|
HTMLCODE= GetBody(url,Origin)
|
'Response.Write HTMLCODE&"<br>"
|
%>
|
<script language="jscript" runat="server">
|
Array.prototype.get = function(i)
|
{
|
return this[i];
|
};
|
function getjson(str){
|
try{
|
eval("var jsonStr = (" + str + ")");
|
}catch(ex){
|
var jsonStr = null;
|
}
|
return jsonStr;
|
}
|
</script>
|
<%
|
str=HTMLCODE
|
'str=right(str,len(str)-instr(str,"[")+1)
|
'str=left(str,InstrRev(str,"]"))
|
set obj = getjson(str)
|
|
If obj.result=1 Then
|
UserID = obj.UserID
|
End If
|
End If
|
End Function
|
'--------------------------用户ID注册&查询---------------------end
|
|
'--------------------------发票状态查询---------------------begin
|
Function AuditStatus_A(AuditStatus)
|
if AuditStatus<>"" Then
|
Set adminrs = Server.CreateObject("ADODB.Recordset")
|
sql="select vID,vtext from dictionary where vType>=1 and vtitle='AuditStatus' and vID="&AuditStatus&" order by vOrder"
|
adminrs.open sql,objConn,1,1
|
if not adminrs.Eof Then
|
AuditStatus_A=adminrs("vtext")
|
end if
|
adminrs.close()
|
Else
|
AuditStatus_A = "--"
|
end if
|
End Function
|
'--------------------------发票状态查询---------------------end
|
|
|
'--------------------------发票类型查询---------------------begin
|
Function InvoiceType_A(InvoiceType)
|
if InvoiceType="1" Then
|
InvoiceType_A = "不开发票"
|
Elseif InvoiceType="2" Then
|
InvoiceType_A = "电子发票"
|
Elseif InvoiceType="3" Then
|
InvoiceType_A = "增值税普票"
|
Elseif InvoiceType="4" Then
|
InvoiceType_A = "增值税专票"
|
Else
|
InvoiceType_A = "--"
|
end if
|
End Function
|
'--------------------------发票类型查询---------------------end
|
|
'--------------------------支付方式查询---------------------begin
|
Function PaidMoneyType_A(PaidMoneyTypeID)
|
if PaidMoneyTypeID<>"" Then
|
Set PaidMoneyTypers = Server.CreateObject("ADODB.Recordset")
|
sql="select vID,vtext from dictionary where vType>=1 and vtitle='PaidMoneyType' and vID="&PaidMoneyTypeID&" order by vOrder"
|
PaidMoneyTypers.open sql,objConn,1,1
|
if not PaidMoneyTypers.Eof Then
|
PaidMoneyType_A=PaidMoneyTypers("vtext")
|
end if
|
PaidMoneyTypers.close()
|
Else
|
PaidMoneyType_A = "--"
|
end if
|
End Function
|
'--------------------------支付方式查询---------------------end
|
|
'--------------------------员工组别查询---------------------begin
|
Function EmployeeGroup_A(EmployeeGroupID)
|
if EmployeeGroupID<>"" Then
|
Set EmployeeGrouprs = Server.CreateObject("ADODB.Recordset")
|
sql="select vID,vtext from dictionary where vType>=1 and vtitle='EmployeeGroup' and vID="&EmployeeGroupID&" order by vOrder"
|
EmployeeGrouprs.open sql,objConn,1,1
|
if not EmployeeGrouprs.Eof Then
|
EmployeeGroup_A=EmployeeGrouprs("vtext")
|
end if
|
EmployeeGrouprs.close()
|
Else
|
EmployeeGroup_A = "--"
|
end if
|
End Function
|
'--------------------------员工组别查询---------------------end
|
|
|
|
'--------------------------日期转日期---------------------begin
|
Function Weekday_A(MyDate)
|
n = Weekday(MyDate)
|
select case n
|
case "1" response.write "星期天"
|
case "2" response.write "星期一"
|
case "3" response.write "星期二"
|
case "4" response.write "星期三"
|
case "5" response.write "星期四"
|
case "6" response.write "星期五"
|
case "7" response.write "星期六"
|
end select
|
End Function
|
'--------------------------日期转日期---------------------end
|
|
'--------------------------近6个月日期转换---------------------begin
|
Function DateName_A(DateName)
|
select case DateName
|
case "本月" DateName_A=Right(Year(dateadd("m",0,date())),2) &"年"& Month(dateadd("m",0,date())) &"月"
|
case "上月" DateName_A=Right(Year(dateadd("m",-1,date())),2) &"年"&Month(dateadd("m",-1,date())) &"月"
|
case "上三月" DateName_A=Right(Year(dateadd("m",-2,date())),2) &"年"&Month(dateadd("m",-2,date())) &"月"
|
case "上四月" DateName_A=Right(Year(dateadd("m",-3,date())),2) &"年"&Month(dateadd("m",-3,date())) &"月"
|
case "上五月" DateName_A=Right(Year(dateadd("m",-4,date())),2) &"年"&Month(dateadd("m",-4,date())) &"月"
|
case "上六月" DateName_A=Right(Year(dateadd("m",-5,date())),2) &"年"&Month(dateadd("m",-5,date())) &"月"
|
end select
|
End Function
|
'--------------------------近6个月日期转换---------------------end
|
|
'金额去掉小数点
|
function MoneyCheck(v,t)
|
If InStr(CStr(v),".")>0 Then
|
If t=1 then
|
MoneyCheck=FormatCurrency(v,2,-1)
|
Else
|
MoneyCheck=FormatNumber(Round(v,2),2,True)
|
End If
|
Else
|
If t=1 then
|
MoneyCheck=FormatCurrency(v,0,-1)
|
Else
|
MoneyCheck=Round(v,2)
|
End If
|
End If
|
end function
|
%>
|