Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
 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);
     }
 }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        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);
            }
        }