Переглянути джерело

完善csv数据,添加ppid

844184169 5 місяців тому
батько
коміт
683594f813

+ 59 - 10
TeamAAS-VM/Core/Management.cs

@@ -1333,6 +1333,9 @@ namespace TeamAAS_VP.Core
         string[] model_num { get; set; } = new string[10];//产品model_num
         string[] wo { get; set; } = new string[10];//产品wo
         string[] color { get; set; } = new string[10];//产品color
+        string[] ppid { get; set; } = new string[10];//产品ppid
+        string[] revision { get; set; } = new string[10];//产品revision
+
         Dictionary<string, string> dataToMes = new Dictionary<string, string>();//上传mes的数据
         List<string> resultToMes = new List<string>();//上传mes的数据
         /// <summary>
@@ -2275,7 +2278,8 @@ namespace TeamAAS_VP.Core
                                             SendTaskMessage($"收到{i}过站检查请求(当站是否生产)...", MessageLevel.Debug);
                                         }
 
-                                        _LastMesCheckTime[i] = DateTime.Now;
+                                        //获取过站时间
+                                        _LastMesCheckTime[i] = (await _mesService.GetServerTimeAsync(i, code, 2)).Now;
                                         LogHelper.WriteLogMes($"【mes开始QUERY】");
                                         SendTaskMessage($"mes开始QUERY", MessageLevel.Info);
                                         dataToMes.Clear();
@@ -2334,6 +2338,18 @@ namespace TeamAAS_VP.Core
                                                         color[i] = colorItem.Replace("color=", "").Trim();
                                                         SendTaskMessage($"color:{color[i]}", MessageLevel.Info);
                                                     }
+                                                    string ppidItem = item.FirstOrDefault(f => f.Contains("ppid="));
+                                                    if (ppidItem != null)
+                                                    {
+                                                        ppid[i] = ppidItem.Replace("ppid=", "").Trim();
+                                                        SendTaskMessage($"ppid:{ppid[i]}", MessageLevel.Info);
+                                                    }
+                                                    string revisionItem = item.FirstOrDefault(f => f.Contains("revision="));
+                                                    if (revisionItem != null)
+                                                    {
+                                                        revision[i] = revisionItem.Replace("revision=", "").Trim();
+                                                        SendTaskMessage($"revision:{revision[i]}", MessageLevel.Info);
+                                                    }
 
                                                     LogHelper.WriteLogMes($"第二次询问mes成功");
                                                     SendTaskMessage($"第二次询问mes成功:{response2}", MessageLevel.Debug);
@@ -2426,6 +2442,18 @@ namespace TeamAAS_VP.Core
                                                     color[i] = colorItem.Replace("color=", "").Trim();
                                                     SendTaskMessage($"color:{color[i]}", MessageLevel.Info);
                                                 }
+                                                string ppidItem = item.FirstOrDefault(f => f.Contains("ppid="));
+                                                if (ppidItem != null)
+                                                {
+                                                    ppid[i] = ppidItem.Replace("ppid=", "").Trim();
+                                                    SendTaskMessage($"ppid:{ppid[i]}", MessageLevel.Info);
+                                                }
+                                                string revisionItem = item.FirstOrDefault(f => f.Contains("revision="));
+                                                if (revisionItem != null)
+                                                {
+                                                    revision[i] = revisionItem.Replace("revision=", "").Trim();
+                                                    SendTaskMessage($"revision:{revision[i]}", MessageLevel.Info);
+                                                }
 
                                                 //切换产品
                                                 if (i == 0)//i=0时才会切换产品
