diff --git a/AMESCoreStudio.Web/Controllers/PCSController.cs b/AMESCoreStudio.Web/Controllers/PCSController.cs
index 3a1fdbf8..b7ebb498 100644
--- a/AMESCoreStudio.Web/Controllers/PCSController.cs
+++ b/AMESCoreStudio.Web/Controllers/PCSController.cs
@@ -8457,7 +8457,7 @@ namespace AMESCoreStudio.Web.Controllers
// 有箱號時判斷是有否在FQC抽驗,允收或未檢驗不能刪除
if (!string.IsNullOrWhiteSpace(barcodeInfo.BoxNo))
{
- var CheckFqcOn = await _pcsApi.GetCheckFqcOnGoIng(barcodeInfo.BoxNo);
+ var CheckFqcOn = await _pcsApi.GetCheckFqcOnGoIng(barcodeInfo.BoxNo, barcodeInfo.WipID);
if (CheckFqcOn.Any())
{
ModelState.AddModelError("error", $"無法解除綁定,內部序號【{model.BarCodeNo}】已綁定箱號【{barcodeInfo.BoxNo}】並且已開FQC");
@@ -8465,6 +8465,12 @@ namespace AMESCoreStudio.Web.Controllers
}
}
+ if (barcodeInfo.StatusID == -1)
+ {
+ ModelState.AddModelError("error", $"無法解除綁定,內部序號【{model.BarCodeNo}】目前流程已結束");
+ return View(model);
+ }
+
barcodeInfo.BoxNo = "";
barcodeInfo.ExtraBarcodeNo = "";
barcodeInfo.UpdateDate = DateTime.Now;
@@ -8540,13 +8546,19 @@ namespace AMESCoreStudio.Web.Controllers
// 有箱號時判斷是有否在FQC抽驗,允收或未檢驗不能刪除
if (!string.IsNullOrWhiteSpace(barcodeInfo.BoxNo))
{
- var CheckFqcOn = await _pcsApi.GetCheckFqcOnGoIng(barcodeInfo.BoxNo);
+ var CheckFqcOn = await _pcsApi.GetCheckFqcOnGoIng(barcodeInfo.BoxNo, barcodeInfo.WipID);
if (CheckFqcOn.Any())
{
ModelState.AddModelError("error", $"無法解除綁定,內部序號【{barcodeInfo.BarcodeNo}】已綁定箱號【{barcodeInfo.BoxNo}】並且已開FQC");
return View(model);
}
}
+
+ if (barcodeInfo.StatusID == -1)
+ {
+ ModelState.AddModelError("error", $"無法解除綁定,內部序號【{barcodeInfo.BarcodeNo}】目前流程已結束");
+ return View(model);
+ }
}
}
diff --git a/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs b/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs
index 54119fcd..07d8abb4 100644
--- a/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs
+++ b/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs
@@ -1411,9 +1411,10 @@ namespace AMESCoreStudio.Web
/// 判斷箱號是否有在FQC允收或未檢驗
///
/// 箱號
+ /// WIPID
///
[WebApiClient.Attributes.HttpGet("api/FqcInhouseDetail/GetCheckFqcOnGoIng")]
- ITask> GetCheckFqcOnGoIng(string boxNo);
+ ITask> GetCheckFqcOnGoIng(string boxNo , int wipId);
#endregion
#region 取出貨序號
diff --git a/AMESCoreStudio.WebApi/Controllers/AMES/FqcInhouseDetailController.cs b/AMESCoreStudio.WebApi/Controllers/AMES/FqcInhouseDetailController.cs
index 1ea62189..ce1b3305 100644
--- a/AMESCoreStudio.WebApi/Controllers/AMES/FqcInhouseDetailController.cs
+++ b/AMESCoreStudio.WebApi/Controllers/AMES/FqcInhouseDetailController.cs
@@ -218,17 +218,22 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
///
/// 查詢箱號是否有在FQC抽驗中或允收
///
+ /// 箱號
+ /// WIPID
///
[HttpGet("GetCheckFqcOnGoIng")]
- public async Task> GetCheckFqcOnGoIng(string boxNo)
+ public async Task> GetCheckFqcOnGoIng(string boxNo , int wipId)
{
var querySql = @" SELECT * FROM JHAMES.FQC_INHOUSE_MASTER M
INNER JOIN JHAMES.FQC_INHOUSE_DETAIL D ON M.INHOUSE_NO = D.INHOUSE_NO AND M.SEQ_ID = D.SEQ_ID
+ INNER JOIN JHAMES.WIP_INFO W ON W.WIP_NO = M.WIP_NO
WHERE D.SERIAL_NO = :SerialNo
+ AND W.WIP_ID = :WipId
AND STATUS IN ('P','A') ";
DynamicParameters p = new DynamicParameters();
p.Add("SerialNo", boxNo);
+ p.Add("WipId", wipId);
var result = await _context.Database.DapperQueryAsync(querySql, p);
return result;
}