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; }