diff --git a/AMESCoreStudio.Web/Controllers/PCSController.cs b/AMESCoreStudio.Web/Controllers/PCSController.cs index 3a959954..c8ee9a33 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, string action, IFormFile formFile) + public async Task PCS001Async(WipDataViewModel model, IFormFile formFile) { #region 選單 await GetProductType(); @@ -1328,63 +1328,7 @@ namespace AMESCoreStudio.Web.Controllers #endregion IResultModel result; int UserID = GetLogInUserID(); - - 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轉換 + // 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"; @@ -1393,262 +1337,301 @@ namespace AMESCoreStudio.Web.Controllers model.wipInfo.CustomerVIP = model.wipInfo.CustomerVIP == "true" ? "Y" : "N"; model.wipInfo.SFISFlowCk = model.wipInfo.SFISFlowCk == "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.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.wipSystem != null) + model.wipSystem.FinePackage = model.wipSystem.FinePackage == "true" ? "Y" : "N"; + + // 判斷資料填寫 + var Msg = CheckWipInfoInsert(model); + + + // 判斷是否有開重複工單+生產單位 + var wipInfoQuery = await _pcsApi.GetWipInfoByWipNO(model.wipInfo.WipNO); + if (wipInfoQuery.Any()) { - model.wipSystem.FinePackage = model.wipSystem.FinePackage == "true" ? "Y" : "N"; + if (wipInfoQuery.Where(w => w.UnitNO == model.wipInfo.UnitNO).Count() != 0) + { + Msg += " 同樣生產單位已建立相同工單了 "; + } } + 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); - #endregion + return View("PCS001", model); + } - #region 保存動作 - if (action == "保存") + result = await _pcsApi.PostWipInfo(JsonConvert.SerializeObject(model.wipInfo)); + if (result.Success) { - // 判斷資料填寫 - var Msg = CheckWipInfoInsert(model); + int wipID = int.Parse(result.Msg); - // 判斷是否有開重複工單+生產單位 - var wipInfoQuery = await _pcsApi.GetWipInfoByWipNO(model.wipInfo.WipNO); - if (wipInfoQuery.Any()) + // 料號判斷,沒有就Insert + var checkMaterialItem = await _pcsApi.GetMaterialItemByItemNO(model.wipAtt.ItemNO); + if (checkMaterialItem == null) { - if (wipInfoQuery.Where(w => w.UnitNO == model.wipInfo.UnitNO).Count() != 0) - { - Msg += " 同樣生產單位已建立相同工單了 "; - } + await _pcsApi.PostMaterialItem(JsonConvert.SerializeObject( + new MaterialItem + { + ItemNo = model.wipAtt.ItemNO, + CreateUserID = UserID + })); } - if (!string.IsNullOrWhiteSpace(Msg)) - { - ModelState.AddModelError("error", Msg); + // 工單屬性 + model.wipAtt.WipNO = model.wipInfo.WipNO; + model.wipAtt.CreateUserID = UserID; + await _pcsApi.PostWipAtt(JsonConvert.SerializeObject(model.wipAtt)); - return View("PCS001", model); - } + // 標籤 + 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)); - result = await _pcsApi.PostWipInfo(JsonConvert.SerializeObject(model.wipInfo)); - if (result.Success) + // 系統 + if (model.wipInfo.UnitNO == "B" || model.wipInfo.UnitNO == "P" || model.wipInfo.UnitNO == "T") { - int wipID = int.Parse(result.Msg); - - // 料號判斷,沒有就Insert - var checkMaterialItem = await _pcsApi.GetMaterialItemByItemNO(model.wipAtt.ItemNO); - if (checkMaterialItem == null) - { - 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))) { - if (string.IsNullOrWhiteSpace(CheckWipInfoInsert_WipSystem(model.wipSystem))) + if (!string.IsNullOrWhiteSpace(model.wipSystem.BiTemperature)) { - 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)); - } + 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 - // 板卡 + } + else + // 板卡 + { + if (string.IsNullOrWhiteSpace(CheckWipInfoInsert_WipBoard(model.wipBoard))) { - if (string.IsNullOrWhiteSpace(CheckWipInfoInsert_WipBoard(model.wipBoard))) + if (!string.IsNullOrWhiteSpace(model.wipBoard.BiTemperature)) { - 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)); - } + 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.wipBarcode.StartNO) && !string.IsNullOrWhiteSpace(model.wipBarcode.EndNO)) + // 出貨序號 + if (!string.IsNullOrWhiteSpace(model.wipBarcodeOther.StartNO) && !string.IsNullOrWhiteSpace(model.wipBarcodeOther.EndNO)) + { + var type_no = await _pcsApi.GetBarcodeTypeByTypeName("客戶條碼區間"); + if (type_no != null) { - 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)); + 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)); } + } - // 出貨序號 - if (!string.IsNullOrWhiteSpace(model.wipBarcodeOther.StartNO) && !string.IsNullOrWhiteSpace(model.wipBarcodeOther.EndNO)) + // MAC + if (!string.IsNullOrWhiteSpace(model.wipMAC.StartNO) && !string.IsNullOrWhiteSpace(model.wipMAC.EndNO)) + { + var mACInfo = await _pcsApi.GetMACInfo(model.wipAtt.ItemNO); + if (mACInfo != null) { - 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)); - } + 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); } + } - // MAC - if (!string.IsNullOrWhiteSpace(model.wipMAC.StartNO) && !string.IsNullOrWhiteSpace(model.wipMAC.EndNO)) + // 料號相關 + 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)) { - var mACInfo = await _pcsApi.GetMACInfo(model.wipAtt.ItemNO); - if (mACInfo != null) + var wipKp = new 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); - } + 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)); } - // 料號相關 - var materialItem = await _pcsApi.GetMaterialItemByItemNO(model.wipAtt.ItemNO); - if (materialItem != null) + // 治具 + var materialOutfit = await _pcsApi.GetMaterialOutfitByItemNo(model.wipAtt.ItemNO); + foreach (var item in materialOutfit.Where(w => w.UnitNo == model.wipInfo.UnitNO)) { - // KeyParts 組合 - var materialKp = await _pcsApi.GetMaterialKpByItemID(materialItem.ItemID); - foreach (var item in materialKp.Where(w => w.StationType == model.wipInfo.UnitNO)) + var wipOutfit = new 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)); - } - - // 治具 - var materialOutfit = await _pcsApi.GetMaterialOutfitByItemNo(model.wipAtt.ItemNO); - foreach (var item in materialOutfit.Where(w => w.UnitNo == model.wipInfo.UnitNO)) - { - 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)); - } + 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)) + // 工單對應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 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)); - } + 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) + + if (result.Success) + { + var _msg = "新增成功!"; + return RedirectToAction("Refresh", "Home", new { msg = _msg }); + } + else + { + if (result.Errors != null) { - var _msg = "新增成功!"; - return RedirectToAction("Refresh", "Home", new { msg = _msg }); + ModelState.AddModelError(result.Errors[0].Id, result.Errors[0].Msg); } else { - if (result.Errors != null) - { - ModelState.AddModelError(result.Errors[0].Id, result.Errors[0].Msg); - } - else - { - ModelState.AddModelError("error", result.Msg); - } + ModelState.AddModelError("error", result.Msg); } } - #endregion + return View(); + } - 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"; + [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.wipSystem.FinePackage = model.wipSystem.FinePackage == "Y" ? "true" : "false"; - return View(model); + 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); + + model.Outfits = await _pcsApi.GetMaterialOutfitByItemNo(model.wipAtt.ItemNO); + + return View("PCS001", model); } public async Task PCS001R(int id) @@ -1960,7 +1943,7 @@ namespace AMESCoreStudio.Web.Controllers } } - + result = await _pcsApi.PutWipInfo(JsonConvert.SerializeObject(model.wipInfo)); if (result.Success) { diff --git a/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs b/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs index 94acca13..4ba2a43b 100644 --- a/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs +++ b/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs @@ -572,6 +572,13 @@ namespace AMESCoreStudio.Web [WebApiClient.Attributes.HttpGet("api/MaterialKp/ByItemID/{id}")] ITask> GetMaterialKpByItemID(int id); + /// + /// 料號KP資訊資料檔 ByItemNo + /// + /// 料號No + [WebApiClient.Attributes.HttpGet("api/MaterialKp/ByItemNo/{id}")] + ITask> GetMaterialKpByItemNo(string id); + /// /// Keypart查詢 /// diff --git a/AMESCoreStudio.Web/Views/PCS/PCS001.cshtml b/AMESCoreStudio.Web/Views/PCS/PCS001.cshtml index 15a0956c..45dd0ddb 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"] = "PCS001"; +@{ ViewData["Title"] = "PCS001C"; Layout = "~/Views/Shared/_AMESLayout.cshtml"; } @@ -17,12 +17,11 @@
-
+
- - - -
+ +
+ @**@
@@ -30,12 +29,10 @@
- - - + + +
@@ -43,15 +40,12 @@
- - +
- +
@@ -73,7 +67,7 @@
- +
@@ -84,21 +78,23 @@
+ @* + *@
- +
- +
- +
@@ -107,9 +103,9 @@
- +
- +
+
- +
@@ -147,9 +143,12 @@
- - - + @* + + *@ + + +
@@ -163,7 +162,6 @@
  • 治具組合
  • SOP文件
  • 標籤選項
  • -
  • 上傳檔案
  • @* 工單屬性sheet *@ @@ -172,7 +170,7 @@
    - +
    @@ -190,12 +188,12 @@
    - +
    - +
    @@ -205,11 +203,11 @@
    - +
    - +
    @@ -218,12 +216,12 @@
    - +
    - +
    @@ -233,16 +231,15 @@ @* 序號編碼sheet *@
    -
    - +
    -
    - +
    @@ -267,11 +264,11 @@
    - +
    -
    - +
    @@ -288,133 +285,26 @@
    @* 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 *@ @@ -443,18 +333,16 @@
    - +
    -
    - -
    - -
    + +
    +
    @@ -470,9 +358,12 @@
    + @* + + *@ - +
    @@ -488,7 +379,7 @@
    - +
    @@ -509,9 +400,9 @@
    - -
    -
    +
    + +
    @@ -718,7 +609,7 @@
    - +
    @@ -741,7 +632,7 @@
    - +
    @@ -756,7 +647,7 @@
    - +
    @@ -771,7 +662,7 @@
    - +
    @@ -786,7 +677,7 @@
    - +
    @@ -801,7 +692,7 @@
    - +
    @@ -859,102 +750,31 @@ @* 治具組合sheet *@
    - 新增 - - - @{int l = 0;} - - - - - - - - - - @foreach (var index in Model.WipOutfits) - { + @*
    - 治具種類 - - 生產單位 - - 流程站別 - - -
    + - - - - - - + + + - l++; - } - -
    - - - - - - - - 刪除 - + 治具NO + + 治具名稱 + + 流程名稱ID +
    + + + + *@ + 刷新 +
    @* SOP文件 sheet *@ -
    - 新增 - - - @{int i = 0;} - - - - - - - - - - - @foreach (var index in Model.WipSops) - { - - - - - - - - i++; - } - -
    - SOP文件敘述 - - 檔案路徑 - - SOP類型 - - 生產單位 - - -
    - - - - - - - - - - 刪除 -
    +
    + 刷新 +
    @* 標籤選項sheet *@ @@ -982,7 +802,6 @@
    -
    @@ -991,6 +810,7 @@
    +
    @@ -999,57 +819,22 @@
    - @* 上傳資料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"); }