396 lines
16 KiB
Plaintext
396 lines
16 KiB
Plaintext
Imports System.Data
|
|
Imports System.Data.SqlClient
|
|
Imports System.IO
|
|
Imports Excel = Microsoft.Office.Interop.Excel
|
|
Public Class kittingForm
|
|
Private cnstr = mainForm.cnstr
|
|
Private conn As New SqlConnection(cnstr)
|
|
Private myQuery As String = String.Empty
|
|
Private myCommand As SqlCommand
|
|
Private adapter As SqlDataAdapter = New SqlDataAdapter()
|
|
Private ds As New DataSet("MachineSequence")
|
|
Private i, limit As Integer
|
|
Private sequence As New Sequence()
|
|
Private kitted As Boolean = False
|
|
|
|
Dim xlApp As Excel.Application
|
|
Dim xlWorkBook As Excel.Workbook
|
|
Dim xlWorkSheet As Excel.Worksheet
|
|
Dim misValue As Object = System.Reflection.Missing.Value
|
|
Dim a As Integer
|
|
Dim j As Integer
|
|
Private Sub kittingForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
|
Me.MdiParent = mainForm
|
|
Control.CheckForIllegalCrossThreadCalls = False
|
|
getSequence()
|
|
initializeDG()
|
|
End Sub
|
|
|
|
Private Sub initializeDG()
|
|
Dim partNo As New DataGridViewTextBoxColumn
|
|
Dim machine As New DataGridViewTextBoxColumn
|
|
Dim feeder As New DataGridViewTextBoxColumn
|
|
Dim fsbsQty As New DataGridViewTextBoxColumn
|
|
Dim desc1 As New DataGridViewTextBoxColumn
|
|
Dim spq As New DataGridViewTextBoxColumn
|
|
Dim qty As New DataGridViewTextBoxColumn
|
|
Dim eoh As New DataGridViewTextBoxColumn
|
|
|
|
'sequence.HeaderText = "Sequence"
|
|
partNo.HeaderText = "Part Number"
|
|
machine.HeaderText = "Machine"
|
|
feeder.HeaderText = "Feeder"
|
|
desc1.HeaderText = "Description"
|
|
fsbsQty.HeaderText = "Usage"
|
|
spq.HeaderText = "SPQ"
|
|
qty.HeaderText = "Initial_Quantity"
|
|
eoh.HeaderText = "EOH"
|
|
|
|
dgKitting.Columns.Add(partNo)
|
|
dgKitting.Columns.Add(machine)
|
|
dgKitting.Columns.Add(feeder)
|
|
dgKitting.Columns.Add(desc1)
|
|
dgKitting.Columns.Add(fsbsQty)
|
|
dgKitting.Columns.Add(spq)
|
|
dgKitting.Columns.Add(qty)
|
|
dgKitting.Columns.Add(eoh)
|
|
|
|
dgKitting.Columns(0).ReadOnly = True
|
|
dgKitting.Columns(1).ReadOnly = True
|
|
dgKitting.Columns(2).ReadOnly = True
|
|
dgKitting.Columns(3).ReadOnly = True
|
|
dgKitting.Columns(4).ReadOnly = True
|
|
dgKitting.Columns(5).ReadOnly = True
|
|
|
|
dgKitting.Columns(0).SortMode = DataGridViewColumnSortMode.Programmatic
|
|
dgKitting.Columns(1).SortMode = DataGridViewColumnSortMode.Programmatic
|
|
dgKitting.Columns(2).SortMode = DataGridViewColumnSortMode.Programmatic
|
|
dgKitting.Columns(3).SortMode = DataGridViewColumnSortMode.Programmatic
|
|
dgKitting.Columns(4).SortMode = DataGridViewColumnSortMode.Programmatic
|
|
dgKitting.Columns(5).SortMode = DataGridViewColumnSortMode.Programmatic
|
|
dgKitting.Columns(6).SortMode = DataGridViewColumnSortMode.Programmatic
|
|
dgKitting.Columns(7).SortMode = DataGridViewColumnSortMode.Programmatic
|
|
|
|
'dgKitting.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
|
|
dgKitting.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader
|
|
|
|
dgKitting.RowsDefaultCellStyle.BackColor = Color.AntiqueWhite
|
|
dgKitting.AlternatingRowsDefaultCellStyle.BackColor = Color.Beige
|
|
End Sub
|
|
|
|
Private Sub fillDataGridView()
|
|
Dim i As Integer = 0
|
|
|
|
dgKitting.Rows.Clear()
|
|
For i = 0 To ds.Tables(0).Rows.Count - 1
|
|
dgKitting.Rows.Add()
|
|
dgKitting.Rows(i).Cells(0).Value = Trim(ds.Tables(0).Rows(i).Item("KSQPARTNO"))
|
|
dgKitting.Rows(i).Cells(1).Value = Trim(ds.Tables(0).Rows(i).Item("KSQMODULE"))
|
|
dgKitting.Rows(i).Cells(2).Value = Trim(ds.Tables(0).Rows(i).Item("KSQFEEDERNO"))
|
|
dgKitting.Rows(i).Cells(3).Value = Trim(ds.Tables(0).Rows(i).Item("KSQDESC1"))
|
|
dgKitting.Rows(i).Cells(4).Value = Trim(ds.Tables(0).Rows(i).Item("KSQFSBSQTY"))
|
|
dgKitting.Rows(i).Cells(5).Value = Trim(ds.Tables(0).Rows(i).Item("SPQ"))
|
|
'COMPUTATION OF (USAGE * loading quantity)/ SPQ
|
|
|
|
dgKitting.Rows(i).Cells(6).Value = (Double.Parse(txtLoading.Text) * Double.Parse(Trim(ds.Tables(0).Rows(i).Item("KSQFSBSQTY"))))
|
|
dgKitting.Rows(i).Cells(7).Value = 0
|
|
'If kitted Then
|
|
' dgKitting.Rows(i).Cells(6).Value = Trim(ds.Tables(0).Rows(i).Item("QTY"))
|
|
'End If
|
|
Next
|
|
dgKitting.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
|
|
End Sub
|
|
|
|
Private Sub fillDataSet()
|
|
Dim conn As New SqlConnection(cnstr)
|
|
Dim seq As New Sequence
|
|
Dim sequenceno = seq.getSequenceNo(cmbSeq.SelectedItem, cmbLine.SelectedItem, cmbModel.SelectedItem, cmbType.SelectedItem, cmbRev.SelectedItem)
|
|
myQuery = "SELECT KSQPARTNO,KSQMODULE,KSQFEEDERNO,KSQDESC1,[KSQFSBSQTY],'0' AS [SPQ] FROM KSEQUENCE_DETAIL a " & _
|
|
"INNER JOIN [I-Report].[SYS21].[dbo].[Item_Costing] b ON b.[Item_Code] = a.[KSQPARTNO] WHERE KSEQUENCENO = '" & sequenceno & "' " & _
|
|
"ORDER BY KSQPARTNO,KSQMODULE,KSQFEEDERNO"
|
|
|
|
myCommand = New SqlCommand(myQuery, conn)
|
|
|
|
Try
|
|
conn.Open()
|
|
adapter.SelectCommand = myCommand
|
|
ds.Clear()
|
|
adapter.Fill(ds)
|
|
i = 0
|
|
limit = ds.Tables(0).Rows.Count - 1
|
|
If ds.Tables(0).Rows.Count > 0 Then
|
|
btnPrint.Enabled = True
|
|
Else
|
|
btnPrint.Enabled = False
|
|
End If
|
|
Catch ex As Exception
|
|
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
|
Finally
|
|
conn.Close()
|
|
conn.Dispose()
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub fillDataSetKitted()
|
|
Dim conn As New SqlConnection(cnstr)
|
|
|
|
myQuery = "SELECT [PARTNO] AS [KSQPARTNO],[MACHINE] AS [KSQMODULE],[FEEDER] AS [KSQFEEDERNO],[DESC1] AS [KSQDESC1],[USAGE] AS [KSQFSBSQTY],[SPQ],[QTY] FROM dbo.KITTING " & _
|
|
"WHERE [REV] = '" & cmbRev.SelectedItem & "'" & _
|
|
"AND [ACCOUNT] = '" & cmbSeq.SelectedItem & "'" & _
|
|
"AND [MODEL] = '" & cmbModel.SelectedItem & "'" & _
|
|
"AND [TYPE] = '" & cmbType.SelectedItem & "'" & _
|
|
"AND [LINE] = '" & cmbLine.SelectedItem & "'"
|
|
|
|
|
|
myCommand = New SqlCommand(myQuery, conn)
|
|
|
|
Try
|
|
conn.Open()
|
|
adapter.SelectCommand = myCommand
|
|
ds.Clear()
|
|
adapter.Fill(ds)
|
|
i = 0
|
|
limit = ds.Tables(0).Rows.Count - 1
|
|
If ds.Tables(0).Rows.Count > 0 Then
|
|
kitted = True
|
|
btnPrint.Enabled = True
|
|
Else
|
|
btnPrint.Enabled = False
|
|
End If
|
|
Catch ex As Exception
|
|
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
|
Finally
|
|
conn.Close()
|
|
conn.Dispose()
|
|
End Try
|
|
End Sub
|
|
|
|
Public Sub getSequence()
|
|
Dim sequence As New Sequence
|
|
Dim sequenceList As New List(Of String)
|
|
Dim i As Integer = 0
|
|
|
|
cmbRev.Items.Clear()
|
|
sequenceList = sequence.getValidSequence()
|
|
cmbSeq.Items.Clear()
|
|
While i < sequenceList.Count
|
|
cmbSeq.Items.Add(sequenceList(i))
|
|
i = i + 1
|
|
End While
|
|
End Sub
|
|
|
|
Public Sub getRevisions()
|
|
Dim rev As New Sequence
|
|
Dim revList As New List(Of String)
|
|
Dim i As Integer = 0
|
|
|
|
revList = rev.getRevisions(cmbSeq.SelectedItem, cmbLine.SelectedItem, cmbModel.SelectedItem, cmbType.SelectedItem)
|
|
cmbRev.Items.Clear()
|
|
While i < revList.Count
|
|
cmbRev.Items.Add(revList(i))
|
|
i = i + 1
|
|
End While
|
|
End Sub
|
|
|
|
Public Sub getModels()
|
|
Dim rev As New Sequence
|
|
Dim revList As New List(Of String)
|
|
Dim i As Integer = 0
|
|
|
|
revList = rev.getModel(cmbSeq.SelectedItem, cmbLine.SelectedItem)
|
|
cmbModel.Items.Clear()
|
|
While i < revList.Count
|
|
cmbModel.Items.Add(revList(i))
|
|
i = i + 1
|
|
End While
|
|
End Sub
|
|
|
|
Public Sub getTypes()
|
|
Dim rev As New Sequence
|
|
Dim revList As New List(Of String)
|
|
Dim i As Integer = 0
|
|
|
|
revList = rev.getTypes(cmbSeq.SelectedItem, cmbLine.SelectedItem, cmbModel.SelectedItem)
|
|
cmbType.Items.Clear()
|
|
While i < revList.Count
|
|
cmbType.Items.Add(revList(i))
|
|
i = i + 1
|
|
End While
|
|
End Sub
|
|
|
|
Public Sub getLines()
|
|
Dim rev As New Sequence
|
|
Dim revList As New List(Of String)
|
|
Dim i As Integer = 0
|
|
|
|
revList = rev.getLines(cmbSeq.SelectedItem)
|
|
cmbLine.Items.Clear()
|
|
While i < revList.Count
|
|
cmbLine.Items.Add(revList(i))
|
|
i = i + 1
|
|
End While
|
|
End Sub
|
|
|
|
|
|
|
|
Public Sub reset()
|
|
cmbRev.Items.Clear()
|
|
cmbType.Items.Clear()
|
|
cmbModel.Items.Clear()
|
|
cmbLine.Items.Clear()
|
|
cmbSeq.Items.Clear()
|
|
ts_delete.Enabled = False
|
|
btnPrint.Enabled = False
|
|
dgKitting.Rows.Clear()
|
|
txtLoading.Text = Nothing
|
|
getSequence()
|
|
End Sub
|
|
|
|
Private Sub cmbRev_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
|
|
|
End Sub
|
|
|
|
Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click
|
|
|
|
If checkRows() Then
|
|
If kitted Then
|
|
Dim conn As New SqlConnection(cnstr)
|
|
Try
|
|
conn.Open()
|
|
For i As Integer = 0 To dgKitting.RowCount - 1
|
|
myQuery = "UPDATE KITTING SET USAGE = '" & dgKitting.Rows(i).Cells(4).Value.ToString & "', SPQ = '" & dgKitting.Rows(i).Cells(5).Value.ToString & "',OPERATOR = '" & loginForm.username & "',KITTINGDATE = GETDATE(), QTY = '" & dgKitting.Rows(i).Cells(6).Value.ToString & "' WHERE REV = '" & cmbRev.SelectedItem.ToString & "' AND PARTNO = '" & dgKitting.Rows(i).Cells(0).Value.ToString & "' "
|
|
myCommand = New SqlCommand(myQuery, conn)
|
|
myCommand.ExecuteNonQuery()
|
|
Next
|
|
|
|
kittedReportForm.account = cmbSeq.SelectedItem
|
|
kittedReportForm.line = cmbLine.SelectedItem
|
|
kittedReportForm.model = cmbModel.SelectedItem
|
|
kittedReportForm.type = cmbType.SelectedItem
|
|
kittedReportForm.revision = cmbRev.SelectedItem
|
|
kittedReportForm.Show()
|
|
Catch ex As Exception
|
|
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
|
Finally
|
|
conn.Close()
|
|
conn.Dispose()
|
|
End Try
|
|
|
|
|
|
Else
|
|
Dim conn As New SqlConnection(cnstr)
|
|
|
|
|
|
|
|
Try
|
|
conn.Open()
|
|
For i As Integer = 0 To dgKitting.RowCount - 1
|
|
myQuery = "INSERT INTO KITTING VALUES('" & cmbRev.SelectedItem.ToString & "','" & dgKitting.Rows(i).Cells(0).Value.ToString & "','" & dgKitting.Rows(i).Cells(3).Value.ToString & "','" & dgKitting.Rows(i).Cells(4).Value.ToString & "','" & dgKitting.Rows(i).Cells(5).Value.ToString & "','" & loginForm.username & "',GETDATE(),'" & dgKitting.Rows(i).Cells(6).Value.ToString & "','" & dgKitting.Rows(i).Cells(2).Value.ToString & "','" & cmbSeq.SelectedItem & "','" & dgKitting.Rows(i).Cells(1).Value.ToString & "','" & cmbModel.SelectedItem & "','" & cmbType.SelectedItem & "','" & cmbLine.SelectedItem & "','" & dgKitting.Rows(i).Cells(7).Value.ToString & "')"
|
|
myCommand = New SqlCommand(myQuery, conn)
|
|
myCommand.ExecuteNonQuery()
|
|
|
|
Next
|
|
|
|
kittedReportForm.account = cmbSeq.SelectedItem
|
|
kittedReportForm.line = cmbLine.SelectedItem
|
|
kittedReportForm.model = cmbModel.SelectedItem
|
|
kittedReportForm.type = cmbType.SelectedItem
|
|
kittedReportForm.revision = cmbRev.SelectedItem
|
|
kittedReportForm.Show()
|
|
Catch ex As Exception
|
|
MessageBox.Show(ex.Message, "Error insert", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
|
Finally
|
|
conn.Close()
|
|
conn.Dispose()
|
|
End Try
|
|
End If
|
|
End If
|
|
|
|
reset()
|
|
End Sub
|
|
Private Sub releaseObject(ByVal obj As Object)
|
|
Try
|
|
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
|
|
obj = Nothing
|
|
Catch ex As Exception
|
|
obj = Nothing
|
|
Finally
|
|
GC.Collect()
|
|
End Try
|
|
End Sub
|
|
Public Function checkRows()
|
|
Dim complete As Boolean = True
|
|
For i As Integer = 0 To dgKitting.RowCount - 1
|
|
If (dgKitting.Rows(i).Cells(4).FormattedValue.ToString = "") Then
|
|
complete = False
|
|
End If
|
|
Next
|
|
Return complete
|
|
End Function
|
|
|
|
Private Sub btnPrint_ClientSizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPrint.ClientSizeChanged
|
|
|
|
End Sub
|
|
|
|
Private Sub SaveFileDialog_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog.FileOk
|
|
|
|
|
|
xlApp = New Excel.Application
|
|
xlWorkBook = xlApp.Workbooks.Add(misValue)
|
|
xlWorkSheet = xlWorkBook.Sheets("Sheet1")
|
|
|
|
xlWorkSheet.Cells(1, 1) = "Part No"
|
|
xlWorkSheet.Cells(1, 2) = "Description"
|
|
xlWorkSheet.Cells(1, 3) = "Usage"
|
|
xlWorkSheet.Cells(1, 4) = "SPQ"
|
|
xlWorkSheet.Cells(1, 5) = "Quantity"
|
|
For a = 0 To dgKitting.RowCount - 1
|
|
For j = 0 To dgKitting.ColumnCount - 1
|
|
xlWorkSheet.Cells(a + 2, j + 1) = _
|
|
dgKitting(j, a).Value.ToString()
|
|
Next
|
|
Next
|
|
|
|
xlWorkSheet.SaveAs(SaveFileDialog.FileName)
|
|
xlWorkBook.Close()
|
|
xlApp.Quit()
|
|
|
|
releaseObject(xlApp)
|
|
releaseObject(xlWorkBook)
|
|
releaseObject(xlWorkSheet)
|
|
End Sub
|
|
|
|
Private Sub cmbLine_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbLine.SelectedIndexChanged
|
|
dgKitting.Rows.Clear()
|
|
getModels()
|
|
End Sub
|
|
|
|
Private Sub cmbSeq_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbSeq.SelectedIndexChanged
|
|
dgKitting.Rows.Clear()
|
|
getLines()
|
|
End Sub
|
|
|
|
Private Sub cmbModel_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbModel.SelectedIndexChanged
|
|
dgKitting.Rows.Clear()
|
|
getTypes()
|
|
End Sub
|
|
|
|
Private Sub cmbRev_SelectedIndexChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbRev.SelectedIndexChanged
|
|
If txtLoading.Text <> "" And cmbSeq.SelectedItem <> "" And cmbLine.SelectedItem <> "" And cmbModel.SelectedItem <> "" And cmbType.SelectedItem <> "" And cmbRev.SelectedItem <> "" Then
|
|
'fillDataSetKitted()
|
|
If Not kitted Then
|
|
fillDataSet()
|
|
End If
|
|
fillDataGridView()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub cmbType_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbType.SelectedIndexChanged
|
|
dgKitting.Rows.Clear()
|
|
getRevisions()
|
|
End Sub
|
|
|
|
Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
|
|
reset()
|
|
End Sub
|
|
End Class |