提交当前本机整理版本

This commit is contained in:
cyf
2026-07-02 10:11:39 +00:00
parent c10a5d64c7
commit aacefa24f8
822 changed files with 196665 additions and 14263 deletions
+175 -319
View File
@@ -15,6 +15,7 @@ using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Drawing;
using System.Drawing.Drawing2D;
@@ -1692,66 +1693,65 @@ namespace Lskj.PubBomAlter
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;");
using (SqlCommand command = new SqlCommand(functionName, SqlHelper._connection))
List<SqlParameter> sqlParameters = new List<SqlParameter>();
string[] parametersArray = parameters.Split(',');
foreach (DataRow parameterRow in sqlParametersTab.Rows)
{
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"))
{
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);
sqlParameter = new SqlParameter(parameterName, SqlDbType.Int);
}
for (int i = 0; i < command.Parameters.Count; i++)
else
{
SqlParameter sqlParameter = command.Parameters[i];
if (parametersArray.Length > i)
{
string commandParameter = parametersArray[i];
string field = commandParameter.Replace("@", "").Replace("{", "").Replace("}", "");
string value = focusedRow.Table.Columns.Contains(field) ? focusedRow[field] + "" : commandParameter.Replace("@", "");
value = SearchObj.ReplaceControlValue(value);
value = TopControlObj.ReplaceControlValue(value);
value = ReplaceControlValue(value, MainControlPanel);
value = value.Replace("@", "").Replace("{", "").Replace("}", "");
sqlParameter.Value = value;
}
sqlParameter = new SqlParameter(parameterName, SqlDbType.VarChar, dataLength);
}
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
returnValue.Direction = ParameterDirection.ReturnValue;
command.Parameters.Add(returnValue);
command.CommandType = CommandType.StoredProcedure;
command.ExecuteNonQuery();
if ((returnValue.Value + "").Equals("1"))
if (parameterMode.Equals("IN"))
{
SearchObj.SearchGrid();
sqlParameter.Direction = ParameterDirection.Input;
}
SqlParameter outSqlParameter = command.Parameters.Cast<SqlParameter>().Where(n => n.Direction == ParameterDirection.Output).FirstOrDefault();
if (outSqlParameter != null)
else
{
string outMessage = outSqlParameter.Value + "";
if (!string.IsNullOrEmpty(outMessage))
{
MessageUtil.Show(outSqlParameter.Value + "");
}
sqlParameter.Direction = ParameterDirection.Output;
}
sqlParameters.Add(sqlParameter);
}
for (int i = 0; i < sqlParameters.Count; i++)
{
SqlParameter sqlParameter = sqlParameters[i];
if (parametersArray.Length > i)
{
string commandParameter = parametersArray[i];
string field = commandParameter.Replace("@", "").Replace("{", "").Replace("}", "");
string value = focusedRow.Table.Columns.Contains(field) ? focusedRow[field] + "" : commandParameter.Replace("@", "");
value = SearchObj.ReplaceControlValue(value);
value = TopControlObj.ReplaceControlValue(value);
value = ReplaceControlValue(value, MainControlPanel);
value = value.Replace("@", "").Replace("{", "").Replace("}", "");
sqlParameter.Value = value;
}
}
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
returnValue.Direction = ParameterDirection.ReturnValue;
sqlParameters.Add(returnValue);
SqlParameter[] inParameters = sqlParameters.ToArray();
SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, functionName, inParameters);
SqlParameter outSqlParameter = sqlParameters.Cast<SqlParameter>().Where(n => n.Direction == ParameterDirection.Output).FirstOrDefault();
if ((returnValue.Value + "").Equals("1"))
{
SearchObj.SearchGrid();
}
if (outSqlParameter != null)
{
string outMessage = outSqlParameter.Value + "";
if (!string.IsNullOrEmpty(outMessage))
{
MessageUtil.Show(outSqlParameter.Value + "");
}
}
}
@@ -1942,68 +1942,65 @@ namespace Lskj.PubBomAlter
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;");
using (SqlCommand command = new SqlCommand(functionName, SqlHelper._connection))
string[] parametersArray = parameters.Split(',');
List<SqlParameter> sqlParameters = new List<SqlParameter>();
foreach (DataRow parameterRow in sqlParametersTab.Rows)
{
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"))
{
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 = focusedRow.Table.Columns.Contains(field) ? focusedRow[field] + "" : commandParameter.Replace("@", "");
value = SearchObj.ReplaceControlValue(value);
value = TopControlObj.ReplaceControlValue(value);
value = ReplaceControlValue(value, MainControlPanel);
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();
if ((returnValue.Value + "").Equals("1"))
{
MessageUtil.Show("保存成功");
sqlParameter = new SqlParameter(parameterName, SqlDbType.Int);
}
else
{
SqlParameter outSqlParameter = command.Parameters.Cast<SqlParameter>().Where(n => n.Direction == ParameterDirection.Output).FirstOrDefault();
if (outSqlParameter != null)
sqlParameter = new SqlParameter(parameterName, SqlDbType.VarChar, dataLength);
}
if (parameterMode.Equals("IN"))
{
sqlParameter.Direction = ParameterDirection.Input;
}
else
{
sqlParameter.Direction = ParameterDirection.Output;
}
sqlParameters.Add(sqlParameter);
}
for (int i = 0; i < sqlParameters.Count; i++)
{
SqlParameter sqlParameter = sqlParameters[i];
if (parametersArray.Length > i)
{
string commandParameter = parametersArray[i];
string field = commandParameter.Replace("@", "").Replace("{", "").Replace("}", "");
string value = focusedRow.Table.Columns.Contains(field) ? focusedRow[field] + "" : commandParameter.Replace("@", "");
value = SearchObj.ReplaceControlValue(value);
value = TopControlObj.ReplaceControlValue(value);
value = ReplaceControlValue(value, MainControlPanel);
value = value.Replace("@", "").Replace("{", "").Replace("}", "");
sqlParameter.Value = value;
}
}
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
returnValue.Direction = ParameterDirection.ReturnValue;
sqlParameters.Add(returnValue);
SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, functionName, sqlParameters.ToArray());
if ((returnValue.Value + "").Equals("1"))
{
MessageUtil.Show("保存成功");
}
else
{
SqlParameter outSqlParameter = sqlParameters.Cast<SqlParameter>().Where(n => n.Direction == ParameterDirection.Output).FirstOrDefault();
if (outSqlParameter != null)
{
string outMessage = outSqlParameter.Value + "";
if (!string.IsNullOrEmpty(outMessage))
{
string outMessage = outSqlParameter.Value + "";
if (!string.IsNullOrEmpty(outMessage))
{
MessageUtil.Show(outSqlParameter.Value + "");
}
MessageUtil.Show(outSqlParameter.Value + "");
}
}
}
@@ -2056,11 +2053,11 @@ namespace Lskj.PubBomAlter
string projectId = sourceRow["Plm_lmb_SmartBmFa"] + "";
if (!string.IsNullOrEmpty(projectId))
{
StringBuilder sqlBuilder = new StringBuilder();
string id = sourceRow.Table.Columns.Contains(idName) ? sourceRow[idName] + "" : "";
string specValue = "";
string modelValue = "";
string zhsxValue = "";
string unitValue = "";
string czValue = "";
string nameValue = "";
string sourceSql = GcMainModuleObj.MenuSql;
@@ -2090,27 +2087,6 @@ namespace Lskj.PubBomAlter
{
SysSetModel specModel = specModels[i];
string value = selectSource.Table.Columns.Contains(specModel.DbName) ? selectSource[specModel.DbName] + "" : "";
DataTable sourceTab = GeSourceTab(specModel);
if (sourceTab != null && sourceTab.Rows.Count > 0)
{
var enumerable = sourceTab.AsEnumerable();
DataRow slectRow = enumerable.Where(n => (n["id"] + "").Equals(value)).FirstOrDefault();
if (slectRow == null)
{
slectRow = enumerable.Where(n => (n["sysnamelist"] + "").Equals(value)).FirstOrDefault();
}
if (slectRow != null)
{
if (specModel.FxTypeGg.Equals("编码"))
{
value = slectRow["id"] + "";
}
else if (specModel.FxTypeGg.Equals("名称"))
{
value = slectRow["sysnamelist"] + "";
}
}
}
if (!string.IsNullOrWhiteSpace(value))
{
if (i == 0)
@@ -2124,10 +2100,6 @@ namespace Lskj.PubBomAlter
}
}
specValue = specText.ToString();
if (SpecBaseControl != null)
{
sqlBuilder.Append(string.Format("{0}='{1}',", "spec", specValue));
}
//反写型号
List<SysSetModel> modelModels = controlList.Where(n => n.ModelDbName.Equals(1)).OrderBy(n => n.ModelSort).ToList();
StringBuilder modelText = new StringBuilder();
@@ -2135,27 +2107,6 @@ namespace Lskj.PubBomAlter
{
SysSetModel modelModel = modelModels[i];
string value = selectSource.Table.Columns.Contains(modelModel.DbName) ? selectSource[modelModel.DbName] + "" : "";
DataTable sourceTab = GeSourceTab(modelModel);
if (sourceTab != null && sourceTab.Rows.Count > 0)
{
var enumerable = sourceTab.AsEnumerable();
DataRow slectRow = enumerable.Where(n => (n["id"] + "").Equals(value)).FirstOrDefault();
if (slectRow == null)
{
slectRow = enumerable.Where(n => (n["sysnamelist"] + "").Equals(value)).FirstOrDefault();
}
if (slectRow != null)
{
if (modelModel.FxTypeXh.Equals("编码"))
{
value = slectRow["id"] + "";
}
else if (modelModel.FxTypeXh.Equals("名称"))
{
value = slectRow["sysnamelist"] + "";
}
}
}
if (!string.IsNullOrWhiteSpace(value))
{
if (i == 0)
@@ -2169,10 +2120,6 @@ namespace Lskj.PubBomAlter
}
}
modelValue = modelText.ToString();
if (ModelBaseControl != null)
{
sqlBuilder.Append(string.Format("{0}='{1}',", "model", modelValue));
}
//反写综合属性
List<SysSetModel> zhsxModels = controlList.Where(n => n.ZhSxdbName.Equals(1)).OrderBy(n => n.ProDeSort).ToList();
StringBuilder zhsxText = new StringBuilder();
@@ -2184,30 +2131,6 @@ namespace Lskj.PubBomAlter
{
value = "";
}
else
{
DataTable sourceTab = GeSourceTab(zhsxModel);
if (sourceTab != null && sourceTab.Rows.Count > 0)
{
var enumerable = sourceTab.AsEnumerable();
DataRow slectRow = enumerable.Where(n => (n["id"] + "").Equals(value)).FirstOrDefault();
if (slectRow == null)
{
slectRow = enumerable.Where(n => (n["sysnamelist"] + "").Equals(value)).FirstOrDefault();
}
if (slectRow != null)
{
if (zhsxModel.FxTypeZhsx.Equals("编码"))
{
value = slectRow["id"] + "";
}
else if (zhsxModel.FxTypeZhsx.Equals("名称"))
{
value = slectRow["sysnamelist"] + "";
}
}
}
}
if (!string.IsNullOrWhiteSpace(value))
{
if (i == 0)
@@ -2221,10 +2144,6 @@ namespace Lskj.PubBomAlter
}
}
zhsxValue = zhsxText.ToString();
if (ZhSxBaseControl != null)
{
sqlBuilder.Append(string.Format("{0}='{1}',", "ProductDescrip", zhsxValue));
}
//反写材质属性
List<SysSetModel> czModels = controlList.Where(n => n.CzdbName.Equals(1)).OrderBy(n => n.GradeSort).ToList();
StringBuilder czText = new StringBuilder();
@@ -2236,30 +2155,6 @@ namespace Lskj.PubBomAlter
{
value = "";
}
else
{
DataTable sourceTab = GeSourceTab(czModel);
if (sourceTab != null && sourceTab.Rows.Count > 0)
{
var enumerable = sourceTab.AsEnumerable();
DataRow slectRow = enumerable.Where(n => (n["id"] + "").Equals(value)).FirstOrDefault();
if (slectRow == null)
{
slectRow = enumerable.Where(n => (n["sysnamelist"] + "").Equals(value)).FirstOrDefault();
}
if (slectRow != null)
{
if (czModel.FxTypeCz.Equals("编码"))
{
value = slectRow["id"] + "";
}
else if (czModel.FxTypeCz.Equals("名称"))
{
value = slectRow["sysnamelist"] + "";
}
}
}
}
if (!string.IsNullOrWhiteSpace(value))
{
if (i == 0)
@@ -2273,100 +2168,81 @@ namespace Lskj.PubBomAlter
}
}
czValue = czText.ToString();
if (CzBaseControl != null)
if (SqlHelper.ConnectionType == ConnectionType.SqlServer)
{
sqlBuilder.Append(string.Format("{0}='{1}',", "grade", czValue));
}
#region
string primaryKey = BaseImpl.GetBasePrimaryKey(this.BomAlterModel.ModuleCode);
string newBillNo = sourceRow[primaryKey] + "";
string execSql = "";
if (!string.IsNullOrWhiteSpace(sqlBuilder.ToString()))
{
execSql = string.Format("update {0} set {1} where {2} = '{3}'", sysModel.MenuTable, sqlBuilder.ToString().TrimEnd(','), primaryKey, newBillNo);
}
BaseSaveModel saveModel = new BaseSaveModel
{
BaseSaveType = SaveType.Update,
BaseSql = execSql,
KeyField = primaryKey,
FieldValue = newBillNo,
MenuCode = sysModel.ModeCode,
TableName = sysModel.MenuTable,
ComfirmFlag = 0,
NewVer = sysModel.NewVer
};
int result = BaseModuleImpl.SaveBasePanelData(saveModel);
#endregion
using (SqlCommand command = new SqlCommand(functionName, SqlHelper._connection))
{
string[] parametersArray = parameters.Split(',');
foreach (DataRow parameterRow in sqlParametersTab.Rows)
using (DbCommand command = SqlHelper.dbFactory.CreateCommand())
{
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"))
command.CommandText = functionName;
command.Connection = SqlHelper._connection;
string[] parametersArray = parameters.Split(',');
foreach (DataRow parameterRow in sqlParametersTab.Rows)
{
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"))
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"))
{
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;
sqlParameter = new SqlParameter(parameterName, SqlDbType.Int);
}
else
{
value = sourceRow.Table.Columns.Contains(field) ? sourceRow[field] + "" : commandParameter.Replace("@", "");
value = value.Replace("@", "").Replace("{", "").Replace("}", "");
sqlParameter = new SqlParameter(parameterName, SqlDbType.VarChar, dataLength);
}
sqlParameter.Value = value;
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++)
{
DbParameter 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();
}
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
returnValue.Direction = ParameterDirection.ReturnValue;
command.Parameters.Add(returnValue);
command.CommandType = CommandType.StoredProcedure;
command.ExecuteNonQuery();
}
}
}
@@ -2383,14 +2259,13 @@ namespace Lskj.PubBomAlter
MessageUtil.Show("保存逻辑配置错误");
}
}
catch (Exception ex)
catch (Exception)
{
Console.WriteLine(ex.Message);
}
finally
{
WaitForm.HideForm();
SearchObj.ButtonObj.PerformClick();
SearchObj.SearchGrid();
}
}
/// <summary>
@@ -2403,13 +2278,6 @@ namespace Lskj.PubBomAlter
if (sysModel.CsHasDefultSearch)
{
SearchObj.SearchGrid();
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;
}
}
}
/// <summary>
@@ -2461,17 +2329,5 @@ namespace Lskj.PubBomAlter
TopControlObj.SetAllControlValue(BomAlterModel.MaintabFocusedRow);
}
}
/// <summary>
/// 获取数据源
/// </summary>
/// <param name="sysSetModel"></param>
/// <returns></returns>
private DataTable GeSourceTab(SysSetModel sysSetModel)
{
DataTable dataSource = null;
if (sysSetModel != null && (sysSetModel.Item.Equals("1") || sysSetModel.Item.Equals("5")))
{
string controlName = !string.IsNullOrWhiteSpace(sysSetModel.DbName) ? sysSetModel.DbName : sysSetModel.SysName;
string existsPr = BaseImpl.GetResult("SELECT 1 FROM sys.procedures WHERE name = 'ParameterList' AND schema_id = SCHEM
}
}