diff --git a/AMESCoreStudio.Web/Controllers/PCSController.cs b/AMESCoreStudio.Web/Controllers/PCSController.cs index dcfa6e42..765aca44 100644 --- a/AMESCoreStudio.Web/Controllers/PCSController.cs +++ b/AMESCoreStudio.Web/Controllers/PCSController.cs @@ -823,7 +823,7 @@ namespace AMESCoreStudio.Web.Controllers } /// - /// SMD點膠 + /// SMD點紅膠 /// /// private void GetCheckboxSMD(string SelectedValue = null) @@ -833,6 +833,8 @@ namespace AMESCoreStudio.Web.Controllers { values = SelectedValue.Split(',').ToList(); } + else + values.Add("F"); //預設 var q = Enum.GetValues(typeof(EnumPCS.EnumWipBoardSMDType)).Cast() .Select(s => new SelectListItem { @@ -844,6 +846,30 @@ namespace AMESCoreStudio.Web.Controllers ViewBag.GetCheckboxSMD = q; } + /// + /// SMD點防焊膠 + /// + /// + private void GetCheckboxSMDSolderMa(string SelectedValue = null) + { + List values = new List(); + if (SelectedValue != null) + { + values = SelectedValue.Split(',').ToList(); + } + else + values.Add("F"); //預設 + var q = Enum.GetValues(typeof(EnumPCS.EnumWipBoardSMDType)).Cast() + .Select(s => new SelectListItem + { + Text = EnumPCS.GetDisplayName(s).ToString(), + Value = s.ToString(), + Selected = values.Where(v => v.Contains(s.ToString())).Count() != 0 + }).ToList(); + + ViewBag.GetCheckboxSMDSolderMa = q; + } + /// /// DIP /// @@ -855,6 +881,8 @@ namespace AMESCoreStudio.Web.Controllers { values = SelectedValue.Split(',').ToList(); } + else + values.Add("A"); //預設 var q = Enum.GetValues(typeof(EnumPCS.EnumWipBoardDIPType)).Cast() .Select(s => new SelectListItem { @@ -1144,11 +1172,12 @@ namespace AMESCoreStudio.Web.Controllers model.wipInfo.Priority = model.wipInfo.Priority == "true" ? "Y" : "N"; model.wipInfo.CustomerMedical = model.wipInfo.CustomerMedical == "true" ? "Y" : "N"; 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.SmdSolderMask = model.wipBoard.SmdSolderMask == "true" ? "Y" : "N"; model.wipBoard.ISPartsBake = model.wipBoard.ISPartsBake == "true" ? "Y" : "N"; //系統 model.wipSystem.FinePackage = model.wipSystem.FinePackage == "true" ? "Y" : "N"; @@ -1175,10 +1204,11 @@ namespace AMESCoreStudio.Web.Controllers 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.SmdSolderMask = model.wipBoard.SmdSolderMask == "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"; @@ -1243,6 +1273,7 @@ namespace AMESCoreStudio.Web.Controllers { 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; await _pcsApi.PostWipBoard(JsonConvert.SerializeObject(model.wipBoard)); @@ -1450,7 +1481,7 @@ namespace AMESCoreStudio.Web.Controllers model.wipSystem = await _pcsApi.GetWipSystem(model.wipInfo.WipNO); if (model.wipSystem != null) { - if (!string.IsNullOrWhiteSpace(model.wipBoard.Engineer)) + if (!string.IsNullOrWhiteSpace(model.wipSystem.Engineer)) { var UserInof = _sysApi.GetUserInfoByUserNo(model.wipSystem.Engineer).InvokeAsync().Result; if (UserInof != null) @@ -1495,6 +1526,7 @@ namespace AMESCoreStudio.Web.Controllers GetCheckboxWipAttr(model.wipLabel != null ? model.wipLabel.WipAttr : null); GetCheckboxDIP(model.wipBoard != null ? model.wipBoard.DipSide : null); GetCheckboxSMD(model.wipBoard != null ? model.wipBoard.Smd : null); + GetCheckboxSMDSolderMa(model.wipBoard != null ? model.wipBoard.SmdSolderMask : null); return View(model); } @@ -1536,7 +1568,7 @@ namespace AMESCoreStudio.Web.Controllers model.wipSystem = await _pcsApi.GetWipSystem(model.wipInfo.WipNO); if (model.wipSystem != null) { - if (!string.IsNullOrWhiteSpace(model.wipBoard.Engineer)) + if (!string.IsNullOrWhiteSpace(model.wipSystem.Engineer)) { var UserInof = _sysApi.GetUserInfoByUserNo(model.wipSystem.Engineer).InvokeAsync().Result; if (UserInof != null) @@ -1580,6 +1612,7 @@ namespace AMESCoreStudio.Web.Controllers GetCheckboxWipAttr(model.wipLabel != null ? model.wipLabel.WipAttr : null); GetCheckboxDIP(model.wipBoard != null ? model.wipBoard.DipSide : null); GetCheckboxSMD(model.wipBoard != null ? model.wipBoard.Smd : null); + GetCheckboxSMDSolderMa(model.wipBoard != null ? model.wipBoard.SmdSolderMask : null); return View(model); } [HttpPost] @@ -1625,11 +1658,12 @@ namespace AMESCoreStudio.Web.Controllers model.wipInfo.Priority = model.wipInfo.Priority == "on" ? "Y" : "N"; model.wipInfo.CustomerMedical = model.wipInfo.CustomerMedical == "on" ? "Y" : "N"; model.wipInfo.CustomerVIP = model.wipInfo.CustomerVIP == "on" ? "Y" : "N"; + model.wipInfo.SFISFlowCk = model.wipInfo.SFISFlowCk == "on" ? "Y" : "N"; //板卡 model.wipBoard.DipCarrier = model.wipBoard.DipCarrier == "on" ? "Y" : "N"; model.wipBoard.DipTape = model.wipBoard.DipTape == "on" ? "Y" : "N"; model.wipBoard.Burn = model.wipBoard.Burn == "on" ? "Y" : "N"; - model.wipBoard.SmdSolderMask = model.wipBoard.SmdSolderMask == "on" ? "Y" : "N"; + model.wipBoard.DipSolderMask = model.wipBoard.DipSolderMask == "on" ? "Y" : "N"; model.wipBoard.ISPartsBake = model.wipBoard.ISPartsBake == "on" ? "Y" : "N"; //系統 model.wipSystem.FinePackage = model.wipSystem.FinePackage == "on" ? "Y" : "N"; @@ -1701,6 +1735,7 @@ namespace AMESCoreStudio.Web.Controllers if (!string.IsNullOrWhiteSpace(model.wipBoard.BiTemperature)) { model.wipBoard.Smd = model.wipBoard.SMDs == null ? null : string.Join(',', model.wipBoard.SMDs); + model.wipBoard.SmdSolderMask = model.wipBoard.SmdSolderMasks == null ? null : string.Join(',', model.wipBoard.SmdSolderMasks); model.wipBoard.DipSide = model.wipBoard.DipSides == null ? null : string.Join(',', model.wipBoard.DipSides); model.wipBoard.ItemNo = model.wipAtt.ItemNO; model.wipBoard.WipNo = model.wipInfo.WipNO; diff --git a/AMESCoreStudio.Web/Views/PCS/PCS001.cshtml b/AMESCoreStudio.Web/Views/PCS/PCS001.cshtml index 8a5d211a..b54eeafd 100644 --- a/AMESCoreStudio.Web/Views/PCS/PCS001.cshtml +++ b/AMESCoreStudio.Web/Views/PCS/PCS001.cshtml @@ -301,7 +301,7 @@
- +
@@ -325,7 +325,7 @@
- +
@@ -333,12 +333,21 @@
- +
+
+
+ +
+ +
+
+
+
@@ -356,7 +365,7 @@ *@ - +
@@ -393,8 +402,9 @@
- - +
+ +
@@ -770,46 +780,46 @@
@* 標籤選項sheet *@ -
-
- - -
+
+
+ + +
-
- -
- +
+ +
+ +
+
-
-
-
- -
- +
+ +
+ +
-
-
- -
- +
+ +
+ +
-
-
- -
- +
+ +
+ +
-
-
- -
- +
+ +
+ +
-
diff --git a/AMESCoreStudio.Web/Views/PCS/PCS001R.cshtml b/AMESCoreStudio.Web/Views/PCS/PCS001R.cshtml index 6752626d..4c17307b 100644 --- a/AMESCoreStudio.Web/Views/PCS/PCS001R.cshtml +++ b/AMESCoreStudio.Web/Views/PCS/PCS001R.cshtml @@ -234,7 +234,7 @@
- +
@@ -445,230 +445,239 @@ @* 板卡-工程資訊sheet *@ -
-
-
- -
- -
- - -
- -
-
-
- -
-
- -
- -
+
+
+
+ +
+
-
-
- -
- + +
+
+
-
- +
+
+
- +
+
-
-
- -
- - - - - @* - - *@ -
-
+
+ +
+
+
-
- +
+
+
- +
+
-
-
- -
- - @**@ -
-
- -
- -
-
- -
+
+ +
+
+
-
- +
+
+
- + + + + + @* + + *@
+
-
-
- +
+ +
+ +
+
- -
- -
+
+
+ +
+ + @**@
-
- +
+
- - +
+
+
-
- -
- -
+
+ +
+
+
-
-
- -
- -
+
+
+ + + +
+
- -
- +
+
- + +
+
-
-
- -
- -
+
+ +
+ +
+
+ +
+
+ +
+
+
-
- +
+ +
+ +
+
+ +
+
+
- +
+
-
-
- -
- -
-
+
+ +
+
+
-
- -
- +
+
+ +
+
+
-
-
-
- -
- - -
+
+ +
+ +
+
+ +
+
+
+ +
+ +
-
- -
- - -
+
+
+ +
+ +
-
- -
- - -
+
+
+ +
+ +
+
-
- -
- -
+
+ +
+
+
-
-
- -
- - -
+
+
+ +
+ +
+
-
- -
- -
+
+ +
+
+
-
-
- -
- - -
+
+
+ +
+ +
+
-
- -
- -
+
+ +
+
+
@* 系統-工程資訊sheet *@
diff --git a/AMESCoreStudio.Web/Views/PCS/PCS003.cshtml b/AMESCoreStudio.Web/Views/PCS/PCS003.cshtml index 5132cefb..9eac86f3 100644 --- a/AMESCoreStudio.Web/Views/PCS/PCS003.cshtml +++ b/AMESCoreStudio.Web/Views/PCS/PCS003.cshtml @@ -374,7 +374,7 @@
- +
@@ -424,230 +424,238 @@ @* 板卡-工程資訊sheet *@ -
-
-
- -
- -
- - -
- -
-
-
- -
-
- -
- -
+
+
+
+ +
+
-
-
- -
- + +
+
+
-
- +
+
+
- +
+
-
-
- -
- - - - - @* - - *@ -
-
+
+ +
+
+
-
- +
+
+
- +
+
-
-
- -
- - @**@ -
-
- -
- -
-
- -
+
+ +
+
+
-
- +
+
+
- + + + + + @* + + *@
+
-
-
- +
+ +
+ +
+
- -
- -
+
+
+ +
+ + @**@
-
- +
+
- - +
+
+
-
- -
- -
+
+ +
+
+
-
-
- -
- -
+
+
+ + +
+
- -
- +
+
- + +
+
-
-
- -
- -
+
+ +
+ +
+
+ +
+
+ +
+
+
-
- +
+ +
+ +
+
+ +
+
+
- +
+
-
-
- -
- -
-
+
+ +
+
+
-
- -
- +
+
+ +
+
+
-
-
-
- -
- - -
+
+ +
+ +
+
+ +
+
+
+ +
+ +
-
- -
- - -
+
+
+ +
+ +
-
- -
- - -
+
+
+ +
+ +
+
-
- -
- -
+
+ +
+
+
-
-
- -
- - -
+
+
+ +
+ +
+
-
- -
- -
+
+ +
+
+
-
-
- -
- - -
+
+
+ +
+ +
+
-
- -
- -
+
+ +
+
+
@* 系統-工程資訊sheet *@
diff --git a/AMESCoreStudio.WebApi/Controllers/AMES/WipBoardController.cs b/AMESCoreStudio.WebApi/Controllers/AMES/WipBoardController.cs index acb38723..ff3826fc 100644 --- a/AMESCoreStudio.WebApi/Controllers/AMES/WipBoardController.cs +++ b/AMESCoreStudio.WebApi/Controllers/AMES/WipBoardController.cs @@ -83,38 +83,21 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES public async Task> PutWipBoard([FromBody] WipBoard wipBoard) { ResultModel result = new ResultModel(); - - var getWipBoard = GetWipBoard(wipBoard.WipNo).Result.Value; - - if (getWipBoard != null) - { - _context.Entry(getWipBoard).State = EntityState.Modified; - getWipBoard.BiosVer = wipBoard.BiosVer; - getWipBoard.BiRatio = wipBoard.BiRatio; - getWipBoard.BiTemperature = wipBoard.BiTemperature; - getWipBoard.BiTime = wipBoard.BiTime; - getWipBoard.Burn = wipBoard.Burn; - getWipBoard.BurnLocation = wipBoard.BurnLocation; - getWipBoard.Checksum = wipBoard.Checksum; - getWipBoard.DipCarrier = wipBoard.DipCarrier; - getWipBoard.DipSide = wipBoard.DipSide; - getWipBoard.DipTape = wipBoard.DipTape; - getWipBoard.PartsBake = wipBoard.PartsBake; - getWipBoard.PartsBakeTime = wipBoard.PartsBakeTime; - getWipBoard.PcbBake = wipBoard.PcbBake; - getWipBoard.Smd = wipBoard.Smd; - getWipBoard.SolderPaste = wipBoard.SolderPaste; - getWipBoard.Engineer = wipBoard.Engineer; - getWipBoard.UpdateDate = DateTime.Now; - getWipBoard.UpdateUserID = 0; - } - else - { - _context.WipBoards.Add(wipBoard); - } - try { + if (GetWipBoard(wipBoard.WipNo).Result.Value != null) + { + _context.Entry(wipBoard).State = EntityState.Modified; + _context.Entry(wipBoard).Property("CreateDate").IsModified = false; + _context.Entry(wipBoard).Property("CreateUserID").IsModified = false; + wipBoard.UpdateDate = DateTime.Now; + wipBoard.UpdateUserID = 0; + } + else + { + _context.WipBoards.Add(wipBoard); + } + await _context.SaveChangesAsync(); result.Success = true; result.Msg = "OK"; diff --git a/AMESCoreStudio.WebApi/Controllers/AMES/WipSystemController.cs b/AMESCoreStudio.WebApi/Controllers/AMES/WipSystemController.cs index 3f7c0f65..1bb3b910 100644 --- a/AMESCoreStudio.WebApi/Controllers/AMES/WipSystemController.cs +++ b/AMESCoreStudio.WebApi/Controllers/AMES/WipSystemController.cs @@ -83,28 +83,11 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES var getwipSystem = GetWipSystem(wipSystem.WipNo).Result.Value; if (getwipSystem != null) { - _context.Entry(getwipSystem).State = EntityState.Modified; - getwipSystem.BiMemo = wipSystem.BiMemo; - getwipSystem.BiosVer = wipSystem.BiosVer; - getwipSystem.BiRatio = wipSystem.BiRatio; - getwipSystem.BiTemperature = wipSystem.BiTemperature; - getwipSystem.BiTime = wipSystem.BiTime; - getwipSystem.Checksum = wipSystem.Checksum; - getwipSystem.Cpu = wipSystem.Cpu; - getwipSystem.DmiBi = wipSystem.DmiBi; - getwipSystem.Ec = wipSystem.Ec; - getwipSystem.FinePackage = wipSystem.FinePackage; - getwipSystem.Fw = wipSystem.Fw; - getwipSystem.Fw1 = wipSystem.Fw1; - getwipSystem.Fw2 = wipSystem.Fw2; - getwipSystem.Jumper = wipSystem.Jumper; - getwipSystem.Memo = wipSystem.Memo; - getwipSystem.OsVer = wipSystem.OsVer; - getwipSystem.PowerMode = wipSystem.PowerMode; - getwipSystem.Ram = wipSystem.Ram; - getwipSystem.Engineer = wipSystem.Engineer; - getwipSystem.UpdateDate = DateTime.Now; - getwipSystem.UpdateUserID = 0; + _context.Entry(wipSystem).State = EntityState.Modified; + _context.Entry(wipSystem).Property("CreateDate").IsModified = false; + _context.Entry(wipSystem).Property("CreateUserID").IsModified = false; + wipSystem.UpdateDate = DateTime.Now; + wipSystem.UpdateUserID = 0; } else { diff --git a/AMESCoreStudio.WebApi/Enums/EnumPCS.cs b/AMESCoreStudio.WebApi/Enums/EnumPCS.cs index ee71ba8e..b2b37ae8 100644 --- a/AMESCoreStudio.WebApi/Enums/EnumPCS.cs +++ b/AMESCoreStudio.WebApi/Enums/EnumPCS.cs @@ -276,7 +276,7 @@ namespace AMESCoreStudio.WebApi.Enum /// NA /// [Display(Name = "NA")] - N = 0, + N = 3, } /// diff --git a/AMESCoreStudio.WebApi/Models/AMES/WipBoard.cs b/AMESCoreStudio.WebApi/Models/AMES/WipBoard.cs index 6fc2c1b9..115d138c 100644 --- a/AMESCoreStudio.WebApi/Models/AMES/WipBoard.cs +++ b/AMESCoreStudio.WebApi/Models/AMES/WipBoard.cs @@ -60,11 +60,10 @@ namespace AMESCoreStudio.WebApi.Models.AMES public string SmdRemarks { get; set; } /// - /// SMD點防焊膠(Y/N) + /// SMD點防焊膠 /// - [Required] [Column("SMD_SOLDER_MASK")] - [StringLength(2)] + [StringLength(30)] [DataMember] public string SmdSolderMask { get; set; } @@ -73,7 +72,7 @@ namespace AMESCoreStudio.WebApi.Models.AMES /// [Column("SMD_SM_REMARKS")] [DataMember] - [Display(Name = "SMD點膠")] + [Display(Name = "SMD點防焊膠備註")] public string SmdSMRemarks { get; set; } /// @@ -114,6 +113,15 @@ namespace AMESCoreStudio.WebApi.Models.AMES [Display(Name = "貼付膠帶")] public string DipTape { get; set; } + /// + /// 是否需要點防焊膠(Y/N) + /// + [Required] + [Column("DIP_SOLDER_MASK")] + [StringLength(2)] + [DataMember] + public string DipSolderMask { get; set; } + /// /// 是否燒錄(Y/N) /// @@ -340,6 +348,12 @@ namespace AMESCoreStudio.WebApi.Models.AMES [NotMapped] public virtual List SMDs { get; set; } + /// + /// SMD防焊膠s + /// + [NotMapped] + public virtual List SmdSolderMasks { get; set; } + /// /// 正背面 /// diff --git a/AMESCoreStudio.WebApi/Models/AMES/WipInfo.cs b/AMESCoreStudio.WebApi/Models/AMES/WipInfo.cs index 3fdfa75d..2017a2bc 100644 --- a/AMESCoreStudio.WebApi/Models/AMES/WipInfo.cs +++ b/AMESCoreStudio.WebApi/Models/AMES/WipInfo.cs @@ -137,6 +137,13 @@ namespace AMESCoreStudio.WebApi.Models.AMES [Display(Name = "單箱數量")] public int BoxCNT { get; set; } = 0; + /// + /// SFIS流程確認(Y/N) + /// + [Column("SFIS_FLOW_CK")] + [DataMember] + public string SFISFlowCk { get; set; } = "N"; + /// /// 判斷前製程是否已經投入 (Y-判斷;N-不判斷) ///