@@ -2491,7 +2519,7 @@ namespace TeamAAS_VP.Core
                                 {
                                     if (_configService.GetDeviceInfo().EnableMES == true)
                                     {
-                                        DFC.Clear();
+                                        DFC.Clear();//CTQ数据集合
 
                                         //获取当前工位的配置
                                         var stationConfig = _configService.GetDeviceInfo(0);
@@ -2570,9 +2598,13 @@ namespace TeamAAS_VP.Core
                                                             turnRes = true;
                                                         }
                                                         else turnRes = false;
+
+                                                        string midValue = "", saveppid = "";
+                                                        if (stationConfig.SaveCsvPPID) saveppid = ppid[i];
+                                                        midValue = ((lockResult.TargetTorqueLowerLimit + lockResult.TargetTorqueUpperLimit) / 2).ToString("F3");
                                                         DFC.Add(new DataFormCtq
                                                         {
-                                                            PPID = ProductMainSN[i],
+                                                            PPID = saveppid,
                                                             ScrewNum = lockResult.Number,
                                                             PROCESS_NAME = stationConfig.DataInfo.PROCESS_NAME,
                                                             PROCESS_START_TIME = _LastMesCheckTime[i].ToString("yyyy-MM-ddTHH:mm:ss.fffffff") + "+08:00",
@@ -2590,11 +2622,17 @@ namespace TeamAAS_VP.Core
                                                             PROCESS_OUTCOME = torqueRes ? "PASS" : "FAIL",
                                                             PROCESS_MACHINE_ID = stationConfig.DataInfo.PROCESS_MACHINE_ID,
                                                             CTQ_UNIT_OF_MEASURE = "kgf.cm",
-                                                            ERROR_MESSAGE = torqueRes ? "" : "Torque_Spec OOS"
+                                                            ERROR_MESSAGE = torqueRes ? "" : "Torque_Spec OOS",
+                                                            PD_ATTR_01 = midValue,
+                                                            PD_ATTR_02 = ProductMainSN[i],
+                                                            PD_ATTR_03 = "",
+                                                            PD_ATTR_04 = "",
+                                                            PD_ATTR_05 = "",
                                                         });
+                                                        midValue = ((lockResult.TargetTurnsLowerLimit + lockResult.TargetTurnsUpperLimit) / 2).ToString("F3");
                                                         DFC.Add(new DataFormCtq
                                                         {
-                                                            PPID = ProductMainSN[i],
+                                                            PPID = saveppid,
                                                             ScrewNum = lockResult.Number,
                                                             PROCESS_NAME = stationConfig.DataInfo.PROCESS_NAME,
                                                             PROCESS_START_TIME = _LastMesCheckTime[i].ToString("yyyy-MM-ddTHH:mm:ss.fffffff") + "+08:00",
@@ -2612,11 +2650,17 @@ namespace TeamAAS_VP.Core
                                                             PROCESS_OUTCOME = turnRes ? "PASS" : "FAIL",
                                                             PROCESS_MACHINE_ID = stationConfig.DataInfo.PROCESS_MACHINE_ID,
                                                             CTQ_UNIT_OF_MEASURE = "圈",
-                                                            ERROR_MESSAGE = turnRes ? "" : "Turn_Spec OOS"
+                                                            ERROR_MESSAGE = turnRes ? "" : "Turn_Spec OOS",
+                                                            PD_ATTR_01 = midValue,
+                                                            PD_ATTR_02 = ProductMainSN[i],
+                                                            PD_ATTR_03 = "",
+                                                            PD_ATTR_04 = "",
+                                                            PD_ATTR_05 = "",
                                                         });
+                                                        midValue = ((stationConfig.DataInfo.CTQ_LSL_Pressure + stationConfig.DataInfo.CTQ_USL_Pressure) / 2).ToString("F3");
                                                         DFC.Add(new DataFormCtq
                                                         {
-                                                            PPID = ProductMainSN[i],
+                                                            PPID = saveppid,
                                                             ScrewNum = lockResult.Number,
                                                             PROCESS_NAME = stationConfig.DataInfo.PROCESS_NAME,
                                                             PROCESS_START_TIME = _LastMesCheckTime[i].ToString("yyyy-MM-ddTHH:mm:ss.fffffff") + "+08:00",
@@ -2634,7 +2678,12 @@ namespace TeamAAS_VP.Core
                                                             PROCESS_OUTCOME = pressureRes ? "PASS" : "FAIL",
                                                             PROCESS_MACHINE_ID = stationConfig.DataInfo.PROCESS_MACHINE_ID,
                                                             CTQ_UNIT_OF_MEASURE = "N",
-                                                            ERROR_MESSAGE = pressureRes ? "" : "Pressure_Spec OOS"
+                                                            ERROR_MESSAGE = pressureRes ? "" : "Pressure_Spec OOS",
+                                                            PD_ATTR_01 = midValue,
+                                                            PD_ATTR_02 = ProductMainSN[i],
+                                                            PD_ATTR_03 = "",
+                                                            PD_ATTR_04 = "",
+                                                            PD_ATTR_05 = "",
                                                         });
                                                     }
                                                 }
