private void llbNGTip_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { try { if (e.Button == MouseButtons.Left) { NGTipForm form = new NGTipForm(); if (form.ShowDialog(this, this.NGTable, _remainHours, this.TodayIsHoliday) == DialogResult.OK) { DatabaseSet.工時Row row = form.DataRow; string replace = row["取代編號"].ToString(); if (_dataTable.Select("取代編號 = '" + replace + "'").Length > 0) { throw new SWLHMSException("此筆重驗資料已存在"); } DatabaseSet.工時Row newRow = _dataTable.New工時Row(); //MessageBox.Show("工時資料編號 " + form.SelectedHourDataID); // Check the borrow line string borrower = null; if (ckbBorrowLine.Checked) { if (cbbBorrowLine.SelectedIndex == -1) { throw new SWLHMSException("請選擇借入產線"); } borrower = (string)this.cbbBorrowLine.SelectedItem; } // hour type HourType hourType = (HourType)cbxHourType.SelectedIndex; newRow["品號"] = row["品號"]; newRow["取代編號"] = row["取代編號"]; newRow.FillRow(this.SelectedLaborNumber, dtpDate.Value, row["工作單號"].ToString(), (decimal)row["工時"], (int)row["待驗數量"], borrower, row["QCN"].ToString(), (int)row["工品編號"], hourType); newRow.新舊 = "*"; newRow["工時類型名稱"] = hourType.ToString(); _dataTable.Rows.Add(newRow); dgvHoursData.AutoResizeColumns(); UpdateRemainHour(); UpdateRemainAmount(); } } } catch (Exception ex) { Global.ShowError(ex); } }
private void btnEditHourData_Click(object sender, EventArgs e) { try { if (bsHourData.DataSource != null && dgvHourData.CurrentRow != null) { EditHourDataForm form = new EditHourDataForm(); DatabaseSet.工時Row row = (dgvHourData.CurrentRow.DataBoundItem as DataRowView).Row as DatabaseSet.工時Row; form.EditHourdata(row.員工編號, row.日期); form.MdiParent = this.MdiParent; form.AllowDeleteOldData = true; form.Show(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void btnDelHourData_Click(object sender, EventArgs e) { try { if (bsHourData.DataSource != null && dgvHourData.CurrentRow != null) { DatabaseSet.工時Row row = (dgvHourData.CurrentRow.DataBoundItem as DataRowView).Row as DatabaseSet.工時Row; int count = 0; if (MessageBox.Show("確定刪除" + row.編號 + "此筆資料?", "刪除提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK) { if (row["工作單號"] != DBNull.Value) { string worksheet = row.工作單號; int wpid = row.工品編號; /* * row.Delete(); * int count = 工時TableAdapter.Instance.Update(row); */ count = 工時TableAdapter.Instance.DeleteEx(row.編號); DatabaseSet.UpdateWorksheetItemFinishDate(worksheet, wpid, true); } else { count = 工時TableAdapter.Instance.DeleteEx(row.編號); } MessageBox.Show("刪除了 " + count + " 筆資料"); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void btnAddList_Click(object sender, EventArgs e) { try { decimal hour = decimal.Parse(tbxHour.Text); if (_remainHours >= hour || ckbOvertime.Checked || this.TodayIsHoliday) { DatabaseSet.工時Row newRow = _dataTable.New工時Row(); if (rbProduce.Checked) { //if (dgvPart.CurrentRow != null) if (cbbPart.SelectedIndex != -1) { //string worksheetNumber = dgvPart.CurrentRow.Cells["col單號"].Value.ToString(); //string partNumber = dgvPart.CurrentRow.Cells["col品號"].Value.ToString(); DataRowView selectedRow = (DataRowView)cbbPart.SelectedItem; string worksheetNumber = selectedRow["單號"].ToString(); string partNumber = selectedRow["品號"].ToString(); int wpID = (int)selectedRow["編號"]; // Check whether finish date is set if (selectedRow["實際完成日"] != DBNull.Value && dtpDate.Value >= (DateTime)selectedRow["實際完成日"]) { throw new SWLHMSException("填寫時間 " + dtpDate.Value.ToString("yyyy/MM/dd") + " 已在品號 '" + partNumber + "' 完成日之後"); } string borrower = null; // Check the borrow line if (ckbBorrowLine.Checked) { if (cbbBorrowLine.SelectedIndex == -1) { throw new SWLHMSException("請選擇借入產線"); } borrower = (string)this.cbbBorrowLine.SelectedItem; } // Check the number of done if (txtNum.Text.Trim() == string.Empty) { throw new SWLHMSException("未輸入完成數量"); } int num = int.Parse(txtNum.Text); /* Only for 1.08.15 below * * // Check whether part number is duplicated * string checkExpr = "工品編號 = '" + wpID + "' AND 工作單號 ='" + worksheetNumber + "'"; * if(borrower != null) * checkExpr += " AND 借入產線 = '" + borrower + "'"; * else * checkExpr += " AND 借入產線 IS NULL "; * if ((int)_dataTable.Compute("Count(品號)", checkExpr) > 0) * throw new SWLHMSException("品號 '" + partNumber + "' 已存在"); */ // Check the remain amount if (_remainAmount < num) { throw new SWLHMSException("輸入數量超過剩餘數量"); } // hour type HourType hourType = (HourType)cbxHourType.SelectedIndex; string QCN = txtQCN.Text; newRow.FillRow(this.SelectedLaborNumber, dtpDate.Value, worksheetNumber, hour, num, borrower, QCN, wpID, hourType); newRow.新舊 = "*"; newRow["品號"] = partNumber; newRow["工時類型名稱"] = hourType.ToString(); _dataTable.Rows.Add(newRow); //if (ckbFinishDate.Checked) //{ // DateTime date = dateFinishDate.Value; // _finishDateList.Add(newRow, date); //} txtNum.Text = "0"; txtQCN.Text = null; } } else { if (cbbNonProduce.SelectedIndex != -1) { if ((int)cbbNonProduce.SelectedValue == Global.NonProduct_Other && tbxRemark.Text == string.Empty) { throw new SWLHMSException("非生產項目為 其他 時,備註欄不得為空"); } string borrower = null; // Check the borrow line if (ckbBorrowLine.Checked) { if (cbbBorrowLine.SelectedIndex == -1) { throw new SWLHMSException("請選擇借入產線"); } borrower = (string)this.cbbBorrowLine.SelectedItem; } newRow.FillRow(cbxLaborNumber.SelectedValue.ToString(), dtpDate.Value, hour, (int)cbbNonProduce.SelectedValue, cbbNonProduce.Text, tbxRemark.Text, borrower); newRow.新舊 = "*"; newRow["工時類型名稱"] = HourType.一般工時.ToString(); _dataTable.Rows.Add(newRow); } } dgvHoursData.AutoResizeColumns(); UpdateRemainHour(); UpdateRemainAmount(); } else { throw new SWLHMSException("填寫時數超過剩餘時數"); } } catch (Exception ex) { Global.ShowError(ex); } }