private void Show_Display() { string wst_id, cur_empl, out_time; string subline; frmClient frmLayout = new frmClient("", Cur_Line_ID, MasterDatabase_Connection_Str); Line line = frmLayout.GetLineInstant(); line.SetInactiveLine(); line.SetDisableLine(); // Create WST Ready List & WST Inactive List foreach (DataRow row in Current_Line_Status.Rows) { subline = row["SubLine_ID"].ToString().Trim(); wst_id = row["WST_ID"].ToString().Trim(); cur_empl = row["Empl_ID"].ToString().Trim(); out_time = row["To_Time"].ToString().Trim(); if ((subline == FRU_LINE) || (subline == STAND_LINE)) { if ((cur_empl != "") && (out_time == "")) { line.SetReady_FRU_WST(wst_id, cur_empl); } else { line.SetReady_FRU_Inactive_WST(wst_id); } } else { if ((cur_empl != "") && (out_time == "")) { line.SetReady_WST(wst_id, cur_empl); } else { line.SetInactiveWST(wst_id); } } } frmLayout.ShowDialog(); }
private bool Create_Tracking(string msnv) { DateTime date = Cur_Date; string line_id; string wst_id; string plan_wst = ""; DataTable job_plan; bool use_for_cur_PO; string po_wst; string[] wst_list; string empl_name = ""; string cur_empl, out_time; frmClient frmLayout; Line line; Load_List_of_WST(Cur_Line_ID); int total = List_WST_dtb.Rows.Count; Cur_WST_ID = ""; switch (Tracking_Mode) { case TRACKING_MODE.MANUAL_OUT: return Empl_Check_out(msnv); break; case TRACKING_MODE.MANUAL_IN: case TRACKING_MODE.NORMAL_IN: empl_name = Get_Empl_Name(msnv); // Get WST in Plan job_plan = Load_Cur_JobsPlan(msnv, date); if ((job_plan != null) && (job_plan.Rows.Count > 0)) { plan_wst = job_plan.Rows[0]["WST_ID"].ToString().Trim(); } // WST_plan in this Line or Not: if WST_Plan in this line set WST value to Cur_WST_ID if (Tracking_Mode == TRACKING_MODE.NORMAL_IN) { wst_list = new string[total]; for (int i = 0; i < total; i++) { wst_list[i] = List_WST_dtb.Rows[i]["WST_ID"].ToString().Trim(); if ((plan_wst == wst_list[i]) && (plan_wst != "")) { Cur_WST_ID = plan_wst; } } } use_for_cur_PO = false; foreach (DataRow row in Current_Line_Status.Rows) { po_wst = row["WST_ID"].ToString().Trim(); if (Cur_WST_ID == po_wst) { use_for_cur_PO = true; break; } } if (use_for_cur_PO == false) { if (MessageBox.Show("PO hiện tại không bao gồm vị trí (WST) trong kế hoạch của Bạn. \nBạn có vào WST khác không?", "Warning", MessageBoxButtons.YesNo) != DialogResult.Yes) { MessageBox.Show(msnv + ": Bạn vui lòng về Line STAND", "Warning"); return false; } } // If WST_Plan no in current line ==> Allow to select this WST if ((Cur_WST_ID == "") || (Is_Empty_WST(Cur_WST_ID) == false)) { if (Cur_WST_ID == "") { if (MessageBox.Show("Bạn không được sắp trong line này. \nBạn có chắc bạn sẽ vào line này không?", "Warning", MessageBoxButtons.YesNo) != DialogResult.Yes) { return false; } } else if (Is_Empty_WST(Cur_WST_ID) == false) { if (MessageBox.Show("WST làm việc của bạn trong kế hoạch đã có nhân viên khác làm. \nBạn có vào WST khác không?", "Warning", MessageBoxButtons.YesNo) != DialogResult.Yes) { return false; } } use_for_cur_PO = false; foreach (DataRow row in Current_Line_Status.Rows) { po_wst = row["WST_ID"].ToString().Trim(); if (Cur_WST_ID == po_wst) { use_for_cur_PO = true; break; } } if (use_for_cur_PO == true) { if (MessageBox.Show("PO hiện tại không bao gồm vị trí (WST) trong kế hoạch của Bạn. \nBạn có vào WST khác không?", "Warning", MessageBoxButtons.YesNo) != DialogResult.Yes) { MessageBox.Show(msnv + ": Bạn vui lòng về Line STAND", "Warning"); return false; } } frmLayout = new frmClient("Please Select WST", Cur_Line_ID, MasterDatabase_Connection_Str); line = frmLayout.GetLineInstant(); line.SetDisableLine(); // Create WST Ready List foreach (DataRow row in Current_Line_Status.Rows) { wst_id = row["WST_ID"].ToString().Trim(); cur_empl = row["Empl_ID"].ToString().Trim(); out_time = row["To_Time"].ToString().Trim(); if ((cur_empl != "") && (out_time == "")) { line.SetReady_WST(wst_id, cur_empl); } else { line.SetInactiveWST(wst_id); } } if (frmLayout.ShowDialog() == DialogResult.OK) { Cur_WST_ID = frmLayout.WST_Selected.Trim(); if (Cur_WST_ID == "") { return false; } } else { return false; } } if ((Cur_WST_ID != null) && (Cur_WST_ID != "")) { // Show Current Empty Position frmLayout = new frmClient("", Cur_Line_ID, MasterDatabase_Connection_Str); line = frmLayout.GetLineInstant(); line.SetActiveWST(Cur_WST_ID, ""); frmLayout.ShowDialog(); /********************************************************************************************/ //@TODO (1): need to apply: Một nhân viên không được làm 2 line // --> nhưng một nhân viên có thể làm nhiều trạm trên cùng 1 line // Load_Cur_JobsPlan_Details(msnv, date); Load_Job_Tracking(msnv, date); // Close Current Line foreach (DataRow row in JobsTracking_dtb.Rows) { line_id = row["LineID"].ToString().Trim(); wst_id = row["WST_ID"].ToString().Trim(); out_time = row["To_Time"].ToString().Trim(); //if ((line_id != Cur_Line_ID) && (out_time != "")) if ((line_id != Cur_Line_ID) && (out_time == "")) // edit Thuy { // row["To_Time"] = Cur_Date.TimeOfDay; // Hiển thị thông báo một người không được làm 2 line và thoát ra MessageBox.Show("Một người không được làm 2 line", "Warning"); return false; } } /********************************************************************************************/ // add new record // Check In Empl_Check_in(Cur_WST_ID, msnv, empl_name); Update_SQL_Data(Current_Line_Status_da, Current_Line_Status); return true; } break; case TRACKING_MODE.FRU_IN: empl_name = Get_Empl_Name(msnv); if ((Cur_Part == "") || (Cur_PO == "")) { MessageBox.Show("Bạn chưa chọn PO.\nVui Lòng Chọn PO!", "Cảnh Báo"); return false; } if (MessageBox.Show("Bạn sẽ làm PO " + FRU_Rb.Text.Trim() + "?", "Cảnh Báo", MessageBoxButtons.YesNo) != DialogResult.Yes) { return false; } frmLayout = new frmClient("Please Select WST", Cur_Line_ID, MasterDatabase_Connection_Str); line = frmLayout.GetLineInstant(); line.SetInactiveLine(); // Create WST Ready List foreach (DataRow row in Current_Line_Status.Rows) { wst_id = row["WST_ID"].ToString().Trim(); line.SetDisable_WST(wst_id); } if (frmLayout.ShowDialog() == DialogResult.OK) { Cur_WST_ID = frmLayout.WST_Selected.Trim(); if (Cur_WST_ID == "") { return false; } } else { return false; } frmLayout = new frmClient("", Cur_Line_ID, MasterDatabase_Connection_Str); line = frmLayout.GetLineInstant(); line.SetActiveWST(Cur_WST_ID, ""); frmLayout.ShowDialog(); Empl_FRU_Check_in(Cur_WST_ID, msnv, empl_name); break; } return false; }