SVN r860
SVN-Revision: r860
This commit is contained in:
@@ -2030,10 +2030,25 @@ namespace Lskj.PubBomAlter
|
||||
/// <param name="e"></param>
|
||||
private void OnBtnFxSaveClick(object sender, EventArgs e)
|
||||
{
|
||||
DataTable sourceTable = treeGridControlEx.GridControl.DataSourceTable();
|
||||
WaitForm.ShowForm("正在保存数据...");
|
||||
try
|
||||
{
|
||||
DataTable sourceTable = treeGridControlEx.TreeListObj.DataSource as DataTable;
|
||||
string pattern = @"(\w+)\((.*?)\)";
|
||||
Regex regex = new Regex(pattern);
|
||||
Match match = regex.Match(BomAlterModel.VerifySql);
|
||||
if (match.Success)
|
||||
{
|
||||
string functionName = match.Groups[1].Value;
|
||||
string parameters = match.Groups[2].Value;
|
||||
if (!string.IsNullOrEmpty(functionName))
|
||||
{
|
||||
DataTable sqlParametersTab = BaseImpl.GetDataTableResult($"SELECT PARAMETER_NAME,PARAMETER_MODE,CHARACTER_MAXIMUM_LENGTH,DATA_TYPE FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = '{functionName}' ORDER BY ORDINAL_POSITION;");
|
||||
|
||||
foreach (DataRow sourceRow in sourceTable.Rows)
|
||||
{
|
||||
string xgtigName = $"{sysModel.PrefixKey}xgtig";
|
||||
string idName = $"{sysModel.PrefixKey}id";
|
||||
if (sourceRow.Table.Columns.Contains(xgtigName) && (sourceRow[xgtigName] + "").Equals("1"))
|
||||
{
|
||||
if (sourceTable.Columns.Contains("Plm_lmb_SmartBmFa"))
|
||||
@@ -2041,6 +2056,7 @@ namespace Lskj.PubBomAlter
|
||||
string projectId = sourceRow["Plm_lmb_SmartBmFa"] + "";
|
||||
if (!string.IsNullOrEmpty(projectId))
|
||||
{
|
||||
string id = sourceRow.Table.Columns.Contains(idName) ? sourceRow[idName] + "" : "";
|
||||
string specValue = "";
|
||||
string modelValue = "";
|
||||
string zhsxValue = "";
|
||||
@@ -2155,11 +2171,99 @@ namespace Lskj.PubBomAlter
|
||||
}
|
||||
}
|
||||
czValue = czText.ToString();
|
||||
using (SqlCommand command = new SqlCommand(functionName, SqlHelper._connection))
|
||||
{
|
||||
string[] parametersArray = parameters.Split(',');
|
||||
foreach (DataRow parameterRow in sqlParametersTab.Rows)
|
||||
{
|
||||
string parameterName = parameterRow["PARAMETER_NAME"] + "";
|
||||
string parameterMode = parameterRow["PARAMETER_MODE"] + "";
|
||||
int.TryParse(parameterRow["CHARACTER_MAXIMUM_LENGTH"] + "", out int dataLength);
|
||||
string dataType = parameterRow["DATA_TYPE"] + "";
|
||||
SqlParameter sqlParameter = null;
|
||||
if (parameterMode.Equals("int"))
|
||||
{
|
||||
sqlParameter = new SqlParameter(parameterName, SqlDbType.Int);
|
||||
}
|
||||
else
|
||||
{
|
||||
sqlParameter = new SqlParameter(parameterName, SqlDbType.VarChar, dataLength);
|
||||
}
|
||||
if (parameterMode.Equals("IN"))
|
||||
{
|
||||
sqlParameter.Direction = ParameterDirection.Input;
|
||||
}
|
||||
else
|
||||
{
|
||||
sqlParameter.Direction = ParameterDirection.Output;
|
||||
}
|
||||
command.Parameters.Add(sqlParameter);
|
||||
}
|
||||
for (int i = 0; i < command.Parameters.Count; i++)
|
||||
{
|
||||
SqlParameter sqlParameter = command.Parameters[i];
|
||||
if (parametersArray.Length > i)
|
||||
{
|
||||
string commandParameter = parametersArray[i];
|
||||
string field = commandParameter.Replace("@", "").Replace("{", "").Replace("}", "");
|
||||
string value = "";
|
||||
if (field.Equals("spec"))
|
||||
{
|
||||
value = specValue;
|
||||
}
|
||||
else if (field.Equals("model"))
|
||||
{
|
||||
value = modelValue;
|
||||
}
|
||||
else if (field.Equals("grade"))
|
||||
{
|
||||
value = czValue;
|
||||
}
|
||||
else if (field.Equals("productdescrip"))
|
||||
{
|
||||
value = zhsxValue;
|
||||
}
|
||||
else if (field.Equals("appellation"))
|
||||
{
|
||||
value = nameValue;
|
||||
}
|
||||
else
|
||||
{
|
||||
value = sourceRow.Table.Columns.Contains(field) ? sourceRow[field] + "" : commandParameter.Replace("@", "");
|
||||
value = value.Replace("@", "").Replace("{", "").Replace("}", "");
|
||||
}
|
||||
sqlParameter.Value = value;
|
||||
}
|
||||
}
|
||||
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
|
||||
returnValue.Direction = ParameterDirection.ReturnValue;
|
||||
command.Parameters.Add(returnValue);
|
||||
command.CommandType = CommandType.StoredProcedure;
|
||||
command.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageUtil.Show("保存逻辑配置错误");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageUtil.Show("保存逻辑配置错误");
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
WaitForm.HideForm();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 自动刷新
|
||||
/// </summary>
|
||||
@@ -2171,14 +2275,6 @@ namespace Lskj.PubBomAlter
|
||||
{
|
||||
SearchObj.SearchGrid();
|
||||
}
|
||||
btnFxSave.Enabled = false;
|
||||
string xgtigName = $"{sysModel.PrefixKey}xgtig";
|
||||
DataTable sourceTable = treeGridControlEx.GridControl.DataSourceTable();
|
||||
if (sourceTable != null && sourceTable.Columns.Contains(xgtigName))
|
||||
{
|
||||
var selectRows = sourceTable.AsEnumerable().Where(n => (n[xgtigName] + "").Equals("1"));
|
||||
btnFxSave.Enabled = selectRows.Count() > 0;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 查询后事件
|
||||
@@ -2189,6 +2285,14 @@ namespace Lskj.PubBomAlter
|
||||
{
|
||||
try
|
||||
{
|
||||
btnFxSave.Enabled = false;
|
||||
string xgtigName = $"{sysModel.PrefixKey}xgtig";
|
||||
DataTable sourceTable = treeGridControlEx.TreeListObj.DataSource as DataTable;
|
||||
if (sourceTable != null && sourceTable.Columns.Contains(xgtigName))
|
||||
{
|
||||
var selectRows = sourceTable.AsEnumerable().Where(n => (n[xgtigName] + "").Equals("1"));
|
||||
btnFxSave.Enabled = selectRows.Count() > 0;
|
||||
}
|
||||
this.OnAfterDataSourceCallback -= OnAfterDataSource;
|
||||
TreeListNode focusedNode = TreeGridObj.TreeListObj.FocusedNode;
|
||||
if (focusedNode != null)
|
||||
|
||||
Reference in New Issue
Block a user