From dd24937c1fac6b99eec0f32e1245eb52b50f4a5f Mon Sep 17 00:00:00 2001 From: "HM-CN\\zhengxuan.zhang" Date: Tue, 5 Aug 2025 09:13:50 +0800 Subject: [PATCH] =?UTF-8?q?#003=20=E5=AE=8C=E5=96=84=E5=88=86=E5=8F=91?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Analysis/BaseUnit/FileSorter.cs | 86 +++++ Analysis/DAL/SQLHelper.cs | 310 +++++++++++++++ Analysis/DAL/TMeasureMSSQLDAL.cs | 357 ++++++++++++++++++ Analysis/Define/Define.cs | 2 +- Analysis/FormMain.cs | 6 - Analysis/Model/CjlrTaskReleaseDetailModel.cs | 135 +++++++ Analysis/Model/CjlrTaskReleaseModel.cs | 134 +++++++ Analysis/NXSAnalysis.csproj | 302 +++++++++++++++ Analysis/NXSAnalysis.csproj.user | 13 + Analysis/Tolerance/FAddTolerance.cs | 4 +- Analysis/Tolerance/FAddTolerance.designer.cs | 118 +++--- Analysis/Tolerance/FEditTolerance.cs | 167 +++++--- Analysis/Tolerance/FEditTolerance.designer.cs | 82 ++-- Analysis/Tolerance/FToleranceSetup.cs | 29 +- .../Tolerance/FToleranceSetup.designer.cs | 48 +-- Analysis/Tolerance/FToleranceSetup.resx | 2 +- Analysis/UserControl/LabPictureControl.cs | 77 ++++ .../UserControl/LabPictureControl.designer.cs | 84 +++++ Analysis/UserControl/LabPictureControl.resx | 120 ++++++ Analysis/bin/x64/Debug/Debug.txt | 16 +- Analysis/bin/x64/Debug/NSAnalysis.exe | Bin 1785344 -> 1788416 bytes Analysis/bin/x64/Debug/NSAnalysis.pdb | Bin 337408 -> 343552 bytes Analysis/bin/x64/Debug/logs/2025-08-04.log | 252 +++++++++++++ 23 files changed, 2140 insertions(+), 204 deletions(-) create mode 100644 Analysis/BaseUnit/FileSorter.cs create mode 100644 Analysis/DAL/SQLHelper.cs create mode 100644 Analysis/DAL/TMeasureMSSQLDAL.cs create mode 100644 Analysis/Model/CjlrTaskReleaseDetailModel.cs create mode 100644 Analysis/Model/CjlrTaskReleaseModel.cs create mode 100644 Analysis/NXSAnalysis.csproj create mode 100644 Analysis/NXSAnalysis.csproj.user create mode 100644 Analysis/UserControl/LabPictureControl.cs create mode 100644 Analysis/UserControl/LabPictureControl.designer.cs create mode 100644 Analysis/UserControl/LabPictureControl.resx diff --git a/Analysis/BaseUnit/FileSorter.cs b/Analysis/BaseUnit/FileSorter.cs new file mode 100644 index 0000000..45a172b --- /dev/null +++ b/Analysis/BaseUnit/FileSorter.cs @@ -0,0 +1,86 @@ +using System; + +using System.Data; +using System.Data.SqlClient; +using System.IO; + +namespace NSAnalysis.BaseUnit +{ + internal class FileSorter + { + private readonly string _connectionString; + + public FileSorter(string connectionString) + { + _connectionString = connectionString; + } + + public void ProcessFiles() + { + var tasks = GetTaskRecords(); + foreach (DataRow task in tasks.Rows) + { + string sourceDir = task["sourceFile"].ToString(); + string targetDir = task["targetFile"].ToString(); + string modelCode = task["modelsCode"].ToString(); + + if (Directory.Exists(sourceDir)) + { + ProcessDirectory(sourceDir, targetDir, modelCode); + } + } + } + + private DataTable GetTaskRecords() + { + using (var connection = new SqlConnection(_connectionString)) + { + var command = new SqlCommand( + "SELECT modelsCode, sourceFile, targetFile FROM CJLR_TASK_RELEASE WHERE status = 'start'", + connection); + + var adapter = new SqlDataAdapter(command); + var dt = new DataTable(); + adapter.Fill(dt); + return dt; + } + } + + private void ProcessDirectory(string sourceDir, string targetDir, string modelCode) + { + if (!Directory.Exists(targetDir)) + { + Directory.CreateDirectory(targetDir); + } + + foreach (string file in Directory.GetFiles(sourceDir, "*.csv")) + { + if (FileContainsModelCode(file, modelCode)) + { + string destFile = Path.Combine(targetDir, Path.GetFileName(file)); + File.Move(file, destFile); + Console.WriteLine($"Moved: {file} -> {destFile}"); + } + } + } + + private bool FileContainsModelCode(string filePath, string modelCode) + { + try + { + string content = File.ReadAllText(filePath); + return content.Contains(modelCode); + } + catch + { + return false; + } + } + + //private static void Main(string[] args) + //{ + // var sorter = new FileSorter("Your_Connection_String"); + // sorter.ProcessFiles(); + //} + } +} \ No newline at end of file diff --git a/Analysis/DAL/SQLHelper.cs b/Analysis/DAL/SQLHelper.cs new file mode 100644 index 0000000..651a621 --- /dev/null +++ b/Analysis/DAL/SQLHelper.cs @@ -0,0 +1,310 @@ +using System; +using System.Data; +using System.Data.SqlClient; +using System.Windows.Forms; + +namespace DAL +{ + public class SQLHelper + { + private static SqlConnection conn = null; + private static SqlCommand cmd = null; + private static SqlDataReader sdr = null; + public static string connStr = ""; + + public static int iFlag = 0; + + private static SqlConnection GetConn() + { + conn = new SqlConnection(connStr); + if (conn.State == ConnectionState.Closed) + { + try + { + conn.Open(); + } + catch (Exception ex) + { + if (iFlag == 0) + { + iFlag++;//必须放在前面,这样才起左右,放在后面,不会赋值 如果不点击确定的话 + + //MyBase.TraceWriteLine(" 数据库打开连接失败" +ex.ToString()); + MessageBox.Show("数据库打开连接失败,请检查数据库是否正确连接!原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + return conn; + } + } + return conn; + } + + #region 执行不带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数 + + /// + /// 执行不带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数 + /// + /// 增删改SQL语句或存储过程 + /// 命令类型 + /// 返回受影响的行数 + public static int ExecuteNonQuery(string cmdText, CommandType ct) + { + int res = 0; + try + { + cmd = new SqlCommand(cmdText, GetConn()); + cmd.CommandType = ct; + res = cmd.ExecuteNonQuery(); //返回受影响的行数 + } + catch (Exception ex) + { + throw ex; + } + finally + { + if (conn.State == ConnectionState.Open) + { + conn.Close(); + } + } + return res; + } + + #endregion 执行不带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数 + + #region 执行带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数 + + /// + /// 执行带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数 + /// + /// 增删改SQL语句或存储过程 + /// 命令类型 + /// 返回受影响的行数 + public static int ExecuteNonQuery(string cmdText, SqlParameter[] paras, CommandType ct) + { + int res = 0; + + using (cmd = new SqlCommand(cmdText, GetConn())) + { + cmd.CommandType = ct; + cmd.Parameters.AddRange(paras); + res = cmd.ExecuteNonQuery(); + } + return res; + } + + #endregion 执行带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数 + + #region 执行不带参数的查询SQL语句或存储过程 返回DataTable类型 + + /// + /// 执行不带参数的查询SQL语句或存储过程 返回DataTable类型 + /// + /// 查询SQL语句或存储过程 + /// 命令类型 + /// DataTable型 + public static DataTable ExecuteQuery(string cmdText, CommandType ct) + { + DataTable dt = new DataTable(); + cmd = new SqlCommand(cmdText, GetConn()); + cmd.CommandType = ct; + using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) + { + dt.Load(sdr); + } + return dt; + } + + #endregion 执行不带参数的查询SQL语句或存储过程 返回DataTable类型 + + #region 执行带参数的查询SQL语句或存储过程 返回DataTable类型 + + /// + /// 执行带参数的查询SQL语句或存储过程 返回DataTable类型 + /// + /// 查询SQL语句或存储过程 + /// 参数集合 + /// 命令类型 + /// DataTable型 + public static DataTable ExecuteQuery(string cmdText, SqlParameter[] paras, CommandType ct) + { + DataTable dt = new DataTable(); + cmd = new SqlCommand(cmdText, GetConn()); + cmd.CommandType = ct; + cmd.Parameters.AddRange(paras); + using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) + { + dt.Load(sdr); + } + return dt; + } + + #endregion 执行带参数的查询SQL语句或存储过程 返回DataTable类型 + + /// + /// 执行SQL语句并返回DataSet + /// + /// SQL语句 + /// + public static DataSet ExecuteDs(String Sqlstr) + { + using (SqlDataAdapter da = new SqlDataAdapter(Sqlstr, GetConn())) + { + DataSet ds = new DataSet(); + da.Fill(ds); + return ds; + } + } + + /// + /// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值) + /// + /// 数据库连接 + /// 存储过程名 + /// 存储过程参数 + /// SqlCommand + private static SqlCommand BuildQueryCommand(SqlConnection connection, string storedProcName, SqlParameter[] parameters) + { + SqlCommand command = new SqlCommand(storedProcName, connection); + command.CommandType = CommandType.StoredProcedure; + foreach (SqlParameter parameter in parameters) + { + if (parameter != null) + { + // 检查未分配值的输出参数,将其分配以DBNull.Value. + if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) && (parameter.Value == null)) + { + parameter.Value = DBNull.Value; + } + command.Parameters.Add(parameter); + } + } + + return command; + } + + /// + /// 执行存储过程 + /// + /// 存储过程名 + /// 存储过程参数 + /// DataSet结果中的表名 + /// DataSet + public static DataSet RunProcedure(string storedProcName, SqlParameter[] parameters, string tableName) + { + using (SqlConnection connection = new SqlConnection(connStr)) + { + DataSet dataSet = new DataSet(); + connection.Open(); + SqlDataAdapter sqlDA = new SqlDataAdapter(); + sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters); + sqlDA.Fill(dataSet, tableName); + connection.Close(); + return dataSet; + } + } + + #region 使用SqlBulkCopy插入测量数据 + + /// + /// 要插入的数据表的结构,与函数内部定义的映射表要一模一样 + /// + /// 要插入的数据表 + public static int InsertMeasureDataToDB(DataTable InsertDT) + { + int iResult = 1; + using (SqlBulkCopy bulkCopy = new SqlBulkCopy(GetConn())) + { + try + { + bulkCopy.DestinationTableName = "TMeasureData";//要插入的表的表明,创造映射关系,比下面的直接写表名称 更加灵活 + bulkCopy.ColumnMappings.Add("CarID", "CarID");//映射字段名 DataTable列名 ,数据库 对应的列名 + bulkCopy.ColumnMappings.Add("CarType", "CarType");//映射字段名 DataTable列名 ,数据库 对应的列名 + bulkCopy.ColumnMappings.Add("MeasPointName", "MeasPointName"); + bulkCopy.ColumnMappings.Add("DimensionName", "DimensionName"); + bulkCopy.ColumnMappings.Add("NormalValue", "NormalValue"); + bulkCopy.ColumnMappings.Add("LowerTolVal", "LowerTolVal"); + bulkCopy.ColumnMappings.Add("UpperTolVal", "UpperTolVal"); + bulkCopy.ColumnMappings.Add("MeasureValue", "MeasureValue"); + bulkCopy.ColumnMappings.Add("MeasureItemResult", "MeasureItemResult"); + bulkCopy.ColumnMappings.Add("MeasureDate", "MeasureDate"); + bulkCopy.ColumnMappings.Add("Remark", "Remark"); + bulkCopy.WriteToServer(InsertDT); + } + catch (Exception ex) + { + MessageBox.Show("批量插入测量数据到数据库失败!原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); + iResult = -1; + } + } + return iResult; + } + + #endregion 使用SqlBulkCopy插入测量数据 + + #region 使用SqlBulkCopy插入批量数据方法 + + /// + /// 要插入的数据表的结构,与函数内部定义的映射表要一模一样 + /// + /// 要插入的数据表 + public static void TWorkpieceListToSQLServer(DataTable InsertDT) + { + using (SqlBulkCopy bulkCopy = new SqlBulkCopy(GetConn())) + { + try + { + bulkCopy.DestinationTableName = "TWorkpieceList";//要插入的表的表明,创造映射关系,比下面的直接写表名称 更加灵活 + bulkCopy.ColumnMappings.Add("WorkpieceID", "WorkpieceID");//映射字段名 DataTable列名 ,数据库 对应的列名 + bulkCopy.ColumnMappings.Add("DrawerID", "DrawerID"); + bulkCopy.ColumnMappings.Add("WorkpieceType", "WorkpieceType"); + bulkCopy.ColumnMappings.Add("TrayType", "TrayType"); + bulkCopy.ColumnMappings.Add("WorkpieceStatus", "WorkpieceStatus"); + bulkCopy.ColumnMappings.Add("WorkpiecePos", "WorkpiecePos"); + bulkCopy.WriteToServer(InsertDT); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + finally + { + // Close the SqlDataReader. The SqlBulkCopy object is automatically closed at + // the end of the using block. + } + } + } + + #endregion 使用SqlBulkCopy插入批量数据方法 + + #region 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 + + /// + /// 使用SqlBulkCopy将DataTable中的数据批量插入数据库中,用此函数,创建的InsertDataTable类型必须跟数据库中的类型,列数一模一样 + /// + /// 数据库中对应的表名 + /// 数据集 + public static void SqlBulkCopyInsert(string strDBTableName, DataTable InsertDataTable) + { + try + { + using (SqlBulkCopy sqlRevdBulkCopy = new SqlBulkCopy(GetConn()))//引用SqlBulkCopy + { + sqlRevdBulkCopy.DestinationTableName = strDBTableName;//数据库中对应的表名 + + sqlRevdBulkCopy.NotifyAfter = InsertDataTable.Rows.Count;//有几行数据 + + sqlRevdBulkCopy.WriteToServer(InsertDataTable);//数据导入数据库 + + sqlRevdBulkCopy.Close();//关闭连接 + } + } + catch (Exception ex) + { + Console.WriteLine("数据库处理出错,SqlBulkCopyInsert,原因:" + ex.Message); + throw (ex); + } + } + + #endregion 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 + } +} \ No newline at end of file diff --git a/Analysis/DAL/TMeasureMSSQLDAL.cs b/Analysis/DAL/TMeasureMSSQLDAL.cs new file mode 100644 index 0000000..b3e7fc7 --- /dev/null +++ b/Analysis/DAL/TMeasureMSSQLDAL.cs @@ -0,0 +1,357 @@ +using NSAnalysis.Model; +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.SqlClient; +using System.Text; + +namespace DAL +{ + public class TMeasureMSSQLDAL + { + #region Select Function + + public int SelectTMeasureResultCount() + { + string strSql = "select COUNT(*) from TMeasureResult"; + DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); + return int.Parse(dt.Rows[0][0].ToString()); + } + + public string SelectNo6MeasureResult() + { + string strSql = "select top 6 CarID from TMeasureResult order by MeasureDate desc"; + DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); + return dt.Rows[5][0].ToString(); + } + + public DataTable SelectNewestTMeasureResult() + { + string strSql = "select top(1) Id,CarID,MeasureDate,Remark from TMeasureResult order by MeasureDate DESC"; + DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); + return dt; + } + + public DataTable SelectTMeasureDataByVIN(string strVIN) + { + string strSql = "select * from TMeasureData where CarID ='" + strVIN + "'"; + DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); + return dt; + } + + public string SelectOneMeasureValueByCondition(string strCarID, string strMeaPointName, string strDimensionName = "G") + { + DataTable dt = new DataTable(); + string strSql = "select MeasureValue from TMeasureData where CarID = '" + strCarID + "' and MeasPointName = '" + strMeaPointName + "' and DimensionName = '" + strDimensionName + "'"; + dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); + if (dt.Rows.Count == 1) + { + return dt.Rows[0][0].ToString(); + } + else + { + return "NoFind"; + } + } + + public bool CheckVINExistInDB(string strVIN) + { + bool bReusult = false; + string strSql = "select Id from TMeasureResult where CarID = '" + strVIN + "'"; + DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); + if (dt.Rows.Count >= 2) + { + bReusult = true; + } + return bReusult; + } + + public string SelectCarTypeByVIN(string strVIN) + { + string strSql = "select CarType from TMeasureResult where CarID = '" + strVIN + "'"; + DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); + if (dt.Rows.Count == 1) + { + return dt.Rows[0][0].ToString(); + } + else + { + return "unknown"; + } + } + + public DataTable SelectMeasureValuebyMeasureNameAndSize(string strMeasureName, string strSizeName, int topCount) + { + string strSql = "select top " + topCount.ToString() + " MeasureValue,NormalValue ,LowerTolVal,UpperTolVal from TMeasureData where MeasPointName='" + strMeasureName + "' and DimensionName='" + strSizeName + "' order by MeasureDate DESC "; + return SQLHelper.ExecuteQuery(strSql, CommandType.Text); + } + + public DataTable SelectAllMeasPointName() + { + string strSql = "select distinct MeasPointName from TMeasureData"; + return SQLHelper.ExecuteQuery(strSql, CommandType.Text); + } + + public DataTable SelectTMeasureDataByCarIDAndTime(string strCarID, string strStartTime, string strEndTime) + { + DataTable dt = new DataTable(); + string strSql = "select CarID, MeasPointName,DimensionName,NormalValue ,LowerTolVal,UpperTolVal,MeasureValue, MeasureDate, MeasureItemResult from TMeasureData where CarID like '%" + strCarID + "%' and MeasureDate >= '" + strStartTime + "' and MeasureDate <= '" + strEndTime + "'"; + dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); + return dt; + } + + public DataTable SelectTMeasureDataByCarIDAndMPN(string strCarID, string strMeaPointName) + { + DataTable dt = new DataTable(); + string strSql = "select MeasPointName,DimensionName,LowerTolVal,UpperTolVal,MeasureValue, MeasureItemResult,Remark from TMeasureData where CarID like '%" + strCarID + "%' and MeasPointName like '%" + strMeaPointName + "%' COLLATE Chinese_PRC_CS_AI_WS "; + dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); + return dt; + } + + public DataTable SelectMeasureItems(string strCarID, string strMeaPointName) + { + DataTable dt = new DataTable(); + string strSql = "select distinct MeasPointName from TMeasureData where CarID like '%" + strCarID + "%' and MeasPointName like '%" + strMeaPointName + "%' COLLATE Chinese_PRC_CS_AI_WS "; + dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); + return dt; + } + + public DataTable SelectAllTMeasureResult() + { + DataTable dt = new DataTable(); + string strSql = "select * from TMeasureResult"; + dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); + return dt; + } + + public DataTable SelectTMeasureResultByTime(string strCarID, string strStartTime, string strEndTime) + { + DataTable dt = new DataTable(); + string strSql = "select CarID,SumMeasureItems,GoodMeasureItems,NoGoodMeasureItems,RejectMeasureItems,FPY,MeasureDate,case Result when 1 then '合格' else '不合格' end as Result from TMeasureResult where CarID like '%" + strCarID + "%' and MeasureDate >= '" + strStartTime + "' and MeasureDate <= '" + strEndTime + "'"; + dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); + return dt; + } + + public DataTable SelectTaskByCondition(string strModelName, string strModelCode, string strStatus) + { + DataTable dt = new DataTable(); + StringBuilder strSql = new StringBuilder(@"SELECT id, modelsName, modelsCode, position, + sourceFile, targetFile, status, create_date, + readType + FROM CJLR.dbo.CJLR_TASK_RELEASE + WHERE is_delete = 1 AND readType = 1 "); // 默认只查询未删除记录 + + List paras = new List(); + + if (!string.IsNullOrEmpty(strModelName)) + { + strSql.Append(" AND modelsName LIKE '%' + @ModelName + '%'"); + paras.Add(new SqlParameter("@ModelName", strModelName)); + } + + if (!string.IsNullOrEmpty(strModelCode)) + { + strSql.Append(" AND modelsCode LIKE '%' + @ModelCode + '%'"); + paras.Add(new SqlParameter("@ModelCode", strModelCode)); + } + + // 状态查询优化 + if (!string.IsNullOrEmpty(strStatus) && strStatus != "all") + { + strSql.Append(" AND status = @Status"); + paras.Add(new SqlParameter("@Status", strStatus)); + } + + // 增加 ORDER BY create_date DESC + strSql.Append(" ORDER BY create_date DESC"); + + dt = SQLHelper.ExecuteQuery(strSql.ToString(), paras.ToArray(), CommandType.Text); + return dt; + } + + public DataTable SelectOneToleranceByCondition(string strCartType, string strMeaPointName, string strDimensionName) + { + DataTable dt = new DataTable(); + string strSql = "select TolLower,TolUpper from TTolerance where CarType = '" + strCartType + "' and MeasurePointName = '" + strMeaPointName + "' and DimensionName = '" + strDimensionName + "'"; + dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); + return dt; + } + + public bool CheckTaskExit(string strModelsName, string strModelsCode, string strReadType) + { + DataTable dt = new DataTable(); + + // 构建 SQL 查询语句 + string strSql = $"SELECT Id FROM CJLR.dbo.CJLR_TASK_RELEASE " + + $"WHERE modelsName = '{strModelsName}' " + + $"AND modelsCode = '{strModelsCode}' " + + $"AND readType = {(strReadType)}"; + + // 执行查询 + dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text); + + // 检查结果 + return dt.Rows.Count > 0; // 任务存在返回 true,否则返回 false + } + + #endregion + + #region Insert Function + + // 插入分发配置 + + public int InsertTask(CjlrTaskReleaseModel model) + { + const string strSql = @"INSERT INTO CJLR.dbo.CJLR_TASK_RELEASE + (modelsName, modelsCode, position, sourceFile, targetFile, + status, create_date, is_delete, readType) + VALUES + (@modelsName, @modelsCode, @position, @sourceFile, @targetFile, + @status, @create_date, @is_delete, @readType); + SELECT SCOPE_IDENTITY();"; + + SqlParameter[] parameters = new SqlParameter[] + { + new SqlParameter("@modelsName", model.ModelsName ?? (object)DBNull.Value), + new SqlParameter("@modelsCode", model.ModelsCode ?? (object)DBNull.Value), + new SqlParameter("@position", model.Position ?? (object)DBNull.Value), + new SqlParameter("@sourceFile", model.SourceFile ?? (object)DBNull.Value), + new SqlParameter("@targetFile", model.TargetFile ?? (object)DBNull.Value), + new SqlParameter("@status", model.Status ?? (object)DBNull.Value), + new SqlParameter("@create_date", model.CreateDate == default ? + DateTime.Now : model.CreateDate), + new SqlParameter("@is_delete", model.IsDelete), + new SqlParameter("@readType", model.ReadType) + }; + + object result = SQLHelper.ExecuteNonQuery(strSql, parameters, CommandType.Text); + return Convert.ToInt32(result); + } + + // 插入分发详细记录 + public int InsertModel(CjlrTaskReleaseModel model) + { + string strSql = "INSERT INTO CJLR_TASK_RELEASE_DETAIL " + + "(modelsName, modelsCode, position, sourceFile, targetFile, status, createDate, isDelete, readType) " + + "VALUES (@modelsName, @modelsCode, @position, @sourceFile, @targetFile, @status, @createDate, @isDelete, @readType)"; + + SqlParameter[] paras = new SqlParameter[] + { + new SqlParameter("@modelsName", model.ModelsName ?? (object)DBNull.Value), + new SqlParameter("@modelsCode", model.ModelsCode ?? (object)DBNull.Value), + new SqlParameter("@position", model.Position ?? (object)DBNull.Value), + new SqlParameter("@sourceFile", model.SourceFile ?? (object)DBNull.Value), + new SqlParameter("@targetFile", model.TargetFile ?? (object)DBNull.Value), + new SqlParameter("@status", model.Status ?? (object)DBNull.Value), + new SqlParameter("@createDate", model.CreateDate == default ? + DateTime.Parse("2024-01-31 14:37:00") : model.CreateDate), + new SqlParameter("@isDelete", model.IsDelete), + new SqlParameter("@readType", model.ReadType) + }; + + return SQLHelper.ExecuteNonQuery(strSql, paras, CommandType.Text); + } + + //public int InsertTMeasureResult(TMeasureResultModel tmrm) + //{ + // string strSql = "insert into TMeasureResult (CarID,CarType,SumMeasureItems,GoodMeasureItems,NoGoodMeasureItems,RejectMeasureItems,FPY,MeasureDate,Result,Remark) values " + + // "(@CarID,@CarType,@SumMeasureItems,@GoodMeasureItems,@NoGoodMeasureItems,@RejectMeasureItems,@FPY,@MeasureDate,@Result,@Remark)"; + // SqlParameter[] paras = new SqlParameter[] + // { + // new SqlParameter("@CarID",tmrm.CarID), + // new SqlParameter("@CarType",tmrm.CarType), + // new SqlParameter("@SumMeasureItems",tmrm.SumMeasureItems), + // new SqlParameter("@GoodMeasureItems",tmrm.GoodMeasureItems), + // new SqlParameter("@NoGoodMeasureItems",tmrm.NoGoodMeasureItems), + // new SqlParameter("@RejectMeasureItems",tmrm.RejectMeasureItems), + // new SqlParameter("@FPY",tmrm.FPY), + // new SqlParameter("@MeasureDate",tmrm.MeasureDate), + // new SqlParameter("@Result",tmrm.Result), + // new SqlParameter("@Remark",tmrm.Remark), + // }; + // return SQLHelper.ExecuteNonQuery(strSql, paras, CommandType.Text); + //} + + public int InsertTMeasureDatabyDataTable(DataTable dt) + { + return SQLHelper.InsertMeasureDataToDB(dt); + } + + #endregion + + #region Update Function + + // 更新分发配置 + public int UpdateTaskRelease(CjlrTaskReleaseModel cjlrTaskRelease) + { + string strSql = @" + UPDATE CJLR.dbo.CJLR_TASK_RELEASE + SET + ModelsName = @ModelsName, + ModelsCode = @ModelsCode, + Position = @Position, + SourceFile = @SourceFile, + TargetFile = @TargetFile, + Status = @Status, + create_date = @create_date, + is_delete = @is_delete, + readType = @readType + WHERE + Id = @Id;"; + + SqlParameter[] paras = new SqlParameter[] + { + new SqlParameter("@ModelsName", cjlrTaskRelease.ModelsName ?? (object)DBNull.Value), + new SqlParameter("@ModelsCode", cjlrTaskRelease.ModelsCode ?? (object)DBNull.Value), + new SqlParameter("@position", cjlrTaskRelease.Position ?? (object)DBNull.Value), + new SqlParameter("@sourceFile", cjlrTaskRelease.SourceFile ?? (object)DBNull.Value), + new SqlParameter("@targetFile", cjlrTaskRelease.TargetFile ?? (object)DBNull.Value), + new SqlParameter("@status", cjlrTaskRelease.Status ?? (object)DBNull.Value), + new SqlParameter("@create_date", cjlrTaskRelease.CreateDate), + new SqlParameter("@is_delete", cjlrTaskRelease.IsDelete), + new SqlParameter("@readType", cjlrTaskRelease.ReadType), + new SqlParameter("@id", cjlrTaskRelease.Id) + }; + + return SQLHelper.ExecuteNonQuery(strSql, paras, CommandType.Text); + } + + // 更新的方式标记删除 + public int UpdateIsDelete(string modelsName, string modelsCode) + { + // SQL 更新语句 + string strOle = "UPDATE CJLR_TASK_RELEASE SET is_delete = 0 WHERE modelsName = @modelsName AND modelsCode = @modelsCode"; + + // 创建参数 + SqlParameter[] parameters = new SqlParameter[] + { + new SqlParameter("@modelsName", modelsName), + new SqlParameter("@modelsCode", modelsCode) + }; + + // 执行更新操作 + return SQLHelper.ExecuteNonQuery(strOle, parameters, CommandType.Text); + } + + #endregion + + #region Delete Function + + public int DeleteOneTolerance(string modelsCode) + { + // 使用参数化查询以防止 SQL 注入 + string strOle = "DELETE FROM CJLR_TASK_RELEASE WHERE modelsCode = @modelsCode"; + + // 创建一个 SqlParameter 来替代直接拼接字符串 + SqlParameter[] parameters = new SqlParameter[] + { + new SqlParameter("@modelsCode", modelsCode), + }; + + // 执行非查询操作 + return SQLHelper.ExecuteNonQuery(strOle, parameters, CommandType.Text); + } + + #endregion + } +} \ No newline at end of file diff --git a/Analysis/Define/Define.cs b/Analysis/Define/Define.cs index 547bfbd..ec4066a 100644 --- a/Analysis/Define/Define.cs +++ b/Analysis/Define/Define.cs @@ -200,7 +200,7 @@ namespace NSAnalysis if (File.Exists(strConfigFile)) { LoadConfig(); - + DatabaseDfn.LoadConfig(); MyBase.TraceWriteLine("加载配置文件——>完成"); } diff --git a/Analysis/FormMain.cs b/Analysis/FormMain.cs index 1636d4b..892893b 100644 --- a/Analysis/FormMain.cs +++ b/Analysis/FormMain.cs @@ -586,7 +586,6 @@ namespace NSAnalysis if (iCurrentMeasureItemsFailedCount >= ConfigDfn.iFailedCarCount) { MyBase.TraceWriteLine("iCurrentMeasureItemsFailedCount=" + iCurrentMeasureItemsFailedCount.ToString() + "超过报警数量" + ConfigDfn.iFailedCarCount.ToString() + " ;给PLC发送报警10。"); - } // 单个报告内 invalued 项超过某个值 @@ -613,7 +612,6 @@ namespace NSAnalysis labResult.ForeColor = Color.LimeGreen; pbResult.Image = Resources.OK; //tmrm.Result = 1; - } else if (FPYPercent >= ConfigDfn.dFPY2 && FPYPercent < ConfigDfn.dFPY) { @@ -623,7 +621,6 @@ namespace NSAnalysis labResult.ForeColor = Color.Yellow; pbResult.Image = Resources.OK; //tmrm.Result = 1; - } else { @@ -633,7 +630,6 @@ namespace NSAnalysis labResult.ForeColor = Color.Red; pbResult.Image = Resources.NG; //tmrm.Result = 2; - } xValues[0] = "合格 : " + OKCount.ToString(); xValues[1] = "不合格 : " + OutCount.ToString(); @@ -1438,8 +1434,6 @@ namespace NSAnalysis } } - - private void lpcAboutSoftware_Click(object sender, EventArgs e) { AboutSoftwareInfo asi = new AboutSoftwareInfo(); diff --git a/Analysis/Model/CjlrTaskReleaseDetailModel.cs b/Analysis/Model/CjlrTaskReleaseDetailModel.cs new file mode 100644 index 0000000..b148190 --- /dev/null +++ b/Analysis/Model/CjlrTaskReleaseDetailModel.cs @@ -0,0 +1,135 @@ +/* + ###CSharp Code Generate### + CJLR_TASK_RELEASE_DETAIL + Create by User(EMAIL) 2025/8/4 13:34:37 + +CJLR_TASK_RELEASE_DETAIL +---------------------------- +id PKInteger(10) //<<类名:int,自增长>> +modelsName String(50) //<<类名:nvarchar>> +modelsCode String(50) //<<类名:nvarchar>> +position String(50) //<<类名:nvarchar>> +sourceFile String(255) //<<类名:nvarchar>> +targetFile String(255) //<<类名:nvarchar>> +taskFileName String(50) //<<类名:nvarchar>> +taskStatus Integer(10) //<<类名:int>> +taskDetail String(200) //<<类名:nvarchar>> +createDate Date //<<类名:datetime>> + +*/ + +using System; + +namespace NSAnalysis +{ + public class CjlrTaskReleaseDetailModel + { + protected int id; + protected string modelsName; + protected string modelsCode; + protected string position; + protected string sourceFile; + protected string targetFile; + protected string taskFileName; + protected int taskStatus; + protected string taskDetail; + protected DateTime createDate; + + public CjlrTaskReleaseDetailModel() + { + } + + public int Id + { + get { return id; } + set { id = value; } + } + + public string ModelsName + { + get { return modelsName; } + set { modelsName = value; } + } + + public string ModelsCode + { + get { return modelsCode; } + set { modelsCode = value; } + } + + public string Position + { + get { return position; } + set { position = value; } + } + + public string SourceFile + { + get { return sourceFile; } + set { sourceFile = value; } + } + + public string TargetFile + { + get { return targetFile; } + set { targetFile = value; } + } + + public string TaskFileName + { + get { return taskFileName; } + set { taskFileName = value; } + } + + public int TaskStatus + { + get { return taskStatus; } + set { taskStatus = value; } + } + + public string TaskDetail + { + get { return taskDetail; } + set { taskDetail = value; } + } + + public DateTime CreateDate + { + get { return createDate; } + set { createDate = value; } + } + + public void Reset() + { + id = 0; + modelsName = null; + modelsCode = null; + position = null; + sourceFile = null; + targetFile = null; + taskFileName = null; + taskStatus = 0; + taskDetail = null; + createDate = DateTime.Parse("2023-01-01 00:00:00"); + } + + public void AssignFrom(CjlrTaskReleaseDetailModel AObj) + { + if (AObj == null) + { + Reset(); + return; + } + id = AObj.id; + modelsName = AObj.modelsName; + modelsCode = AObj.modelsCode; + position = AObj.position; + sourceFile = AObj.sourceFile; + targetFile = AObj.targetFile; + taskFileName = AObj.taskFileName; + taskStatus = AObj.taskStatus; + taskDetail = AObj.taskDetail; + createDate = AObj.createDate; + } + } +} \ No newline at end of file diff --git a/Analysis/Model/CjlrTaskReleaseModel.cs b/Analysis/Model/CjlrTaskReleaseModel.cs new file mode 100644 index 0000000..63db8de --- /dev/null +++ b/Analysis/Model/CjlrTaskReleaseModel.cs @@ -0,0 +1,134 @@ +/* +###CSharp Code Generate### +CJLR_TASK_RELEASE +Create by User(EMAIL) 2025/8/4 13:34:37 + +CJLR_TASK_RELEASE +--------------------------- +id PKInteger(10) //<<类名:int,自增长>> +modelsName String(50) //<<类名:nvarchar>> +modelsCode String(10) //<<类名:nvarchar>> +position String(10) //<<类名:nvarchar>> +sourceFile String(255) //<<类名:nvarchar>> +targetFile String(50) //<<类名:nvarchar>> +status String(50) //<<类名:nvarchar>> +create_date Date //<<类名:smalldatetime>> +is_delete Integer(10) //<<类名:int>> 1 表示存在, 0 表示删除 +readType Integer(10) //<<类名:int>> 1 表示文件内容, 2 表示文件名称 +*/ + +using System; + +namespace NSAnalysis.Model +{ + public class CjlrTaskReleaseModel + { + protected int id; + protected string modelsName; + protected string modelsCode; + protected string position; + protected string sourceFile; + protected string targetFile; + protected string status; + protected DateTime createDate; + protected int isDelete; + protected int readType; + + public CjlrTaskReleaseModel() + { + } + + public int Id + { + get { return id; } + set { id = value; } + } + + public string ModelsName + { + get { return modelsName; } + set { modelsName = value; } + } + + public string ModelsCode + { + get { return modelsCode; } + set { modelsCode = value; } + } + + public string Position + { + get { return position; } + set { position = value; } + } + + public string SourceFile + { + get { return sourceFile; } + set { sourceFile = value; } + } + + public string TargetFile + { + get { return targetFile; } + set { targetFile = value; } + } + + public string Status + { + get { return status; } + set { status = value; } + } + + public DateTime CreateDate + { + get { return createDate; } + set { createDate = value; } + } + + public int IsDelete + { + get { return isDelete; } + set { isDelete = value; } + } + + public int ReadType + { + get { return readType; } + set { readType = value; } + } + + public void Reset() + { + id = 0; + modelsName = null; + modelsCode = null; + position = null; + sourceFile = null; + targetFile = null; + status = null; + createDate = DateTime.Parse("2023-01-01 00:00:00"); + isDelete = 0; + readType = 0; + } + + public void AssignFrom(CjlrTaskReleaseModel AObj) + { + if (AObj == null) + { + Reset(); + return; + } + id = AObj.id; + modelsName = AObj.modelsName; + modelsCode = AObj.modelsCode; + position = AObj.position; + sourceFile = AObj.sourceFile; + targetFile = AObj.targetFile; + status = AObj.status; + createDate = AObj.createDate; + isDelete = AObj.isDelete; + readType = AObj.readType; + } + } +} \ No newline at end of file diff --git a/Analysis/NXSAnalysis.csproj b/Analysis/NXSAnalysis.csproj new file mode 100644 index 0000000..7764831 --- /dev/null +++ b/Analysis/NXSAnalysis.csproj @@ -0,0 +1,302 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {7C83975D-A071-48E0-8A12-DAFD20525B66} + WinExe + Properties + NSAnalysis + NSAnalysis + v4.8 + 512 + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + x64 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\x64\Debug\ + DEBUG;TRACE + full + x64 + prompt + MinimumRecommendedRules.ruleset + true + + + bin\x64\Release\ + TRACE + true + pdbonly + x64 + prompt + MinimumRecommendedRules.ruleset + true + + + HexagonTransparent.ico + + + + False + bin\x64\Debug\Covert.dll + + + ..\DAL\bin\Debug\DAL.dll + + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + + ..\packages\NLog.5.3.3\lib\net46\NLog.dll + + + + + + + + + + + + + + + + + ..\lib\RCWF\2018.3.1016.40\Telerik.WinControls.dll + True + + + + ..\lib\RCWF\2018.3.1016.40\Telerik.WinControls.UI.dll + True + + + ..\lib\RCWF\2018.3.1016.40\TelerikCommon.dll + True + + + + + Form + + + AboutSoftwareInfo.cs + + + + + + + + + Form + + + FormMain.cs + + + + UserControl + + + LabPictureControl.cs + + + + + + + Form + + + FAddTolerance.cs + + + Form + + + FEditTolerance.cs + + + Form + + + FSoftwareSetup.cs + + + Form + + + FToleranceSetup.cs + + + Form + + + ZSFDEMO.cs + + + AboutSoftwareInfo.cs + + + FormMain.cs + + + LabPictureControl.cs + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + FAddTolerance.cs + + + FEditTolerance.cs + + + FSoftwareSetup.cs + + + FToleranceSetup.cs + + + ZSFDEMO.cs + + + Always + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + Microsoft .NET Framework 4.7 %28x86 和 x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + + \ No newline at end of file diff --git a/Analysis/NXSAnalysis.csproj.user b/Analysis/NXSAnalysis.csproj.user new file mode 100644 index 0000000..95a1d1a --- /dev/null +++ b/Analysis/NXSAnalysis.csproj.user @@ -0,0 +1,13 @@ + + + + publish\ + + + + + + zh-CN + false + + \ No newline at end of file diff --git a/Analysis/Tolerance/FAddTolerance.cs b/Analysis/Tolerance/FAddTolerance.cs index e5c3d78..648955c 100644 --- a/Analysis/Tolerance/FAddTolerance.cs +++ b/Analysis/Tolerance/FAddTolerance.cs @@ -114,7 +114,7 @@ namespace NSAnalysis strPosition = "L"; // 右侧 } - if(strStatus.Equals("启动")) + if (strStatus.Equals("启动")) { strStatus = "start"; // 启动 } @@ -124,7 +124,7 @@ namespace NSAnalysis } //添加分发配置 - CJLR_TASK_RELEASE cJLR_TASK_RELEASE = new CJLR_TASK_RELEASE(); + CjlrTaskReleaseModel cJLR_TASK_RELEASE = new CjlrTaskReleaseModel(); cJLR_TASK_RELEASE.ModelsName = strCarName; cJLR_TASK_RELEASE.ModelsCode = strCarType; cJLR_TASK_RELEASE.Position = strPosition; diff --git a/Analysis/Tolerance/FAddTolerance.designer.cs b/Analysis/Tolerance/FAddTolerance.designer.cs index ea9da4a..0a15a94 100644 --- a/Analysis/Tolerance/FAddTolerance.designer.cs +++ b/Analysis/Tolerance/FAddTolerance.designer.cs @@ -29,11 +29,11 @@ private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FAddTolerance)); - Telerik.WinControls.UI.RadListDataItem radListDataItem1 = new Telerik.WinControls.UI.RadListDataItem(); - Telerik.WinControls.UI.RadListDataItem radListDataItem2 = new Telerik.WinControls.UI.RadListDataItem(); - Telerik.WinControls.UI.RadListDataItem radListDataItem3 = new Telerik.WinControls.UI.RadListDataItem(); Telerik.WinControls.UI.RadListDataItem radListDataItem4 = new Telerik.WinControls.UI.RadListDataItem(); Telerik.WinControls.UI.RadListDataItem radListDataItem5 = new Telerik.WinControls.UI.RadListDataItem(); + Telerik.WinControls.UI.RadListDataItem radListDataItem6 = new Telerik.WinControls.UI.RadListDataItem(); + Telerik.WinControls.UI.RadListDataItem radListDataItem7 = new Telerik.WinControls.UI.RadListDataItem(); + Telerik.WinControls.UI.RadListDataItem radListDataItem1 = new Telerik.WinControls.UI.RadListDataItem(); this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar(); this.label2 = new System.Windows.Forms.Label(); this.labTitle = new System.Windows.Forms.Label(); @@ -97,7 +97,7 @@ // this.radTitleBar1.RootElement.ApplyShapeToControl = true; this.radTitleBar1.RootElement.BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); - this.radTitleBar1.Size = new System.Drawing.Size(631, 40); + this.radTitleBar1.Size = new System.Drawing.Size(739, 40); this.radTitleBar1.TabIndex = 0; this.radTitleBar1.TabStop = false; this.radTitleBar1.Text = "添加公差带"; @@ -122,7 +122,7 @@ this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top; this.label2.AutoSize = true; this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image"))); - this.label2.Location = new System.Drawing.Point(246, -5); + this.label2.Location = new System.Drawing.Point(300, -5); this.label2.Name = "label2"; this.label2.Padding = new System.Windows.Forms.Padding(23, 15, 23, 15); this.label2.Size = new System.Drawing.Size(46, 52); @@ -134,7 +134,7 @@ this.labTitle.AutoSize = true; this.labTitle.Font = new System.Drawing.Font("微软雅黑", 14F); this.labTitle.ForeColor = System.Drawing.Color.White; - this.labTitle.Location = new System.Drawing.Point(288, 8); + this.labTitle.Location = new System.Drawing.Point(342, 8); this.labTitle.Name = "labTitle"; this.labTitle.Size = new System.Drawing.Size(88, 25); this.labTitle.TabIndex = 0; @@ -146,7 +146,7 @@ this.rbtnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.rbtnCancel.Font = new System.Drawing.Font("微软雅黑", 11F); this.rbtnCancel.ForeColor = System.Drawing.Color.White; - this.rbtnCancel.Location = new System.Drawing.Point(524, 374); + this.rbtnCancel.Location = new System.Drawing.Point(606, 465); this.rbtnCancel.Name = "rbtnCancel"; this.rbtnCancel.Size = new System.Drawing.Size(85, 30); this.rbtnCancel.TabIndex = 10; @@ -164,7 +164,7 @@ this.rbtnOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.rbtnOK.Font = new System.Drawing.Font("微软雅黑", 11F); this.rbtnOK.ForeColor = System.Drawing.Color.White; - this.rbtnOK.Location = new System.Drawing.Point(396, 374); + this.rbtnOK.Location = new System.Drawing.Point(478, 465); this.rbtnOK.Name = "rbtnOK"; this.rbtnOK.Size = new System.Drawing.Size(85, 30); this.rbtnOK.TabIndex = 9; @@ -185,7 +185,7 @@ this.btn_targetFile.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.btn_targetFile.Font = new System.Drawing.Font("微软雅黑", 11F); this.btn_targetFile.ForeColor = System.Drawing.Color.White; - this.btn_targetFile.Location = new System.Drawing.Point(383, 184); + this.btn_targetFile.Location = new System.Drawing.Point(504, 204); this.btn_targetFile.Name = "btn_targetFile"; this.btn_targetFile.Size = new System.Drawing.Size(50, 30); this.btn_targetFile.TabIndex = 72; @@ -201,7 +201,7 @@ this.btn_sourceFile.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.btn_sourceFile.Font = new System.Drawing.Font("微软雅黑", 11F); this.btn_sourceFile.ForeColor = System.Drawing.Color.White; - this.btn_sourceFile.Location = new System.Drawing.Point(383, 144); + this.btn_sourceFile.Location = new System.Drawing.Point(504, 164); this.btn_sourceFile.Name = "btn_sourceFile"; this.btn_sourceFile.Size = new System.Drawing.Size(50, 30); this.btn_sourceFile.TabIndex = 71; @@ -215,7 +215,7 @@ // this.label9.AutoSize = true; this.label9.Font = new System.Drawing.Font("微软雅黑", 11F); - this.label9.Location = new System.Drawing.Point(451, 183); + this.label9.Location = new System.Drawing.Point(563, 205); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(106, 20); this.label9.TabIndex = 70; @@ -225,7 +225,7 @@ // this.label8.AutoSize = true; this.label8.Font = new System.Drawing.Font("微软雅黑", 11F); - this.label8.Location = new System.Drawing.Point(451, 147); + this.label8.Location = new System.Drawing.Point(563, 169); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(58, 20); this.label8.TabIndex = 69; @@ -235,7 +235,7 @@ // this.label7.AutoSize = true; this.label7.Font = new System.Drawing.Font("微软雅黑", 11F); - this.label7.Location = new System.Drawing.Point(451, 109); + this.label7.Location = new System.Drawing.Point(563, 122); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(76, 20); this.label7.TabIndex = 68; @@ -245,7 +245,7 @@ // this.label6.AutoSize = true; this.label6.Font = new System.Drawing.Font("微软雅黑", 11F); - this.label6.Location = new System.Drawing.Point(451, 67); + this.label6.Location = new System.Drawing.Point(560, 75); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(166, 20); this.label6.TabIndex = 67; @@ -257,17 +257,17 @@ this.rddl_Status.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); this.rddl_Status.DropDownHeight = 50; this.rddl_Status.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; - this.rddl_Status.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rddl_Status.Font = new System.Drawing.Font("微软雅黑", 11F); this.rddl_Status.ForeColor = System.Drawing.Color.White; - radListDataItem1.Tag = "start"; - radListDataItem1.Text = "启动"; - radListDataItem2.Tag = "stop"; - radListDataItem2.Text = "暂停"; - this.rddl_Status.Items.Add(radListDataItem1); - this.rddl_Status.Items.Add(radListDataItem2); - this.rddl_Status.Location = new System.Drawing.Point(194, 305); + radListDataItem4.Tag = "start"; + radListDataItem4.Text = "启动"; + radListDataItem5.Tag = "stop"; + radListDataItem5.Text = "暂停"; + this.rddl_Status.Items.Add(radListDataItem4); + this.rddl_Status.Items.Add(radListDataItem5); + this.rddl_Status.Location = new System.Drawing.Point(170, 352); this.rddl_Status.Name = "rddl_Status"; - this.rddl_Status.Size = new System.Drawing.Size(239, 23); + this.rddl_Status.Size = new System.Drawing.Size(384, 25); this.rddl_Status.TabIndex = 66; ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_Status.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Status.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); @@ -280,7 +280,7 @@ this.radLabel6.AutoSize = false; this.radLabel6.Font = new System.Drawing.Font("微软雅黑", 11F); this.radLabel6.ForeColor = System.Drawing.Color.White; - this.radLabel6.Location = new System.Drawing.Point(40, 304); + this.radLabel6.Location = new System.Drawing.Point(17, 352); this.radLabel6.Name = "radLabel6"; this.radLabel6.Size = new System.Drawing.Size(147, 23); this.radLabel6.TabIndex = 65; @@ -293,17 +293,17 @@ this.rddl_Position.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); this.rddl_Position.DropDownHeight = 50; this.rddl_Position.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; - this.rddl_Position.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rddl_Position.Font = new System.Drawing.Font("微软雅黑", 11F); this.rddl_Position.ForeColor = System.Drawing.Color.White; - radListDataItem3.Tag = "L"; - radListDataItem3.Text = "左侧"; - radListDataItem4.Tag = "R"; - radListDataItem4.Text = "右侧"; - this.rddl_Position.Items.Add(radListDataItem3); - this.rddl_Position.Items.Add(radListDataItem4); - this.rddl_Position.Location = new System.Drawing.Point(194, 265); + radListDataItem6.Tag = "L"; + radListDataItem6.Text = "左侧"; + radListDataItem7.Tag = "R"; + radListDataItem7.Text = "右侧"; + this.rddl_Position.Items.Add(radListDataItem6); + this.rddl_Position.Items.Add(radListDataItem7); + this.rddl_Position.Location = new System.Drawing.Point(170, 305); this.rddl_Position.Name = "rddl_Position"; - this.rddl_Position.Size = new System.Drawing.Size(239, 23); + this.rddl_Position.Size = new System.Drawing.Size(384, 25); this.rddl_Position.TabIndex = 64; ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_Position.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Position.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); @@ -316,7 +316,7 @@ this.radLabel1.AutoSize = false; this.radLabel1.Font = new System.Drawing.Font("微软雅黑", 11F); this.radLabel1.ForeColor = System.Drawing.Color.White; - this.radLabel1.Location = new System.Drawing.Point(40, 265); + this.radLabel1.Location = new System.Drawing.Point(17, 305); this.radLabel1.Name = "radLabel1"; this.radLabel1.Size = new System.Drawing.Size(147, 23); this.radLabel1.TabIndex = 63; @@ -329,14 +329,14 @@ this.rddl_ReadType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); this.rddl_ReadType.DropDownHeight = 50; this.rddl_ReadType.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; - this.rddl_ReadType.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rddl_ReadType.Font = new System.Drawing.Font("微软雅黑", 11F); this.rddl_ReadType.ForeColor = System.Drawing.Color.White; - radListDataItem5.Tag = "2"; - radListDataItem5.Text = "文件内容"; - this.rddl_ReadType.Items.Add(radListDataItem5); - this.rddl_ReadType.Location = new System.Drawing.Point(194, 221); + radListDataItem1.Tag = "2"; + radListDataItem1.Text = "文件内容"; + this.rddl_ReadType.Items.Add(radListDataItem1); + this.rddl_ReadType.Location = new System.Drawing.Point(170, 258); this.rddl_ReadType.Name = "rddl_ReadType"; - this.rddl_ReadType.Size = new System.Drawing.Size(239, 23); + this.rddl_ReadType.Size = new System.Drawing.Size(384, 25); this.rddl_ReadType.TabIndex = 62; ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_ReadType.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_ReadType.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); @@ -348,38 +348,40 @@ // this.rtb_sourceFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.rtb_sourceFilePath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtb_sourceFilePath.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtb_sourceFilePath.Font = new System.Drawing.Font("微软雅黑", 11F); this.rtb_sourceFilePath.ForeColor = System.Drawing.Color.White; - this.rtb_sourceFilePath.Location = new System.Drawing.Point(194, 147); + this.rtb_sourceFilePath.Location = new System.Drawing.Point(170, 164); this.rtb_sourceFilePath.Name = "rtb_sourceFilePath"; - this.rtb_sourceFilePath.Size = new System.Drawing.Size(173, 23); + this.rtb_sourceFilePath.Size = new System.Drawing.Size(317, 25); this.rtb_sourceFilePath.TabIndex = 55; ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_sourceFilePath.GetChildAt(0))).Text = ""; + ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_sourceFilePath.GetChildAt(0))).StretchVertically = false; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtb_sourceFilePath.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); // // rtb_targetFilePath // this.rtb_targetFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.rtb_targetFilePath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtb_targetFilePath.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtb_targetFilePath.Font = new System.Drawing.Font("微软雅黑", 11F); this.rtb_targetFilePath.ForeColor = System.Drawing.Color.White; - this.rtb_targetFilePath.Location = new System.Drawing.Point(194, 184); + this.rtb_targetFilePath.Location = new System.Drawing.Point(170, 211); this.rtb_targetFilePath.MaxLength = 15; this.rtb_targetFilePath.Name = "rtb_targetFilePath"; - this.rtb_targetFilePath.Size = new System.Drawing.Size(173, 23); + this.rtb_targetFilePath.Size = new System.Drawing.Size(317, 25); this.rtb_targetFilePath.TabIndex = 56; ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_targetFilePath.GetChildAt(0))).Text = ""; + ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_targetFilePath.GetChildAt(0))).StretchVertically = false; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtb_targetFilePath.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); // // rtbCarType // this.rtbCarType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.rtbCarType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 11F); this.rtbCarType.ForeColor = System.Drawing.Color.White; - this.rtbCarType.Location = new System.Drawing.Point(194, 108); + this.rtbCarType.Location = new System.Drawing.Point(170, 117); this.rtbCarType.Name = "rtbCarType"; - this.rtbCarType.Size = new System.Drawing.Size(239, 23); + this.rtbCarType.Size = new System.Drawing.Size(384, 25); this.rtbCarType.TabIndex = 54; ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarType.GetChildAt(0))).Text = ""; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarType.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); @@ -388,11 +390,11 @@ // this.rtbCarName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.rtbCarName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbCarName.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtbCarName.Font = new System.Drawing.Font("微软雅黑", 11F); this.rtbCarName.ForeColor = System.Drawing.Color.White; - this.rtbCarName.Location = new System.Drawing.Point(194, 67); + this.rtbCarName.Location = new System.Drawing.Point(170, 70); this.rtbCarName.Name = "rtbCarName"; - this.rtbCarName.Size = new System.Drawing.Size(239, 23); + this.rtbCarName.Size = new System.Drawing.Size(384, 25); this.rtbCarName.TabIndex = 53; ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarName.GetChildAt(0))).Text = ""; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); @@ -402,7 +404,7 @@ this.radLabel7.AutoSize = false; this.radLabel7.Font = new System.Drawing.Font("微软雅黑", 11F); this.radLabel7.ForeColor = System.Drawing.Color.White; - this.radLabel7.Location = new System.Drawing.Point(35, 187); + this.radLabel7.Location = new System.Drawing.Point(12, 211); this.radLabel7.Name = "radLabel7"; this.radLabel7.Size = new System.Drawing.Size(152, 23); this.radLabel7.TabIndex = 61; @@ -414,7 +416,7 @@ this.radLabel3.AutoSize = false; this.radLabel3.Font = new System.Drawing.Font("微软雅黑", 11F); this.radLabel3.ForeColor = System.Drawing.Color.White; - this.radLabel3.Location = new System.Drawing.Point(40, 148); + this.radLabel3.Location = new System.Drawing.Point(17, 164); this.radLabel3.Name = "radLabel3"; this.radLabel3.Size = new System.Drawing.Size(147, 23); this.radLabel3.TabIndex = 60; @@ -426,7 +428,7 @@ this.radLabel4.AutoSize = false; this.radLabel4.Font = new System.Drawing.Font("微软雅黑", 11F); this.radLabel4.ForeColor = System.Drawing.Color.White; - this.radLabel4.Location = new System.Drawing.Point(40, 226); + this.radLabel4.Location = new System.Drawing.Point(17, 258); this.radLabel4.Name = "radLabel4"; this.radLabel4.Size = new System.Drawing.Size(147, 23); this.radLabel4.TabIndex = 59; @@ -438,7 +440,7 @@ this.radLabel2.AutoSize = false; this.radLabel2.Font = new System.Drawing.Font("微软雅黑", 11F); this.radLabel2.ForeColor = System.Drawing.Color.White; - this.radLabel2.Location = new System.Drawing.Point(40, 109); + this.radLabel2.Location = new System.Drawing.Point(17, 117); this.radLabel2.Name = "radLabel2"; this.radLabel2.Size = new System.Drawing.Size(147, 23); this.radLabel2.TabIndex = 58; @@ -450,7 +452,7 @@ this.radLabel5.AutoSize = false; this.radLabel5.Font = new System.Drawing.Font("微软雅黑", 11F); this.radLabel5.ForeColor = System.Drawing.Color.White; - this.radLabel5.Location = new System.Drawing.Point(40, 70); + this.radLabel5.Location = new System.Drawing.Point(17, 70); this.radLabel5.Name = "radLabel5"; this.radLabel5.Size = new System.Drawing.Size(147, 23); this.radLabel5.TabIndex = 57; @@ -465,7 +467,7 @@ this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); this.BorderWidth = 0; - this.ClientSize = new System.Drawing.Size(633, 426); + this.ClientSize = new System.Drawing.Size(741, 556); this.Controls.Add(this.btn_targetFile); this.Controls.Add(this.btn_sourceFile); this.Controls.Add(this.label9); diff --git a/Analysis/Tolerance/FEditTolerance.cs b/Analysis/Tolerance/FEditTolerance.cs index 3f74a49..e13ee3c 100644 --- a/Analysis/Tolerance/FEditTolerance.cs +++ b/Analysis/Tolerance/FEditTolerance.cs @@ -1,4 +1,5 @@ using DAL; +using NSAnalysis.Model; using System; using System.Drawing; using System.Windows.Forms; @@ -32,95 +33,141 @@ namespace NSAnalysis #endregion 鼠标事件 - - public FEditTolerance(FToleranceSetup fts) { InitializeComponent(); - + gFTS = fts; } private void FEditTolerance_Load(object sender, EventArgs e) { - - rtbCarName.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["modelsName"].Value.ToString(); + rtbCarName.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["modelsName"].Value.ToString(); rtbCarType.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["modelsCode"].Value.ToString(); rtb_sourceFilePath.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["sourceFile"].Value.ToString(); rtb_targetFilePath.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["targetFile"].Value.ToString(); - rddl_ReadType.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["readType"].Value.ToString(); - rddl_Position.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["position"].Value.ToString(); - rddl_Status.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["status"].Value.ToString(); + string strReadTyple = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["readType"].Value.ToString(); + + if (strReadTyple.Equals("1")) + { + rddl_ReadType.Text = "文件内容"; + } + else + { + rddl_ReadType.SelectedIndex = -1; // 未匹配到,设置为无选中项 + } + + string strPosition = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["position"].Value.ToString(); + + if (strPosition.Equals("L")) + { + rddl_Position.Text = "左侧"; + } + else if (strPosition.Equals("R")) + { + rddl_Position.Text = "右侧"; + } + else + { + rddl_Position.SelectedIndex = -1; // 未匹配到,设置为无选中项 + } + string strStatus = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["status"].Value.ToString(); + + if (strStatus.Equals("start")) + { + rddl_Status.Text = "启动"; + } + else if (strStatus.Equals("stop")) + { + rddl_Status.Text = "停止"; + } + else + { + rddl_Status.SelectedIndex = -1; // 未匹配到,设置为无选中项 + } } private void rbtnOK_Click(object sender, EventArgs e) { #region 防愚操作 + string strCarName = rtbCarName.Text.Trim(); string strCarType = rtbCarType.Text.Trim(); - //string strMesPointName = rtbMesPointName.Text.Trim(); + string strReadType = rddl_ReadType.Text.Trim(); + string strPosition = rddl_Position.Text.Trim(); + string strStatus = rddl_Status.Text.Trim(); - //string strDimensionName = rddlDimensionName.Text.Trim(); - //if (string.IsNullOrEmpty(rtbCarType.Text.Trim())) - //{ - // MessageBox.Show("车身类型不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - // return; - //} + if (string.IsNullOrEmpty(rtbCarName.Text.Trim())) + { + MessageBox.Show("车型名称不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } - //if (string.IsNullOrEmpty(rtbMesPointName.Text.Trim())) - //{ - // MessageBox.Show("测量点位名称不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - // return; - //} - //if (string.IsNullOrEmpty(rtbLower.Text.Trim())) - //{ - // MessageBox.Show("下限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - // return; - //} - //if (string.IsNullOrEmpty(rtbUpper.Text.Trim())) - //{ - // MessageBox.Show("上限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - // return; - //} - - //if (rtbCarType.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["CarType"].Value.ToString() || rtbMesPointName.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["MeasurePointName"].Value.ToString() || rddlDimensionName.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["DimensionName"].Value.ToString()) - //{ - // if (tmdal.CheckTaskExit(strCarType, strMesPointName, strDimensionName)) - // { - // MessageBox.Show("该车身类型下,已经存在该测量点位名称和尺寸名称,请修改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + if (string.IsNullOrEmpty(rtbCarType.Text.Trim())) + { + MessageBox.Show("车型代码不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } + if (string.IsNullOrEmpty(rtb_sourceFilePath.Text.Trim())) + { + MessageBox.Show("源文件路径不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } + if (string.IsNullOrEmpty(rtb_targetFilePath.Text.Trim())) + { + MessageBox.Show("目标文件路径不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } - // return; - // } - //} + // 对于分发配置,strReadType 进行转换 ,文件内容 对应1 文件名称对应2 + if (string.IsNullOrEmpty(strReadType) || (strReadType != "文件内容" && strReadType != "文件名称")) + { + MessageBox.Show("请选择正确的读取类型! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } + + if (strReadType.Equals("文件名称")) + { + strReadType = "1"; // 文件名称 + } + else if (strReadType.Equals("文件内容")) + { + strReadType = "2"; // 文件内容 + } #endregion 防愚操作 - //try - //{ - // TToleranceModel ttm = new TToleranceModel(); - // ttm.Id = int.Parse(gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["Id"].Value.ToString()); - // ttm.CarType = strCarType; - // ttm.MeasurePointName = strMesPointName; - // ttm.DimensionName = strDimensionName; - // ttm.TolLower = double.Parse(rtbLower.Text.Trim()); - // ttm.TolUpper = double.Parse(rtbUpper.Text.Trim()); - // //ttm.Remark = rtbRemark.Text.Trim(); - // ttm.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); - // tmdal.UpdateTTolerance(ttm); - //} - //catch (Exception ex) - //{ - // MessageBox.Show("修改公差带信息失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + try + { + CjlrTaskReleaseModel cjlrTaskRelease = new CjlrTaskReleaseModel + { + Id = int.Parse(gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["Id"].Value.ToString()), + ModelsName = strCarName, + ModelsCode = strCarType, + Position = strPosition.Equals("左侧") ? "L" : "R", + SourceFile = rtb_sourceFilePath.Text.Trim(), + TargetFile = rtb_targetFilePath.Text.Trim(), + Status = strStatus.Equals("启动") ? "start" : "stop", + CreateDate = DateTime.Now, + IsDelete = 1, //未删除 + ReadType = strReadType.Equals("文件内容") ? 2 : 1 // 文件内容对应1,文件名称对应2 + }; - // return; - //} + tmdal.UpdateTaskRelease(cjlrTaskRelease); + } + catch (Exception ex) + { + MessageBox.Show("修改分发配置失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - //MessageBox.Show("修改公差带信息成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } - //gFTS.rtbnSearch_Click(null, null); + MessageBox.Show("修改分发配置成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); - //this.Close(); + gFTS.rtbnSearch_Click(null, null); + + this.Close(); } private void rbtnCancel_Click(object sender, EventArgs e) diff --git a/Analysis/Tolerance/FEditTolerance.designer.cs b/Analysis/Tolerance/FEditTolerance.designer.cs index a28c4d4..e4e2e0f 100644 --- a/Analysis/Tolerance/FEditTolerance.designer.cs +++ b/Analysis/Tolerance/FEditTolerance.designer.cs @@ -97,7 +97,7 @@ // this.radTitleBar1.RootElement.ApplyShapeToControl = true; this.radTitleBar1.RootElement.BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); - this.radTitleBar1.Size = new System.Drawing.Size(631, 40); + this.radTitleBar1.Size = new System.Drawing.Size(739, 40); this.radTitleBar1.TabIndex = 0; this.radTitleBar1.TabStop = false; this.radTitleBar1.Text = "修改公差带"; @@ -122,7 +122,7 @@ this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top; this.label2.AutoSize = true; this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image"))); - this.label2.Location = new System.Drawing.Point(244, -5); + this.label2.Location = new System.Drawing.Point(298, -5); this.label2.Name = "label2"; this.label2.Padding = new System.Windows.Forms.Padding(23, 15, 23, 15); this.label2.Size = new System.Drawing.Size(46, 52); @@ -134,7 +134,7 @@ this.labTitle.AutoSize = true; this.labTitle.Font = new System.Drawing.Font("微软雅黑", 14F); this.labTitle.ForeColor = System.Drawing.Color.White; - this.labTitle.Location = new System.Drawing.Point(286, 8); + this.labTitle.Location = new System.Drawing.Point(340, 8); this.labTitle.Name = "labTitle"; this.labTitle.Size = new System.Drawing.Size(88, 25); this.labTitle.TabIndex = 0; @@ -146,7 +146,7 @@ this.rbtnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.rbtnCancel.Font = new System.Drawing.Font("微软雅黑", 11F); this.rbtnCancel.ForeColor = System.Drawing.Color.White; - this.rbtnCancel.Location = new System.Drawing.Point(501, 373); + this.rbtnCancel.Location = new System.Drawing.Point(612, 488); this.rbtnCancel.Name = "rbtnCancel"; this.rbtnCancel.Size = new System.Drawing.Size(85, 30); this.rbtnCancel.TabIndex = 10; @@ -164,7 +164,7 @@ this.rbtnOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.rbtnOK.Font = new System.Drawing.Font("微软雅黑", 11F); this.rbtnOK.ForeColor = System.Drawing.Color.White; - this.rbtnOK.Location = new System.Drawing.Point(373, 373); + this.rbtnOK.Location = new System.Drawing.Point(484, 488); this.rbtnOK.Name = "rbtnOK"; this.rbtnOK.Size = new System.Drawing.Size(85, 30); this.rbtnOK.TabIndex = 9; @@ -185,7 +185,7 @@ this.btn_targetFile.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.btn_targetFile.Font = new System.Drawing.Font("微软雅黑", 11F); this.btn_targetFile.ForeColor = System.Drawing.Color.White; - this.btn_targetFile.Location = new System.Drawing.Point(376, 193); + this.btn_targetFile.Location = new System.Drawing.Point(519, 218); this.btn_targetFile.Name = "btn_targetFile"; this.btn_targetFile.Size = new System.Drawing.Size(50, 30); this.btn_targetFile.TabIndex = 92; @@ -200,7 +200,7 @@ this.btn_sourceFile.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.btn_sourceFile.Font = new System.Drawing.Font("微软雅黑", 11F); this.btn_sourceFile.ForeColor = System.Drawing.Color.White; - this.btn_sourceFile.Location = new System.Drawing.Point(376, 153); + this.btn_sourceFile.Location = new System.Drawing.Point(519, 178); this.btn_sourceFile.Name = "btn_sourceFile"; this.btn_sourceFile.Size = new System.Drawing.Size(50, 30); this.btn_sourceFile.TabIndex = 91; @@ -213,7 +213,7 @@ // this.label9.AutoSize = true; this.label9.Font = new System.Drawing.Font("微软雅黑", 11F); - this.label9.Location = new System.Drawing.Point(444, 192); + this.label9.Location = new System.Drawing.Point(578, 219); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(106, 20); this.label9.TabIndex = 90; @@ -223,7 +223,7 @@ // this.label8.AutoSize = true; this.label8.Font = new System.Drawing.Font("微软雅黑", 11F); - this.label8.Location = new System.Drawing.Point(444, 156); + this.label8.Location = new System.Drawing.Point(578, 183); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(58, 20); this.label8.TabIndex = 89; @@ -233,7 +233,7 @@ // this.label7.AutoSize = true; this.label7.Font = new System.Drawing.Font("微软雅黑", 11F); - this.label7.Location = new System.Drawing.Point(444, 118); + this.label7.Location = new System.Drawing.Point(578, 136); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(76, 20); this.label7.TabIndex = 88; @@ -243,7 +243,7 @@ // this.label6.AutoSize = true; this.label6.Font = new System.Drawing.Font("微软雅黑", 11F); - this.label6.Location = new System.Drawing.Point(444, 76); + this.label6.Location = new System.Drawing.Point(575, 89); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(166, 20); this.label6.TabIndex = 87; @@ -255,7 +255,7 @@ this.rddl_Status.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); this.rddl_Status.DropDownHeight = 50; this.rddl_Status.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; - this.rddl_Status.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rddl_Status.Font = new System.Drawing.Font("微软雅黑", 11F); this.rddl_Status.ForeColor = System.Drawing.Color.White; radListDataItem1.Tag = "start"; radListDataItem1.Text = "启动"; @@ -263,9 +263,9 @@ radListDataItem2.Text = "暂停"; this.rddl_Status.Items.Add(radListDataItem1); this.rddl_Status.Items.Add(radListDataItem2); - this.rddl_Status.Location = new System.Drawing.Point(187, 314); + this.rddl_Status.Location = new System.Drawing.Point(185, 366); this.rddl_Status.Name = "rddl_Status"; - this.rddl_Status.Size = new System.Drawing.Size(239, 23); + this.rddl_Status.Size = new System.Drawing.Size(384, 25); this.rddl_Status.TabIndex = 86; ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_Status.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Status.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); @@ -278,7 +278,7 @@ this.radLabel6.AutoSize = false; this.radLabel6.Font = new System.Drawing.Font("微软雅黑", 11F); this.radLabel6.ForeColor = System.Drawing.Color.White; - this.radLabel6.Location = new System.Drawing.Point(33, 313); + this.radLabel6.Location = new System.Drawing.Point(32, 366); this.radLabel6.Name = "radLabel6"; this.radLabel6.Size = new System.Drawing.Size(147, 23); this.radLabel6.TabIndex = 85; @@ -291,7 +291,7 @@ this.rddl_Position.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); this.rddl_Position.DropDownHeight = 50; this.rddl_Position.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; - this.rddl_Position.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rddl_Position.Font = new System.Drawing.Font("微软雅黑", 11F); this.rddl_Position.ForeColor = System.Drawing.Color.White; radListDataItem3.Tag = "L"; radListDataItem3.Text = "左侧"; @@ -299,9 +299,9 @@ radListDataItem4.Text = "右侧"; this.rddl_Position.Items.Add(radListDataItem3); this.rddl_Position.Items.Add(radListDataItem4); - this.rddl_Position.Location = new System.Drawing.Point(187, 274); + this.rddl_Position.Location = new System.Drawing.Point(185, 319); this.rddl_Position.Name = "rddl_Position"; - this.rddl_Position.Size = new System.Drawing.Size(239, 23); + this.rddl_Position.Size = new System.Drawing.Size(384, 25); this.rddl_Position.TabIndex = 84; ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_Position.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Position.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); @@ -314,7 +314,7 @@ this.radLabel1.AutoSize = false; this.radLabel1.Font = new System.Drawing.Font("微软雅黑", 11F); this.radLabel1.ForeColor = System.Drawing.Color.White; - this.radLabel1.Location = new System.Drawing.Point(33, 274); + this.radLabel1.Location = new System.Drawing.Point(32, 319); this.radLabel1.Name = "radLabel1"; this.radLabel1.Size = new System.Drawing.Size(147, 23); this.radLabel1.TabIndex = 83; @@ -327,14 +327,14 @@ this.rddl_ReadType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); this.rddl_ReadType.DropDownHeight = 50; this.rddl_ReadType.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; - this.rddl_ReadType.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rddl_ReadType.Font = new System.Drawing.Font("微软雅黑", 11F); this.rddl_ReadType.ForeColor = System.Drawing.Color.White; radListDataItem5.Tag = "2"; radListDataItem5.Text = "文件内容"; this.rddl_ReadType.Items.Add(radListDataItem5); - this.rddl_ReadType.Location = new System.Drawing.Point(187, 230); + this.rddl_ReadType.Location = new System.Drawing.Point(185, 272); this.rddl_ReadType.Name = "rddl_ReadType"; - this.rddl_ReadType.Size = new System.Drawing.Size(239, 23); + this.rddl_ReadType.Size = new System.Drawing.Size(384, 25); this.rddl_ReadType.TabIndex = 82; ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_ReadType.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_ReadType.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); @@ -346,38 +346,40 @@ // this.rtb_sourceFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.rtb_sourceFilePath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtb_sourceFilePath.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtb_sourceFilePath.Font = new System.Drawing.Font("微软雅黑", 11F); this.rtb_sourceFilePath.ForeColor = System.Drawing.Color.White; - this.rtb_sourceFilePath.Location = new System.Drawing.Point(187, 156); + this.rtb_sourceFilePath.Location = new System.Drawing.Point(185, 178); this.rtb_sourceFilePath.Name = "rtb_sourceFilePath"; - this.rtb_sourceFilePath.Size = new System.Drawing.Size(173, 23); + this.rtb_sourceFilePath.Size = new System.Drawing.Size(317, 25); this.rtb_sourceFilePath.TabIndex = 75; ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_sourceFilePath.GetChildAt(0))).Text = ""; + ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_sourceFilePath.GetChildAt(0))).StretchVertically = false; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtb_sourceFilePath.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); // // rtb_targetFilePath // this.rtb_targetFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.rtb_targetFilePath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtb_targetFilePath.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtb_targetFilePath.Font = new System.Drawing.Font("微软雅黑", 11F); this.rtb_targetFilePath.ForeColor = System.Drawing.Color.White; - this.rtb_targetFilePath.Location = new System.Drawing.Point(187, 193); + this.rtb_targetFilePath.Location = new System.Drawing.Point(185, 225); this.rtb_targetFilePath.MaxLength = 15; this.rtb_targetFilePath.Name = "rtb_targetFilePath"; - this.rtb_targetFilePath.Size = new System.Drawing.Size(173, 23); + this.rtb_targetFilePath.Size = new System.Drawing.Size(317, 25); this.rtb_targetFilePath.TabIndex = 76; ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_targetFilePath.GetChildAt(0))).Text = ""; + ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_targetFilePath.GetChildAt(0))).StretchVertically = false; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtb_targetFilePath.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); // // rtbCarType // this.rtbCarType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.rtbCarType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 11F); this.rtbCarType.ForeColor = System.Drawing.Color.White; - this.rtbCarType.Location = new System.Drawing.Point(187, 117); + this.rtbCarType.Location = new System.Drawing.Point(185, 131); this.rtbCarType.Name = "rtbCarType"; - this.rtbCarType.Size = new System.Drawing.Size(239, 23); + this.rtbCarType.Size = new System.Drawing.Size(384, 25); this.rtbCarType.TabIndex = 74; ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarType.GetChildAt(0))).Text = ""; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarType.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); @@ -386,11 +388,11 @@ // this.rtbCarName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.rtbCarName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.rtbCarName.Font = new System.Drawing.Font("微软雅黑", 9.75F); + this.rtbCarName.Font = new System.Drawing.Font("微软雅黑", 11F); this.rtbCarName.ForeColor = System.Drawing.Color.White; - this.rtbCarName.Location = new System.Drawing.Point(187, 76); + this.rtbCarName.Location = new System.Drawing.Point(185, 84); this.rtbCarName.Name = "rtbCarName"; - this.rtbCarName.Size = new System.Drawing.Size(239, 23); + this.rtbCarName.Size = new System.Drawing.Size(384, 25); this.rtbCarName.TabIndex = 73; ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarName.GetChildAt(0))).Text = ""; ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); @@ -400,7 +402,7 @@ this.radLabel7.AutoSize = false; this.radLabel7.Font = new System.Drawing.Font("微软雅黑", 11F); this.radLabel7.ForeColor = System.Drawing.Color.White; - this.radLabel7.Location = new System.Drawing.Point(28, 196); + this.radLabel7.Location = new System.Drawing.Point(27, 225); this.radLabel7.Name = "radLabel7"; this.radLabel7.Size = new System.Drawing.Size(152, 23); this.radLabel7.TabIndex = 81; @@ -412,7 +414,7 @@ this.radLabel3.AutoSize = false; this.radLabel3.Font = new System.Drawing.Font("微软雅黑", 11F); this.radLabel3.ForeColor = System.Drawing.Color.White; - this.radLabel3.Location = new System.Drawing.Point(33, 157); + this.radLabel3.Location = new System.Drawing.Point(32, 178); this.radLabel3.Name = "radLabel3"; this.radLabel3.Size = new System.Drawing.Size(147, 23); this.radLabel3.TabIndex = 80; @@ -424,7 +426,7 @@ this.radLabel4.AutoSize = false; this.radLabel4.Font = new System.Drawing.Font("微软雅黑", 11F); this.radLabel4.ForeColor = System.Drawing.Color.White; - this.radLabel4.Location = new System.Drawing.Point(33, 235); + this.radLabel4.Location = new System.Drawing.Point(32, 272); this.radLabel4.Name = "radLabel4"; this.radLabel4.Size = new System.Drawing.Size(147, 23); this.radLabel4.TabIndex = 79; @@ -436,7 +438,7 @@ this.radLabel2.AutoSize = false; this.radLabel2.Font = new System.Drawing.Font("微软雅黑", 11F); this.radLabel2.ForeColor = System.Drawing.Color.White; - this.radLabel2.Location = new System.Drawing.Point(33, 118); + this.radLabel2.Location = new System.Drawing.Point(32, 131); this.radLabel2.Name = "radLabel2"; this.radLabel2.Size = new System.Drawing.Size(147, 23); this.radLabel2.TabIndex = 78; @@ -448,7 +450,7 @@ this.radLabel5.AutoSize = false; this.radLabel5.Font = new System.Drawing.Font("微软雅黑", 11F); this.radLabel5.ForeColor = System.Drawing.Color.White; - this.radLabel5.Location = new System.Drawing.Point(33, 79); + this.radLabel5.Location = new System.Drawing.Point(32, 84); this.radLabel5.Name = "radLabel5"; this.radLabel5.Size = new System.Drawing.Size(147, 23); this.radLabel5.TabIndex = 77; @@ -463,7 +465,7 @@ this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124))))); this.BorderWidth = 0; - this.ClientSize = new System.Drawing.Size(633, 426); + this.ClientSize = new System.Drawing.Size(741, 556); this.Controls.Add(this.btn_targetFile); this.Controls.Add(this.btn_sourceFile); this.Controls.Add(this.label9); diff --git a/Analysis/Tolerance/FToleranceSetup.cs b/Analysis/Tolerance/FToleranceSetup.cs index ad94b8d..2dcc696 100644 --- a/Analysis/Tolerance/FToleranceSetup.cs +++ b/Analysis/Tolerance/FToleranceSetup.cs @@ -142,7 +142,7 @@ namespace NSAnalysis { string modelName = dgvTolList.Rows[e.RowIndex].Cells["modelsName"].Value.ToString(); string modelsCode = dgvTolList.Rows[e.RowIndex].Cells["modelsCode"].Value.ToString(); - + if (string.IsNullOrEmpty(modelsCode) || string.IsNullOrEmpty(modelName)) { MessageBox.Show("分发配置代码或名称不能为空,无法删除!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); @@ -150,7 +150,7 @@ namespace NSAnalysis } try { - tmdal.UpdateIsDelete(modelName,modelsCode); + tmdal.UpdateIsDelete(modelName, modelsCode); } catch (Exception ex) { @@ -172,6 +172,7 @@ namespace NSAnalysis private void dgvTolList_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { + // 系统状态 if (dgvTolList.Columns .Cast() .Any(c => c.DataPropertyName == "status" && c.Index == e.ColumnIndex)) @@ -179,11 +180,19 @@ namespace NSAnalysis { switch (e.Value.ToString()) { - case "start": e.Value = "启动"; break; - case "stop": e.Value = "停止"; break; + case "start": + e.Value = "启动"; + //dgvTolList.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White; // 默认背景色 + break; + + case "stop": + dgvTolList.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red; + e.Value = "停止"; + break; } } + //读取方式 if (dgvTolList.Columns .Cast() .Any(c => c.DataPropertyName == "readType" && c.Index == e.ColumnIndex)) @@ -194,6 +203,18 @@ namespace NSAnalysis case "2": e.Value = "文件内容"; break; } } + + // 位置 + if (dgvTolList.Columns + .Cast() + .Any(c => c.DataPropertyName == "position" && c.Index == e.ColumnIndex)) + { + switch (e.Value.ToString()) + { + case "L": e.Value = "左侧"; break; + case "R": e.Value = "右侧"; break; + } + } } } } \ No newline at end of file diff --git a/Analysis/Tolerance/FToleranceSetup.designer.cs b/Analysis/Tolerance/FToleranceSetup.designer.cs index 09e5ded..781d114 100644 --- a/Analysis/Tolerance/FToleranceSetup.designer.cs +++ b/Analysis/Tolerance/FToleranceSetup.designer.cs @@ -48,12 +48,12 @@ namespace NSAnalysis this.label15 = new System.Windows.Forms.Label(); this.dataGridViewImageColumn1 = new System.Windows.Forms.DataGridViewImageColumn(); this.dataGridViewImageColumn2 = new System.Windows.Forms.DataGridViewImageColumn(); - this.lpcAddTol = new UserControlClass.LabPictureControl(); this.labSearchResult = new System.Windows.Forms.Label(); + this.lpcAddTol = new UserControlClass.LabPictureControl(); this.Id = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.modelsName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.modelsCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.DimensionName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.position = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.sourceFile = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.targetFile = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Status = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -155,7 +155,7 @@ namespace NSAnalysis this.Id, this.modelsName, this.modelsCode, - this.DimensionName, + this.position, this.sourceFile, this.targetFile, this.Status, @@ -353,6 +353,20 @@ namespace NSAnalysis this.dataGridViewImageColumn2.ToolTipText = "点击删除机床信息"; this.dataGridViewImageColumn2.Width = 45; // + // labSearchResult + // + this.labSearchResult.Anchor = System.Windows.Forms.AnchorStyles.None; + this.labSearchResult.AutoSize = true; + this.labSearchResult.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); + this.labSearchResult.Font = new System.Drawing.Font("Segoe UI", 12F); + this.labSearchResult.ForeColor = System.Drawing.Color.Red; + this.labSearchResult.Location = new System.Drawing.Point(331, 465); + this.labSearchResult.Name = "labSearchResult"; + this.labSearchResult.Size = new System.Drawing.Size(452, 21); + this.labSearchResult.TabIndex = 457; + this.labSearchResult.Text = "查询完毕,未查询到任何结果,请检查查询条件是否正确!"; + this.labSearchResult.Visible = false; + // // lpcAddTol // this.lpcAddTol.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); @@ -368,20 +382,6 @@ namespace NSAnalysis this.lpcAddTol.TabIndex = 18; this.lpcAddTol.Click += new System.EventHandler(this.lpcAddTol_Click); // - // labSearchResult - // - this.labSearchResult.Anchor = System.Windows.Forms.AnchorStyles.None; - this.labSearchResult.AutoSize = true; - this.labSearchResult.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68))))); - this.labSearchResult.Font = new System.Drawing.Font("Segoe UI", 12F); - this.labSearchResult.ForeColor = System.Drawing.Color.Red; - this.labSearchResult.Location = new System.Drawing.Point(331, 465); - this.labSearchResult.Name = "labSearchResult"; - this.labSearchResult.Size = new System.Drawing.Size(452, 21); - this.labSearchResult.TabIndex = 457; - this.labSearchResult.Text = "查询完毕,未查询到任何结果,请检查查询条件是否正确!"; - this.labSearchResult.Visible = false; - // // Id // this.Id.DataPropertyName = "Id"; @@ -407,13 +407,13 @@ namespace NSAnalysis this.modelsCode.ReadOnly = true; this.modelsCode.Width = 65; // - // DimensionName + // position // - this.DimensionName.DataPropertyName = "position"; - this.DimensionName.HeaderText = "车型位置"; - this.DimensionName.Name = "DimensionName"; - this.DimensionName.ReadOnly = true; - this.DimensionName.Width = 65; + this.position.DataPropertyName = "position"; + this.position.HeaderText = "车型位置"; + this.position.Name = "position"; + this.position.ReadOnly = true; + this.position.Width = 65; // // sourceFile // @@ -530,7 +530,7 @@ namespace NSAnalysis private System.Windows.Forms.DataGridViewTextBoxColumn Id; private System.Windows.Forms.DataGridViewTextBoxColumn modelsName; private System.Windows.Forms.DataGridViewTextBoxColumn modelsCode; - private System.Windows.Forms.DataGridViewTextBoxColumn DimensionName; + private System.Windows.Forms.DataGridViewTextBoxColumn position; private System.Windows.Forms.DataGridViewTextBoxColumn sourceFile; private System.Windows.Forms.DataGridViewTextBoxColumn targetFile; private System.Windows.Forms.DataGridViewTextBoxColumn Status; diff --git a/Analysis/Tolerance/FToleranceSetup.resx b/Analysis/Tolerance/FToleranceSetup.resx index 52d2697..06574d5 100644 --- a/Analysis/Tolerance/FToleranceSetup.resx +++ b/Analysis/Tolerance/FToleranceSetup.resx @@ -161,7 +161,7 @@ True - + True diff --git a/Analysis/UserControl/LabPictureControl.cs b/Analysis/UserControl/LabPictureControl.cs new file mode 100644 index 0000000..fea59dd --- /dev/null +++ b/Analysis/UserControl/LabPictureControl.cs @@ -0,0 +1,77 @@ +using System; +using System.Drawing; +using System.Windows.Forms; + +namespace UserControlClass +{ + public partial class LabPictureControl : UserControl + { + public LabPictureControl() + { + InitializeComponent(); + } + + /// + /// 添加LabelText属性,可以对labelText进行设置 + /// + public string LabelText + { + get { return labText.Text; } + set { labText.Text = value; } + } + + /// + /// 上面Label的图片图片连接 + /// + public Image LabelTopImage + { + get { return labPicture.Image; } + set { labPicture.Image = value; } + } + + /// + /// 文字位置坐标 + /// + public Point LabelPoint + { + get { return labText.Location; } + set { labText.Location = value; } + } + + private void labPicture_MouseHover(object sender, EventArgs e) + { + LabPictureControl lpc = (LabPictureControl)(sender as Label).Parent; + lpc.BackColor = Color.FromArgb(0, 151, 186); + } + + private void labPicture_MouseLeave(object sender, EventArgs e) + { + LabPictureControl lpc = (LabPictureControl)(sender as Label).Parent; + lpc.BackColor = Color.FromArgb(19, 46, 53); + } + + private void labText_MouseHover(object sender, EventArgs e) + { + LabPictureControl lpc = (LabPictureControl)(sender as Label).Parent; + lpc.BackColor = Color.FromArgb(0, 151, 186); + } + + private void labText_MouseLeave(object sender, EventArgs e) + { + LabPictureControl lpc = (LabPictureControl)(sender as Label).Parent; + lpc.BackColor = Color.FromArgb(19, 46, 53); + } + + private void LabPictureControl_MouseHover(object sender, EventArgs e) + { + LabPictureControl lpc = sender as LabPictureControl; + lpc.BackColor = Color.FromArgb(0, 151, 186); + } + + private void LabPictureControl_MouseLeave(object sender, EventArgs e) + { + LabPictureControl lpc = sender as LabPictureControl; + lpc.BackColor = Color.FromArgb(19, 46, 53); + } + } +} \ No newline at end of file diff --git a/Analysis/UserControl/LabPictureControl.designer.cs b/Analysis/UserControl/LabPictureControl.designer.cs new file mode 100644 index 0000000..9899bbd --- /dev/null +++ b/Analysis/UserControl/LabPictureControl.designer.cs @@ -0,0 +1,84 @@ +namespace UserControlClass +{ + public partial class LabPictureControl + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.labText = new System.Windows.Forms.Label(); + this.labPicture = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // labText + // + this.labText.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labText.Location = new System.Drawing.Point(2, 59); + this.labText.Name = "labText"; + this.labText.Size = new System.Drawing.Size(83, 25); + this.labText.TabIndex = 1; + this.labText.Text = "添加抽屉"; + this.labText.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.labText.MouseLeave += new System.EventHandler(this.labText_MouseLeave); + this.labText.MouseHover += new System.EventHandler(this.labText_MouseHover); + // + // labPicture + // + this.labPicture.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labPicture.Location = new System.Drawing.Point(0, 3); + this.labPicture.Name = "labPicture"; + this.labPicture.Padding = new System.Windows.Forms.Padding(17, 21, 17, 21); + this.labPicture.Size = new System.Drawing.Size(86, 54); + this.labPicture.TabIndex = 0; + this.labPicture.MouseLeave += new System.EventHandler(this.labPicture_MouseLeave); + this.labPicture.MouseHover += new System.EventHandler(this.labPicture_MouseHover); + // + // LabPictureControl + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53))))); + this.Controls.Add(this.labText); + this.Controls.Add(this.labPicture); + this.Font = new System.Drawing.Font("Segoe UI", 9.75F); + this.ForeColor = System.Drawing.Color.White; + this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.Name = "LabPictureControl"; + this.Size = new System.Drawing.Size(86, 85); + this.MouseLeave += new System.EventHandler(this.LabPictureControl_MouseLeave); + this.MouseHover += new System.EventHandler(this.LabPictureControl_MouseHover); + this.ResumeLayout(false); + + } + + #endregion + + public System.Windows.Forms.Label labPicture; + public System.Windows.Forms.Label labText; + } +} diff --git a/Analysis/UserControl/LabPictureControl.resx b/Analysis/UserControl/LabPictureControl.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Analysis/UserControl/LabPictureControl.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Analysis/bin/x64/Debug/Debug.txt b/Analysis/bin/x64/Debug/Debug.txt index 914603d..dee1ff0 100644 --- a/Analysis/bin/x64/Debug/Debug.txt +++ b/Analysis/bin/x64/Debug/Debug.txt @@ -1,12 +1,12 @@ -2025-08-04 16:45:31.230----软件Program Main函数开始执行-- -2025-08-04 16:45:31.232--加载配置文件——>开始 -2025-08-04 16:45:31.327--加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 +2025-08-05 09:09:41.596----软件Program Main函数开始执行-- +2025-08-05 09:09:41.600--加载配置文件——>开始 +2025-08-05 09:09:41.633--加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) 在 System.Double.Parse(String s) 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 -2025-08-04 16:45:32.142--数据库连接 SqlServerName:127.0.0.1 -2025-08-04 16:45:32.143--数据库连接 SqlUserName:sa -2025-08-04 16:45:32.144--数据库连接 SqlPassword:Hexagon123 -2025-08-04 16:45:32.146--数据库连接 SqlDbName:CJLR -2025-08-04 16:45:32.147--数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-05 09:09:42.414--数据库连接 SqlServerName:127.0.0.1 +2025-08-05 09:09:42.415--数据库连接 SqlUserName:sa +2025-08-05 09:09:42.417--数据库连接 SqlPassword:Hexagon123 +2025-08-05 09:09:42.419--数据库连接 SqlDbName:CJLR +2025-08-05 09:09:42.420--数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; diff --git a/Analysis/bin/x64/Debug/NSAnalysis.exe b/Analysis/bin/x64/Debug/NSAnalysis.exe index 08e335fddbeabef0ab2e07b4dc8ce381f8a349c2..b1c6bf338434948c050beb18083e4e28e84575a1 100644 GIT binary patch delta 140315 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

