|
|
@@ -6,8 +6,6 @@ using NPOI.SS.Formula.Eval;
|
|
|
using NPOI.SS.Formula.Functions;
|
|
|
using NPOI.Util;
|
|
|
using Org.BouncyCastle.Ocsp;
|
|
|
-
|
|
|
-
|
|
|
//using ICSharpCode.SharpZipLib.Zip;
|
|
|
using Prism.Events;
|
|
|
using Prism.Ioc;
|
|
|
@@ -74,14 +72,14 @@ namespace TeamAAS_VP.Core
|
|
|
/// <summary>
|
|
|
/// 工单信息
|
|
|
/// </summary>
|
|
|
- string wo = "";
|
|
|
- string model_num = "";//产品model_num
|
|
|
- string color = "";//产品color
|
|
|
- string ppid = "";//产品ppid
|
|
|
- string revision = "";//产品revision
|
|
|
- string stage = "";//产品revision
|
|
|
- string kb_sn = "";//产品kb_sn
|
|
|
- string kb_pn = "";//产品kb_sn
|
|
|
+ string[] wo = new string[10];
|
|
|
+ string[] model_num = new string[10];//产品model_num
|
|
|
+ string[] color = new string[10];//产品color
|
|
|
+ string[] ppid = new string[10];//产品ppid
|
|
|
+ string[] revision = new string[10];//产品revision
|
|
|
+ string[] stage = new string[10];//产品revision
|
|
|
+ string[] kb_sn = new string[10];//产品kb_sn
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 上次执行上传csv的日期
|
|
|
/// </summary>
|
|
|
@@ -1721,44 +1719,44 @@ namespace TeamAAS_VP.Core
|
|
|
string woItem = items.FirstOrDefault(f => f.Contains("wo="));
|
|
|
if (woItem != null)
|
|
|
{
|
|
|
- wo = woItem.Replace("wo=", "").Trim();
|
|
|
+ wo[0] = woItem.Replace("wo=", "").Trim();
|
|
|
SendTaskMessage($"产品wo:{wo}", MessageLevel.Info);
|
|
|
}
|
|
|
string modelItem = items.FirstOrDefault(f => f.Contains("model_num="));
|
|
|
if (modelItem != null)
|
|
|
{
|
|
|
- model_num = modelItem.Replace("model_num=", "").Trim();
|
|
|
+ model_num[0] = modelItem.Replace("model_num=", "").Trim();
|
|
|
SendTaskMessage($"model_num:{model_num}", MessageLevel.Info);
|
|
|
}
|
|
|
string colorItem = items.FirstOrDefault(f => f.Contains("color="));
|
|
|
if (colorItem != null)
|
|
|
{
|
|
|
- color = colorItem.Replace("color=", "").Trim();
|
|
|
+ color[0] = colorItem.Replace("color=", "").Trim();
|
|
|
SendTaskMessage($"color:{color}", MessageLevel.Info);
|
|
|
}
|
|
|
string ppidItem = items.FirstOrDefault(f => f.Contains("ppid="));
|
|
|
if (ppidItem != null)
|
|
|
{
|
|
|
- ppid = ppidItem.Replace("ppid=", "").Trim();
|
|
|
+ ppid[0] = ppidItem.Replace("ppid=", "").Trim();
|
|
|
SendTaskMessage($"ppid:{ppid}", MessageLevel.Info);
|
|
|
}
|
|
|
string stageItem = items.FirstOrDefault(f => f.Contains("stage="));
|
|
|
if (stageItem != null)
|
|
|
{
|
|
|
- stage = stageItem.Replace("stage=", "").Trim();
|
|
|
+ stage[0] = stageItem.Replace("stage=", "").Trim();
|
|
|
SendTaskMessage($"stage:{stage}", MessageLevel.Info);
|
|
|
}
|
|
|
string kbsnitem = items.FirstOrDefault(f => f.Contains("KB="));
|
|
|
if (kbsnitem != null)
|
|
|
{
|
|
|
- kb_sn = kbsnitem.Replace("KB=", "").Trim();
|
|
|
+ kb_sn[0] = kbsnitem.Replace("KB=", "").Trim();
|
|
|
SendTaskMessage($"KB:{kb_sn}", MessageLevel.Info);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
LogHelper.WriteLogMes($"【mes结束QUERY】");
|
|
|
SendTaskMessage($"mes结束QUERY", MessageLevel.Info);
|
|
|
- var q = await _systemDatabaseService.QueryProductFromMesAsync(model_num, color);
|
|
|
+ var q = await _systemDatabaseService.QueryProductFromMesAsync(model_num[0], color[0]);
|
|
|
if (!string.IsNullOrEmpty(q))
|
|
|
{
|
|
|
ProductWithMes productWithMes = new ProductWithMes();
|
|
|
@@ -1772,7 +1770,7 @@ namespace TeamAAS_VP.Core
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- if (currentProduct.ID != productId || productWithMes.ProductKBSN != kb_sn)
|
|
|
+ if (currentProduct.ID != productId || productWithMes.ProductKBSN != kb_sn[0])
|
|
|
{
|
|
|
|
|
|
_productService.Clear();
|
|
|
@@ -1868,44 +1866,44 @@ namespace TeamAAS_VP.Core
|
|
|
string woItem = item.FirstOrDefault(f => f.Contains("wo="));
|
|
|
if (woItem != null)
|
|
|
{
|
|
|
- wo = woItem.Replace("wo=", "").Trim();
|
|
|
- SendTaskMessage($"产品wo:{wo}", MessageLevel.Info);
|
|
|
+ wo[0] = woItem.Replace("wo=", "").Trim();
|
|
|
+ SendTaskMessage($"产品wo:{wo[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
string modelItem = item.FirstOrDefault(f => f.Contains("model_num="));
|
|
|
if (modelItem != null)
|
|
|
{
|
|
|
- model_num = modelItem.Replace("model_num=", "").Trim();
|
|
|
- SendTaskMessage($"model_num:{model_num}", MessageLevel.Info);
|
|
|
+ model_num[0] = modelItem.Replace("model_num=", "").Trim();
|
|
|
+ SendTaskMessage($"model_num:{model_num[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
string colorItem = item.FirstOrDefault(f => f.Contains("color="));
|
|
|
if (colorItem != null)
|
|
|
{
|
|
|
- color = colorItem.Replace("color=", "").Trim();
|
|
|
- SendTaskMessage($"color:{color}", MessageLevel.Info);
|
|
|
+ color[0] = colorItem.Replace("color=", "").Trim();
|
|
|
+ SendTaskMessage($"color:{color[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
string ppidItem = item.FirstOrDefault(f => f.Contains("ppid="));
|
|
|
if (ppidItem != null)
|
|
|
{
|
|
|
- ppid = ppidItem.Replace("ppid=", "").Trim();
|
|
|
- SendTaskMessage($"ppid:{ppid}", MessageLevel.Info);
|
|
|
+ ppid[0] = ppidItem.Replace("ppid=", "").Trim();
|
|
|
+ SendTaskMessage($"ppid:{ppid[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
string stageItem = item.FirstOrDefault(f => f.Contains("stage="));
|
|
|
if (stageItem != null)
|
|
|
{
|
|
|
- stage = stageItem.Replace("stage=", "").Trim();
|
|
|
- SendTaskMessage($"stage:{stage}", MessageLevel.Info);
|
|
|
+ stage[0] = stageItem.Replace("stage=", "").Trim();
|
|
|
+ SendTaskMessage($"stage:{stage[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
string kbsnitem = item.FirstOrDefault(f => f.Contains("KB="));
|
|
|
if (kbsnitem != null)
|
|
|
{
|
|
|
- kb_sn = kbsnitem.Replace("KB=", "").Trim();
|
|
|
- SendTaskMessage($"KB:{kb_sn}", MessageLevel.Info);
|
|
|
+ kb_sn[0] = kbsnitem.Replace("KB=", "").Trim();
|
|
|
+ SendTaskMessage($"KB:{kb_sn[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
}
|
|
|
LogHelper.WriteLogMes($"第二次询问mes成功");
|
|
|
SendTaskMessage($"第二次询问mes成功:{response2}", MessageLevel.Debug);
|
|
|
|
|
|
- var q = await _systemDatabaseService.QueryProductFromMesAsync(model_num, color);
|
|
|
+ var q = await _systemDatabaseService.QueryProductFromMesAsync(model_num[0], color[0]);
|
|
|
if (!string.IsNullOrEmpty(q))
|
|
|
{
|
|
|
ProductWithMes productWithMes = new ProductWithMes();
|
|
|
@@ -1919,7 +1917,7 @@ namespace TeamAAS_VP.Core
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- if (currentProduct.ID != productId || productWithMes.ProductKBSN != kb_sn)
|
|
|
+ if (currentProduct.ID != productId || productWithMes.ProductKBSN != kb_sn[0])
|
|
|
{
|
|
|
//切换产品
|
|
|
_productService.LoadProduct(productId);
|
|
|
@@ -1969,7 +1967,6 @@ namespace TeamAAS_VP.Core
|
|
|
await plc.WriteNodeAsync(addressConfig.Out_FixedCameraPickStatus.Address, (Int16)2);
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
if (cameraIndex == currentProduct.PhotoCount)
|
|
|
@@ -2108,44 +2105,44 @@ namespace TeamAAS_VP.Core
|
|
|
string woItem = item.FirstOrDefault(f => f.Contains("wo="));
|
|
|
if (woItem != null)
|
|
|
{
|
|
|
- wo = woItem.Replace("wo=", "").Trim();
|
|
|
- SendTaskMessage($"产品wo:{wo}", MessageLevel.Info);
|
|
|
+ wo[0] = woItem.Replace("wo=", "").Trim();
|
|
|
+ SendTaskMessage($"产品wo:{wo[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
string modelItem = item.FirstOrDefault(f => f.Contains("model_num="));
|
|
|
if (modelItem != null)
|
|
|
{
|
|
|
- model_num = modelItem.Replace("model_num=", "").Trim();
|
|
|
- SendTaskMessage($"model_num:{model_num}", MessageLevel.Info);
|
|
|
+ model_num[0] = modelItem.Replace("model_num=", "").Trim();
|
|
|
+ SendTaskMessage($"model_num:{model_num[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
string colorItem = item.FirstOrDefault(f => f.Contains("color="));
|
|
|
if (colorItem != null)
|
|
|
{
|
|
|
- color = colorItem.Replace("color=", "").Trim();
|
|
|
- SendTaskMessage($"color:{color}", MessageLevel.Info);
|
|
|
+ color[0] = colorItem.Replace("color=", "").Trim();
|
|
|
+ SendTaskMessage($"color:{color[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
string ppidItem = item.FirstOrDefault(f => f.Contains("ppid="));
|
|
|
if (ppidItem != null)
|
|
|
{
|
|
|
- ppid = ppidItem.Replace("ppid=", "").Trim();
|
|
|
- SendTaskMessage($"ppid:{ppid}", MessageLevel.Info);
|
|
|
+ ppid[0] = ppidItem.Replace("ppid=", "").Trim();
|
|
|
+ SendTaskMessage($"ppid:{ppid[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
string stageItem = item.FirstOrDefault(f => f.Contains("stage="));
|
|
|
if (stageItem != null)
|
|
|
{
|
|
|
- stage = stageItem.Replace("stage=", "").Trim();
|
|
|
- SendTaskMessage($"stage:{stage}", MessageLevel.Info);
|
|
|
+ stage[0] = stageItem.Replace("stage=", "").Trim();
|
|
|
+ SendTaskMessage($"stage:{stage[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
string kbsnitem = item.FirstOrDefault(f => f.Contains("KB="));
|
|
|
if (kbsnitem != null)
|
|
|
{
|
|
|
- kb_sn = kbsnitem.Replace("KB=", "").Trim();
|
|
|
- SendTaskMessage($"KB:{kb_sn}", MessageLevel.Info);
|
|
|
+ kb_sn[0] = kbsnitem.Replace("KB=", "").Trim();
|
|
|
+ SendTaskMessage($"KB:{kb_sn[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
}
|
|
|
LogHelper.WriteLogMes($"第二次询问mes成功");
|
|
|
SendTaskMessage($"第二次询问mes成功:{response2}", MessageLevel.Debug);
|
|
|
|
|
|
- var q = await _systemDatabaseService.QueryProductFromMesAsync(model_num, color);
|
|
|
+ var q = await _systemDatabaseService.QueryProductFromMesAsync(model_num[0], color[0]);
|
|
|
if (!string.IsNullOrEmpty(q))
|
|
|
{
|
|
|
ProductWithMes productWithMes = new ProductWithMes();
|
|
|
@@ -2159,7 +2156,7 @@ namespace TeamAAS_VP.Core
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- if (currentProduct.ID != productId || productWithMes.ProductKBSN != kb_sn)
|
|
|
+ if (currentProduct.ID != productId || productWithMes.ProductKBSN != kb_sn[0])
|
|
|
{
|
|
|
//切换产品
|
|
|
_productService.LoadProduct(productId);
|
|
|
@@ -2276,44 +2273,44 @@ namespace TeamAAS_VP.Core
|
|
|
string woItem = items.FirstOrDefault(f => f.Contains("wo="));
|
|
|
if (woItem != null)
|
|
|
{
|
|
|
- wo = woItem.Replace("wo=", "").Trim();
|
|
|
- SendTaskMessage($"产品wo:{wo}", MessageLevel.Info);
|
|
|
+ wo[0] = woItem.Replace("wo=", "").Trim();
|
|
|
+ SendTaskMessage($"产品wo:{wo[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
string modelItem = items.FirstOrDefault(f => f.Contains("model_num="));
|
|
|
if (modelItem != null)
|
|
|
{
|
|
|
- model_num = modelItem.Replace("model_num=", "").Trim();
|
|
|
- SendTaskMessage($"model_num:{model_num}", MessageLevel.Info);
|
|
|
+ model_num[0] = modelItem.Replace("model_num=", "").Trim();
|
|
|
+ SendTaskMessage($"model_num:{model_num[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
string colorItem = items.FirstOrDefault(f => f.Contains("color="));
|
|
|
if (colorItem != null)
|
|
|
{
|
|
|
- color = colorItem.Replace("color=", "").Trim();
|
|
|
- SendTaskMessage($"color:{color}", MessageLevel.Info);
|
|
|
+ color[0] = colorItem.Replace("color=", "").Trim();
|
|
|
+ SendTaskMessage($"color:{color[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
string ppidItem = items.FirstOrDefault(f => f.Contains("ppid="));
|
|
|
if (ppidItem != null)
|
|
|
{
|
|
|
- ppid = ppidItem.Replace("ppid=", "").Trim();
|
|
|
- SendTaskMessage($"ppid:{ppid}", MessageLevel.Info);
|
|
|
+ ppid[0] = ppidItem.Replace("ppid=", "").Trim();
|
|
|
+ SendTaskMessage($"ppid:{ppid[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
string stageItem = items.FirstOrDefault(f => f.Contains("stage="));
|
|
|
if (stageItem != null)
|
|
|
{
|
|
|
- stage = stageItem.Replace("stage=", "").Trim();
|
|
|
- SendTaskMessage($"stage:{stage}", MessageLevel.Info);
|
|
|
+ stage[0] = stageItem.Replace("stage=", "").Trim();
|
|
|
+ SendTaskMessage($"stage:{stage[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
string kbsnitem = items.FirstOrDefault(f => f.Contains("KB="));
|
|
|
if (kbsnitem != null)
|
|
|
{
|
|
|
- kb_sn = kbsnitem.Replace("KB=", "").Trim();
|
|
|
- SendTaskMessage($"KB:{kb_sn}", MessageLevel.Info);
|
|
|
+ kb_sn[0] = kbsnitem.Replace("KB=", "").Trim();
|
|
|
+ SendTaskMessage($"KB:{kb_sn[0]}", MessageLevel.Info);
|
|
|
}
|
|
|
}
|
|
|
LogHelper.WriteLogMes($"【mes结束QUERY】");
|
|
|
SendTaskMessage($"mes结束QUERY", MessageLevel.Info);
|
|
|
|
|
|
- var q = await _systemDatabaseService.QueryProductFromMesAsync(model_num, color);
|
|
|
+ var q = await _systemDatabaseService.QueryProductFromMesAsync(model_num[0], color[0]);
|
|
|
if (!string.IsNullOrEmpty(q))
|
|
|
{
|
|
|
ProductWithMes productWithMes = new ProductWithMes();
|
|
|
@@ -2327,7 +2324,7 @@ namespace TeamAAS_VP.Core
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- if (currentProduct.ID != productId || productWithMes.ProductKBSN != kb_sn)
|
|
|
+ if (currentProduct.ID != productId || productWithMes.ProductKBSN != kb_sn[0])
|
|
|
{
|
|
|
//切换产品
|
|
|
_productService.LoadProduct(productId);
|
|
|
@@ -2369,6 +2366,7 @@ namespace TeamAAS_VP.Core
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
+
|
|
|
//不能使用全局变量,不然并发的时候会被清除掉,所以局部变量
|
|
|
var _ImageTaskList = new List<Task<(bool IsSucceed, ICogImage[] Images, string Message, int cameraIndex, Guid procedureId)>>();
|
|
|
|
|
|
@@ -2404,11 +2402,20 @@ namespace TeamAAS_VP.Core
|
|
|
return;
|
|
|
}
|
|
|
await ExecuteProcedureAsync(cameraIndex, prcId, tt.imges, Is3dPhoto, currentProduct);
|
|
|
+ if (targetPoint.AiVision == 1)
|
|
|
+ {
|
|
|
+ var targetPoint2 = currentProduct.AoiPoints?.FirstOrDefault(p => p.Number == targetPoint.AiVision);
|
|
|
+ await ExecuteProcedureAsync(targetPoint.AiVision, targetPoint2.CameraProcedureId1, tt.imges, Is3dPhoto, currentProduct);
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
bool Is3dPhoto = Is3D(prcId);
|
|
|
_ImageTaskList.Add(GrabImageEx(cameraIndex, prcId, Is3dPhoto, currentProduct, sysConfig));
|
|
|
+ if (targetPoint.AiVision == 1)
|
|
|
+ {
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (sysConfig.TurnOnAllLightUse == false)
|
|
|
@@ -2434,6 +2441,11 @@ namespace TeamAAS_VP.Core
|
|
|
if (item.IsSucceed)
|
|
|
{
|
|
|
bool Is3d = Is3D(item.procedureId);
|
|
|
+ if (targetPoint.AiVision == 1)
|
|
|
+ {
|
|
|
+ var targetPoint2 = currentProduct.AoiPoints?.FirstOrDefault(p => p.Number == cameraIndex);
|
|
|
+ await ExecuteProcedureAsync(targetPoint.AiVision, targetPoint2.CameraProcedureId2, item.Images, Is3d, currentProduct);
|
|
|
+ }
|
|
|
await ExecuteProcedureAsync(item.cameraIndex, item.procedureId, item.Images, Is3d, currentProduct);
|
|
|
}
|
|
|
else
|
|
|
@@ -2483,12 +2495,14 @@ namespace TeamAAS_VP.Core
|
|
|
{
|
|
|
SendTaskMessage($"检测执行成功", MessageLevel.Debug);
|
|
|
await plc.WriteNodeAsync(addressConfig.Out_FixedCameraPickStatus.Address, (Int16)1);
|
|
|
+ return;
|
|
|
}
|
|
|
//存在NG
|
|
|
else
|
|
|
{
|
|
|
SendTaskMessage($"检测执行失败", MessageLevel.Alarm);
|
|
|
await plc.WriteNodeAsync(addressConfig.Out_FixedCameraPickStatus.Address, (Int16)2);
|
|
|
+ return;
|
|
|
}
|
|
|
}
|
|
|
return;
|
|
|
@@ -2693,6 +2707,11 @@ namespace TeamAAS_VP.Core
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
+ if (i == 1)
|
|
|
+ {
|
|
|
+ SendTaskMessage($"收到人工站请求不处理", MessageLevel.Debug);
|
|
|
+ return;
|
|
|
+ }
|
|
|
var sysConfig = _configService.GetSystemConfiguration();
|
|
|
if (sysConfig.CodeUse == true && state == 1)
|
|
|
{
|
|
|
@@ -2708,10 +2727,6 @@ namespace TeamAAS_VP.Core
|
|
|
{
|
|
|
code = plc.ReadNode<string>(string.Format(addressConfig.In_Code.Address, i));
|
|
|
}
|
|
|
- if (sysConfig.IsManual && i == 1)
|
|
|
- {
|
|
|
- return;
|
|
|
- }
|
|
|
|
|
|
//var homeview = _container.Resolve<HomeViewModel>();
|
|
|
if (i == 0)
|
|
|
@@ -2727,8 +2742,17 @@ namespace TeamAAS_VP.Core
|
|
|
{
|
|
|
//这里缺少从MES获取产品配方的内容,需要补充
|
|
|
_LastMesCheckTime[i] = (await _mesService.GetServerTimeAsync(code, 2)).Now;
|
|
|
- ProductMainSN = "";
|
|
|
- var stationConfig2 = _configService.GetDeviceInfo(0);
|
|
|
+ DeviceInfo stationConfig2 = new DeviceInfo();
|
|
|
+ try
|
|
|
+ {
|
|
|
+ stationConfig2 = _configService.GetDeviceInfo(i);
|
|
|
+ }
|
|
|
+ catch (Exception)
|
|
|
+ {
|
|
|
+ await plc.WriteNodeAsync(string.Format(addressConfig.Out_MesStatus.Address, i), (Int16)2);
|
|
|
+ SendTaskMessage($"设置无当前站点:{i}", MessageLevel.Error);
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
//if (homeview.IsNoCode == false)
|
|
|
//{
|
|
|
@@ -2766,9 +2790,9 @@ namespace TeamAAS_VP.Core
|
|
|
string snItem = item.FirstOrDefault(f => f.Contains("sn="));
|
|
|
if (snItem != null)
|
|
|
{
|
|
|
- ProductMainSN = snItem.Replace("sn=", "").Trim();
|
|
|
if (i == 0)
|
|
|
{
|
|
|
+ ProductMainSN = snItem.Replace("sn=", "").Trim();
|
|
|
_productService.CurrentProductCode = ProductMainSN;
|
|
|
}
|
|
|
SendTaskMessage($"产品主sn:{ProductMainSN}", MessageLevel.Info);
|
|
|
@@ -2776,38 +2800,38 @@ namespace TeamAAS_VP.Core
|
|
|
string woItem = item.FirstOrDefault(f => f.Contains("wo="));
|
|
|
if (woItem != null)
|
|
|
{
|
|
|
- wo = woItem.Replace("wo=", "").Trim();
|
|
|
- SendTaskMessage($"工单信息:{wo}", MessageLevel.Info);
|
|
|
+ wo[i] = woItem.Replace("wo=", "").Trim();
|
|
|
+ SendTaskMessage($"工单信息:{wo[i]}", MessageLevel.Info);
|
|
|
}
|
|
|
string modelItem = item.FirstOrDefault(f => f.Contains("model_num="));
|
|
|
if (modelItem != null)
|
|
|
{
|
|
|
- model_num = modelItem.Replace("model_num=", "").Trim();
|
|
|
- SendTaskMessage($"model_num:{model_num}", MessageLevel.Info);
|
|
|
+ model_num[i] = modelItem.Replace("model_num=", "").Trim();
|
|
|
+ SendTaskMessage($"model_num:{model_num[i]}", MessageLevel.Info);
|
|
|
}
|
|
|
string colorItem = item.FirstOrDefault(f => f.Contains("color="));
|
|
|
if (colorItem != null)
|
|
|
{
|
|
|
- color = colorItem.Replace("color=", "").Trim();
|
|
|
- SendTaskMessage($"color:{color}", MessageLevel.Info);
|
|
|
+ color[i] = colorItem.Replace("color=", "").Trim();
|
|
|
+ SendTaskMessage($"color:{color[i]}", MessageLevel.Info);
|
|
|
}
|
|
|
string ppidItem = item.FirstOrDefault(f => f.Contains("ppid="));
|
|
|
if (ppidItem != null)
|
|
|
{
|
|
|
- ppid = ppidItem.Replace("ppid=", "").Trim();
|
|
|
- SendTaskMessage($"ppid:{ppid}", MessageLevel.Info);
|
|
|
+ ppid[i] = ppidItem.Replace("ppid=", "").Trim();
|
|
|
+ SendTaskMessage($"ppid:{ppid[i]}", MessageLevel.Info);
|
|
|
}
|
|
|
string stageItem = item.FirstOrDefault(f => f.Contains("stage="));
|
|
|
if (stageItem != null)
|
|
|
{
|
|
|
- stage = stageItem.Replace("stage=", "").Trim();
|
|
|
- SendTaskMessage($"stage:{stage}", MessageLevel.Info);
|
|
|
+ stage[i] = stageItem.Replace("stage=", "").Trim();
|
|
|
+ SendTaskMessage($"stage:{stage[i]}", MessageLevel.Info);
|
|
|
}
|
|
|
string kbsnitem = item.FirstOrDefault(f => f.Contains("KB="));
|
|
|
if (kbsnitem != null)
|
|
|
{
|
|
|
- kb_sn = kbsnitem.Replace("KB=", "").Trim();
|
|
|
- SendTaskMessage($"KB:{kb_sn}", MessageLevel.Info);
|
|
|
+ kb_sn[i] = kbsnitem.Replace("KB=", "").Trim();
|
|
|
+ SendTaskMessage($"KB:{kb_sn[i]}", MessageLevel.Info);
|
|
|
}
|
|
|
|
|
|
string kbpnsnitem = item.FirstOrDefault(f => f.Contains("KB_PN="));
|
|
|
@@ -3051,7 +3075,7 @@ namespace TeamAAS_VP.Core
|
|
|
{
|
|
|
string saveppid = "NA";
|
|
|
string names = currentProduct.Name;
|
|
|
- if (stationConfig.SaveCsvPPID) saveppid = ppid;
|
|
|
+ if (stationConfig.SaveCsvPPID) saveppid = ppid[i];
|
|
|
|
|
|
// Dictionary<string, double> adjacentDiffDict1 = GetAdjacentDiffDict(keyData1);
|
|
|
//判断锁付路径字符串是否为空,如果不为空则保存,否则不保存
|
|
|
@@ -3127,7 +3151,7 @@ namespace TeamAAS_VP.Core
|
|
|
SUPPLIER_NAME = stationConfig.DataInfo.SUPPLIER_NAME,
|
|
|
COMMODITY_TYPE = temp_COMMODITY_TYPE,
|
|
|
REVISION = stationConfig.DataInfo.REVISION + "_" + stage,//
|
|
|
- WO = wo,//
|
|
|
+ WO = wo[i],//
|
|
|
MFG_LOT = stationConfig.DataInfo.MFG_LOT,//
|
|
|
MFG_ASSY_LINE = stationConfig.DataInfo.MFG_ASSY_LINE,
|
|
|
PROCESS_OUTCOME = item.PhotoPassed == "OK" ? "PASS" : "FAIL",
|
|
|
@@ -3161,7 +3185,7 @@ namespace TeamAAS_VP.Core
|
|
|
SUPPLIER_NAME = stationConfig.DataInfo.SUPPLIER_NAME,
|
|
|
COMMODITY_TYPE = stationConfig.DataInfo.COMMODITY_TYPE,
|
|
|
REVISION = stationConfig.DataInfo.REVISION + "_" + stage,//
|
|
|
- WO = wo,//
|
|
|
+ WO = wo[i],//
|
|
|
MFG_LOT = stationConfig.DataInfo.MFG_LOT,//
|
|
|
MFG_ASSY_LINE = stationConfig.DataInfo.MFG_ASSY_LINE,
|
|
|
PROCESS_OUTCOME = ok ? "Pass" : "FAIL",
|
|
|
@@ -3192,7 +3216,7 @@ namespace TeamAAS_VP.Core
|
|
|
SUPPLIER_NAME = stationConfig.DataInfo.SUPPLIER_NAME,
|
|
|
COMMODITY_TYPE = stationConfig.DataInfo.COMMODITY_TYPE,
|
|
|
REVISION = stationConfig.DataInfo.REVISION + "_" + stage,//
|
|
|
- WO = wo,//
|
|
|
+ WO = wo[i],//
|
|
|
MFG_LOT = stationConfig.DataInfo.MFG_LOT,//
|
|
|
MFG_ASSY_LINE = stationConfig.DataInfo.MFG_ASSY_LINE,
|
|
|
PROCESS_OUTCOME = ok ? "Pass" : "FAIL",
|
|
|
@@ -5201,8 +5225,10 @@ namespace TeamAAS_VP.Core
|
|
|
TotalQuantity = await _systemDatabaseService.GetOverallProductionAsync(currentproduct.Name);
|
|
|
//TotalQuantityToday = await _systemDatabaseService.GetTodayProductionAsync(currentproduct.Name);
|
|
|
//CurrentUPH = await _systemDatabaseService.GetLastHourProductionAsync(currentproduct.Name);
|
|
|
+ ////
|
|
|
//NgNumber = await _systemDatabaseService.GetNGProductionAsync(currentproduct.Name);
|
|
|
//Yield = ((double)TotalQuantityToday - (double)NgNumber) / (double)TotalQuantityToday * 100;
|
|
|
+
|
|
|
TotalQuantityToday = 0;
|
|
|
CurrentUPH = 0;
|
|
|
NgNumber = 0;
|