-
Match dữ liệu 2 table Nhu Cầu SX và Năng và Lực SX
Phung Duc > 03-08-16, 02:00 PM
Mình gặp khó khăn khi match dữ liệu table "NhuCauSX" theo Ca1, Ca2, Ca3 (table "CaSX") theo nhu cầu sản xuất từ 1 đến 12 loại sản phẩm Ca1 sản xuất đầu tiên đến Ca2 và Ca3. Các bạn giúp làm sao để chạy được Ca nào sẽ sản xuất loại sản phẩm gì
https://drive.google.com/file/d/0Bx9f5ZA...sp=sharing -
RE: Match dữ liệu 2 table Nhu Cầu SX và Năng và Lực SX
Phung Duc > 03-08-16, 02:07 PM
Các bạn giúp làm sao để tải file Access lên diễn đàn. Cám ơn nhiều -
RE: Match dữ liệu 2 table Nhu Cầu SX và Năng và Lực SX
paulsteigel > 03-08-16, 02:08 PM
(03-08-16, 02:00 PM)Phung Duc Đã viết: Mình gặp khó khăn khi match dữ liệu table "NhuCauSX" theo Ca1, Ca2, Ca3 (table "CaSX") theo nhu cầu sản xuất từ 1 đến 12 loại sản phẩm Ca1 sản xuất đầu tiên đến Ca2 và Ca3. Các bạn giúp làm sao để chạy được Ca nào sẽ sản xuất loại sản phẩm gì
https://drive.google.com/file/d/0Bx9f5ZA...sp=sharing
Bạn đặt câu hỏi thế thì quá khó cho người trả lời...
Khi hỏi, cần làm rõ:
1. Đầu vào: Có những gì? Mối quan hệ của chúng ra sao?
2. Đầu ra: Cần gì? Quy trình xử lý ra sao?
Quay lại bài này:: Đọc một chút tôi tạm hiểu rằng bạn muốn sắp xếp ra ca sản xuất sao cho hợp lý và tối ưu dựa vào nhu cầu đặt hàng.
Tuy nhiên có một số điểm quan trọng mấu chốt thì lại không được làm rõ đó là:
+ Quan hệ các ca sản xuất thế nào? Làm thế nào để thể hiện hiệu quả của ca sản xuất? Giờ, số lượng công nhân? Năng suất quan hệ thế nào?
+ Ưu tiên sản xuất có quan hệ gì? cách xử lý ưu tiên thế nào
Cũng giống như xếp thời khóa biểu, quan trọng là bạn phải làm rõ được các yếu tố cấu thành bài toán thì mới có người trả lời cho bạn được. Trong làm phần mềm, khâu phân tích hệ thống và thể hiện nghiệp vụ là quan trọng và chiếm đến 80% tổng chi phí. Viết code chỉ chiếm 10% thôi (theo kinh nghiệm của tôi hiện tại)/
Thân -
RE: Match dữ liệu 2 table Nhu Cầu SX và Năng và Lực SX
zinzin8x > 03-08-16, 02:39 PM
"Các bạn giúp làm sao để chạy được Ca nào sẽ sản xuất loại sản phẩm gì? "
ý bạn là sao? 1 query à. hay cái gì nhỉ? hay là ca1 gắn với sp này, ca2 gắn với sp kia, ca3 sản phẩm nọ. Chưa rõ ý câu hỏi bạn lắm. -
RE: Match dữ liệu 2 table Nhu Cầu SX và Năng và Lực SX
Phung Duc > 03-08-16, 03:10 PM
mình giải thích them về nguồn dữ liệu
Table NhuCauSX.Tong_Tg la thời gian cần thiết để hoàn thành 1 sản phẩm ----> các Sản phẩm được sản xuất theo tuần tự 1-12 (Hết 1 sang 2 .... 12)
Table CaSX.TongGio là tổng thời gian sản xuất của 1 ca với số CaSX.SoCongNhan (sản xuât 7 giờ/ca)
3 ca sản xuât liên tuc trong ngày (Ca1 kết thuc đến Ca2 đến Ca3) đảm bảo sản phẩm liên tục từ LoạiSP1 kết thúc đến LoáiSP2 .... đến SP12
(Đương Link này hiển thị kết quả mong đợi được làm thủ công từ Excel)
Tks -
RE: Match dữ liệu 2 table Nhu Cầu SX và Năng và Lực SX
maidinhdan > 03-08-16, 04:18 PM
(03-08-16, 03:10 PM)Phung Duc Đã viết: mình giải thích them về nguồn dữ liệu
Table NhuCauSX.Tong_Tg la thời gian cần thiết để hoàn thành 1 sản phẩm ----> các Sản phẩm được sản xuất theo tuần tự 1-12 (Hết 1 sang 2 .... 12)
Table CaSX.TongGio là tổng thời gian sản xuất của 1 ca với số CaSX.SoCongNhan (sản xuât 7 giờ/ca)
3 ca sản xuât liên tuc trong ngày (Ca1 kết thuc đến Ca2 đến Ca3) đảm bảo sản phẩm liên tục từ LoạiSP1 kết thúc đến LoáiSP2 .... đến SP12
(Đương Link này hiển thị kết quả mong đợi được làm thủ công từ Excel)
Tks
Mình đã thực hiện Upload ảnh dùm bạn, chi tiết Upload ảnh và file xem dưới chữ ký của mình
Thân mến! -
RE: Match dữ liệu 2 table Nhu Cầu SX và Năng và Lực SX
paulsteigel > 04-08-16, 12:12 PM
Bài này của bạn chắc phải dùng code vì nó là dạng bài quy hoạch tuyến tính. Hiện tại, bận quá nên mình chưa nghĩ ra giải pháp dùng Query. Với Code thì hy vọng tối nay, đỡ bận hơn mình sẽ chia sẻ các làm. -
RE: Match dữ liệu 2 table Nhu Cầu SX và Năng và Lực SX
zinzin8x > 04-08-16, 02:51 PM
Cho đến khi bạn up hình lên mình vẫn chưa hình dung rõ bạn muốn gì?
phải chăng là thế này: cái thời gian cần thiết để hoàn thành sp ấy là lý thuyết, còn thời gian hoạt động thực tế có thể nhanh hơn hoặc chậm hơn đúng không?
hay Table NhuCauSX.Tong_Tg là thời gian thực tế sx của công nhân.
chứ như bạn miêu tả thì maSp là cố định, 7h 1 ca cũng là cố định, 5h sx đc 1 spA... cũng là cố định => số lượng sx đc trong 1 ca.
Như vậy thì mình phải sử lý số liệu nào. đâu là đầu vào, đâu là đâu ra, đâu là yếu tố thay đổi.
Bạn lên nói rõ hơn chút nữa nhé. hình như tổ chức cơ sở dữ liệu của bạn đang thừa. -
RE: Match dữ liệu 2 table Nhu Cầu SX và Năng và Lực SX
Phung Duc > 05-08-16, 10:33 AM
Chào các bạn
Giả thiết Bài toán này như sau:
Table NhuCauSX- Table NhuCauSX.Tong_Tg: là tổng thời gian cần để hoàn thành 209 sản phẩm được phân ra 5 nhóm sản phẩm
- Như sau:
+ LoaiSP_A: 20 (SP) x 5 (giờ/SP) = 100 giờ
+ LoaiSP_B: 23 (SP) x 5 (giờ/SP) = 115 giờ
+ LoaiSP_C: 26 (SP) x 3 (giờ/SP) = 78 giờ
+ LoaiSP_D: 60 (SP) x 6 (giờ/SP) = 360 giờ
+ LoaiSP_E: 80 (SP) x 2 (giờ/SP) = 160 giờ
- Thứ tự tuần tự sản xuất như sau: A---àB---àC---àD--àE
- CaSX.TongGio: là tổng thời gian của môic ca sản xuất cụ thể
+ Ca 1: 18 (ng) x 7 (gio/ngay) = 126 giờ công lao động
+ Ca 2: 17 (ng) x 7 (gio/ngay) = 119 giờ công lao động
+ Ca 3: 20 (ng) x 7 (gio/ngay) = 140 giờ công lao động
Y/c bài toán là:- Ca1: dự kiến SX bao nhiêu SP và loai sản phẩm?
- Ca2: dự kiến SX bao nhiêu SP và loai sản phẩm?
- Ca3: dự kiến SX bao nhiêu SP và loai sản phẩm?
- Ca1 (ngày tiếp theo): dự kiến SX bao nhiêu SP và loai sản phẩm?
- Ca2 (ngày tiếp theo):: dự kiến SX bao nhiêu SP và loai sản phẩm?
- Ca3(ngày tiếp theo):: dự kiến SX bao nhiêu SP và loai sản phẩm?
- …….
- Vi dụ: Nếu tính bằng manual thì kết quả là:
+ Ca1: 20 (LoaiSP_A – tương dương 100 giờ) + 5.2 (LoaiSP_B tương đương 26 giờ)
+ Ca2: 17.8 (LoaiSP_B – tương dương 48 giờ) + 22.3 (LoaiSP_C – tương dương 67 giờ)
+ Ca3: 3.67 (LoaiSP_C – tương dương 22 giờ) + 9.3 (LoaiSP_C – tương dương 56 giờ)
+ Ca1 hôm sau ……………………
Các bạn giúp nhé
Thanks a lot
- Table NhuCauSX.Tong_Tg: là tổng thời gian cần để hoàn thành 209 sản phẩm được phân ra 5 nhóm sản phẩm
-
RE: Match dữ liệu 2 table Nhu Cầu SX và Năng và Lực SX
ongke0711 > 06-08-16, 07:46 PM
Mình cũng khá hứng thú với các thuật toán như vậy nên cũng hay tìm tòi học hỏi (nhưng trên net ít quá). Mạn phép bác paulsteigel post code bài này, có gì bác hướng dẫn thêm cách làm theo qui hoạch tuyến tính giùm cho nó bài bản.
Link file: http://www.mediafire.com/download/avwer9...CongSX.mdb
[url=http://www.mediafire.com/download/avwer9exsh9s8mi/PhanCongSX.mdb][/url]Mã PHP:Public Sub ChiaCaSX(NgayBDSX As Date)
Dim rs_NhuCauSX As DAO.Recordset
Dim rs_CaSX As DAO.Recordset
Dim strSql As String
Dim ThoiGianSX As Long 'Tong thoi gian can de SX het 1 loai san pham. VD: Sp A = 100 h (20 dv x 5h)'
Dim ThoiGianSXConLai As Long 'So th.gian con lai de hoan thanh SX 1 loai SP'
Dim GioTheoCa As Long 'Tong so gio 1 ca SX'
Dim GioCaDaSuDung As Long 'So gio CaSX da su dung de SX'
Dim TongGioCaDaSuDung As Long
Dim TenSP As String
Dim NgaySX As Date
Dim DemNgay As Long
Dim TenCaSX As String
Dim reccount As Long 'So CaSX trong ngay'
'Lay table NhuCauSX'
strSql = "SELECT * FROM tblNhuCauSX ORDER BY UuTienSX"
Set rs_NhuCauSX = CurrentDb.OpenRecordset(strSql)
'Lay table CaSX'
strSql = "SELECT * FROM tblCaSX ORDER BY CaSX"
Set rs_CaSX = CurrentDb.OpenRecordset(strSql)
'Lay ngay bat dau san xuat'
NgaySX = NgayBDSX
GioTheoCa = rs_CaSX!TongGioCa
TenCaSX = rs_CaSX!CaSX
'Dem co bao nhieu CaSX'
rs_CaSX.MoveLast
rs_CaSX.MoveFirst
'Xoa table KeHoachSX'
CurrentDb.Execute "DELETE * FROM tblKeHoachSX"
reccount = rs_CaSX.RecordCount
Do While Not rs_NhuCauSX.EOF 'Duyet qua tung dong san pham'
TenSP = rs_NhuCauSX!DanhMucSP
ThoiGianSX = rs_NhuCauSX!SoLuong * rs_NhuCauSX!TGianDonViSP
ThoiGianSXConLai = ThoiGianSX
TongGioCaDaSuDung = 0
Do
'Neu thoi gian CaSX nhieu hon hoac = thoi gian (con lai) de SX 1 loai SP'
If GioTheoCa >= ThoiGianSXConLai Then
GioCaDaSuDung = ThoiGianSXConLai
TongGioCaDaSuDung = TongGioCaDaSuDung + GioCaDaSuDung
GioTheoCa = GioTheoCa - ThoiGianSXConLai
ThoiGianSXConLai = 0
'Neu thoi gian CaSX < thoi gian (con lai) de SX 1 loai SP'
Else
GioCaDaSuDung = GioTheoCa
ThoiGianSXConLai = ThoiGianSXConLai - GioCaDaSuDung
GioTheoCa = 0
TongGioCaDaSuDung = TongGioCaDaSuDung + GioCaDaSuDung
End If
strSql = "Insert into tblKeHoachSX (TenSP, TenCaSX, GioCaSX, NgaySX) values ('" & TenSP & "', '" & TenCaSX & "', " & GioCaDaSuDung & ", #" & NgaySX & "#)"
'Debug.Print strSql'
CurrentDb.Execute strSql
'Khi so gio theo CaSX da su dung het thi qua ca ke tiep'
If GioTheoCa = 0 Then
'Neu dang o Ca cuoi ngay thi move qua Ca dau cua ngay hom sau'
If rs_CaSX.AbsolutePosition = reccount - 1 Then
rs_CaSX.MoveFirst
'Neu ngay SX ke tiep roi vao thu 6 thi doi den thu 2'
If Weekday(NgaySX) = vbFriday Then
NgaySX = NgaySX + 3
Else
NgaySX = NgaySX + 1
End If
Else
rs_CaSX.MoveNext
End If
'Lay ten CaSX va gio theo ca SX ke tiep'
GioTheoCa = rs_CaSX!TongGioCa
TenCaSX = rs_CaSX!CaSX
End If
'Move qua san pham ke tiep khi da SX xong SP'
Loop Until TongGioCaDaSuDung = ThoiGianSX
rs_NhuCauSX.MoveNext
Loop
End Sub