@@ -3310,7 +3359,7 @@ namespace TeamAAS_VP.Core
                 if (!File.Exists(fullPath))
                 {
                     sb.Append("PPID,Screw_Number,PROCESS_NAME,PROCESS_START_TIME,CTQ_NAME,CTQ_VALUE,CTQ_LSL,CTQ_USL,PROCESS_END_TIME,SUPPLIER_NAME,COMMODITY_TYPE,REVISION,WO#,MFG_LOT#," +
-                        "MFG_ASSY_LINE,PROCESS_OUTCOME,PROCESS_MACHINE_ID,CTQ_UNIT_OF_MEASURE,ERROR_MESSAGE");
+                        "MFG_ASSY_LINE,PROCESS_OUTCOME,PROCESS_MACHINE_ID,CTQ_UNIT_OF_MEASURE,ERROR_MESSAGE,PD_ATTR_01,PD_ATTR_02,PD_ATTR_03,PD_ATTR_04,PD_ATTR_05");
                     sb.AppendLine();
                 }
                 if (dfcs == null || dfcs.Count() == 0)
@@ -3319,7 +3368,7 @@ namespace TeamAAS_VP.Core
                 }
                 foreach (var dfc in dfcs)
                 {
-                    sb.Append($"{dfc.PPID},{dfc.ScrewNum},{dfc.PROCESS_NAME},{dfc.PROCESS_START_TIME},{dfc.CTQ_NAME},{dfc.CTQ_VALUE:F3},{dfc.CTQ_LSL:F3},{dfc.CTQ_USL:F3},{dfc.PROCESS_END_TIME},{dfc.SUPPLIER_NAME},{dfc.COMMODITY_TYPE},{dfc.REVISION},{dfc.WO},{dfc.MFG_LOT},{dfc.MFG_ASSY_LINE},{dfc.PROCESS_OUTCOME},{dfc.PROCESS_MACHINE_ID},{dfc.CTQ_UNIT_OF_MEASURE},{dfc.ERROR_MESSAGE}");
+                    sb.Append($"{dfc.PPID},{dfc.ScrewNum},{dfc.PROCESS_NAME},{dfc.PROCESS_START_TIME},{dfc.CTQ_NAME},{dfc.CTQ_VALUE:F3},{dfc.CTQ_LSL:F3},{dfc.CTQ_USL:F3},{dfc.PROCESS_END_TIME},{dfc.SUPPLIER_NAME},{dfc.COMMODITY_TYPE},{dfc.REVISION},{dfc.WO},{dfc.MFG_LOT},{dfc.MFG_ASSY_LINE},{dfc.PROCESS_OUTCOME},{dfc.PROCESS_MACHINE_ID},{dfc.CTQ_UNIT_OF_MEASURE},{dfc.ERROR_MESSAGE},{dfc.PD_ATTR_01},{dfc.PD_ATTR_02},{dfc.PD_ATTR_03},{dfc.PD_ATTR_04},{dfc.PD_ATTR_05}");
                     sb.AppendLine();
                 }
                 // 使用 StreamWriter 以追加模式打开文件

+ 30 - 0
TeamAAS-VM/Models/DataFormCtq.cs

@@ -111,6 +111,36 @@ namespace TeamAAS_VP.Models
         /// </summary>
         public string ERROR_MESSAGE { get => _ERROR_MESSAGE; set => SetProperty(ref _ERROR_MESSAGE, value); }
 
