【调度系统】广东民航医疗快线调度系统源代码
hzj
2025-08-14 1ce68427c1d414c39261a26bca710fbf4fd9a6e5
feat:新增旧单据编号搜索单据和修改福祉车价格计算
1个文件已添加
5个文件已修改
65 ■■■■ 已修改文件
API/v3/OrderPrice.gds 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
OrdSearch.gds 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServiceOrder.gds 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServiceOrder_List.gds 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin_save.gds 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
camepay @ 9b8a71 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
API/v3/OrderPrice.gds
@@ -287,19 +287,19 @@
        If IRid<>0 Then
            '手动报价
            If InStr(Address,"白云机场")>0 Or InStr(Address,"白云国际机场")>0 Then
                IRPrice=489
                IRPrice=298
                IRlimit1=5
                IRDtPrice=6    
            ElseIf InStr(Address,"广州南站")>0 Then
                IRPrice=389
                IRPrice=298
                IRlimit1=5
                IRDtPrice=6
            ElseIf InStr(Address,"广州白云站")>0 Then
                IRPrice=389
                IRPrice=298
                IRlimit1=5
                IRDtPrice=6
            ElseIf InStr(Address,"广州东站")>0 Then
                IRPrice=359
                IRPrice=298
                IRlimit1=5
                IRDtPrice=6
            'ElseIf StartArea="白云区" Then
@@ -307,15 +307,15 @@
            '    IRlimit1=5
            '    IRDtPrice=6
            elseIf StartArea="越秀区" Or StartArea="荔湾区" Or StartArea="海珠区" Or StartArea="天河区"  Or StartArea="黄埔区"  Or StartArea="白云区" Then
                IRPrice=169
                IRPrice=99
                IRlimit1=5
                IRDtPrice=6
            elseif StartArea="番禺区" Then
                IRPrice=219
                IRPrice=99
                IRlimit1=5
                IRDtPrice=6
            ElseIf StartArea="花都区" Then
                IRPrice=169
                IRPrice=99
                IRlimit1=5
                IRDtPrice=6
            ElseIf StartArea="增城区" And  Isluxury="0" Then
@@ -338,7 +338,7 @@
                IRDtPrice=6
                IsOrdinary="1"
            ElseIf StartArea="南沙区" And Isluxury="1" Then
                IRPrice=359
                IRPrice=99
                IRlimit1=5
                IRDtPrice=6
                IsOrdinary="1"
@@ -390,7 +390,7 @@
                OrderPriceFRM = OrderPriceFRM & "+"&WaitingInt&"*"&IRWaitingCost
                OrderPriceTXT = OrderPriceTXT&"等待费用:"&WaitingInt*IRWaitingCost&"元\n"
            End If
            If ServiceOrdApptDate<>"" Then    '非工作时间服务费用20250624,周一~周五晚上22点后至早上7点整前为1.3倍
            If ServiceOrdApptDate<>"" Then    '非工作时间服务费用20250812,周一~周五晚上21点30分后至早上7点整前为1.3倍
                sql="select SpecialRatio from SpecialDates where SpecialDates='"&formatdatetime(ServiceOrdApptDate,2)&"'"
                rs.open sql,objConn,1,1
                if not rs.Eof Then
@@ -398,7 +398,7 @@
                    OrderPriceFRM = OrderPriceFRM & OrderPrice*(SpecialRatio-1)
                    OrderPriceTXT = OrderPriceTXT&"节假日时间服务费用:"&OrderPrice*(SpecialRatio-1)&"元\n"
                    OrderPrice=OrderPrice*SpecialRatio
                ElseIf (hour(ServiceOrdApptDate)>=22 Or hour(ServiceOrdApptDate)<7)  Then
                ElseIf (hour(ServiceOrdApptDate)>=21 And minute(ServiceOrdApptDate)>=30) Or hour(ServiceOrdApptDate)<7  Then
                    OrderPriceFRM = OrderPriceFRM & OrderPrice*0.3
                    OrderPriceTXT = OrderPriceTXT&"非工作时间服务费用:"&OrderPrice*0.3&"元\n"
                    OrderPrice=OrderPrice*1.3
