From af3b07cf5338a4a66cd43ec2468fec3ff33f91ab Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 25 Apr 2022 19:35:41 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E5=B7=A5=E5=96=AE=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E8=B3=87=E6=96=99=E7=B6=AD=E8=AD=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/PCSController.cs | 515 +++++++++--------- AMESCoreStudio.Web/Views/PCS/PCS001.cshtml | 412 ++++++++++---- AMESCoreStudio.Web/Views/PCS/PCS003.cshtml | 4 + 3 files changed, 574 insertions(+), 357 deletions(-) diff --git a/AMESCoreStudio.Web/Controllers/PCSController.cs b/AMESCoreStudio.Web/Controllers/PCSController.cs index c8ee9a33..3a959954 100644 --- a/AMESCoreStudio.Web/Controllers/PCSController.cs +++ b/AMESCoreStudio.Web/Controllers/PCSController.cs @@ -1298,7 +1298,7 @@ namespace AMESCoreStudio.Web.Controllers //頁面提交,id=0 添加,id>0 修改 [HttpPost] - public async Task PCS001Async(WipDataViewModel model, IFormFile formFile) + public async Task PCS001Async(WipDataViewModel model, string action, IFormFile formFile) { #region 選單 await GetProductType(); @@ -1328,7 +1328,63 @@ namespace AMESCoreStudio.Web.Controllers #endregion IResultModel result; int UserID = GetLogInUserID(); - // Checkbox轉換 + + if (action == "Copy") + { + model.wipAtt = await _pcsApi.GetWipAtt(model.wipInfo.WipNO); + + if (model.wipAtt == null) + { + + } + + model.wipBarcodes = await _pcsApi.GetWipBarcode(model.wipInfo.WipNO); + model.wipBarcode = model.wipBarcodes.FirstOrDefault(); + model.ruleStations = await _pcsApi.GetRuleStationByWipNo(model.wipInfo.WipNO); + + model.wipBoard = await _pcsApi.GetWipBoard(model.wipInfo.WipNO); + if (model.wipBoard != null) + { + if (!string.IsNullOrWhiteSpace(model.wipBoard.Engineer)) + { + var UserInof = _sysApi.GetUserInfoByUserNo(model.wipBoard.Engineer).InvokeAsync().Result; + if (UserInof != null) + model.wipBoard.Engineer_Name = UserInof.UserName; + } + } + + model.wipSystem = await _pcsApi.GetWipSystem(model.wipInfo.WipNO); + if (model.wipSystem != null) + { + if (!string.IsNullOrWhiteSpace(model.wipSystem.Engineer)) + { + var UserInof = _sysApi.GetUserInfoByUserNo(model.wipSystem.Engineer).InvokeAsync().Result; + if (UserInof != null) + model.wipSystem.Engineer_Name = UserInof.UserName; + } + } + + model.wipMAC = await _pcsApi.GetWipMAC(model.wipInfo.WipNO); + if (model.wipMAC != null) + { + model.wipMAC.StartNO = model.wipMAC.Title + model.wipMAC.StartNO; + model.wipMAC.EndNO = model.wipMAC.Title + model.wipMAC.EndNO; + } + + model.wipLabel = await _pcsApi.GetWipLabel(model.wipInfo.WipNO); + + model.wipBarcodeOther = await _pcsApi.GetWipBarcodeOther(model.wipInfo.WipNO); + + model.WipKps = await _pcsApi.GetWipKpByWipNo(model.wipInfo.WipNO); + + model.WipOutfits = await _pcsApi.GetWipOutfitByWipNo(model.wipInfo.WipNO); + + model.WipSops = await _pcsApi.GetWipSopByWipNo(model.wipInfo.WipNO); + + model.wipInfoBlobs = await _pcsApi.GetWipInfoBlob(model.wipInfo.WipNO); + } + + #region Checkbox轉換 model.wipInfo.ECNCheck = model.wipInfo.ECNCheck == "true" ? "Y" : "N"; model.wipInfo.ModelCheck = model.wipInfo.ModelCheck == "true" ? "Y" : "N"; model.wipInfo.InputFlag = model.wipInfo.InputFlag == "true" ? "Y" : "N"; @@ -1337,301 +1393,262 @@ namespace AMESCoreStudio.Web.Controllers model.wipInfo.CustomerVIP = model.wipInfo.CustomerVIP == "true" ? "Y" : "N"; model.wipInfo.SFISFlowCk = model.wipInfo.SFISFlowCk == "true" ? "Y" : "N"; //板卡 - model.wipBoard.DipCarrier = model.wipBoard.DipCarrier == "true" ? "Y" : "N"; - model.wipBoard.DipTape = model.wipBoard.DipTape == "true" ? "Y" : "N"; - model.wipBoard.DipSolderMask = model.wipBoard.DipSolderMask == "true" ? "Y" : "N"; - model.wipBoard.Burn = model.wipBoard.Burn == "true" ? "Y" : "N"; - model.wipBoard.ISPartsBake = model.wipBoard.ISPartsBake == "true" ? "Y" : "N"; + if (model.wipBoard != null) + { + model.wipBoard.DipCarrier = model.wipBoard.DipCarrier == "true" ? "Y" : "N"; + model.wipBoard.DipTape = model.wipBoard.DipTape == "true" ? "Y" : "N"; + model.wipBoard.DipSolderMask = model.wipBoard.DipSolderMask == "true" ? "Y" : "N"; + model.wipBoard.Burn = model.wipBoard.Burn == "true" ? "Y" : "N"; + model.wipBoard.ISPartsBake = model.wipBoard.ISPartsBake == "true" ? "Y" : "N"; + } //系統 - model.wipSystem.FinePackage = model.wipSystem.FinePackage == "true" ? "Y" : "N"; - - // 判斷資料填寫 - var Msg = CheckWipInfoInsert(model); - - - // 判斷是否有開重複工單+生產單位 - var wipInfoQuery = await _pcsApi.GetWipInfoByWipNO(model.wipInfo.WipNO); - if (wipInfoQuery.Any()) + if (model.wipSystem != null) { - if (wipInfoQuery.Where(w => w.UnitNO == model.wipInfo.UnitNO).Count() != 0) - { - Msg += " 同樣生產單位已建立相同工單了 "; - } + model.wipSystem.FinePackage = model.wipSystem.FinePackage == "true" ? "Y" : "N"; } - if (!string.IsNullOrWhiteSpace(Msg)) - { - model.wipInfo.ECNCheck = model.wipInfo.ECNCheck == "Y" ? "true" : "false"; - model.wipInfo.ModelCheck = model.wipInfo.ModelCheck == "Y" ? "true" : "false"; - model.wipInfo.InputFlag = model.wipInfo.InputFlag == "Y" ? "true" : "false"; - model.wipInfo.Priority = model.wipInfo.Priority == "Y" ? "true" : "false"; - model.wipInfo.CustomerMedical = model.wipInfo.CustomerMedical == "Y" ? "true" : "false"; - model.wipInfo.CustomerVIP = model.wipInfo.CustomerVIP == "Y" ? "true" : "false"; - model.wipInfo.SFISFlowCk = model.wipInfo.SFISFlowCk == "Y" ? "true" : "false"; - //板卡 - model.wipBoard.DipCarrier = model.wipBoard.DipCarrier == "Y" ? "true" : "false"; - model.wipBoard.DipTape = model.wipBoard.DipTape == "Y" ? "true" : "false"; - model.wipBoard.DipSolderMask = model.wipBoard.DipSolderMask == "Y" ? "true" : "false"; - model.wipBoard.ISPartsBake = model.wipBoard.ISPartsBake == "Y" ? "true" : "false"; - model.wipBoard.Burn = model.wipBoard.Burn == "Y" ? "true" : "false"; - - //系統 - model.wipSystem.FinePackage = model.wipSystem.FinePackage == "Y" ? "true" : "false"; - ModelState.AddModelError("error", Msg); - return View("PCS001", model); - } + #endregion - result = await _pcsApi.PostWipInfo(JsonConvert.SerializeObject(model.wipInfo)); - if (result.Success) + #region 保存動作 + if (action == "保存") { - int wipID = int.Parse(result.Msg); + // 判斷資料填寫 + var Msg = CheckWipInfoInsert(model); - // 料號判斷,沒有就Insert - var checkMaterialItem = await _pcsApi.GetMaterialItemByItemNO(model.wipAtt.ItemNO); - if (checkMaterialItem == null) + // 判斷是否有開重複工單+生產單位 + var wipInfoQuery = await _pcsApi.GetWipInfoByWipNO(model.wipInfo.WipNO); + if (wipInfoQuery.Any()) { - await _pcsApi.PostMaterialItem(JsonConvert.SerializeObject( - new MaterialItem - { - ItemNo = model.wipAtt.ItemNO, - CreateUserID = UserID - })); + if (wipInfoQuery.Where(w => w.UnitNO == model.wipInfo.UnitNO).Count() != 0) + { + Msg += " 同樣生產單位已建立相同工單了 "; + } } - // 工單屬性 - model.wipAtt.WipNO = model.wipInfo.WipNO; - model.wipAtt.CreateUserID = UserID; - await _pcsApi.PostWipAtt(JsonConvert.SerializeObject(model.wipAtt)); + if (!string.IsNullOrWhiteSpace(Msg)) + { + ModelState.AddModelError("error", Msg); - // 標籤 - model.wipLabel.ApproveLogo = model.wipLabel.ApproveLogos == null ? null : string.Join(',', model.wipLabel.ApproveLogos); - model.wipLabel.WipNO = model.wipInfo.WipNO; - model.wipLabel.CreateUserID = UserID; - model.wipLabel.UpdateUserID = UserID; - await _pcsApi.PostWipLabel(JsonConvert.SerializeObject(model.wipLabel)); - - // 新增工單Log - WipLog wiplog = new WipLog(); - wiplog.WipID = wipID; - wiplog.StatusNO = "N"; - wiplog.WipDesc = "."; - wiplog.CreateUserID = UserID; - await _pcsApi.PostWipLog(JsonConvert.SerializeObject(wiplog)); + return View("PCS001", model); + } - // 系統 - if (model.wipInfo.UnitNO == "B" || model.wipInfo.UnitNO == "P" || model.wipInfo.UnitNO == "T") + result = await _pcsApi.PostWipInfo(JsonConvert.SerializeObject(model.wipInfo)); + if (result.Success) { - if (string.IsNullOrWhiteSpace(CheckWipInfoInsert_WipSystem(model.wipSystem))) + int wipID = int.Parse(result.Msg); + + // 料號判斷,沒有就Insert + var checkMaterialItem = await _pcsApi.GetMaterialItemByItemNO(model.wipAtt.ItemNO); + if (checkMaterialItem == null) { - if (!string.IsNullOrWhiteSpace(model.wipSystem.BiTemperature)) + await _pcsApi.PostMaterialItem(JsonConvert.SerializeObject( + new MaterialItem + { + ItemNo = model.wipAtt.ItemNO, + CreateUserID = UserID + })); + } + + // 工單屬性 + model.wipAtt.WipNO = model.wipInfo.WipNO; + model.wipAtt.CreateUserID = UserID; + await _pcsApi.PostWipAtt(JsonConvert.SerializeObject(model.wipAtt)); + + // 標籤 + model.wipLabel.ApproveLogo = model.wipLabel.ApproveLogos == null ? null : string.Join(',', model.wipLabel.ApproveLogos); + model.wipLabel.WipNO = model.wipInfo.WipNO; + model.wipLabel.CreateUserID = UserID; + model.wipLabel.UpdateUserID = UserID; + await _pcsApi.PostWipLabel(JsonConvert.SerializeObject(model.wipLabel)); + + // 新增工單Log + WipLog wiplog = new WipLog(); + wiplog.WipID = wipID; + wiplog.StatusNO = "N"; + wiplog.WipDesc = "."; + wiplog.CreateUserID = UserID; + await _pcsApi.PostWipLog(JsonConvert.SerializeObject(wiplog)); + + // 系統 + if (model.wipInfo.UnitNO == "B" || model.wipInfo.UnitNO == "P" || model.wipInfo.UnitNO == "T") + { + if (string.IsNullOrWhiteSpace(CheckWipInfoInsert_WipSystem(model.wipSystem))) { - model.wipSystem.ItemNo = model.wipAtt.ItemNO; - model.wipSystem.WipNo = model.wipInfo.WipNO; - model.wipSystem.CreateUserID = UserID; - model.wipSystem.UpdateUserID = UserID; - await _pcsApi.PostWipSystem(JsonConvert.SerializeObject(model.wipSystem)); + if (!string.IsNullOrWhiteSpace(model.wipSystem.BiTemperature)) + { + model.wipSystem.ItemNo = model.wipAtt.ItemNO; + model.wipSystem.WipNo = model.wipInfo.WipNO; + model.wipSystem.CreateUserID = UserID; + model.wipSystem.UpdateUserID = UserID; + await _pcsApi.PostWipSystem(JsonConvert.SerializeObject(model.wipSystem)); + } } } - } - else - // 板卡 - { - if (string.IsNullOrWhiteSpace(CheckWipInfoInsert_WipBoard(model.wipBoard))) + else + // 板卡 { - if (!string.IsNullOrWhiteSpace(model.wipBoard.BiTemperature)) + if (string.IsNullOrWhiteSpace(CheckWipInfoInsert_WipBoard(model.wipBoard))) { - model.wipBoard.Smd = model.wipBoard.SMDs == null ? null : string.Join(',', model.wipBoard.SMDs); - model.wipBoard.DipSide = model.wipBoard.DipSides == null ? null : string.Join(',', model.wipBoard.DipSides); - model.wipBoard.SmdSolderMask = model.wipBoard.SmdSolderMasks == null ? null : string.Join(',', model.wipBoard.SmdSolderMasks); - model.wipBoard.ItemNo = model.wipAtt.ItemNO; - model.wipBoard.WipNo = model.wipInfo.WipNO; - model.wipBoard.CreateUserID = UserID; - model.wipBoard.UpdateUserID = UserID; - await _pcsApi.PostWipBoard(JsonConvert.SerializeObject(model.wipBoard)); + if (!string.IsNullOrWhiteSpace(model.wipBoard.BiTemperature)) + { + model.wipBoard.Smd = model.wipBoard.SMDs == null ? null : string.Join(',', model.wipBoard.SMDs); + model.wipBoard.DipSide = model.wipBoard.DipSides == null ? null : string.Join(',', model.wipBoard.DipSides); + model.wipBoard.SmdSolderMask = model.wipBoard.SmdSolderMasks == null ? null : string.Join(',', model.wipBoard.SmdSolderMasks); + model.wipBoard.ItemNo = model.wipAtt.ItemNO; + model.wipBoard.WipNo = model.wipInfo.WipNO; + model.wipBoard.CreateUserID = UserID; + model.wipBoard.UpdateUserID = UserID; + await _pcsApi.PostWipBoard(JsonConvert.SerializeObject(model.wipBoard)); + } } } - } - - // 內部條碼 - if (!string.IsNullOrWhiteSpace(model.wipBarcode.StartNO) && !string.IsNullOrWhiteSpace(model.wipBarcode.EndNO)) - { - model.wipBarcode.WipID = wipID; - model.wipBarcode.WipNO = model.wipInfo.WipNO; - model.wipBarcode.UnitNO = model.wipInfo.UnitNO; - model.wipBarcode.CreateUserID = UserID; - result = await _pcsApi.PostWipBarcode(JsonConvert.SerializeObject(model.wipBarcode)); - - // 工單條碼規則設定文件檔 - WipRule wipRule = new WipRule(); - wipRule.WipNO = model.wipInfo.WipNO; - wipRule.KeyNo = "00"; - wipRule.BarcodeLen = 14; - wipRule.BarcodeFormat = model.wipInfo.UnitNO; - result = await _pcsApi.PostWipRule(JsonConvert.SerializeObject(wipRule)); - } - // 出貨序號 - if (!string.IsNullOrWhiteSpace(model.wipBarcodeOther.StartNO) && !string.IsNullOrWhiteSpace(model.wipBarcodeOther.EndNO)) - { - var type_no = await _pcsApi.GetBarcodeTypeByTypeName("客戶條碼區間"); - if (type_no != null) + // 內部條碼 + if (!string.IsNullOrWhiteSpace(model.wipBarcode.StartNO) && !string.IsNullOrWhiteSpace(model.wipBarcode.EndNO)) { - model.wipBarcodeOther.WipNO = model.wipInfo.WipNO; - model.wipBarcodeOther.TypeNO = type_no.TypeNo; - model.wipBarcodeOther.CreateUserID = UserID; - model.wipBarcodeOther.UpdateUserID = UserID; - result = await _pcsApi.PostWipBarcodeOther(JsonConvert.SerializeObject(model.wipBarcodeOther)); + model.wipBarcode.WipID = wipID; + model.wipBarcode.WipNO = model.wipInfo.WipNO; + model.wipBarcode.UnitNO = model.wipInfo.UnitNO; + model.wipBarcode.CreateUserID = UserID; + result = await _pcsApi.PostWipBarcode(JsonConvert.SerializeObject(model.wipBarcode)); + + // 工單條碼規則設定文件檔 + WipRule wipRule = new WipRule(); + wipRule.WipNO = model.wipInfo.WipNO; + wipRule.KeyNo = "00"; + wipRule.BarcodeLen = 14; + wipRule.BarcodeFormat = model.wipInfo.UnitNO; + result = await _pcsApi.PostWipRule(JsonConvert.SerializeObject(wipRule)); } - } - // MAC - if (!string.IsNullOrWhiteSpace(model.wipMAC.StartNO) && !string.IsNullOrWhiteSpace(model.wipMAC.EndNO)) - { - var mACInfo = await _pcsApi.GetMACInfo(model.wipAtt.ItemNO); - if (mACInfo != null) + // 出貨序號 + if (!string.IsNullOrWhiteSpace(model.wipBarcodeOther.StartNO) && !string.IsNullOrWhiteSpace(model.wipBarcodeOther.EndNO)) { - model.wipMAC.WipNO = model.wipInfo.WipNO; - model.wipMAC.Title = mACInfo.Title; - model.wipMAC.ClassGroup = mACInfo.ClassGroup; - model.wipMAC.CreateUserID = UserID; - result = await _pcsApi.PostWipMAC(JsonConvert.SerializeObject(model.wipMAC)); - result = await _pcsApi.PutMACInfoByClassGroup(mACInfo.ClassGroup, model.wipMAC.EndNO); + var type_no = await _pcsApi.GetBarcodeTypeByTypeName("客戶條碼區間"); + if (type_no != null) + { + model.wipBarcodeOther.WipNO = model.wipInfo.WipNO; + model.wipBarcodeOther.TypeNO = type_no.TypeNo; + model.wipBarcodeOther.CreateUserID = UserID; + model.wipBarcodeOther.UpdateUserID = UserID; + result = await _pcsApi.PostWipBarcodeOther(JsonConvert.SerializeObject(model.wipBarcodeOther)); + } } - } - // 料號相關 - var materialItem = await _pcsApi.GetMaterialItemByItemNO(model.wipAtt.ItemNO); - if (materialItem != null) - { - // KeyParts 組合 - var materialKp = await _pcsApi.GetMaterialKpByItemID(materialItem.ItemID); - foreach (var item in materialKp.Where(w => w.StationType == model.wipInfo.UnitNO)) + // MAC + if (!string.IsNullOrWhiteSpace(model.wipMAC.StartNO) && !string.IsNullOrWhiteSpace(model.wipMAC.EndNO)) { - var wipKp = new WipKp + var mACInfo = await _pcsApi.GetMACInfo(model.wipAtt.ItemNO); + if (mACInfo != null) { - WipNo = model.wipInfo.WipNO, - ItemNo = model.wipAtt.ItemNO, - UnitNo = model.wipInfo.UnitNO, - KpName = item.KpName, - KpNo = item.KpNo, - KpSeq = item.KpSeq, - Length = item.Length, - Title = item.Title, - CreateUserID = UserID, - UpdateUserID = UserID - }; - await _pcsApi.PostWipKp(JsonConvert.SerializeObject(wipKp)); + model.wipMAC.WipNO = model.wipInfo.WipNO; + model.wipMAC.Title = mACInfo.Title; + model.wipMAC.ClassGroup = mACInfo.ClassGroup; + model.wipMAC.CreateUserID = UserID; + result = await _pcsApi.PostWipMAC(JsonConvert.SerializeObject(model.wipMAC)); + result = await _pcsApi.PutMACInfoByClassGroup(mACInfo.ClassGroup, model.wipMAC.EndNO); + } } - // 治具 - var materialOutfit = await _pcsApi.GetMaterialOutfitByItemNo(model.wipAtt.ItemNO); - foreach (var item in materialOutfit.Where(w => w.UnitNo == model.wipInfo.UnitNO)) + // 料號相關 + var materialItem = await _pcsApi.GetMaterialItemByItemNO(model.wipAtt.ItemNO); + if (materialItem != null) { - var wipOutfit = new WipOutfit + // KeyParts 組合 + var materialKp = await _pcsApi.GetMaterialKpByItemID(materialItem.ItemID); + foreach (var item in materialKp.Where(w => w.StationType == model.wipInfo.UnitNO)) { - WipNo = model.wipInfo.WipNO, - ItemNo = model.wipAtt.ItemNO, - UnitNo = model.wipInfo.UnitNO, - OutfitNo = item.OutfitNo, - PartNo = item.StationType, - CreateUserID = UserID, - UpdateUserID = UserID - }; - await _pcsApi.PostWipOutfit(JsonConvert.SerializeObject(wipOutfit)); - } + var wipKp = new WipKp + { + WipNo = model.wipInfo.WipNO, + ItemNo = model.wipAtt.ItemNO, + UnitNo = model.wipInfo.UnitNO, + KpName = item.KpName, + KpNo = item.KpNo, + KpSeq = item.KpSeq, + Length = item.Length, + Title = item.Title, + CreateUserID = UserID, + UpdateUserID = UserID + }; + await _pcsApi.PostWipKp(JsonConvert.SerializeObject(wipKp)); + } - // 工單對應SOP - var materialSop = await _pcsApi.GetMaterialSopByItemNo(model.wipAtt.ItemNO); - foreach (var item in materialSop.Where(w => w.UnitNo == model.wipInfo.UnitNO)) - { - var wipSop = new WipSop + // 治具 + var materialOutfit = await _pcsApi.GetMaterialOutfitByItemNo(model.wipAtt.ItemNO); + foreach (var item in materialOutfit.Where(w => w.UnitNo == model.wipInfo.UnitNO)) { - WipNo = model.wipInfo.WipNO, - ItemNo = model.wipAtt.ItemNO, - UnitNo = model.wipInfo.UnitNO, - SOPName = item.SopName, - SOPPath = item.SopPath, - SOPType = item.SopType, - CreateUserID = UserID, - UpdateUserID = UserID - }; - await _pcsApi.PostWipSop(JsonConvert.SerializeObject(wipSop)); + var wipOutfit = new WipOutfit + { + WipNo = model.wipInfo.WipNO, + ItemNo = model.wipAtt.ItemNO, + UnitNo = model.wipInfo.UnitNO, + OutfitNo = item.OutfitNo, + PartNo = item.StationType, + CreateUserID = UserID, + UpdateUserID = UserID + }; + await _pcsApi.PostWipOutfit(JsonConvert.SerializeObject(wipOutfit)); + } + + // 工單對應SOP + var materialSop = await _pcsApi.GetMaterialSopByItemNo(model.wipAtt.ItemNO); + foreach (var item in materialSop.Where(w => w.UnitNo == model.wipInfo.UnitNO)) + { + var wipSop = new WipSop + { + WipNo = model.wipInfo.WipNO, + ItemNo = model.wipAtt.ItemNO, + UnitNo = model.wipInfo.UnitNO, + SOPName = item.SopName, + SOPPath = item.SopPath, + SOPType = item.SopType, + CreateUserID = UserID, + UpdateUserID = UserID + }; + await _pcsApi.PostWipSop(JsonConvert.SerializeObject(wipSop)); + } } } - } - - if (result.Success) - { - var _msg = "新增成功!"; - return RedirectToAction("Refresh", "Home", new { msg = _msg }); - } - else - { - if (result.Errors != null) + if (result.Success) { - ModelState.AddModelError(result.Errors[0].Id, result.Errors[0].Msg); + var _msg = "新增成功!"; + return RedirectToAction("Refresh", "Home", new { msg = _msg }); } else { - ModelState.AddModelError("error", result.Msg); + if (result.Errors != null) + { + ModelState.AddModelError(result.Errors[0].Id, result.Errors[0].Msg); + } + else + { + ModelState.AddModelError("error", result.Msg); + } } } - return View(); - } - - [HttpPost] - public async Task PCS001CreateWipNo(WipDataViewModel model) - { - //await GetUnitList(); - await GetProductType(); - await GetFactoryInfo(); - await GetFactoryUnit(); - await GetLineInfo(); - await GetMFGType(); - await GetProcessTypes(); - await GetFlowRuleList(); - GetWipSEQType(); - GetBurnType(); - GetPartsBakeType(); - GetPCBBakeTypeSelect(); - GetPCBProcessingTypeSelect(); - GetSolderPasteSelect(); - GetWipType(); - GetSOPTypeSelect(); - GetWipSystemTypeSelect(); - GetWipSystemPMTypeSelect(); - GetCheckboxApproveLogo(); - GetCheckboxCompanyLogo(); - GetCheckboxPrintMode(); - GetCheckboxWipAttr(); - GetCheckboxDIP(); - GetCheckboxSMD(); - - model.wipAtt = await _pcsApi.GetWipAtt(model.wipInfo.WipNO); - model.wipBarcodes = await _pcsApi.GetWipBarcode(model.wipInfo.WipNO); - model.ruleStations = await _pcsApi.GetRuleStationByWipNo(model.wipInfo.WipNO); - - var q1 = await _pcsApi.GetMaterialSopQuery(itemNo: model.wipAtt.ItemNO); - model.materialSops = q1.Data; - - model.WipKps = await _pcsApi.GetWipKpByWipNo(model.wipInfo.WipNO); - - model.wipBoard = await _pcsApi.GetWipBoard(model.wipInfo.WipNO); - - model.wipSystem = await _pcsApi.GetWipSystem(model.wipInfo.WipNO); - - model.wipMAC = await _pcsApi.GetWipMAC(model.wipInfo.WipNO); - - model.wipLabel = await _pcsApi.GetWipLabel(model.wipInfo.WipNO); - - model.wipBarcodeOther = await _pcsApi.GetWipBarcodeOther(model.wipInfo.WipNO); + #endregion - model.Outfits = await _pcsApi.GetMaterialOutfitByItemNo(model.wipAtt.ItemNO); + model.wipInfo.ECNCheck = model.wipInfo.ECNCheck == "Y" ? "true" : "false"; + model.wipInfo.ModelCheck = model.wipInfo.ModelCheck == "Y" ? "true" : "false"; + model.wipInfo.InputFlag = model.wipInfo.InputFlag == "Y" ? "true" : "false"; + model.wipInfo.Priority = model.wipInfo.Priority == "Y" ? "true" : "false"; + model.wipInfo.CustomerMedical = model.wipInfo.CustomerMedical == "Y" ? "true" : "false"; + model.wipInfo.CustomerVIP = model.wipInfo.CustomerVIP == "Y" ? "true" : "false"; + model.wipInfo.SFISFlowCk = model.wipInfo.SFISFlowCk == "Y" ? "true" : "false"; + //板卡 + model.wipBoard.DipCarrier = model.wipBoard.DipCarrier == "Y" ? "true" : "false"; + model.wipBoard.DipTape = model.wipBoard.DipTape == "Y" ? "true" : "false"; + model.wipBoard.DipSolderMask = model.wipBoard.DipSolderMask == "Y" ? "true" : "false"; + model.wipBoard.ISPartsBake = model.wipBoard.ISPartsBake == "Y" ? "true" : "false"; + model.wipBoard.Burn = model.wipBoard.Burn == "Y" ? "true" : "false"; - return View("PCS001", model); + //系統 + model.wipSystem.FinePackage = model.wipSystem.FinePackage == "Y" ? "true" : "false"; + return View(model); } public async Task PCS001R(int id) @@ -1943,7 +1960,7 @@ namespace AMESCoreStudio.Web.Controllers } } - + result = await _pcsApi.PutWipInfo(JsonConvert.SerializeObject(model.wipInfo)); if (result.Success) { diff --git a/AMESCoreStudio.Web/Views/PCS/PCS001.cshtml b/AMESCoreStudio.Web/Views/PCS/PCS001.cshtml index 45dd0ddb..15a0956c 100644 --- a/AMESCoreStudio.Web/Views/PCS/PCS001.cshtml +++ b/AMESCoreStudio.Web/Views/PCS/PCS001.cshtml @@ -1,7 +1,7 @@ @model AMESCoreStudio.Web.ViewModels.PCS.WipDataViewModel -@{ ViewData["Title"] = "PCS001C"; +@{ ViewData["Title"] = "PCS001"; Layout = "~/Views/Shared/_AMESLayout.cshtml"; } @@ -17,11 +17,12 @@
-
+
- -
- @**@ + + + +
@@ -29,10 +30,12 @@
- - + + - +
@@ -40,12 +43,15 @@
- + +
- +
@@ -67,7 +73,7 @@
- +
@@ -78,23 +84,21 @@
- @* - *@
- +
- +
- +
@@ -103,9 +107,9 @@
- +
- +
+
- +
@@ -143,12 +147,9 @@
- @* - - *@ - - - + + +
@@ -162,6 +163,7 @@
  • 治具組合
  • SOP文件
  • 標籤選項
  • +
  • 上傳檔案
  • @* 工單屬性sheet *@ @@ -170,7 +172,7 @@
    - +
    @@ -188,12 +190,12 @@
    - +
    - +
    @@ -203,11 +205,11 @@
    - +
    - +
    @@ -216,12 +218,12 @@
    - +
    - +
    @@ -231,15 +233,16 @@ @* 序號編碼sheet *@
    +
    - +
    -
    - +
    @@ -264,11 +267,11 @@
    - +
    -
    - +
    @@ -285,26 +288,133 @@
    @* Keypart組合sheet *@ -
    - 刷新 -
    +
    + 新增 + + + @{int k = 0;} + + + + + + + + + + + + + @foreach (var index in Model.WipKps) + { + + + + + + + + + + k++; + } + +
    + KP料號名稱 + + KP料號NO + + 順序 + + 前置碼 + + 長度 + + 生產單位代號 + + +
    + + + + + + + + + + + + + + 刪除 +
    +
    @* 生產流程sheet *@ -
    +
    - +
    - +
    -
    - +
    +
    + +
    + +
    +
    +
    + + + + + + + + + + + + @foreach (var index in Model.ruleStations) + { + + + + + + + + } + +
    + 生產單位 + + 流程名稱 + + 站別描述 + + 站別順序 + + 站別類型 +
    + @index.UnitNoName + + @index.FlowRuleName + + @index.StationDesc + + @index.Sequence + + @index.StationType +
    -
    @* 板卡-工程資訊sheet *@ @@ -333,16 +443,18 @@
    - +
    - -
    - +
    + +
    + +
    @@ -358,12 +470,9 @@
    - @* - - *@ - +
    @@ -379,7 +488,7 @@
    - +
    @@ -400,9 +509,9 @@
    -
    - -
    + +
    +
    @@ -609,7 +718,7 @@
    - +
    @@ -632,7 +741,7 @@
    - +
    @@ -647,7 +756,7 @@
    - +
    @@ -662,7 +771,7 @@
    - +
    @@ -677,7 +786,7 @@
    - +
    @@ -692,7 +801,7 @@
    - +
    @@ -750,31 +859,102 @@ @* 治具組合sheet *@
    - @* - + 新增 + +
    + @{int l = 0;} + + + + + + + + + + @foreach (var index in Model.WipOutfits) + { - - - + + + + + + - - - -
    + 治具種類 + + 生產單位 + + 流程站別 + + +
    - 治具NO - - 治具名稱 - - 流程名稱ID - + + + + + + + + 刪除 +
    *@ - 刷新 -
    + l++; + } + +
    @* SOP文件 sheet *@ -
    - 刷新 -
    +
    + 新增 + + + @{int i = 0;} + + + + + + + + + + + @foreach (var index in Model.WipSops) + { + + + + + + + + i++; + } + +
    + SOP文件敘述 + + 檔案路徑 + + SOP類型 + + 生產單位 + + +
    + + + + + + + + + + 刪除 +
    @* 標籤選項sheet *@ @@ -802,6 +982,7 @@
    +
    @@ -810,7 +991,6 @@
    -
    @@ -819,22 +999,57 @@
    - + @* 上傳資料sheet *@ +
    +
    + + + + + + + + + @foreach (var index in Model.wipInfoBlobs) + { + + + + + } + +
    檔案名稱檔案路徑
    + + @index.ImageName + + @index.Filepath +
    +
    +
    +
    + + + +
    +
    +
    @Html.ValidationMessage("error")
    - +
    @section Scripts { - @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); - await Html.RenderPartialAsync("_FileinputScriptsPartial"); } + @*@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); + await Html.RenderPartialAsync("_FileinputScriptsPartial"); }*@