/// <summary> /// F1 リボン マスタ参照 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void OnF1Key(object sender, KeyEventArgs e) { // フォーカスコントロールを取得 IInputElement ctl = Keyboard.FocusedElement; object elmnt = FocusManager.GetFocusedElement(this); var tokBox = ViewBaseCommon.FindVisualParent <M01_TOK_TextBox>(elmnt as Control); var ucText = ViewBaseCommon.FindVisualParent <UcLabelTwinTextBox>(elmnt as Control); if (tokBox != null) { // 取引先テキストの場合 tokBox.OpenSearchWindow(this); } // No-380 Add Start else if (ucText != null) { switch (ucText.DataAccessName) { case "M09_MYHIN": SCHM09_MYHIN myhin = new SCHM09_MYHIN(); myhin.TwinTextBox = new UcLabelTwinTextBox(); myhin.txtCode.Text = HINBAN.Text1; myhin.TwinTextBox.LinkItem = 1; if (myhin.ShowDialog(this) == true) { this.HINBAN.Text1 = myhin.SelectedRowData["自社品番"].ToString(); this.HINBAN.Text2 = myhin.SelectedRowData["自社品名"].ToString(); this.COLOR.Text1 = myhin.SelectedRowData["自社色"].ToString(); this.COLOR.Focus(); } break; default: ViewBaseCommon.CallMasterSearch(this, this.MasterMaintenanceWindowList); break; } } // No-380 Add End else if (ctl is DataGridCell) { /* * TODO:品番検索を開こうかと思ったけど行追加の場合だけでよい気がしたので保留 */ } else { try { ViewBaseCommon.CallMasterSearch(this, this.MasterMaintenanceWindowList); } catch (Exception ex) { appLog.Error("検索画面起動エラー", ex); this.ErrorMessage = "システムエラーです。サポートへご連絡ください。"; } } }
/// <summary> /// F1 リボン 検索 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void OnF1Key(object sender, KeyEventArgs e) { try { object elmnt = FocusManager.GetFocusedElement(this); var spgrid = ViewBaseCommon.FindVisualParent <GcSpreadGrid>(elmnt as Control); if (spgrid != null) { int actrow = spgrid.ActiveRowIndex; spgrid.CommitCellEdit(); UcLabelTwinTextBox dmy = new UcLabelTwinTextBox(); switch (spgrid.ActiveColumn.Name) { case "材料品番": var val = spComponent.Cells[spComponent.ActiveRowIndex, spgrid.ActiveColumn.Name].Value; SCHM09_MYHIN myHin = new SCHM09_MYHIN(); myHin.chkItemClass_1.IsChecked = false; myHin.chkItemClass_1.IsEnabled = false; myHin.TwinTextBox = dmy; if (myHin.ShowDialog(this) ?? false) { SpreadGridRow row = spComponent.Rows[spComponent.ActiveRowIndex]; int myCode = (int)myHin.SelectedRowData["品番コード"]; int cnt = SetKouseihin.Where(x => x.品番コード == myCode).Count(); if (cnt > 0) { MessageBox.Show("同じ材料品番が既に登録されています。"); return; } row.Cells[0].Value = myHin.SelectedRowData["品番コード"].ToString(); row.Cells[2].Value = myHin.SelectedRowData["自社品番"].ToString(); row.Cells[3].Value = myHin.SelectedRowData["自社色"].ToString(); row.Cells[4].Value = myHin.SelectedRowData["自社色名"].ToString(); row.Cells[5].Value = myHin.SelectedRowData["自社品名"].ToString(); NotifyPropertyChanged(); } break; default: break; } } else { ViewBaseCommon.CallMasterSearch(this, this.MasterMaintenanceWindowList); } } catch (Exception ex) { appLog.Error("検索画面起動エラー", ex); this.ErrorMessage = "システムエラーです。サポートへご連絡ください。"; } }
private void setInputRowData(DataTable tbl) { SpreadGridRow row = spComponent.ActiveRow; if (tbl == null || tbl.Rows.Count == 0) { // 現在行を初期化して終了 row.Cells[0].Value = 0; row.Cells[3].Value = string.Empty; row.Cells[4].Value = string.Empty; row.Cells[6].Value = string.Empty; return; } if (tbl.Rows.Count == 1) { DataRow dr = tbl.Rows[0]; row.Cells[0].Value = dr["品番コード"].ToString(); row.Cells[2].Value = dr["自社品番"].ToString(); row.Cells[3].Value = dr["自社色"].ToString(); row.Cells[4].Value = dr["自社色名"].ToString(); row.Cells[5].Value = dr["自社品名"].ToString(); } else { //商品検索画面出力 string hinCode = row.Cells[2].Value.ToString(); UcLabelTwinTextBox dmy = new UcLabelTwinTextBox(); SCHM09_MYHIN myHin = new SCHM09_MYHIN(); myHin.chkItemClass_1.IsChecked = false; myHin.chkItemClass_1.IsEnabled = false; myHin.txtCode.Text = hinCode; myHin.TwinTextBox = dmy; if (myHin.ShowDialog(this) ?? false) { int myCode = (int)myHin.SelectedRowData["品番コード"]; int cnt = SetKouseihin.Where(x => x.品番コード == myCode).Count(); if (cnt > 0) { MessageBox.Show("同じ材料品番が既に登録されています。"); return; } row.Cells[0].Value = myHin.SelectedRowData["品番コード"].ToString(); row.Cells[2].Value = myHin.SelectedRowData["自社品番"].ToString(); row.Cells[3].Value = myHin.SelectedRowData["自社色"].ToString(); row.Cells[4].Value = myHin.SelectedRowData["自社色名"].ToString(); row.Cells[5].Value = myHin.SelectedRowData["自社品名"].ToString(); NotifyPropertyChanged(); } } }
/// <summary> /// F1 リボン マスタ検索 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void OnF1Key(object sender, KeyEventArgs e) { try { object elmnt = FocusManager.GetFocusedElement(this); var spgrid = ViewBaseCommon.FindVisualParent <GcSpreadGrid>(elmnt as Control); var twintxt = ViewBaseCommon.FindVisualParent <UcLabelTwinTextBox>(elmnt as Control); if (spgrid != null) { int cIdx = spgrid.ActiveColumnIndex; int rIdx = spgrid.ActiveRowIndex; #region グリッドファンクションイベント if (spgrid.ActiveColumnIndex == GridColumnsMapping.自社品番.GetHashCode()) { // 対象セルがロックされている場合は処理しない if (spgrid.Cells[rIdx, cIdx].Locked == true) { return; } // 自社品番の場合 SCHM09_MYHIN myhin = new SCHM09_MYHIN(); myhin.TwinTextBox = new UcLabelTwinTextBox(); myhin.TwinTextBox.LinkItem = 1; if (myhin.ShowDialog(this) == true) { spgrid.Cells[rIdx, GridColumnsMapping.品番コード.GetHashCode()].Value = myhin.SelectedRowData["品番コード"]; spgrid.Cells[rIdx, GridColumnsMapping.自社品番.GetHashCode()].Value = myhin.SelectedRowData["自社品番"]; spgrid.Cells[rIdx, GridColumnsMapping.自社品名.GetHashCode()].Value = myhin.SelectedRowData["自社品名"]; spgrid.Cells[rIdx, GridColumnsMapping.数量.GetHashCode()].Value = 1m; spgrid.Cells[rIdx, GridColumnsMapping.単位.GetHashCode()].Value = myhin.SelectedRowData["単位"]; } } SearchDetail.Rows[rIdx].EndEdit(); #endregion } else { ViewBaseCommon.CallMasterSearch(this, this.MasterMaintenanceWindowList); } } catch (Exception ex) { appLog.Error("検索画面起動エラー", ex); this.ErrorMessage = "システムエラーです。サポートへご連絡ください。"; } }
/// <summary> /// F1 リボン マスタ検索 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void OnF1Key(object sender, KeyEventArgs e) { try { var ctl = FocusManager.GetFocusedElement(this); var uctext = ViewBaseCommon.FindVisualParent <UcLabelTwinTextBox>(ctl as UIElement); if (uctext != null && uctext.DataAccessName == "M09_MYHIN") { SCHM09_MYHIN myhin = new SCHM09_MYHIN(); myhin.txtCode.Text = uctext.Text1; myhin.TwinTextBox = new UcLabelTwinTextBox(); myhin.TwinTextBox.LinkItem = 0; if (myhin.ShowDialog(this) == true) { // テキストボックス名で入庫か出庫を判定 if (uctext.Name == this.txt出庫自社品番.Name) { txt出庫自社品番.Text1 = myhin.SelectedRowData["自社品番"].ToString(); txt出庫自社品番.Text2 = myhin.SelectedRowData["自社品名"].ToString(); OutSearchDetail["品番コード"] = myhin.SelectedRowData["品番コード"].ToString(); OutSearchDetail["商品分類"] = int.Parse(myhin.SelectedRowData["商品分類"].ToString()); 出庫自社色情報 = myhin.SelectedRowData["自社色"].ToString() + " " + myhin.SelectedRowData["自社色名"].ToString(); txt出庫賞味期限.Focus(); } else if (uctext.Name == this.txt入庫自社品番.Name) { txt入庫自社品番.Text1 = myhin.SelectedRowData["自社品番"].ToString(); txt入庫自社品番.Text2 = myhin.SelectedRowData["自社品名"].ToString(); InSearchDetail["品番コード"] = int.Parse(myhin.SelectedRowData["品番コード"].ToString()); InSearchDetail["商品分類"] = int.Parse(myhin.SelectedRowData["商品分類"].ToString()); 入庫自社色情報 = myhin.SelectedRowData["自社色"].ToString() + " " + myhin.SelectedRowData["自社色名"].ToString(); txt入庫賞味期限.Focus(); } } } else { ViewBaseCommon.CallMasterSearch(this, this.MasterMaintenanceWindowList); } } catch (Exception ex) { appLog.Error("検索画面起動エラー", ex); this.ErrorMessage = "システムエラーです。サポートへご連絡ください。"; } }
/// <summary> /// F1 リボン マスタ検索 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void OnF1Key(object sender, KeyEventArgs e) { try { var ctl = FocusManager.GetFocusedElement(this); var uTwin = ViewBaseCommon.FindVisualParent <UcLabelTwinTextBox>(ctl as UIElement); if (uTwin == null) { ViewBaseCommon.CallMasterSearch(this, this.MasterMaintenanceWindowList); } else { // 商品コード指定 if (uTwin.DataAccessName == "M09_MYHIN") { // 雑コード非表示 int[] disableItem = new [] { 3 }; SCHM09_MYHIN myhin = new SCHM09_MYHIN(disableItem); myhin.TwinTextBox = uTwin; if (myhin.ShowDialog(this) == true) { this.Product.Text1 = myhin.SelectedRowData["自社品番"].ToString(); this.Product.Text2 = myhin.SelectedRowData["自社品名"].ToString(); } } else { ViewBaseCommon.CallMasterSearch(this, this.MasterMaintenanceWindowList); } } } catch (Exception ex) { appLog.Error("検索画面起動エラー", ex); ErrorMessage = "システムエラーです。サポートへご連絡ください。"; } }
/// <summary> /// F1 リボン マスタ検索 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void OnF1Key(object sender, KeyEventArgs e) { try { object elmnt = FocusManager.GetFocusedElement(this); var spgrid = ViewBaseCommon.FindVisualParent <GcSpreadGrid>(elmnt as Control); var m01Text = ViewBaseCommon.FindVisualParent <M01_TOK_TextBox>(elmnt as Control); if (spgrid != null) { int cIdx = spgrid.ActiveColumnIndex; int rIdx = spgrid.ActiveRowIndex; // 対象セルがロックされている場合は処理しない if (spgrid.Cells[rIdx, cIdx].Locked == true) { return; } #region グリッドファンクションイベント switch (spgrid.ActiveColumnIndex) { case (int)GridColumnsMapping.取引先コード: case (int)GridColumnsMapping.枝番: // 入力値を取得 string code = getSpreadGridValue(rIdx, GridColumnsMapping.取引先コード).ToString(), eda = getSpreadGridValue(rIdx, GridColumnsMapping.枝番).ToString(); SCHM01_TOK tok = new SCHM01_TOK(); tok.TwinTextBox = new UcLabelTwinTextBox(); tok.TwinTextBox.Text1 = code; tok.TwinTextBox.Text2 = eda; tok.TwinTextBox.LinkItem = "2,3"; if (tok.ShowDialog(this) == true) { setSpreadGridValue(rIdx, GridColumnsMapping.取引先コード, tok.TwinTextBox.Text1); setSpreadGridValue(rIdx, GridColumnsMapping.スプリッタ, '-'); setSpreadGridValue(rIdx, GridColumnsMapping.枝番, tok.TwinTextBox.Text2); setSpreadGridValue(rIdx, GridColumnsMapping.得意先名, tok.TwinTextBox.Text3); gcSpreadGrid.ActiveCellPosition = new CellPosition(rIdx, (int)GridColumnsMapping.自社品番); } break; case (int)GridColumnsMapping.自社品番: SCHM09_MYHIN myhin = new SCHM09_MYHIN(); myhin.chkItemClass_2.IsChecked = false; myhin.chkItemClass_2.cIsEnabled = false; myhin.chkItemClass_3.IsChecked = false; myhin.chkItemClass_3.cIsEnabled = false; myhin.chkItemClass_4.IsChecked = false; myhin.chkItemClass_4.cIsEnabled = false; myhin.TwinTextBox = new UcLabelTwinTextBox(); myhin.TwinTextBox.LinkItem = "1"; if (myhin.ShowDialog(this) == true) { setSpreadGridValue(rIdx, GridColumnsMapping.品番コード, myhin.SelectedRowData["品番コード"]); setSpreadGridValue(rIdx, GridColumnsMapping.自社品番, myhin.SelectedRowData["自社品番"]); setSpreadGridValue(rIdx, GridColumnsMapping.自社品名, myhin.SelectedRowData["自社品名"]); gcSpreadGrid.ActiveCellPosition = new CellPosition(rIdx, (int)GridColumnsMapping.依頼数); } break; default: break; } SearchResult.Rows[rIdx].EndEdit(); #endregion } else if (m01Text != null) { m01Text.OpenSearchWindow(this); } else { //ViewBaseCommon.CallMasterSearch(this, this.MasterMaintenanceWindowList); int[] disabledItemTypes = new[] { 2, 4 }; // No.362 Mod SCHM09_MYHIN myhin = new SCHM09_MYHIN(disabledItemTypes); myhin.TwinTextBox = new UcLabelTwinTextBox(); myhin.TwinTextBox.Text1 = ProductCode.Text1; myhin.TwinTextBox.LinkItem = ProductCode.LinkItem; if (myhin.ShowDialog(this) == true) { ProductCode.Text1 = myhin.TwinTextBox.Text1; ProductCode.Text2 = myhin.TwinTextBox.Text2; } } } catch (Exception ex) { appLog.Error("検索画面起動エラー", ex); this.ErrorMessage = "システムエラーです。サポートへご連絡ください。"; } }
/// <summary> /// データ受信処理 /// </summary> /// <param name="message"></param> public override void OnReceivedResponseData(CommunicationObject message) { try { this.ErrorMessage = string.Empty; var data = message.GetResultData(); DataTable tbl = (data is DataTable) ? (data as DataTable) : null; switch (message.GetMessageName()) { case DLY07010_GetData: // 検索結果処理 DataTable dt = data as DataTable; if (dt != null) { SetTblData(dt); ChangeKeyItemChangeable(false); } else { MessageBox.Show("指定の伝票番号は登録されていません。", "伝票未登録", MessageBoxButton.OK, MessageBoxImage.Asterisk); } break; case DLY07010_Update: MessageBox.Show(AppConst.SUCCESS_UPDATE, "登録完了", MessageBoxButton.OK, MessageBoxImage.Information); // データ再取得 ProcDataSearch(); break; case MasterCode_Supplier: // 依頼先手入力時 setSpreadGridValue( gcSpreadGrid.ActiveRowIndex, GridColumnsMapping.得意先名, (tbl != null && tbl.Rows.Count > 0) ? tbl.Rows[0]["名称"].ToString() : string.Empty); gcSpreadGrid.ActiveCellPosition = new CellPosition(gcSpreadGrid.ActiveRowIndex, (int)GridColumnsMapping.自社品番); break; case MasterCode_MyProductSet: #region 自社品番手入力時 DataTable ctbl = data as DataTable; int rIdx = gcSpreadGrid.ActiveRowIndex; if (ctbl == null || ctbl.Rows.Count == 0) { // 対象データなしの場合 setSpreadGridValue(rIdx, GridColumnsMapping.依頼日, string.Empty); setSpreadGridValue(rIdx, GridColumnsMapping.取引先コード, string.Empty); setSpreadGridValue(rIdx, GridColumnsMapping.スプリッタ, "-"); setSpreadGridValue(rIdx, GridColumnsMapping.枝番, string.Empty); setSpreadGridValue(rIdx, GridColumnsMapping.得意先名, string.Empty); setSpreadGridValue(rIdx, GridColumnsMapping.自社品番, string.Empty); setSpreadGridValue(rIdx, GridColumnsMapping.自社品名, string.Empty); setSpreadGridValue(rIdx, GridColumnsMapping.依頼数, 0); setSpreadGridValue(rIdx, GridColumnsMapping.仕上数, 0); setSpreadGridValue(rIdx, GridColumnsMapping.品番コード, 0); gcSpreadGrid.ActiveCellPosition = new CellPosition(rIdx, (int)GridColumnsMapping.自社品番); } else if (tbl.Rows.Count > 1) { // 自社品番が複数存在の場合 SCHM09_MYHIN myhin = new SCHM09_MYHIN(); myhin.chkItemClass_2.cIsEnabled = false; myhin.chkItemClass_2.IsChecked = false; myhin.chkItemClass_3.cIsEnabled = false; myhin.chkItemClass_3.IsChecked = false; myhin.chkItemClass_4.cIsEnabled = false; myhin.chkItemClass_4.IsChecked = false; myhin.TwinTextBox = new UcLabelTwinTextBox(); myhin.txtCode.Text = getSpreadGridValue(rIdx, GridColumnsMapping.自社品番).ToString(); myhin.txtCode.IsEnabled = false; myhin.TwinTextBox.LinkItem = 2; if (myhin.ShowDialog(this) == true) { setSpreadGridValue(rIdx, GridColumnsMapping.自社品番, myhin.SelectedRowData["自社品番"]); setSpreadGridValue(rIdx, GridColumnsMapping.色コード, myhin.SelectedRowData["自社色"]); setSpreadGridValue(rIdx, GridColumnsMapping.自社品名, myhin.SelectedRowData["自社品名"]); setSpreadGridValue(rIdx, GridColumnsMapping.品番コード, myhin.SelectedRowData["品番コード"]); gcSpreadGrid.ActiveCellPosition = new CellPosition(rIdx, (int)GridColumnsMapping.依頼数); } } else { // 対象データありの場合 DataRow drow = ctbl.Rows[0]; gcSpreadGrid.BeginEdit(); // セット商品の場合に設定 if (drow["商品形態分類"].ToString().Equals("1")) { setSpreadGridValue(rIdx, GridColumnsMapping.色コード, drow["自社色"]); setSpreadGridValue(rIdx, GridColumnsMapping.自社品名, drow["自社品名"]); setSpreadGridValue(rIdx, GridColumnsMapping.品番コード, drow["品番コード"]); gcSpreadGrid.ActiveCellPosition = new CellPosition(rIdx, (int)GridColumnsMapping.依頼数); } else { //setSpreadGridValue(rIdx, GridColumnsMapping.自社品番, string.Empty); setSpreadGridValue(rIdx, GridColumnsMapping.色コード, string.Empty); setSpreadGridValue(rIdx, GridColumnsMapping.自社品名, string.Empty); setSpreadGridValue(rIdx, GridColumnsMapping.品番コード, string.Empty); gcSpreadGrid.ActiveCellPosition = new CellPosition(rIdx, (int)GridColumnsMapping.自社品番); } gcSpreadGrid.CommitCellEdit(); } SearchResult.Rows[rIdx].EndEdit(); #endregion break; default: break; } } catch { } }
/// <summary> /// F1 リボン マスタ検索 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void OnF1Key(object sender, KeyEventArgs e) { try { object elmnt = FocusManager.GetFocusedElement(this); var spgrid = ViewBaseCommon.FindVisualParent <GcSpreadGrid>(elmnt as Control); var twintxt = ViewBaseCommon.FindVisualParent <UcLabelTwinTextBox>(elmnt as Control); if (spgrid != null) { int cIdx = spgrid.ActiveColumnIndex; int rIdx = spgrid.ActiveRowIndex; #region グリッドファンクションイベント if (spgrid.ActiveColumnIndex == GridColumnsMapping.自社品番.GetHashCode()) { // 対象セルがロックされている場合は処理しない if (spgrid.Cells[rIdx, cIdx].Locked == true) { return; } int code = int.Parse(SearchHeader["外注先コード"].ToString()); int eda = int.Parse(SearchHeader["外注先枝番"].ToString()); // 自社品番の場合 SCHM09_MYHIN myhin = new SCHM09_MYHIN(code, eda); myhin.TwinTextBox = new UcLabelTwinTextBox(); myhin.IsDisabledItemTypes = null; // No.362 Mod myhin.TwinTextBox.LinkItem = 2; if (myhin.ShowDialog(this) == true) { //入力途中のセルを未編集状態に戻す spgrid.CancelCellEdit(); spgrid.Cells[rIdx, (int)GridColumnsMapping.品番コード].Value = myhin.SelectedRowData["品番コード"]; spgrid.Cells[rIdx, (int)GridColumnsMapping.自社品番].Value = myhin.SelectedRowData["自社品番"]; spgrid.Cells[rIdx, (int)GridColumnsMapping.自社品名].Value = myhin.SelectedRowData["自社品名"]; spgrid.Cells[rIdx, (int)GridColumnsMapping.数量].Value = 1m; spgrid.Cells[rIdx, (int)GridColumnsMapping.単位].Value = myhin.SelectedRowData["単位"]; spgrid.Cells[rIdx, (int)GridColumnsMapping.商品分類].Value = myhin.SelectedRowData["商品分類"]; spgrid.Cells[rIdx, (int)GridColumnsMapping.色コード].Value = myhin.SelectedRowData["自社色"]; spgrid.Cells[rIdx, (int)GridColumnsMapping.色名称].Value = myhin.SelectedRowData["自社色名"]; // 設定自社品番の編集を不可とする gridDtb.SetCellLocked((int)GridColumnsMapping.自社品番, true); // No.391 Add Start gridDtb.SetCellLocked((int)GridColumnsMapping.自社品名, false); gridDtb.SetCellFocus(rIdx, (int)GridColumnsMapping.自社品名); // No.391 Add End } } InnerDetail.Rows[rIdx].EndEdit(); #endregion } else { if (!(twintxt is UcLabelTwinTextBox)) { return; } ViewBaseCommon.CallMasterSearch(this, this.MasterMaintenanceWindowList); var twinText = ViewBaseCommon.FindVisualParent <UcLabelTwinTextBox>(elmnt as Control); } } catch (Exception ex) { appLog.Error("検索画面起動エラー", ex); this.ErrorMessage = "システムエラーです。サポートへご連絡ください。"; } }
/// <summary> /// データ受信処理 /// </summary> /// <param name="message"></param> public override void OnReceivedResponseData(CommunicationObject message) { try { this.ErrorMessage = string.Empty; var data = message.GetResultData(); DataTable tbl = (data is DataTable) ? (data as DataTable) : null; switch (message.GetMessageName()) { case UpdateData_StockCheck: // No-222 Add Start // 在庫数チェック結果受信 Dictionary <string, string> updateList = data as Dictionary <string, string>; string zaiUpdateMessage = AppConst.CONFIRM_UPDATE; var zaiMBImage = MessageBoxImage.Question; foreach (DataRow row in SearchDetail.Select("", "", DataViewRowState.CurrentRows)) { if (updateList.Count > 0) { zaiMBImage = MessageBoxImage.Warning; zaiUpdateMessage = "在庫がマイナスになる品番が存在しますが、\r\n登録してもよろしいでしょうか?"; break; } } if (MessageBox.Show(zaiUpdateMessage, "登録確認", MessageBoxButton.YesNo, zaiMBImage, MessageBoxResult.Yes) == MessageBoxResult.No) { return; } // No-222 Add End Update(); // 致命的なエラーの場合、以降の処理を中止する if (blnCloseFlg == false) { return; } // 警告がない場合、当該画面を終了する if (blnWarningFlg == true) { // 処理続行確認メッセージを表示する var yesno = MessageBox.Show("警告がありますが処理を続行しますか?", "確認", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No); if (yesno == MessageBoxResult.No) { return; } CloseDataEdited(); } else { CloseDataEdited(); } break; case SearchTableToShin: // セット品で検索された場合 SetHin = tbl.Copy(); break; case MasterCode_MyProduct: #region 自社品番手入力時 DataTable ctbl = data as DataTable; int columnIdx = gridDtb.ActiveColumnIndex; int rIdx = gridDtb.ActiveRowIndex; // フォーカス移動後の項目が異なる場合または編集行が異なる場合は処理しない。 if ((columnIdx != (int)GridColumnsMapping.色コード) || _編集行 != rIdx) { return; } if (ctbl == null || ctbl.Rows.Count == 0) { // 対象データなしの場合 gridDtb.SetCellValue((int)GridColumnsMapping.品番コード, 0); gridDtb.SetCellValue((int)GridColumnsMapping.自社品番, string.Empty); gridDtb.SetCellValue((int)GridColumnsMapping.自社品名, string.Empty); gridDtb.SetCellValue((int)GridColumnsMapping.数量, 0m); gridDtb.SetCellValue((int)GridColumnsMapping.単位, string.Empty); gridDtb.SetCellValue((int)GridColumnsMapping.商品分類, (int)商品分類.その他); gridDtb.SetCellValue((int)GridColumnsMapping.色コード, string.Empty); gridDtb.SetCellValue((int)GridColumnsMapping.色名称, string.Empty); // フォーカス位置の設定 gridDtb.SetCellFocus(rIdx, (int)GridColumnsMapping.自社品番); // No.425 Add } else if (tbl.Rows.Count > 1) { int cIdx = gcInnerSpreadGrid.ActiveColumnIndex; var colVal = gridDtb.GetCellValueToString((int)GridColumnsMapping.自社品番); int code = int.Parse(SearchHeader["外注先コード"].ToString()); int eda = int.Parse(SearchHeader["外注先枝番"].ToString()); // 自社品番の場合 SCHM09_MYHIN myhin = new SCHM09_MYHIN(code, eda); myhin.TwinTextBox = new UcLabelTwinTextBox(); myhin.txtCode.Text = colVal; myhin.txtCode.IsEnabled = false; myhin.TwinTextBox.LinkItem = 2; if (myhin.ShowDialog(this) == true) { gridDtb.SetCellValue((int)GridColumnsMapping.品番コード, myhin.SelectedRowData["品番コード"]); gridDtb.SetCellValue((int)GridColumnsMapping.自社品番, myhin.SelectedRowData["自社品番"]); gridDtb.SetCellValue((int)GridColumnsMapping.自社品名, myhin.SelectedRowData["自社品名"]); gridDtb.SetCellValue((int)GridColumnsMapping.数量, 1m); gridDtb.SetCellValue((int)GridColumnsMapping.単位, myhin.SelectedRowData["単位"]); gridDtb.SetCellValue((int)GridColumnsMapping.商品分類, myhin.SelectedRowData["商品分類"]); gridDtb.SetCellValue((int)GridColumnsMapping.色コード, myhin.SelectedRowData["自社色"]); gridDtb.SetCellValue((int)GridColumnsMapping.色名称, myhin.SelectedRowData["自社色名"]); // フォーカス位置の設定 gridDtb.SetCellFocus(rIdx, (int)GridColumnsMapping.自社品名); // No.425 Add } else { // フォーカス位置の設定 gridDtb.SetCellFocus(rIdx, (int)GridColumnsMapping.自社品番); // No.425 Add } } else { // 対象データありの場合 DataRow drow = ctbl.Rows[0]; gcInnerSpreadGrid.BeginEdit(); gridDtb.SetCellValue((int)GridColumnsMapping.品番コード, drow["品番コード"]); gridDtb.SetCellValue((int)GridColumnsMapping.自社品番, drow["自社品番"]); gridDtb.SetCellValue((int)GridColumnsMapping.自社品名, drow["自社品名"]); gridDtb.SetCellValue((int)GridColumnsMapping.数量, 1m); gridDtb.SetCellValue((int)GridColumnsMapping.単位, drow["単位"]); gridDtb.SetCellValue((int)GridColumnsMapping.商品分類, drow["商品分類"]); gridDtb.SetCellValue((int)GridColumnsMapping.色コード, drow["自社色"]); gridDtb.SetCellValue((int)GridColumnsMapping.色名称, drow["色名称"]); // 自社品番のセルをロック // 数量以外はロック gridDtb.SetCellLocked((int)GridColumnsMapping.品番コード, true); gridDtb.SetCellLocked((int)GridColumnsMapping.自社品番, true); gridDtb.SetCellLocked((int)GridColumnsMapping.自社品名, false); // No.391 Add gridDtb.SetCellLocked((int)GridColumnsMapping.単位, true); gridDtb.SetCellLocked((int)GridColumnsMapping.商品分類, true); gridDtb.SetCellLocked((int)GridColumnsMapping.色コード, true); gridDtb.SetCellLocked((int)GridColumnsMapping.色名称, true); // フォーカス位置の設定 gridDtb.SetCellFocus(rIdx, (int)GridColumnsMapping.自社品名); // No.425 Add } InnerDetail.Rows[rIdx].EndEdit(); #endregion break; default: break; } } catch (Exception ex) { ErrorMessage = ex.Message; } }
/// <summary> /// F1 リボン マスタ検索 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void OnF1Key(object sender, KeyEventArgs e) { try { object elmnt = FocusManager.GetFocusedElement(this); var spgrid = ViewBaseCommon.FindVisualParent <GcSpreadGrid>(elmnt as Control); if (spgrid != null) { int cIdx = spgrid.ActiveColumnIndex; int rIdx = spgrid.ActiveRowIndex; #region グリッドファンクションイベント if (spgrid.ActiveColumnIndex == (int)GridColumnsMapping.自社品番) { // 対象セルがロックされている場合は処理しない if (spgrid.Cells[rIdx, cIdx].Locked == true) { return; } // 自社品番または得意先品番の場合 SCHM09_MYHIN myhin = new SCHM09_MYHIN(); myhin.txtCode.Text = spgrid.Cells[rIdx, cIdx].Value == null ? string.Empty : spgrid.Cells[rIdx, cIdx].Value.ToString(); myhin.TwinTextBox = new UcLabelTwinTextBox(); myhin.TwinTextBox.LinkItem = 1; if (myhin.ShowDialog(this) == true) { //入力途中のセルを未編集状態に戻す spgrid.CancelCellEdit(); spgrid.Cells[rIdx, (int)GridColumnsMapping.品番コード].Value = myhin.SelectedRowData["品番コード"].ToString(); spgrid.Cells[rIdx, (int)GridColumnsMapping.自社品番].Value = myhin.SelectedRowData["自社品番"].ToString(); spgrid.Cells[rIdx, (int)GridColumnsMapping.自社品名].Value = myhin.SelectedRowData["自社品名"].ToString(); spgrid.Cells[rIdx, (int)GridColumnsMapping.数量].Value = 1m; spgrid.Cells[rIdx, (int)GridColumnsMapping.消費税区分].Value = myhin.SelectedRowData["消費税区分"]; spgrid.Cells[rIdx, (int)GridColumnsMapping.商品分類].Value = myhin.SelectedRowData["商品分類"]; //20190624CB-S spgrid.Cells[rIdx, (int)GridColumnsMapping.色コード].Value = myhin.SelectedRowData["自社色"]; spgrid.Cells[rIdx, (int)GridColumnsMapping.色名称].Value = myhin.SelectedRowData["自社色名"]; //20190624CB-E // 設定自社品番の編集を不可とする spgrid.Cells[rIdx, cIdx].Locked = true; } } else if (spgrid.ActiveColumnIndex == (int)GridColumnsMapping.摘要) { SCHM11_TEK tek = new SCHM11_TEK(); tek.TwinTextBox = new UcLabelTwinTextBox(); if (tek.ShowDialog(this) == true) { spgrid.Cells[rIdx, cIdx].Value = tek.TwinTextBox.Text2; } } SearchDetail.Rows[rIdx].EndEdit(); #endregion } else { ViewBaseCommon.CallMasterSearch(this, this.MasterMaintenanceWindowList); } } catch (Exception ex) { appLog.Error("検索画面起動エラー", ex); this.ErrorMessage = "システムエラーです。サポートへご連絡ください。"; } }
/// <summary> /// データ受信処理 /// </summary> /// <param name="message"></param> public override void OnReceivedResponseData(CommunicationObject message) { try { this.ErrorMessage = string.Empty; var data = message.GetResultData(); DataTable tbl = (data is DataTable) ? (data as DataTable) : null; switch (message.GetMessageName()) { case T05_GetData: // 伝票検索または新規伝票の場合 DataSet ds = data as DataSet; if (ds != null) { SetTblData(ds); // No-156-1 Add Start bool blnEnabled = true; if (this.MaintenanceMode == AppConst.MAINTENANCEMODE_EDIT) { blnEnabled = false; } setDispHeaderEnabled(blnEnabled); // No-156-1 Add Add End } else { MessageBox.Show("指定の伝票番号は登録されていません。", "伝票未登録", MessageBoxButton.OK, MessageBoxImage.Asterisk); this.txt伝票番号.Focus(); } break; // No-222 Add Start case UpdateData_StockCheck: // 在庫数チェック結果受信 Dictionary <int, string> updateList = data as Dictionary <int, string>; string zaiUpdateMessage = AppConst.CONFIRM_UPDATE; var zaiMBImage = MessageBoxImage.Question; foreach (DataRow row in SearchDetail.Select("", "", DataViewRowState.CurrentRows)) { int rowNum = row.Field <int>("行番号"); if (updateList.ContainsKey(rowNum) == true) { zaiMBImage = MessageBoxImage.Warning; zaiUpdateMessage = "在庫がマイナスになる品番が存在しますが、\r\n登録してもよろしいでしょうか?"; break; } } if (MessageBox.Show(zaiUpdateMessage, "登録確認", MessageBoxButton.YesNo, zaiMBImage, MessageBoxResult.Yes) == MessageBoxResult.No) { return; } Update(); break; // No-222 Add End case T05_Update: MessageBox.Show(AppConst.SUCCESS_UPDATE, "登録完了", MessageBoxButton.OK, MessageBoxImage.Information); // コントロール初期化 ScreenClear(); break; case T05_Delete: MessageBox.Show(AppConst.SUCCESS_DELETE, "削除完了", MessageBoxButton.OK, MessageBoxImage.Information); // コントロール初期化 ScreenClear(); break; case MasterCode_MyProduct: #region 自社品番 手入力時 DataTable ctbl = data as DataTable; int rIdx = gcSpreadGrid.ActiveRowIndex; int columnIdx = gcSpreadGrid.ActiveColumnIndex; // フォーカス移動後の項目が異なる場合または編集行が異なる場合は処理しない。 if ((columnIdx != (int)GridColumnsMapping.自社品名) || _編集行 != rIdx) { return; } if (ctbl == null || ctbl.Rows.Count == 0) { // 対象データなしの場合 gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.品番コード].Value = 0; gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品番].Value = string.Empty; gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品名].Value = string.Empty; gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.数量].Value = 0m; gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.消費税区分].Value = 0; // [軽減税率対象]0:対象外 gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.商品分類].Value = 3; // [商品分類]3:その他 // 20190624CB-S gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色コード].Value = string.Empty; gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色名称].Value = string.Empty; // 20190624CB-E } else if (ctbl.Rows.Count > 1) { // 対象データが複数ある場合 int cIdx = gcSpreadGrid.ActiveColumnIndex; var colVal = gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品番].Value; SCHM09_MYHIN myhin = new SCHM09_MYHIN(); myhin.txtCode.Text = colVal == null ? string.Empty : colVal.ToString(); myhin.txtCode.IsEnabled = false; myhin.TwinTextBox = new UcLabelTwinTextBox(); myhin.TwinTextBox.LinkItem = 1; if (myhin.ShowDialog(this) == true) { gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.品番コード].Value = myhin.SelectedRowData["品番コード"].ToString(); gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品番].Value = myhin.SelectedRowData["自社品番"].ToString(); gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品名].Value = myhin.SelectedRowData["自社品名"].ToString(); gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.数量].Value = 1m; gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.消費税区分].Value = myhin.SelectedRowData["消費税区分"]; gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.商品分類].Value = myhin.SelectedRowData["商品分類"]; // 20190624CB-S gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色コード].Value = myhin.SelectedRowData["自社色"]; gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色名称].Value = myhin.SelectedRowData["自社色名"]; // 20190624CB-E // 自社品番のセルをロック gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品番].Locked = true; } } else { // 対象データありの場合 DataRow drow = ctbl.Rows[0]; gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.品番コード].Value = drow["品番コード"].ToString(); gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品番].Value = drow["自社品番"].ToString(); gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品名].Value = drow["自社品名"].ToString(); gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.数量].Value = 1m; gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.消費税区分].Value = drow["消費税区分"]; gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.商品分類].Value = drow["商品分類"]; //20190624CB-S gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色コード].Value = drow["自社色"]; gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色名称].Value = drow["自社色名"]; //20190624CB-E // 自社品番のセルをロック gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品番].Locked = true; // 20190704CB-S gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.品番コード].Locked = true; //gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.賞味期限].Locked = true; No-206 Mod gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.消費税区分].Locked = true; gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.商品分類].Locked = true; gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色コード].Locked = true; gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色名称].Locked = true; // 20190704CB-E } #endregion break; default: break; } } catch { } }
/// <summary> /// データ受信処理 /// </summary> /// <param name="message"></param> public override void OnReceivedResponseData(CommunicationObject message) { try { this.ErrorMessage = string.Empty; var data = message.GetResultData(); DataTable tbl = (data is DataTable) ? (data as DataTable) : null; switch (message.GetMessageName()) { case DLY04011_GetData: // 伝票検索または新規伝票の場合 DataSet ds = data as DataSet; if (ds != null) { SetTblData(ds); ChangeKeyItemChangeable(false); this.txt移動日.Focus(); } else { MessageBox.Show("指定の伝票番号は登録されていません。", "伝票未登録", MessageBoxButton.OK, MessageBoxImage.Asterisk); this.txt伝票番号.Focus(); } break; case UpdateData_StockCheck: // 在庫数チェック結果受信 Dictionary <int, string> updateList = data as Dictionary <int, string>; string zaiUpdateMessage = AppConst.CONFIRM_UPDATE; var zaiMBImage = MessageBoxImage.Question; int outNum = OutSearchDetail.Field <int>("行番号"); int inNum = InSearchDetail.Field <int>("行番号"); if (updateList.ContainsKey(outNum) == true && updateList.ContainsKey(inNum) == true) { zaiMBImage = MessageBoxImage.Warning; zaiUpdateMessage = "入庫と出庫の在庫がマイナスになりますが、\r\n登録してもよろしいでしょうか?"; } else if (updateList.ContainsKey(outNum) == true) { zaiMBImage = MessageBoxImage.Warning; zaiUpdateMessage = "出庫の在庫がマイナスになりますが、\r\n登録してもよろしいでしょうか?"; } else if (updateList.ContainsKey(inNum) == true) { zaiMBImage = MessageBoxImage.Warning; zaiUpdateMessage = "入庫の在庫がマイナスになりますが、\r\n登録してもよろしいでしょうか?"; } if (MessageBox.Show(zaiUpdateMessage, "登録確認", MessageBoxButton.YesNo, zaiMBImage, MessageBoxResult.Yes) == MessageBoxResult.No) { return; } Update(); break; case DeleteData_StockCheck: // 在庫数チェック結果受信 Dictionary <int, string> deleteZaiList = data as Dictionary <int, string>; string zaiDelMessage = "表示中の伝票を削除してもよろしいですか?"; var zaiDelMBImage = MessageBoxImage.Question; if (deleteZaiList.Count > 0) { zaiDelMBImage = MessageBoxImage.Warning; zaiDelMessage = "入庫の在庫がマイナスになりますが、\r\n表示中の伝票を削除してもよろしいでしょうか?"; } if (MessageBox.Show(zaiDelMessage, "登録確認", MessageBoxButton.YesNo, zaiDelMBImage, MessageBoxResult.Yes) == MessageBoxResult.No) { return; } Delete(); break; case DLY04011_Update: MessageBox.Show(AppConst.SUCCESS_UPDATE, "登録完了", MessageBoxButton.OK, MessageBoxImage.Information); // コントロール初期化 ScreenClear(); break; case DLY04011_Delete: MessageBox.Show(AppConst.SUCCESS_DELETE, "削除完了", MessageBoxButton.OK, MessageBoxImage.Information); // コントロール初期化 ScreenClear(); break; case GetMyProduct: #region 自社品番 手入力時 DataTable ctbl = data as DataTable; int? p商品コード = null; int? p商品分類 = null; string p商品名 = string.Empty; string p自社色情報 = string.Empty; // 対象データが存在する場合 if (ctbl != null && ctbl.Rows.Count > 0) { if (ctbl.Rows.Count == 1) { p商品コード = int.Parse(ctbl.Rows[0]["品番コード"].ToString()); p商品名 = ctbl.Rows[0]["自社品名"].ToString(); p商品分類 = int.Parse(ctbl.Rows[0]["商品分類"].ToString()); p自社色情報 = ctbl.Rows[0]["自社色"].ToString() + " " + ctbl.Rows[0]["自社色名"].ToString(); } else { // 対象データが複数存在する場合 SCHM09_MYHIN myhin = new SCHM09_MYHIN(); myhin.txtCode.Text = 入出庫フラグ == 1 ? txt入庫自社品番.Text1 : txt出庫自社品番.Text1; myhin.txtCode.IsEnabled = false; myhin.TwinTextBox = new UcLabelTwinTextBox(); myhin.TwinTextBox.LinkItem = 0; if (myhin.ShowDialog(this) == true) { p商品コード = int.Parse(myhin.SelectedRowData["品番コード"].ToString()); p商品名 = myhin.SelectedRowData["自社品名"].ToString(); p商品分類 = int.Parse(myhin.SelectedRowData["商品分類"].ToString()); p自社色情報 = myhin.SelectedRowData["自社色"].ToString() + " " + myhin.SelectedRowData["自社色名"].ToString(); } } } if (入出庫フラグ == 1) { if (p商品コード == null) { InSearchDetail["品番コード"] = DBNull.Value; } else { InSearchDetail["品番コード"] = p商品コード; } if (p商品分類 == null) { InSearchDetail["商品分類"] = DBNull.Value; } else { InSearchDetail["商品分類"] = p商品分類; } txt入庫自社品番.Text2 = p商品名; 入庫自社色情報 = p自社色情報; } else if (入出庫フラグ == 2) { if (p商品コード == null) { OutSearchDetail["品番コード"] = DBNull.Value; } else { OutSearchDetail["品番コード"] = p商品コード; } if (p商品分類 == null) { OutSearchDetail["商品分類"] = DBNull.Value; } else { OutSearchDetail["商品分類"] = p商品分類; } txt出庫自社品番.Text2 = p商品名; 出庫自社色情報 = p自社色情報; } #endregion break; default: break; } } catch (Exception ex) { throw ex; } }