From e4c662a16cbecd88e64bfeea677ef2a0c97ab771 Mon Sep 17 00:00:00 2001
From: wbc <2597324127@qq.com>
Date: 星期四, 11 十二月 2025 23:22:47 +0800
Subject: [PATCH] 蓝宝自动调拨相关更新
---
DevApp/Gs.DevApp/DevFrm/WOM/Frm_Wompba.cs | 255 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 255 insertions(+), 0 deletions(-)
diff --git a/DevApp/Gs.DevApp/DevFrm/WOM/Frm_Wompba.cs b/DevApp/Gs.DevApp/DevFrm/WOM/Frm_Wompba.cs
index 360aeb4..65875ce 100644
--- a/DevApp/Gs.DevApp/DevFrm/WOM/Frm_Wompba.cs
+++ b/DevApp/Gs.DevApp/DevFrm/WOM/Frm_Wompba.cs
@@ -54,6 +54,8 @@
getPageList(1);
pageBar1.PagerEvent += PageBar1_PagerEvent;
+
+
//閫夊瓨缁勭粐锛堝彉鏄庣粏涓殑鐗╂枡鍜岃溅闂达級
txt_erpSczz.EditChanged += (s, e) =>
{
@@ -61,6 +63,7 @@
if (string.IsNullOrEmpty(_orgId))
return;
txt_pba013.getSuppler(_orgId, _cjBm);
+ _getListDepot(_orgId);
};
// 閫夋嫨杞﹂棿锛堝彉鏄庣粏涓骇绾匡級
txt_pba013.EditChanged += (s, e) =>
@@ -96,6 +99,10 @@
{
_oldTable.ImportRow(sourceRows[i]);
}
+ // 纭繚鑷姩璋冩嫧鐩稿叧鍒楀瓨鍦紝渚夸簬涓嬫媺璧嬪��
+ if (!_oldTable.Columns.Contains("dbDepotId")) _oldTable.Columns.Add("dbDepotId", typeof(string));
+ if (!_oldTable.Columns.Contains("depotName")) _oldTable.Columns.Add("depotName", typeof(string));
+ if (!_oldTable.Columns.Contains("dbDepotSections")) _oldTable.Columns.Add("dbDepotSections", typeof(string));
gcMx1.BindingContext = new BindingContext();
gcMx1.DataSource = _oldTable;
gvMx1.CloseEditor();
@@ -112,6 +119,28 @@
};
frm.ShowDialog();
};
+ gvMx1.ShowingEditor += (s, e) =>
+ {
+ if (gvMx1.FocusedColumn == gvMx1DepotSections)
+ {
+ string depotId = gvMx1.GetRowCellValue(gvMx1.FocusedRowHandle, "dbDepotId")?.ToString();
+ _getListDepotSections(depotId);
+ }
+ };
+
+ gvMx1.CellValueChanged += (s, e) =>
+ {
+ if (e.RowHandle < 0) return;
+ if (e.Column == gvMx1DepotName)
+ {
+ var depotId = gvMx1.GetRowCellValue(e.RowHandle, "dbDepotId")?.ToString();
+ // 娓呯┖搴撲綅骞舵牴鎹粨搴揑D鍔犺浇搴撲綅涓嬫媺
+ gvMx1.SetRowCellValue(e.RowHandle, "dbDepotSections", null);
+ _getListDepotSections(depotId);
+ }
+ };
+
+
}
private void GridView1_ColumnFilterChanged(object sender, EventArgs e)
{
@@ -281,6 +310,7 @@
MsgHelper.ShowError("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
return;
}
+ toolBarMenu1.currentAction = "edit";
Gs.DevApp.ToolBox.UtilityHelper.JumpTab(xtraTabControl1, 3);
if (xtraTabControl1.SelectedTabPageIndex == 1)
{
@@ -291,6 +321,12 @@
List<DevExpress.XtraGrid.Views.Grid.GridView> gvList = new List<DevExpress.XtraGrid.Views.Grid.GridView>();
gvList.Add(gvMx1);
UtilityHelper.ChangeEnableByControl(this.layoutMx1.Controls, true, gvList);
+ gvMx1DepotName.OptionsColumn.ReadOnly = false;
+ gvMx1DepotName.OptionsColumn.AllowEdit = true;
+ gvMx1DepotSections.OptionsColumn.ReadOnly = false;
+ gvMx1DepotSections.OptionsColumn.AllowEdit = true;
+ if (btnBatchSetDepotSections != null)
+ btnBatchSetDepotSections.Enabled = true;
}
//2025/07/12鍔犱笂淇敼鐘舵�佷笅涓嶈兘淇敼
txt_erpSczz.IsReadly = true;
@@ -375,6 +411,29 @@
MsgHelper.ShowError("棰勮瀹屽伐鏃堕棿涓嶈兘涓虹┖锛�");
return;
}
+ var _isCheckObj = row["isCheck"];
+ bool _isAuto = false;
+ if (_isCheckObj is bool _b) _isAuto = _b;
+ else
+ {
+ var _s = _isCheckObj == null ? "" : _isCheckObj.ToString();
+ _isAuto = _s == "1" || string.Equals(_s, "true", System.StringComparison.OrdinalIgnoreCase);
+ }
+ if (_isAuto)
+ {
+ var _depotId = row["dbDepotId"] == null ? "" : row["dbDepotId"].ToString();
+ var _depotSections = row["dbDepotSections"] == null ? "" : row["dbDepotSections"].ToString();
+ if (string.IsNullOrWhiteSpace(_depotId))
+ {
+ MsgHelper.ShowError("鑷姩璋冩嫧浠撳簱涓嶈兘涓虹┖锛�");
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(_depotSections))
+ {
+ MsgHelper.ShowError("鑷姩璋冩嫧搴撲綅涓嶈兘涓虹┖锛�");
+ return;
+ }
+ }
_obj.list.Add(new
{
Guid = _guid,
@@ -385,6 +444,10 @@
Yjwgsj = row["mesEndProd"].ToString(),//棰勮瀹屽伐鏃堕棿
Pcsl = row["daa008"].ToString(),//鎺掍骇鏁伴噺
Bz = row["daa009"].ToString(),//澶囨敞
+ IsZddb = row["isCheck"].ToString(),//鏄惁鑷姩璋冩嫧
+ DepotId = row["dbDepotId"].ToString(),//浠撳簱ID
+ DepotSections = row["dbDepotSections"].ToString()//浠撳簱搴撲綅
+
});
}
}
@@ -402,6 +465,8 @@
gvList.Add(gvMx1);
UtilityHelper.ChangeEnableByControl(this.layoutMx1.Controls, false, gvList);
toolBarMenu1.currentAction = "";
+ if (btnBatchSetDepotSections != null)
+ btnBatchSetDepotSections.Enabled = false;
Gs.DevApp.ToolBox.UtilityHelper.JumpTab(xtraTabControl1, 6);
}
else
@@ -411,6 +476,105 @@
{
ToolBox.MsgHelper.ShowError("鎻愮ず锛�" + ex.Message);
}
+ }
+
+ private void btnBatchSetDepotSections_Click(object sender, EventArgs e)
+ {
+ var selected = gvMx1.GetSelectedRows();
+ if (selected == null || selected.Length == 0)
+ {
+ MsgHelper.ShowError("璇峰厛鍦ㄦ渶宸︿晶閫夋嫨闇�瑕佹壒閲忚祴鍊肩殑琛岋紒");
+ return;
+ }
+ // 棰勫姞杞戒粨搴撳垪琛�
+ string orgId = txt_erpSczz.GetId();
+ _getListDepot(orgId);
+ // 鏋勫缓寮规
+ var dlg = new DevExpress.XtraEditors.XtraForm();
+ dlg.Text = "鎵归噺璧嬪�艰嚜鍔ㄨ皟鎷ㄥ簱浣�";
+ dlg.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ dlg.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ dlg.MaximizeBox = false;
+ dlg.MinimizeBox = false;
+ dlg.Width = 420;
+ dlg.Height = 220;
+
+ var lblDepot = new DevExpress.XtraEditors.LabelControl() { Text = "浠撳簱鍚嶇О锛�", Left = 15, Top = 20, Width = 80 };
+ var cboDepot = new DevExpress.XtraEditors.ComboBoxEdit() { Left = 100, Top = 16, Width = 280 };
+ cboDepot.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
+ foreach (var item in this.rptDepotName.Items)
+ {
+ cboDepot.Properties.Items.Add(item);
+ }
+
+ var lblSection = new DevExpress.XtraEditors.LabelControl() { Text = "搴撲綅锛�", Left = 15, Top = 60, Width = 80 };
+ var cboSection = new DevExpress.XtraEditors.ComboBoxEdit() { Left = 100, Top = 56, Width = 280 };
+ cboSection.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
+
+ var chkAuto = new DevExpress.XtraEditors.CheckEdit() { Left = 15, Top = 96, Width = 200, Text = "鍚屾椂鍕鹃�夎嚜鍔ㄨ皟鎷ㄦ爣璇�", Checked = true };
+
+ var btnOk = new DevExpress.XtraEditors.SimpleButton() { Left = 200, Top = 130, Width = 80, Text = "纭畾" };
+ var btnCancel = new DevExpress.XtraEditors.SimpleButton() { Left = 300, Top = 130, Width = 80, Text = "鍙栨秷" };
+
+ cboDepot.SelectedIndexChanged += (s, ev) =>
+ {
+ var itm = cboDepot.EditValue as CboItemEntity;
+ var depotId = itm == null ? null : itm.Value?.ToString();
+ _getListDepotSections(depotId);
+ cboSection.Properties.Items.Clear();
+ foreach (var sec in this.rptDepotSections.Items)
+ {
+ cboSection.Properties.Items.Add(sec);
+ }
+ cboSection.EditValue = null;
+ };
+
+ btnCancel.Click += (s, ev) => { dlg.DialogResult = System.Windows.Forms.DialogResult.Cancel; dlg.Close(); };
+ btnOk.Click += (s, ev) =>
+ {
+ var depotItem = cboDepot.EditValue as CboItemEntity;
+ var sectionItem = cboSection.EditValue as CboItemEntity;
+ if (depotItem == null)
+ {
+ MsgHelper.ShowError("璇烽�夋嫨浠撳簱鍚嶇О锛�");
+ return;
+ }
+ if (sectionItem == null)
+ {
+ MsgHelper.ShowError("璇烽�夋嫨搴撲綅锛�");
+ return;
+ }
+ var depotId = depotItem.Value?.ToString();
+ var depotName = depotItem.Text?.ToString();
+ var sectionCode = sectionItem.Text?.ToString();
+
+ gvMx1.BeginUpdate();
+ foreach (var handle in selected)
+ {
+ if (handle < 0) continue;
+ gvMx1.SetRowCellValue(handle, "dbDepotId", depotId);
+ gvMx1.SetRowCellValue(handle, "depotName", depotName);
+ gvMx1.SetRowCellValue(handle, "dbDepotSections", sectionCode);
+ gvMx1.SetRowCellValue(handle, "isCheck", true);
+ }
+ gvMx1.EndUpdate();
+ gvMx1.CloseEditor();
+ gvMx1.PostEditor();
+ gvMx1.UpdateCurrentRow();
+
+ dlg.DialogResult = System.Windows.Forms.DialogResult.OK;
+ dlg.Close();
+ };
+
+ dlg.Controls.Add(lblDepot);
+ dlg.Controls.Add(cboDepot);
+ dlg.Controls.Add(lblSection);
+ dlg.Controls.Add(cboSection);
+ dlg.Controls.Add(chkAuto);
+ dlg.Controls.Add(btnOk);
+ dlg.Controls.Add(btnCancel);
+
+ dlg.ShowDialog(this);
}
/// <summary>
@@ -497,11 +661,16 @@
DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
if (dt.Rows.Count > 0)
{
+ if (!dt.Columns.Contains("DbDepotId")) dt.Columns.Add("DbDepotId", typeof(string));
+ if (!dt.Columns.Contains("DepotName")) dt.Columns.Add("DepotName", typeof(string));
+ if (!dt.Columns.Contains("DbDepotSections")) dt.Columns.Add("DbDepotSections", typeof(string));
gcMx1.BindingContext = new BindingContext();
gcMx1.DataSource = dt;
gcMx1.ForceInitialize();
gvMx1.BestFitColumns();
Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMx1);
+ if (btnBatchSetDepotSections != null)
+ btnBatchSetDepotSections.Enabled = isEdit;
}
else
{
@@ -603,6 +772,92 @@
}
}
+ private void rptDepotName_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ ComboBoxEdit comboBox = sender as ComboBoxEdit;
+ if (comboBox != null)
+ {
+ GridView myView = (gcMx1.MainView as GridView);
+ int dataIndex = myView.GetDataSourceRowIndex(myView.FocusedRowHandle);
+ CboItemEntity _itm = comboBox.EditValue as CboItemEntity;
+ if (_itm == null) return;
+ string depotId = _itm.Value.ToString();
+ string depotName = _itm.Text.ToString();
+ gvMx1.CloseEditor();
+ gvMx1.PostEditor();
+ gvMx1.UpdateCurrentRow();
+ gvMx1.SetRowCellValue(dataIndex, "dbDepotId", depotId);
+ gvMx1.SetRowCellValue(dataIndex, "depotName", depotName);
+ // 娓呯┖搴撲綅骞舵牴鎹粨搴揑D鍔犺浇搴撲綅鍒楄〃
+ gvMx1.SetRowCellValue(dataIndex, "dbDepotSections", null);
+ _getListDepotSections(depotId);
+ }
+ }
+
+ private void rptDepotSections_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ ComboBoxEdit comboBox = sender as ComboBoxEdit;
+ if (comboBox != null)
+ {
+ GridView myView = (gcMx1.MainView as GridView);
+ int dataIndex = myView.GetDataSourceRowIndex(myView.FocusedRowHandle);
+ CboItemEntity _itm = comboBox.EditValue as CboItemEntity;
+ if (_itm == null) return;
+ string sectionCode = _itm.Text.ToString();
+ gvMx1.CloseEditor();
+ gvMx1.PostEditor();
+ gvMx1.UpdateCurrentRow();
+ gvMx1.SetRowCellValue(dataIndex, "dbDepotSections", sectionCode);
+ }
+ }
+
+ private void _getListDepot(string orgId)
+ {
+ try
+ {
+ var pgq = new PageQueryModel(1, 999999, "org.FNumber asc ,a.depot_code", "asc", "", " and is_ng='A'" + (string.IsNullOrEmpty(orgId) ? "" : (" and a.FSubsidiary='" + orgId + "'")));
+ var json = JsonConvert.SerializeObject(pgq);
+ var strReturn = UtilityHelper.HttpPost("", "MesDepotsManager/GetListPage", json);
+ var rtn = UtilityHelper.ReturnToTablePage(strReturn);
+ var dt = rtn.rtnData.list;
+ this.rptDepotName.Items.Clear();
+ foreach (System.Data.DataRow dr in dt.Rows)
+ {
+ this.rptDepotName.Items.Add(new CboItemEntity(dr["depotId"].ToString(), dr["depotName"].ToString()));
+ }
+ }
+ catch (Exception ex)
+ {
+ MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+ }
+ }
+
+ private void _getListDepotSections(string depotId)
+ {
+ try
+ {
+ if (string.IsNullOrEmpty(depotId))
+ {
+ this.rptDepotSections.Items.Clear();
+ return;
+ }
+ var pgq = new PageQueryModel(1, 999999, "b.xh", "asc", "", " and is_ng='A' and a.depot_id='" + depotId + "'" );
+ var json = JsonConvert.SerializeObject(pgq);
+ var strReturn = UtilityHelper.HttpPost("", "MesDepotSectionsManager/GetListPage", json);
+ var rtn = UtilityHelper.ReturnToTablePage(strReturn);
+ var dt = rtn.rtnData.list;
+ this.rptDepotSections.Items.Clear();
+ foreach (System.Data.DataRow dr in dt.Rows)
+ {
+ this.rptDepotSections.Items.Add(new CboItemEntity(dr["depotSectionCode"].ToString(), dr["depotSectionCode"].ToString()));
+ }
+ }
+ catch (Exception ex)
+ {
+ MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+ }
+ }
+
/// <summary>
/// 鏂板鏂规硶锛氬垪琛ㄦ樉绀�
/// </summary>
--
Gitblit v1.9.3