hoạch định tổng hợp và điều độ sản xuất trong xí nghiệp cơ khí

216 263 0
hoạch định tổng hợp và điều độ sản xuất trong xí nghiệp cơ khí

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỀ TÀI NCKH CẤP SINH VIÊN HOẠCH ĐỊNH TỔNG HỢP VÀ ĐIỀU ĐỘ SẢN XUẤT TRONG XÍ NGHIỆP CƠ KHÍ S K C 0 9 MÃ SỐ: SV77-2005 S KC 0 1 7 Tp Hồ Chí Minh, 2009 BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA CƠ KHÍ MÁY BỘ MÔN CÔNG NGHỆ TỰ ĐỘNG NGHIÊN CỨU KHOA HỌC HOẠCH ĐỊNH TỔNG HP VÀ ĐIỀU ĐỘ SẢN XUẤT TRONG XÍ NGHIỆP CƠ KHÍ Mã số: SV77-2005 GVHD: Th.S NGUYỄN NGỌC ĐÀO SVTH: ĐOÀN THỊ MỸ ĐÔNG MSSV: 01112013 SVTH: LÊ THỊ LAM TUYỀN MSSV: 01112059 TP HỒ CHÍ MINH, THÁNG 02/2006 PHẦN XÂY DỰNG HỆ THỐNG KIỂM SOÁT CHẤT LƯNG CHO DÂY CHUYỀN SẢN XUẤT SẢN PHẨM GHẾ PALMA WHEELLOUNGER TẠI XƯỞNG KIM LOẠI CÔNG TY TNHH SCANCOM VIỆT NAM i TÓM TẮT PHẦN Sử dụng công cụ thống kê để áp dụng vào việc ‚Xây dựng hệ thống kiểm soát chất lượng cho dây chuyền sản xuất sản phẩm Palma Wheellounger phân xưởng kim loại công ty Scancom Việt Nam‛ với nội dung công việc thực từ việc tìm hiểu quy trình công nghệ sản xuất sản phẩm Palma Wheellounger phân xưởng khí công ty Scancom Việt Nam Sau tiến hành xác đònh phân tích nguyên nhân gây lỗi trường xảy chi tiết sản phẩm Palme Wheellounger công đoạn sản xuất Dữ liệu phân tích gồm hai loại: - Dữ liệu phân tích 120 sản phẩm Palma Wheellounger ngày, ngày lấy mẫu 20 sản phẩm Palma Wheellouger suốt khoảng thời gian từ 03/10/2005 đến ngày 08/10/2005 Dữ liệu thu thập từ việc ghi nhận lại số lỗi sản phẩm trạm kiểm tra ” Trạm kiểm tra đầu trước xuất hàng - xưởng kim loại công ty Scancom Việt Nam Trên sở phân tích tổng quát tình trạng lỗi xảy sản phẩm ghế Palma Wheellounger, tiến hành chọn chi tiết đại diện mắc phải nhiều lỗi để phân tích - Dữ liệu phân tích 600 chi tiết ngày, ngày lấy mẫu 100 chi tiết loại suốt khoảng thời gian từ 10/10/2005 đến ngày 05/11/2005 để kiểm tra Dữ liệu thu thập từ việc ghi nhận lại số lỗi sản phẩm từ trạm kiểm tra đến trạm kiểm tra xưởng kim loại công ty Scancom Việt Nam Trên sở đó, nội dung luận văn xây dựng lại hệ thống đặt trạm kiểm tra sản phẩm cho loại sản phẩm hàng rời đặc thù sản phẩm Palma Wheellounger Đồng thời đề cách thu thập dạng lỗi với kế hoạch kiểm soát trình sản xuất ii MỤC LỤC Đề mục Trang Trang bìa - i Tóm tắt đề tài - ii Mục lục iii Danh sách hình vẽ - iv Danh sách bảng biểu - v Danh sách từ viết tắt vi CHƯƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI 1.1 Đặt vấn đề 1.2 Mục tiêu đề tài 1.3 Nội dung nghiên cứu 1.4 Phạm vi nghiên cứu - 1.5 Cấu trúc tổng quát đề tài CHƯƠNG 2: CƠ SỞ LÝ THUYẾT - 2.1 Giới thiệu khái quát chất lượng 2.1.1 Khái niệm chất lượng 2.1.2 Những triết lý chất lượng bật 2.1.3 Mục đích kiểm tra chất lượng 2.2 Khái niệm kiểm soát chất lượng thống kê 2.2.1 Khái niệm kiểm soát chất lượng - 2.2.2 Kiểm soát chất lượng tổng thể - 2.3 Lấy mẫu kiểm đònh 2.4 Kiểm soát trình phương pháp thống kê 12 2.4.1 Lưu đồ (Flow Charts) 12 2.4.2 Kiểm đồ - 14 CHƯƠNG 3: GIỚI THIỆU VỀ CÔNG TY SCANCOM VIỆT NAM - 20 3.1 Lòch sử hình thành phát triển công ty Scancom 20 3.1.1 Sơ lược công ty Scancom quốc tế 20 3.1.2 Lòch sử hình thành Scancom Việt Nam - 20 3.1.2.1 Quy mô 20 iii 3.1.2.2 Quá trình hoạt động 21 3.2 Chiến lược công ty Scancom Việt Nam 23 3.2.1 Chiến lược cho năm tới 23 3.2.2 Những chiến lược chủ yếu cho năm 2005 24 3.3 Sơ đồ tổ chức nhà máy Sóng Thần công ty Scancom Việt Nam 24 3.3.1 Sơ đồ tổ chức - 24 3.3.2 nhiệm vụ, chức phận 24 3.4 Sơ đồ hoạt động xưởng kim loại công ty Scancom Việt Nam - 25 3.4.1 Sơ đồ tổ chức - 25 3.4.2 Nhiệm vụ, chức đơn vò - 25 3.4.3 Sơ đồ quy trình sản xuất chung xưởng kim loại 27 3.5 Hệ thống quản lý chất lượng công ty 34 3.5.1 Sơ đồ tổ chức phòng QA - 34 3.5.2 Chính sách chất lượng công ty Scancom Việt Nam 34 3.6 Đánh giá thực trạng xưởng I ” xưởng kim loại công ty Scancom VN - 34 CHƯƠNG PHƯƠNG PHÁP NGHIÊN CỨU 40 4.1 Xác đònh sản phẩm (Model) cần nghiên cứu 40 4.1.1 Lý chọn sản phẩm 40 4.1.2 Sơ lược cấu tạo ghế Palma Wheellounger 40 4.1.3 Thu thập liệu xử lý liệu - 44 4.1.4 Kiểm soát chất lượng công cụ thống kê 46 4.2 Công đoạn cắt uốn - 53 4.2.1 Chi tiết chân trước ” A 54 4.2.2 Chi tiết mê ngồi ” B - 61 4.2.3 Chi tiết chân trụ ” C - 67 4.2.4 Chi tiết đỡ tay vòn ” D - 73 4.2.5 Chi tiết chân sau ” E 79 4.2.6 Nhận đònh chung kết trình công đoạn cắt uốn giải pháp để hạn chế số lỗi để trình hoạt động hiệu 85 4.3 Công đoạn hàn mài 87 4.3.1 Quy trình hàn mài 87 4.3.2 Cụm khung chân - 90 iv 4.3.3 Cụm khung đỡ tựa lưng - 96 4.3.4 Cụm khung chống - 102 4.3.5 Nhận đònh chung kết trình công đoạn hàn mài giải pháp hạn chế số lỗi để trình hoạt động hiệu 107 4.4 Công đoạn sơn tónh điện - 109 4.4.1 Quy trình sơn tónh điện - 109 4.4.2 Tiêu chuẩn kiểm tra lỗi thường xảy công đoạn sơn tónh điện phân xưởng kim loại ” công ty Scancom Việt Nam 111 4.4.3.Kiểm soát công đoạn sơn tónh điện công cụ thống kê 113 4.5 Công đoạn đóng gói 118 4.5.1 Quy trình đóng gói 118 4.5.2 Kiểm soát công đoạn đóng gói công cụ thống kê - 119 4.5.3 Hướng khắc phục công đoạn đóng gói - 124 CHƯƠNG 5: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG KIỂM SOÁT CHẤT LƯNG 126 5.1 Mô hình chung hệ thống quản lý chất lượng - 126 5.2 Thiết kế hệ thống chất lượng phân xưởng kim loại công ty Scancom Việt Nam 128 5.2.1 Kiểm soát nguyên liệu đưa vào trình sản xuất phân xưởng I ” phân xưởng kim loại công ty Scancom Việt Nam 128 5.2.2 Công nhân tự kiểm tra công đoạn công đoạn trước mà gây ảnh hưởng đến công đoạn sản xuất họ - 128 5.2.3 Thiết lập trạm kiểm tra trình sản xuất sản phẩm ghế nhôm phân xưởng kim loại công ty Scancom Việt Nam 130 5.2.4 Phương pháp đánh giá hệ thống 145 CHƯƠNG 6: KẾT LUẬN VÀ KIẾN NGHỊ - 147 6.1 Kết luận 147 6.2 Kiến nghò - 148 6.2.1 Về chi phí chất lượng - 148 6.2.2 Quản lý chất lượng công cụ thống kê - 148 6.2.3 Kế hoạch xây dựng hướng phát triển 149 TÀI LIỆU THAM KHẢO - 151 PHỤ LỤC - 152 v Phụ lục A: Hướng dẫn sử dụng phần mềm DS/QM/POM for Windows, version 2.0 hãng Horward J.Weiss - 152 Phụ lục B: Bản vẽ kỹ thuật chi tiết sản phẩm ghế Palma Wheellounger - 159 vi DANH SÁCH HÌNH VẼ Hình 2.1 Sơ đồ lấy mẫu hai lần 10 Hình 2.2 Biểu đồ tần đồ - 12 Hình 2.3 Phiếu kiểm tra - 12 Hình 2.4 Biểu đồ Pareto - 13 Hình 2.5 Biểu đồ nhân - 13 Hình 2.6 Biểu đồ tán đồ - 14 Hình 3.1 Sơ đồ cấu trúc tập đoàn Scancom quốc tế - 20 Hình 3.2 Biểu đồ thể sản lượng cho năm tới công ty Scancom Việt Nam 23 Hình 3.3 Sơ đồ tổ chức nhà máy Sóng Thần công ty Scancom Việt Nam - 24 Hình 3.4 Sơ đồ tổ chức phân xưởng I (phân xưởng kim loại) công ty Scancom Việt Nam 25 Hình 3.5 Sơ đồ tổ chức phòng QA 34 Hình 3.6 Biểu đồ xương cá phân tích nguyên nhân ảnh hưởng đến hiệu làm việc nhân viên QC 35 Hình 3.7 Lưu đồ quy trình hàn mài - 36 Hình 3.8 Biểu đồ xương cá phân tích lỗi thường phát trạm kiểm tra cuối trước xuất hàng 38 Hình 3.9 Biểu đồ xương cá phân tích nguyên nhân yếu ảnh hưởng đến chất lượng sản phẩm 38 Hình 4.1 Hình ảnh tổng thể sản phẩm ghế Palma Wheellounger - 40 Hình 4.2 Sơ đồ chia cụm 41 Hình 4.3 Biểu đồ xương cá phân tích nguyên nhân ảnh hưởng đến chất lượng sản phẩm ghê Palma Wheellounger 46 Hình 4.4 Biểu đồ PARETO so sánh dạng lỗi phát trạm kiểm tra 50 Hình 4.5 Biểu đồ nhân phân tích lỗi sản phẩm Palma Wheellounger trạm kiểm tra - 51 Hình 4.6 Biểu đồ kiểm soát phần trăm phế phẩm sản phẩm Palma Wheellounger trạm kiểm tra đầu (kết từ phần mềm QM 2.0 for Win) - 52 Hình 4.7 Biểu đồ Pareto so sánh dạng lỗi xảy chi tiết chân trước trạm kiểm tra - 57 vii Hình 4.8 Biểu đồ xương cá phân tích nguyên nhân gây lỗi chi tiết chân trước công đoạn cắt uốn - 58 Hình 4.9 Biểu đồ kiểm soát phần trăm phế phẩm chi tiết chân trước trạm kiểm tra - 60 Hình 4.10 Biểu đồ Pareto so sánh dạng lỗi xảy chi tiết mê ngồi trạm kiểm tra - 64 Hình 4.11 Biểu đồ xương cá phân tích nguyên nhân gây lỗi chi tiết mê ngồi công đoạn cắt uốn - 65 Hình 4.12 Biểu đồ kiểm soát phần trăm phế phẩm chi tiết mê ngồi trạm kiểm tra - 67 Hình 4.13 Biểu đồ Pareto so sánh dạng lỗi xảy chi tiết chân trụ trạm kiểm tra - 70 Hình 4.14 Biểu đồ biểu đồ xương cá phân tích nguyên nhân gây lỗi chi tiết chân trụ công đoạn cắt uốn - 71 Hình 4.15 Biểu đồ kiểm soát phần trăm phế phẩm chi tiết chân trụ trạm kiểm tra - 73 Hình 4.16 Biểu đồ Pareto so sánh dạng lỗi xảy chi tiết đỡ tay vòn trạm kiểm tra 76 Hình 4.17 Biểu đồ biểu đồ xương cá phân tích nguyên nhân gây lỗi chi tiết đỡ tay vòn công đoạn cắt uốn - 77 Hình 4.18 Biểu đồ kiểm soát phần trăm phế phẩm chi tiết đỡ tay vòn ” D trạm kiểm tra - 79 Hình 4.19 Biểu đồ Pareto so sánh dạng lỗi xảy chi tiết chân sau ” E trạm kiểm tra - 82 Hình 4.20 Biểu đồ xương cá phân tích nguyên nhân gây lỗi chi tiết chân sau công đoạn cắt uốn 83 Hình 4.21 Biểu đồ kiểm soát phần trăm phế phẩm chi tiết chân sau ” E trạm kiểm tra - 85 Hình 4.22 Các mối hàn cụm khung chân - 90 Hình 4.23 Sơ đồ hàn cụm khung chân - 91 Hình 4.24 Biểu đồ Pareto so sánh dạng lỗi xảy cụm khung chân trạmk kiểm tra công đoạn hàn mài 93 Hình 4.25 Biểu đồ xương cá phân tích nguyên nhân gây lỗi cụm khung chân công đoạn hàn mài - 94 Hình 4.26 Biểu đồ kiểm soát phần trăm phế phẩm cụm khung chân trạm kiểm tra công đoạn hàn mài - 96 Hình 4.27 Các mối hàn cụm khung đỡ tựa lưng - 96 viii  Trạm 11  Trạm 12  Trạm 13  Trạm 14  Trạm 15 146  Trạm 16  Trạm 17  Trạm 18  Trạm 19  Trạm 20 147  Trạm 21  Trạm 22  Trạm 23  Trạm 24  Trạm 25  Trạm 26 148 PHỤ LỤC E Chương trình Visual Basic 149 Dim ArrMaCV() As String Dim ArrNC() As String Dim ArrNCBookMark() As Boolean Dim ArrSTT() As Integer Dim ArrSTTBoolMark() As Boolean Dim TimeT1 As Double Dim TimeT2 As Double Dim TramCN1() As String Dim TramCN2() As String Dim TramTG1() As Double Dim TramTG2() As Double Dim TimeProcess As Double Dim Flag As Boolean Dim TempProcessTime As Double Dim TempProcessSTT As Integer Dim TempProcessWork As String Dim FlagNumericSoCN As Boolean Private Sub cmdDisplayTram_Click() MSFlexGridDisplay.Rows = MSFlexGridDisplay.Cols = MSFlexGridDisplay.Cols = MSFlexGridDisplay.ColWidth(0) = 800 MSFlexGridDisplay.ColWidth(1) = 1500 MSFlexGridDisplay.ColWidth(2) = 10000 Dim I As Integer Dim RowDgrid As Integer RowDgrid = MSFlexGridDisplay.AddItem "" Call AddMSFlexGrid(MSFlexGridDisplay, 0, RowDgrid, "Trạm", &HC0FFC0) Call AddMSFlexGrid(MSFlexGridDisplay, 1, RowDgrid, "Công nhân", &HC0FFC0) Call AddMSFlexGrid(MSFlexGridDisplay, 2, RowDgrid, "Công việc thực hiện", &HC0FFC0) Call AddMSFlexGrid(MSFlexGridDisplay, 3, RowDgrid, "Thời gian", &HC0FFC0) Call AddMSFlexGrid(MSFlexGridDisplay, 4, RowDgrid, "Hiệu suất", &HC0FFC0) RowDgrid = RowDgrid + If Not Flag Then MsgBox "Xin vui long chon phan cong", vbOKOnly Exit Sub End If For I = To UBound(TramCN1) 150 If Not TramCN1(I) = "" Then TramCN1(I) = Left(TramCN1(I), Len(TramCN1(I)) - 1) End If MSFlexGridDisplay.AddItem "" Call AddMSFlexGrid(MSFlexGridDisplay, 0, RowDgrid, "Trạm " & I + 1) Call AddMSFlexGrid(MSFlexGridDisplay, 1, RowDgrid, 1) Call AddMSFlexGrid(MSFlexGridDisplay, 2, RowDgrid, TramCN1(I)) Call AddMSFlexGrid(MSFlexGridDisplay, 3, RowDgrid, TramTG1(I)) Call AddMSFlexGrid(MSFlexGridDisplay, 4, RowDgrid, Round(CDbl((TramTG1(I) * 100) / CDbl(txtTimeLimit.Text)), 2) & "% ") RowDgrid = RowDgrid + If Not TramCN2(I) = "" Then TramCN2(I) = Left(TramCN2(I), Len(TramCN2(I)) - 1) End If MSFlexGridDisplay.AddItem "" Call AddMSFlexGrid(MSFlexGridDisplay, 0, RowDgrid, "") Call AddMSFlexGrid(MSFlexGridDisplay, 1, RowDgrid, 2) Call AddMSFlexGrid(MSFlexGridDisplay, 2, RowDgrid, TramCN2(I)) Call AddMSFlexGrid(MSFlexGridDisplay, 3, RowDgrid, TramTG2(I)) Call AddMSFlexGrid(MSFlexGridDisplay, 4, RowDgrid, Round(CDbl((TramTG2(I) * 100) / CDbl(txtTimeLimit.Text)), 2) & "% ") RowDgrid = RowDgrid + Next End Sub Private Sub cmdDong_Click() Unload Me End Sub Private Sub cmdExec_Click() ReDim TramCN1(0) ReDim TramCN2(0) ReDim TramTG1(0) ReDim TramTG2(0) Flag = True MSFlexGridDisplay.Rows = MSFlexGridDisplay.Cols = Dim rs As New ADODB.Recordset With rs ActiveConnection = Conn LockType = adLockPessimistic CursorLocation = adUseClient CursorType = adOpenStatic Source = "Select * from Phancongnew order by STT" 151 .Open End With If RCount >= Then Dim TempMaCV As String Dim I As Integer Dim J As Integer Dim Stt As Integer Dim VarCount As Integer Dim RowDgrid As Integer RowDgrid = MSFlexGridDisplay.Cols = MSFlexGridDisplay.ColWidth(0) = 2000 MSFlexGridDisplay.ColWidth(1) = 2600 MSFlexGridDisplay.ColWidth(2) = 2000 MSFlexGridDisplay.ColWidth(3) = 2000 MSFlexGridDisplay.ColWidth(4) = 2000 MSFlexGridDisplay.ColWidth(5) = 2000 MSFlexGridDisplay.ColWidth(6) = 2000 Dim TempSTT As Integer Dim TempSoCN As Integer With rs MoveFirst For I = To RecordCount - ReDim Preserve ArrMaCV(I) ReDim Preserve ArrSTT(I) ReDim Preserve ArrSTTBoolMark(I) ReDim Preserve ArrNC(I) ReDim Preserve ArrNCBookMark(I) ArrNC(I) = "" ArrMaCV(I) = Trim(.Fields("MaCV").Value) ArrSTTBoolMark(I) = False ArrSTT(I) = Fields("STT").Value ArrNCBookMark(I) = False MoveNext Next Dim checkExit As Boolean Dim bolTemp As Boolean Dim iTram As Integer iTram = Stt = Do While True ReDim Preserve TramCN1(iTram) ReDim Preserve TramCN2(iTram) ReDim Preserve TramTG1(iTram) 152 ReDim Preserve TramTG2(iTram) VarCount = Stt = MSFlexGridDisplay.AddItem "" Call AddMSFlexGrid(MSFlexGridDisplay, 0, RowDgrid, "Trạng thái", &HC0FFC0) Call AddMSFlexGrid(MSFlexGridDisplay, 1, RowDgrid, "Công việc phân bổ", &HC0FFC0) Call AddMSFlexGrid(MSFlexGridDisplay, 2, RowDgrid, "Te", &HC0FFC0) Call AddMSFlexGrid(MSFlexGridDisplay, 3, RowDgrid, "Công nhân", &HC0FFC0) Call AddMSFlexGrid(MSFlexGridDisplay, 4, RowDgrid, "T1", &HC0FFC0) Call AddMSFlexGrid(MSFlexGridDisplay, 5, RowDgrid, "T2", &HC0FFC0) Call AddMSFlexGrid(MSFlexGridDisplay, 6, RowDgrid, "Ts1", &HC0FFC0) RowDgrid = RowDgrid + If iTram > Then TimeT1 = TimeT2 = TimeProcess = End If Do While True VarCount = With rs TempProcessTime = FlagNumericSoCN = False MoveFirst For I = To RecordCount - bolTemp = FindArrayNguyenCong(.Fields("Nguyencong").Value) If bolTemp Then TempMaCV = CheckValidWork(.Fields("SoCN").Value, Trim(.Fields("MaCV").Value), Fields("Thoigian"), iTram, Fields("STT").Value, CDbl(txtTimeLimit.Text)) If (Not TempMaCV = "") And (Not FlagNumericSoCN) Then MSFlexGridDisplay.AddItem "" Call AddMSFlexGrid(MSFlexGridDisplay, 0, RowDgrid, Stt) Call AddMSFlexGrid(MSFlexGridDisplay, 1, RowDgrid, Fields("STT").Value) Call AddMSFlexGrid(MSFlexGridDisplay, 2, RowDgrid, Fields("Thoigian").Value) 153 Call AddMSFlexGrid(MSFlexGridDisplay, 3, RowDgrid, Fields("SoCN").Value) Call AddMSFlexGrid(MSFlexGridDisplay, 4, RowDgrid, TramTG1(iTram)) Call AddMSFlexGrid(MSFlexGridDisplay, 5, RowDgrid, TramTG2(iTram)) Call AddMSFlexGrid(MSFlexGridDisplay, 6, RowDgrid, TimeProcess) RowDgrid = RowDgrid + Stt = Stt + Else VarCount = VarCount + End If Else VarCount = VarCount + End If MoveNext Next End With If FlagNumericSoCN Then VarCount = TempProcessSTT With rs TempProcessTime = 'FlagNumericSoCN = False MoveFirst For I = TempProcessSTT To RecordCount - bolTemp = FindArrayNguyenCong(.Fields("Nguyencong").Value) If bolTemp Then TempMaCV = CheckValidWork(.Fields("SoCN").Value, Trim(.Fields("MaCV").Value), Fields("Thoigian"), iTram, Fields("STT").Value, CDbl(txtTimeLimit.Text)) If (Not TempMaCV = "") Then MSFlexGridDisplay.AddItem "" Call AddMSFlexGrid(MSFlexGridDisplay, 0, RowDgrid, Stt) Call AddMSFlexGrid(MSFlexGridDisplay, 1, RowDgrid, Fields("STT").Value) Call AddMSFlexGrid(MSFlexGridDisplay, 2, RowDgrid, Fields("Thoigian").Value) Call AddMSFlexGrid(MSFlexGridDisplay, 3, RowDgrid, Fields("SoCN").Value) Call AddMSFlexGrid(MSFlexGridDisplay, 4, RowDgrid, TramTG1(iTram)) 154 Call AddMSFlexGrid(MSFlexGridDisplay, 5, RowDgrid, TramTG2(iTram)) Call AddMSFlexGrid(MSFlexGridDisplay, 6, RowDgrid, TimeProcess) RowDgrid = RowDgrid + Stt = Stt + Else VarCount = VarCount + End If Else VarCount = VarCount + End If MoveNext Next End With End If If VarCount = RecordCount Then bolTemp = False TempProcessTime = FlagNumericSoCN = True MoveFirst For I = To RecordCount - If CStr(Trim(.Fields("Nguyencong").Value)) = "0" Then bolTemp = CheckArrayNguyenCongInitial(.Fields("STT").Value, Trim(.Fields("MaCV").Value), Fields("Thoigian").Value, CDbl(txtTimeLimit.Text)) If bolTemp Then TempMaCV = CheckValidWork(.Fields("SoCN").Value, Trim(.Fields("MaCV").Value), Fields("Thoigian"), iTram, Fields("STT"), CDbl(txtTimeLimit.Text)) If Not TempMaCV = "" Then MSFlexGridDisplay.AddItem "" Call AddMSFlexGrid(MSFlexGridDisplay, 0, RowDgrid, Stt) Call AddMSFlexGrid(MSFlexGridDisplay, 1, RowDgrid, Fields("STT").Value) Call AddMSFlexGrid(MSFlexGridDisplay, 2, RowDgrid, Fields("Thoigian").Value) Call AddMSFlexGrid(MSFlexGridDisplay, 3, RowDgrid, Fields("SoCN").Value) Call AddMSFlexGrid(MSFlexGridDisplay, 4, RowDgrid, TramTG1(iTram)) Call AddMSFlexGrid(MSFlexGridDisplay, 5, RowDgrid, TramTG2(iTram)) 155 Call AddMSFlexGrid(MSFlexGridDisplay, 6, RowDgrid, TimeProcess) RowDgrid = RowDgrid + Stt = Stt + Exit For End If End If End If MoveNext Next If Not bolTemp Then Exit Do End If End If Loop checkExit = True For J = To UBound(ArrSTTBoolMark) If (Not ArrSTTBoolMark(J) = True) Then checkExit = False Exit For End If Next If checkExit Then Exit Do End If iTram = iTram + Loop End With End If MsgBox "Phan bo da xong!", vbOKOnly End Sub Private Function CheckValidWork(ByVal mSoCN As Integer, ByVal mWork As String, ByVal mTime As Double, ByVal mTram As Integer, ByVal mSTT As Integer, Optional mTimeLimit As Double = 159) As String Dim Temp As String Temp = "" Dim I As Integer For I = To UBound(ArrMaCV) If (UCase(Trim(ArrMaCV(I))) = UCase(Trim(mWork))) And (Not ArrSTTBoolMark(I) = True) And (TimeProcess + mTime = mT2 Then Temp = mT1 Else Temp = mT2 End If MaxTime = Temp End Function 157 Private Sub ProcessTime(ByVal mFlag As Boolean, ByRef mT1 As Double, ByRef mT2 As Double, ByVal mTime As Double, ByVal mSoCN As Integer, ByVal mTram As Integer, ByVal mSTT As Integer, ByVal mWork As String) mT1 = mT1 + mTime mT2 = mT2 + mTime If mSoCN = Then If mT1

Ngày đăng: 04/09/2016, 14:52

Từ khóa liên quan

Mục lục

  • SKC001177 1.pdf

    • Page 1

    • SKC001177.pdf

      • SKC001177 1.pdf

        • Page 1

        • 2 Bia RUOT.pdf

        • 3 Hoan chinh - de tai.pdf

        • 4 PHU LUC B-can bang chuyen-da sua.pdf

        • 5 PHU LUC C-gioi thieu phan mem.pdf

        • 6 PHU LUC D-DIEU DO.pdf

        • 7 PHU LUC E- chuong trinh visua baisc.pdf

        • 8 BIA SAU.pdf

          • Page 1

Tài liệu cùng người dùng

Tài liệu liên quan