فهرست منبع

优化ProdataSet类

Ge mingyu 1 سال پیش
والد
کامیت
6cd147ec58

+ 0 - 1
SIMDP/SIMDP.BLL/BlRule.cs

@@ -34,7 +34,6 @@ namespace SIMDP.BLL
         {
             DataTable dt = new DataTable();
             dt.Columns.Add("RuleId", typeof(string));
-            //dt.Columns.Add("ID", typeof(string));
             dt.Columns.Add("Name", typeof(string));
             dt.Columns.Add("Type", typeof(string));
             dt.Columns.Add("OrderNum", typeof(int));

+ 6 - 6
SIMDP/SIMDP.Project/RWS/PLC1.cs

@@ -9,7 +9,6 @@ using SIMDP.Util;
 using Oracle.ManagedDataAccess.Client;
 using SIMDP.Project.MES;
 using Newtonsoft.Json;
-using static SIMDP.Project.ProductData;
 using static SIMDP.Project.STORAGE_BIND_L_TOOL;
 
 
@@ -420,13 +419,14 @@ namespace SIMDP.Project
             try
             {
                 ProduceMsg.inPara inPara = new ProduceMsg.inPara();
-                MoProductData moProductData = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialNum);
-                ProductionData_YKLG data = new ProductionData_YKLG();
+                MoProductData moProductData = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialNum); 
                 if (moProductData == null)
                 {
                     LogHelper.log.Error($"PLC1 ProductDataUpload():无法根据流水码找到生产数据,serialNum= {serialNum}");
                     return false;
                 }
+                ProdataSet data = new ProdataSet(moProductData.RuleId);
+               
                 data.LoadData(moProductData);
                 inPara.orderCode = data.dict["备注"];
                 inPara.workCode = data.dict["流转卡号"];
@@ -545,7 +545,7 @@ namespace SIMDP.Project
             LargeArriveWrite(model);
             Write("大托盘到位处理结果", 1);
             //5 本地存储
-            ProductionData_YKLG data = new ProductionData_YKLG();
+            ProdataSet data = new ProdataSet("压溃拉杆");
             data.dict["流转卡号"] = model.WorkCode;
             data.dict["物料名称"] = model.MrlName;
             data.dict["备注"] = model.CardRemark;
