SVN r1044

SVN-Revision: r1044
This commit is contained in:
cyf
2025-11-20 08:54:42 +00:00
parent 055845b380
commit a25c68d10e
10 changed files with 265 additions and 93 deletions
@@ -53,8 +53,8 @@ namespace Lskj.Business.Impl
EXEC @return = {procedureName} {string.Join(", ", parameters)};
SELECT @return AS 'return', @msg AS msg;";
Clipboard.SetText(script);
if(ERPInfo.Instance.UserName.Equals("管理员")) Clipboard.SetText(script);
LogHelper.Instance.WriteLog(script);
}
catch (Exception ex)
{
@@ -108,8 +108,8 @@ SELECT @return AS 'return', @msg AS msg;";
EXEC @return = {procedureName} {string.Join(", ", parameters)}
SELECT @return AS 'return', @msg AS msg;";
Clipboard.SetText(script);
if (ERPInfo.Instance.UserName.Equals("管理员")) Clipboard.SetText(script);
LogHelper.Instance.WriteLog(script);
}
catch (Exception ex)
{
@@ -146,8 +146,8 @@ SELECT @return AS 'return', @msg AS msg;";
EXEC @return = p_baseApply {string.Join(", ", parameters)}
SELECT @return AS 'return', @msg AS msg;";
Clipboard.SetText(script);
if (ERPInfo.Instance.UserName.Equals("管理员")) Clipboard.SetText(script);
LogHelper.Instance.WriteLog(script);
}
catch (Exception ex)
{
@@ -190,7 +190,8 @@ SELECT @return AS 'return', @msg AS msg;
--
DELETE {EscapeSqlString(detailTable)}_temp WHERE sysstr = N'{EscapeSqlString(detailGuid)}';";
Clipboard.SetText(script);
if (ERPInfo.Instance.UserName.Equals("管理员")) Clipboard.SetText(script);
LogHelper.Instance.WriteLog(script);
}
catch (Exception ex)
{
@@ -229,8 +230,8 @@ DELETE {EscapeSqlString(detailTable)}_temp WHERE sysstr = N'{EscapeSqlString(det
EXEC @return = p_billApply {string.Join(", ", parameters)};
SELECT @return AS 'return', @msg AS msg;";
Clipboard.SetText(executionScript);
if (ERPInfo.Instance.UserName.Equals("管理员")) Clipboard.SetText(executionScript);
LogHelper.Instance.WriteLog(executionScript);
}
catch (Exception ex)
{
@@ -310,7 +311,8 @@ SELECT
'msg' = @msg;";
// 复制到剪贴板
Clipboard.SetText(script);
if (ERPInfo.Instance.UserName.Equals("管理员")) Clipboard.SetText(script);
LogHelper.Instance.WriteLog(script);
}
catch (Exception ex)
{
@@ -320,6 +322,105 @@ SELECT
public static void GenerateAuditExecutionScript(
DynamicModel sysModel,
string stepCode,
string billDocumentId,
string storedName,
string accractFlag,
string remindSelect,
string remarkText = "",
string remindOpers = "",
string confirmOpers = "",
bool ret = false,
int returnd = 0,
int selectConfirmFlag = 0,
bool isStepOver = false,
int comfirm = 0)
{
try
{
// 检查新审核参数是否存在
bool newAudit = true;
string[] newParameter = new string[] { "@nextSelectStepCode", "@nextSelectStepOper", "@selectConfirmFlag" };
if (!BaseAuditImpl.isParamComplete(storedName, newParameter))
newAudit = false;
// 检查存储过程是否包含@confirmFlag参数(模拟原方法syscolumns查询逻辑)
bool hasConfirmFlag = CheckIfProcedureHasParameter(storedName, "@confirmFlag");
// 构建参数列表
List<string> parameters = new List<string>
{
// 基础参数
$"@typeCode = N'{EscapeSqlString(sysModel.ModuleCode)}'",
$"@stepCode = {(string.IsNullOrEmpty(stepCode) ? 0 : Convert.ToInt32(stepCode))}",
$"@billDocumentId = N'{EscapeSqlString(billDocumentId)}'",
$"@operatorId = {sysModel.UserId}",
$"@operatorName = N'{EscapeSqlString(sysModel.UserName)}'",
$@"@auditAdvice = N'{EscapeSqlString(accractFlag == "F" ?
remarkText : (isStepOver ? $"由[{sysModel.UserName}]强制退回,意见:{remarkText}" : remarkText))}'",
$"@Direction = N'{EscapeSqlString(accractFlag)}'",
"@msg = @msg OUTPUT"
};
// 添加新审核相关参数
if (newAudit)
{
parameters.Add($"@selectConfirmFlag = {selectConfirmFlag}");
parameters.Add("@nextSelectStepCode = @nextSelectStepCode OUTPUT");
parameters.Add("@nextSelectStepOper = @nextSelectStepOper OUTPUT");
}
// 添加提醒相关参数
if (remindSelect == "1")
{
parameters.Add($"@hint_opers = N'{EscapeSqlString(remindOpers)}'");
parameters.Add($"@comfirm_opers = N'{EscapeSqlString(confirmOpers)}'");
}
// 添加返回步骤参数
if (ret)
{
parameters.Add($"@backStepCode = {returnd}");
}
// 新增:如果存储过程包含@confirmFlag参数,则添加该参数
if (hasConfirmFlag)
{
parameters.Add($"@confirmFlag = {comfirm}");
}
// 构建完整执行语句
string script = $@"DECLARE
@msg {(ERPInfo.Instance.ChangeParameterType ? "NVARCHAR(6000)" : "VARCHAR(3000)")},
@nextSelectStepCode VARCHAR(3000),
@nextSelectStepOper VARCHAR(3000),
@return INT;
EXEC @return = {storedName}
{string.Join(",\n ", parameters)};
SELECT
'return' = @return,
'nextSelectStepCode' = @nextSelectStepCode,
'nextSelectStepOper' = @nextSelectStepOper,
'msg' = @msg;";
// 复制到剪贴板并日志记录
if (ERPInfo.Instance.UserName.Equals("管理员"))
Clipboard.SetText(script);
LogHelper.Instance.WriteLog(script);
}
catch (Exception ex)
{
}
}
//右键执行存储过程
public static void GenerateProcedureExecutionScript(string Action, List<string> paramList,bool isFirstFlag = false,string comfirmFlag = "0")
{
@@ -365,7 +466,8 @@ EXEC @returnValue = {procedureName}
SELECT 'return' = @returnValue, 'msg' = @msg;";
// 复制到剪贴板
Clipboard.SetText(script);
if (ERPInfo.Instance.UserName.Equals("管理员")) Clipboard.SetText(script);
LogHelper.Instance.WriteLog(script);
}
catch (Exception ex)
{