From 86aab9ff56f470ce32d39ce020d0e3b8aed390b9 Mon Sep 17 00:00:00 2001 From: Sai Date: Tue, 3 Oct 2023 17:35:36 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E5=B7=A5=E5=96=AE=E8=B3=87=E6=96=99?= =?UTF-8?q?=E7=B6=AD=E8=AD=B7=20=E5=B7=A5=E7=A8=8B=E8=B3=87=E8=A8=8A?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=20T3=E6=98=AF=E5=90=A6=E6=8E=83=E6=AF=92=20C?= =?UTF-8?q?heckBox?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/PCSController.cs | 56 ++++++++------ AMESCoreStudio.Web/Views/PCS/PCS001R.cshtml | 5 ++ AMESCoreStudio.Web/Views/PCS/PCS003.cshtml | 1 + AMESCoreStudio.Web/Views/PCS/PCS034.cshtml | 1 + .../Controllers/BLL/BarCodeCheckController.cs | 77 ++++++++++++++++++- AMESCoreStudio.WebApi/Enums/EnumWipAlarm.cs | 7 ++ .../Models/AMES/WipSystem.cs | 7 ++ 7 files changed, 131 insertions(+), 23 deletions(-) diff --git a/AMESCoreStudio.Web/Controllers/PCSController.cs b/AMESCoreStudio.Web/Controllers/PCSController.cs index dc8e6137..260c3363 100644 --- a/AMESCoreStudio.Web/Controllers/PCSController.cs +++ b/AMESCoreStudio.Web/Controllers/PCSController.cs @@ -2559,8 +2559,6 @@ namespace AMESCoreStudio.Web.Controllers model.wipBarcodes = await _pcsApi.GetWipBarcode(model.wipInfo.WipNO); model.wipBarcode = model.wipBarcodes.FirstOrDefault(); model.wipBoard = await _pcsApi.GetWipBoard(model.wipInfo.WipNO); - //var q1 = await _pcsApi.GetMaterialSopQuery(itemNo: model.wipAtt.ItemNO); - //model.materialSops = q1.Data; if (model.wipBoard != null) { @@ -2624,6 +2622,16 @@ namespace AMESCoreStudio.Web.Controllers model.wipSystem.Engineer_Name = UserInof.UserName; } } + // 判斷是否預設打勾掃毒 + else + { + var AntivirusItemNo = new List { "E1582", "E1583", "E1584", "E1585", "E1586", + "E1587","E1588","E1589","E158C"}; + if (AntivirusItemNo.Any(item => model.wipAtt.ItemNO.StartsWith(item))) + { + model.wipSystem.Antivirus = "Y"; + } + } model.wipMACs = await _pcsApi.GetWipMAC(model.wipInfo.WipNO); @@ -2668,8 +2676,6 @@ namespace AMESCoreStudio.Web.Controllers // 針對安勤 工單基本資料統一打開工程資訊 不判斷製程 ViewBag.WipSpecial = _configuration["WipSpecial"]; - - try { // 登入UserID @@ -2707,6 +2713,7 @@ namespace AMESCoreStudio.Web.Controllers model.wipBoard.ISPcbBake = model.wipBoard.ISPcbBake == "on" ? "Y" : "N"; //系統 model.wipSystem.FinePackage = model.wipSystem.FinePackage == "on" ? "Y" : "N"; + model.wipSystem.Antivirus = model.wipSystem.Antivirus == "on" ? "Y" : "N"; #endregion // 判斷資料填寫 @@ -3033,7 +3040,7 @@ namespace AMESCoreStudio.Web.Controllers model.ruleStations = await _pcsApi.GetRuleStationByWipNo(model.wipInfo.WipNO); model.wipBarcodes = await _pcsApi.GetWipBarcode(model.wipInfo.WipNO); - // Checkbox轉換 + #region Checkbox轉換 model.wipInfo.ECNCheck = model.wipInfo.ECNCheck == "on" ? "Y" : "N"; model.wipInfo.ModelCheck = model.wipInfo.ModelCheck == "on" ? "Y" : "N"; model.wipInfo.InputFlag = model.wipInfo.InputFlag == "on" ? "Y" : "N"; @@ -3051,6 +3058,8 @@ namespace AMESCoreStudio.Web.Controllers model.wipBoard.ISPcbBake = model.wipBoard.ISPcbBake == "on" ? "Y" : "N"; //系統 model.wipSystem.FinePackage = model.wipSystem.FinePackage == "on" ? "Y" : "N"; + model.wipSystem.Antivirus = model.wipSystem.Antivirus == "on" ? "Y" : "N"; + #endregion // 判斷資料填寫 WipDataViewModel wipDataViewModel = new WipDataViewModel(); @@ -4529,25 +4538,28 @@ namespace AMESCoreStudio.Web.Controllers if (result_barcodeinfo == null) { - // 判斷是否在BarcodeChange 有被置換過 - var result_BarcodeChangeData = await _pcsApi.GetBarcodeChangeByBarcodeNo(model.BarCodeNo ?? model.ExtraBarCodeNo ?? "A"); + var _msg = "查無相關資料!"; + return RedirectToAction("Refresh", "Home", new { msg = _msg }); - // 判斷查詢是內部還是出貨條碼 - if (!string.IsNullOrWhiteSpace(model.BarCodeNo)) - result_BarcodeChangeData = result_BarcodeChangeData.Where(w => w.ChangeType == "P").ToList(); - else - result_BarcodeChangeData = result_BarcodeChangeData.Where(w => w.ChangeType == "E").ToList(); + //// 判斷是否在BarcodeChange 有被置換過 + //var result_BarcodeChangeData = await _pcsApi.GetBarcodeChangeByBarcodeNo(model.BarCodeNo ?? model.ExtraBarCodeNo ?? "A"); - if (result_BarcodeChangeData.Count() != 0) - { - var barcodeIDChange = result_BarcodeChangeData.FirstOrDefault().BarcodeID; - result_barcodeinfo = _pcsApi.GetBarcodeInfoes(barcodeIDChange).InvokeAsync().Result.FirstOrDefault(); - } - else - { - var _msg = "查無相關資料!"; - return RedirectToAction("Refresh", "Home", new { msg = _msg }); - } + //// 判斷查詢是內部還是出貨條碼 + //if (!string.IsNullOrWhiteSpace(model.BarCodeNo)) + // result_BarcodeChangeData = result_BarcodeChangeData.Where(w => w.ChangeType == "P").ToList(); + //else + // result_BarcodeChangeData = result_BarcodeChangeData.Where(w => w.ChangeType == "E").ToList(); + + //if (result_BarcodeChangeData.Count() != 0) + //{ + // var barcodeIDChange = result_BarcodeChangeData.FirstOrDefault().BarcodeID; + // result_barcodeinfo = _pcsApi.GetBarcodeInfoes(barcodeIDChange).InvokeAsync().Result.FirstOrDefault(); + //} + //else + //{ + // var _msg = "查無相關資料!"; + // return RedirectToAction("Refresh", "Home", new { msg = _msg }); + //} } var result = new PCS009RViewModel(); diff --git a/AMESCoreStudio.Web/Views/PCS/PCS001R.cshtml b/AMESCoreStudio.Web/Views/PCS/PCS001R.cshtml index b3d6451d..7d733393 100644 --- a/AMESCoreStudio.Web/Views/PCS/PCS001R.cshtml +++ b/AMESCoreStudio.Web/Views/PCS/PCS001R.cshtml @@ -886,6 +886,11 @@
+ diff --git a/AMESCoreStudio.Web/Views/PCS/PCS003.cshtml b/AMESCoreStudio.Web/Views/PCS/PCS003.cshtml index dd421f77..31084e08 100644 --- a/AMESCoreStudio.Web/Views/PCS/PCS003.cshtml +++ b/AMESCoreStudio.Web/Views/PCS/PCS003.cshtml @@ -875,6 +875,7 @@
+ diff --git a/AMESCoreStudio.Web/Views/PCS/PCS034.cshtml b/AMESCoreStudio.Web/Views/PCS/PCS034.cshtml index 37e92840..91ea65d0 100644 --- a/AMESCoreStudio.Web/Views/PCS/PCS034.cshtml +++ b/AMESCoreStudio.Web/Views/PCS/PCS034.cshtml @@ -857,6 +857,7 @@
+ diff --git a/AMESCoreStudio.WebApi/Controllers/BLL/BarCodeCheckController.cs b/AMESCoreStudio.WebApi/Controllers/BLL/BarCodeCheckController.cs index 1cba375c..ba5b0bca 100644 --- a/AMESCoreStudio.WebApi/Controllers/BLL/BarCodeCheckController.cs +++ b/AMESCoreStudio.WebApi/Controllers/BLL/BarCodeCheckController.cs @@ -13,6 +13,8 @@ using AMESCoreStudio.WebApi.DTO.AMES; using AMESCoreStudio.WebApi.Controllers.BLL; using AMESCoreStudio.WebApi.Enum; using Microsoft.Extensions.Configuration; +using Microsoft.CodeAnalysis.CSharp.Syntax; +using static AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto; namespace AMESCoreStudio.WebApi.Controllers.AMES { @@ -149,7 +151,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES return resultModel; #endregion - #region 判斷序號區間 resultModel = await CheckBarCodeByWipNo(wipNo: barCodeCheckDto.wipNo, barcode: barCodeCheckDto.barcode); @@ -222,6 +223,20 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES return (ResultModel)resultOutfit; #endregion + #region 判斷T3掃毒 + + if (station.Value.Count() != 0) + { + if (station.Value.FirstOrDefault().StationName.Trim().ToUpper() == "T3") + { + var resultAntivirus = CheckAntivirus(barCodeCheckDto.wipNo, item); + if (!resultAntivirus.Success) + return (ResultModel)resultAntivirus; + } + } + + #endregion + // 維修過站 組件需獨立判斷 if (barCodeCheckDto.barcodeType == "S") { @@ -2529,5 +2544,65 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES } return resultModel; } + + /// + /// 確認是否有掃毒 + /// + /// 工單號碼 + /// 工單料號 + /// + private IResultModel CheckAntivirus(string wipNo, string itemNo) + { + ResultModel resultModel = new ResultModel { Success = false }; + + var wipSystem = _context.WipSystems.Where(w => w.WipNo == wipNo).FirstOrDefault(); + // 找不到工程資料 不須判斷 + if (wipSystem == null) + { + resultModel.Success = true; + return resultModel; + } + + // 是否掃毒 != Y + if (wipSystem.Antivirus != "Y") + { + resultModel.Success = true; + return resultModel; + } + else + { + if (1 == 2) + { + resultModel.Success = true; + return resultModel; + } + else + { + string MailGroup = "PE_SCANV"; + string Subject = $"[AMES系統通知] 工單號碼【{wipNo}】,未執行掃毒,請確認"; + string Body = $"工單號碼【{wipNo}】,未執行掃毒,請確認"; + await new MailController(_context, _config).PostMail(Subject, Body, MailGroup, "", false); + + WipAlarm wipAlarm = new WipAlarm(); + wipAlarm.AlarmTypeID = (int)EnumWipAlarm.EnumTypeId.Antivirus; + wipAlarm.WipNO = wipNo; + wipAlarm.AlarmParam = itemNo; + wipAlarm.AlarmValue = "1"; + wipAlarm.AlarmDesc = Subject; + wipAlarm.AlarmDateTime = DateTime.Now; + + Helper helper = new Helper(_context); + wipAlarm.WipAlarmID = helper.GetIDKey("WIP_ALARMID").Result; + + _context.WipAlarms.Add(wipAlarm); + await _context.SaveChangesAsync(); + + resultModel.Success = false; + resultModel.Msg = "未執行掃毒,請確認"; + return resultModel; + } + } + } + } } diff --git a/AMESCoreStudio.WebApi/Enums/EnumWipAlarm.cs b/AMESCoreStudio.WebApi/Enums/EnumWipAlarm.cs index 2b8dafae..8bc1d031 100644 --- a/AMESCoreStudio.WebApi/Enums/EnumWipAlarm.cs +++ b/AMESCoreStudio.WebApi/Enums/EnumWipAlarm.cs @@ -45,6 +45,13 @@ namespace AMESCoreStudio.WebApi.Enum [Description("治具使用次數已超過預計使用次數")] [Display(Name = "治具使用次數已超過預計使用次數")] OutfitOutLimit = 5, + + /// + /// 未執行掃毒 + /// + [Description("未執行掃毒")] + [Display(Name = "未執行掃毒")] + Antivirus = 6, } /// diff --git a/AMESCoreStudio.WebApi/Models/AMES/WipSystem.cs b/AMESCoreStudio.WebApi/Models/AMES/WipSystem.cs index 4104b0c7..eb5c95ca 100644 --- a/AMESCoreStudio.WebApi/Models/AMES/WipSystem.cs +++ b/AMESCoreStudio.WebApi/Models/AMES/WipSystem.cs @@ -334,6 +334,13 @@ namespace AMESCoreStudio.WebApi.Models.AMES [DataMember] public DateTime UpdateDate { get; set; } = System.DateTime.Now; + /// + /// 是否需掃毒 + /// + [Column("ANTIVIRUS")] + [DataMember] + public string Antivirus { get; set; } = "N"; + /// /// PowerMode_Desc ///