@@ -625,7 +625,7 @@ namespace SIMDP.Project
             MoProductData model = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialNum);
             if (model != null)
             {
-                ProductionData_YKLG data = new ProductionData_YKLG();
+                ProdataSet data = new ProdataSet(model.RuleId);
                 data.LoadData(model);
                 data.dict["辅助压机左侧压装力"] = fforce.ToString();
                 data.dict["辅助压机左侧工件尺寸"] = fdisplacement.ToString();
@@ -665,7 +665,7 @@ namespace SIMDP.Project
             MoProductData model = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialNum);
             if (model != null)
             {
-                ProductionData_YKLG data = new ProductionData_YKLG();
+                ProdataSet data = new ProdataSet(model.RuleId);
                 data.LoadData(model);
                 data.dict["辅助压机右侧压装力"] = fforce.ToString();
                 data.dict["辅助压机右侧工件尺寸"] = fdisplacement.ToString();

+ 7 - 9
SIMDP/SIMDP.Project/RWS/PLC3.cs

@@ -7,8 +7,6 @@ using SIMDP.Model;
 using SIMDP.Util;
 using SIMDP.Project.MES;
 using Newtonsoft.Json;
-using System.Collections.Generic;
-using static SIMDP.Project.ProductData;
 
 namespace SIMDP.Project
 {
@@ -362,7 +360,7 @@ namespace SIMDP.Project
             LargeArriveWrite(model);
             Write("大托盘到位处理结果", 1);
             //5 本地存储
-            ProductionData_HCQ data = new ProductionData_HCQ();
+            ProdataSet data = new ProdataSet("缓冲系统");
             data.dict["流转卡号"] = model.WorkCode;
             data.dict["物料名称"] = model.MrlName;
             data.dict["备注"] = model.CardRemark;
@@ -438,17 +436,17 @@ namespace SIMDP.Project
             float fdisplacement = ofdisplacement / 10000.0f;
 
             //2 数据绑定:根据流水号查找本地生产数据表
-            MoProductData moProductData = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialNum);
-            if (moProductData != null)
+            MoProductData model = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialNum);
+            if (model != null)
             {
-                ProductionData_HCQ data = new ProductionData_HCQ();
-                data.LoadData(moProductData);
+                ProdataSet data = new ProdataSet(model.RuleId);
+                data.LoadData(model);
                 data.dict["辅助压机压装力"] = fforce.ToString();
                 data.dict["辅助压机工件尺寸"] = fdisplacement.ToString();
                 data.dict["辅助压机结果"] = bok == true ? "OK" : "NG";
                 data.model.RuleTime = DateTime.Now;//更新的时间
-                LogHelper.log.Debug($"更新流水号数据:({moProductData.SerialNum})");
-                BLLFactory<BlProductData>.Instance.Update(data.toModel(), moProductData.DataId);
+                LogHelper.log.Debug($"更新流水号数据:({model.SerialNum})");
+                BLLFactory<BlProductData>.Instance.Update(data.toModel(), model.DataId);
             }
             else
             {

+ 8 - 9
SIMDP/SIMDP.Project/RWS/PLC4.cs

@@ -8,7 +8,6 @@ using SIMDP.Model;
 using SIMDP.Util;
 using SIMDP.Project.MES;
 using Newtonsoft.Json;
-using static SIMDP.Project.ProductData;
 using static SIMDP.Project.STORAGE_BIND_L_TOOL;
 
 namespace SIMDP.Project
@@ -523,7 +522,7 @@ namespace SIMDP.Project
             {
                 ProduceMsg.inPara inPara = new ProduceMsg.inPara();
                 MoProductData moProductData = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialNum);
-                ProductionData_YKLG data = new ProductionData_YKLG();
+                ProdataSet data = new ProdataSet(moProductData.RuleId);
                 if (moProductData == null)
                 {
                     LogHelper.log.Error($"PLC4 ProductDataUpload():无法根据流水码找到生产数据,serialNum= {serialNum}");
@@ -641,7 +640,7 @@ namespace SIMDP.Project
             try
             {
                 //5 本地存储
-                ProductionData_HCQ data = new ProductionData_HCQ();
+                ProdataSet data = new ProdataSet("缓冲系统");
                 data.dict["流转卡号"] = model.WorkCode;
                 data.dict["物料名称"] = model.MrlName;
                 data.dict["备注"] = model.CardRemark;
@@ -723,17 +722,17 @@ namespace SIMDP.Project
             float fdisplacement = ofdisplacement / 10000.0f;
 
             //2 数据绑定:根据流水号查找本地生产数据表
-            MoProductData moProductData = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialNum);
-            if (moProductData != null)
+            MoProductData model = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialNum);
+            if (model != null)
             {
-                ProductionData_HCQ data = new ProductionData_HCQ();
-                data.LoadData(moProductData);
+                ProdataSet data = new ProdataSet(model.RuleId);
+                data.LoadData(model);
                 data.dict["辅助压机压装力"] = fforce.ToString();
                 data.dict["辅助压机工件尺寸"] = fdisplacement.ToString();
                 data.dict["辅助压机结果"] = bok == true ? "OK" : "NG";
                 data.model.RuleTime = DateTime.Now;//更新的时间
-                LogHelper.log.Debug($"更新流水号数据:({moProductData.SerialNum})");
-                BLLFactory<BlProductData>.Instance.Update(data.toModel(), moProductData.DataId);
+                LogHelper.log.Debug($"更新流水号数据:({model.SerialNum})");
+                BLLFactory<BlProductData>.Instance.Update(data.toModel(), model.DataId);
             }
             else
             {

+ 1 - 6
SIMDP/SIMDP.Project/RWS/PLC5.cs

@@ -77,11 +77,6 @@ namespace SIMDP.Project
             Read("主压机压装力", out float fforce);
             Read("主压机位移", out float ofdisplacement);
 
-            //short serialNum = 10437;
-            //bool bok = true;
-            // float fforce = 12.3f;
-            // float ofdisplacement = 23.4f;
-
             //2 数据绑定:根据流水号查找本地生产数据表
             MoProductData model = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialNum);
             if (model == null)
@@ -90,7 +85,7 @@ namespace SIMDP.Project
                 LogHelper.log.Error($"{plcname} 存储压装数据失败,无法找到当前工件的上料信息,流水号 {serialNum}");
                 return;
             }
-            ProductData.ProductionData_YKLG data = new ProductData.ProductionData_YKLG();
+            ProdataSet data = new ProdataSet(model.RuleId);
             data.LoadData(model);
             data.dict["主压机压装力"] = fforce.ToString();
             data.dict["主压机工件尺寸"] = ofdisplacement.ToString();

+ 28 - 37
SIMDP/SIMDP.Project/RWS/PLC6.cs

@@ -5,24 +5,17 @@ using SIMDP.BLL;
 using SIMDP.Device;
 using SIMDP.Model;
 using System.IO;
-using static SIMDP.Project.ProductData;
 using SIMDP.Util;
 using System.Threading.Tasks;
 using SIMDP.Project.RWS;
 
 namespace SIMDP.Project
 {
-    /// <summary>
-    /// 后压溃主压机PLC
-    /// </summary>
     public class PLC6 : PlcMXComponent
     {
         #region 设备空间
 
-        public PLC6()
-        {
-            //主压机读取请求(true);
-        }
+        private string plcname = "后压溃主压机PLC";
 
         bool pcHeartBeat = false;
 
@@ -50,26 +43,28 @@ namespace SIMDP.Project
                             p.proc.Invoke(this, new object[] { value });
                     }
                 }
-                redis.Publish<string>(SysEnvironment.OpcDataChannel, "");
+                redis.Publish(SysEnvironment.OpcDataChannel, "");
             }
             catch (Exception ex)
             {
                 isConnect = false;
-                LogHelper.log.Error($"PLC6 通信异常,即将重连:{ex.Message}");
+                LogHelper.log.Error($"{plcname}通信异常,即将重连:{ex.Message}");
             }
         }
