From 1f53a2d8bc69e3725e7b923a99429d5e241504c4 Mon Sep 17 00:00:00 2001 From: cdk <2441919651@qq.com> Date: 星期二, 12 八月 2025 13:57:03 +0800 Subject: [PATCH] 计件工资bug调整 --- DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_MESJJERRORJS.cs | 79 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 74 insertions(+), 5 deletions(-) diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_MESJJERRORJS.cs b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_MESJJERRORJS.cs index db29302..08ffbd4 100644 --- a/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_MESJJERRORJS.cs +++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_MESJJERRORJS.cs @@ -28,6 +28,14 @@ public Frm_MESJJERRORJS() { InitializeComponent(); + + // 娣诲姞搴忓彿鏄剧ず锛堜娇鐢ㄨ鎸囩ず鍣級 + gridView2.IndicatorWidth = 60; + gridView2.CustomDrawRowIndicator += (s, e) => + { + if (e.Info.IsRowIndicator && e.RowHandle >= 0) + e.Info.DisplayText = (e.RowHandle + 1).ToString(); + }; gridView2.CellValueChanged += gridView2_CellValueChanged; this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick; this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick; @@ -38,6 +46,7 @@ this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick; toolBarMenu1.btnChkClick += ToolBarMenu1_btnChkClick; toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick; + btnFZ.Click += btnFZ_Click; this.toolBarMenu1.getXmlConfig(); Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, picCheckBox, this, "checkStatus", "", (value) => { @@ -79,7 +88,11 @@ } DataTable _newTable = JsonConvert.DeserializeObject<DataTable>(array.ToString()); - DataTable _oldTable = _newTable.Clone(); + DataTable _oldTable = gridControl1.DataSource as DataTable; + if (_oldTable == null) + { + _oldTable = _newTable.Clone(); + } DataRow[] sourceRows = _newTable.Select(); for (int i = 0; i < sourceRows.Length; i++) { @@ -285,7 +298,7 @@ private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e) { string rowGuid = "", rowName = ""; - (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_Guid, gridView1, "guid"); + (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_Guid, gridView1, "errorNo"); if (string.IsNullOrEmpty(rowGuid)) { ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�"); @@ -354,7 +367,12 @@ { lbGuid.Text = ""; Gs.DevApp.ToolBox.UtilityHelper.JumpTab(xtraTabControl1, 4); - UtilityHelper.CleanValueByControl(this.layoutMx1.Controls, true); + List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = new List<DevExpress.XtraGrid.Views.Grid.GridView>(); + gridViews.Add(gridView1); + gridViews.Add(gridView2); + UtilityHelper.CleanValueByControl(this.layoutMx1.Controls, true, gridViews); + Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMain1, gridView1); + Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gridControl1, gridView2); txt_ErrorType.EditValue = "璁℃椂宸ユ椂"; GetTimeType(); GetWOMDAAInfo(); @@ -558,6 +576,12 @@ dynamic dy = _rtn.rtnData; lbGuid.Text = strGuid; UtilityHelper.SetValueByObj(this.layoutMx1.Controls, dy, isEdit); + // 鎺у埗鏄庣粏琛ㄥ彲缂栬緫鐘舵�� + List<DevExpress.XtraGrid.Views.Grid.GridView> gvList = new List<DevExpress.XtraGrid.Views.Grid.GridView>(); + gvList.Add(gridView2); + UtilityHelper.SetValueByObj(this.layoutMx1.Controls, dy, isEdit, gvList); + + JObject _job = JObject.Parse(strJson); JArray array = new JArray(); foreach (var a in _job["rtnData"]["list"]) @@ -607,7 +631,7 @@ ; toolBarMenu1.guidKey = ""; string rowGuid, rowName; - (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_Guid, gridView1, "guid"); + (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_Guid, gridView1, "errorNo"); if (string.IsNullOrEmpty(rowGuid)) { MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�"); @@ -654,8 +678,20 @@ { txt_HourlyType.EditValue = SelectedDataRow["璁℃椂绫诲瀷"].ToString(); txt_HourlySalary.EditValue = SelectedDataRow["璁℃椂鍗曚环"]; + + var hourlySalary = decimal.Parse(txt_HourlySalary.EditValue.ToString()); + for (int i = 0; i < gridView2.DataRowCount; i++) + { + DataRow row = gridView2.GetDataRow(i); + decimal hour = 0; + decimal.TryParse(row["hour"]?.ToString(), out hour); + if (row != null) + { + row["salary"] = hourlySalary * hour; + } + } + gridView2.RefreshData(); } - } private void repositoryItemSearchLookUpEdit1_EditValueChanged(object sender, EventArgs e) @@ -702,5 +738,38 @@ } } } + + private void btnFZ_Click(object sender, EventArgs e) + { + // 鑾峰彇褰撳墠閫変腑琛岀殑琛屽彿 + int focusedRowHandle = gridView2.FocusedRowHandle; + if (focusedRowHandle < 0) return; + + // 鑾峰彇褰撳墠琛岀殑鏃堕暱 + DataRow currentRow = gridView2.GetDataRow(focusedRowHandle); + if (currentRow == null) return; + + var hourValue = currentRow["hour"]; + if (hourValue == null) return; + + decimal hourlySalary = 0; + decimal hour = 0; + decimal.TryParse(txt_HourlySalary.Text, out hourlySalary); + // 鑾峰彇鏃堕暱 + decimal.TryParse(currentRow["hour"]?.ToString(), out hour); + + // 鎵归噺璁剧疆涓嬮潰鎵�鏈夎鐨勬椂闀� + for (int i = focusedRowHandle + 1; i < gridView2.DataRowCount; i++) + { + var row = gridView2.GetDataRow(i); + if (row != null) + { + row["hour"] = hourValue; + // 璁$畻璁℃椂宸ヨ祫 + row["salary"] = hourlySalary * hour; + } + } + gridView2.RefreshData(); + } } } \ No newline at end of file -- Gitblit v1.9.3