OrdSearch.gds
@@ -45,6 +45,25 @@
        searchSql=" CONVERT(VARCHAR(10),ServiceOrd_CC_Time,120)=CONVERT(VARCHAR(10),'"&Year(now())&"-"&Mid(searchTXT,1,2)&"-"&Mid(searchTXT,3,2)&"',120) and Right('00'+convert(varchar(3),ServiceOrdNo),3)='"&Right(searchTXT,3)&"' "
    ElseIf OrdSearchType="1" And Len(searchTXT)=5 And IsNumeric(searchTXT) Then
        searchSql=" CONVERT(VARCHAR(10),ServiceOrd_CC_Time,120)=CONVERT(VARCHAR(10),'"&Year(now())&"-"&Right("0"&Month(now()),2)&"-"&Mid(searchTXT,1,2)&"',120) and Right('00'+convert(varchar(3),ServiceOrdNo),3)='"&Right(searchTXT,3)&"' "
    ElseIf Len(searchTXT)=14 And Mid(searchTXT,11,1)="-" Then
    searchSql=" Old_ServiceOrdID_TXT='"&searchTXT&"' "
    ' 如果通过Old_ServiceOrdID_TXT找到记录,则使用ServiceOrdID重新搜索
    Set rsOld = Server.CreateObject("ADODB.Recordset")
    rsOld.Open "select top 1 ServiceOrdID from ServiceOrder where " & searchSql, objConn, 1, 1
    If Not rsOld.EOF Then
      Dim foundServiceOrdID
      foundServiceOrdID = rsOld("ServiceOrdID")
      rsOld.Close
      Set rsOld = Nothing
      ' 使用找到的ServiceOrdID重新搜索
      Response.Redirect "/ServiceOrder_List.gds?h_menu1_1=1&UnitNameID=0&OrdClassList=0&searchTXT="&foundServiceOrdID
      Response.End()
    Else
      rsOld.Close
      Set rsOld = Nothing
      ' 原有14位编号拆分逻辑
      searchSql=" ServiceOrdClass='"&Left(searchTXT,2)&"' and CONVERT(VARCHAR(10),ServiceOrd_CC_Time,120)=CONVERT(VARCHAR(10),'"&Mid(searchTXT,3,4)&"-"&Mid(searchTXT,7,2)&"-"&Mid(searchTXT,9,2)&"',120) and Right('00'+convert(varchar(3),ServiceOrdNo),3)='"&Right(searchTXT,3)&"' "
    End If
    ElseIf Len(searchTXT)=14 And Not IsNumeric(Left(searchTXT,2)) And IsNumeric(Mid(searchTXT,3,8)) And IsNumeric(Right(searchTXT,3)) And Mid(searchTXT,11,1)="-" Then
        searchSql=" ServiceOrdClass='"&Left(searchTXT,2)&"' and CONVERT(VARCHAR(10),ServiceOrd_CC_Time,120)=CONVERT(VARCHAR(10),'"&Mid(searchTXT,3,4)&"-"&Mid(searchTXT,7,2)&"-"&Mid(searchTXT,9,2)&"',120) and Right('00'+convert(varchar(3),ServiceOrdNo),3)='"&Right(searchTXT,3)&"' "
    ElseIf Len(searchTXT)=10 And IsNumeric(searchTXT) Then
ServiceOrder.gds
@@ -125,6 +125,7 @@
        OrderLevel            = rs("OrderLevel")                '查看等级
        ServiceOrd_AP_Check    = rs("ServiceOrd_AP_Check")
        IsLocking            = rs("IsLocking")            '财务锁定
        Old_ServiceOrdID_TXT = rs("Old_ServiceOrdID_TXT") '原始单据编号
        ServiceOrdNo            = ServiceOrdClass& year(rs("ServiceOrd_CC_Time"))&Right("0"&month(rs("ServiceOrd_CC_Time")),2)&Right("0"&day(rs("ServiceOrd_CC_Time")),2) & "-"&Right("00"&rs("ServiceOrdNo"),3)
        If InStr(session("admin_OrderClass"),ServiceOrdClass)>0 Or isDepartment("070109")=1 Then 
            Call OA_Running("打开服务单:"&ServiceOrdNo&" ID:"&ServiceOrdID)