+
+        public override void actionConnected()
+        {
+            Write("主压机读取请求处理完成", false);
+        }
+
         #endregion
 
         #region 信号函数
 
-        /// <summary>
-        /// 根据PLC提供的流水号,定位并保存当前工件数据;查找CSV曲线是否生成,并改名;
-        /// </summary>
-        /// <param name="value"></param>
         public void 主压机读取请求(object value)
         {
             bool signal = Convert.ToBoolean(value);
-            LogHelper.log.Info($"PLC6 : signal ={signal}");
+            LogHelper.log.Info($"{plcname} signal ={signal}");
             if (!signal)
             {
                 Write("主压机读取请求处理完成", false);
@@ -82,47 +77,43 @@ namespace SIMDP.Project
             Read("主压机压装力", out float fforce);
             Read("主压机位移", out float ofdisplacement);
 
-            //short serialNum = 10438;
-            //bool bok = true;
-            //float fforce = 1.0f;
-            //float ofdisplacement = 1.0f;
-
             //2 数据绑定:根据流水号查找本地生产数据表
             MoProductData model = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialNum);
             if (model == null)
             {
-                LogHelper.log.Error($"PLC6: 存储压装数据失败,无法找到当前工件的上料信息,流水号 {serialNum}");
-                //Write("主压机读取请求处理完成", true);不给完成,等PLC超时报警
+                Tool.LogAndNotice("绑定数据错误", 3, $"数据库查询不到{serialNum}");
+                LogHelper.log.Error($"{plcname} 存储压装数据失败,无法找到当前工件的上料信息,流水号 {serialNum}");
                 return;
             }
-            ProductionData_YKLG data = new ProductionData_YKLG();
+            ProdataSet data = new ProdataSet(model.RuleId);
             data.LoadData(model);
             data.dict["主压机压装力"] = fforce.ToString();
             data.dict["主压机工件尺寸"] = ofdisplacement.ToString();
             data.dict["主压机结果"] = bok == true ? "OK" : "NG";
-            data.model.RuleTime = DateTime.Now;//更新的时间
+
+            //后压溃特殊处理
+            data.dict["辅助压机右侧侧压装力"] = "------";
+            data.dict["辅助压机右侧工件尺寸"] = "------";
+            data.dict["辅助压机右侧结果"] = "------";
+
+            data.model.RuleTime = DateTime.Now;
             BLLFactory<BlProductData>.Instance.Update(data.toModel(), model.DataId);
 
+            //3 反馈完成
+            Write("主压机读取请求处理完成", true);
+
+            //4 延时执行改名操作
             Task task = Task.Factory.StartNew(async () =>
             {
                 await Task.Delay(5000);
 
-                //2.1 csv文件改名
-                string csvPath = Tool.SearchLatestFile(serialNum, SysEnvironment.CSV_ExportPath);
-                if (string.IsNullOrEmpty(csvPath))
+                bool bres = PressHelper.FindNewUpload(serialNum.ToString(), SysEnvironment.CSV_ExportPath, out string newfile);
+                if (bres)
                 {
-                    Tool.LogAndNotice("找不到文件", 3, $"无法找到当前工件({serialNum})的压机数据");
-                    LogHelper.log.Error($"PLC6 无法找到CSV文件,流水号:({model.SerialNum})");
-                    Write("主压机读取请求处理完成", true);
-                    return;
+                    FileInfo fi = new FileInfo(newfile);
+                    PressHelper.RenameCSV(fi, data.dict["备注"], data.dict["图号"], serialNum.ToString());
                 }
-                string newName = data.dict["备注"] + '_' + data.dict["图号"] + '_' + DateTime.Now.ToString("yyyy-MM-dd-hh-mm") + '_' + serialNum + ".csv";
-                newName = csvPath.Substring(0, csvPath.LastIndexOf('\\')) + '\\' + newName;
-                File.Move(csvPath, PressHelper.ReplaceInvalidChar(newName));
             });
-
-            //3 反馈完成
-            Write("主压机读取请求处理完成", true);
         }
 
         #endregion

+ 31 - 43
SIMDP/SIMDP.Project/RWS/PLC7.cs

@@ -5,25 +5,17 @@ using SIMDP.BLL;
 using SIMDP.Device;
 using SIMDP.Model;
 using System.IO;
-using static SIMDP.Project.ProductData;
 using SIMDP.Util;
 using System.Threading.Tasks;
 using SIMDP.Project.RWS;
 
 namespace SIMDP.Project
 {
-    /// <summary>
-    /// 芯子压机PLC
-    /// </summary>
     public class PLC7 : PlcMXComponent
     {
         #region 设备空间
 
-
-        public PLC7()
-        {
-
-        }
+        private string plcname = "芯子主压机PLC";
 
         bool pcHeartBeat = false;
 
@@ -51,78 +43,74 @@ namespace SIMDP.Project
                             p.proc.Invoke(this, new object[] { value });
                     }
                 }