+        private string _PD_ATTR_01;
+        /// <summary>
+        /// 附加信息1--中值
+        /// </summary>
+        public string PD_ATTR_01 { get => _PD_ATTR_01; set => SetProperty(ref _PD_ATTR_01, value); }
+
+        private string _PD_ATTR_02;
+        /// <summary>
+        /// 附加信息2--物料SN
+        /// </summary>
+        public string PD_ATTR_02 { get => _PD_ATTR_02; set => SetProperty(ref _PD_ATTR_02, value); }
+
+        private string _PD_ATTR_03;
+        /// <summary>
+        /// 附加信息3--小件SN
+        /// </summary>
+        public string PD_ATTR_03 { get => _PD_ATTR_03; set => SetProperty(ref _PD_ATTR_03, value); }
+
+        private string _PD_ATTR_04;
+        /// <summary>
+        /// 附加信息4
+        /// </summary>
+        public string PD_ATTR_04 { get => _PD_ATTR_04; set => SetProperty(ref _PD_ATTR_04, value); }
+
+        private string _PD_ATTR_05;
+        /// <summary>
+        /// 附加信息5
+        /// </summary>
+        public string PD_ATTR_05 { get => _PD_ATTR_05; set => SetProperty(ref _PD_ATTR_05, value); }
+
     }
 
 }

+ 8 - 0
TeamAAS-VM/Models/DeviceInfo.cs

@@ -89,6 +89,13 @@ namespace TeamAAS_VP.Models
         /// </summary>
         public bool SaveCsv { get => _saveCsv; set => SetProperty(ref _saveCsv, value); }
 
+        private bool _saveCsvPPID;
+        /// <summary>
+        /// 是否保存CSV文件的PPID,默认不保存
+        /// </summary>
+        public bool SaveCsvPPID { get => _saveCsvPPID; set => SetProperty(ref _saveCsvPPID, value); }
+
+
         private string _saveCsvPath;
         /// <summary>
         /// 保存的CSV文件路径
@@ -120,6 +127,7 @@ namespace TeamAAS_VP.Models
             LogUrl = string.Empty;
             ApiKey = string.Empty;
             EnableMES = false;
+            SaveCsvPPID = true;
         }
 
         public DeviceInfo Copy()

+ 2 - 2
TeamAAS-VM/Services/MesService.cs

@@ -106,11 +106,11 @@ namespace TeamAAS_VP.Services
             string url = "";
             if (device.F == "PTL")
             {
-                url = $"{device.MesUrl}?c=QUERY_RECORD&line={device.Line}&station={device.Station}&fixtureid={device.FixtureId}&sn={sn}&comp={device.comp}:{comp}&p=message,sn,wo,model_num,color";
+                url = $"{device.MesUrl}?c=QUERY_RECORD&line={device.Line}&station={device.Station}&fixtureid={device.FixtureId}&sn={sn}&comp={device.comp}:{comp}&p=message,sn,wo,model_num,color,ppid,revision";
             }
             else
             {
-                url = $"{device.MesUrl}?c=QUERY_RECORD&line={device.Line}&station={device.Station}&fixtureid={device.FixtureId}&sn={sn}&p=message,sn,wo,model_num,color";
+                url = $"{device.MesUrl}?c=QUERY_RECORD&line={device.Line}&station={device.Station}&fixtureid={device.FixtureId}&sn={sn}&p=message,sn,wo,model_num,color,ppid,revision";
             }
 
             LogHelper.WriteLogMes($"¡¾Ñ¯ÎÊURL¡¿{url}");

+ 10 - 5
TeamAAS-VM/Views/SettingView.xaml

@@ -484,11 +484,16 @@
                                           Content="是否启用两次产品编号"
                                           IsChecked="{Binding SelectDeviceInfo.EnableDoubleMes, Mode=TwoWay}"
                                           Margin="6,2" />-->
-                                <CheckBox Grid.Row="13"
-                                          Grid.Column="1"
-                                          Content="是否保存CSV文件"
-                                          IsChecked="{Binding SelectDeviceInfo.SaveCsv, Mode=TwoWay}"
-                                          Margin="6,2" />
+                                <StackPanel Grid.Row="13"
+                                            Grid.Column="1"
+                                            Orientation="Horizontal">
+                                    <CheckBox Content="是否保存CSV文件"
+                                              IsChecked="{Binding SelectDeviceInfo.SaveCsv, Mode=TwoWay}"
+                                              Margin="6,2" />
+                                    <CheckBox Content="是否保存ppid"
+                                              IsChecked="{Binding SelectDeviceInfo.SaveCsvPPID, Mode=TwoWay}"
+                                              Margin="6,2" />
+                                </StackPanel>
                                 <TextBlock Grid.Row="14"
                                            Grid.Column="0"
                                            Text="保存的CSV文件路径:"