diff --git a/AMESCoreStudio.Web/Controllers/PCSController.cs b/AMESCoreStudio.Web/Controllers/PCSController.cs index 163afeee..7f386196 100644 --- a/AMESCoreStudio.Web/Controllers/PCSController.cs +++ b/AMESCoreStudio.Web/Controllers/PCSController.cs @@ -164,31 +164,28 @@ namespace AMESCoreStudio.Web.Controllers { // 判斷預設值是否更改過,如果有就判斷必填欄位 - if (!string.IsNullOrWhiteSpace(model.BiTemperature) || - !string.IsNullOrWhiteSpace(model.BiTime) || - !string.IsNullOrWhiteSpace(model.BiMemo) || + if (!string.IsNullOrWhiteSpace(model.Engineer) || + !string.IsNullOrWhiteSpace(model.PowerMode) || model.BiRatio == 0 || - !string.IsNullOrWhiteSpace(model.Checksum) || !string.IsNullOrWhiteSpace(model.Bios) || - !string.IsNullOrWhiteSpace(model.BiosVer)) + !string.IsNullOrWhiteSpace(model.Ec) || + !string.IsNullOrWhiteSpace(model.Fw)) { - if (string.IsNullOrWhiteSpace(model.BiTemperature)) - Msg += model.GetAttributeFrom(nameof(model.BiTemperature)).Name + ","; - - if (string.IsNullOrWhiteSpace(model.BiTime)) - Msg += model.GetAttributeFrom(nameof(model.BiTime)).Name + ","; - - if (string.IsNullOrWhiteSpace(model.BiTime)) - Msg += model.GetAttributeFrom(nameof(model.BiMemo)).Name + ","; + if (string.IsNullOrWhiteSpace(model.Engineer)) + Msg += model.GetAttributeFrom(nameof(model.Engineer)).Name + ","; - if (string.IsNullOrWhiteSpace(model.Checksum)) - Msg += model.GetAttributeFrom(nameof(model.Checksum)).Name + ","; + if (string.IsNullOrWhiteSpace(model.PowerMode)) + Msg += model.GetAttributeFrom(nameof(model.PowerMode)).Name + ","; - if (string.IsNullOrWhiteSpace(model.Bios)) + // 1 N/A , 4 備註說明 + if (string.IsNullOrWhiteSpace(model.Bios) && model.BiosType != 1 && model.BiosType != 4) Msg += model.GetAttributeFrom(nameof(model.Bios)).Name + ","; - if (string.IsNullOrWhiteSpace(model.BiosVer)) - Msg += model.GetAttributeFrom(nameof(model.BiosVer)).Name + ","; + if (string.IsNullOrWhiteSpace(model.Ec) && model.ECType != 1 && model.ECType != 4) + Msg += model.GetAttributeFrom(nameof(model.Ec)).Name + ","; + + if (string.IsNullOrWhiteSpace(model.Fw) && model.FWType != 1 && model.FWType != 4) + Msg += model.GetAttributeFrom(nameof(model.Fw)).Name + ","; if (model.BiRatio == 0) Msg += model.GetAttributeFrom(nameof(model.BiRatio)).Name + ","; @@ -1829,7 +1826,7 @@ namespace AMESCoreStudio.Web.Controllers if (UserInof != null) model.wipBoard.Engineer_Name = UserInof.UserName; - + } } @@ -1982,6 +1979,15 @@ namespace AMESCoreStudio.Web.Controllers model.WipSops = await _pcsApi.GetWipSopByWipNo(model.wipInfo.WipNO); model.wipInfoBlobs = await _pcsApi.GetWipInfoBlob(model.wipInfo.WipNO); + + // 取料號對應工時 + var cycleTime = await _pcsApi.GetCycleTimesByItemNo(model.wipAtt.ItemNO); + cycleTime = cycleTime.Where(w => w.LineID == model.wipInfo.LineID && + w.SectionNo == model.wipInfo.UnitNO).ToList(); + + if (cycleTime.Count != 0) + model.itemNoCT1 = cycleTime.FirstOrDefault().CT1.ToString(); + } await WipDataSelectAll(model.wipAtt.WipNO, model.wipAtt.ItemNO, model.wipInfo.UnitNO); diff --git a/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs b/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs index 124d7366..85179da0 100644 --- a/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs +++ b/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs @@ -1095,6 +1095,11 @@ namespace AMESCoreStudio.Web ITask> GetOutfitCommodityInfo(); #endregion + #region CycleTimes 料號對應工時 + [WebApiClient.Attributes.HttpGet("api/CycleTimes/ByItemNo/{id}")] + ITask> GetCycleTimesByItemNo(string id); + #endregion + #region 取出貨序號 [WebApiClient.Attributes.HttpGet("api/SerialRules/ByQurey/{itemNo}/{lotNo}/{num}")] ITask> GetSerialRuleByQurey(string itemNo,string lotNo ,int num); diff --git a/AMESCoreStudio.Web/ViewModels/PCS/WipViewModel.cs b/AMESCoreStudio.Web/ViewModels/PCS/WipViewModel.cs index e819a6aa..f6d3262c 100644 --- a/AMESCoreStudio.Web/ViewModels/PCS/WipViewModel.cs +++ b/AMESCoreStudio.Web/ViewModels/PCS/WipViewModel.cs @@ -86,6 +86,11 @@ namespace AMESCoreStudio.Web.ViewModels.PCS /// public WipInfoBlob wipInfoBlob { get; set; } + /// + /// 料號對應工時 + /// + public string itemNoCT1 { get; set; } + } public class WipDataViewModel : WipNoDetailViewModel diff --git a/AMESCoreStudio.Web/Views/PCS/PCS003.cshtml b/AMESCoreStudio.Web/Views/PCS/PCS003.cshtml index a3750b38..b131cca8 100644 --- a/AMESCoreStudio.Web/Views/PCS/PCS003.cshtml +++ b/AMESCoreStudio.Web/Views/PCS/PCS003.cshtml @@ -696,13 +696,25 @@
- +
+ +
+ @if (!string.IsNullOrWhiteSpace(Model.itemNoCT1)) + { + 標準工時:@Model.itemNoCT1 秒/個 + } + else + { + *無維護工時 + } + +
@@ -713,14 +725,14 @@
- +
-
+
@@ -730,7 +742,7 @@
- +
@@ -760,11 +772,11 @@
-
+
- +
@@ -786,8 +798,8 @@
-
- +
+
@@ -801,8 +813,8 @@
-
- +
+
@@ -880,8 +892,8 @@
-
- +
+
diff --git a/AMESCoreStudio.WebApi/Controllers/AMES/CycleTimesController.cs b/AMESCoreStudio.WebApi/Controllers/AMES/CycleTimesController.cs index b20baf4a..230f9aab 100644 --- a/AMESCoreStudio.WebApi/Controllers/AMES/CycleTimesController.cs +++ b/AMESCoreStudio.WebApi/Controllers/AMES/CycleTimesController.cs @@ -90,6 +90,19 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES return cycleTime; } + /// + /// 工單料號查詢 + /// + /// 工單料號 + /// + [HttpGet("ByItemNo/{id}")] + public async Task>> GetCycleTimeByItemNo(string id) + { + IQueryable q = _context.CycleTimes.Where(w => w.ItemNo == id.Trim().ToUpper()); + var cycleTime = await q.ToListAsync(); + return cycleTime; + } + /// /// /// diff --git a/AMESCoreStudio.WebApi/Models/AMES/WipBoard.cs b/AMESCoreStudio.WebApi/Models/AMES/WipBoard.cs index 8efee50b..14cbfe75 100644 --- a/AMESCoreStudio.WebApi/Models/AMES/WipBoard.cs +++ b/AMESCoreStudio.WebApi/Models/AMES/WipBoard.cs @@ -78,7 +78,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES /// /// 正背面 /// - [Required] [Column("DIP_SIDE")] [StringLength(10)] [DataMember] @@ -96,7 +95,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES /// /// 是否需要CARRIER(Y/N) /// - [Required] [Column("DIP_CARRIER")] [StringLength(2)] [DataMember] @@ -106,7 +104,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES /// /// 是否需要貼付膠帶(Y/N) /// - [Required] [Column("DIP_TAPE")] [StringLength(2)] [DataMember] @@ -116,7 +113,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES /// /// 是否需要點防焊膠(Y/N) /// - [Required] [Column("DIP_SOLDER_MASK")] [StringLength(2)] [DataMember] @@ -125,7 +121,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES /// /// 是否燒錄(Y/N) /// - [Required] [Column("BURN")] [StringLength(2)] [DataMember] @@ -153,7 +148,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES /// /// 零件是否需要烘烤(Y/N) /// - [Required] [Column("IS_PARTS_BAKE")] [StringLength(2)] [DataMember] @@ -165,7 +159,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES [Column("PARTS_BAKE", TypeName = "NUMBER")] [DataMember] [Display(Name = "零件烘烤溫度")] - [Required(ErrorMessage = "{0},不能空白")] public decimal PartsBake { get; set; } /// @@ -174,7 +167,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES [Column("PARTS_BAKE_TIME", TypeName = "NUMBER")] [DataMember] [Display(Name = "零件烘烤時間")] - [Required(ErrorMessage = "{0},不能空白")] public decimal PartsBakeTime { get; set; } /// @@ -191,7 +183,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES [Column("PCB_BAKE", TypeName = "NUMBER")] [DataMember] [Display(Name = "PCB烘烤")] - [Required(ErrorMessage = "{0},不能空白")] public decimal PcbBake { get; set; } /// @@ -208,7 +199,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES [Column("PCB_PROCESSING")] [DataMember] [Display(Name = "PCB加工")] - [Required(ErrorMessage = "{0},不能空白")] public string PcbProcessing { get; set; } @@ -242,7 +232,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES [Column("BI_RATIO", TypeName = "NUMBER")] [DataMember] [Display(Name = "燒機比率")] - [Required(ErrorMessage = "{0},不能空白")] public decimal BiRatio { get; set; } /// @@ -252,7 +241,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES [StringLength(20)] [DataMember] [Display(Name = "燒機溫度")] - [Required(ErrorMessage = "{0},不能空白")] public string BiTemperature { get; set; } /// @@ -262,7 +250,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES [StringLength(20)] [DataMember] [Display(Name = "燒機時間")] - [Required(ErrorMessage = "{0},不能空白")] public string BiTime { get; set; } /// @@ -296,7 +283,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES [StringLength(20)] [DataMember] [Display(Name = "Check Sum")] - [Required(ErrorMessage = "{0},不能空白")] public string Checksum { get; set; } ///