From a59265c2c88ea46a2fa09ce507701a2bc06c2e4d Mon Sep 17 00:00:00 2001 From: cnf <3200815559@qq.com> Date: 星期四, 14 八月 2025 17:32:52 +0800 Subject: [PATCH] 领料模块 --- DevApp/Gs.DevApp/DevFrm/WOM/Frm_WompbaGx.cs | 139 +++++++++++++++++++++++++++++++++++++-------- 1 files changed, 113 insertions(+), 26 deletions(-) diff --git a/DevApp/Gs.DevApp/DevFrm/WOM/Frm_WompbaGx.cs b/DevApp/Gs.DevApp/DevFrm/WOM/Frm_WompbaGx.cs index b76ee61..abce647 100644 --- a/DevApp/Gs.DevApp/DevFrm/WOM/Frm_WompbaGx.cs +++ b/DevApp/Gs.DevApp/DevFrm/WOM/Frm_WompbaGx.cs @@ -8,6 +8,8 @@ using System; using System.Collections.Generic; using System.Data; +using System.Data.SqlTypes; +using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; @@ -46,6 +48,9 @@ }, lbGuid); getPageList(1); pageBar1.PagerEvent += PageBar1_PagerEvent; + // 娣诲姞CustomRowCellEdit浜嬩欢澶勭悊锛屼负姣忚鎻愪緵鐙珛鐨勪笅鎷夋暟鎹� + // gvMx1.CustomRowCellEdit += GvMx1_CustomRowCellEdit; + gvMx1.ShownEditor += GvMx1_ShownEditor; //閫夊瓨缁勭粐锛堝彉鏄庣粏涓殑鐗╂枡鍜岃溅闂达級 txt_erpSczz.EditChanged += (s, e) => { @@ -79,18 +84,27 @@ lst = ee.StringList; var _obj = lst; var strReturn = UtilityHelper.HttpPost("", - "WompbaManager/SelectPbaToView", + "WompbaGxManager/SelectPbaToView", JsonConvert.SerializeObject(_obj)); var dt = UtilityHelper.ReturnToList(strReturn); DataTable _newTable = dt.rtnData; DataTable _oldTable = (DataTable)gcMx1.DataSource; + + // 娣诲姞鏂板垪瀛樺偍宸ュ簭鍒楄〃锛堝鏋滀笉瀛樺湪锛� + if (!_oldTable.Columns.Contains("GxList")) + { + _oldTable.Columns.Add("GxList", typeof(List<CboItemEntity>)); + } + DataRow[] sourceRows = _newTable.Select(); for (int i = 0; i < sourceRows.Length; i++) { _oldTable.ImportRow(sourceRows[i]); - //鏍规嵁缂栫爜鑾峰彇瀵瑰簲缁存姢宸ュ簭 - _getListSCGX(sourceRows[i]["itemId"].ToString()); + // 涓烘瘡琛岃幏鍙栧苟瀛樺偍瀵瑰簲鐨勫伐搴忓垪琛� + var gxList = _getListSCGXForRow(sourceRows[i]["itemId"].ToString()); + int newRowIndex = _oldTable.Rows.Count - 1; + _oldTable.Rows[newRowIndex]["GxList"] = gxList; } gcMx1.BindingContext = new BindingContext(); gcMx1.DataSource = _oldTable; @@ -397,7 +411,8 @@ Bz = row["daa009"].ToString(),//澶囨敞 Blsj = row["prepareTime"].ToString(),//棰勮澶囨枡鏃堕棿 Pcsl = row["daa008"].ToString(),//鎺掍骇鏁伴噺 - Yjwgsj = row["mesEndProd"].ToString()//棰勮瀹屽伐鏃堕棿 + Yjwgsj = row["mesEndProd"].ToString(),//棰勮瀹屽伐鏃堕棿 + GxId = row["daa030"].ToString()//宸ュ簭ID }); } } @@ -575,6 +590,7 @@ var _sbSqlWhere = " and 1=1 and dpt_id=" + workGuid; var pgq = new PageQueryModel(1, 999999, "a.line_no", "asc", "", _sbSqlWhere.ToString()); var json = JsonConvert.SerializeObject(pgq); + try { var strReturn = UtilityHelper.HttpPost("", "MesWorkshopLineManager/GetListPage", json); @@ -610,49 +626,117 @@ /// <summary> - /// 褰撳墠浜у搧甯﹀嚭鐢熶骇宸ュ簭 + /// 涓烘寚瀹氳鑾峰彇鐢熶骇宸ュ簭鍒楄〃 /// </summary> /// <param name="itemID"></param> - private void _getListSCGX(string itemID) + /// <returns></returns> + private List<CboItemEntity> _getListSCGXForRow(string itemID) { - repSCGX.Items.Clear(); + var gxList = new List<CboItemEntity>(); if (string.IsNullOrEmpty(itemID)) - return; - var _sbSqlWhere = " and 1=1 and t.id=" + itemID; - var pgq = new PageQueryModel(1, 999999, "a.line_no", "asc", "", _sbSqlWhere.ToString()); - var json = JsonConvert.SerializeObject(pgq); + return gxList; + + var _sbSqlWhere = " and 1=1 and a.item_id =" + itemID; + var pgq = new PageQueryModel(1, 999999, "a.GUID", "asc", "", _sbSqlWhere.ToString()); + var requestData = new + { + Paging = pgq, // 鍒嗛〉鍙傛暟 + ItemInfo = new { itemid = itemID } // 棰濆鍙傛暟 + }; + var json = JsonConvert.SerializeObject(requestData); + try { - var strReturn = UtilityHelper.HttpPost("", "MesWorkshopLineManager/GetListPage", json); + var strReturn = UtilityHelper.HttpPost("", _webServiceName + "SelectPbaGx", json); var dd = UtilityHelper.ReturnToTablePage(strReturn); DataTable dt = dd.rtnData.list; foreach (DataRow dr in dt.Rows) { - repSCGX.Items.Add((new CboItemEntity(dr["id"].ToString(), dr["name"].ToString()))); + gxList.Add(new CboItemEntity(dr["gxId"].ToString(), dr["gxName"].ToString())); } } catch (Exception ex) { MsgHelper.Warning("鎻愮ず锛�" + ex.Message); } + return gxList; } - private void repSCGX_SelectedIndexChanged(object sender, EventArgs e) + + + + /// <summary> + /// 褰撶紪杈戝櫒鏄剧ず鏃跺姩鎬佽缃笅鎷夋暟鎹� + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void GvMx1_ShownEditor(object sender, EventArgs e) { - ComboBoxEdit comboBox = sender as ComboBoxEdit; - if (comboBox != null) + GridView view = sender as GridView; + + // 妫�鏌ユ槸鍚︿负缂栬緫鐘舵�� + if (toolBarMenu1.currentAction != "edit" && toolBarMenu1.currentAction != "add") + return; + + if (view.FocusedColumn.FieldName == "daa030ProcName") { - GridView myView = (gcMx1.MainView as GridView); - int dataIndex = myView.GetDataSourceRowIndex(myView.FocusedRowHandle); - CboItemEntity _itm = comboBox.EditValue as CboItemEntity; - string _val = _itm.Value.ToString(); - string _txt = _itm.Text.ToString(); - gvMx1.CloseEditor(); - gvMx1.PostEditor(); - gvMx1.UpdateCurrentRow(); - gvMx1.SetRowCellValue(dataIndex, "daa030ProcName", _txt); - gvMx1.SetRowCellValue(dataIndex, "daa030", _val); + var dataRow = view.GetDataRow(view.FocusedRowHandle); + if (dataRow != null && dataRow["GxList"] != null) + { + var gxList = dataRow["GxList"] as List<CboItemEntity>; + if (gxList != null) + { + var comboEdit = view.ActiveEditor as ComboBoxEdit; + if (comboEdit != null) + { + // 娓呯┖Items + comboEdit.Properties.Items.Clear(); + + // 鍙坊鍔燭ext瀛楃涓诧紝涓嶆坊鍔犳暣涓璞� + foreach (var item in gxList) + { + comboEdit.Properties.Items.Add(item.Text); + } + + // 瀛樺偍鏄犲皠鍏崇郴鍒癟ag涓� + comboEdit.Tag = gxList; + + // 缁戝畾閫夋嫨浜嬩欢 + comboEdit.SelectedIndexChanged -= ComboEdit_SelectedIndexChanged; + comboEdit.SelectedIndexChanged += ComboEdit_SelectedIndexChanged; + } + } + } } } + + /// <summary> + /// 澶勭悊涓嬫媺閫夋嫨浜嬩欢 + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void ComboEdit_SelectedIndexChanged(object sender, EventArgs e) + { + var comboBox = sender as ComboBoxEdit; + if (comboBox != null && comboBox.Tag is List<CboItemEntity> gxList) + { + var selectedText = comboBox.Text; + var selectedItem = gxList.FirstOrDefault(x => x.Text == selectedText); + + if (selectedItem != null) + { + var myView = (gcMx1.MainView as GridView); + int dataIndex = myView.GetDataSourceRowIndex(myView.FocusedRowHandle); + + myView.CloseEditor(); + myView.PostEditor(); + myView.UpdateCurrentRow(); + myView.SetRowCellValue(dataIndex, "daa030ProcName", selectedItem.Text); + myView.SetRowCellValue(dataIndex, "daa030", selectedItem.Value); + } + } + } + + /// <summary> @@ -707,5 +791,8 @@ MsgHelper.Warning("鎻愮ず锛�" + ex.Message); } } + + + } } \ No newline at end of file -- Gitblit v1.9.3