diff --git a/插件库/Lskj.Business/Impl/AttachImpl.cs b/插件库/Lskj.Business/Impl/AttachImpl.cs
index 272fd2e..de8b73b 100644
--- a/插件库/Lskj.Business/Impl/AttachImpl.cs
+++ b/插件库/Lskj.Business/Impl/AttachImpl.cs
@@ -349,8 +349,13 @@ namespace Lskj.Business.Impl
/// DataTable.
public static DataRow GetTempletFile(string sName, string webpath = "")
{
- string sqlValue = "select * from P_fm_FileTab where sName=@sName";
- DataTable dt = SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@sName", sName) });
+ //如果文件名中有 不间断空格 会导致查不出来,所以改成 ={0}的写法
+ //string sqlValue = "select * from P_fm_FileTab where sName=@sName";
+ //DataTable dt = SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@sName", sName) });
+
+ string sqlValue = string.Format("select * from P_fm_FileTab where sName='{0}'", sName.Replace("'", "''"));
+ DataTable dt = SqlHelper.ExecuteDataTable(sqlValue);
+
if (dt.Rows.Count > 1)
{
//string webpath11 = Lskj.Web.Core.Util.FileUtil.UrlEncode(HttpUtility.UrlDecode(webpath), false);
@@ -372,17 +377,13 @@ namespace Lskj.Business.Impl
// 完全参数化 SQL,彻底杜绝 SQL 注入!
sqlValue = @"SELECT * FROM P_fm_FileTab
- WHERE sName = @sName
- AND (webpath LIKE @path1
- OR webpath LIKE @path2
- OR webpath LIKE @path3)";
+ WHERE sName = '{0}'
+ AND (webpath LIKE '{1}'
+ OR webpath LIKE '{2}'
+ OR webpath LIKE '{3}')";
- dt = SqlHelper.ExecuteDataTable(sqlValue,
- new SqlParameter("@sName", sName),
- new SqlParameter("@path1", "%" + webpath),
- new SqlParameter("@path2", "%" + formatPath),
- new SqlParameter("@path3", "%" + decodePath)
- );
+ dt = SqlHelper.ExecuteDataTable(
+ string.Format(sqlValue,sName.Replace("'", "''"),"%" + webpath.Replace("'", "''"),"%" + formatPath.Replace("'", "''"),"%" + decodePath.Replace("'", "''")));
}
return dt.Rows.Count > 0 ? dt.Rows[0] : null;
diff --git a/插件库/Lskj.Business/Impl/BaseModuleImpl.cs b/插件库/Lskj.Business/Impl/BaseModuleImpl.cs
index fab0da3..cbb3a50 100644
--- a/插件库/Lskj.Business/Impl/BaseModuleImpl.cs
+++ b/插件库/Lskj.Business/Impl/BaseModuleImpl.cs
@@ -1,1393 +1,1399 @@
-/******************************
-* 说明:基础档案相关接口
-* 创建人:龚宇超
-* 创建日期:2017-11-08
-* 修改人:
-* 修改日期:
-* 修改备注:
-* 版本:1.0.0.0
-******************************/
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Data;
-using System.Data.SqlClient;
-using Lskj.Model;
-using Lskj.Core;
-
-namespace Lskj.Business.Impl
-{
- ///
- /// 基础档案相关接口
- ///
- public class BaseModuleImpl : BaseImpl
- {
- ///
- /// 说明:是否包含流转步骤
- /// 创建人:龚宇超
- /// 创建日期:2017-11-08
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// 基础档案模块编号
- /// true if [has step flow] [the specified menu code]; otherwise, false.
- ///
- public static bool HasStepFlow(string menuCode)
- {
- string sqlValue = "select 1 from p_systemdlltabflow where typeCode=@typeCode";
- return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@typeCode", menuCode) }).Rows.Count > 0;
- }
- ///
- /// 说明:批量保存基础档案
- /// 创建人:龚宇超
- /// 创建日期:2017-11-08
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The models.
- /// true if XXXX, false otherwise.
- public static bool SaveBaseGridData(List models, string storedProcedureValue = "0")
- {
- int resultCount = 0;
- string apiMsg = "";
- for (int i = 0; i < models.Count; i++)
- {
- int result = SaveBasePanelData(models[i], storedProcedureValue);
- resultCount += result;
- }
- return resultCount == models.Count;
- }
- ///
- /// 说明:批量保存基础档案并返回apiResult
- /// 创建人:龚宇超
- /// 创建日期:2017-11-08
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The models.
- /// true if XXXX, false otherwise.
- public static bool SaveBaseGridData(List models, out string apiReturnMsg, string storedProcedureValue = "0")
- {
- int resultCount = 0;
- string apiMsg = "";
- for (int i = 0; i < models.Count; i++)
- {
- ApiHelper apiHelper = null;
- Interface.Api.ActionType actionType = Interface.Api.ActionType.Add;
- switch (models[i].BaseSaveType)
- {
- case SaveType.Add:
- int addresult = SaveBasePanelData(models[i], storedProcedureValue);
- resultCount += addresult;
- if (addresult > 0 && ApiHelper.IsExecEventApi(Interface.Api.OperateEvent.AfterModuleDataChange, models[i].MenuCode, 0))
- {
- apiHelper = new ApiHelper(models[i].MenuCode, models[i].FieldValue, models[i].KeyField, models[i].TableName, 0, models[i].row);
- actionType = Interface.Api.ActionType.Add;
- apiHelper.OnEvent(Interface.Api.OperateEvent.AfterModuleDataChange, actionType);
- apiMsg = apiMsg + apiHelper.apiResutMsg;
- }
- break;
- case SaveType.Update:
- int updateresult = SaveBasePanelData(models[i], storedProcedureValue);
- resultCount += updateresult;
- if (updateresult > 0 && ApiHelper.IsExecEventApi(Interface.Api.OperateEvent.AfterModuleDataChange, models[i].MenuCode, 0))
- {
- apiHelper = new ApiHelper(models[i].MenuCode, models[i].FieldValue, models[i].KeyField, models[i].TableName, 0, models[i].row);
- actionType = Interface.Api.ActionType.Update;
- apiHelper.OnEvent(Interface.Api.OperateEvent.AfterModuleDataChange, actionType);
- apiMsg = apiMsg + apiHelper.apiResutMsg;
- }
- break;
- case SaveType.Delete:
- if (ApiHelper.IsExecEventApi(Interface.Api.OperateEvent.AfterModuleDataDelete, models[i].MenuCode, 0))
- {
- apiHelper = new ApiHelper(models[i].MenuCode, models[i].FieldValue, models[i].KeyField, models[i].TableName, 0, models[i].row);
- actionType = Interface.Api.ActionType.Delete;
- //请求删除数据时先等待返回结果后再进行删除
- apiHelper.OnEvent(Interface.Api.OperateEvent.AfterModuleDataDelete, actionType, false);
- }
- int deleteresult = SaveBasePanelData(models[i], storedProcedureValue);
- resultCount += deleteresult;
- if (deleteresult > 0 && apiHelper != null)
- {
- apiHelper.OnEvent();
- apiMsg = apiMsg + apiHelper.apiResutMsg;
- }
- break;
- }
- }
- apiReturnMsg = apiMsg;
- return resultCount == models.Count;
- }
- ///
- /// 说明:批量保存基础档案
- /// 创建人:龚宇超
- /// 创建日期:2017-11-08
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The models.
- /// true if XXXX, false otherwise.
- public static bool SaveBaseGridData(List models, out string retuenMsg, out string apiResutMsg)
- {
- int resultCount = 0; retuenMsg = "0";
- string apiMsg = "";
- for (int i = 0; i < models.Count; i++)
- {
- int succeeCount = SaveBasePanelData(models[i], out retuenMsg);
- #region 接口推送
- if (succeeCount > 0 && ApiHelper.IsExecEventApi(Interface.Api.OperateEvent.AfterModuleDataChange, models[i].MenuCode, 0) && (models[i].BaseSaveType == SaveType.Add || models[i].BaseSaveType == SaveType.Update))
- {
- ApiHelper apiHelper = new ApiHelper(models[i].MenuCode, models[i].FieldValue, models[i].KeyField, models[i].TableName, 0, models[i].row);
- try
- {
- Interface.Api.ActionType actionType = Interface.Api.ActionType.Add;
- switch (models[i].BaseSaveType)
- {
- case SaveType.Add:
- actionType = Interface.Api.ActionType.Add;
- apiHelper.OnEvent(Interface.Api.OperateEvent.AfterModuleDataChange, actionType);
- break;
- case SaveType.Update:
- actionType = Interface.Api.ActionType.Update;
- apiHelper.OnEvent(Interface.Api.OperateEvent.AfterModuleDataChange, actionType);
- break;
- }
- apiMsg += apiHelper.apiResutMsg;
- }
- catch (Exception ex)
- {
- apiMsg += string.Format("数据{0}推送失败,原因:{1}\r\n", apiHelper.idValue, ex.Message);
- }
- }
- #endregion
- resultCount += succeeCount;
- }
- apiResutMsg = apiMsg;
- return resultCount == models.Count;
- }
- ///
- /// 说明:删除方案
- /// 创建人:龚宇超
- /// 创建日期:2017-11-16
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// 菜单ID
- /// Name of the project.
- /// true if XXXX, false otherwise.
- public static bool DeleteProject(string moduleId, string projectName)
- {
- string sqlValue = "delete P_SystemReportProjectTab where ModuleId=@ModuleId and OperatorId=@Userid and ProjectName=@ProjectName";
- return SqlHelper.ExecuteNonQuery(CommandType.Text, sqlValue, new SqlParameter[]
- {
- new SqlParameter("@ModuleId", moduleId),
- new SqlParameter("@Userid",ERPInfo.Instance.UserId),
- new SqlParameter("@ProjectName",projectName)
- }) > 0;
- }
-
- ///
- /// 说明:打印完成成功后数据业务处理
- /// 创建人:龚宇超
- /// 创建日期:2018-07-05
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// System.Int32.
- public static int SavePrintRecord(string tableName, string prefix, string primaryKey, string primaryValue, string modeCode)
- {
- if (primaryValue.Contains(","))
- {
- HashSet hashSet = new HashSet(primaryValue.Split(','));//去重,避免多选时同一条数据记录多次
- foreach (string value in hashSet)
- {
- try
- {
- string sqlValue = string.Format(@"update {0} set {1}printCount=isnull({1}printCount,0)+1,
- {1}printLastTime=getdate(),{1}printLastOper='{4}'
- where {2}='{3}'", tableName, prefix, primaryKey, value, ERPInfo.Instance.UserId);
- int i = SqlHelper.ExecuteNonQuery(sqlValue);
- if (i < 0) return -1;
- string sqlValue2 = string.Format(@"insert into p_systemPrintDetails (typeCode,sourcecode,OperatorId,operatedate,OperType)
- values ('{0}','{1}','{2}','{3}','{4}')", modeCode, value, ERPInfo.Instance.UserId, DateTime.Now, 3);
- SqlHelper.ExecuteNonQuery(sqlValue2);
- }
- catch (Exception ex)
- {
- return -1;
- }
-
- }
- return 1;
- }
- else
- {
-
- string sqlValue = string.Format(@"update {0} set {1}printCount=isnull({1}printCount,0)+1,
- {1}printLastTime=getdate(),{1}printLastOper='{4}'
- where {2}='{3}'", tableName, prefix, primaryKey, primaryValue, ERPInfo.Instance.UserId);
- int i = SqlHelper.ExecuteNonQuery(sqlValue);
- if (i < 0) return -1;
- string sqlValue2 = string.Format(@"insert into p_systemPrintDetails (typeCode,sourcecode,OperatorId,operatedate,OperType)
- values ('{0}','{1}','{2}','{3}','{4}')", modeCode, primaryValue, ERPInfo.Instance.UserId, DateTime.Now, 3);
- return SqlHelper.ExecuteNonQuery(sqlValue2);
-
- }
-
-
- }
- ///
- /// 说明:保存方案
- /// 创建人:龚宇超
- /// 创建日期:2017-11-15
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// Name of the project.
- /// The project value.
- /// The menu code.
- /// 0.失败 1.成功 2.方案名称重复
- public static int SaveProject(string projectName, string projectValue, string menuCode)
- {
- if (string.IsNullOrWhiteSpace(projectName) ||
- string.IsNullOrWhiteSpace(projectValue) ||
- string.IsNullOrWhiteSpace(menuCode))
- return 0;
-
- string sqlValue = "select 1 from P_SystemReportProjectTab where ProjectName=@ProjectName and operatorId=@UserId";
- int result = SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@ProjectName", projectName), new SqlParameter("@UserId", ERPInfo.Instance.UserId) }).Rows.Count;
-
- if (result > 0) return 2;
-
- sqlValue = string.Format(@"insert into P_SystemReportProjectTab(OperatorId,OperateDate,ProjectName,ProjectMode,SearchValue,ModuleId)
- values('{0}',getdate(),'{1}',1,'{2}','{3}')", ERPInfo.Instance.UserId, projectName, projectValue, menuCode);
- return SqlHelper.ExecuteNonQuery(sqlValue);
- }
- ///
- /// 说明:保存图片到数据库中(为了兼容之前版本,后面舍弃.此方式不可取.)
- /// 创建人:龚宇超
- /// 创建日期:2018-01-25
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// 表明
- /// 字段名称
- /// 主键字段.
- /// 主键值.
- /// 图片字节.
- /// 返回成功1失败0
- ///
- [Obsolete]
- public static int SaveImage(string tableName, string fieldName, string primaryKey, string primaryValue, byte[] buffer)
- {
- if (string.IsNullOrWhiteSpace(tableName) ||
- string.IsNullOrWhiteSpace(fieldName) ||
- string.IsNullOrWhiteSpace(primaryKey) ||
- string.IsNullOrWhiteSpace(primaryValue))
- {
- throw new Exception("parameter is failure.");
- }
-
- if (buffer != null && buffer.Length > 0)
- {
- string sqlValue = string.Format("update {0} set {1}=@buffer where {2}='{3}'", tableName, fieldName, primaryKey, primaryValue);
- SqlParameter bufferParam = new SqlParameter("@buffer", SqlDbType.Image);
- bufferParam.Value = buffer;
- return SqlHelper.ExecuteNonQuery(CommandType.Text, sqlValue, new SqlParameter[] { bufferParam });
- }
- else
- {
- string sqlValue = string.Format("update {0} set {1}=NULL where {2}='{3}'", tableName, fieldName, primaryKey, primaryValue);
- return SqlHelper.ExecuteNonQuery(sqlValue);
- }
- }
- ///
- /// 说明:批量保存基础档案
- /// 创建人:龚宇超
- /// 创建日期:2017-11-10
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// Name of the table.
- /// The parmary key.
- /// 主键值,多个值用逗号分割
- /// System.Int32.
- ///
- public static int DeleteBaseGridData(string tableName, string parmaryKey, string records)
- {
- string sqlValue = string.Format("delete from {0} where {1} in ({2})", tableName, parmaryKey, records.Trim(','));
- return SqlHelper.ExecuteNonQuery(sqlValue);
- }
- ///
- /// 说明:保存基础档案
- /// 创建人:龚宇超
- /// 创建日期:2017-11-08
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The model.
- /// System.Int32.
- public static int SaveBasePanelData(BaseSaveModel model, string storedProcedureValue = "0")
- {
- SqlParameter pMsg = ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@msg", SqlDbType.NVarChar, 4000) : new SqlParameter("@msg", SqlDbType.VarChar, 2000);
- pMsg.Direction = ParameterDirection.Output;
- SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
- returnValue.Direction = ParameterDirection.ReturnValue;
- //增加基础档案保存确认,兼容老版本
- SqlParameter[] param1 =
- {
- ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@baseSql",SqlDbType.NVarChar):new SqlParameter("@baseSql",SqlDbType.NText),
- new SqlParameter("@saveType",SqlDbType.Int),
- new SqlParameter("@modid",SqlDbType.VarChar,20),
- new SqlParameter("@tablename",SqlDbType.VarChar,50),
- new SqlParameter("@keyfield",SqlDbType.VarChar,50),
- new SqlParameter("@keyvalue",SqlDbType.VarChar,50),
- new SqlParameter("@Operatorid",SqlDbType.Int),
- ERPInfo.Instance.ChangeParameterType ?new SqlParameter("@operatorName",SqlDbType.NVarChar,100):new SqlParameter("@operatorName",SqlDbType.VarChar,50),
- pMsg,
- returnValue
- };
-
- SqlParameter[] param2 =
- {
- ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@baseSql",SqlDbType.NVarChar):new SqlParameter("@baseSql",SqlDbType.NText),
- new SqlParameter("@saveType",SqlDbType.Int),
- new SqlParameter("@modid",SqlDbType.VarChar,20),
- new SqlParameter("@tablename",SqlDbType.VarChar,50),
- new SqlParameter("@keyfield",SqlDbType.VarChar,50),
- new SqlParameter("@keyvalue",SqlDbType.VarChar,50),
- new SqlParameter("@Operatorid",SqlDbType.Int),
- ERPInfo.Instance.ChangeParameterType ?new SqlParameter("@operatorName",SqlDbType.NVarChar,100):new SqlParameter("@operatorName",SqlDbType.VarChar,50),
- pMsg,
- new SqlParameter("@comfirmFlag",SqlDbType.Int),
- returnValue
- };
-
- if (storedProcedureValue.Equals("1")) model.ComfirmFlag = 1;
-
- SqlParameter[] param = null;
- if (model.ComfirmFlag == 0)
- param = param1;
- else
- param = param2;
- param[0].Value = model.BaseSql;
- param[1].Value = (int)model.BaseSaveType;
- param[2].Value = model.MenuCode;
- param[3].Value = model.TableName;
- param[4].Value = model.KeyField;
- param[5].Value = model.FieldValue;
- param[6].Value = ERPInfo.Instance.UserId;
- param[7].Value = ERPInfo.Instance.UserName;
- if (param.Count() > 10)
- param[9].Value = model.ComfirmFlag;
-
-
- //SqlParameter[] newParam = new SqlParameter[param.Length + 1];
-
- //if (storedProcedureValue.Equals("1"))
- //{
- // bool sureToSave = true;
- // string[] newParameter = new string[] { "@comfirmFlag"};
- // if (isParamComplete(model.NewVer == 0 ? "P_BaseSave" : "p_BaseSave70", newParameter))
- // {
- // for (int i = 0; i < param.Length; i++)
- // {
- // newParam[i] = param[i];
- // }
- // SqlParameter sqlParameter = new SqlParameter("@comfirmFlag", SqlDbType.Int);
- // sqlParameter.Value = "1";
- // newParam[param.Length] = sqlParameter;
- // }
- //}
-
- DataSet ds = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, model.NewVer == 0 ? "P_BaseSave" : "p_BaseSave70", "baseSave", param);
- string rMsg = pMsg.Value.ToString();
- int result = Convert.ToInt32(returnValue.Value + "");
-
- if (result==-1)
- {
- if (SqlHelper.ConnectionType == ConnectionType.SqlServer)
- {
- SqlStoredProcedurepPrompt.GenerateBaseSaveProcedureScript(model, storedProcedureValue);
- }
- if (SqlHelper.ConnectionType == ConnectionType.DmServer)
- {
- SqlStoredProcedurepPrompt.GenerateBillSaveScript_DM(SqlHelper.LastFailureSql);
- }
- }
-
- model.Success = result == 1;
- model.FaultMsg = rMsg;
- return result;
- }
- ///
- /// 说明:保存基础档案
- /// 创建人:龚宇超
- /// 创建日期:2017-11-08
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The model.
- /// System.Int32.
- public static int SaveBasePanelData(BaseSaveModel model, out string retuenMsg)
- {
- SqlParameter pMsg = ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@msg", SqlDbType.NVarChar, 4000) : new SqlParameter("@msg", SqlDbType.VarChar, 2000);
- pMsg.Direction = ParameterDirection.Output;
- SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
- returnValue.Direction = ParameterDirection.ReturnValue;
- //增加基础档案保存确认,兼容老版本
- SqlParameter[] param1 =
- {
- ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@baseSql",SqlDbType.NVarChar):new SqlParameter("@baseSql",SqlDbType.NText),
- new SqlParameter("@saveType",SqlDbType.Int),
- new SqlParameter("@modid",SqlDbType.VarChar,20),
- new SqlParameter("@tablename",SqlDbType.VarChar,50),
- new SqlParameter("@keyfield",SqlDbType.VarChar,50),
- new SqlParameter("@keyvalue",SqlDbType.VarChar,50),
- new SqlParameter("@Operatorid",SqlDbType.Int),
- ERPInfo.Instance.ChangeParameterType ?new SqlParameter("@operatorName",SqlDbType.NVarChar,100):new SqlParameter("@operatorName",SqlDbType.VarChar,50),
- pMsg,
- returnValue
- };
-
- SqlParameter[] param2 =
- {
- ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@baseSql",SqlDbType.NVarChar):new SqlParameter("@baseSql",SqlDbType.NText),
- new SqlParameter("@saveType",SqlDbType.Int),
- new SqlParameter("@modid",SqlDbType.VarChar,20),
- new SqlParameter("@tablename",SqlDbType.VarChar,50),
- new SqlParameter("@keyfield",SqlDbType.VarChar,50),
- new SqlParameter("@keyvalue",SqlDbType.VarChar,50),
- new SqlParameter("@Operatorid",SqlDbType.Int),
- ERPInfo.Instance.ChangeParameterType ?new SqlParameter("@operatorName",SqlDbType.NVarChar,100):new SqlParameter("@operatorName",SqlDbType.VarChar,50),
- pMsg,
- new SqlParameter("@comfirmFlag",SqlDbType.Int),
- returnValue
- };
-
- SqlParameter[] param = null;
- if (model.ComfirmFlag == 0)
- param = param1;
- else
- param = param2;
- param[0].Value = model.BaseSql;
- param[1].Value = (int)model.BaseSaveType;
- param[2].Value = model.MenuCode;
- param[3].Value = model.TableName;
- param[4].Value = model.KeyField;
- param[5].Value = model.FieldValue;
- param[6].Value = ERPInfo.Instance.UserId;
- param[7].Value = ERPInfo.Instance.UserName;
- if (param.Count() > 10)
- param[9].Value = model.ComfirmFlag;
- DataSet ds = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, model.NewVer == 0 ? "P_BaseSave" : "p_BaseSave70", "baseSave", param);
- string rMsg = pMsg.Value.ToString();
-
- int result = Convert.ToInt32(returnValue.Value + "");
-
- if (result == -1)
- {
- if (SqlHelper.ConnectionType == ConnectionType.SqlServer)
- {
- SqlStoredProcedurepPrompt.GenerateSaveBasePanelScript(model);
- }
- if (SqlHelper.ConnectionType == ConnectionType.DmServer)
- {
- SqlStoredProcedurepPrompt.GenerateBillSaveScript_DM(SqlHelper.LastFailureSql);
- }
- }
-
- retuenMsg = result + "";
- model.Success = result == 1;
- model.FaultMsg = rMsg;
- return result;
- }
- ///
- /// 说明:基础档案提交
- /// 创建人:龚宇超
- /// 创建日期:2018-03-19
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The menu code.
- /// The parmary key.
- /// Type of the comfirm.
- /// System.Int32.
- ///
- public static int ApplyBaseData(string menuCode, string parmaryKey, int comfirmType, out string tipMsg)
- {
- SqlParameter pMsg = ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@msg", SqlDbType.NVarChar, 4000) : new SqlParameter("@msg", SqlDbType.VarChar, 2000);
- pMsg.Direction = ParameterDirection.InputOutput;
- SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
- returnValue.Direction = ParameterDirection.ReturnValue;
- SqlParameter[] param =
- {
- new SqlParameter("@typeCode",SqlDbType.VarChar,20),
- new SqlParameter("@billDocumentId",SqlDbType.VarChar,40),
- new SqlParameter("@Operatorid",SqlDbType.Int),
- ERPInfo.Instance.ChangeParameterType ?new SqlParameter("@operatorName",SqlDbType.NVarChar,40):new SqlParameter("@operatorName",SqlDbType.VarChar,20),
- new SqlParameter("@comfirmType",SqlDbType.Int),
- pMsg,
- returnValue
- };
-
- param[0].Value = menuCode;
- param[1].Value = parmaryKey;
- param[2].Value = ERPInfo.Instance.UserId;
- param[3].Value = ERPInfo.Instance.UserName;
- param[4].Value = 1;
- param[5].Value = "";
- DataSet ds = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "p_baseApply", "baseApply", param);
- tipMsg = pMsg.Value + "";
-
-
- if (Convert.ToInt32(returnValue.Value.ToString()) == -1)
- {
- if (SqlHelper.ConnectionType == ConnectionType.SqlServer)
- {
- SqlStoredProcedurepPrompt.GenerateBaseApplyScript(menuCode, parmaryKey, comfirmType);
- }
- if (SqlHelper.ConnectionType == ConnectionType.DmServer)
- {
- SqlStoredProcedurepPrompt.GenerateBillSaveScript_DM(SqlHelper.LastFailureSql);
- }
- }
-
- return Convert.ToInt32(returnValue.Value.ToString());
- }
- ///
- /// 调用存储过程 p_UpdateRemarkByModule —— 按模块编号修改备注
- ///
- /// 模块编号(如 “1000101”)
- /// 主键值
- /// 备注内容
- /// OUTPUT:返回信息
- /// 0=成功;1=未识别模块;9=异常
- public static int UpdateRemarkByModule(string modid,
- string keyvalue,
- string remark,
- out string tipMsg)
- {
- /* ========== 1. 组织参数 ========== */
-
- // 输出消息(NVarChar / VarChar 二选一)
- SqlParameter pMsg = ERPInfo.Instance.ChangeParameterType
- ? new SqlParameter("@outmsg", SqlDbType.NVarChar, 4000)
- : new SqlParameter("@outmsg", SqlDbType.VarChar, 4000);
- pMsg.Direction = ParameterDirection.InputOutput;
-
- // RETURN
- SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int)
- {
- Direction = ParameterDirection.ReturnValue
- };
-
- SqlParameter[] param =
- {
- new SqlParameter("@modid", SqlDbType.VarChar, 50),
- new SqlParameter("@keyvalue", SqlDbType.VarChar, 100),
- ERPInfo.Instance.ChangeParameterType
- ? new SqlParameter("@remark", SqlDbType.NVarChar, 4000)
- : new SqlParameter("@remark", SqlDbType.VarChar, 4000),
- pMsg,
- returnValue
- };
-
- param[0].Value = modid;
- param[1].Value = keyvalue;
- param[2].Value = remark ?? string.Empty;
- param[3].Value = string.Empty; // 初始 @outmsg
-
- /* ========== 2. 执行存储过程 ========== */
-
- SqlHelper.ExecuteNonQuery(
- CommandType.StoredProcedure,
- "p_UpdateRemarkByModule",
- param);
-
- /* ========== 3. 返回处理 ========== */
-
- tipMsg = pMsg.Value?.ToString() ?? string.Empty;
- return Convert.ToInt32(returnValue.Value);
- }
-
-
- ///
- /// 说明:更新表记录
- /// 创建人:龚宇超
- /// 创建日期:2017-11-14
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// 表名称
- /// 修改的字段
- /// 字段值
- /// 条件字段
- /// 条件值
- /// System.Int32.
- ///
- public static int UpdateRecord(string tableName, string fieldName, string fieldValue, string condKey, string condValue)
- {
- if (string.IsNullOrWhiteSpace(tableName) ||
- string.IsNullOrWhiteSpace(fieldName) ||
- string.IsNullOrWhiteSpace(condKey))
- return 0;
- string sqlValue = string.Format("update {0} set {1}='{2}' where {3}='{4}'", tableName, fieldName, fieldValue, condKey, condValue);
-
- return SqlHelper.ExecuteNonQuery(sqlValue);
- }
-
- ///
- /// 说明:更新表记录,返回受影响行数(无视触发器)
- /// 创建人:龚宇超
- /// 创建日期:2017-11-14
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// 表名称
- /// 修改的字段
- /// 字段值
- /// 条件字段
- /// 条件值
- /// System.Int32.
- ///
- public static int newUpdateRecord(string tableName, string fieldName, string fieldValue, string condKey, string condValue)
- {
- if (string.IsNullOrWhiteSpace(tableName) ||
- string.IsNullOrWhiteSpace(fieldName) ||
- string.IsNullOrWhiteSpace(condKey))
- return 0;
- string sqlValue = string.Format("update {0} set {1}='{2}' where {3}='{4}' select @@ROWCOUNT", tableName, fieldName, fieldValue, condKey, condValue); ;
- DataTable dt = SqlHelper.ExecuteDataTable(sqlValue);
- int numberOfAffectedRows = dt != null && dt.Rows.Count > 0 ? int.Parse(dt.Rows[0][0] + "") : 0;
- return numberOfAffectedRows;
- }
-
-
-
-
-
- ///
- /// 说明:获取左侧书、表格配置字段
- /// 创建人:龚宇超
- /// 创建日期:2017-11-08
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The menu code.
- /// System.String.
- ///
- public static string GetBaseLeftField(string menuCode)
- {
- DataRow leftRow = GetBaseLeftTreeField(menuCode);
- return leftRow == null ? string.Empty : leftRow["fieldname"] + "";
- }
- ///
- /// 说明:获取基础档案左侧树节点编号
- /// 创建人:龚宇超
- /// 创建日期:2017-10-23
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The value.
- /// The tab.
- /// System.String.
- ///
- public static string GetBillSeq(string value, string tab)
- {
- string seqNo = string.Empty;
-
- SqlParameter param = new SqlParameter("@return_id", SqlDbType.VarChar);
- param.Direction = ParameterDirection.InputOutput;
-
- SqlParameter[] parameters ={
- new SqlParameter("@billSeq",SqlDbType.VarChar),
- param
- };
- parameters[0].Value = tab;
- param.Value = value;
-
- DataSet ds = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "P_create_billdocumentPr", "base", parameters);
- if (ds != null && ds.Tables.Count > 0)
- {
- DataTable dt = ds.Tables[0];
- seqNo = dt.Rows[0][0] + "";
- }
-
- return seqNo;
- }
- ///
- /// 说明:获取附件服务器下载地址
- /// 创建人:龚宇超
- /// 创建日期:2018-02-27
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// Name of the file.
- /// System.String.
- ///
- public static string GetFileServerPath(string fileName)
- {
- string sqlValue = string.Format("select top 1 dbo.fun_fm_getAbsolutePath(fileId) filePath from P_fm_FileTab where sName like '%{0}%' order by fileId desc", fileName);
- return GetResult(sqlValue) + "";
- }
- ///
- /// 说明:获取附件服务器地址
- /// 创建人:龚宇超
- /// 创建日期:2018-03-22
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The file identifier.
- /// System.String.
- public static string GetFileServerPath(int fileId)
- {
- string sqlValue = string.Format("select dbo.fun_fm_getAbsolutePath({0})", fileId);
- return GetResult(sqlValue) + "";
- }
- ///
- /// 说明:获取表格左侧树字段
- /// 创建人:龚宇超
- /// 创建日期:2017-10-25
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The menu code.
- /// DataTable.
- ///
- public static DataRow GetBaseLeftTreeField(string menuCode)
- {
- string sqlValue = "select * from P_systemwordbooktab where tab=@tab and fieldsqlTag=3";
- DataTable dtTable = SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", menuCode) });
-
- return (dtTable.Rows.Count > 0) ? dtTable.Rows[0] : null;
- }
- ///
- /// 说明:获取添加修改界面控件大小
- /// 创建人:龚宇超
- /// 创建日期:2017-11-03
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The form Key.
- /// DataRow.
- public static DataRow GetControlParentSize(string formKey)
- {
- string sqlValue = "select parentHeight height,parentWidth width from p_systemControlParent where formKey=@formKey";
- DataTable dtTable = SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@formKey", formKey) });
- return dtTable.Rows.Count > 0 ? dtTable.Rows[0] : null;
- }
- ///
- /// 说明:获取主信息分组数据
- /// 创建人:龚宇超
- /// 创建日期:2017-12-21
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// 键值.
- /// DataTable.
- public static DataTable GetAddGroupData(string formKey)
- {
- string field = string.Empty;
- if (HasExistsColumn("p_systemaddgroup", "pageOrder"))
- {
- field = "ORDER BY pageOrder,controlTop asc";
- }
- string sqlValue = @"select * from p_systemaddgroup where formkey=@formkey and controlType=333" + field;
- return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@formkey", formKey) });
- }
-
- ///
- /// 说明:获取分割线信息
- /// 创建人:曹屹峰
- /// 创建日期:2022-2-10
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// 键值.
- /// DataTable.
- public static DataTable GetDividerData(string formKey)
- {
- string field = string.Empty;
- if (HasExistsColumn("p_systemaddgroup", "pageOrder"))
- {
- field = "ORDER BY pageOrder,controlTop asc";
- }
- string sqlValue = @"select * from p_systemaddgroup where formkey=@formkey and controlType=334" + field;
- return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@formkey", formKey) });
- }
-
- ///
- /// 说明:获取主信息分页数据
- /// 创建人:龚宇超
- /// 创建日期:2017-12-21
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// 键值.
- /// DataTable.
- public static DataTable GetAddPageData(string formKey)
- {
- string sqlValue = @"select * from p_systemaddgroup where formkey=@formkey and controlType=332";
- return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@formkey", formKey) });
- }
- ///
- /// 说明:获取基础表格显示列数据源
- /// 创建人:龚宇超
- /// 创建日期:2018-03-05
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The form Key.
- /// DataRow.
- public static DataTable GetBaseGridField(string menuCode)
- {
- string sqlValue = "select username1 as username ,* from P_systemwordbooktab where tab=@tab and vislble=0";
- return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", menuCode) });
- }
- ///
- /// 说明:加载固定查询条件
- /// 创建人:龚宇超
- /// 创建日期:2017-09-05
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// DataTable.
- public static DataTable GetFixedQueryFields(string menuCode)
- {
- string sqlValue = "select fieldName,username1 fieldText from P_systemwordbooktab where tab=@tab and ifSearch =0 and isnull(username1,'')<>''";
-
- return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", menuCode) });
- }
- ///
- /// 说明:加载自定义配置字段
- /// 创建人:龚宇超
- /// 创建日期:2017-09-13
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The form key.
- /// DataTable.
- public static DataTable GetCustomQueryFields(string formKey)
- {
- string field = string.Empty;
-
- DataTable dataTable = GetTableColumns("p_systembillsourcecond");
-
- if (dataTable.Columns.Contains("FontSize"))
- {
- field = ",FontSize";
- }
- if (dataTable.Columns.Contains("FontColor"))
- {
- field += ",FontColor";
- }
- if (dataTable.Columns.Contains("refreshSource"))
- {
- field += ",refreshSource";
- }
- if (dataTable.Columns.Contains("clickAfterEmpty"))
- {
- field += ",clickAfterEmpty";
- }
- if (dataTable.Columns.Contains("RefreshButton"))
- {
- field += ",RefreshButton";
- }
- if (dataTable.Columns.Contains("AddOrderByCond"))
- {
- field += ",AddOrderByCond";
- }
- if (dataTable.Columns.Contains("montage"))
- {
- field += ",montage";
- }
- if (dataTable.Columns.Contains("nullable"))
- {
- field += ",nullable";
- }
- else
- {
- field += ",0 nullable";
- }
- if (dataTable.Columns.Contains("LookUpFieldsWidth"))
- {
- field += ",LookUpFieldsWidth";
- }
- if (dataTable.Columns.Contains("ScanAfterEmpty"))
- {
- field += ",ScanAfterEmpty";
- }
- if (dataTable.Columns.Contains("ImportReturnValue"))
- {
- field += ",ImportReturnValue";
- }
- if (dataTable.Columns.Contains("ImportCurrentValue"))
- {
- field += ",ImportCurrentValue";
- }
- if (dataTable.Columns.Contains("UnionFields"))
- {
- field += ",UnionFields";
- }
- if (dataTable.Columns.Contains("UnionValue"))
- {
- field += ",UnionValue";
- }
- if (dataTable.Columns.Contains("RememberValue"))
- {
- field += ",RememberValue";
- }
-
- string sqlValue = string.Format(@"select id,controlLeft,controlTop,controlWidth,controlHeight,controlType as fieldTypeId,controlName as fieldName,controlLabel as userName,'' DataFormat,
- defaultValue,sourceSql as lookupSql,keyField as lookupKeyField,resultField as lookupResult,edited,checkCond,InputHintText{0}
- from p_systembillsourcecond
- where formKey=@formKey", field);
-
- return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@formKey", formKey) });
- }
-
- ///
- /// 说明:获取高级查询条件模版
- /// 创建人:龚宇超
- /// 创建日期:2017-09-12
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The module id.
- /// DataRow.
- ///
- public static DataTable GetSchemesList(int moduleId)
- {
- try
- {
- string sqlValue = "select * from P_SystemReportProjectTab where ProjectMode=1 and operatorId=@userid and ModuleId=@moduleId";
- return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@userid", ERPInfo.Instance.UserId), new SqlParameter("@moduleId", moduleId) });
- }
- catch (Exception)
- {
-
- }
- return new DataTable();
- }
- ///
- /// 说明:获取基础档案表格列
- /// 创建人:龚宇超
- /// 创建日期:2017-09-13
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The menu code.
- /// DataTable.
- ///
- public static DataTable GetBaseGridColumns(string menuCode)
- {
- SqlParameter[] param =
- {
- new SqlParameter("@modid",SqlDbType.VarChar,20),
- ERPInfo.Instance.ChangeParameterType ?new SqlParameter("@operatorname",SqlDbType.NVarChar,40):new SqlParameter("@operatorname",SqlDbType.VarChar,20)
- };
- param[0].Value = menuCode;
- param[1].Value = ERPInfo.Instance.UserName;
-
- DataTable table = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "p_getBaseModuleField", "temp", param).Tables[0];
-
- if (!table.Columns.Contains("username"))//表格中的列不包含指定列名
- {
- table.Columns["username1"].ColumnName = "username";
- }
- if (!table.Columns.Contains("nullable"))
- {
- table.Columns["tagid"].ColumnName = "nullable";
- }
-
- return table;
- }
- ///
- /// 说明:获取基础档案表格所有列
- /// 创建人:龚宇超
- /// 创建日期:2018-03-07
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The menu code.
- /// DataTable.
- public static DataTable GetBaseGridAllColumns(string menuCode)
- {
- string sqlValue = "select fieldname from P_systemwordbooktab where tab=@tab and fieldSqlTag=99";
-
- return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", menuCode) });
- }
- ///
- /// 说明:获取左侧表格数据
- /// 创建人:龚宇超
- /// 创建日期:2017-10-26
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The menu code.
- /// DataTable.
- public static DataTable GetBaseLeftGridField(string menuCode)
- {
- string field = string.Empty;
- if (HasExistsColumn("p_systemwordbookgrid", "SelectionConditions"))
- {
- field = ",SelectionConditions";
- }
- string sqlValue = string.Format("select id,fieldname,username [sysname],username,case when visible=1 then 0 else width end width,visible,'' dataFormat {0} from p_systemwordbookgrid where fieldid=(select id from P_systemwordbooktab where tab=@tab and fieldsqlTag=3) order by orderid", field);
- return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", menuCode) });
- }
-
- ///
- /// 说明:获取右键菜单数据
- /// 创建人:龚宇超
- /// 创建日期:2017-10-27
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The key.
- /// the type
- /// DataTable.
- ///
- public static DataTable GetBaseGridRightMenus(string key, ModuleType type = ModuleType.BaseModule)
- {
- string where = string.Empty;
- switch (type)
- {
- case ModuleType.MrpClickBtn:
- if (BaseImpl.HasExistsColumn("P_systempopupmenu", "isMrpClickBtn", "int"))
- {
- where = " and isnull(isMrpClickBtn,0)=1 and visible1=0 ";
- }
- break;
- case ModuleType.BillDetail:
- where = " and isnull(menutype,0)=1 and visible1=0 ";
- break;
- case ModuleType.BillAuditDetail:
- where = " and isnull(menutype,0)=0 and visible2=0 ";
- break;
- case ModuleType.BaseAudit:
- where = " and isnull(menutype,0)=1 and isnull(visible1,0)=0 ";
- break;
- case ModuleType.BaseModuleAdd:
- where = " and isnull(menutype,0)=1";
- break;
- case ModuleType.MESTOOL:
- where = " and isnull(ShowToolBar,0)=1";
- break;
- case ModuleType.MESGRIDRIGHT:
- where = " and isnull(ShowToolBar,0)=0";
- break;
- default:
- where = " and isnull(menutype,0)=0";
- break;
- }
- string sqlTemplate = @"WITH UserRoles AS (
- SELECT r.roleName
- FROM p_systemRoleOperSetTab AS ro
- JOIN p_systemRoleSetTab AS r ON r.id = ro.roleId
- WHERE ro.operatorname = '{0}'
- )
- SELECT pm.*
- FROM P_systempopupmenu AS pm WITH (NOLOCK)
- WHERE ISNULL(pm.visible, 0) = 0
- AND pm.tab = '{1}'
- AND (
- ISNULL(pm.privilegeOper, '') = ''
- OR CHARINDEX(',' + '{0}' + ',', ',' + pm.privilegeOper + ',') > 0
- OR EXISTS (
- SELECT 1
- FROM UserRoles AS ur
- WHERE CHARINDEX('{{&' + ur.roleName + '&}}', pm.privilegeOper) > 0)
- ) {2} ORDER BY pm.orderid;";
- string sqlValue = string.Format(sqlTemplate, ERPInfo.Instance.UserName, key, where);
- return SqlHelper.ExecuteDataTable(sqlValue);
- }
- ///
- /// 获取单个右键菜单
- ///
- ///
- ///
- ///
- public static DataRow GetBaseGridRightMenuById(string id)
- {
- string sqlValue = $"select * from P_systempopupmenu where id = '{id}'";
- return BaseImpl.GetDataRowResult(sqlValue);
- }
- public static bool IsGridViewRightMenuBtnEdit(string key, ModuleType type = ModuleType.BaseModule)
- {
- DataTable rightMentTab = GetBaseGridRightMenus(key, type);
- bool result = false;
- if (rightMentTab != null)
- {
- foreach (DataRow item in rightMentTab.Rows)
- {
- if (item.Table.Columns.Contains("IcoName") && !string.IsNullOrEmpty(item["IcoName"] + ""))
- {
- result = true;
- break;
- }
- }
- }
- return result;
- }
-
- public static bool IsGridViewRightMenuBtnEdit(DataTable rightMentTab)
- {
- bool result = false;
- if (rightMentTab != null)
- {
- foreach (DataRow item in rightMentTab.Rows)
- {
- if ((item.Table.Columns.Contains("IcoName") && !string.IsNullOrEmpty(item["IcoName"] + ""))||(item.Table.Columns.Contains("showtoolbar") && !string.IsNullOrEmpty(item["showtoolbar"] + "")))
- {
- result = true;
- break;
- }
- }
- }
- return result;
- }
-
- ///
- /// 说明:获取单条右键菜单
- /// 创建人:龚宇超
- /// 创建日期:
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The right identifier.
- /// DataRow.
- public static DataRow GetBaseGridRightMenuByID(string rightID)
- {
- string sqlValue = string.Format("select * from P_systempopupmenu where ID='{0}'", rightID);
- return GetDataRowResult(sqlValue);
- }
- ///
- /// 说明:
- /// 创建人:龚宇超
- /// 创建日期:2017-10-27
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The key.
- /// DataTable.
- ///
- public static DataTable GetBaseGridRowColors(string key)
- {
- string sqlValue = "select * from p_systemwordbookcolor where tab=@tab and isnull(useflag,0)=0 order by orderid";
- return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", key) });
- }
- ///
- /// 说明:获取控件位置
- /// 创建人:龚宇超
- /// 创建日期:2017-11-03
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- ///
- /// The formkey.
- /// The menuCode.
- /// DataTable.
- ///
- public static DataTable GetControlLocation(string formKey, string menuCode)
- {
- SqlParameter[] p =
- {
- new SqlParameter("@formkey",SqlDbType.VarChar,200),
- new SqlParameter("@modid",SqlDbType.VarChar,50),
- ERPInfo.Instance.ChangeParameterType ?new SqlParameter("@operatorName",SqlDbType.NVarChar,100):new SqlParameter("@operatorName",SqlDbType.VarChar,50)
- };
- p[0].Value = formKey;
- p[1].Value = menuCode;
- p[2].Value = ERPInfo.Instance.UserName;
-
- return SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "p_getControlLocation", "temp", p).Tables[0];
- }
- ///
- /// 说明:获取添加界面多标签
- /// 创建人:龚宇超
- /// 创建日期:2017-11-10
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The menu code.
- /// DataTable.
- ///
- public static DataTable GetBaseAddTabDetail(string menuCode)
- {
- if (string.IsNullOrWhiteSpace(menuCode))
- return new DataTable();
-
- string cond = HasExistsColumn("p_systemdlltabdetail", "addvisible") ? " and isnull(addvisible,0)=1 " : " and isnull(isVisible,0)=0 ";
- cond += HasExistsColumn("p_systemdlltabdetail", "privilegeOper") ? string.Format(" and ( isnull(privilegeOper,'')='' or CHARINDEX(',{0},',','+privilegeOper+',')>0 )", ERPInfo.Instance.UserName) : "";
-
- string sqlValue = "select * from p_systemDlltabDetail where tab=@tab " + cond + " order by orderId";
- return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", menuCode) });
- }
- ///
- /// 说明:获取基础档案底部标签数据
- /// 创建人:龚宇超
- /// 创建日期:2017-11-21
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The menu code.
- /// DataTable.
- ///
- public static DataTable GetBaseDetailPages(string menuCode)
- {
- try
- {
- string sqlTemplate = @"WITH UserRoles AS (
- SELECT r.roleName
- FROM p_systemRoleOperSetTab AS ro
- JOIN p_systemRoleSetTab AS r ON r.id = ro.roleId
- WHERE ro.operatorname = '{0}'
- )
- SELECT pm.*
- FROM p_systemDlltabDetail AS pm WITH (NOLOCK)
- WHERE ISNULL(pm.isvisible, 0) = 0
- AND pm.tab = '{1}'
- AND (
- ISNULL(pm.privilegeOper, '') = ''
- OR CHARINDEX(',' + '{0}' + ',', ',' + pm.privilegeOper + ',') > 0
- OR EXISTS (
- SELECT 1
- FROM UserRoles AS ur
- WHERE CHARINDEX('{{&' + ur.roleName + '&}}', pm.privilegeOper) > 0)
- ) ORDER BY pm.orderid;";
- string sqlValue = string.Format(sqlTemplate, ERPInfo.Instance.UserName, menuCode);
- return SqlHelper.ExecuteDataTable(sqlValue);
- }
- catch (Exception)
- {
- string sqlValue = "select * from p_systemDlltabDetail where tab=@tab and ISNULL(isVisible,0)=0 order by orderid";
- return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", menuCode) });
- }
- }
- ///
- /// 说明:获取图表配置数据
- /// 创建人:龚宇超
- /// 创建日期:2018-01-29
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The form key.
- /// DataTable.
- ///
- public static DataTable GetChartParams(string formKey)
- {
- string sqlValue = "select * from p_systemdlltabchart where tabkey=@formKey and isVisible=0";
-
- return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@formKey", formKey) });
- }
- ///
- /// 说明:获取基础档案附加信息
- /// 创建人:龚宇超
- /// 创建日期:2018-11-12
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// The menu code.
- /// DataTable.
- public static DataTable GetBaseAttach(string menuCode)
- {
- string sqlValue = string.Format(@"select * from p_SystemdllTabAttach where tab='{0}' and ISNULL(isVisible,0)=0 order by orderid", menuCode);
- return GetDataTableResult(sqlValue);
- }
-
-
- ///
- /// 说明:判断存储过程参数方法
- /// 创建人:王一帆
- /// 创建日期:2020-11-18
- /// 修改人:
- /// 修改日期:
- /// 修改备注:
- /// 版本:1.0
- ///
- /// 确认权限Id
- /// 用户Id
- /// 确认意见.
- /// System.Int32.
- public static bool isParamComplete(string storedName, string[] Param)
-
\ No newline at end of file
+/******************************
+* 说明:基础档案相关接口
+* 创建人:龚宇超
+* 创建日期:2017-11-08
+* 修改人:
+* 修改日期:
+* 修改备注:
+* 版本:1.0.0.0
+******************************/
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Data;
+using System.Data.SqlClient;
+using Lskj.Model;
+using Lskj.Core;
+
+namespace Lskj.Business.Impl
+{
+ ///
+ /// 基础档案相关接口
+ ///
+ public class BaseModuleImpl : BaseImpl
+ {
+ ///
+ /// 说明:是否包含流转步骤
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-08
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// 基础档案模块编号
+ /// true if [has step flow] [the specified menu code]; otherwise, false.
+ ///
+ public static bool HasStepFlow(string menuCode)
+ {
+ string sqlValue = "select 1 from p_systemdlltabflow where typeCode=@typeCode";
+ return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@typeCode", menuCode) }).Rows.Count > 0;
+ }
+ ///
+ /// 说明:批量保存基础档案
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-08
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The models.
+ /// true if XXXX, false otherwise.
+ public static bool SaveBaseGridData(List models, string storedProcedureValue = "0")
+ {
+ int resultCount = 0;
+ string apiMsg = "";
+ for (int i = 0; i < models.Count; i++)
+ {
+ int result = SaveBasePanelData(models[i], storedProcedureValue);
+ resultCount += result;
+ }
+ return resultCount == models.Count;
+ }
+ ///
+ /// 说明:批量保存基础档案并返回apiResult
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-08
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The models.
+ /// true if XXXX, false otherwise.
+ public static bool SaveBaseGridData(List models, out string apiReturnMsg, string storedProcedureValue = "0")
+ {
+ int resultCount = 0;
+ string apiMsg = "";
+ for (int i = 0; i < models.Count; i++)
+ {
+ ApiHelper apiHelper = null;
+ Interface.Api.ActionType actionType = Interface.Api.ActionType.Add;
+ switch (models[i].BaseSaveType)
+ {
+ case SaveType.Add:
+ int addresult = SaveBasePanelData(models[i], storedProcedureValue);
+ resultCount += addresult;
+ if (addresult > 0 && ApiHelper.IsExecEventApi(Interface.Api.OperateEvent.AfterModuleDataChange, models[i].MenuCode, 0))
+ {
+ apiHelper = new ApiHelper(models[i].MenuCode, models[i].FieldValue, models[i].KeyField, models[i].TableName, 0, models[i].row);
+ actionType = Interface.Api.ActionType.Add;
+ apiHelper.OnEvent(Interface.Api.OperateEvent.AfterModuleDataChange, actionType);
+ apiMsg = apiMsg + apiHelper.apiResutMsg;
+ }
+ break;
+ case SaveType.Update:
+ int updateresult = SaveBasePanelData(models[i], storedProcedureValue);
+ resultCount += updateresult;
+ if (updateresult > 0 && ApiHelper.IsExecEventApi(Interface.Api.OperateEvent.AfterModuleDataChange, models[i].MenuCode, 0))
+ {
+ apiHelper = new ApiHelper(models[i].MenuCode, models[i].FieldValue, models[i].KeyField, models[i].TableName, 0, models[i].row);
+ actionType = Interface.Api.ActionType.Update;
+ apiHelper.OnEvent(Interface.Api.OperateEvent.AfterModuleDataChange, actionType);
+ apiMsg = apiMsg + apiHelper.apiResutMsg;
+ }
+ break;
+ case SaveType.Delete:
+ if (ApiHelper.IsExecEventApi(Interface.Api.OperateEvent.AfterModuleDataDelete, models[i].MenuCode, 0))
+ {
+ apiHelper = new ApiHelper(models[i].MenuCode, models[i].FieldValue, models[i].KeyField, models[i].TableName, 0, models[i].row);
+ actionType = Interface.Api.ActionType.Delete;
+ //请求删除数据时先等待返回结果后再进行删除
+ apiHelper.OnEvent(Interface.Api.OperateEvent.AfterModuleDataDelete, actionType, false);
+ }
+ int deleteresult = SaveBasePanelData(models[i], storedProcedureValue);
+ resultCount += deleteresult;
+ if (deleteresult > 0 && apiHelper != null)
+ {
+ apiHelper.OnEvent();
+ apiMsg = apiMsg + apiHelper.apiResutMsg;
+ }
+ break;
+ }
+ }
+ apiReturnMsg = apiMsg;
+ return resultCount == models.Count;
+ }
+ ///
+ /// 说明:批量保存基础档案
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-08
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The models.
+ /// true if XXXX, false otherwise.
+ public static bool SaveBaseGridData(List models, out string retuenMsg, out string apiResutMsg)
+ {
+ int resultCount = 0; retuenMsg = "0";
+ string apiMsg = "";
+ for (int i = 0; i < models.Count; i++)
+ {
+ int succeeCount = SaveBasePanelData(models[i], out retuenMsg);
+ #region 接口推送
+ if (succeeCount > 0 && ApiHelper.IsExecEventApi(Interface.Api.OperateEvent.AfterModuleDataChange, models[i].MenuCode, 0) && (models[i].BaseSaveType == SaveType.Add || models[i].BaseSaveType == SaveType.Update))
+ {
+ ApiHelper apiHelper = new ApiHelper(models[i].MenuCode, models[i].FieldValue, models[i].KeyField, models[i].TableName, 0, models[i].row);
+ try
+ {
+ Interface.Api.ActionType actionType = Interface.Api.ActionType.Add;
+ switch (models[i].BaseSaveType)
+ {
+ case SaveType.Add:
+ actionType = Interface.Api.ActionType.Add;
+ apiHelper.OnEvent(Interface.Api.OperateEvent.AfterModuleDataChange, actionType);
+ break;
+ case SaveType.Update:
+ actionType = Interface.Api.ActionType.Update;
+ apiHelper.OnEvent(Interface.Api.OperateEvent.AfterModuleDataChange, actionType);
+ break;
+ }
+ apiMsg += apiHelper.apiResutMsg;
+ }
+ catch (Exception ex)
+ {
+ apiMsg += string.Format("数据{0}推送失败,原因:{1}\r\n", apiHelper.idValue, ex.Message);
+ }
+ }
+ #endregion
+ resultCount += succeeCount;
+ }
+ apiResutMsg = apiMsg;
+ return resultCount == models.Count;
+ }
+ ///
+ /// 说明:删除方案
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-16
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// 菜单ID
+ /// Name of the project.
+ /// true if XXXX, false otherwise.
+ public static bool DeleteProject(string moduleId, string projectName)
+ {
+ string sqlValue = "delete P_SystemReportProjectTab where ModuleId=@ModuleId and OperatorId=@Userid and ProjectName=@ProjectName";
+ return SqlHelper.ExecuteNonQuery(CommandType.Text, sqlValue, new SqlParameter[]
+ {
+ new SqlParameter("@ModuleId", moduleId),
+ new SqlParameter("@Userid",ERPInfo.Instance.UserId),
+ new SqlParameter("@ProjectName",projectName)
+ }) > 0;
+ }
+
+ ///
+ /// 说明:打印完成成功后数据业务处理
+ /// 创建人:龚宇超
+ /// 创建日期:2018-07-05
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// System.Int32.
+ public static int SavePrintRecord(string tableName, string prefix, string primaryKey, string primaryValue, string modeCode)
+ {
+ if (primaryValue.Contains(","))
+ {
+ HashSet hashSet = new HashSet(primaryValue.Split(','));//去重,避免多选时同一条数据记录多次
+ foreach (string value in hashSet)
+ {
+ try
+ {
+ string sqlValue = string.Format(@"update {0} set {1}printCount=isnull({1}printCount,0)+1,
+ {1}printLastTime=getdate(),{1}printLastOper='{4}'
+ where {2}='{3}'", tableName, prefix, primaryKey, value, ERPInfo.Instance.UserId);
+ int i = SqlHelper.ExecuteNonQuery(sqlValue);
+ if (i < 0) return -1;
+ string sqlValue2 = string.Format(@"insert into p_systemPrintDetails (typeCode,sourcecode,OperatorId,operatedate,OperType)
+ values ('{0}','{1}','{2}','{3}','{4}')", modeCode, value, ERPInfo.Instance.UserId, DateTime.Now, 3);
+ SqlHelper.ExecuteNonQuery(sqlValue2);
+ }
+ catch (Exception ex)
+ {
+ return -1;
+ }
+
+ }
+ return 1;
+ }
+ else
+ {
+
+ string sqlValue = string.Format(@"update {0} set {1}printCount=isnull({1}printCount,0)+1,
+ {1}printLastTime=getdate(),{1}printLastOper='{4}'
+ where {2}='{3}'", tableName, prefix, primaryKey, primaryValue, ERPInfo.Instance.UserId);
+ int i = SqlHelper.ExecuteNonQuery(sqlValue);
+ if (i < 0) return -1;
+ string sqlValue2 = string.Format(@"insert into p_systemPrintDetails (typeCode,sourcecode,OperatorId,operatedate,OperType)
+ values ('{0}','{1}','{2}','{3}','{4}')", modeCode, primaryValue, ERPInfo.Instance.UserId, DateTime.Now, 3);
+ return SqlHelper.ExecuteNonQuery(sqlValue2);
+
+ }
+
+
+ }
+ ///
+ /// 说明:保存方案
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-15
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// Name of the project.
+ /// The project value.
+ /// The menu code.
+ /// 0.失败 1.成功 2.方案名称重复
+ public static int SaveProject(string projectName, string projectValue, string menuCode)
+ {
+ if (string.IsNullOrWhiteSpace(projectName) ||
+ string.IsNullOrWhiteSpace(projectValue) ||
+ string.IsNullOrWhiteSpace(menuCode))
+ return 0;
+
+ string sqlValue = "select 1 from P_SystemReportProjectTab where ProjectName=@ProjectName and operatorId=@UserId";
+ int result = SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@ProjectName", projectName), new SqlParameter("@UserId", ERPInfo.Instance.UserId) }).Rows.Count;
+
+ if (result > 0) return 2;
+
+ sqlValue = string.Format(@"insert into P_SystemReportProjectTab(OperatorId,OperateDate,ProjectName,ProjectMode,SearchValue,ModuleId)
+ values('{0}',getdate(),'{1}',1,'{2}','{3}')", ERPInfo.Instance.UserId, projectName, projectValue, menuCode);
+ return SqlHelper.ExecuteNonQuery(sqlValue);
+ }
+ ///
+ /// 说明:保存图片到数据库中(为了兼容之前版本,后面舍弃.此方式不可取.)
+ /// 创建人:龚宇超
+ /// 创建日期:2018-01-25
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// 表明
+ /// 字段名称
+ /// 主键字段.
+ /// 主键值.
+ /// 图片字节.
+ /// 返回成功1失败0
+ ///
+ [Obsolete]
+ public static int SaveImage(string tableName, string fieldName, string primaryKey, string primaryValue, byte[] buffer)
+ {
+ if (string.IsNullOrWhiteSpace(tableName) ||
+ string.IsNullOrWhiteSpace(fieldName) ||
+ string.IsNullOrWhiteSpace(primaryKey) ||
+ string.IsNullOrWhiteSpace(primaryValue))
+ {
+ throw new Exception("parameter is failure.");
+ }
+
+ if (buffer != null && buffer.Length > 0)
+ {
+ string sqlValue = string.Format("update {0} set {1}=@buffer where {2}='{3}'", tableName, fieldName, primaryKey, primaryValue);
+ SqlParameter bufferParam = new SqlParameter("@buffer", SqlDbType.Image);
+ bufferParam.Value = buffer;
+ return SqlHelper.ExecuteNonQuery(CommandType.Text, sqlValue, new SqlParameter[] { bufferParam });
+ }
+ else
+ {
+ string sqlValue = string.Format("update {0} set {1}=NULL where {2}='{3}'", tableName, fieldName, primaryKey, primaryValue);
+ return SqlHelper.ExecuteNonQuery(sqlValue);
+ }
+ }
+ ///
+ /// 说明:批量保存基础档案
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-10
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// Name of the table.
+ /// The parmary key.
+ /// 主键值,多个值用逗号分割
+ /// System.Int32.
+ ///
+ public static int DeleteBaseGridData(string tableName, string parmaryKey, string records)
+ {
+ string sqlValue = string.Format("delete from {0} where {1} in ({2})", tableName, parmaryKey, records.Trim(','));
+ return SqlHelper.ExecuteNonQuery(sqlValue);
+ }
+ ///
+ /// 说明:保存基础档案
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-08
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The model.
+ /// System.Int32.
+ public static int SaveBasePanelData(BaseSaveModel model, string storedProcedureValue = "0")
+ {
+ SqlParameter pMsg = ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@msg", SqlDbType.NVarChar, 4000) : new SqlParameter("@msg", SqlDbType.VarChar, 2000);
+ pMsg.Direction = ParameterDirection.Output;
+ SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
+ returnValue.Direction = ParameterDirection.ReturnValue;
+ //增加基础档案保存确认,兼容老版本
+ SqlParameter[] param1 =
+ {
+ ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@baseSql",SqlDbType.NVarChar):new SqlParameter("@baseSql",SqlDbType.NText),
+ new SqlParameter("@saveType",SqlDbType.Int),
+ new SqlParameter("@modid",SqlDbType.VarChar,20),
+ new SqlParameter("@tablename",SqlDbType.VarChar,50),
+ new SqlParameter("@keyfield",SqlDbType.VarChar,50),
+ new SqlParameter("@keyvalue",SqlDbType.VarChar,50),
+ new SqlParameter("@Operatorid",SqlDbType.Int),
+ ERPInfo.Instance.ChangeParameterType ?new SqlParameter("@operatorName",SqlDbType.NVarChar,100):new SqlParameter("@operatorName",SqlDbType.VarChar,50),
+ pMsg,
+ returnValue
+ };
+
+ SqlParameter[] param2 =
+ {
+ ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@baseSql",SqlDbType.NVarChar):new SqlParameter("@baseSql",SqlDbType.NText),
+ new SqlParameter("@saveType",SqlDbType.Int),
+ new SqlParameter("@modid",SqlDbType.VarChar,20),
+ new SqlParameter("@tablename",SqlDbType.VarChar,50),
+ new SqlParameter("@keyfield",SqlDbType.VarChar,50),
+ new SqlParameter("@keyvalue",SqlDbType.VarChar,50),
+ new SqlParameter("@Operatorid",SqlDbType.Int),
+ ERPInfo.Instance.ChangeParameterType ?new SqlParameter("@operatorName",SqlDbType.NVarChar,100):new SqlParameter("@operatorName",SqlDbType.VarChar,50),
+ pMsg,
+ new SqlParameter("@comfirmFlag",SqlDbType.Int),
+ returnValue
+ };
+
+ if (storedProcedureValue.Equals("1")) model.ComfirmFlag = 1;
+
+ SqlParameter[] param = null;
+ if (model.ComfirmFlag == 0)
+ param = param1;
+ else
+ param = param2;
+ param[0].Value = model.BaseSql;
+ param[1].Value = (int)model.BaseSaveType;
+ param[2].Value = model.MenuCode;
+ param[3].Value = model.TableName;
+ param[4].Value = model.KeyField;
+ param[5].Value = model.FieldValue;
+ param[6].Value = ERPInfo.Instance.UserId;
+ param[7].Value = ERPInfo.Instance.UserName;
+ if (param.Count() > 10)
+ param[9].Value = model.ComfirmFlag;
+
+
+ //SqlParameter[] newParam = new SqlParameter[param.Length + 1];
+
+ //if (storedProcedureValue.Equals("1"))
+ //{
+ // bool sureToSave = true;
+ // string[] newParameter = new string[] { "@comfirmFlag"};
+ // if (isParamComplete(model.NewVer == 0 ? "P_BaseSave" : "p_BaseSave70", newParameter))
+ // {
+ // for (int i = 0; i < param.Length; i++)
+ // {
+ // newParam[i] = param[i];
+ // }
+ // SqlParameter sqlParameter = new SqlParameter("@comfirmFlag", SqlDbType.Int);
+ // sqlParameter.Value = "1";
+ // newParam[param.Length] = sqlParameter;
+ // }
+ //}
+
+ DataSet ds = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, model.NewVer == 0 ? "P_BaseSave" : "p_BaseSave70", "baseSave", param);
+ string rMsg = pMsg.Value.ToString();
+ int result = Convert.ToInt32(returnValue.Value + "");
+
+ if (result==-1)
+ {
+ if (SqlHelper.ConnectionType == ConnectionType.SqlServer)
+ {
+ SqlStoredProcedurepPrompt.GenerateBaseSaveProcedureScript(model, storedProcedureValue);
+ }
+ if (SqlHelper.ConnectionType == ConnectionType.DmServer)
+ {
+ SqlStoredProcedurepPrompt.GenerateBillSaveScript_DM(SqlHelper.LastFailureSql);
+ }
+ }
+
+ model.Success = result == 1;
+ model.FaultMsg = rMsg;
+ return result;
+ }
+ ///
+ /// 说明:保存基础档案
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-08
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The model.
+ /// System.Int32.
+ public static int SaveBasePanelData(BaseSaveModel model, out string retuenMsg)
+ {
+ SqlParameter pMsg = ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@msg", SqlDbType.NVarChar, 4000) : new SqlParameter("@msg", SqlDbType.VarChar, 2000);
+ pMsg.Direction = ParameterDirection.Output;
+ SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
+ returnValue.Direction = ParameterDirection.ReturnValue;
+ //增加基础档案保存确认,兼容老版本
+ SqlParameter[] param1 =
+ {
+ ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@baseSql",SqlDbType.NVarChar):new SqlParameter("@baseSql",SqlDbType.NText),
+ new SqlParameter("@saveType",SqlDbType.Int),
+ new SqlParameter("@modid",SqlDbType.VarChar,20),
+ new SqlParameter("@tablename",SqlDbType.VarChar,50),
+ new SqlParameter("@keyfield",SqlDbType.VarChar,50),
+ new SqlParameter("@keyvalue",SqlDbType.VarChar,50),
+ new SqlParameter("@Operatorid",SqlDbType.Int),
+ ERPInfo.Instance.ChangeParameterType ?new SqlParameter("@operatorName",SqlDbType.NVarChar,100):new SqlParameter("@operatorName",SqlDbType.VarChar,50),
+ pMsg,
+ returnValue
+ };
+
+ SqlParameter[] param2 =
+ {
+ ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@baseSql",SqlDbType.NVarChar):new SqlParameter("@baseSql",SqlDbType.NText),
+ new SqlParameter("@saveType",SqlDbType.Int),
+ new SqlParameter("@modid",SqlDbType.VarChar,20),
+ new SqlParameter("@tablename",SqlDbType.VarChar,50),
+ new SqlParameter("@keyfield",SqlDbType.VarChar,50),
+ new SqlParameter("@keyvalue",SqlDbType.VarChar,50),
+ new SqlParameter("@Operatorid",SqlDbType.Int),
+ ERPInfo.Instance.ChangeParameterType ?new SqlParameter("@operatorName",SqlDbType.NVarChar,100):new SqlParameter("@operatorName",SqlDbType.VarChar,50),
+ pMsg,
+ new SqlParameter("@comfirmFlag",SqlDbType.Int),
+ returnValue
+ };
+
+ SqlParameter[] param = null;
+ if (model.ComfirmFlag == 0)
+ param = param1;
+ else
+ param = param2;
+ param[0].Value = model.BaseSql;
+ param[1].Value = (int)model.BaseSaveType;
+ param[2].Value = model.MenuCode;
+ param[3].Value = model.TableName;
+ param[4].Value = model.KeyField;
+ param[5].Value = model.FieldValue;
+ param[6].Value = ERPInfo.Instance.UserId;
+ param[7].Value = ERPInfo.Instance.UserName;
+ if (param.Count() > 10)
+ param[9].Value = model.ComfirmFlag;
+ DataSet ds = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, model.NewVer == 0 ? "P_BaseSave" : "p_BaseSave70", "baseSave", param);
+ string rMsg = pMsg.Value.ToString();
+
+ int result = Convert.ToInt32(returnValue.Value + "");
+
+ if (result == -1)
+ {
+ if (SqlHelper.ConnectionType == ConnectionType.SqlServer)
+ {
+ SqlStoredProcedurepPrompt.GenerateSaveBasePanelScript(model);
+ }
+ if (SqlHelper.ConnectionType == ConnectionType.DmServer)
+ {
+ SqlStoredProcedurepPrompt.GenerateBillSaveScript_DM(SqlHelper.LastFailureSql);
+ }
+ }
+
+ retuenMsg = result + "";
+ model.Success = result == 1;
+ model.FaultMsg = rMsg;
+ return result;
+ }
+ ///
+ /// 说明:基础档案提交
+ /// 创建人:龚宇超
+ /// 创建日期:2018-03-19
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The menu code.
+ /// The parmary key.
+ /// Type of the comfirm.
+ /// System.Int32.
+ ///
+ public static int ApplyBaseData(string menuCode, string parmaryKey, int comfirmType, out string tipMsg)
+ {
+ SqlParameter pMsg = ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@msg", SqlDbType.NVarChar, 4000) : new SqlParameter("@msg", SqlDbType.VarChar, 2000);
+ pMsg.Direction = ParameterDirection.InputOutput;
+ SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
+ returnValue.Direction = ParameterDirection.ReturnValue;
+ SqlParameter[] param =
+ {
+ new SqlParameter("@typeCode",SqlDbType.VarChar,20),
+ new SqlParameter("@billDocumentId",SqlDbType.VarChar,40),
+ new SqlParameter("@Operatorid",SqlDbType.Int),
+ ERPInfo.Instance.ChangeParameterType ?new SqlParameter("@operatorName",SqlDbType.NVarChar,40):new SqlParameter("@operatorName",SqlDbType.VarChar,20),
+ new SqlParameter("@comfirmType",SqlDbType.Int),
+ pMsg,
+ returnValue
+ };
+
+ param[0].Value = menuCode;
+ param[1].Value = parmaryKey;
+ param[2].Value = ERPInfo.Instance.UserId;
+ param[3].Value = ERPInfo.Instance.UserName;
+ param[4].Value = 1;
+ param[5].Value = "";
+ DataSet ds = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "p_baseApply", "baseApply", param);
+ tipMsg = pMsg.Value + "";
+
+
+ if (Convert.ToInt32(returnValue.Value.ToString()) == -1)
+ {
+ if (SqlHelper.ConnectionType == ConnectionType.SqlServer)
+ {
+ SqlStoredProcedurepPrompt.GenerateBaseApplyScript(menuCode, parmaryKey, comfirmType);
+ }
+ if (SqlHelper.ConnectionType == ConnectionType.DmServer)
+ {
+ SqlStoredProcedurepPrompt.GenerateBillSaveScript_DM(SqlHelper.LastFailureSql);
+ }
+ }
+
+ return Convert.ToInt32(returnValue.Value.ToString());
+ }
+ ///
+ /// 调用存储过程 p_UpdateRemarkByModule —— 按模块编号修改备注
+ ///
+ /// 模块编号(如 “1000101”)
+ /// 主键值
+ /// 备注内容
+ /// OUTPUT:返回信息
+ /// 0=成功;1=未识别模块;9=异常
+ public static int UpdateRemarkByModule(string modid,
+ string keyvalue,
+ string remark,
+ out string tipMsg)
+ {
+ /* ========== 1. 组织参数 ========== */
+
+ // 输出消息(NVarChar / VarChar 二选一)
+ SqlParameter pMsg = ERPInfo.Instance.ChangeParameterType
+ ? new SqlParameter("@outmsg", SqlDbType.NVarChar, 4000)
+ : new SqlParameter("@outmsg", SqlDbType.VarChar, 4000);
+ pMsg.Direction = ParameterDirection.InputOutput;
+
+ // RETURN
+ SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int)
+ {
+ Direction = ParameterDirection.ReturnValue
+ };
+
+ SqlParameter[] param =
+ {
+ new SqlParameter("@modid", SqlDbType.VarChar, 50),
+ new SqlParameter("@keyvalue", SqlDbType.VarChar, 100),
+ ERPInfo.Instance.ChangeParameterType
+ ? new SqlParameter("@remark", SqlDbType.NVarChar, 4000)
+ : new SqlParameter("@remark", SqlDbType.VarChar, 4000),
+ pMsg,
+ returnValue
+ };
+
+ param[0].Value = modid;
+ param[1].Value = keyvalue;
+ param[2].Value = remark ?? string.Empty;
+ param[3].Value = string.Empty; // 初始 @outmsg
+
+ /* ========== 2. 执行存储过程 ========== */
+
+ SqlHelper.ExecuteNonQuery(
+ CommandType.StoredProcedure,
+ "p_UpdateRemarkByModule",
+ param);
+
+ /* ========== 3. 返回处理 ========== */
+
+ tipMsg = pMsg.Value?.ToString() ?? string.Empty;
+ return Convert.ToInt32(returnValue.Value);
+ }
+
+
+ ///
+ /// 说明:更新表记录
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-14
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// 表名称
+ /// 修改的字段
+ /// 字段值
+ /// 条件字段
+ /// 条件值
+ /// System.Int32.
+ ///
+ public static int UpdateRecord(string tableName, string fieldName, string fieldValue, string condKey, string condValue)
+ {
+ if (string.IsNullOrWhiteSpace(tableName) ||
+ string.IsNullOrWhiteSpace(fieldName) ||
+ string.IsNullOrWhiteSpace(condKey))
+ return 0;
+ string sqlValue = string.Format("update {0} set {1}='{2}' where {3}='{4}'", tableName, fieldName, fieldValue, condKey, condValue);
+
+ return SqlHelper.ExecuteNonQuery(sqlValue);
+ }
+
+ ///
+ /// 说明:更新表记录,返回受影响行数(无视触发器)
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-14
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// 表名称
+ /// 修改的字段
+ /// 字段值
+ /// 条件字段
+ /// 条件值
+ /// System.Int32.
+ ///
+ public static int newUpdateRecord(string tableName, string fieldName, string fieldValue, string condKey, string condValue)
+ {
+ if (string.IsNullOrWhiteSpace(tableName) ||
+ string.IsNullOrWhiteSpace(fieldName) ||
+ string.IsNullOrWhiteSpace(condKey))
+ return 0;
+ string sqlValue = string.Format("update {0} set {1}='{2}' where {3}='{4}' select @@ROWCOUNT", tableName, fieldName, fieldValue, condKey, condValue); ;
+ DataTable dt = SqlHelper.ExecuteDataTable(sqlValue);
+ int numberOfAffectedRows = dt != null && dt.Rows.Count > 0 ? int.Parse(dt.Rows[0][0] + "") : 0;
+ return numberOfAffectedRows;
+ }
+
+
+
+
+
+ ///
+ /// 说明:获取左侧书、表格配置字段
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-08
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The menu code.
+ /// System.String.
+ ///
+ public static string GetBaseLeftField(string menuCode)
+ {
+ DataRow leftRow = GetBaseLeftTreeField(menuCode);
+ return leftRow == null ? string.Empty : leftRow["fieldname"] + "";
+ }
+ ///
+ /// 说明:获取基础档案左侧树节点编号
+ /// 创建人:龚宇超
+ /// 创建日期:2017-10-23
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The value.
+ /// The tab.
+ /// System.String.
+ ///
+ public static string GetBillSeq(string value, string tab)
+ {
+ string seqNo = string.Empty;
+
+ SqlParameter param = new SqlParameter("@return_id", SqlDbType.VarChar);
+ param.Direction = ParameterDirection.InputOutput;
+
+ SqlParameter[] parameters ={
+ new SqlParameter("@billSeq",SqlDbType.VarChar),
+ param
+ };
+ parameters[0].Value = tab;
+ param.Value = value;
+
+ DataSet ds = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "P_create_billdocumentPr", "base", parameters);
+ if (ds != null && ds.Tables.Count > 0)
+ {
+ DataTable dt = ds.Tables[0];
+ seqNo = dt.Rows[0][0] + "";
+ }
+
+ return seqNo;
+ }
+ ///
+ /// 说明:获取附件服务器下载地址
+ /// 创建人:龚宇超
+ /// 创建日期:2018-02-27
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// Name of the file.
+ /// System.String.
+ ///
+ public static string GetFileServerPath(string fileName)
+ {
+ string sqlValue = string.Format("select top 1 dbo.fun_fm_getAbsolutePath(fileId) filePath from P_fm_FileTab where sName like '%{0}%' order by fileId desc", fileName);
+ return GetResult(sqlValue) + "";
+ }
+ ///
+ /// 说明:获取附件服务器地址
+ /// 创建人:龚宇超
+ /// 创建日期:2018-03-22
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The file identifier.
+ /// System.String.
+ public static string GetFileServerPath(int fileId)
+ {
+ string sqlValue = string.Format("select dbo.fun_fm_getAbsolutePath({0})", fileId);
+ return GetResult(sqlValue) + "";
+ }
+ ///
+ /// 说明:获取表格左侧树字段
+ /// 创建人:龚宇超
+ /// 创建日期:2017-10-25
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The menu code.
+ /// DataTable.
+ ///
+ public static DataRow GetBaseLeftTreeField(string menuCode)
+ {
+ string sqlValue = "select * from P_systemwordbooktab where tab=@tab and fieldsqlTag=3";
+ DataTable dtTable = SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", menuCode) });
+
+ return (dtTable.Rows.Count > 0) ? dtTable.Rows[0] : null;
+ }
+ ///
+ /// 说明:获取添加修改界面控件大小
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-03
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The form Key.
+ /// DataRow.
+ public static DataRow GetControlParentSize(string formKey)
+ {
+ string sqlValue = "select parentHeight height,parentWidth width from p_systemControlParent where formKey=@formKey";
+ DataTable dtTable = SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@formKey", formKey) });
+ return dtTable.Rows.Count > 0 ? dtTable.Rows[0] : null;
+ }
+ ///
+ /// 说明:获取主信息分组数据
+ /// 创建人:龚宇超
+ /// 创建日期:2017-12-21
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// 键值.
+ /// DataTable.
+ public static DataTable GetAddGroupData(string formKey)
+ {
+ string field = string.Empty;
+ if (HasExistsColumn("p_systemaddgroup", "pageOrder"))
+ {
+ field = "ORDER BY pageOrder,controlTop asc";
+ }
+ string sqlValue = @"select * from p_systemaddgroup where formkey=@formkey and controlType=333" + field;
+ return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@formkey", formKey) });
+ }
+
+ ///
+ /// 说明:获取分割线信息
+ /// 创建人:曹屹峰
+ /// 创建日期:2022-2-10
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// 键值.
+ /// DataTable.
+ public static DataTable GetDividerData(string formKey)
+ {
+ string field = string.Empty;
+ if (HasExistsColumn("p_systemaddgroup", "pageOrder"))
+ {
+ field = "ORDER BY pageOrder,controlTop asc";
+ }
+ string sqlValue = @"select * from p_systemaddgroup where formkey=@formkey and controlType=334" + field;
+ return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@formkey", formKey) });
+ }
+
+ ///
+ /// 说明:获取主信息分页数据
+ /// 创建人:龚宇超
+ /// 创建日期:2017-12-21
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// 键值.
+ /// DataTable.
+ public static DataTable GetAddPageData(string formKey)
+ {
+ string sqlValue = @"select * from p_systemaddgroup where formkey=@formkey and controlType=332";
+ return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@formkey", formKey) });
+ }
+ ///
+ /// 说明:获取基础表格显示列数据源
+ /// 创建人:龚宇超
+ /// 创建日期:2018-03-05
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The form Key.
+ /// DataRow.
+ public static DataTable GetBaseGridField(string menuCode)
+ {
+ string sqlValue = "select username1 as username ,* from P_systemwordbooktab where tab=@tab and vislble=0";
+ return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", menuCode) });
+ }
+ ///
+ /// 说明:加载固定查询条件
+ /// 创建人:龚宇超
+ /// 创建日期:2017-09-05
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// DataTable.
+ public static DataTable GetFixedQueryFields(string menuCode)
+ {
+ string sqlValue = "select fieldName,username1 fieldText from P_systemwordbooktab where tab=@tab and ifSearch =0 and isnull(username1,'')<>''";
+
+ return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", menuCode) });
+ }
+ ///
+ /// 说明:加载自定义配置字段
+ /// 创建人:龚宇超
+ /// 创建日期:2017-09-13
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The form key.
+ /// DataTable.
+ public static DataTable GetCustomQueryFields(string formKey)
+ {
+ string field = string.Empty;
+
+ DataTable dataTable = GetTableColumns("p_systembillsourcecond");
+
+ if (dataTable.Columns.Contains("FontSize"))
+ {
+ field = ",FontSize";
+ }
+ if (dataTable.Columns.Contains("FontColor"))
+ {
+ field += ",FontColor";
+ }
+ if (dataTable.Columns.Contains("refreshSource"))
+ {
+ field += ",refreshSource";
+ }
+ if (dataTable.Columns.Contains("clickAfterEmpty"))
+ {
+ field += ",clickAfterEmpty";
+ }
+ if (dataTable.Columns.Contains("RefreshButton"))
+ {
+ field += ",RefreshButton";
+ }
+ if (dataTable.Columns.Contains("AddOrderByCond"))
+ {
+ field += ",AddOrderByCond";
+ }
+ if (dataTable.Columns.Contains("montage"))
+ {
+ field += ",montage";
+ }
+ if (dataTable.Columns.Contains("nullable"))
+ {
+ field += ",nullable";
+ }
+ else
+ {
+ field += ",0 nullable";
+ }
+ if (dataTable.Columns.Contains("LookUpFieldsWidth"))
+ {
+ field += ",LookUpFieldsWidth";
+ }
+ if (dataTable.Columns.Contains("ScanAfterEmpty"))
+ {
+ field += ",ScanAfterEmpty";
+ }
+ if (dataTable.Columns.Contains("ImportReturnValue"))
+ {
+ field += ",ImportReturnValue";
+ }
+ if (dataTable.Columns.Contains("ImportCurrentValue"))
+ {
+ field += ",ImportCurrentValue";
+ }
+ if (dataTable.Columns.Contains("UnionFields"))
+ {
+ field += ",UnionFields";
+ }
+ if (dataTable.Columns.Contains("UnionValue"))
+ {
+ field += ",UnionValue";
+ }
+ if (dataTable.Columns.Contains("RememberValue"))
+ {
+ field += ",RememberValue";
+ }
+
+ string sqlValue = string.Format(@"select id,controlLeft,controlTop,controlWidth,controlHeight,controlType as fieldTypeId,controlName as fieldName,controlLabel as userName,'' DataFormat,
+ defaultValue,sourceSql as lookupSql,keyField as lookupKeyField,resultField as lookupResult,edited,checkCond,InputHintText{0}
+ from p_systembillsourcecond
+ where formKey=@formKey", field);
+
+ return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@formKey", formKey) });
+ }
+
+ ///
+ /// 说明:获取高级查询条件模版
+ /// 创建人:龚宇超
+ /// 创建日期:2017-09-12
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The module id.
+ /// DataRow.
+ ///
+ public static DataTable GetSchemesList(int moduleId)
+ {
+ try
+ {
+ string sqlValue = "select * from P_SystemReportProjectTab where ProjectMode=1 and operatorId=@userid and ModuleId=@moduleId";
+ return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@userid", ERPInfo.Instance.UserId), new SqlParameter("@moduleId", moduleId) });
+ }
+ catch (Exception)
+ {
+
+ }
+ return new DataTable();
+ }
+ ///
+ /// 说明:获取基础档案表格列
+ /// 创建人:龚宇超
+ /// 创建日期:2017-09-13
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The menu code.
+ /// DataTable.
+ ///
+ public static DataTable GetBaseGridColumns(string menuCode)
+ {
+ SqlParameter[] param =
+ {
+ new SqlParameter("@modid",SqlDbType.VarChar,20),
+ ERPInfo.Instance.ChangeParameterType ?new SqlParameter("@operatorname",SqlDbType.NVarChar,40):new SqlParameter("@operatorname",SqlDbType.VarChar,20)
+ };
+ param[0].Value = menuCode;
+ param[1].Value = ERPInfo.Instance.UserName;
+
+ DataTable table = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "p_getBaseModuleField", "temp", param).Tables[0];
+
+ if (!table.Columns.Contains("username"))//表格中的列不包含指定列名
+ {
+ table.Columns["username1"].ColumnName = "username";
+ }
+ if (!table.Columns.Contains("nullable"))
+ {
+ table.Columns["tagid"].ColumnName = "nullable";
+ }
+
+ return table;
+ }
+ ///
+ /// 说明:获取基础档案表格所有列
+ /// 创建人:龚宇超
+ /// 创建日期:2018-03-07
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The menu code.
+ /// DataTable.
+ public static DataTable GetBaseGridAllColumns(string menuCode)
+ {
+ string sqlValue = "select fieldname from P_systemwordbooktab where tab=@tab and fieldSqlTag=99";
+
+ return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", menuCode) });
+ }
+ ///
+ /// 说明:获取左侧表格数据
+ /// 创建人:龚宇超
+ /// 创建日期:2017-10-26
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The menu code.
+ /// DataTable.
+ public static DataTable GetBaseLeftGridField(string menuCode)
+ {
+ string field = string.Empty;
+ if (HasExistsColumn("p_systemwordbookgrid", "SelectionConditions"))
+ {
+ field = ",SelectionConditions";
+ }
+ string sqlValue = string.Format("select id,fieldname,username [sysname],username,case when visible=1 then 0 else width end width,visible,'' dataFormat {0} from p_systemwordbookgrid where fieldid=(select id from P_systemwordbooktab where tab=@tab and fieldsqlTag=3) order by orderid", field);
+ return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", menuCode) });
+ }
+
+ ///
+ /// 说明:获取右键菜单数据
+ /// 创建人:龚宇超
+ /// 创建日期:2017-10-27
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The key.
+ /// the type
+ /// DataTable.
+ ///
+ public static DataTable GetBaseGridRightMenus(string key, ModuleType type = ModuleType.BaseModule)
+ {
+ string where = string.Empty;
+ switch (type)
+ {
+ case ModuleType.MrpClickBtn:
+ if (BaseImpl.HasExistsColumn("P_systempopupmenu", "isMrpClickBtn", "int"))
+ {
+ where = " and isnull(isMrpClickBtn,0)=1 and visible1=0 ";
+ }
+ break;
+ case ModuleType.BillDetail:
+ where = " and isnull(menutype,0)=1 and visible1=0 ";
+ break;
+ case ModuleType.BillAuditDetail:
+ where = " and isnull(menutype,0)=0 and visible2=0 ";
+ break;
+ case ModuleType.BaseAudit:
+ where = " and isnull(menutype,0)=1 and isnull(visible1,0)=0 ";
+ break;
+ case ModuleType.BaseModuleAdd:
+ where = " and isnull(menutype,0)=1";
+ break;
+ case ModuleType.MESTOOL:
+ where = " and isnull(ShowToolBar,0)=1";
+ break;
+ case ModuleType.MESGRIDRIGHT:
+ where = " and isnull(ShowToolBar,0)=0";
+ break;
+ default:
+ where = " and isnull(menutype,0)=0";
+ break;
+ }
+ string sqlTemplate = @"WITH UserRoles AS (
+ SELECT r.roleName
+ FROM p_systemRoleOperSetTab AS ro
+ JOIN p_systemRoleSetTab AS r ON r.id = ro.roleId
+ WHERE ro.operatorname = '{0}'
+ )
+ SELECT pm.*
+ FROM P_systempopupmenu AS pm WITH (NOLOCK)
+ WHERE ISNULL(pm.visible, 0) = 0
+ AND pm.tab = '{1}'
+ AND (
+ ISNULL(pm.privilegeOper, '') = ''
+ OR CHARINDEX(',' + '{0}' + ',', ',' + pm.privilegeOper + ',') > 0
+ OR EXISTS (
+ SELECT 1
+ FROM UserRoles AS ur
+ WHERE CHARINDEX('{{&' + ur.roleName + '&}}', pm.privilegeOper) > 0)
+ ) {2} ORDER BY pm.orderid;";
+ string sqlValue = string.Format(sqlTemplate, ERPInfo.Instance.UserName, key, where);
+ return SqlHelper.ExecuteDataTable(sqlValue);
+ }
+ ///
+ /// 获取单个右键菜单
+ ///
+ ///
+ ///
+ ///
+ public static DataRow GetBaseGridRightMenuById(string id)
+ {
+ string sqlValue = $"select * from P_systempopupmenu where id = '{id}'";
+ return BaseImpl.GetDataRowResult(sqlValue);
+ }
+ public static bool IsGridViewRightMenuBtnEdit(string key, ModuleType type = ModuleType.BaseModule)
+ {
+ DataTable rightMentTab = GetBaseGridRightMenus(key, type);
+ bool result = false;
+ if (rightMentTab != null)
+ {
+ foreach (DataRow item in rightMentTab.Rows)
+ {
+ if (item.Table.Columns.Contains("IcoName") && !string.IsNullOrEmpty(item["IcoName"] + ""))
+ {
+ result = true;
+ break;
+ }
+ }
+ }
+ return result;
+ }
+
+ public static bool IsGridViewRightMenuBtnEdit(DataTable rightMentTab)
+ {
+ bool result = false;
+ if (rightMentTab != null)
+ {
+ foreach (DataRow item in rightMentTab.Rows)
+ {
+ if ((item.Table.Columns.Contains("IcoName") && !string.IsNullOrEmpty(item["IcoName"] + ""))||(item.Table.Columns.Contains("showtoolbar") && !string.IsNullOrEmpty(item["showtoolbar"] + "")))
+ {
+ result = true;
+ break;
+ }
+ }
+ }
+ return result;
+ }
+
+ ///
+ /// 说明:获取单条右键菜单
+ /// 创建人:龚宇超
+ /// 创建日期:
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The right identifier.
+ /// DataRow.
+ public static DataRow GetBaseGridRightMenuByID(string rightID)
+ {
+ string sqlValue = string.Format("select * from P_systempopupmenu where ID='{0}'", rightID);
+ return GetDataRowResult(sqlValue);
+ }
+ ///
+ /// 说明:
+ /// 创建人:龚宇超
+ /// 创建日期:2017-10-27
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The key.
+ /// DataTable.
+ ///
+ public static DataTable GetBaseGridRowColors(string key)
+ {
+ string sqlValue = "select * from p_systemwordbookcolor where tab=@tab and isnull(useflag,0)=0 order by orderid";
+ return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", key) });
+ }
+ ///
+ /// 说明:获取控件位置
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-03
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ ///
+ /// The formkey.
+ /// The menuCode.
+ /// DataTable.
+ ///
+ public static DataTable GetControlLocation(string formKey, string menuCode)
+ {
+ SqlParameter[] p =
+ {
+ new SqlParameter("@formkey",SqlDbType.VarChar,200),
+ new SqlParameter("@modid",SqlDbType.VarChar,50),
+ ERPInfo.Instance.ChangeParameterType ?new SqlParameter("@operatorName",SqlDbType.NVarChar,100):new SqlParameter("@operatorName",SqlDbType.VarChar,50)
+ };
+ p[0].Value = formKey;
+ p[1].Value = menuCode;
+ p[2].Value = ERPInfo.Instance.UserName;
+
+ return SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "p_getControlLocation", "temp", p).Tables[0];
+ }
+ ///
+ /// 说明:获取添加界面多标签
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-10
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The menu code.
+ /// DataTable.
+ ///
+ public static DataTable GetBaseAddTabDetail(string menuCode)
+ {
+ if (string.IsNullOrWhiteSpace(menuCode))
+ return new DataTable();
+
+ string cond = HasExistsColumn("p_systemdlltabdetail", "addvisible") ? " and isnull(addvisible,0)=1 " : " and isnull(isVisible,0)=0 ";
+ cond += HasExistsColumn("p_systemdlltabdetail", "privilegeOper") ? string.Format(" and ( isnull(privilegeOper,'')='' or CHARINDEX(',{0},',','+privilegeOper+',')>0 )", ERPInfo.Instance.UserName) : "";
+
+ string sqlValue = "select * from p_systemDlltabDetail where tab=@tab " + cond + " order by orderId";
+ return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", menuCode) });
+ }
+ ///
+ /// 说明:获取基础档案底部标签数据
+ /// 创建人:龚宇超
+ /// 创建日期:2017-11-21
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The menu code.
+ /// DataTable.
+ ///
+ public static DataTable GetBaseDetailPages(string menuCode)
+ {
+ try
+ {
+ string sqlTemplate = @"WITH UserRoles AS (
+ SELECT r.roleName
+ FROM p_systemRoleOperSetTab AS ro
+ JOIN p_systemRoleSetTab AS r ON r.id = ro.roleId
+ WHERE ro.operatorname = '{0}'
+ )
+ SELECT pm.*
+ FROM p_systemDlltabDetail AS pm WITH (NOLOCK)
+ WHERE ISNULL(pm.isvisible, 0) = 0
+ AND pm.tab = '{1}'
+ AND (
+ ISNULL(pm.privilegeOper, '') = ''
+ OR CHARINDEX(',' + '{0}' + ',', ',' + pm.privilegeOper + ',') > 0
+ OR EXISTS (
+ SELECT 1
+ FROM UserRoles AS ur
+ WHERE CHARINDEX('{{&' + ur.roleName + '&}}', pm.privilegeOper) > 0)
+ ) ORDER BY pm.orderid;";
+ string sqlValue = string.Format(sqlTemplate, ERPInfo.Instance.UserName, menuCode);
+ return SqlHelper.ExecuteDataTable(sqlValue);
+ }
+ catch (Exception)
+ {
+ string sqlValue = "select * from p_systemDlltabDetail where tab=@tab and ISNULL(isVisible,0)=0 order by orderid";
+ return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", menuCode) });
+ }
+ }
+ ///
+ /// 说明:获取图表配置数据
+ /// 创建人:龚宇超
+ /// 创建日期:2018-01-29
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The form key.
+ /// DataTable.
+ ///
+ public static DataTable GetChartParams(string formKey)
+ {
+ string sqlValue = "select * from p_systemdlltabchart where tabkey=@formKey and isVisible=0";
+
+ return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@formKey", formKey) });
+ }
+ ///
+ /// 说明:获取基础档案附加信息
+ /// 创建人:龚宇超
+ /// 创建日期:2018-11-12
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// The menu code.
+ /// DataTable.
+ public static DataTable GetBaseAttach(string menuCode)
+ {
+ string sqlValue = string.Format(@"select * from p_SystemdllTabAttach where tab='{0}' and ISNULL(isVisible,0)=0 order by orderid", menuCode);
+ return GetDataTableResult(sqlValue);
+ }
+
+
+ ///
+ /// 说明:判断存储过程参数方法
+ /// 创建人:王一帆
+ /// 创建日期:2020-11-18
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ /// 确认权限Id
+ /// 用户Id
+ /// 确认意见.
+ /// System.Int32.
+ public static bool isParamComplete(string storedName, string[] Param)
+ {
+ string whereConfig = string.Empty;
+ for (int i = 0; i < Param.Length; i++)
+ {
+ whereConfig += string.Format(" LOWER(PARAMETER_NAME)=LOWER('{0}') or", Param[i]);
+ }
+ string sql = string.Format("SELECT PARAMETER_NAME AS [参数名称] FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME='{1}' and ({0})", whereConfig.Substring(0, whereConfig.Length - 2), storedName);
\ No newline at end of file
diff --git a/插件库/Lskj.Business/Impl/BillImpl.cs b/插件库/Lskj.Business/Impl/BillImpl.cs
index f19e9c3..3153003 100644
--- a/插件库/Lskj.Business/Impl/BillImpl.cs
+++ b/插件库/Lskj.Business/Impl/BillImpl.cs
@@ -696,10 +696,17 @@ namespace Lskj.Business.Impl
AND CHARINDEX(',' + '{1}' + ',', ',' + userList + ',') > 0
) b on CHARINDEX(',' + CAST(b.privTypeId AS VARCHAR(5)) + ',',',' + PrivilegeView + ',') > 0
where sourceId in (select id from p_systembillsource where typeCode=@typeCode" + cond + @" and isnull(isVisible,0)=0 and (isnull(viewOper,'')='' or CHARINDEX(',' + '{1}' + ',', ',' + viewOper + ',')>0) OR EXISTS (
- SELECT 1 FROM UserRoles AS ur WHERE CHARINDEX('{{&' + ur.roleName + '&}}', viewOper) > 0)) {3} order by sourceId,orderid", menuCode, ERPInfo.Instance.UserName, otherfield, conditions);
-
+ SELECT 1 FROM UserRoles AS ur WHERE CHARINDEX('{{&' + ur.roleName + '&}}', viewOper) > 0)) {3} ", menuCode, ERPInfo.Instance.UserName, otherfield, conditions);
htTable["master"] = SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@typeCode", menuCode) });
- htTable["detail"] = SqlHelper.ExecuteDataTable(sqlDetail, new SqlParameter[] { new SqlParameter("@typeCode", menuCode) });
+
+ DataTable detailTable= SqlHelper.ExecuteDataTable(sqlDetail, new SqlParameter[] { new SqlParameter("@typeCode", menuCode) });
+ // order by sourceId,orderid 数据库不排序,在表格中排序(解决慢查询)
+ if (detailTable != null && detailTable.Rows.Count > 0)
+ {
+ detailTable.DefaultView.Sort = "sourceId ASC, orderid ASC";
+ detailTable = detailTable.DefaultView.ToTable();
+ }
+ htTable["detail"] = detailTable;
return htTable;
}
diff --git a/插件库/Lskj.Business/Impl/SystemInfo.cs b/插件库/Lskj.Business/Impl/SystemInfo.cs
index 805456f..c5f2403 100644
--- a/插件库/Lskj.Business/Impl/SystemInfo.cs
+++ b/插件库/Lskj.Business/Impl/SystemInfo.cs
@@ -321,7 +321,9 @@ namespace Lskj.Business
Instance.ModuleSpecialDrag = item.Table.Columns.Contains("ModuleSpecialDrag") && !string.IsNullOrEmpty(item["ModuleSpecialDrag"] + "") ? "1".Equals(item["ModuleSpecialDrag"] + "") : false;
Instance.ViewPwd = item.Table.Columns.Contains("ViewPwd") && !string.IsNullOrEmpty(item["ViewPwd"] + "") ? "1".Equals(item["ViewPwd"] + "") : false;
Instance.LoginAnnouncement = item.Table.Columns.Contains("LoginAnnouncement") && !string.IsNullOrEmpty(item["LoginAnnouncement"] + "") ? "1".Equals(item["LoginAnnouncement"] + "") : false;
-
+ Instance.PromptDeadlock = item.Table.Columns.Contains("PromptDeadlock") && !string.IsNullOrEmpty(item["PromptDeadlock"] + "") ? "1".Equals(item["PromptDeadlock"] + "") : false;
+ Instance.AuditChangeRecord = item.Table.Columns.Contains("AuditChangeRecord") && !string.IsNullOrEmpty(item["AuditChangeRecord"] + "") ? "1".Equals(item["AuditChangeRecord"] + "") : false;
+ Instance.IsInsertWorksheet = item.Table.Columns.Contains("IsInsertWorksheet") && !string.IsNullOrEmpty(item["IsInsertWorksheet"] + "") ? "1".Equals(item["IsInsertWorksheet"] + "") : false;
}
///
/// 高拍仪AccessKey
@@ -1090,4 +1092,12 @@ namespace Lskj.Business
///
public string CDSBLimsPrivateKey;
///
- /// 流转记录sql不拼
\ No newline at end of file
+ /// 流转记录sql不拼接flowSource(目前只对单据生效)
+ /// 2026-2-26 朱萌反应加上 and flowSource='模块号' 查不出数据,确认加字段限制这个条件
+ ///
+ public bool CancelFlowSource;
+ ///
+ /// 空白单元格添加颜色(设置了单元格颜色和行颜色,都会进入单元格绘制的事件,空白单元格不会设置颜色)
+ ///
+ public bool isBlankCellColor;
+
\ No newline at end of file