-                redis.Publish<string>(SysEnvironment.OpcDataChannel, "");
+                redis.Publish(SysEnvironment.OpcDataChannel, "");
             }
             catch (Exception ex)
             {
                 isConnect = false;
-                LogHelper.log.Error($"PLC7 通信异常,即将重连:{ex.Message}");
+                LogHelper.log.Error($"{plcname}通信异常,即将重连:{ex.Message}");
             }
         }
+
+        public override void actionConnected()
+        {
+            Write("主压机读取请求处理完成", false);
+        }
+
         #endregion
 
         #region 信号函数
 
-        /// <summary>
-        /// 根据PLC提供的流水号,定位并保存当前工件数据;查找CSV曲线是否生成,并改名;
-        /// </summary>
-        /// <param name="value"></param>
-        public void 芯子压机读取请求(object value)
+        public void 主压机读取请求(object value)
         {
             bool signal = Convert.ToBoolean(value);
-            LogHelper.log.Info($"PLC7 : signal ={signal}");
+            LogHelper.log.Info($"{plcname} signal ={signal}");
             if (!signal)
             {
-                Write("芯子压机读取请求处理完成", false);
+                Write("压机读取请求处理完成", false);
                 return;
             }
 
             //1 读取数据:流水号、压装力、位移
-            Read("芯子压机读取流水号", out short serialNum);
-            Read("芯子压机OK", out bool bok);
-            Read("芯子压机压装力", out float fforce);
-            Read("芯子压机位移", out float ofdisplacement);
+            Read("压机读取流水号", out short serialNum);
+            Read("压机OK", out bool bok);
+            Read("压机压装力", out float fforce);
+            Read("压机位移", out float ofdisplacement);
 
             //2 数据绑定:根据流水号查找本地生产数据表
             MoProductData model = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialNum);
             if (model == null)
             {
-                LogHelper.log.Error($"PLC7: 存储压装数据失败,无法找到当前工件的上料信息,流水号 {serialNum}");
-                //Write("芯子压机读取请求处理完成", true);不给完成,等PLC超时报警
+                Tool.LogAndNotice("绑定数据错误", 3, $"数据库查询不到{serialNum}");
+                LogHelper.log.Error($"{plcname} 存储压装数据失败,无法找到当前工件的上料信息,流水号 {serialNum}");
                 return;
             }
-            ProductionData_HCQ data = new ProductionData_HCQ();
+            ProdataSet data = new ProdataSet(model.RuleId);
             data.LoadData(model);
-            data.dict["芯子压机压装力"] = fforce.ToString();
-            data.dict["芯子压机工件尺寸"] = ofdisplacement.ToString();
-            data.dict["芯子压机结果"] = bok == true ? "OK" : "NG";
-            data.model.RuleTime = DateTime.Now;//更新的时间
+            data.dict["压机压装力"] = fforce.ToString();
+            data.dict["压机工件尺寸"] = ofdisplacement.ToString();
+            data.dict["压机结果"] = bok == true ? "OK" : "NG";
+            data.model.RuleTime = DateTime.Now;
             BLLFactory<BlProductData>.Instance.Update(data.toModel(), model.DataId);
 
+            //3 反馈完成
+            Write("主压机读取请求处理完成", true);
+
+            //4 延时执行改名操作
             Task task = Task.Factory.StartNew(async () =>
             {
                 await Task.Delay(5000);
 
-                //2.1 csv文件改名
-                string csvPath = Tool.SearchLatestFile(serialNum, SysEnvironment.CSV_ExportPath);
-                if (string.IsNullOrEmpty(csvPath))
+                bool bres = PressHelper.FindNewUpload(serialNum.ToString(), SysEnvironment.CSV_ExportPath, out string newfile);
+                if (bres)
                 {
-                    Tool.LogAndNotice("找不到文件", 3, $"无法找到当前工件({serialNum})的压机数据");
-                    LogHelper.log.Error($"PLC7 无法找到CSV文件,流水号:({model.SerialNum})");
-                    Write("芯子压机读取请求处理完成", true);
-                    return;
+                    FileInfo fi = new FileInfo(newfile);
+                    PressHelper.RenameCSV(fi, data.dict["备注"], data.dict["图号"], serialNum.ToString());
                 }
-                string newName = data.dict["备注"] + '_' + data.dict["图号"] + '_' + DateTime.Now.ToString("yyyy-MM-dd-hh-mm") + '_' + serialNum + ".csv";
-                newName = csvPath.Substring(0, csvPath.LastIndexOf('\\')) + '\\' + newName;
-                File.Move(csvPath, PressHelper.ReplaceInvalidChar(newName));
             });
-
-            //3 反馈完成
-            Write("芯子压机读取请求处理完成", true);
         }
 
         #endregion
-
     }
 }
 

+ 31 - 44
SIMDP/SIMDP.Project/RWS/PLC8.cs

@@ -5,25 +5,17 @@ using SIMDP.BLL;
 using SIMDP.Device;
 using SIMDP.Model;
 using System.IO;