@@ -1529,6 +1530,20 @@
                                <input name="ServiceOrd_work_ID" type="hidden" value="<%=ServiceOrd_work_ID%>">
                                <input name="ServiceOrd_work_IDs" type="hidden" value="<%=ServiceOrd_work_IDs%>">
                            <%End If%>
                            <div class="field">
                                <div class="label" style="float: left;margin-left: 0px;">
                                <label for="input-small">原始单据编号:</label></div>
<div class="input" style="float:left;margin-left: 84px;">
    <input type="text" id="Old_ServiceOrdID_TXT" name="Old_ServiceOrdID_TXT"
    class="small <% If ServiceOrdState=4 Then %>error<% Else %>valid<% End If %>"
    style="width: 98px;"
    value="<% If Old_ServiceOrdID_TXT <> "" Then %>
            <%=Server.HTMLEncode(Old_ServiceOrdID_TXT)%>
          <% Else %>
            [未关联]
          <% End If %>">
                                </div>
                                </div>
                            
                <%If OrderLevel<>1 Or isDepartment("020111")=1 Then%>
                        <!-- 服务单数据 -->
ServiceOrder_List.gds
@@ -759,6 +759,8 @@
                searchSql=" CONVERT(VARCHAR(10),ServiceOrd_CC_Time,120)=CONVERT(VARCHAR(10),'"&Year(now())&"-"&Right("0"&Month(now()),2)&"-"&Mid(searchTXT,1,2)&"',120) and Right('00'+convert(varchar(3),ServiceOrdNo),3)='"&Right(searchTXT,3)&"' "
              ElseIf Len(searchTXT)=14 And Not IsNumeric(Left(searchTXT,2)) And IsNumeric(Mid(searchTXT,3,8)) And IsNumeric(Right(searchTXT,3)) And Mid(searchTXT,11,1)="-" Then
                searchSql=" ServiceOrdClass='"&Left(searchTXT,2)&"' and CONVERT(VARCHAR(10),ServiceOrd_CC_Time,120)=CONVERT(VARCHAR(10),'"&Mid(searchTXT,3,4)&"-"&Mid(searchTXT,7,2)&"-"&Mid(searchTXT,9,2)&"',120) and Right('00'+convert(varchar(3),ServiceOrdNo),3)='"&Right(searchTXT,3)&"' "
              ElseIf Len(searchTXT)=14 And Mid(searchTXT,11,1)="-" Then
    searchSql=" Old_ServiceOrdID_TXT='"&searchTXT&"' "
              ElseIf Len(searchTXT)=10 And IsNumeric(searchTXT) Then
                searchSql=" ServiceOrdID="&Right(searchTXT,10)&" "
              ElseIf Mid(searchTXT,1,4)="out|" Then    ' and DispatchOrdState in (8)
