|
|
@ -1519,6 +1519,7 @@ namespace AMESCoreStudio.Web.Controllers |
|
|
|
var result = await _pcsApi.GetItApiEcnByWipNo(wipNo); |
|
|
|
var json = JsonConvert.DeserializeObject<WebApi.Models.aValue_API.ProductDetail>(result); |
|
|
|
return Json(new Result() { success = true, data = json }); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
#endregion
|
|
|
@ -3279,6 +3280,7 @@ namespace AMESCoreStudio.Web.Controllers |
|
|
|
|
|
|
|
public async Task<JsonResult> GetMAC(string itemno, string wipNo, int planQTY) |
|
|
|
{ |
|
|
|
string msg = string.Empty; |
|
|
|
var q = await _pcsApi.GetMACInfo(itemno); |
|
|
|
|
|
|
|
if (q != null) |
|
|
@ -3286,13 +3288,16 @@ namespace AMESCoreStudio.Web.Controllers |
|
|
|
// 工單數量*單板MAC數
|
|
|
|
var MacQty = planQTY * q.Qty; |
|
|
|
var wipMAC = await _pcsApi.GetWipMAC(wipNo); |
|
|
|
// 目前該筆供單已取MAC數量
|
|
|
|
var getWipMacQty = wipMAC.Select(s => s.Qty).Sum(); |
|
|
|
// 判斷目前工單數量*單板MAC數 == DB已記使用MAC數量
|
|
|
|
if (planQTY * q.Qty <= getWipMacQty) |
|
|
|
{ |
|
|
|
return Json(new { _msg = "已取滿MAC數量,請在確認" }); |
|
|
|
msg = "該筆工單已取滿MAC數量,請在確認"; |
|
|
|
return Json(new Result() { success = false, data = null, msg = msg }); |
|
|
|
} |
|
|
|
|
|
|
|
// 剩下工單未取MAC數量
|
|
|
|
MacQty = MacQty - getWipMacQty; |
|
|
|
|
|
|
|
// 當前值 16 進位
|
|
|
@ -3300,20 +3305,31 @@ namespace AMESCoreStudio.Web.Controllers |
|
|
|
|
|
|
|
var Entire = new Code.Entire(); |
|
|
|
|
|
|
|
// 最小值
|
|
|
|
// Table 當前值 最小值
|
|
|
|
var Mix = (int.Parse(Entire.DecHex(Value, "HexToDec")) + 1); |
|
|
|
if (Mix > int.Parse(Entire.DecHex(q.Max.ToString(), "HexToDec"))) |
|
|
|
{ |
|
|
|
msg = "可使用MAC區間已用完,請在確認"; |
|
|
|
return Json(new Result() { success = false, data = null, msg = msg }); |
|
|
|
} |
|
|
|
|
|
|
|
// 最大值
|
|
|
|
var Max = (int.Parse(Entire.DecHex(Value, "HexToDec")) + MacQty); |
|
|
|
|
|
|
|
// 當最大值 > DB設定最大值
|
|
|
|
// 當最大值 > DB設定最大值 已超過目前區間
|
|
|
|
if (Max > int.Parse(Entire.DecHex(q.Max.ToString(), "HexToDec"))) |
|
|
|
{ |
|
|
|
return Json(new { _msg = "自動配MAC已超過設定最大值,請在確認!" }); |
|
|
|
// 先把剩下區間用完
|
|
|
|
Max = int.Parse(Entire.DecHex(q.Max.ToString(), "HexToDec")); |
|
|
|
|
|
|
|
// 取剩下的MAC數量
|
|
|
|
msg = $"已將剩下MAC區間取完:【{Max - Mix + 1}】pcs,尚有:【{MacQty - (Max - Mix + 1)}】pcs還沒取,請再申請一組新的MAC區間"; |
|
|
|
MacQty = Max - Mix + 1; |
|
|
|
// return Json(new { _msg = "自動配MAC已超過設定最大值,請在確認!" });
|
|
|
|
} |
|
|
|
|
|
|
|
// 低於安全量 Mail通知
|
|
|
|
// 取完剩餘數量
|
|
|
|
var NowQty = Max - int.Parse(Entire.DecHex(q.Max.ToString(), "HexToDec")); |
|
|
|
var NowQty = int.Parse(Entire.DecHex(q.Max.ToString(), "HexToDec")) - Max; |
|
|
|
if (NowQty <= q.SafeQty) |
|
|
|
{ |
|
|
|
|
|
|
@ -3339,9 +3355,10 @@ namespace AMESCoreStudio.Web.Controllers |
|
|
|
mix = MACstr, |
|
|
|
max = MACend, |
|
|
|
}; |
|
|
|
return Json(x); |
|
|
|
return Json(new Result() { success = true, data = x, msg = msg }); |
|
|
|
} |
|
|
|
return Json(new { _msg = "查無相關MAC對應" }); |
|
|
|
msg = "查無相關MAC對應"; |
|
|
|
return Json(new Result() { success = false, data = null, msg = msg }); |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|