| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Data; |
| | | using System.Data.SqlTypes; |
| | | using System.Linq; |
| | | using System.Threading.Tasks; |
| | | using System.Windows.Forms; |
| | | |
| | |
| | | }, lbGuid); |
| | | getPageList(1); |
| | | pageBar1.PagerEvent += PageBar1_PagerEvent; |
| | | // 添加CustomRowCellEdit事件处理,为每行提供独立的下拉数据 |
| | | // gvMx1.CustomRowCellEdit += GvMx1_CustomRowCellEdit; |
| | | gvMx1.ShownEditor += GvMx1_ShownEditor; |
| | | //选存组织(变明细中的物料和车间) |
| | | txt_erpSczz.EditChanged += (s, e) => |
| | | { |
| | |
| | | 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; |
| | |
| | | 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 |
| | | }); |
| | | } |
| | | } |
| | |
| | | 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); |
| | |
| | | |
| | | |
| | | /// <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(); |
| | | |
| | | // 只添加Text字符串,不添加整个对象 |
| | | foreach (var item in gxList) |
| | | { |
| | | comboEdit.Properties.Items.Add(item.Text); |
| | | } |
| | | |
| | | // 存储映射关系到Tag中 |
| | | 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> |
| | | /// 工具条事件 |