-using static SIMDP.Project.ProductData;
 using SIMDP.Util;
 using System.Threading.Tasks;
 using SIMDP.Project.RWS;
 
 namespace SIMDP.Project
 {
-    /// <summary>
-    /// 壳体压机PLC
-    /// </summary>
     public class PLC8 : PlcMXComponent
     {
         #region 设备空间
 
-
-        public PLC8()
-        {
-
-        }
+        private string plcname = "壳体主压机PLC";
 
         bool pcHeartBeat = false;
 
@@ -51,79 +43,74 @@ namespace SIMDP.Project
                             p.proc.Invoke(this, new object[] { value });
                     }
                 }
-                redis.Publish<string>(SysEnvironment.OpcDataChannel, "");
+                redis.Publish(SysEnvironment.OpcDataChannel, "");
             }
             catch (Exception ex)
             {
                 isConnect = false;
-                LogHelper.log.Error($"PLC8 通信异常,即将重连:{ex.Message}");
+                LogHelper.log.Error($"{plcname}通信异常,即将重连:{ex.Message}");
             }
         }
+
+        public override void actionConnected()
+        {
+            Write("主压机读取请求处理完成", false);
+        }
+
         #endregion
 
         #region 信号函数
 
-        /// <summary>
-        /// 根据PLC提供的流水号,定位并保存当前工件数据;查找CSV曲线是否生成,并改名;
-        /// </summary>
-        /// <param name="value"></param>
-        public void 壳体压机读取请求(object value)
+        public void 主压机读取请求(object value)
         {
             bool signal = Convert.ToBoolean(value);
-            LogHelper.log.Info($"PLC8 : signal ={signal}");
+            LogHelper.log.Info($"{plcname} signal ={signal}");
             if (!signal)
             {
-                Write("壳体压机读取请求处理完成", false);
+                Write("压机读取请求处理完成", false);
                 return;
             }
 
             //1 读取数据:流水号、压装力、位移
-            Read("壳体压机读取流水号", out short serialNum);
-            Read("壳体压机OK", out bool bok);
-            Read("壳体压机压装力", out float fforce);
-            Read("壳体压机位移", out float ofdisplacement);
+            Read("压机读取流水号", out short serialNum);
+            Read("压机OK", out bool bok);
+            Read("压机压装力", out float fforce);
+            Read("压机位移", out float ofdisplacement);
 
             //2 数据绑定:根据流水号查找本地生产数据表
             MoProductData model = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialNum);
             if (model == null)
             {
-                LogHelper.log.Error($"PLC8: 存储压装数据失败,无法找到当前工件的上料信息,流水号 {serialNum}");
-                //Write("壳体压机读取请求处理完成", true);不给完成,等PLC超时报警
+                Tool.LogAndNotice("绑定数据错误", 3, $"数据库查询不到{serialNum}");
+                LogHelper.log.Error($"{plcname} 存储压装数据失败,无法找到当前工件的上料信息,流水号 {serialNum}");
                 return;
             }
-            ProductionData_HCQ data = new ProductionData_HCQ();
+            ProdataSet data = new ProdataSet(model.RuleId);
             data.LoadData(model);
-            data.dict["壳体压机压装力"] = fforce.ToString();
-            data.dict["壳体压机工件尺寸"] = ofdisplacement.ToString();
-            data.dict["壳体压机结果"] = bok == true ? "OK" : "NG";
-            data.model.RuleTime = DateTime.Now;//更新的时间
+            data.dict["压机压装力"] = fforce.ToString();
+            data.dict["压机工件尺寸"] = ofdisplacement.ToString();
+            data.dict["压机结果"] = bok == true ? "OK" : "NG";
+            data.model.RuleTime = DateTime.Now;
             BLLFactory<BlProductData>.Instance.Update(data.toModel(), model.DataId);
 
+            //3 反馈完成
+            Write("主压机读取请求处理完成", true);
+
+            //4 延时执行改名操作
             Task task = Task.Factory.StartNew(async () =>
             {
                 await Task.Delay(5000);
 
-                //2.1 csv文件改名
-                string csvPath = Tool.SearchLatestFile(serialNum, SysEnvironment.CSV_ExportPath);
-                if (string.IsNullOrEmpty(csvPath))
+                bool bres = PressHelper.FindNewUpload(serialNum.ToString(), SysEnvironment.CSV_ExportPath, out string newfile);
+                if (bres)
                 {
-                    Tool.LogAndNotice("找不到文件", 3, $"无法找到当前工件({serialNum})的压机数据");
-                    LogHelper.log.Error($"PLC8 无法找到CSV文件,流水号:({model.SerialNum})");
-                    Write("壳体压机读取请求处理完成", true);
-                    return;
+                    FileInfo fi = new FileInfo(newfile);
+                    PressHelper.RenameCSV(fi, data.dict["备注"], data.dict["图号"], serialNum.ToString());
                 }
-                string newName = data.dict["备注"] + '_' + data.dict["图号"] + '_' + DateTime.Now.ToString("yyyy-MM-dd-hh-mm") + '_' + serialNum + ".csv";
-                newName = csvPath.Substring(0, csvPath.LastIndexOf('\\')) + '\\' + newName;
-                File.Move(csvPath, PressHelper.ReplaceInvalidChar(newName));
             });
