From 0d46d951ce8146aa2f4bb2dcce3d14880228af07 Mon Sep 17 00:00:00 2001 From: Marvin Date: Fri, 14 Apr 2023 11:45:42 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E7=BB=B4=E4=BF=AE=E5=8E=9F?= =?UTF-8?q?=E5=9B=A0=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/PPSController.cs | 24 +++++++ AMESCoreStudio.Web/HttpApis/AMES/IPPS.cs | 7 ++ AMESCoreStudio.Web/Views/PPS/PPS013.cshtml | 2 +- .../Controllers/AMES/RMAReasonsController.cs | 68 +++++++++++++++++++ 4 files changed, 100 insertions(+), 1 deletion(-) diff --git a/AMESCoreStudio.Web/Controllers/PPSController.cs b/AMESCoreStudio.Web/Controllers/PPSController.cs index 725fe46d..407d8f28 100644 --- a/AMESCoreStudio.Web/Controllers/PPSController.cs +++ b/AMESCoreStudio.Web/Controllers/PPSController.cs @@ -1686,6 +1686,30 @@ namespace AMESCoreStudio.Web.Controllers return View("PPS013U", model); } + [ResponseCache(Duration = 0)] + [HttpGet] + public async Task GetRMAReasonsByGroupClassAsync(string rmaGroupNo,string rmaClassNo, int page = 0, int limit = 10) + { + if (rmaGroupNo == null || rmaGroupNo == "0") + { + rmaGroupNo = "*"; + } + + if (rmaClassNo == null || rmaClassNo == "0") + { + rmaClassNo = "*"; + } + + var result = await _ppsApi.GetRMAReasonByGroupClass(rmaGroupNo,rmaClassNo, page, limit); + + if (result.DataTotal > 0) + { + return Json(new Table() { code = 0, msg = "", data = result.Data, count = result.DataTotal }); + } + + return Json(new Table() { count = 0, data = null }); + } + [ResponseCache(Duration = 0)] [HttpGet] public async Task GetRMAReasonsByClassAsync(string rmaClassNo, int page = 0, int limit = 10) diff --git a/AMESCoreStudio.Web/HttpApis/AMES/IPPS.cs b/AMESCoreStudio.Web/HttpApis/AMES/IPPS.cs index 8fc72019..d0f5923e 100644 --- a/AMESCoreStudio.Web/HttpApis/AMES/IPPS.cs +++ b/AMESCoreStudio.Web/HttpApis/AMES/IPPS.cs @@ -534,6 +534,13 @@ namespace AMESCoreStudio.Web [WebApiClient.Attributes.HttpGet("api/RMAReasons/Class/{no}")] ITask> GetRMAReasonsByClass(string no, int page = 0, int limit = 10); + /// + /// 根据類別代碼獲取維修原因資料 + /// + /// + [WebApiClient.Attributes.HttpGet("api/RMAReasons/GetRMAReasonByGroupClass")] + ITask> GetRMAReasonByGroupClass(string groupNo,string classNo, int page = 0, int limit = 10); + #endregion #region PPS014 維修方式維護 diff --git a/AMESCoreStudio.Web/Views/PPS/PPS013.cshtml b/AMESCoreStudio.Web/Views/PPS/PPS013.cshtml index a3a403ea..36db09bb 100644 --- a/AMESCoreStudio.Web/Views/PPS/PPS013.cshtml +++ b/AMESCoreStudio.Web/Views/PPS/PPS013.cshtml @@ -169,6 +169,6 @@ } ]; //基本数据表格 - var table = hg.table.datatable('test', '維修原因維護', '/PPS/GetRMAReasonsByClass/' + rmaClassNo.value, {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']); + var table = hg.table.datatable('test', '維修原因維護', '/PPS/GetRMAReasonsByGroupClass/', {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']); } \ No newline at end of file diff --git a/AMESCoreStudio.WebApi/Controllers/AMES/RMAReasonsController.cs b/AMESCoreStudio.WebApi/Controllers/AMES/RMAReasonsController.cs index e96fb927..a94371c3 100644 --- a/AMESCoreStudio.WebApi/Controllers/AMES/RMAReasonsController.cs +++ b/AMESCoreStudio.WebApi/Controllers/AMES/RMAReasonsController.cs @@ -80,6 +80,74 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES return result; } + /// + /// 根据维修群组+類別代碼獲取該類別维修原因資料 + /// + /// + /// + /// + /// + /// + // GET: api/RMAReasons/Class/S + [Route("[action]")] + [HttpGet] + public async Task> GetRMAReasonByGroupClass(string groupNo,string classNo, int page = 0, int limit = 10) + { + ResultModel result = new ResultModel(); + + var q = from q1 in _context.RMAReasons + join q2 in _context.RMAClasses on q1.RMAClassNo equals q2.RMAClassNo + join q3 in _context.RMAGroups on q2.RMAGroupNo equals q3.RMAGroupNo + select new + { + q3.RMAGroupNo, + q2.RMAClassNo, + q1.RMAReasonNo, + q1.RMAReasonDesc, + q1.RMAReasonDescEn + }; + + if (groupNo != null) + { + if (groupNo != "*") + { + q = q.Where(p => p.RMAGroupNo.Equals(groupNo)); + } + } + if (classNo != null) + { + if (classNo != "*") + { + q = q.Where(p => p.RMAClassNo.Equals(classNo)); + } + } + + //紀錄筆數 + result.DataTotal = q.Count(); + + if (page > 0) + { + q = q.OrderBy(p => p.RMAClassNo + p.RMAReasonNo).Skip((page - 1) * limit).Take(limit); + } + else + { + q = q.OrderBy(p => p.RMAClassNo + p.RMAReasonNo); + } + + result.Data = await q.ToListAsync(); + + if (result == null) + { + result.Msg = "查無資料"; + result.Success = false; + return result; + } + + result.Success = true; + result.Msg = "OK"; + return result; + } + /// /// 根据维修類別代碼NO獲取該類別维修原因資料 ///