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