-
-            //3 反馈完成
-            Write("壳体压机读取请求处理完成", true);
         }
 
-
         #endregion
-
     }
 }
 

+ 4 - 4
SIMDP/SIMDP.Project/RWS/PLC9.cs

@@ -8,7 +8,7 @@ using SIMDP.Model;
 using SIMDP.Util;
 using SIMDP.Project.MES;
 using Newtonsoft.Json;
-using static SIMDP.Project.ProductData;
+using static SIMDP.Project.ProdataSet;
 using static SIMDP.Project.STORAGE_BIND_L_TOOL;
 
 using static PLC1SysEnvironment.PLC1Status;
@@ -189,7 +189,7 @@ namespace SIMDP.Project
             LargeArriveWrite(model);
             Write("大托盘到位处理结果", 1);
             //5 本地存储
-            ProductionData_YKLG data = new ProductionData_YKLG();
+            ProdataSet data = new ProdataSet("压溃拉杆");
             data.dict["流转卡号"] = model.WorkCode;
             data.dict["物料名称"] = model.MrlName;
             data.dict["备注"] = model.CardRemark;
@@ -269,7 +269,7 @@ namespace SIMDP.Project
             MoProductData model = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialNum);
             if (model != null)
             {
-                ProductionData_YKLG data = new ProductionData_YKLG();
+                ProdataSet data = new ProdataSet(model.RuleId);
                 data.LoadData(model);
                 data.dict["辅助压机左侧压装力"] = fforce.ToString();
                 data.dict["辅助压机左侧工件尺寸"] = fdisplacement.ToString();
@@ -309,7 +309,7 @@ namespace SIMDP.Project
             MoProductData model = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialNum);
             if (model != null)
             {
-                ProductionData_YKLG data = new ProductionData_YKLG();
+                ProdataSet data = new ProdataSet(model.RuleId);
                 data.LoadData(model);
                 data.dict["辅助压机右侧压装力"] = fforce.ToString();
                 data.dict["辅助压机右侧工件尺寸"] = fdisplacement.ToString();

+ 2 - 8
SIMDP/SIMDP.Project/RWS/PressHelper.cs

@@ -5,10 +5,6 @@ using SIMDP.Model;
 using System;
 using System.Collections.Generic;
 using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using static SIMDP.Project.ProductData;
 
 namespace SIMDP.Project.RWS
 {
@@ -64,22 +60,20 @@ namespace SIMDP.Project.RWS
             foreach (string sf in files)
             {
                 FileInfo fi = new FileInfo(sf);
-
                 string serialnum = "";
                 if (fi.Name.StartsWith("_") && !fi.Name.StartsWith("__") && fi.Name.Length > 5)
                 {
                     serialnum = fi.Name.Substring(1, 5);
                 }
                 if (serialnum == "") continue;
+
                 MoProductData model = BLLFactory<BlProductData>.Instance.FindbySerialNum(serialnum);
                 if (model == null) continue;
-                ProductionData_YKLG data = new ProductionData_YKLG();
+                ProdataSet data = new ProdataSet(model.RuleId);
                 data.LoadData(model);
 
                 string newName = data.dict["备注"] + '_' + data.dict["图号"] + '_' + fi.CreationTime.ToString("yyyy-MM-dd-hh-mm") + '_' + serialnum;
-
                 fi.MoveTo(Path.Combine(fi.DirectoryName + @"\" + ReplaceInvalidChar(newName) + fi.Extension));
-
             }
             return true;
         }

+ 87 - 0
SIMDP/SIMDP.Project/RWS/ProdataSet.cs

@@ -0,0 +1,87 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using ProjectBase.Data.BaseDAL;
+using SIMDP.BLL;
+using SIMDP.Model;
+
+namespace SIMDP.Project
+{
+    public class ProdataSet
+    {
+        List<string> keys = new List<string>();
+
+        public Dictionary<string, string> dict = new Dictionary<string, string>();
+
+        public MoProductData model = new MoProductData();
+
+        public ProdataSet(string rulename)
+        {
+            MoRule moRule = BLLFactory<BlRule>.Instance.FindSingle($"rule_name = '{rulename}'");
+            if (moRule == null) return;
+            model.RuleId = moRule.RuleId;
+
+            string[] keylist = moRule.RuleValue.Split(';');
+            foreach (string s in keylist)
+            {
+                keys.Add(s.Replace("\r", "").Replace("\n", "").Split(',')[0]);
+            }
+            foreach (var key in keys)
+            {
+                dict.Add(key, "");
+            }
+        }
+
+        public ProdataSet(long ruleid)
+        {
+            model.RuleId = ruleid;
+
+            MoRule moRule = BLLFactory<BlRule>.Instance.FindByID(ruleid);
+            if (moRule == null) return;
+            string[] keylist = moRule.RuleValue.Split(';');
+            foreach (string s in keylist)
+            {
+                keys.Add(s.Replace("\r","").Replace("\n","").Split(',')[0]);
+            }
+            foreach (var key in keys)
+            {
+                dict.Add(key, "");
+            }
+        }
+
+        public string Dict2String()
+        {
+            StringBuilder builder = new StringBuilder();
+            foreach (var d in dict)
+            {
+                if (builder.Length > 0)
+                    builder.Append(",");
+                builder.Append(d.Value);
+            }
+            return builder.ToString();
+        }
+
+        public MoProductData toModel()
+        {
+            model.DataValue = Dict2String();
+            return model;
+        }
+
+        public void LoadData(MoProductData data)
+        {
+            model.DataId = data.DataId;
+            model.DataValue = data.DataValue;
+            model.RuleId = data.RuleId;
+            model.RuleTime = data.RuleTime;
+            model.Batchid = data.Batchid;
+            model.SerialNum = data.SerialNum;
+            string[] values = model.DataValue.Split(',');
+            if (values.Length > keys.Count)
+                return;
+            for (int i = 0; i < keys.Count; i++)
+            {
+                dict[keys[i]] = values[i];
+            }
+        }
+    }
+}

+ 0 - 152
SIMDP/SIMDP.Project/RWS/ProductData.cs

@@ -1,152 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using ProjectBase.Data.BaseDAL;
-using SIMDP.Model;
-
-namespace SIMDP.Project
-{
-    public class ProductData
-    {
-        public class ProductionData_YKLG
-
-        {
-            List<string> keys = new List<string>();
-            public Dictionary<string, string> dict = new Dictionary<string, string>();
-            public MoProductData model = new MoProductData();
-
-            public ProductionData_YKLG()
-            {
-                model.RuleId = BLLFactory<BLL.BlRule>.Instance.GetRuleIdByName("压溃拉杆");
-                keys.Add("流转卡号");
-                keys.Add("物料名称");
-                keys.Add("备注");
-                keys.Add("图号");
-
-                keys.Add("辅助压机左侧压装力");
-                keys.Add("辅助压机左侧工件尺寸");
-                keys.Add("辅助压机左侧结果"); 
-                
-                keys.Add("辅助压机右侧压装力");
-                keys.Add("辅助压机右侧工件尺寸");
-                keys.Add("辅助压机右侧结果");
-
-                keys.Add("主压机压装力");
-                keys.Add("主压机工件尺寸");
-                keys.Add("主压机结果");
-
-                keys.Add("流水码");
-                keys.Add("成品码");
-             
-
-
-                foreach (var key in keys)
-                {
-                    dict.Add(key, "");
-                }
-            }
-            public string Dict2String()
-            {
-                StringBuilder builder = new StringBuilder();
-                foreach (var d in dict)
-                {
-                    if (builder.Length > 0)
-                        builder.Append(",");
-                    builder.Append(d.Value);
-                }
-                return builder.ToString();
-            }
-            public MoProductData toModel()
-            {
-                model.DataValue = this.Dict2String();
-                return model;
-            }
-            public void LoadData(MoProductData data)
-            {
-                model.DataId = data.DataId;
-                model.DataValue = data.DataValue;
-                model.RuleId = data.RuleId;
-                model.RuleTime = data.RuleTime;
-                model.Batchid = data.Batchid;
-                model.SerialNum = data.SerialNum;
-                string[] values = model.DataValue.Split(',');
-                if (values.Length > keys.Count)
-                    return;
-                for (int i = 0; i < keys.Count; i++)
-                {
-                    dict[keys[i]] = values[i];
-                }
-            }
-        }
-
-        public class ProductionData_HCQ
-
-        {
-            List<string> keys = new List<string>();
-            public Dictionary<string, string> dict = new Dictionary<string, string>();
-            public MoProductData model = new MoProductData();
-
-            public ProductionData_HCQ()
-            {
-                model.RuleId = BLLFactory<BLL.BlRule>.Instance.GetRuleIdByName("缓冲系统");
-                keys.Add("流转卡号");
-                keys.Add("物料名称");
-                keys.Add("备注");
-                keys.Add("图号");
-
-                keys.Add("辅助压机压装力");
-                keys.Add("辅助压机工件尺寸");
-                keys.Add("辅助压机结果");
-
-                keys.Add("芯子压机压装力");
-                keys.Add("芯子压机工件尺寸");
-                keys.Add("芯子压机结果");
-
-                keys.Add("壳体压机压装力");    
-                keys.Add("壳体压机工件尺寸");
-                keys.Add("壳体压机结果");
-
-                keys.Add("流水码");
-                keys.Add("成品码");
-
-                foreach (var key in keys)
-                {
-                    dict.Add(key, "");
-                }
-            }
-            public string Dict2String()
-            {
-                StringBuilder builder = new StringBuilder();
-                foreach (var d in dict)
-                {
-                    if (builder.Length > 0)
-                        builder.Append(",");
-                    builder.Append(d.Value);
-                }
-                return builder.ToString();
-            }
-            public MoProductData toModel()
-            {
-                model.DataValue = this.Dict2String();
-                return model;
-            }
-            public void LoadData(MoProductData data)
-            {
-                model.DataId = data.DataId;
-                model.DataValue = data.DataValue;
-                model.RuleId = data.RuleId;
-                model.RuleTime = data.RuleTime;
-                model.Batchid = data.Batchid; model.SerialNum = data.SerialNum;
-                string[] values = model.DataValue.Split(',');
-                if (values.Length > keys.Count)
-                    return;
-                for (int i = 0; i < keys.Count; i++)
-                {
-                    dict[keys[i]] = values[i];
-                }
-            }
-        }
-
-
-    }
-}

+ 1 - 1
SIMDP/SIMDP.Project/SIMDP.Project.csproj

@@ -98,7 +98,7 @@
     <Compile Include="RWS\PLC8.cs" />
     <Compile Include="RWS\PLC6.cs" />
     <Compile Include="RWS\PressHelper.cs" />
-    <Compile Include="RWS\ProductData.cs" />
+    <Compile Include="RWS\ProdataSet.cs" />
     <Compile Include="RWS\PLC5.cs" />
     <Compile Include="Demo\OpcDaDemo.cs" />
     <Compile Include="Demo\OpcUaDemo.cs" />

+ 1 - 1
SIMDP/SIMDP.View/App.config

@@ -8,7 +8,7 @@
 		<add key="ComponentDbType" value="sqlserver" />
 		<add key="ClientSettingsProvider.ServiceUri" value="" />
 		<add key="ClientSettingsProvider.ConnectionStringName" value="DefaultConnection" />
-		<add key="Version" value="1.6.3" />
+		<add key="Version" value="1.6.5" />
 		<add key="DefaultUser" value="10017" />
 		<!--读取曲线csv文件的延迟时间-->
 		<add key="ReadCsvDelay" value="1000" />

+ 0 - 1
SIMDP/SIMDP.View/BasicForms/FormDataManage.cs

@@ -5,7 +5,6 @@ using System.Data;
 using System.Drawing;
 using System.Text;
 using System.Linq;
-using System.Threading.Tasks;
 using System.Windows.Forms;
 using DevExpress.XtraEditors;
 using ProjectBase.Data.Logs;

+ 11 - 13
SIMDP/SIMDP.View/FormDataTraceability.cs

@@ -189,19 +189,22 @@ namespace SIMDP
                 dtProduct.DefaultView.Sort = "更新时间 ASC";
                 dtProduct = dtProduct.DefaultView.ToTable();
 
-                this.gridView1.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-                this.gridControl1.DataSource = dtProduct;
-
-                for (int i = 0; i < this.gridView1.Columns.Count; i++)   //设置每列内容居中显示
+                gridView1.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
+                gridControl1.DataSource = dtProduct;
+                for (int i = 0; i < gridView1.Columns.Count; i++)
                 {
-                    this.gridView1.Columns[i].AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-                    //设置时间列显示格式
-                    this.gridView1.Columns[0].DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
-                    this.gridView1.Columns[0].DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
+                    gridView1.Columns[i].AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
+                    gridView1.Columns[0].DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
+                    gridView1.Columns[0].DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
                 }
+                gridView1.Columns[0].MinWidth = 125;
+                gridView1.Columns[1].MinWidth = 125;
+                gridView1.Columns[2].MaxWidth = 60;
+                gridView1.Columns[3].MaxWidth = 60;
 
                 foreach (DataRow item in table.Rows)
                 {
+                    gridView1.Columns[columns].BestFit();
                     if (item.Field<string>("Query").Equals("是"))
                     {
                         gridView1.Columns[columns].OptionsFilter.AllowAutoFilter = true;
@@ -216,11 +219,6 @@ namespace SIMDP
                     }
                     columns++;
                 }
-                this.gridView1.Columns[0].MinWidth = 125;
-                this.gridView1.Columns[1].MinWidth = 125;
-                this.gridView1.Columns[0].BestFit();
-                this.gridView1.Columns[1].BestFit();
-
                 gridControl1.RefreshDataSource();
             }
             catch (Exception ex)

+ 3 - 19
SIMDP/SIMDP.View/Program.cs

@@ -1,13 +1,7 @@
 using System;
 using System.Windows.Forms;
-using DevExpress.UserSkins;
-using DevExpress.Skins;
 using ProjectBase.Data.Logs;
 using System.Threading;
-using SIMDP.Model;
-using ProjectBase.Data.BaseDAL;
-using SIMDP.BLL;
-using SIMDP.Project.RWS;
 
 namespace SIMDP
 {
@@ -37,24 +31,14 @@ namespace SIMDP
             }
 
             //BonusSkins.Register();
-            //SkinManager.EnableFormSkins();          
-
+            //SkinManager.EnableFormSkins();
+            
             Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
             AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
 
-
-
-            //MoSystemParameter model = BLLFactory<BlSystemParameter>.Instance.FindSingle($"parameter_name = 'CsvExportPath'");
-            //if (model == null) return;
-
-            ////PressHelper.RenameAllCSV(model.ParameterValue);
-
-            //PressHelper.FindNewUpload("10437", model.ParameterValue, out string newfile);
-           
-
             Application.Run(new MainForm());
-
         }
+
         static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
         {
             LogHelper.log.Debug(e.ExceptionObject.ToString());