From c24d5f31189e6dfb1e0c91b3738289368f42126a Mon Sep 17 00:00:00 2001 From: wyf Date: Fri, 23 May 2025 07:23:01 +0000 Subject: [PATCH] SVN r635 SVN-Revision: r635 --- 插件库/Lskj.PubBill/BillModule.cs | 76 +++++++++++++++++++++++++++---- 1 file changed, 67 insertions(+), 9 deletions(-) diff --git a/插件库/Lskj.PubBill/BillModule.cs b/插件库/Lskj.PubBill/BillModule.cs index f179fc5..9efb4ce 100644 --- a/插件库/Lskj.PubBill/BillModule.cs +++ b/插件库/Lskj.PubBill/BillModule.cs @@ -1177,7 +1177,17 @@ namespace Lskj.PubBill { gridColumn.Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Left; } - for (int i = 0; i < 7; i++) + int dayCount = 0; + BaseUserControl baseUserControl = ControlObj.FindControl("bom_rdm_tianshu"); + if (baseUserControl != null) + { + int.TryParse(baseUserControl.EditText, out dayCount); + } + if (dayCount <= 0) + { + dayCount = 7; + } + for (int i = 0; i < dayCount; i++) { GridColumn gridColumn = new GridColumn(); gridColumn.AppearanceCell.Options.UseTextOptions = true; @@ -1199,6 +1209,25 @@ namespace Lskj.PubBill gcMain.GridView.Columns.Add(gridColumn); DateColumnList.Add(gridColumn); } + GridColumn sunColumn = new GridColumn(); + sunColumn.AppearanceCell.Options.UseTextOptions = true; + sunColumn.AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center; + sunColumn.AppearanceHeader.Options.UseTextOptions = true; + sunColumn.AppearanceHeader.TextOptions.HAlignment = HorzAlignment.Center; + sunColumn.OptionsColumn.AllowMove = false; + sunColumn.OptionsColumn.AllowSize = false; + sunColumn.OptionsFilter.AllowFilter = false; + sunColumn.OptionsColumn.AllowMerge = DefaultBoolean.False; + sunColumn.OptionsColumn.AllowSort = DefaultBoolean.False; + sunColumn.FieldName = $"workingsum"; + sunColumn.Caption = $"工时合计"; + sunColumn.Width = 70; + sunColumn.DisplayFormat.FormatType = FormatType.Numeric; + sunColumn.DisplayFormat.FormatString = "{0:#,##0.####}"; + sunColumn.Visible = true; + sunColumn.SummaryItem.SummaryType = SummaryItemType.Sum; + sunColumn.SummaryItem.DisplayFormat = "{0:#,##0.####}"; + gcMain.GridView.Columns.Add(sunColumn); } /// @@ -1207,7 +1236,17 @@ namespace Lskj.PubBill /// private void UpdateDynamicColumns(DateTime currentDate) { - DateTime endDate = currentDate.AddDays(7); + int dayCount = 0; + BaseUserControl baseUserControl = ControlObj.FindControl("bom_rdm_tianshu"); + if (baseUserControl != null) + { + int.TryParse(baseUserControl.EditText, out dayCount); + } + if (dayCount <= 0) + { + dayCount = 7; + } + DateTime endDate = currentDate.AddDays(dayCount); gcMain.GridView.BeginUpdate(); try { @@ -1228,7 +1267,7 @@ namespace Lskj.PubBill gridColumn.Visible = false; } } - + } finally { @@ -5434,17 +5473,24 @@ namespace Lskj.PubBill /// 2) 把 dataDayPlan 中对应日期的 amount 值填入主表; /// 3) 计算行级合计写入 “heji” 列。 /// - private DataTable MergeMainDataWithDayPlan( - DataTable dataMain, - DataTable dataDayPlan, - DateTime startDate) + private DataTable MergeMainDataWithDayPlan(DataTable dataMain, DataTable dataDayPlan, DateTime startDate) { const string rightPrimaryKey = "billdocument_id"; // dataDayPlan 主键 const string dateField = "showday"; const string amountField = "amount"; string topPrimaryKey = BillModel.DetailUUIDKey; // dataMain 主键 - DateTime endDate = startDate.AddDays(7); + int dayCount = 0; + BaseUserControl baseUserControl = ControlObj.FindControl("bom_rdm_tianshu"); + if (baseUserControl != null) + { + int.TryParse(baseUserControl.EditText, out dayCount); + } + if (dayCount <= 0) + { + dayCount = 7; + } + DateTime endDate = startDate.AddDays(dayCount); // ---------- 1. 预索引 dataDayPlan:billdocument_id -> List ---------- var dayPlanMap = new Dictionary>(); @@ -5529,7 +5575,19 @@ namespace Lskj.PubBill string dateField = "showday"; string amountField = "amount"; string topPrimaryKey = BillModel.DetailUUIDKey; - DateTime endDate = startDate.AddDays(7); // 计算结束日期 + + int dayCount = 0; + BaseUserControl baseUserControl = ControlObj.FindControl("bom_rdm_tianshu"); + if (baseUserControl != null) + { + int.TryParse(baseUserControl.EditText, out dayCount); + } + if (dayCount <= 0) + { + dayCount = 7; + } + + DateTime endDate = startDate.AddDays(dayCount); // 计算结束日期 // **1. 预索引 dataDayPlan 数据(billdocument_id -> 该 key 相关的所有行)** Dictionary> dayPlanMap = new Dictionary>(); foreach (DataRow row in dataDayPlan.Rows)