From 37c9977f137d8be81fd517e3094c0a23e8de35b0 Mon Sep 17 00:00:00 2001 From: Marvin Date: Fri, 10 Feb 2023 11:55:50 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E7=B6=AD=E4=BF=AE=E9=81=8E?= =?UTF-8?q?=E7=AB=99=E9=82=8F=E8=BC=AF,=E7=8D=B2=E5=8F=96=E4=B8=8B?= =?UTF-8?q?=E4=B8=80=E7=AB=99=E7=9A=84=E9=82=8F=E8=BC=AF,=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0flowRuleID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/REPController.cs | 8 ++++- AMESCoreStudio.Web/HttpApis/IBAS.cs | 7 ++++ .../Controllers/BAS/RulesController.cs | 34 +++++++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) 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+状态+下一站查詢指定單一資料 ///