【调度系统】广东民航医疗快线调度系统源代码
hzj
2025-08-14 1ce68427c1d414c39261a26bca710fbf4fd9a6e5
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