From 15c639586f6faf880021e4df6ca5e39ff6a923a7 Mon Sep 17 00:00:00 2001 From: ray Date: Mon, 20 Dec 2021 03:49:59 +0800 Subject: [PATCH] 1. --- .../Controllers/PCSController.cs | 60 +++++++++++++++++-- .../ViewModels/PCS/PCS021ViewModel.cs | 12 +++- AMESCoreStudio.Web/Views/PCS/PCS021.cshtml | 29 +++++++-- 3 files changed, 88 insertions(+), 13 deletions(-) diff --git a/AMESCoreStudio.Web/Controllers/PCSController.cs b/AMESCoreStudio.Web/Controllers/PCSController.cs index 2f05b151..de42696f 100644 --- a/AMESCoreStudio.Web/Controllers/PCSController.cs +++ b/AMESCoreStudio.Web/Controllers/PCSController.cs @@ -1537,6 +1537,7 @@ namespace AMESCoreStudio.Web.Controllers var model = new PCS021ViewModel(); await GetFactoryUnit(); await GetLineInfo(); + await GetStations(); return View(model); } @@ -1545,9 +1546,40 @@ namespace AMESCoreStudio.Web.Controllers { await GetFactoryUnit(); await GetLineInfo(); - model.WipNO = "WO0001A1"; + await GetStations(); + + + if (string.IsNullOrWhiteSpace(model.WipNO)) + { + ModelState.AddModelError("error", "請輸入工單號碼"); + } + + if (string.IsNullOrWhiteSpace(model.UnitNO)) + { + ModelState.AddModelError("error", "請選擇生產單位"); + } + + if (model.LineID == 0) + { + ModelState.AddModelError("error", "請選擇線別"); + } + + if (string.IsNullOrWhiteSpace(model.Station)) + { + ModelState.AddModelError("error", "請選擇作業站"); + } + + + //model.WipNO = "WO0001A1"; var q = await _pcsApi.GetWipInfoByWipNO(model.WipNO); + + if (q.Count() == 0) + { + ModelState.AddModelError("error", "找不到工單號碼"); + } + q = q.Where(w => w.UnitNO == model.UnitNO).ToList(); + if (q.Count != 0) { model.PlanQTY = q.FirstOrDefault().PlanQTY; @@ -1560,8 +1592,18 @@ namespace AMESCoreStudio.Web.Controllers if (model.MaterialItem != null) { model.MaterialKps = await _pcsApi.GetMaterialKpByItemID(model.MaterialItem.ItemID); - model.MaterialOutfits = await _pcsApi.GetMaterialOutfitByItemID(model.MaterialItem.ItemID); model.MaterialStationsItems = await _pcsApi.GetMaterialStationsItemByItemID(model.MaterialItem.ItemID); + var q1 = await _pcsApi.GetMaterialOutfitByItemID(model.MaterialItem.ItemID); + foreach (var item in q1) + { + model.MaterialOutfits.Add(new MaterialOutfits + { + ItemID = item.ItemID, + MaterialOutfitID = item.MaterialOutfitID, + OutfitNo = item.OutfitNo + } + ); + } } var wipsop = await _pcsApi.GetWipSopLog(q.FirstOrDefault().WipID); @@ -1572,12 +1614,22 @@ namespace AMESCoreStudio.Web.Controllers model.Input = "1234"; } + return View("PCS021", model); } [HttpPost] - public IActionResult PCS021_Input(PCS021ViewModel model) + public async Task PCS021_Input(PCS021ViewModel model) { + if (model.MaterialOutfits.Where(w => string.IsNullOrWhiteSpace(w.Inputs)).Any()) + ModelState.AddModelError("error", "請刷入治具編號"); + + //model.Inputs = TempData["TmpData"] as List; + var aa = TempData["TmpData"]; + model.Inputs.Add(model.Input); + TempData["TmpData"] = model.Inputs; + + //var aa = TempData["TmpData"]; //await GetFactoryUnit(); //await GetLineInfo(); //model.WipInfo.WipNO = "WO0001A1"; @@ -1594,7 +1646,7 @@ namespace AMESCoreStudio.Web.Controllers //if () // return View("PCS021"); //else - return Json("Hello"); + return Json("Hello"); } #endregion diff --git a/AMESCoreStudio.Web/ViewModels/PCS/PCS021ViewModel.cs b/AMESCoreStudio.Web/ViewModels/PCS/PCS021ViewModel.cs index a64d5ad9..bf7d5f3d 100644 --- a/AMESCoreStudio.Web/ViewModels/PCS/PCS021ViewModel.cs +++ b/AMESCoreStudio.Web/ViewModels/PCS/PCS021ViewModel.cs @@ -31,7 +31,7 @@ namespace AMESCoreStudio.Web.ViewModels.PCS public string UnitNO { get; set; } /// - /// 作業暫 + /// 作業站 /// public string Station { get; set; } @@ -53,7 +53,8 @@ namespace AMESCoreStudio.Web.ViewModels.PCS /// /// input /// - public List Inputs { get; set; } + + public List Inputs { get; set; } = new List(); /// /// 料號相關資料 治具 工項 keyparts @@ -68,11 +69,16 @@ namespace AMESCoreStudio.Web.ViewModels.PCS /// /// 料號治具資訊 /// - public List MaterialOutfits { get; set; } = new List(); + public List MaterialOutfits { get; set; } = new List(); /// /// 站別工項資料檔 /// public List MaterialStationsItems { get; set; } = new List(); } + + public class MaterialOutfits : MaterialOutfit + { + public string Inputs { get; set; } + } } diff --git a/AMESCoreStudio.Web/Views/PCS/PCS021.cshtml b/AMESCoreStudio.Web/Views/PCS/PCS021.cshtml index db6f7d30..77f0e370 100644 --- a/AMESCoreStudio.Web/Views/PCS/PCS021.cshtml +++ b/AMESCoreStudio.Web/Views/PCS/PCS021.cshtml @@ -70,7 +70,7 @@
-
@@ -79,11 +79,12 @@
+
-
@@ -116,7 +117,7 @@
- + TmpData:@TempData["TmpData"]
@@ -124,6 +125,7 @@
檢查項目 + @{ int i = 0;} + i++; } +
@@ -148,11 +150,13 @@ @index.StationsItemNo - @index.StationsItemDesc +
@@ -214,6 +218,7 @@
+ @{int j = 0;} + j++; } +
@@ -238,10 +243,13 @@ @index.StationType +
@@ -260,9 +268,18 @@ await Html.RenderPartialAsync("_FileinputScriptsPartial"); }