// グリッドビュー上のボタン押下時、モジュールフォームを閲覧モードで開く、デレゲートあり private void dgvBoxId_CellContentClick(object sender, DataGridViewCellEventArgs e) { int currentRow = int.Parse(e.RowIndex.ToString()); if (dgvPallet.Columns[e.ColumnIndex] == openCarton && currentRow >= 0) { //既にfrmModuleInTray が開かれている場合は、それを閉じるよう促す if (TfGeneral.checkOpenFormExists("frmCartonOnPallet")) { MessageBox.Show("Please close the currently open form.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); return; } string palletId = dgvPallet["pallet_id", currentRow].Value.ToString(); DateTime palletDate = (DateTime)dgvPallet["register_date", currentRow].Value; string batch = txtBatch.Text; bool canceled = !String.IsNullOrEmpty(dgvPallet["cl_user", currentRow].Value.ToString()); bool invoiced = !String.IsNullOrEmpty(dgvPallet["invoice_no", currentRow].Value.ToString()); // モジュールテキストボックスが空でない、かつチェックボックスがオン、かつ検索結果が1行の場合のみ、再プリントモードを有効 bool reprintMode = (txtCartonId.Text.Length != 0 && cbxCartonId.Checked && dtPallet.Rows.Count == 1); frmCartonOnPallet fP = new frmCartonOnPallet(); //子イベントをキャッチして、データグリッドを更新する fP.RefreshEvent += delegate(object sndr, EventArgs excp) { updateDataGridViews(dtPallet, ref dgvPallet, false); this.Focus(); }; fP.updateControls(palletId, palletDate, userId, txtLoginName.Text, txtLoginDept.Text, userRole, batch, false, false, canceled, invoiced, reprintMode); fP.Show(); } }
// BIN・シフトを、マスターで指定する private void cmbShift_KeyDown(object sender, KeyEventArgs e) { // スーパーユーザーが使用中の場合のみ、ユーザーマスター変更フォームを開く if (formPartialCancelMode) { return; } if (e.KeyCode != Keys.Enter || userRole != "super") { return; } if (TfGeneral.checkOpenFormExists("frmMasterCriteria")) { return; } frmMasterCriteria fI = new frmMasterCriteria("BIN_SHIFT"); //子イベントをキャッチして、データグリッドを更新する fI.RefreshEvent += delegate(object sndr, EventArgs excp) { //バッチコンボボックスの設定 setShiftComboBox(); }; fI.Show(); }
// グリッドビュー上のボタン押下時、モジュールフォームを閲覧モードで開く、デレゲートあり private void dgvBoxId_CellContentClick(object sender, DataGridViewCellEventArgs e) { int currentRow = int.Parse(e.RowIndex.ToString()); if (dgvTray.Columns[e.ColumnIndex] == openTray && currentRow >= 0) { //既にfrmModuleInTray が開かれている場合は、それを閉じるよう促す if (TfGeneral.checkOpenFormExists("frmModuleInTray")) { MessageBox.Show("Please close the currently open form.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); return; } string trayId = dgvTray["tray_id", currentRow].Value.ToString(); DateTime trayDate = (DateTime)dgvTray["register_date", currentRow].Value; string shift = VBS.Right(trayId, 3); bool canceled = !String.IsNullOrEmpty(dgvTray["cl_dept", currentRow].Value.ToString()); bool packed = !String.IsNullOrEmpty(dgvTray["pack_id", currentRow].Value.ToString()); // モジュールテキストボックスが空でない、かつチェックボックスがオン、かつ検索結果が1行の場合のみ、再プリントモードを有効 bool reprintMode = (txtModuleId.Text.Length != 0 && cbxModuleId.Checked && dtTray.Rows.Count == 1); frmModuleInTray fM = new frmModuleInTray(); //子イベントをキャッチして、データグリッドを更新する fM.RefreshEvent += delegate(object sndr, EventArgs excp) { updateDataGridViews(dtTray, ref dgvTray, false); this.Focus(); }; fM.updateControls(trayId, trayDate, userId, txtLoginName.Text, txtLoginDept.Text, userRole, shift, false, false, canceled, packed, 1, false, reprintMode); fM.Show(); } }
// データグリッドのモジュールIDを検索する private void frmModuleInTray_MouseDoubleClick(object sender, MouseEventArgs e) { // 既に同フォームが開かれている場合は、処理を行わない if (TfGeneral.checkOpenFormExists("frmModuleFind")) { MessageBox.Show("Please close or complete another form.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); return; } frmModuleFind fC = new frmModuleFind(); //子イベントをキャッチして、該当するセルにフォーカスする fC.RefreshEvent += delegate(object sndr, EventArgs excp) { string target = fC.returnTargetModule(); for (int i = 0; i < dtModule.Rows.Count; i++) { if (dtModule.Rows[i]["module_id"].ToString() == target) { dgvModule.CurrentCell = dgvModule.Rows[i].Cells[0]; } } }; fC.Show(); }
// サブプロシージャ:1トレーあたりのモジュール数を変更 private void changeCapacity(object sender, EventArgs e) { //2016/08/05 仕様変更(24個以外は一切認めない) //2016/09/30 仕様変更(倉庫スーパーユーザーのみ、変更可能) //return; // 既に同フォームが開かれている場合は、処理を行わない if (TfGeneral.checkOpenFormExists("frmCapacity")) { MessageBox.Show("Please close or complete another form.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); return; } frmCapacity fC = new frmCapacity(); //子イベントをキャッチして、データグリッドを更新する fC.RefreshEvent += delegate(object sndr, EventArgs excp) { capacity = fC.returnCapacity(); updateDataGridViews(dtModule, ref dgvModule); }; fC.updateControls(capacity); fC.Show(); }
// フォームfrmTrayInPackが開かれていないことを確認してから、閉じる private void btnClose_Click(object sender, EventArgs e) { if (TfGeneral.checkOpenFormExists("frmCartonOnPallet")) { MessageBox.Show("Please close the currently open form.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); return; } Close(); }
// 当フォームのクローズ時、他の子フォームが開いていないことを確認する private void btnCancel_Click(object sender, EventArgs e) { // frmCapacity を閉じていない場合は、先に閉じるよう通知する if (TfGeneral.checkOpenFormExists("frmCapacity")) { MessageBox.Show("You need to close Capacity form before canceling.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); return; } Close(); }
// ユーザーマスタ登録フォームの起動 private void txtLoginName_DoubleClick(object sender, EventArgs e) { // スーパーユーザーが使用中の場合のみ、ユーザーマスター変更フォームを開く if (userRole != "super") { return; } if (TfGeneral.checkOpenFormExists("frmMasterUser")) { return; } frmMasterUser fU = new frmMasterUser(txtLoginDept.Text); fU.Show(); }
// ラベルセットアップフォームの起動 private void btnSetUpLabel_Click(object sender, EventArgs e) { // スーパーユーザーが使用中の場合のみ、ユーザーマスター変更フォームを開く if (userRole != "super") { return; } if (TfGeneral.checkOpenFormExists("frmMasterLabel")) { return; } frmMasterLabel fL = new frmMasterLabel(); fL.Show(); }
// サブプロシージャ:登録済パレットに対する処理について、置換・削除・追加で、共通する部分 private void adjustAlreadyRegisteredPallet(string modePalletAdjust) { if (dtCarton.Rows.Count <= 0) { return; } if (modePalletAdjust == "replace" || modePalletAdjust == "delete") { // セルの選択範囲が2列以上の場合は、メッセージの表示のみでプロシージャを抜ける if (dgvCarton.Columns.GetColumnCount(DataGridViewElementStates.Selected) >= 2 || dgvCarton.Rows.GetRowCount(DataGridViewElementStates.Selected) >= 2 || dgvCarton.CurrentCell.ColumnIndex != 0) { MessageBox.Show("Please select only one carton id.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); return; } } // 置き換え用フォームが既に開いていないか、確認する if (TfGeneral.checkOpenFormExists("frmCartonReplace")) { MessageBox.Show("Please close or complete another form.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); return; } string curCarton = modePalletAdjust == "add" ? string.Empty : dgvCarton.CurrentCell.Value.ToString(); int curRowIndex = modePalletAdjust == "add" ? dgvCarton.Rows.Count : dgvCarton.CurrentRow.Index; frmCartonAdjust fR = new frmCartonAdjust(); //置き換えフォームイベントをキャッチして、当フォームデータグリッドを更新し、パレットフォームも更新する fR.RefreshEvent += delegate(object sndr, EventArgs excp) { //モジュールテーブル・データグリッドの更新 readCartonInfo(ref dtCarton); updateDataGridViews(dtCarton, ref dgvCarton, false); //トレーテーブルの更新、さらに、親フォームfrmTrayのデータグリットビューを更新するため、デレゲートイベントを発生させる updatePalletId(txtPallet.Text, txtLoginName.Text); this.RefreshEvent(this, new EventArgs()); this.Focus(); }; fR.updateControls(txtPallet.Text, curCarton, curRowIndex + 1, txtLoginName.Text, modePalletAdjust); fR.Show(); }
// QAのスーパーユーザーは、トレーの一部モジュールのキャンセルができる private void btnPartiallyCancel_Click(object sender, EventArgs e) { if (dtTray.Rows.Count == 0) { return; } // セルの選択範囲が2列以上の場合は、メッセージの表示のみでプロシージャを抜ける if (dgvTray.Columns.GetColumnCount(DataGridViewElementStates.Selected) >= 2 || dgvTray.Rows.GetRowCount(DataGridViewElementStates.Selected) >= 2 || dgvTray.CurrentCell.ColumnIndex != 0) { MessageBox.Show("Please select only one tray id.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); return; } //既にfrmModuleInTray が開かれている場合は、それを閉じるよう促す if (TfGeneral.checkOpenFormExists("frmModuleInTray")) { MessageBox.Show("Please close the currently open form.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } int currentRow = dgvTray.CurrentCell.RowIndex; string trayId = dgvTray["tray_id", currentRow].Value.ToString(); DateTime trayDate = (DateTime)dgvTray["register_date", currentRow].Value; string shift = VBS.Right(trayId, 3); bool canceled = !String.IsNullOrEmpty(dgvTray["cl_dept", currentRow].Value.ToString()); bool packed = !String.IsNullOrEmpty(dgvTray["pack_id", currentRow].Value.ToString()); if (canceled || packed) { MessageBox.Show("The tray id is already canceled or packed.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } frmModuleInTray fM = new frmModuleInTray(); //子イベントをキャッチして、データグリッドを更新する fM.RefreshEvent += delegate(object sndr, EventArgs excp) { updateDataGridViews(dtTray, ref dgvTray, false); this.Focus(); }; fM.updateControls(trayId, trayDate, userId, txtLoginName.Text, txtLoginDept.Text, userRole, shift, false, false, canceled, packed, 1, true, false); fM.Show(); }
// スーパーユーザーに限り、登録済みのシリアルの置き換えができる(パック後は不可) private void btnReplace_Click(object sender, EventArgs e) { if (dtModule.Rows.Count <= 0) { return; } // セルの選択範囲が2列以上の場合は、メッセージの表示のみでプロシージャを抜ける if (dgvModule.Columns.GetColumnCount(DataGridViewElementStates.Selected) >= 2 || dgvModule.Rows.GetRowCount(DataGridViewElementStates.Selected) >= 2 || dgvModule.CurrentCell.ColumnIndex != 0) { MessageBox.Show("Please select only one serial number.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); return; } // 置き換え用フォームが既に開いていないか、確認する if (TfGeneral.checkOpenFormExists("frmModuleReplace")) { MessageBox.Show("Please close or complete another form.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); return; } string curSerial = dgvModule.CurrentCell.Value.ToString(); int curRowIndex = dgvModule.CurrentRow.Index; frmModuleReplace fR = new frmModuleReplace(); //置き換えフォームイベントをキャッチして、当フォームデータグリッドを更新し、トレーテーブルも更新する fR.RefreshEvent += delegate(object sndr, EventArgs excp) { //モジュールテーブル・データグリッドの更新 readModuleInfo(ref dtModule); updateDataGridViews(dtModule, ref dgvModule); //トレーテーブルの更新、さらに、親フォームfrmTrayのデータグリットビューを更新するため、デレゲートイベントを発生させる updateTrayId(txtTrayId.Text, txtLoginDept.Text, txtLoginName.Text); this.RefreshEvent(this, new EventArgs()); this.Focus(); }; fR.updateControls(txtTrayId.Text, curSerial, curRowIndex + 1, formReturnMode, cmbBinShift.Text); fR.Show(); }
// frmTrayInPack を追加モードで開く、デレゲートあり private void btnAddBoxId_Click(object sender, EventArgs e) { if (TfGeneral.checkOpenFormExists("frmCartonOnPallet")) { MessageBox.Show("Please close the currently open form.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); return; } frmCartonOnPallet fP = new frmCartonOnPallet(); //子イベントをキャッチして、データグリッドを更新する fP.RefreshEvent += delegate(object sndr, EventArgs excp) { updateDataGridViews(dtPallet, ref dgvPallet, false); this.Focus(); }; fP.updateControls(String.Empty, DateTime.Now, userId, txtLoginName.Text, txtLoginDept.Text, userRole, string.Empty, true, false, false, false, false); fP.Show(); }
// 1パックあたりのトレー数を変更する、テキストボックスのダブルクリックから起動 private void txtOkCount_DoubleClick(object sender, EventArgs e) { //if (userRole != "super") return; // 既に同フォームが開かれている場合は、処理を行わない if (TfGeneral.checkOpenFormExists("frmCapacity")) { MessageBox.Show("Please close or complete another form.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); return; } frmCapacity fC = new frmCapacity(); //子イベントをキャッチして、データグリッドを更新する fC.RefreshEvent += delegate(object sndr, EventArgs excp) { capacity = fC.returnCapacity(); updateDataGridViews(dtTray, ref dgvTray, false); }; fC.updateControls(capacity); fC.Show(); }
// 返品の登録:フォーム3を編集モードで開く、デレゲートあり private void btnAddReturn_Click(object sender, EventArgs e) { // 2016/08/22 追加モードは全面禁止とする // return; // 2016/12/06 追加モード復活 if (TfGeneral.checkOpenFormExists("frmModuleInTray")) { MessageBox.Show("Please close the currently open form.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); return; } frmModuleInTray fM = new frmModuleInTray(); //子イベントをキャッチして、データグリッドを更新する fM.RefreshEvent += delegate(object sndr, EventArgs excp) { updateDataGridViews(dtTray, ref dgvTray, false); this.Focus(); }; fM.updateControls(String.Empty, DateTime.Now, userId, txtLoginName.Text, txtLoginDept.Text, userRole, string.Empty, true, true, false, false, 1, false, false); fM.Show(); }
//パックグリッドビュー上のボタンのクリックで、formTrayInPackを呼び出し、対応するトレーを表示する(デレゲートなし) private void dgvPack_CellContentClick(object sender, DataGridViewCellEventArgs e) { int currentRow = int.Parse(e.RowIndex.ToString()); if (dgvCarton.Columns[e.ColumnIndex] == openCarton && currentRow >= 0) { //既にfrmPackInCarton が開かれている場合は、それを閉じるよう促す if (TfGeneral.checkOpenFormExists("frmPackInCarton")) { MessageBox.Show("Please close the currently open form.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); return; } string packId = dgvCarton["carton_id", currentRow].Value.ToString(); string batch = dgvCarton["batch", currentRow].Value.ToString(); DateTime packDate = (DateTime)dgvCarton["register_date", currentRow].Value; //デレゲートなし frmPackInCarton fT = new frmPackInCarton(); fT.updateControls(packId, packDate, "", txtLoginName.Text, txtLoginDept.Text, userRole, batch, false, false, true, true, 2, false); fT.Show(); } }
//トレーグリッドビュー上のボタンのクリックで、formModuleInTrayを呼び出し、対応するモジュールを表示する(デレゲートなし) private void dgvTray_CellContentClick(object sender, DataGridViewCellEventArgs e) { int currentRow = int.Parse(e.RowIndex.ToString()); if (dgvTray.Columns[e.ColumnIndex] == openTray && currentRow >= 0) { //既にfrmModuleInTray が開かれている場合は、それを閉じるよう促す if (TfGeneral.checkOpenFormExists("frmModuleInTray")) { MessageBox.Show("Please close the currently open form.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); return; } string trayId = dgvTray["tray_id", currentRow].Value.ToString(); string line = VBS.Right(trayId, 1); DateTime trayDate = (DateTime)dgvTray["register_date", currentRow].Value; //デレゲートなし。当トレーフォームのフォーム位置が2の場合は、モジュールフォームの位置は3。それ以外は2。 frmModuleInTray fM = new frmModuleInTray(); fM.updateControls(trayId, trayDate, "", txtLoginName.Text, txtLoginDept.Text, userRole, line, false, false, true, true, 4, false, false); fM.Show(); } }