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