基本信息
源码名称:vb 上传数据库存实列
源码大小:0.82M
文件格式:.zip
开发语言:ASP
更新时间:2018-12-11
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
Imports System.IO
Imports System.Data.SqlClient
Imports System.Text
Public Class UpDataToServer
''' <summary>
''' 文件说明:
''' 本模块功能实现数据自动上传到服务器上的数据库中,安装电脑为服务器
''' 上传文件夹均自动生成,前提条件:临时文件夹,上传文件夹,备份文件
''' 夹中各站别的文件名称必须保持一致。
''' 杨垒 2010-12-20
''' </summary>
''' <remarks></remarks>
#Region "Private Field"
Private DbMes As New YLeeFramework.ylDbSql("192.168.0.237", "LightMasterMes", "sa", "lm2011")
Private DbNbosa As New YLeeFramework.ylDbSql("192.168.0.237", "NBOSA", "sa", "lm2011")
Private DeviceName As String = "E:"
Private UpFilePath As String = DeviceName & "\ProductFile\UpLoad\"
Private BackupFilePath As String = DeviceName & "\ProductFile\BackupFile\"
Private TempFilePath As String = DeviceName & "\ProductFile\TempFile\"
Private ErrorFilePath As String = DeviceName & "\ProductFile\ErrorFile\"
Private StartTime As DateTime
Private UpFileTime As DateTime
Private UpdateBatchSize As Integer = 20000
Private Const FileNameLength = 65
#End Region
#Region "Excute Exception"
Private Overloads Sub ExcuteException(ByVal Exc As Exception)
Dim ErrMsg As String = "错误信息:" & Exc.Message & "---" & Exc.ToString & "---" & Exc.Source.ToString
Dim ComputerName As String = My.Computer.Name
Dim ErrRaiseTime As String = Now.ToString
'Dim SqlInsert As String = "Insert Into Ex_UpFileErrMsg (ComputerName,ErrorMsg,ErrRaiseTime) Values ('" & ComputerName & "','" & ErrMsg & "','" & ErrRaiseTime & "')"
'DbMes.ExecuteNonQuery(SqlInsert)
End Sub
Private Overloads Sub ExcuteException(ByVal DicAnalogFileCount As Dictionary(Of String, Integer))
Dim ComputerName As String = My.Computer.Name
Dim UpFileTime As String = Now.ToString
Dim UpFileSign As String = "数据上传"
For Each StationNameKey As String In DicAnalogFileCount.Keys
If DicAnalogFileCount(StationNameKey) > 0 Then
'Dim SqlInsert As String = "Insert Into Ex_UpFileOverMsg (StationName,ComputerName,UpCount,UpTime,UpSign) Values ('" & StationNameKey & "','" & ComputerName & "','" & DicAnalogFileCount(StationNameKey) & "','" & UpFileTime & "','" & UpFileSign & "')"
'DbMes.ExecuteNonQuery(SqlInsert)
End If
Next
End Sub
Private Overloads Sub ExcuteException(ByVal ErrorMsg As String)
Dim ComputerName As String = My.Computer.Name
Dim ErrRaiseTime As String = Now.ToString
'Dim SqlInsert As String = "Insert Into Ex_UpFileErrMsg (ComputerName,ErrorMsg,ErrRaiseTime) Values ('" & ComputerName & "','" & ErrorMsg & "','" & ErrRaiseTime & "')"
'DbMes.ExecuteNonQuery(SqlInsert)
End Sub
#End Region
#Region "Service Event"
Protected Overrides Sub OnStart(ByVal args() As String)
' Add code here to start your service. This method should set things
' in motion so your service can do its work.
StartTime = My.Computer.Clock.LocalTime
Try
If Me.TimerUpData Is Nothing Then
Me.TimerUpData = New System.Timers.Timer
End If
Me.TimerUpData.Interval = 1000
Me.TimerUpData.Enabled = True
Catch ex As Exception
Me.ExcuteException(ex)
End Try
End Sub
Protected Overrides Sub OnStop()
' Add code here to perform any tear-down necessary to stop your service.
Try
If Me.TimerUpData IsNot Nothing Then
Me.TimerUpData.Enabled = False
End If
Catch ex As Exception
Me.ExcuteException(ex)
End Try
End Sub
Private Sub TimerUpData_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles TimerUpData.Elapsed
Me.UpFileTime = My.Computer.Clock.LocalTime
Dim DuraUpFile As Integer = DateDiff(DateInterval.Second, Me.StartTime, Me.UpFileTime)
If DuraUpFile >= 300 Then
Me.StartTime = My.Computer.Clock.LocalTime
Me.TimerUpData.Stop()
Me.UpLocalDataToServer()
Me.TimerUpData.Start()
End If
End Sub
#End Region
#Region "Up Data To Server"
#Region "Base File Excute"
Private Sub ValidateIsDirectoryExists(ByVal FilePath As String)
If My.Computer.FileSystem.DirectoryExists(FilePath) = False Then
My.Computer.FileSystem.CreateDirectory(FilePath)
End If
End Sub
'处理每行中的每个字段,若不符合给进行处理
Private Function ExcuteFields(ByVal FileLine As String, ByVal FieldsLength() As Integer, ByVal StationName As String) As String()
Try
Dim Fields() As String = FileLine.Trim.Split(",")
For Index As Integer = 0 To FieldsLength.Length - 1
If String.IsNullOrEmpty(Fields(Index)) = True Then
Fields(Index) = "NULL"
Me.CreateErrorLineFile(FileLine, StationName)
Else
Fields(Index) = Fields(Index).Trim.ToUpper
End If
If Fields(Index).Length > FieldsLength(Index) Then
Fields(Index) = Fields(Index).Substring(0, FieldsLength(Index))
'Me.CreateErrorLineFile(FileLine, StationName)
End If
Next
Return Fields
Catch ex As Exception
Me.ExcuteException(ex)
Return Nothing
End Try
End Function
'出现错误的行给提取出来并生成一个文件
Private Sub CreateErrorLineFile(ByVal ErrorLine As String, ByVal StationName As String)
Try
Dim BaseFilePath As String = "E:\ProductFile\ErrorFile\"
If My.Computer.FileSystem.DirectoryExists(BaseFilePath) = False Then
My.Computer.FileSystem.CreateDirectory(BaseFilePath)
End If
Dim FilePath As String = BaseFilePath & StationName & "\"
If My.Computer.FileSystem.FileExists(FilePath) = False Then
My.Computer.FileSystem.CreateDirectory(FilePath)
End If
Dim FileName As String = FilePath & StationName & "-" & Now.ToShortDateString & ".txt"
Using SR As StreamWriter = File.AppendText(FileName)
SR.WriteLine(ErrorLine)
SR.Flush()
End Using
Catch ex As Exception
Me.ExcuteException(ex)
End Try
End Sub
Private Function GetStationName(ByVal DirectionFilePath As String) As String
Try
Dim Pos As Integer = DirectionFilePath.LastIndexOf("\")
Dim StationName As String = DirectionFilePath.Substring(Pos 1, DirectionFilePath.Length - Pos - 1)
Return StationName
Catch ex As Exception
Me.ExcuteException(ex)
Return "NULL"
End Try
End Function
Private Function GetFileList(ByVal DirectoryName As String) As List(Of String)
Dim FileList As New List(Of String)
Try
For Each FileName As String In My.Computer.FileSystem.GetFiles(DirectoryName & "\")
FileList.Add(FileName)
Next
Return FileList
Catch ex As Exception
Me.ExcuteException(ex)
Return Nothing
End Try
End Function
Private Sub DeleteFile(ByVal FileList As List(Of String))
Try
For Each FileName As String In FileList
If My.Computer.FileSystem.FileExists(FileName) Then
My.Computer.FileSystem.DeleteFile(FileName)
End If
Next
Catch ex As Exception
Me.ExcuteException(ex)
End Try
End Sub
#End Region
#Region "Up Each Station File"
Private Sub MoveErrorFile(ByVal SourceFileName As String, ByVal StationName As String)
Try
Dim ErrPath As String = ErrorFilePath & StationName & "\"
If My.Computer.FileSystem.DirectoryExists(ErrPath) = False Then
My.Computer.FileSystem.CreateDirectory(ErrPath)
End If
Dim FileName As String = My.Computer.FileSystem.GetName(SourceFileName)
My.Computer.FileSystem.MoveFile(FileName, ErrPath & FileName, True)
Catch ex As Exception
Me.ExcuteException(ex)
End Try
End Sub
Private Sub BulkUpdataToServer(ByVal ListFile As List(Of String), ByVal Conn As SqlConnection, ByVal Ds As DataSet, ByVal DesTableName As String, ByVal UpdateRowsCount As Integer)
Try
Conn.Open()
Using Bulk As SqlBulkCopy = New SqlBulkCopy(Conn)
Bulk.BatchSize = Me.UpdateBatchSize
Bulk.DestinationTableName = DesTableName
Bulk.BulkCopyTimeout = 600
Bulk.WriteToServer(Ds.Tables(DesTableName))
End Using
Conn.Close()
Conn.Dispose()
Me.DeleteFile(ListFile)
Catch ex As Exception
Me.ExcuteException(ex)
End Try
End Sub
Private Function UpdateFile_Apd(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim UpdateRows As Integer = 0
Dim FieldsLength() As Integer = New Integer() {"15", "15", "15", "25", "25", "15", "15", "25", "15", "15", "15", "15", "25", "25", "25", "15", "8"}
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
If Fields.Length = 17 Then
UpdateRows = 1
Fields(5) = StrConv(Fields(5), VbStrConv.Narrow)
If Fields(0).Trim.Length > 7 Then
Dim SqlInsert As String = "Insert Into APD(SN,ProductType,ProductStaion,ProductDate,ProductLot,WorkerID,OrderID,BadReason,Vbr,Iop,Icc,RL,StartTime,EndTime,Duration,ProductOrderID,Result) values ('" & Fields(0).Trim & "','" & Fields(1).Trim & "', " & _
"'" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "','" & Fields(5).Trim & "','" & Fields(6).Trim & "'," & _
"'" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "','" & Fields(10).Trim & "','" & Fields(11).Trim & "'," & _
"'" & Fields(12).Trim & "','" & Fields(13).Trim & "','" & Fields(14).Trim & "','" & Fields(15).Trim & "','" & Fields(16).Trim & "')"
DbNbosa.ExecuteNonQuery(SqlInsert)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.DeleteFile(ListFile)
Return UpdateRows
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_PT(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim UpdateRows As Integer = 0
Dim FieldsLength() As Integer = New Integer() {"15", "15", "15", "25", "25", "15", "15", "25", "15", "15", "15", "15", "15", "15"}
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
Dim FieldList As List(Of String) = Fields.ToList()
If Fields.Length = 12 Then
FieldList.Add("NULL")
FieldList.Add("NULL")
ElseIf Fields.Length = 13 Then
FieldList.Add("NULL")
End If
Fields = FieldList.ToArray()
If Fields.Length = 14 Then
UpdateRows = 1
If Fields(0).Trim.Length > 7 Then
Dim SqlInsert As String = "Insert Into PT_Align(SN,ProductType,ProductStation,ProductDate,ProductLot,WorkerID,DepartmentID,FlowCardID,Icc,Iop,ComputerName,Result,Field1,Field2) values ('" & Fields(0).Trim & "','" & Fields(1).Trim & "', " & _
"'" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "','" & Fields(5).Trim & "','" & Fields(6).Trim & "'," & _
"'" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "','" & Fields(10).Trim & "','" & Fields(11).Trim & "','" & Fields(12).Trim & "','" & Fields(13).Trim & "')"
DbNbosa.ExecuteNonQuery(SqlInsert)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.DeleteFile(ListFile)
Return UpdateRows
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_IMD2(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim UpdateRows As Integer = 0
Dim FieldsLength() As Integer = New Integer() {"15", "6", "20", "8", "15", "25", "25", "25", "15"}
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
UpdateRows = 1
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
If Fields.Length = 9 Then
If Fields(0).Trim.Length > 5 Then
Dim SqlInsert As String = "Insert Into IMD2_Test(SN,Result,ProductType,WorkerID,IMD2,ProductDate,ComputerName,DepartmentName) values ('" & Fields(0).Trim & "','" & Fields(1).Trim & "', " & _
"'" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "','" & Fields(5).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "')"
DbNbosa.ExecuteNonQuery(SqlInsert)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.DeleteFile(ListFile)
Return UpdateRows
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_IMD3(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim UpdateRows As Integer = 0
Dim FieldsLength() As Integer = New Integer() {"15", "6", "20", "8", "15", "25", "25", "25", "15"}
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
UpdateRows = 1
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
If Fields.Length = 9 Then
If Fields(0).Trim.Length > 5 Then
Dim SqlInsert As String = "Insert Into IMD3_Test(SN,Result,ProductType,WorkerID,IMD3,ProductDate,ComputerName,DepartmentName) values ('" & Fields(0).Trim & "','" & Fields(1).Trim & "', " & _
"'" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "','" & Fields(5).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "')"
DbNbosa.ExecuteNonQuery(SqlInsert)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.DeleteFile(ListFile)
Return UpdateRows
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_PdAlign(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim UpdateRows As Integer = 0
Dim FieldsLength() As Integer = New Integer() {"15", "20", "25", "25", "25", "8", "8", "15", "15", "15", "8", "15", "15"}
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
UpdateRows = 1
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
If Fields.Length = 13 Then
If Fields(0).Trim.Length > 5 Then
Dim SqlInsert As String = "Insert Into PD_Align(SN,ProductType,ProductStation,ProductLot,ProductDate,WorkerID,OrderID,BadReason,Res,RL,Result,Idark) values " & _
" ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & My.Computer.Clock.LocalTime & "'," & _
"'" & Fields(5).Trim & "','" & Fields(6).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "'," & _
"'" & Fields(10).Trim & "','" & Fields(11).Trim & "')"
DbNbosa.ExecuteNonQuery(SqlInsert)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.DeleteFile(ListFile)
Return UpdateRows
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_PdTest(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim UpdateRows As Integer = 0
Dim FieldsLength() As Integer = New Integer() {"15", "20", "25", "25", "25", "8", "8", "15", "15", "15", "15", "8", "25"}
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
UpdateRows = 1
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
If Fields.Length = 13 Then
If Fields(0).Trim.Length > 5 Then
Dim SqlInsert As String = "Insert Into PD_Align_Test( SN,ProductType,ProductStation,ProductLot,ProductDate,WorkerID,OrderID,BadReason,Res,RL,Idark,Result) values " & _
" ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & Fields(12).Trim & "','" & My.Computer.Clock.LocalTime & "'," & _
"'" & Fields(5).Trim & "','" & Fields(6).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "'," & _
"'" & Fields(10).Trim & "','" & Fields(11).Trim & "')"
DbNbosa.ExecuteNonQuery(SqlInsert)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.DeleteFile(ListFile)
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_RosaPdTest(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim UpdateRows As Integer = 0
Dim FieldsLength() As Integer = New Integer() {"15", "20", "25", "25", "25", "8", "15", "15", "15", "15", "15", "15", "15", "15", "8"}
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
UpdateRows = 1
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
If Fields.Length = 15 Then
If Fields(0).Trim.Length > 5 Then
Dim SqlInsert As String = "Insert Into PD_Align_Rosa_Test(SN, ProductType, ProductStation, ProductLot, ProductDate, WorkerID, BadReason, Res_1310, RL_1310, Power_1310, Res_1550, RL_1550, Power_1550,Idark, Result) values" & _
" ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "'," & _
"'" & Fields(5).Trim & "','" & Fields(6).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "'," & _
"'" & Fields(10).Trim & "','" & Fields(11).Trim & "','" & Fields(12).Trim & "','" & Fields(13).Trim & "','" & Fields(14).Trim & "')"
DbNbosa.ExecuteNonQuery(SqlInsert)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.DeleteFile(ListFile)
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_Ldmy(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim UpdateRows As Integer = 0
Dim FieldsLength() As Integer = New Integer() {"15", "20", "15", "30", "25", "25", "8", "30", "15"}
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
UpdateRows = 1
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
If Fields.Length = 9 Then
If Fields(0).Trim.Length > 5 Then
Dim SqlInsert As String = "Insert Into LDMY(SN,ProductType,ProductStation,ProductDate,ProductLot,WorkerID,ProductOrderID,OrderID) values " & _
" ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & My.Computer.Clock.LocalTime & "','" & Fields(4).Trim & "'," & _
"'" & Fields(5).Trim & "','" & Fields(7).Trim & "','" & Fields(6).Trim & "')"
DbNbosa.ExecuteNonQuery(SqlInsert)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.DeleteFile(ListFile)
Return UpdateRows
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_LdAlign(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim TableName As String = "LD"
Dim UpdateRows As Integer = 0
Dim myDataAdapter As SqlDataAdapter = DbNbosa.GetSqlDataAdapter("SELECT TOP 1 * FROM LD")
Dim myConnection As SqlConnection = myDataAdapter.SelectCommand.Connection
Dim myDataSet = New DataSet()
Dim FieldsLength() As Integer = New Integer() {"15", "20", "15", "30", "15", "15", "15", "15", "6", "30", "25"}
myDataSet.CaseSensitive = True
myDataAdapter.Fill(myDataSet, TableName)
myDataAdapter.UpdateBatchSize = Me.UpdateBatchSize
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > 50 Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
UpdateRows = 1
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
If Fields.Length = 11 Then
If Fields(0).Trim.Length > 5 Then
Dim newRow As DataRow = myDataSet.Tables(TableName).NewRow()
newRow("SN") = Fields(0).Trim
newRow("ProductType") = Fields(1).Trim
newRow("ProductStation") = Fields(2).Trim
newRow("ProductDate") = My.Computer.Clock.LocalTime
newRow("ToolCode") = Fields(4).Trim
newRow("WorkerID") = Fields(5).Trim
newRow("OrderID") = Fields(6).Trim
newRow("Power") = Fields(7).Trim
newRow("Result") = Fields(8).Trim
newRow("ProductOrderID") = Fields(9).Trim
newRow("BadReason") = Fields(10).Trim
' 将新数据行新增至数据集内的数据表。
myDataSet.Tables(TableName).Rows.Add(newRow)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.BulkUpdataToServer(ListFile, myConnection, myDataSet, TableName, UpdateRows)
Return UpdateRows
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_LdAutoAlign(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim TableName As String = "LdAutoAlign"
Dim UpdateRows As Integer = 0
Dim myDataAdapter As SqlDataAdapter = DbNbosa.GetSqlDataAdapter("SELECT TOP 1 * FROM LdAutoAlign where SN='1'")
Dim myConnection As SqlConnection = myDataAdapter.SelectCommand.Connection
Dim myDataSet = New DataSet()
Dim FieldsLength() As Integer = New Integer() {"20", "20", "25", "25", "25", "15", "15", "10", "15", "15", "15", "15", "15", "15", "10", "15"}
myDataSet.CaseSensitive = True
myDataAdapter.Fill(myDataSet, TableName)
myDataAdapter.UpdateBatchSize = Me.UpdateBatchSize
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > 50 Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
UpdateRows = 1
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
If Fields.Length >= 16 Then
If Fields(0).Trim.Length > 5 Then
Dim newRow As DataRow = myDataSet.Tables(TableName).NewRow()
Dim Pdate, Ptime As DateTime
Dim ComputerName As String
If DateTime.TryParse(Fields(3).Trim, Pdate) = True AndAlso DateTime.TryParse(Fields(4).Trim, Ptime) = True Then
If Fields(3).Trim.Substring(0, 4) <> DateTime.Now.Year Then
Pdate = DateTime.Now
End If
If Fields(4).Trim.Substring(0, 4) <> DateTime.Now.Year Then
Ptime = DateTime.Now
End If
Else
Pdate = DateTime.Today
Ptime = DateTime.Now
End If
If Fields(13).Length > 9 Then
ComputerName = Fields(13).Trim.Substring(0, 8)
Else
ComputerName = Fields(13).Trim
End If
newRow("SN") = Fields(0).Trim
newRow("ProductType") = Fields(1).Trim
newRow("FlowCardId") = Fields(2).Trim
newRow("ProductDate") = Pdate
newRow("ProductTime") = Ptime
newRow("WorkerID") = Fields(5).Trim
newRow("WorkerName") = Fields(6).Trim
newRow("AlignTime") = Fields(7).Trim
newRow("PfMax") = Fields(8).Trim
newRow("PfBeforeLaser") = Fields(9).Trim
newRow("PfAfterLaser") = Fields(10).Trim
newRow("AlignType") = Fields(11).Trim
newRow("AlignMachineId") = Fields(12).Trim
newRow("ComputerName") = ComputerName
newRow("Result") = Fields(14).Trim
newRow("CheckBy") = Fields(15).Trim
newRow("Field1") = "null"
newRow("Field2") = "null"
newRow("Field3") = "null"
newRow("Field4") = "null"
newRow("Field5") = "null"
' 将新数据行新增至数据集内的数据表。
myDataSet.Tables(TableName).Rows.Add(newRow)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.BulkUpdataToServer(ListFile, myConnection, myDataSet, TableName, UpdateRows)
Return UpdateRows
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_Hammer(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim UpdateRows As Integer = 0
Dim FieldsLength() As Integer = New Integer() {"15", "20", "25", "25", "25", "25", "25", "25", "25", "25", "25", "25", "30", "25", "25", "25"}
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
UpdateRows = 1
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
If Fields.Length = 16 Then
If Fields(0).Trim.Length > 5 Then
Dim strSql As New StringBuilder
strSql.Append("insert into Laser_Hammer(")
strSql.Append("SN,ProductType,ProductStation,ProductDate,HammerPreValue,WorkerID,OrderID,BadReason,HammerValue,StartTime,EndTime,Interval,ProductOrderID,Result,LdWorkerID,ToolID)")
strSql.Append(" values (")
strSql.Append("@SN,@ProductType,@ProductStation,@ProductDate,@HammerPreValue,@WorkerID,@OrderID,@BadReason,@HammerValue,@StartTime,@EndTime,@Interval,@ProductOrderID,@Result,@LdWorkerID,@ToolID)")
Dim parameters() As SqlParameter = {
New SqlParameter("@SN", SqlDbType.VarChar, 15),
New SqlParameter("@ProductType", SqlDbType.VarChar, 20),
New SqlParameter("@ProductStation", SqlDbType.VarChar, 15),
New SqlParameter("@ProductDate", SqlDbType.DateTime),
New SqlParameter("@HammerPreValue", SqlDbType.VarChar, 25),
New SqlParameter("@WorkerID", SqlDbType.VarChar, 20),
New SqlParameter("@OrderID", SqlDbType.VarChar, 20),
New SqlParameter("@BadReason", SqlDbType.VarChar, 30),
New SqlParameter("@HammerValue", SqlDbType.VarChar, 15),
New SqlParameter("@StartTime", SqlDbType.DateTime),
New SqlParameter("@EndTime", SqlDbType.DateTime),
New SqlParameter("@Interval", SqlDbType.Int, 4),
New SqlParameter("@ProductOrderID", SqlDbType.VarChar, 30),
New SqlParameter("@Result", SqlDbType.VarChar, 6),
New SqlParameter("@LdWorkerID", SqlDbType.VarChar, 30),
New SqlParameter("@ToolID", SqlDbType.VarChar, 30)}
Dim st, et As DateTime
If DateTime.TryParse(Fields(9), st) = True AndAlso DateTime.TryParse(Fields(10).Trim, et) = True Then
If Fields(9).Trim.Substring(0, 4) <> DateTime.Now.Year Then
st = DateTime.Now
End If
If Fields(10).Trim.Substring(0, 4) <> DateTime.Now.Year Then
et = DateTime.Now
End If
Else
st = DateTime.Now
et = DateTime.Now
End If
parameters(0).Value = Fields(0).Trim
parameters(1).Value = Fields(1).Trim
parameters(2).Value = Fields(2).Trim
parameters(3).Value = My.Computer.Clock.LocalTime
parameters(4).Value = Fields(4).Trim
parameters(5).Value = Fields(5).Trim
parameters(6).Value = Fields(6).Trim
parameters(7).Value = Fields(7).Trim
parameters(8).Value = Fields(8).Trim
parameters(9).Value = st
parameters(10).Value = et
parameters(11).Value = Fields(11).Trim
parameters(12).Value = Fields(12).Trim
parameters(13).Value = Fields(13).Trim
parameters(14).Value = Fields(14).Trim
parameters(15).Value = Fields(15).Trim
UpdateRows = DbNbosa.ExecuteNonQuery(strSql.ToString(), parameters)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.DeleteFile(ListFile)
Return UpdateRows
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_TeTest(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim UpdateRows As Integer = 0
Dim FieldsLength() As Integer = New Integer() {"15", "20", "15", "25", "8", "15", "15", "6", "8", "15", "15"}
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
UpdateRows = 1
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
If Fields.Length = 11 Then
Fields(4) = StrConv(Fields(4), VbStrConv.Narrow)
If Fields(0).Trim.Length > 5 Then
Dim SqlInsert As String = "Insert Into TE_Test(SN,ProductType,ProductStation,WorkerID,OrderID,TE,Result,BadReason,ProductOrderID,ProductDate) values " & _
" ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & Fields(4).Trim & "','" & Fields(8).Trim & "'," & _
"'" & Fields(6).Trim & "','" & Fields(7).Trim & "','" & Fields(9).Trim & "','" & Fields(5).Trim & "','" & My.Computer.Clock.LocalTime & "')"
DbNbosa.ExecuteNonQuery(SqlInsert)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.DeleteFile(ListFile)
Return UpdateRows
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_SmsrTest25(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim UpdateRows As Integer = 0
Dim FieldsLength() As Integer = New Integer() {"15", "20", "25", "25", "8", "8", "15", "15", "15", "15", "15", "15", "15"}
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
UpdateRows = 1
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
If Fields.Length = 13 Then
If Fields(6).Trim.Length > 15 Then
Fields(6) = Fields(6).Trim.Substring(0, 15)
End If
If Fields(0).Trim.Length > 5 Then
Dim SqlInsert As String = "Insert Into SMSR_Test_25(SN,ProductType,ProductStation,ProductDate,WorkerID,OrderID,BadReason,SMSR,WD,WaveLength,Tempereture,Result) values" & _
" ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "'," & _
"'" & Fields(5).Trim & "','" & Fields(6).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "','" & Fields(12).Trim & "','" & Fields(11).Trim & "')"
DbNbosa.ExecuteNonQuery(SqlInsert)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.DeleteFile(ListFile)
Return UpdateRows
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_SmsrTest70(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim UpdateRows As Integer = 0
Dim FieldsLength() As Integer = New Integer() {"15", "20", "25", "25", "8", "8", "15", "15", "15", "15", "15", "15", "15"}
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
If Fields.Length = 13 Then
If Fields(6).Trim.Length > 15 Then
Fields(6) = Fields(6).Trim.Substring(0, 15)
End If
If Fields(0).Trim.Length > 5 Then
Dim SqlInsert As String = "Insert Into SMSR_Test_70(SN,ProductType,ProductStation,ProductDate,WorkerID,OrderID,BadReason,SMSR,WD,WaveLength,Tempereture,Result) values " & _
" ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "'," & _
"'" & Fields(5).Trim & "','" & Fields(6).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "','" & Fields(12).Trim & "','" & Fields(11).Trim & "')"
DbNbosa.ExecuteNonQuery(SqlInsert)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.DeleteFile(ListFile)
Return UpdateRows
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_SmsrTest(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim UpdateRows As Integer = 0
Try
Dim ListFile25 As New List(Of String)
Dim ListFile75 As New List(Of String)
ListFile25.Clear()
ListFile75.Clear()
For Count As Integer = ListFile.Count - 1 To 0 Step -1
Dim FilePath As String = ListFile.Item(Count).ToString.Trim
Dim FileName As String = My.Computer.FileSystem.GetName(FilePath)
If FileName.IndexOf("25度") > 0 Then
ListFile25.Add(FilePath)
Else
ListFile75.Add(FilePath)
End If
Next
If ListFile25.Count > 0 Then
UpdateRows = Me.UpdateFile_SmsrTest25(ListFile25, StationName)
End If
Threading.Thread.Sleep(1000)
If ListFile75.Count > 0 Then
UpdateRows = Me.UpdateFile_SmsrTest70(ListFile75, StationName)
End If
Me.DeleteFile(ListFile)
Return UpdateRows
Catch ex As SqlException
Me.ExcuteException(ex)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_TestBehindTc(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim TableName As String = "TC_Test_Next_TX"
Dim UpdateRows As Integer = 0
Dim myDataAdapter As SqlDataAdapter = DbNbosa.GetSqlDataAdapter("SELECT TOP 1 * FROM TC_Test_Next_TX")
Dim myConnection As SqlConnection = myDataAdapter.SelectCommand.Connection
Dim myDataSet = New DataSet()
Dim FieldsLength() As Integer = New Integer() {"15", "20", "15", "8", "8", "15", "15", "15", "15", "30", "25"}
myDataSet.CaseSensitive = True
myDataAdapter.Fill(myDataSet, TableName)
myDataAdapter.UpdateBatchSize = Me.UpdateBatchSize
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
UpdateRows = 1
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
If Fields.Length = 11 Then
' 呼叫 DataTable 对象的 NewRow 方法来建立一个 DataRow 对象
If Fields(0).Trim.Length > 5 Then
Dim newRow As DataRow = myDataSet.Tables(TableName).NewRow()
newRow("SN") = Fields(0).Trim
newRow("ProductType") = Fields(1).Trim
newRow("ProductStation") = Fields(2).Trim
newRow("WorkerID") = Fields(3).Trim
newRow("OrderID") = Fields(4).Trim
newRow("PfPre") = Fields(5).Trim
newRow("PfNex") = Fields(6).Trim
newRow("Result") = Fields(7).Trim
newRow("BadReason") = Fields(8).Trim
newRow("ProductOrderID") = Fields(9).Trim
newRow("ProductDate") = Fields(10).Trim
' 将新数据行新增至数据集内的数据表。
myDataSet.Tables(TableName).Rows.Add(newRow)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.BulkUpdataToServer(ListFile, myConnection, myDataSet, TableName, UpdateRows)
Return UpdateRows
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_ISat(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim UpdateRows As Integer = 0
Dim FieldsLength() As Integer = New Integer() {"10", "30", "15", "15", "10", "10", "30", "10", "30", "30"}
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length > FileNameLength Then
Me.MoveErrorFile(FileName, StationName)
Else
SR = New StreamReader(FileName, System.Text.Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
Dim Fields() As String = Me.ExcuteFields(MyLine, FieldsLength, StationName)
If Fields.Length = 10 Then
UpdateRows = 1
Fields(4) = StrConv(Fields(4), VbStrConv.Narrow)
Fields(5) = StrConv(Fields(5), VbStrConv.Narrow)
If Fields(7).Length > 10 Then
Fields(7) = Fields(7).Substring(Fields(7).Length - 10, 10)
End If
If Fields(1).Trim.Length > 7 Then
Dim SqlInsert As String = "Insert Into RSSI(Result,SN,RSSI1,RSSI2,WorkerID,ApdWorkerID,ProductType,DepartmentID,TestDate,ComputerName) values ('" & Fields(0).Trim & "','" & Fields(1).Trim & "', " & _
"'" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "','" & Fields(5).Trim & "','" & Fields(6).Trim & "'," & _
"'" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & Fields(9).Trim & "')"
DbNbosa.ExecuteNonQuery(SqlInsert)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.DeleteFile(ListFile)
Return UpdateRows
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
Private Function UpdateFile_FourDirectTest(ByVal ListFile As List(Of String), ByVal StationName As String) As Integer
Dim UpdateRows As Integer = 0
Dim FieldsLength() As Integer = New Integer() {"20", "25", "25", "25", "25", "8", "15", "15", "15", "15", "15", "10", "15", "15", "25", "15", "15"}
Dim FileName As String = String.Empty
Dim SR As StreamReader = Nothing
Try
For Count As Integer = ListFile.Count - 1 To 0 Step -1
FileName = ListFile.Item(Count).ToString.Trim
If My.Computer.FileSystem.GetName(FileName).Length < 65 Then
SR = New StreamReader(ListFile.Item(Count).ToString.Trim, Encoding.Default)
SR.ReadLine()
Dim MyLine As String = SR.ReadLine
While Not String.IsNullOrEmpty(MyLine)
UpdateRows = 1
Dim Fields() As String = MyLine.Split(",")
If Fields.Length = 15 Then
Fields(5) = StrConv(Fields(5), VbStrConv.Narrow)
If Fields(0).Trim.Length > 5 Then
Dim SqlInsert As String = "Insert Into ForDirection_Test( SN, ProductType, ProductStation, FlowCardId, ProductDate, WorkerId, Tc_Pf, Pf1, Pf2, Pf3, Pf4, Result, DepartmentID, ComputerName, ProductTime, Fields1, Fields2) values " & _
" ('" & Fields(0).Trim & "','" & Fields(1).Trim & "','" & Fields(2).Trim & "','" & Fields(3).Trim & "','" & Fields(4).Trim & "','" & Fields(5).Trim & "','" & Fields(6).Trim & "','" & Fields(7).Trim & "','" & Fields(8).Trim & "','" & _
"" & Fields(9).Trim & "','" & Fields(10).Trim & "','" & Fields(11).Trim & "','" & Fields(12).Trim & "','" & Fields(13).Trim & "','" & Fields(14).Trim & "','NULL','NULL')"
DbNbosa.ExecuteNonQuery(SqlInsert)
End If
End If
MyLine = SR.ReadLine
End While
SR.Close()
End If
Next
Me.DeleteFile(ListFile)
Return UpdateRows
Catch ex As SqlException
SR.Close()
Me.MoveErrorFile(FileName, StationName)
Return UpdateRows
End Try
End Function
#End Region
#Region "UpFile"
'把文件从临时文件夹移动到备份文件夹和上传文件夹
Private Sub MoveFileToBackupAndUpLoad(ByVal StationNameList As List(Of String))
Try
If My.Computer.FileSystem.DirectoryExists(Me.TempFilePath) = True Then
For Each DirectoryName As String In My.Computer.FileSystem.GetDirectories(Me.TempFilePath)
Dim StationName As String = Me.GetStationName(DirectoryName)
If StationNameList.Contains(StationName) = True Then
Dim TheBackupPath As String = Me.BackupFilePath & StationName & "\"
Me.ValidateIsDirectoryExists(TheBackupPath)
Dim BackupPath As String = TheBackupPath & Now.ToShortDateString & "\"
Me.ValidateIsDirectoryExists(BackupPath)
Dim UpLoadPath As String = Me.UpFilePath & StationName & "\"
Me.ValidateIsDirectoryExists(UpLoadPath)
For Each SourceFile As String In My.Computer.FileSystem.GetFiles(DirectoryName & "\")
Dim FileName As String = My.Computer.FileSystem.GetName(SourceFile)
Dim UpFileNamePath As String = UpLoadPath & FileName
Dim BackupFileNamePath As String = BackupPath & FileName
My.Computer.FileSystem.CopyFile(SourceFile, UpFileNamePath, True)
Threading.Thread.Sleep(10)
My.Computer.FileSystem.CopyFile(SourceFile, BackupFileNamePath, True)
Threading.Thread.Sleep(10)
My.Computer.FileSystem.DeleteFile(SourceFile)
Next
End If
Next
End If
Catch ex As Exception
Me.ExcuteException(ex)
End Try
End Sub
Private Sub UpLocalDataToServer()
Try
Dim StationList As List(Of String) = DbMes.FillDataToList("Select StationName from Ex_UpFileStation")
Me.MoveFileToBackupAndUpLoad(StationList)
If My.Computer.FileSystem.DirectoryExists(UpFilePath) = True Then
Dim DicUpDataCount As New Dictionary(Of String, Integer)
For Each DirectoryName As String In My.Computer.FileSystem.GetDirectories(UpFilePath)
Dim StationName As String = Me.GetStationName(DirectoryName) '根据文件夹名称获得站别名称
Dim FileList As List(Of String) = Me.GetFileList(DirectoryName)
If StationList.Contains(StationName) Then
If DicUpDataCount.ContainsKey(StationName) = False Then DicUpDataCount.Add(StationName, 0)
Select Case StationName
Case "APD耦光"
DicUpDataCount(StationName) = Me.UpdateFile_Apd(FileList, StationName)
Case "PD耦光"
DicUpDataCount(StationName) = Me.UpdateFile_PdAlign(FileList, StationName)
Case "PT耦光"
DicUpDataCount(StationName) = Me.UpdateFile_PT(FileList, StationName)
Case "PD测试"
DicUpDataCount(StationName) = Me.UpdateFile_PdTest(FileList, StationName)
Case "ROSA PD测试"
DicUpDataCount(StationName) = Me.UpdateFile_RosaPdTest(FileList, StationName)
Case "IMD2测试"
DicUpDataCount(StationName) = Me.UpdateFile_IMD2(FileList, StationName)
Case "IMD3测试"
DicUpDataCount(StationName) = Me.UpdateFile_IMD3(FileList, StationName)
Case "LD铆压"
DicUpDataCount(StationName) = Me.UpdateFile_Ldmy(FileList, StationName)
Case "LD耦光"
DicUpDataCount(StationName) = Me.UpdateFile_LdAlign(FileList, StationName)
Case "LD自动耦光"
DicUpDataCount(StationName) = Me.UpdateFile_LdAutoAlign(FileList, StationName)
Case "Hammer"
DicUpDataCount(StationName) = Me.UpdateFile_Hammer(FileList, StationName)
Case "TE测试"
DicUpDataCount(StationName) = Me.UpdateFile_TeTest(FileList, StationName)
Case "SMSR测试"
DicUpDataCount(StationName) = Me.UpdateFile_SmsrTest(FileList, StationName)
Case "ISat测试", "IL测试"
DicUpDataCount(StationName) = Me.UpdateFile_ISat(FileList, StationName)
Case "TC后测试"
DicUpDataCount(StationName) = Me.UpdateFile_TestBehindTc(FileList, StationName)
Case "四方向测试"
DicUpDataCount(StationName) = Me.UpdateFile_FourDirectTest(FileList, StationName)
Case Else
End Select
End If
Threading.Thread.Sleep(3000)
Next
'Me.ExcuteException(DicUpDataCount)
End If
Catch ex As Exception
Me.ExcuteException(ex)
End Try
End Sub
#End Region
#End Region
End Class