diff --git a/AMESCoreStudio.Web/Controllers/REPController.cs b/AMESCoreStudio.Web/Controllers/REPController.cs index 04dcbbd5..26197d28 100644 --- a/AMESCoreStudio.Web/Controllers/REPController.cs +++ b/AMESCoreStudio.Web/Controllers/REPController.cs @@ -665,7 +665,13 @@ namespace AMESCoreStudio.Web.Controllers { //判断全部维修完成过站 int repairStationID = -1; - var rules = await _basApi.GetRules(model.ngInfo.Barcode.StationID,model.ngInfo.Barcode.RuleStatus, repairStationID); + + //獲取流程ID + int wip_id = model.ngInfo.Barcode.WipID; + var wip_info = await _pcsApi.GetWipInfo(wip_id); + int flow_rule_id = wip_info[0].FlowRuleID; + + var rules = await _basApi.GetRules2(flow_rule_id, model.ngInfo.Barcode.StationID, model.ngInfo.Barcode.RuleStatus, repairStationID); if (rules.Count > 0) { for (int i = 0; i < rules.Count; i++) diff --git a/AMESCoreStudio.Web/HttpApis/IBAS.cs b/AMESCoreStudio.Web/HttpApis/IBAS.cs index 12bd5864..a33f03f5 100644 --- a/AMESCoreStudio.Web/HttpApis/IBAS.cs +++ b/AMESCoreStudio.Web/HttpApis/IBAS.cs @@ -473,6 +473,13 @@ namespace AMESCoreStudio.Web [WebApiClient.Attributes.HttpGet("api/Rules/GetRules")] ITask> GetRules(int id, string ruleStatus, int nextStationID); + /// + /// 根據ID獲取指定流程站別資料 + /// + /// + [WebApiClient.Attributes.HttpGet("api/Rules/GetRules2")] + ITask> GetRules2(int flowRuleID, int id, string ruleStatus, int nextStationID); + /// /// 獲取流程站別資料 /// diff --git a/AMESCoreStudio.WebApi/Controllers/BAS/RulesController.cs b/AMESCoreStudio.WebApi/Controllers/BAS/RulesController.cs index 41e54151..ec41c383 100644 --- a/AMESCoreStudio.WebApi/Controllers/BAS/RulesController.cs +++ b/AMESCoreStudio.WebApi/Controllers/BAS/RulesController.cs @@ -156,6 +156,40 @@ namespace AMESCoreStudio.WebApi.Controllers.BAS return rules; } + /// + /// 根據流程站別ID+状态+下一站查詢指定單一資料 + /// + /// + /// + /// + /// + /// + // GET: api/Rules/5 + [Route("[action]")] + [HttpGet] + public async Task>> GetRules2(int flowRuleID,int id, string ruleStatus, int nextStationId) + { + IQueryable q = _context.Ruleses; + + if (nextStationId == -1) + { + q = q.Where(p => p.StationID.Equals(id) && p.RuleStatus.Equals(ruleStatus) && p.FlowRuleID.Equals(flowRuleID)); + } + else + { + q = q.Where(p => p.StationID.Equals(id) && p.RuleStatus.Equals(ruleStatus) && p.FlowRuleID.Equals(flowRuleID) && p.NextStationID.Equals(nextStationId)); + } + + var rules = await q.ToListAsync(); + + if (rules == null) + { + return NotFound(); + } + + return rules; + } + /// /// 根據流程站別ID+状态+下一站查詢指定單一資料 ///