From dd58f123743df4ad0e85db2604b154522fb3b161 Mon Sep 17 00:00:00 2001 From: cyf Date: Fri, 21 Aug 2026 17:21:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E5=8F=8A=E6=8E=A7=E4=BB=B6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 插件库/Lskj.Business/Impl/AttachImpl.cs | 3 +- 插件库/Lskj.Business/Impl/BaseImpl.cs | 39 +++--- 插件库/Lskj.Business/Impl/BaseModuleImpl.cs | 35 +---- 插件库/Lskj.Business/Impl/SystemInfo.cs | 7 +- 插件库/Lskj.Control/AuditPanelEx.cs | 5 +- 插件库/Lskj.Control/FrmImport.cs | 17 ++- 插件库/Lskj.Control/GridControlEx.cs | 6 + 插件库/Lskj.Control/Model/GridDragGrid.cs | 2 +- .../Model/MenuStrip/GridViewMenuStrip.cs | 124 ++++++++++++++---- 插件库/Lskj.Control/ModuleGridEx.cs | 24 +++- 插件库/Lskj.Control/ModulePanelEx.cs | 5 + 插件库/Lskj.Core/DBConfig.cs | 3 +- .../Lskj.Main/Control/MainPanelControlEx.cs | 25 +++- 插件库/Lskj.Main/FrmMain.cs | 3 + 插件库/Lskj.Main/Model/Manager.cs | 2 +- 插件库/Lskj.PubBill/BillModule.cs | 6 +- 16 files changed, 220 insertions(+), 86 deletions(-) diff --git a/插件库/Lskj.Business/Impl/AttachImpl.cs b/插件库/Lskj.Business/Impl/AttachImpl.cs index 422f4a9..81e61b0 100644 --- a/插件库/Lskj.Business/Impl/AttachImpl.cs +++ b/插件库/Lskj.Business/Impl/AttachImpl.cs @@ -373,7 +373,8 @@ namespace Lskj.Business.Impl .Replace("#", "%23") .Replace("%2f", "/") .Replace("(", "%ef%bc%88") - .Replace(")", "%ef%bc%89"); + .Replace(")", "%ef%bc%89") + .Replace(" ", "%20"); // 完全参数化 SQL,彻底杜绝 SQL 注入! sqlValue = @"SELECT * FROM P_fm_FileTab diff --git a/插件库/Lskj.Business/Impl/BaseImpl.cs b/插件库/Lskj.Business/Impl/BaseImpl.cs index af2c8f0..844fdc3 100644 --- a/插件库/Lskj.Business/Impl/BaseImpl.cs +++ b/插件库/Lskj.Business/Impl/BaseImpl.cs @@ -101,11 +101,14 @@ namespace Lskj.Business.Impl /// true if [has contain column]; otherwise, false. public static bool HasExistsColumn(string tableName, string colName, string colType) { - if (!HasExistsColumn(tableName, colName)) + return InitialParamCache.GetColumnExists(tableName, colName, colType, delegate { - return ExecSqlValue(string.Format("ALTER TABLE {0} ADD {1} {2}", tableName, colName, colType)) > 0; - } - return true; + if (!HasExistsColumn(tableName, colName)) + { + return ExecSqlValue(string.Format("ALTER TABLE {0} ADD {1} {2}", tableName, colName, colType)) > 0; + } + return true; + }); } /// /// 说明:是否存在xxx表 @@ -120,15 +123,18 @@ namespace Lskj.Business.Impl /// true if [has exists table] [the specified table name]; otherwise, false. public static bool HasExistsTable(string tableName) { - try + return InitialParamCache.GetTableExists(tableName, delegate { - string sqlValue = "select 1 from " + tableName + " where 1<>1"; - return SqlHelper.ExecuteDataTable(sqlValue).Rows.Count >= 0; - } - catch (Exception) - { - } - return false; + try + { + string sqlValue = "select 1 from " + tableName + " where 1<>1"; + return SqlHelper.ExecuteDataTable(sqlValue).Rows.Count >= 0; + } + catch (Exception) + { + } + return false; + }); } /// @@ -973,8 +979,11 @@ namespace Lskj.Business.Impl /// DataTable. public static DataTable GetTableColumns(string tableName) { - string sqlValue = string.Format("select * from {0} where 1<>1", tableName); - return SqlHelper.ExecuteDataTable(sqlValue); + return InitialParamCache.GetTableColumns(tableName, delegate + { + string sqlValue = string.Format("select * from {0} where 1<>1", tableName); + return SqlHelper.ExecuteDataTable(sqlValue); + }); } /// /// 说明:执行SQL语句返回结果集 @@ -1252,4 +1261,4 @@ namespace Lskj.Business.Impl } -} \ No newline at end of file +} diff --git a/插件库/Lskj.Business/Impl/BaseModuleImpl.cs b/插件库/Lskj.Business/Impl/BaseModuleImpl.cs index 2219589..ab98a11 100644 --- a/插件库/Lskj.Business/Impl/BaseModuleImpl.cs +++ b/插件库/Lskj.Business/Impl/BaseModuleImpl.cs @@ -926,15 +926,7 @@ namespace Lskj.Business.Impl { string field = string.Empty; - DataTable dataTable; - try - { - dataTable = InitialParamCache.GetTableColumns("p_systembillsourcecond", delegate { return GetTableColumns("p_systembillsourcecond"); }); - } - catch (Exception) - { - dataTable = GetTableColumns("p_systembillsourcecond"); - } + DataTable dataTable = GetTableColumns("p_systembillsourcecond"); if (dataTable.Columns.Contains("FontSize")) { @@ -1150,16 +1142,7 @@ namespace Lskj.Business.Impl switch (type) { case ModuleType.MrpClickBtn: - bool isMrpClickBtnExists; - try - { - isMrpClickBtnExists = InitialParamCache.GetColumnExists("P_systempopupmenu", "isMrpClickBtn", "int", delegate { return BaseImpl.HasExistsColumn("P_systempopupmenu", "isMrpClickBtn", "int"); }); - } - catch (Exception) - { - isMrpClickBtnExists = BaseImpl.HasExistsColumn("P_systempopupmenu", "isMrpClickBtn", "int"); - } - if (isMrpClickBtnExists) + if (BaseImpl.HasExistsColumn("P_systempopupmenu", "isMrpClickBtn", "int")) { where = " and isnull(isMrpClickBtn,0)=1 and visible1=0 "; } @@ -1581,19 +1564,7 @@ namespace Lskj.Business.Impl //保存条件表 public static DataTable GetClientCond(string MenuCode) { - const string tableName = "P_SystemClientCondTab"; - bool tableExists; - try - { - tableExists = InitialParamCache.GetTableExists(tableName, delegate { return BaseImpl.HasExistsTable(tableName); }); - } - catch (Exception) - { - // 缓存未能正常读取或记录时,重新查询,避免影响原有功能。 - tableExists = BaseImpl.HasExistsTable(tableName); - } - - if (tableExists) + if (BaseImpl.HasExistsTable("P_SystemClientCondTab")) { string sqlValue = string.Format(@"select * from P_SystemClientCondTab where tab='{0}' and disableflag=0 order by orderid ", MenuCode); return GetDataTableResult(sqlValue); diff --git a/插件库/Lskj.Business/Impl/SystemInfo.cs b/插件库/Lskj.Business/Impl/SystemInfo.cs index e2ed7d0..f506ce9 100644 --- a/插件库/Lskj.Business/Impl/SystemInfo.cs +++ b/插件库/Lskj.Business/Impl/SystemInfo.cs @@ -340,8 +340,9 @@ namespace Lskj.Business ResourceDynamic.PubBrower = System.Environment.OSVersion.Version.Major == 5 && (System.Environment.OSVersion.Version.Minor == 1 || System.Environment.OSVersion.Version.Minor == 2) ? "Lskj.PubBrowerXp.dll" : "Lskj.PubBrower2.dll"; } Instance.IsSpecialAuditSave = item.Table.Columns.Contains("IsSpecialAuditSave") && !string.IsNullOrEmpty(item["IsSpecialAuditSave"] + "") ? "1".Equals(item["IsSpecialAuditSave"] + "") : false; + Instance.SuppressImportSuccessTip = item.Table.Columns.Contains("SuppressImportSuccessTip") && !string.IsNullOrEmpty(item["SuppressImportSuccessTip"] + "") ? "1".Equals(item["SuppressImportSuccessTip"] + "") : false; + - } /// /// 高拍仪AccessKey @@ -1179,5 +1180,9 @@ namespace Lskj.Business /// P_MessageToolLinkDllTab表中cardId=-99为通用模块(右侧快捷通道通用模块) 2023-12-4 徐成说的cardId=-99的配置 /// //public DataTable DefaultPermissionTable; + /// + /// 导入成功不会提示,直接关闭导入框(失败时还是会提示) + /// + public bool SuppressImportSuccessTip; } } diff --git a/插件库/Lskj.Control/AuditPanelEx.cs b/插件库/Lskj.Control/AuditPanelEx.cs index 5b47744..a5393c1 100644 --- a/插件库/Lskj.Control/AuditPanelEx.cs +++ b/插件库/Lskj.Control/AuditPanelEx.cs @@ -692,6 +692,9 @@ namespace Lskj.Control gridPanel.Dock = DockStyle.Right; gridPanel.BorderStyle = BorderStyles.NoBorder; GridControlEx grid = new GridControlEx(); + + grid.Model = this.SysModel; + if (dataCaches != null) { grid.GetDataCaches(dataCaches, modelkeyName + key); @@ -712,7 +715,7 @@ namespace Lskj.Control grid.SetGridRightMenus(dtGridRightMenus, SysModel); grid.GridView.Tag = accrModel; grid.GridView.DoubleClick += new EventHandler(OnGridViewDoubleClick); - grid.Model = this.SysModel; + //grid.Model = this.SysModel; // 追加复选框用于批量审批 if (BaseAccraditModelObj.MuitlAuditFlag || BaseAccraditModelObj.MuitlAuditBackFlag) { diff --git a/插件库/Lskj.Control/FrmImport.cs b/插件库/Lskj.Control/FrmImport.cs index 8a0f300..4f1f437 100644 --- a/插件库/Lskj.Control/FrmImport.cs +++ b/插件库/Lskj.Control/FrmImport.cs @@ -143,6 +143,10 @@ namespace Lskj.Control } bool isAdmin = ERPInfo.Instance.UserName.Equals("管理员"); this.btnCover.Visible = SysModel == null ? isAdmin : isAdmin ? true : SysModel.OperPermissionsUser.Contains(ERPInfo.Instance.UserName); + + //if (SysModel!=null&&!string.IsNullOrWhiteSpace(SysModel.OperPermissionsUser) && SysModel.OperPermissionsUser.Equals("无")) this.btnCover.Visible = false; + + this.SourceColumns = BaseImpl.GetDataTableResult(string.Format("select * from {0} where 1<>1", _tableName)).Columns; DataTable dtCalcFields = BaseImpl.GetDataTableResult(string.Format("select name from sys.columns where object_id=object_id('{0}') and is_computed=1", _tableName)); if ((dtCalcFields != null) && (dtCalcFields.Rows.Count > 0)) @@ -632,7 +636,11 @@ namespace Lskj.Control } dt.AcceptChanges(); - XtraMessageBox.Show("数据导入完成,成功" + success.ToString() + "条,失败" + failed.ToString() + "条", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + if (failedData.Rows.Count > 0 || !SystemInfo.Instance.SuppressImportSuccessTip) + { + XtraMessageBox.Show("数据导入完成,成功" + success.ToString() + "条,失败" + failed.ToString() + "条", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + if (failedData.Rows.Count > 0) { MessageUtil.Show(failedData.Rows[0]["import_errormsg"].ToString()); @@ -658,6 +666,9 @@ namespace Lskj.Control } } + + if (failed == 0 && datatb.Rows.Count > 0) this._isImported = true; + datatb.Clear(); dt.Clear(); if (failed > 0) @@ -1026,7 +1037,7 @@ namespace Lskj.Control { if (MessageUtil.Show("如果导入数据量太多将花费较长时间,是否确认导入", MessageBoxButtons.YesNo) != DialogResult.Yes) return; - this._isImported = true; + if (!this.DetermineImportConditions()) { @@ -1038,6 +1049,8 @@ namespace Lskj.Control // 采用存储过程保存 //this.SaveImportData(table); + + if(this._isImported&& SystemInfo.Instance.SuppressImportSuccessTip) this.DialogResult = DialogResult.OK; } else { diff --git a/插件库/Lskj.Control/GridControlEx.cs b/插件库/Lskj.Control/GridControlEx.cs index 0a263c8..d9ec5aa 100644 --- a/插件库/Lskj.Control/GridControlEx.cs +++ b/插件库/Lskj.Control/GridControlEx.cs @@ -5536,6 +5536,9 @@ namespace Lskj.Control modelLookUp.Tag = model; RepositoryItemCheckedComboBoxEdit btnEdit = new RepositoryItemCheckedComboBoxEdit(); + + btnEdit.ShowDropDown = ShowDropDown.Never; + btnEdit.NullText = ""; btnEdit.PopupBorderStyle = PopupBorderStyles.Flat; btnEdit.AllowNullInput = DefaultBoolean.False; @@ -5580,6 +5583,9 @@ namespace Lskj.Control } RepositoryItemCheckedComboBoxEdit btnEdit = new RepositoryItemCheckedComboBoxEdit(); + + btnEdit.ShowDropDown = ShowDropDown.Never; + btnEdit.NullText = ""; btnEdit.PopupBorderStyle = PopupBorderStyles.Flat; btnEdit.AllowNullInput = DefaultBoolean.False; diff --git a/插件库/Lskj.Control/Model/GridDragGrid.cs b/插件库/Lskj.Control/Model/GridDragGrid.cs index 7ce3a9b..282f152 100644 --- a/插件库/Lskj.Control/Model/GridDragGrid.cs +++ b/插件库/Lskj.Control/Model/GridDragGrid.cs @@ -289,7 +289,6 @@ namespace Lskj.Control.Model DragHander.Clear(); } } - /// /// 说明:获取表格选中行数据 /// 创建人:龚宇超 @@ -552,6 +551,7 @@ namespace Lskj.Control.Model } } } + /// /// 焦点行改变时 /// diff --git a/插件库/Lskj.Control/Model/MenuStrip/GridViewMenuStrip.cs b/插件库/Lskj.Control/Model/MenuStrip/GridViewMenuStrip.cs index d1f6e15..f1e2830 100644 --- a/插件库/Lskj.Control/Model/MenuStrip/GridViewMenuStrip.cs +++ b/插件库/Lskj.Control/Model/MenuStrip/GridViewMenuStrip.cs @@ -21,6 +21,7 @@ namespace Lskj.Control.Model public class GridViewMenuStrip : BaseRightMenu { private int[] _oldSelectRows; + private HashSet _oldSelectPrimaryValues; private DataRow _oldDataRow; private int _oldRowHandler; private GridView _gridView; @@ -231,41 +232,116 @@ namespace Lskj.Control.Model this._oldSelectRows = this._gridView.GetSelectedRows(); this._oldDataRow = this._gridView.GetFocusedDataRow(); this._oldRowHandler = this._gridView.FocusedRowHandle; + + // 复选框模式下保存选中行的主键值,避免刷新后行号对应到其他数据。 + this._oldSelectPrimaryValues = null; + string primaryKey = this.GridControlObj == null ? string.Empty : this.GridControlObj.MultiplePrimary; + bool isCheckBoxRowSelect = this._gridView.OptionsSelection.MultiSelect == true + && this._gridView.OptionsSelection.EnableAppearanceFocusedCell == false + && this._gridView.OptionsSelection.MultiSelectMode == GridMultiSelectMode.CheckBoxRowSelect; + if (isCheckBoxRowSelect && !string.IsNullOrWhiteSpace(primaryKey) && this._oldSelectRows != null) + { + foreach (int rowHandle in this._oldSelectRows) + { + DataRow row = this._gridView.GetDataRow(rowHandle); + if (row == null || !row.Table.Columns.Contains(primaryKey) || row.IsNull(primaryKey)) + continue; + + object primaryValue = row[primaryKey]; + if (string.IsNullOrWhiteSpace(primaryValue + "")) + continue; + + if (this._oldSelectPrimaryValues == null) + this._oldSelectPrimaryValues = new HashSet(); + this._oldSelectPrimaryValues.Add(primaryValue); + } + } } protected override void MenuStripClickAfter(ToolStripMenuItem item, GridRightMenuModel model) { - DataTable dataTable = this.GridControlObj.GridView.GetGridViewFilteredAndSortedDataToDataTable() as DataTable; - List rows = new List() { this._oldDataRow }; - IEnumerable QBJ = dataTable.Select().AsEnumerable().Intersect(rows.AsEnumerable(), DataRowComparer.Default); - int NRowHandle = 0; - try + string ParmaryKey = string.Empty; + if(this.GridControlObj!=null) ParmaryKey = GridControlObj.MultiplePrimary; + bool isCheckBoxRowSelect = this._gridView.OptionsSelection.MultiSelect == true&& this._gridView.OptionsSelection.EnableAppearanceFocusedCell == false && this._gridView.OptionsSelection.MultiSelectMode == GridMultiSelectMode.CheckBoxRowSelect; + DataTable currentDataTable = this.GridControlObj == null ? null : this.GridControlObj.GridControl.DataSourceTable(); + + if (isCheckBoxRowSelect&& !string.IsNullOrWhiteSpace(ParmaryKey) && this._oldSelectPrimaryValues != null&& this._oldSelectPrimaryValues.Count > 0&& currentDataTable != null&& currentDataTable.Columns.Contains(ParmaryKey)) { - DataTable NDataTable = QBJ.CopyToDataTable(); - if (NDataTable.Rows.Count > 0) + //2026-08-17添加,如果是复选框模式,并且有主键,右键后选中之前的行用主键值判断 + + // 只恢复刷新后仍存在的主键,已删除的数据不再按原行号选中。 + this._gridView.ClearSelection(); + if (!model.RefreshCheckState) { - NRowHandle = dataTable.Rows.IndexOf(QBJ.First()); - this._oldRowHandler = NRowHandle >= 0 ? NRowHandle : this._oldRowHandler; - } - } - catch (System.InvalidOperationException ex) //如果差集为null,就回进当前报错 - { - } - if (this._gridView.OptionsSelection.MultiSelect == true && this._gridView.OptionsSelection.EnableAppearanceFocusedCell == false && this._gridView.OptionsSelection.MultiSelectMode == GridMultiSelectMode.CheckBoxRowSelect) - { - if (model.RefreshCheckState) - this._gridView.ClearSelection(); - else if (!model.RefreshCheckState && this._oldSelectRows != null) - { - foreach (int index in this._oldSelectRows) + DataColumn[] tablePrimaryKey = currentDataTable.PrimaryKey; + bool canFindByPrimaryKey = this.GridControlObj.GridControl.DataSource is DataTable + && tablePrimaryKey != null + && tablePrimaryKey.Length == 1 + && tablePrimaryKey[0].ColumnName.Equals(ParmaryKey, StringComparison.OrdinalIgnoreCase); + if (canFindByPrimaryKey) { - this._gridView.SelectRow(index); + // DataTable设置了PrimaryKey时,使用其内部索引直接查找。 + foreach (object primaryValue in this._oldSelectPrimaryValues) + { + DataRow row = currentDataTable.Rows.Find(primaryValue); + if (row == null) + continue; + + int rowHandle = this._gridView.GetRowHandle(currentDataTable.Rows.IndexOf(row)); + if (rowHandle >= 0) + this._gridView.SelectRow(rowHandle); + } + } + else + { + // MultiplePrimary只是字段配置时没有数据索引,单次扫描比逐个LocateByValue更稳定。 + HashSet remainingPrimaryValues = new HashSet(this._oldSelectPrimaryValues); + for (int rowHandle = 0; rowHandle < this._gridView.DataRowCount && remainingPrimaryValues.Count > 0; rowHandle++) + { + DataRow row = this._gridView.GetDataRow(rowHandle); + if (row == null || !row.Table.Columns.Contains(ParmaryKey) || row.IsNull(ParmaryKey)) + continue; + + if (remainingPrimaryValues.Remove(row[ParmaryKey])) + this._gridView.SelectRow(rowHandle); + } } } } else { - this._gridView.ClearSelection(); - this._gridView.SelectRowHandler(this._oldRowHandler); + DataTable dataTable = this.GridControlObj.GridView.GetGridViewFilteredAndSortedDataToDataTable() as DataTable; + List rows = new List() { this._oldDataRow }; + IEnumerable QBJ = dataTable.Select().AsEnumerable().Intersect(rows.AsEnumerable(), DataRowComparer.Default); + int NRowHandle = 0; + try + { + DataTable NDataTable = QBJ.CopyToDataTable(); + if (NDataTable.Rows.Count > 0) + { + NRowHandle = dataTable.Rows.IndexOf(QBJ.First()); + this._oldRowHandler = NRowHandle >= 0 ? NRowHandle : this._oldRowHandler; + } + } + catch (System.InvalidOperationException ex) //如果差集为null,就回进当前报错 + { + } + if (this._gridView.OptionsSelection.MultiSelect == true && this._gridView.OptionsSelection.EnableAppearanceFocusedCell == false && this._gridView.OptionsSelection.MultiSelectMode == GridMultiSelectMode.CheckBoxRowSelect) + { + if (model.RefreshCheckState) + this._gridView.ClearSelection(); + else if (!model.RefreshCheckState && this._oldSelectRows != null) + { + foreach (int index in this._oldSelectRows) + { + this._gridView.SelectRow(index); + } + } + } + else + { + this._gridView.ClearSelection(); + this._gridView.SelectRowHandler(this._oldRowHandler); + } } } protected override List HandleRightMenuParams(List paramList, DataRow rowData, DataRow[] rowDatas = null, int actionType = 0) diff --git a/插件库/Lskj.Control/ModuleGridEx.cs b/插件库/Lskj.Control/ModuleGridEx.cs index 91584ad..e8bcfbf 100644 --- a/插件库/Lskj.Control/ModuleGridEx.cs +++ b/插件库/Lskj.Control/ModuleGridEx.cs @@ -1047,6 +1047,10 @@ namespace Lskj.Control this.gcMain.Model = this.Model; this.gcMain.SysModel = this.SysModel; this.gcMain.Dock = DockStyle.Fill; + if (this.SysModel.GridObjIsCheck == 1)//主表加载复选框 + { + GridDragGrid.GridAddCheckBox((this.gcMain as BandedGridControlEx).GridView); + } this.panelControl1.Controls.Add(this.gcMain); if (this.SysModel.LoadFilter) (this.gcMain as BandedGridControlEx).GridView.OptionsView.ShowAutoFilterRow = true; (this.gcMain as BandedGridControlEx).gridControl.Tag = panel; @@ -3553,9 +3557,23 @@ namespace Lskj.Control if (!string.IsNullOrWhiteSpace(this.SysModel.afterimportSql)) { - string sql = this.SearchObj.ReplaceControlValue(this.SysModel.afterimportSql); - string newResult = SqlHelper.ExecuteScalar(sql) + ""; - //if (!string.IsNullOrEmpty(newResult)) MessageUtil.Show(newResult); + try + { + WaitForm.ShowForm(); + string sql = this.SearchObj.ReplaceControlValue(this.SysModel.afterimportSql); + string newResult = SqlHelper.ExecuteScalar(sql) + ""; + //if (!string.IsNullOrEmpty(newResult)) MessageUtil.Show(newResult); + } + catch (Exception e) + { + string Message = ErrorMessage.PromptErrorMessage(e); + MessageUtil.Show("基础档案导入后执行sql错误!" + Message); + } + finally + { + WaitForm.HideForm(); + } + } // 刷新数据 diff --git a/插件库/Lskj.Control/ModulePanelEx.cs b/插件库/Lskj.Control/ModulePanelEx.cs index a5929d9..c6c6c63 100644 --- a/插件库/Lskj.Control/ModulePanelEx.cs +++ b/插件库/Lskj.Control/ModulePanelEx.cs @@ -786,6 +786,7 @@ namespace Lskj.Control { try { + this.pl_main.Visible = false; if (sysModel != null && dyncModel != null) { this.SysModel = sysModel; @@ -1443,6 +1444,10 @@ namespace Lskj.Control string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message, ex.Message); } + finally + { + this.pl_main.Visible = true; + } } /// diff --git a/插件库/Lskj.Core/DBConfig.cs b/插件库/Lskj.Core/DBConfig.cs index 9e11aa5..88de576 100644 --- a/插件库/Lskj.Core/DBConfig.cs +++ b/插件库/Lskj.Core/DBConfig.cs @@ -431,7 +431,7 @@ namespace Lskj.Core } if (connectionType == ConnectionType.SqlServer) { - connStr = EnableSqlServerIdleConnectionResilience(connStr); + //connStr = EnableSqlServerIdleConnectionResilience(connStr); } SqlHelper.dbFactory = DbProviderFactories.GetFactory(providerName); if (SqlHelper._connection != null) @@ -460,6 +460,7 @@ namespace Lskj.Core } catch (Exception ex) { + LogHelper.Instance.WriteLog(ex.Message); Console.WriteLine(ex.Message); } return isConnect; diff --git a/插件库/Lskj.Main/Control/MainPanelControlEx.cs b/插件库/Lskj.Main/Control/MainPanelControlEx.cs index 8d98d52..b138671 100644 --- a/插件库/Lskj.Main/Control/MainPanelControlEx.cs +++ b/插件库/Lskj.Main/Control/MainPanelControlEx.cs @@ -4563,6 +4563,29 @@ namespace Lskj.Main.Control return false; } + + //切换账套后,直接进入程序界面,去设置对应的子菜单,暂不开放 + //if (!SystemInfo.Instance.IsChangeZTReturnMainForm) + //{ + // DataTable MainTable = MainImpl.EnableSubSystem(); + // ERPInfo.Instance.SubMenuCount = MainTable.Rows.Count; + // DataRow[] subrows = MainTable.Select(string.Format("SubSysId={0}", ERPInfo.Instance.SubSysId)); + // if (subrows != null && subrows.Length > 0) + // { + // ERPInfo.Instance.SubSysId = subrows[0]["SubSysId"] + ""; + // ERPInfo.Instance.SubSysName = subrows[0]["SubSysName"] + ""; + // } + // else + // { + // if (MainTable.Rows.Count >0) + // { + // ERPInfo.Instance.SubSysId = MainTable.Rows[0]["SubSysId"] + ""; + // ERPInfo.Instance.SubSysName = MainTable.Rows[0]["SubSysName"] + ""; + // } + // } + //} + + Manager.ReStartMain(!SystemInfo.Instance.IsChangeZTReturnMainForm); return true; } @@ -5223,6 +5246,6 @@ namespace Lskj.Main.Control } } - + } } diff --git a/插件库/Lskj.Main/FrmMain.cs b/插件库/Lskj.Main/FrmMain.cs index 74af277..1a2d911 100644 --- a/插件库/Lskj.Main/FrmMain.cs +++ b/插件库/Lskj.Main/FrmMain.cs @@ -62,6 +62,9 @@ namespace Lskj.Main /// 水印层 /// private FrmWatermark watermarkForm; + + + public FrmMain() { Graphics graphics = this.CreateGraphics(); diff --git a/插件库/Lskj.Main/Model/Manager.cs b/插件库/Lskj.Main/Model/Manager.cs index e9ff1b3..a31cdbd 100644 --- a/插件库/Lskj.Main/Model/Manager.cs +++ b/插件库/Lskj.Main/Model/Manager.cs @@ -462,7 +462,7 @@ namespace Lskj.Main.Model private static string BuildBsMenuUrl(string dllName, string dllCoid) { return string.Format( - "pages/app/app.html?xtype={0}&dllcoid={1}&username={2}&password={3}", + "pages/app/app.html?xtype={0}&dllcoid={1}&username={2}&password={3}&f=1", dllName, dllCoid, ERPInfo.Instance.UserName, diff --git a/插件库/Lskj.PubBill/BillModule.cs b/插件库/Lskj.PubBill/BillModule.cs index cded4fb..426915f 100644 --- a/插件库/Lskj.PubBill/BillModule.cs +++ b/插件库/Lskj.PubBill/BillModule.cs @@ -3110,7 +3110,7 @@ namespace Lskj.PubBill // 单据为新增状态 this.dbpFP.Enabled = this.btnDelete.Enabled = this.btnBillSave.Enabled = this.btnBillApply.Enabled = true; this.lbTitle.Text = this.BillModel.TypeName + addText; - this.lblOrderNo.Text = BillImpl.GetBillNo(this.BillModel.BillSeq); + this.lblOrderNo.Text = BillModel.NewVer == 0? BillImpl.GetBillNo(this.BillModel.BillSeq):""; this._itemImport.Enabled = this._itemImportUpdate.Enabled = true; this.cb_input.Enabled = this.btn_input.Enabled = this.txt_input.Enabled = true; this.cb_templete.Enabled = true; @@ -3242,7 +3242,7 @@ namespace Lskj.PubBill this.dbpFP.Enabled = this.btnDelete.Enabled = this.btnBillSave.Enabled = this.btnBillApply.Enabled = true; this.lbTitle.Text = this.BillModel.TypeName + addText; this.lbTitle.Invalidate(); - this.lblOrderNo.Text = BillImpl.GetBillNo(this.BillModel.BillSeq); + this.lblOrderNo.Text = BillModel.NewVer == 0 ? BillImpl.GetBillNo(this.BillModel.BillSeq) : ""; this.BillModel.SaveState = false; this.rdBlue.Enabled = this.rdRed.Enabled = true; this.cb_input.Enabled = this.btn_input.Enabled = this.txt_input.Enabled = true; @@ -3290,7 +3290,7 @@ namespace Lskj.PubBill this.dbpFP.Enabled = this.btnDelete.Enabled = this.btnBillSave.Enabled = this.btnBillApply.Enabled = true; this.lbTitle.Text = this.BillModel.TypeName + addText; this.lbTitle.Invalidate(); - this.lblOrderNo.Text = BillImpl.GetBillNo(this.BillModel.BillSeq); + this.lblOrderNo.Text = BillModel.NewVer == 0 ? BillImpl.GetBillNo(this.BillModel.BillSeq) : ""; this.rdBlue.Enabled = this.rdRed.Enabled = true; this.cb_input.Enabled = this.btn_input.Enabled = this.txt_input.Enabled = true; this._itemImport.Enabled = this._itemImportUpdate.Enabled = true;