Commit 7c33e71c LN

nexim对接修改。

1 个父辈 a8383be3
...@@ -375,6 +375,7 @@ namespace BLL ...@@ -375,6 +375,7 @@ namespace BLL
public static MyConfig<string> Nexim_UserName = ""; public static MyConfig<string> Nexim_UserName = "";
public static MyConfig<string> Nexim_Password = ""; public static MyConfig<string> Nexim_Password = "";
public static MyConfig<string> Nexim_RegisterDidInfoUrl = ""; public static MyConfig<string> Nexim_RegisterDidInfoUrl = "";
public static MyConfig<string> Nexim_PartMastersUrl = "";
/// <summary> /// <summary>
/// Nexim参数,key=需要的参数,value=对应的关键字 /// Nexim参数,key=需要的参数,value=对应的关键字
/// </summary> /// </summary>
......
...@@ -479,10 +479,10 @@ namespace BLL ...@@ -479,10 +479,10 @@ namespace BLL
LogNet.log.Info("ex" + ex.ToString()); LogNet.log.Info("ex" + ex.ToString());
} }
if(!DidRegisterValidate(key, out errmsg)) //if(!DidRegisterValidate(key, out errmsg))
{ //{
return false; // return false;
} //}
//SaveRetrospect?.Invoke(key); //SaveRetrospect?.Invoke(key);
return true; return true;
...@@ -490,30 +490,30 @@ namespace BLL ...@@ -490,30 +490,30 @@ namespace BLL
} }
private bool DidRegisterValidate(Dictionary<string, string> content, out string errmsg) //private bool DidRegisterValidate(Dictionary<string, string> content, out string errmsg)
{ //{
errmsg = ""; // errmsg = "";
try // try
{ // {
if (BLLCommon.neximApiUtils.registerNewDid(content, out string msg)) // if (BLLCommon.neximApiUtils.registerNewDid(content, out string msg))
{ // {
return true; // return true;
} // }
else // else
{ // {
errmsg = msg; // errmsg = msg;
//Register Failure Notice // //Register Failure Notice
MessageboxNeo.Show("Register Failure Notice", errmsg, "NEO SCAN", true); // MessageboxNeo.Show("Register Failure Notice", errmsg, "NEO SCAN", true);
return false; // return false;
} // }
} // }
catch (Exception ex) // catch (Exception ex)
{ // {
LogNet.log.Info("DidRegisterValidate" + ex.ToString()); // LogNet.log.Info("DidRegisterValidate" + ex.ToString());
} // }
return false; // return false;
} //}
public void Update() public void Update()
{ {
......
...@@ -4,7 +4,7 @@ using Newtonsoft.Json; ...@@ -4,7 +4,7 @@ using Newtonsoft.Json;
using RestSharp; using RestSharp;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Configuration; using System.Configuration;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ListView; using static System.Windows.Forms.VisualStyles.VisualStyleElement.ListView;
using Http = Model.Http; using Http = Model.Http;
...@@ -16,15 +16,13 @@ namespace BLL ...@@ -16,15 +16,13 @@ namespace BLL
public bool IsEnalbe() public bool IsEnalbe()
{ {
//判断 Nexim_AuthUrl 是否为空 //判断 Nexim_AuthUrl 是否为空
if (string.IsNullOrEmpty(Config.Nexim_AuthUrl)) if (string.IsNullOrEmpty(Config.Nexim_AuthUrl) || string.IsNullOrEmpty(Config.Nexim_PartMastersUrl))
{ {
return false; return false;
} }
return true; return true;
} }
private string OK = "ok";
private string ERROE = "error";
/** /**
* 获取登录的token * 获取登录的token
* @return * @return
...@@ -71,7 +69,7 @@ namespace BLL ...@@ -71,7 +69,7 @@ namespace BLL
} }
private string getReelInfo(Dictionary<string, string> reelData, string key) public string getReelInfo(Dictionary<string, string> reelData, string key)
{ {
string dataKey = key; string dataKey = key;
Dictionary<string, string> paramKeyM = GetParamMap(); Dictionary<string, string> paramKeyM = GetParamMap();
...@@ -103,6 +101,15 @@ namespace BLL ...@@ -103,6 +101,15 @@ namespace BLL
return 0; return 0;
} }
private T getDataValue<T>(Dictionary<string, object> dataMap, string key)
{
if (dataMap.ContainsKey(key)&& dataMap[key] is T)
{
return (T)dataMap[key];
}
return default(T);
}
private string RI = "RI"; private string RI = "RI";
private string PN = "PN"; private string PN = "PN";
private string QTY = "QTY"; private string QTY = "QTY";
...@@ -130,7 +137,68 @@ namespace BLL ...@@ -130,7 +137,68 @@ namespace BLL
return _paramKeyMap; return _paramKeyMap;
} }
public bool registerNewDid(Dictionary<string, string> reelData, out string msg) private Dictionary<string,object> buildDidParams(Dictionary<string, string> reelData, Dictionary<string, object> pnDataMap)
{
DIDModel didModel = new DIDModel();
Dictionary<string, object> paramsMap = JsonConvert.DeserializeObject<Dictionary<string, object>>(JsonConvert.SerializeObject(didModel));
if (pnDataMap != null)
{
foreach (var kv in pnDataMap)
{
paramsMap[kv.Key] = kv.Value;
}
}
paramsMap["did"] = getReelInfo(reelData, RI);
paramsMap["originalPartBarcode"] = getReelInfo(reelData, RI);
string v = getReelInfo(reelData, PN);
if (!string.IsNullOrEmpty(v))
{
paramsMap["partBarcode"] = v;
paramsMap["partNumber"] = v;
}
int q = getIntReelInfo(reelData, QTY);
if (q > 0)
{
paramsMap["quantity"] = q;
paramsMap["partsoutWarning"] = q;
paramsMap["splicingWarning"] = q;
}
v = getReelInfo(reelData, SP);
if (!string.IsNullOrEmpty(v))
{
paramsMap["vendorName"] = v;
}
v = getReelInfo(reelData, BATCH);
if (!string.IsNullOrEmpty(v))
{
paramsMap["lotName"] = v;
}
v = getReelInfo(reelData, PRODATE);
if (!string.IsNullOrEmpty(v))
{
paramsMap["dateCode"] = v;
}
if (!paramsMap.ContainsKey("packageType") || string.IsNullOrEmpty(Convert.ToString(paramsMap["packageType"])))
{
paramsMap["packageType"] = "paper";
}
//paramsMap.Add("location", "");
//paramsMap.Add("memo", "");
//paramsMap.Add("note1", "");
//paramsMap.Add("note2", "");
//paramsMap.Add("note3", "");
//paramsMap.Add("note4", "");
//paramsMap.Add("useSplicing", true);
//paramsMap.Add("useTrayPackage", false);
//paramsMap.Add("trayStackCount", 0);
//paramsMap.Add("trayPickupPositionX", 0);
//paramsMap.Add("trayPickupPositionY", 0);
//paramsMap.Add("traySizeX", 0);
//paramsMap.Add("traySizeY", 0);
return paramsMap;
}
public bool registerNewDid(Dictionary<string, string> reelData,Dictionary<string,object> pnDataMap, out string msg)
{ {
msg = ""; msg = "";
if (!IsEnalbe()) if (!IsEnalbe())
...@@ -147,33 +215,9 @@ namespace BLL ...@@ -147,33 +215,9 @@ namespace BLL
return false; return false;
} }
headerMap.Add("fujiAccessToken", token); headerMap.Add("fujiAccessToken", token);
Dictionary<string, Object> paramsMap = new Dictionary<string, object>();
paramsMap.Add("did", getReelInfo(reelData, RI));
paramsMap.Add("partBarcode", getReelInfo(reelData, PN));
paramsMap.Add("quantity", getReelInfo(reelData, QTY));
paramsMap.Add("packageType", "paper"); //默认是paper,
paramsMap.Add("partsoutWarning", getIntReelInfo(reelData, QTY));
paramsMap.Add("splicingWarning", getIntReelInfo(reelData, QTY));
paramsMap.Add("partNumber", getReelInfo(reelData, PN));
paramsMap.Add("vendorName", getReelInfo(reelData, SP));
paramsMap.Add("lotName", getReelInfo(reelData, BATCH));
paramsMap.Add("dateCode", getReelInfo(reelData, PRODATE));
paramsMap.Add("location", "");
paramsMap.Add("memo", "");
paramsMap.Add("note1", "");
paramsMap.Add("note2", "");
paramsMap.Add("note3", "");
paramsMap.Add("note4", "");
paramsMap.Add("useSplicing", true);
paramsMap.Add("useTrayPackage", false);
paramsMap.Add("trayStackCount", 0);
paramsMap.Add("trayPickupPositionX", 0);
paramsMap.Add("trayPickupPositionY", 0);
paramsMap.Add("traySizeX", 0);
paramsMap.Add("traySizeY", 0);
List<Dictionary<string, object>> paramList=new List<Dictionary<string, object>>(); List<Dictionary<string, object>> paramList=new List<Dictionary<string, object>>();
paramList.Add(paramsMap); paramList.Add(buildDidParams(reelData,pnDataMap));
//string paramStr = JSON.toJSONstring(params); //string paramStr = JSON.toJSONstring(params);
//LogNet.log.Info("注册Fuji的did参数为:" + paramStr); //LogNet.log.Info("注册Fuji的did参数为:" + paramStr);
string result = ""; string result = "";
...@@ -192,14 +236,7 @@ namespace BLL ...@@ -192,14 +236,7 @@ namespace BLL
{ {
return true; return true;
} }
} }
//if (resultObj != null && resultObj.ContainsKey("details"))
//{
// string details = resultObj["details"].ToString();
// msg ="Register new did failed: "+ details+". result="+result;
//}
//else
{ {
msg = "Register new did failed : "+result.Replace("\t","").Replace("\n",""); msg = "Register new did failed : "+result.Replace("\t","").Replace("\n","");
} }
...@@ -214,6 +251,384 @@ namespace BLL ...@@ -214,6 +251,384 @@ namespace BLL
return false; return false;
} }
public Dictionary<string, object> searchDids(string code, out string msg)
{
msg = "";
Dictionary<string, object> resultMap = new Dictionary<string, object>();
if (!IsEnalbe())
{
return resultMap;
}
Dictionary<string, string> headerMap = new Dictionary<string, string>();
string token = getAccessToken(out string errmsg);
if (String.IsNullOrEmpty(token))
{
//获取token为空
msg = "getAccessToken fail:" + errmsg;
LogNet.log.Info("getAccessToken fail");
return resultMap;
}
headerMap.Add("fujiAccessToken", token);
String search = "did == \"" + code + "\"";
String orderBy = "did asc";
int pageToken = 0;
int pageSize = 200;
Dictionary<string, object> paramList = new Dictionary<string, object>();
paramList.Add("pageToken", pageToken);
paramList.Add("pageSize", pageSize);
paramList.Add("search", search);
paramList.Add("orderBy", orderBy);
string result = "";
string apiUrl = Config.Nexim_RegisterDidInfoUrl;
try
{
string body = JsonConvert.SerializeObject(paramList);
result = Http.GetWithHeader(apiUrl, headerMap, paramList);
LogNet.log.Info("searchDids Result:" + result);
List<Dictionary<string, object>> retMap = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(result);
if (retMap != null && retMap.Count >= 0)
{
resultMap = retMap[0];
if (resultMap != null && resultMap.ContainsKey("did"))
{
return resultMap;
}
}
else
{
msg = "searchDids failed : " + result.Replace("\t", "").Replace("\n", "");
}
}
catch (Exception e)
{
//改为英文提示
msg = "searchDids failed:" + e.Message;
LogNet.log.Info("searchDids Failed:", e);
}
return resultMap;
}
public Dictionary<string, object> getDid(string code, out string msg)
{
msg = "";
Dictionary<string, object> resultMap = new Dictionary<string, object>();
if (!IsEnalbe())
{
return resultMap;
}
Dictionary<string, string> headerMap = new Dictionary<string, string>();
string token = getAccessToken(out string errmsg);
if (String.IsNullOrEmpty(token))
{
//获取token为空
msg = "getAccessToken fail:" + errmsg;
LogNet.log.Info("getAccessToken fail");
return resultMap;
}
headerMap.Add("fujiAccessToken", token);
string result = "";
string apiUrl = Config.Nexim_RegisterDidInfoUrl+"/"+code;
try
{
result = Http.GetWithHeader(apiUrl, headerMap, null);
LogNet.log.Info("getDid Result:" + result);
Dictionary<string,Dictionary<string,object>> reMap = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, object>>>(result);
if (reMap != null && reMap.Count >= 0 && reMap.ContainsKey("did"))
{
resultMap = reMap["did"];
if (resultMap != null && resultMap.ContainsKey("did"))
{
return resultMap;
}
}
else
{
msg = "getDid failed : " + result.Replace("\t", "").Replace("\n", "");
}
}
catch (Exception e)
{
//改为英文提示
msg = "getDid failed:" + e.Message;
LogNet.log.Info("getDid Failed:", e);
}
return resultMap;
}
public Dictionary<string, object> getPartMasters(string originalPartBarcode, out string msg)
{
msg = "";
Dictionary<string, object> resultMap = new Dictionary<string, object>();
if (!IsEnalbe())
{
return resultMap;
}
Dictionary<string, string> headerMap = new Dictionary<string, string>();
string token = getAccessToken(out string errmsg);
if (String.IsNullOrEmpty(token))
{
//获取token为空
msg = "getAccessToken fail:" + errmsg;
LogNet.log.Info("getAccessToken fail");
return resultMap;
}
headerMap.Add("fujiAccessToken", token);
string result = "";
string apiUrl = Config.Nexim_PartMastersUrl + "/" + originalPartBarcode;
try
{
result = Http.GetWithHeader(apiUrl, headerMap, null);
LogNet.log.Info("getPartMasters Result:" + result);
Dictionary<string, Dictionary<string, object>> reMap = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, object>>>(result);
if (reMap != null && reMap.Count >= 0 && reMap.ContainsKey("partMaster"))
{
resultMap = reMap["partMaster"];
string partNumber = getDataValue<String>(resultMap, "partNumber");
if (!String.IsNullOrEmpty(partNumber))
{
return resultMap;
}
else
{
msg = "getPartMasters failed : " + result.Replace("\t", "").Replace("\n", "");
}
}
else
{
msg = "getPartMasters failed : " + result.Replace("\t", "").Replace("\n", "");
}
}
catch (Exception e)
{
//改为英文提示
msg = "getPartMasters failed:" + e.Message;
LogNet.log.Info("getPartMasters Failed:", e);
}
return resultMap;
}
public bool postPartMasters(Dictionary<string, string> reelData, out string msg)
{
msg = "";
if (!IsEnalbe())
{
return true;
}
Dictionary<string, string> headerMap = new Dictionary<string, string>();
string token = getAccessToken(out string errmsg);
if (String.IsNullOrEmpty(token))
{
//获取token为空
msg = "getAccessToken fail:" + errmsg;
LogNet.log.Info("getAccessToken fail");
return false;
}
headerMap.Add("fujiAccessToken", token);
List<PartMasterModel> paramList = new List<PartMasterModel>();
PartMasterModel model = new PartMasterModel();
// Map fields from reelData
model.originalPartBarcode = getReelInfo(reelData, RI);
model.partNumber = getReelInfo(reelData, PN);
model.partBarcode = getReelInfo(reelData, PN);
model.quantity = getIntReelInfo(reelData, QTY);
model.vendorName = getReelInfo(reelData, SP);
model.lotName = getReelInfo(reelData, BATCH);
string dateCode = getReelInfo(reelData, PRODATE);
if (!string.IsNullOrEmpty(dateCode))
{
model.dateCode = dateCode;
}
model.defaultValue();
paramList.Add(model);
string result = "";
string apiUrl = Config.Nexim_PartMastersUrl;
try
{
string body = JsonConvert.SerializeObject(paramList);
result = Http.PostWithHeader(apiUrl, body, headerMap);
LogNet.log.Info("postPartMasters Result=:" + result);
Dictionary<string, object> resultObj = JsonConvert.DeserializeObject<Dictionary<string, object>>(result);
if (resultObj != null && resultObj.ContainsKey("addedCount"))
{
int addedCount = Convert.ToInt32(resultObj["addedCount"]);
if (addedCount > 0)
{
return true;
}
}
{
msg = "postPartMasters failed : " + result.Replace("\t", "").Replace("\n", "");
}
}
catch (Exception e)
{
//改为英文提示
msg = "postPartMasters failed:" + e.Message;
LogNet.log.Info("postPartMasters Failed:", e);
}
return false;
}
private class DIDModel
{
public string did { get; set; }
public string partNumber { get; set; }
public string partBarcode { get; set; }
public string originalPartBarcode { get; set; }
public int quantity { get; set; }
public string packageType { get; set; } = "paper";
public int partsoutWarning { get; set; }
public int splicingWarning { get; set; }
public string vendorName { get; set; }
public string lotName { get; set; }
public string dateCode { get; set; }
public string area { get; set; }
public string location { get; set; }
public string machine { get; set; }
public int module { get; set; }
public int stageNo { get; set; }
public int slotNo { get; set; }
public string createdUser { get; set; }
public string createdDate { get; set; }
public string updatedUser { get; set; }
public string updatedDate { get; set; }
public string dryStatus { get; set; }
public string boxLife { get; set; }
public string floorLife { get; set; }
public string memo { get; set; }
public string lightingClass { get; set; }
public int lightingLimit { get; set; }
public string note1 { get; set; }
public string note2 { get; set; }
public string note3 { get; set; }
public string note4 { get; set; }
public bool useSplicing { get; set; } = true;
public bool useTrayPackage { get; set; } = false;
public int trayStackCount { get; set; } = 1;
public int trayPickupPositionX { get; set; } = 1;
public int trayPickupPositionY { get; set; } = 1;
public int traySizeX { get; set; } = 1;
public int traySizeY { get; set; } = 1;
}
private class PartMasterModel
{
public PartMasterModel()
{
}
public void defaultValue()
{
// Set other fields with default values from the requirement
this.bodyThickness = null;
this.msLevel = null;
this.trayPartQuantity = 0;
this.partsOutWarning = 0;
this.splicingWarning = 0;
this.location = null;
this.memo = null;
this.packageType = "paper";
this.indexPitch = 0;
this.reelWidth = 0;
this.lightingClassRequired = false;
this.lightingLimit = 0;
this.note1 = null;
this.note2 = null;
this.note3 = null;
this.note4 = null;
this.traySizeX = 0;
this.traySizeY = 0;
this.useTrayPackage = false;
this.useSplicing = true;
this.verifyPolicy = "every_time";
this.applicableMachineCheck = false;
this.didAffixChecks = false;
this.markCheckHint = null;
this.markCheckAnswer = null;
this.directionCheck = 0;
this.mpnCheck = null;
this.useLCRChecking = false;
this.lcrMeasurementType = "L";
this.unit = "string";
this.lcrMeasurementMethod = "None";
this.normalValue = 0;
this.upperLimit = 0;
this.lowerLimit = 0;
this.frequency = 0;
this.voltage = 0;
}
public string originalPartBarcode { get; set; }
public string partNumber { get; set; }
public string partBarcode { get; set; }
public string bodyThickness { get; set; }
public string msLevel { get; set; }
public int quantity { get; set; }
public int trayPartQuantity { get; set; }
public int partsOutWarning { get; set; }
public int splicingWarning { get; set; }
public string vendorName { get; set; }
public string lotName { get; set; }
public string dateCode { get; set; }
public string location { get; set; }
public string memo { get; set; }
public string packageType { get; set; }
public int indexPitch { get; set; }
public int reelWidth { get; set; }
public bool lightingClassRequired { get; set; }
public int lightingLimit { get; set; }
public string note1 { get; set; }
public string note2 { get; set; }
public string note3 { get; set; }
public string note4 { get; set; }
public int traySizeX { get; set; }
public int traySizeY { get; set; }
public bool useTrayPackage { get; set; }
public bool useSplicing { get; set; }
public string verifyPolicy { get; set; }
public bool applicableMachineCheck { get; set; }
public bool didAffixChecks { get; set; }
public string markCheckHint { get; set; }
public string markCheckAnswer { get; set; }
public int directionCheck { get; set; }
public string mpnCheck { get; set; }
public bool useLCRChecking { get; set; }
public string lcrMeasurementType { get; set; }
public string unit { get; set; }
public string lcrMeasurementMethod { get; set; }
public int normalValue { get; set; }
public int upperLimit { get; set; }
public int lowerLimit { get; set; }
public int frequency { get; set; }
public int voltage { get; set; }
}
} }
} }
...@@ -145,6 +145,42 @@ namespace Model ...@@ -145,6 +145,42 @@ namespace Model
LogNet.log.Info("[Post]URL:" + url + "Return:" + s); LogNet.log.Info("[Post]URL:" + url + "Return:" + s);
return FormatContent(s); return FormatContent(s);
} }
public static string GetWithHeader(string url, Dictionary<string, string> headerMap, Dictionary<string, object> queryParams = null)
{
if (queryParams != null && queryParams.Count > 0)
{
var queryString = HttpUtility.ParseQueryString(string.Empty);
foreach (var param in queryParams)
{
queryString.Add(param.Key, param.Value?.ToString());
}
if (url.Contains("?"))
url += "&" + queryString.ToString();
else
url += "?" + queryString.ToString();
}
LogNet.log.Info("[Get]URL:" + url);
RestClient client = new(url) { Timeout = 10000 };
RestRequest request = new(Method.GET);
if (headerMap != null && headerMap.Count > 0)
{
foreach (var head in headerMap)
{
request.AddHeader(head.Key, head.Value);
}
}
IRestResponse response = client.Execute(request);
if (response.ErrorException != null)
{
LogNet.log.Error("[Get]URL:" + url + " Error: " + response.ErrorException.ToString());
throw response.ErrorException;
}
string s = response.Content;
LogNet.log.Info("[Get]URL:" + url + "Return:" + s);
return FormatContent(s);
}
} }
public class CustSerialize : RestSharp.Serialization.IRestSerializer public class CustSerialize : RestSharp.Serialization.IRestSerializer
{ {
......
...@@ -168,7 +168,19 @@ namespace SmartScan ...@@ -168,7 +168,19 @@ namespace SmartScan
isMatched = Request_API_C2(matchedTexts); isMatched = Request_API_C2(matchedTexts);
} }
if (isMatched) Dictionary<string, string> lastKey = BLLCommon.extension.GetUIKeywords();
if (lastKey == null)
lastKey = new Dictionary<string, string>(workCodeKeyword);
else
lastKey = new Dictionary<string, string>(lastKey, StringComparer.OrdinalIgnoreCase);
//nexim对接
if (isMatched && (!DidRegisterValidate(lastKey, out string errmsg)))
{
isMatched = false;
LogNet.log.Info("DidRegisterValidate error ,isMatched = false");
}
if (isMatched)
{ {
Check2s?.Invoke("2"); Check2s?.Invoke("2");
// Common.frmMain.wpfControl.SetResultOK(); // Common.frmMain.wpfControl.SetResultOK();
...@@ -223,6 +235,67 @@ namespace SmartScan ...@@ -223,6 +235,67 @@ namespace SmartScan
} }
} }
private bool DidRegisterValidate(Dictionary<string, string> content, out string errmsg)
{
errmsg = "";
if (!BLLCommon.neximApiUtils.IsEnalbe())
{
return true;
}
try
{
string pn = BLLCommon.neximApiUtils.getReelInfo(content, "PN");
string msg;
bool result;
Dictionary<string, object> pmData = BLLCommon.neximApiUtils.getPartMasters(pn, out msg);
if (!string.IsNullOrEmpty(msg))
{
LogNet.log.Error($"getPartMasters failed, pn={pn}, msg={msg},开始注册PN");
result = BLLCommon.neximApiUtils.postPartMasters(content, out msg);
if (result)
{
LogNet.log.Info($"postPartMasters OK, pn={pn}");
}
else
{
LogNet.log.Error($"getPartMasters failed, pn={pn}, msg={msg}");
errmsg = msg;
MessageboxNeo.Show("Register PartMasters Failure Notice", errmsg, "NEO SCAN", false );
return false;
}
}
else
{
string reelId = BLLCommon.neximApiUtils.getReelInfo(content, "RI");
//获取did信息,获取成功直接返回
Dictionary<string, object> didData = BLLCommon.neximApiUtils.getDid(reelId, out msg);
LogNet.log.Error($"getPartMasters OK, getDid OK,直接返回 true");
if (string.IsNullOrEmpty(msg))
{
return true;
}
}
if (BLLCommon.neximApiUtils.registerNewDid(content, pmData, out msg))
{
return true;
}
else
{
errmsg = msg;
//Register Failure Notice
MessageboxNeo.Show("Register Failure Notice", errmsg, "NEO SCAN", false );
return false;
}
}
catch (Exception ex)
{
LogNet.log.Info("DidRegisterValidate" + ex.ToString());
}
return false;
}
private bool Request_API_C2(List<string> matchedTexts) private bool Request_API_C2(List<string> matchedTexts)
{ {
string url = config.HttpLabelReport.Trim(); string url = config.HttpLabelReport.Trim();
......
...@@ -119,10 +119,12 @@ namespace SmartScan.SetControl.WPF ...@@ -119,10 +119,12 @@ namespace SmartScan.SetControl.WPF
{ {
codeItems.Add(item); codeItems.Add(item);
} }
data3.ItemsSource = null;
data3.ItemsSource = codeItems;
if (data3.Items.Count > 0) if (data3.Items.Count > 0)
data3.SelectedIndex = -1; data3.SelectedIndex = -1;
bmp = (Bitmap)ImgShow.Image; bmp = (Bitmap)ImgShow.Image;
//给条码加上识别数字 //给条码加上识别数字
//kmon //kmon
//2025-6-25 //2025-6-25
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!