PY79v!7~y99{}G+Fux23 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

  • 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 XNyJADe@J!qjv2l+VO}--&qMzQu4yco delta 137900 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 QcpgaqS{am$qP}+j9~)tgegFUf delta 60588 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 BKl%Uw diff --git a/Analysis/bin/x64/Debug/logs/2025-08-04.log b/Analysis/bin/x64/Debug/logs/2025-08-04.log index 8ece8a8..cdcf8c5 100644 --- a/Analysis/bin/x64/Debug/logs/2025-08-04.log +++ b/Analysis/bin/x64/Debug/logs/2025-08-04.log @@ -425,3 +425,255 @@ 2025-08-04 16:45:32.1409 [INFO] : 数据库连接 SqlPassword:Hexagon123 2025-08-04 16:45:32.1409 [INFO] : 数据库连接 SqlDbName:CJLR 2025-08-04 16:45:32.1409 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 16:47:28.1667 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 16:47:28.1842 [INFO] : 加载配置文件——>开始 +2025-08-04 16:47:28.2113 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:47:28.9161 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:47:28.9161 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 16:47:28.9161 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:47:28.9161 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 16:47:28.9161 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 16:53:16.1495 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 16:53:16.1735 [INFO] : 加载配置文件——>开始 +2025-08-04 16:53:16.2485 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:53:16.9998 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:53:16.9998 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 16:53:16.9998 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:53:16.9998 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 16:53:16.9998 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 16:55:47.8714 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 16:55:47.8859 [INFO] : 加载配置文件——>开始 +2025-08-04 16:55:47.9206 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:55:48.6459 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:55:48.6459 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 16:55:48.6459 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:55:48.6459 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 16:55:48.6459 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 16:56:57.5588 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 16:56:57.5730 [INFO] : 加载配置文件——>开始 +2025-08-04 16:56:57.5973 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:56:58.2450 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:56:58.2450 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 16:56:58.2450 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:56:58.2450 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 16:56:58.2450 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 16:59:03.8846 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 16:59:03.9018 [INFO] : 加载配置文件——>开始 +2025-08-04 16:59:03.9386 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 16:59:04.6816 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 16:59:04.6816 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 16:59:04.6816 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 16:59:04.6816 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 16:59:04.6816 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 17:00:02.9321 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 17:00:02.9675 [INFO] : 加载配置文件——>开始 +2025-08-04 17:00:03.0162 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 17:00:03.7328 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 17:00:03.7328 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 17:00:03.7328 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 17:00:03.7328 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 17:00:03.7366 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 17:04:50.9107 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 17:04:50.9363 [INFO] : 加载配置文件——>开始 +2025-08-04 17:04:50.9684 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 17:04:51.6505 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 17:04:51.6505 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 17:04:51.6505 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 17:04:51.6505 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 17:04:51.6505 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 17:24:36.1518 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 17:24:36.1697 [INFO] : 加载配置文件——>开始 +2025-08-04 17:24:36.1968 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 17:24:36.8826 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 17:24:36.8826 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 17:24:36.8826 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 17:24:36.8826 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 17:24:36.8826 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 17:49:18.5121 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 17:49:18.5264 [INFO] : 加载配置文件——>开始 +2025-08-04 17:49:18.5581 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 17:49:19.4231 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 17:49:19.4231 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 17:49:19.4231 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 17:49:19.4231 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 17:49:19.4231 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 17:51:19.2310 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 17:51:19.2527 [INFO] : 加载配置文件——>开始 +2025-08-04 17:51:19.2771 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 17:51:19.9649 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 17:51:19.9649 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 17:51:19.9649 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 17:51:19.9649 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 17:51:19.9649 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 17:53:59.0296 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 17:53:59.0489 [INFO] : 加载配置文件——>开始 +2025-08-04 17:53:59.0766 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 17:53:59.7059 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 17:53:59.7059 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 17:53:59.7059 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 17:53:59.7059 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 17:53:59.7059 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 17:54:53.7805 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 17:54:53.8117 [INFO] : 加载配置文件——>开始 +2025-08-04 17:54:53.8534 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 17:54:54.4847 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 17:54:54.4847 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 17:54:54.4847 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 17:54:54.4847 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 17:54:54.4847 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 17:55:59.4864 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 17:55:59.5078 [INFO] : 加载配置文件——>开始 +2025-08-04 17:55:59.5324 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 17:56:00.1884 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 17:56:00.1884 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 17:56:00.1884 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 17:56:00.1884 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 17:56:00.1884 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 17:57:01.2697 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 17:57:01.2927 [INFO] : 加载配置文件——>开始 +2025-08-04 17:57:01.3170 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 17:57:01.9718 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 17:57:01.9718 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 17:57:01.9718 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 17:57:01.9718 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 17:57:01.9718 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 17:58:25.1631 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 17:58:25.1789 [INFO] : 加载配置文件——>开始 +2025-08-04 17:58:25.2065 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 17:58:25.8581 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 17:58:25.8581 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 17:58:25.8581 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 17:58:25.8581 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 17:58:25.8581 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 17:59:28.0409 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 17:59:28.0741 [INFO] : 加载配置文件——>开始 +2025-08-04 17:59:28.1021 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 17:59:28.7283 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 17:59:28.7283 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 17:59:28.7283 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 17:59:28.7283 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 17:59:28.7283 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 18:06:05.5512 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 18:06:05.5976 [INFO] : 加载配置文件——>开始 +2025-08-04 18:06:05.6351 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 18:06:06.3661 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 18:06:06.3661 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 18:06:06.3661 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 18:06:06.3661 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 18:06:06.3661 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 18:11:03.7728 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 18:11:03.7961 [INFO] : 加载配置文件——>开始 +2025-08-04 18:11:03.8241 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 18:11:04.5008 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 18:11:04.5008 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 18:11:04.5008 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 18:11:04.5008 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 18:11:04.5008 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 18:12:25.2850 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 18:12:25.3103 [INFO] : 加载配置文件——>开始 +2025-08-04 18:12:25.3388 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 18:12:25.9859 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 18:12:25.9859 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 18:12:25.9859 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 18:12:25.9859 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 18:12:25.9859 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 18:15:03.0002 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 18:15:03.0781 [INFO] : 加载配置文件——>开始 +2025-08-04 18:15:03.0957 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 18:15:03.7610 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 18:15:03.7620 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 18:15:03.7620 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 18:15:03.7620 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 18:15:03.7620 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123; +2025-08-04 18:15:36.1081 [INFO] : --软件Program Main函数开始执行-- +2025-08-04 18:15:36.1275 [INFO] : 加载配置文件——>开始 +2025-08-04 18:15:36.1442 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。 + 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s) + 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138 + 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202 +2025-08-04 18:15:36.7885 [INFO] : 数据库连接 SqlServerName:127.0.0.1 +2025-08-04 18:15:36.7885 [INFO] : 数据库连接 SqlUserName:sa +2025-08-04 18:15:36.7885 [INFO] : 数据库连接 SqlPassword:Hexagon123 +2025-08-04 18:15:36.7885 [INFO] : 数据库连接 SqlDbName:CJLR +2025-08-04 18:15:36.7885 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;