using LB_VisionProcesses.Communicators;
|
using Newtonsoft.Json;
|
using System.Collections;
|
using System.Collections.Concurrent;
|
using System.Diagnostics;
|
|
namespace LB_VisionProcesses.Processes
|
{
|
class CheckChangeProductTool : BaseProcess
|
{
|
string BOM = string.Empty;
|
string ODF = string.Empty;
|
|
public CheckChangeProductTool()
|
{
|
strProcessName = "转产检查工具";
|
strProcessClass = "LB_VisionProcesses.Processes.CheckChangeProductTool";
|
|
Params.Inputs.Add("SN", "");
|
Params.Inputs.Add("BOM", "");
|
Params.Inputs.Add("ODF", "");
|
|
Params.Outputs.Add("是否转产", false);
|
}
|
|
public override bool Run()
|
{
|
try
|
{
|
InitRunParams();
|
|
string SN = Params.Inputs["SN"].ToString();
|
Params.Outputs.Add("是否转产", false);
|
|
if (string.IsNullOrEmpty(SN))
|
{
|
Result = true;
|
return true;
|
}
|
|
string GetTVInfoMessage = GetWebServer.GetTVInfo("http://10.222.16.22:9006/api/PE"
|
, "GetTVInfo", SN);
|
if ("Erro" != GetTVInfoMessage && "null" != GetTVInfoMessage)
|
{
|
try
|
{
|
List<TVInfo> TVInfos = JsonConvert.DeserializeObject<List<TVInfo>>
|
("[" + GetTVInfoMessage + "]");
|
foreach (TVInfo info in TVInfos)
|
{
|
if (info.ProductCode != BOM)
|
Params.Outputs.Add("是否转产", true);
|
|
BOM = info.ProductCode;
|
ODF = info.ODF;
|
}
|
}
|
catch { }
|
}
|
else
|
{
|
string sHtml = GetWebServer.PostXml
|
(" http://10.222.16.22:9002/SAPService.asmx?op=GetMaInfo", SN);
|
if (!sHtml.StartsWith("error"))
|
{
|
try
|
{
|
MaInfo info = JsonConvert.DeserializeObject<MaInfo>(sHtml);
|
if (info.BOM != BOM)
|
Params.Outputs.Add("是否转产", true);
|
|
BOM = info.BOM;
|
ODF = info.ODF;
|
}
|
catch { }
|
}
|
}
|
|
Params.Inputs.Add("BOM", BOM);
|
Params.Inputs.Add("ODF", ODF);
|
}
|
catch (Exception ex)
|
{
|
Msg = $"运行出现异常,原因是:{ex.Message}【{ex.StackTrace}】";
|
Result = false;
|
}
|
return Result;
|
}
|
|
public override bool Load(string fullPath = null)
|
{
|
bool res = base.Load(fullPath);
|
if (res)
|
{
|
BOM = Params.Inputs["BOM"]?.ToString();
|
ODF = Params.Inputs["ODF"]?.ToString();
|
}
|
|
return res;
|
}
|
}
|
}
|