@@ -872,7 +874,7 @@
            '组成计算总页数SQL
            total_sql = "select ServiceOrdID "&sqlWhere
            '组成显示结果SQL
            Result_sql = "select ServiceOrdID,ServiceOrdNo,ServiceOrdClass,ServiceOrdAreaType,ServiceOrdType,ServiceOrdState,ServiceOrdStartDate,ServiceOrdApptDate,ServiceOrdCoName,ServiceOrdCoPhone,ServiceOrdPtAge,ServiceOrdPtSex,ServiceOrdTraProvince,ServiceOrdTraCity,ServiceOrdTraStreet,ServiceOrdTraEnd,ServiceOrdTraVia,ServiceOrdTraDistance,ServiceOrdTraSDTime,ServiceOrdTraTxnPrice,ServiceOrd_CC_ID,ServiceOrd_CC_Time,ServiceOrd_NS_ID,ServiceOrd_NS_Time,ServiceOrd_AP_Check,ServiceOrd_AP_ID,ServiceOrd_AP_Time,ServiceOrdVIP,ServiceOrdUnitID,ServiceOrdUnitRemarks,ServiceOrdIntroducer,ServiceOrdOperationRemarks,ServiceOrdPtOutHospID,ServiceOrdPtOutHosp,ServiceOrdPtInHospID,ServiceOrdPtInHosp,ServiceOrdCancelReasonTXT,ServiceOrdCancelReason,FromHQ_is,ServiceOrd_Sale_ID,ServiceOrdPoints,row_number() over (order by ServiceOrdID desc) n  "&sqlWhere
            Result_sql = "select ServiceOrdID,ServiceOrdNo,ServiceOrdClass,ServiceOrdAreaType,ServiceOrdType,ServiceOrdState,ServiceOrdStartDate,ServiceOrdApptDate,ServiceOrdCoName,ServiceOrdCoPhone,ServiceOrdPtAge,ServiceOrdPtSex,ServiceOrdTraProvince,ServiceOrdTraCity,ServiceOrdTraStreet,ServiceOrdTraEnd,ServiceOrdTraVia,ServiceOrdTraDistance,ServiceOrdTraSDTime,ServiceOrdTraTxnPrice,ServiceOrd_CC_ID,ServiceOrd_CC_Time,ServiceOrd_NS_ID,ServiceOrd_NS_Time,ServiceOrd_AP_Check,ServiceOrd_AP_ID,ServiceOrd_AP_Time,ServiceOrdVIP,ServiceOrdUnitID,ServiceOrdUnitRemarks,ServiceOrdIntroducer,ServiceOrdOperationRemarks,ServiceOrdPtOutHospID,ServiceOrdPtOutHosp,ServiceOrdPtInHospID,ServiceOrdPtInHosp,ServiceOrdCancelReasonTXT,ServiceOrdCancelReason,FromHQ_is,ServiceOrd_Sale_ID,ServiceOrdPoints,Old_ServiceOrdID_TXT,row_number() over (order by ServiceOrdID desc) n  "&sqlWhere
            '附加结果SQL
            Additional_sql = ",StretcherMoney=isnull((select sum(StretcherMoney) from DispatchOrd where ServiceOrdIDDt=ServiceOrdID),0),ContractMode_is=isnull((select COUNT(id) from ServiceOrd_TransferMode where ServiceOrdTMID=ServiceOrdID and TransferModeID=7),0),UserPointsCost=isnull((select sum(Points_Score) from UserPoints where Points_State<>4 and Points_Type=1 and ServiceOrdIDDt=ServiceOrdID),0)"
@@ -989,6 +991,7 @@
              ServiceOrdCancelReason= rs("ServiceOrdCancelReason")
              FromHQ_is                = rs("FromHQ_is")                '是否有转内部转发
              ContractMode_is        = rs("ContractMode_is")            '是否承包组任务
              Old_ServiceOrdID_TXT    = rs("Old_ServiceOrdID_TXT")    '旧服务单号
              If isDepartment("010401")=0 Then
                ServiceOrdNo            = ServiceOrdClass& year(rs("ServiceOrd_CC_Time"))&Right("0"&month(rs("ServiceOrd_CC_Time")),2)&Right("0"&day(rs("ServiceOrd_CC_Time")),2) & "-"&Right("00"&rs("ServiceOrdNo"),3)
              Else
admin_save.gds
@@ -1053,6 +1053,11 @@
SaveOpenerCommission ServiceOrdID
SaveFollowers ServiceOrdID
' 新增条件更新语句
sql = "UPDATE ServiceOrder SET Old_ServiceOrdID_TXT = '" & Replace(ServiceOrdNo, "'", "''") & "' " & _
      "WHERE ServiceOrdID = " & ServiceOrdID & " AND (Old_ServiceOrdID_TXT IS NULL OR Old_ServiceOrdID_TXT = '[未关联]')"
objConn.Execute sql
'咨询单转为服务单('自动审核)
If ServiceOrdState="2" then
    sql="update ServiceOrder set ServiceOrd_NS_ID="&session("adminID")&",ServiceOrd_NS_Time=getdate(),ServiceOrd_AP_Check=1,ServiceOrd_AP_Time=getdate(),ServiceOrd_AP_ID="&session("adminID")&" where ServiceOrdID="&ServiceOrdID
camepay
New file
@@ -0,0 +1 @@
Subproject commit 9b8a7157bb9c401de973a4107f74ff3e723ec156