diff --git a/AMESCoreStudio.Web/Controllers/LABController.cs b/AMESCoreStudio.Web/Controllers/LABController.cs index 48ea1a94..01a46b03 100644 --- a/AMESCoreStudio.Web/Controllers/LABController.cs +++ b/AMESCoreStudio.Web/Controllers/LABController.cs @@ -15,6 +15,8 @@ using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Microsoft.AspNetCore.Mvc.Rendering; using AMESCoreStudio.WebApi.DTO.AMES; +using AMESCoreStudio.Web.ViewModels.LAB; +using System.Dynamic; namespace AMESCoreStudio.Web.Controllers { @@ -22,6 +24,7 @@ namespace AMESCoreStudio.Web.Controllers { public readonly ISYS _sysApi; public readonly ILAB _labApi; + public readonly IPCS _pcsApi; public LABController(ILogger logger, ILAB labApi, ISYS sysApi, IPCS pcsApi, IStringLocalizer sharedLocalizer) @@ -29,6 +32,7 @@ namespace AMESCoreStudio.Web.Controllers _sysApi = sysApi; _labApi = labApi; + _pcsApi = pcsApi; } @@ -166,42 +170,150 @@ namespace AMESCoreStudio.Web.Controllers #region LAB002 標籤樣板維護 - public IActionResult LAB002() + + /// + /// + /// + /// + /// + /// + /// + public async Task LAB002Async(string LabelMatnr, int page = 0, int limit = 10) { - return View(); + + + var query = new LAB002ViewModel(); + + string rateDataListS = ""; + string rateDataListSData; + // 創建動態模型 + dynamic model = new ExpandoObject(); + + // 添加欄位 + model.FieldName1 = "Value1"; + model.FieldName2 = 42; + + rateDataListS = rateDataListS + @" + + + + + "; + + #region LabelParam + var LabelParamALL = await _labApi.GetLabelTemplatebyMatnr(0); + LabelParamALL = LabelParamALL.Where(s => s.STATUS_NO == "Y").OrderBy(o => o.LABEL_FIELD_ID).ToList(); + foreach (var item in LabelParamALL) + { + rateDataListS = rateDataListS + ""; + } + #endregion + LabelMatnr = "*"; + var Master = await _labApi.LabelTemplatebyMatnr(LabelMatnr, page, limit); + + foreach (var item in Master.Data) + { + rateDataListSData = + @$" + + + + + "; + + + + + var Detail = await _labApi.GetLabelTemplateDetail(item.TEMPLATE_ID); + string DetailString = string.Join(",", Detail.Select(s => s.LABEL_FIELD_ID.ToString()).ToList()); + int i = 0; + foreach (var Param in LabelParamALL) + { + if (DetailString.Contains(Param.LABEL_FIELD_ID.ToString() + ",")) + { + rateDataListSData += $""; + } + else + { + rateDataListSData += $""; + } + i++; + } + + rateDataListS += "" + rateDataListSData + ""; + } + + + // rateDataListS = rateDataListS + "" + rateDataListS_NG + "" + rateDataListS_IPC + "
樣式編號標籤料號標籤檔名狀態備註說明" + item.LABEL_FIELD_NAME + "{item.TEMPLATE_ID}{item.LABEL_MATNR}{item.LABEL_FILE}{item.STATUS_NO}{item.REMARK}{item.IMAGE_NAME}
"; + rateDataListS = rateDataListS + "
"; + ViewData["RateDataListS"] = rateDataListS; + + + + return View(query); + } + + [ResponseCache(Duration = 0)] + [HttpGet] + public async Task GetLabelTemplateDtoAsync(string LabelMatnr, int page = 0, int limit = 10) + { + var result = await _labApi.LabelTemplatebyMatnr(LabelMatnr, 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 }); } + + + //新增頁面 public IActionResult LAB002C() { GetUserID(); + @ViewBag.MasterID = 0; return View(); } - //修改页面 - [HttpGet] - public async Task LAB002UAsync(int id) - { - // var resultMaster = await _labApi.GetLabelTemplateMaster(id); - // var resultDetail = await _labApi.GetLabelTemplateDetail(id); - // var result = new LabelTemplateDto(); + public async Task CheckLabelMatnrAsync(string LabelMatnr) + { + //判斷為E209開頭的料號才可輸入 + if (LabelMatnr.StartsWith("E209")) + { + var PlmMeterial = await _pcsApi.GetPlmMeterialInfo(LabelMatnr); - // result.labelTemplateMaster = resultMaster; - // result.labelTemplateDetails = resultDetail; - // var result + if (PlmMeterial.Count > 0) + { + return Json(new Table() { code = 0, msg = "", data = PlmMeterial, count = 1 }); + } + else + return Json(new Table() { count = 0, msg = "料號不存在", data = null }); + } + else + return Json(new Table() { count = 0, msg = "料號不存在", data = null }); + } - GetUserID(); + public async Task GetLabelTemplatebyMatnrAsync(int id) + { + var result = await _labApi.GetLabelTemplatebyMatnr(id); + // var result = await _labApi.GetLabelParams(); + if (result.Count > 0) + { + return Json(new Table() { code = 0, msg = "", data = result, count = result.Count }); + } - return View(); + return Json(new Table() { count = 0, data = null }); } //頁面提交,id=0 添加,id>0 修改 [HttpPost] - public async Task LAB002CSaveAsync(LabelTemplateDto model) + public async Task LAB002CSaveAsync(LabelTemplateMaster model) { - GetUserID(); if (ModelState.IsValid) { IResultModel result; @@ -211,85 +323,131 @@ namespace AMESCoreStudio.Web.Controllers if (result.Success) { - var _msg = "添加成功!"; - return RedirectToAction("Refresh", "Home", new { msg = _msg }); + //var _msg = "添加成功!"; + return Json(new Result() { success = true, msg = result.Msg }); } else { - ModelState.AddModelError("error", result.Msg); - return View("LAB002C", model); + ModelState.AddModelError("error", result.Msg); + } } - else - { + return Json(new Result() { success = false, msg = "資料有誤!!" }); + //else + //{ - ModelState.AddModelError("error", "缺少必填資料"); - return View("LAB002C", model); - } + // ModelState.AddModelError("error", "缺少必填資料"); + // return View("LAB002C", model); + //} } - public async Task LAB002USaveAsync(LabelTemplateDto model) + public async Task DeleteLabelTemplateDetailAsync(int id) { - if (ModelState.IsValid) + var result = await _labApi.DeleteLabelTemplateDetail(id); + if (result.Success) { - IResultModel result; + return Json(new Result() { success = true, msg = result.Msg }); + } + else + { + return Json(new Result() { success = false, msg = "資料有誤!!" }); + } + } + + public async Task LAB002CListSaveAsync(LabelTemplateDetail model) + { + - //result = await _labApi.PutLabeTemplateMaster(model.labelTemplateMaster.TemplateID, JsonConvert.SerializeObject(model.labelTemplateMaster)); - //foreach (var item in model.labelTemplateDetails) - //{ - // result = await _labApi.PutLabeTemplateDetail(item.TemplateDetailID, JsonConvert.SerializeObject(item)); - //} - - //if (result.Success) - //{ - // var _msg = "修改成功!"; - // return RedirectToAction("Refresh", "Home", new { msg = _msg }); - //} - //else - //{ - // GetUserID(); - // ModelState.AddModelError("error", result.Msg); - // return View("LAB002C", model); - - //} - return View("LAB002U", model); + var result = await _labApi.PostLabelTemplateDetail(JsonConvert.SerializeObject(model)); + if (result.Success) + { + //var _msg = "添加成功!"; + return Json(new Result() { success = true, msg = result.Msg }); } else { - GetUserID(); - ModelState.AddModelError("error", "缺少必填資料"); - return View("LAB002U", model); + return Json(new Result() { success = false, msg = "資料有誤!!" }); } } - [ResponseCache(Duration = 0)] + //修改页面 [HttpGet] - public async Task GetLabelTemplateDtoAsync(string LabelMatnr, string Status, int page = 0, int limit = 10) + public async Task LAB002UAsync(int id) { - var result = await _labApi.GetLabelTemplateDto(LabelMatnr, Status, page, limit); + GetUserID(); + var result = await _labApi.GetLabelTemplateMaster(id); + if (result.LABEL_FILE == null) + { + return View(); + } + return View(result); + + } - if (result.Count > 0) + //頁面提交,id=0 添加,id>0 修改 + [HttpPost] + public async Task LAB002USaveAsync(LabelTemplateMaster model) + { + if (ModelState.IsValid) { - return Json(new Table() { code = 0, msg = "", data = result, count = result.Count }); + IResultModel result; + + result = await _labApi.PutLabeTemplateMaster(JsonConvert.SerializeObject(model)); + + + if (result.Success) + { + //var _msg = "添加成功!"; + return Json(new Result() { success = true, msg = result.Msg }); + } + else + { + + ModelState.AddModelError("error", result.Msg); + + } } + return Json(new Result() { success = false, msg = "資料有誤!!" }); + //else + //{ - return Json(new Table() { count = 0, data = null }); + // ModelState.AddModelError("error", "缺少必填資料"); + // return View("LAB002C", model); + //} } - public async Task GetLabelTemplatebyMatnrAsync(int id) + public async Task LAB002UListSaveAsync(LabelTemplateDetail model) { - var result = await _labApi.GetLabelTemplatebyMatnr(id); - if (result.Count > 0) + + var result = await _labApi.PostLabelTemplateDetail(JsonConvert.SerializeObject(model)); + if (result.Success) { - return Json(new Table() { code = 0, msg = "", data = result, count = result.Count }); + //var _msg = "添加成功!"; + return Json(new Result() { success = true, msg = result.Msg }); + } + else + { + return Json(new Result() { success = false, msg = "資料有誤!!" }); } + } + + [HttpGet] + public async Task LAB002VAsync(int id) + { + GetUserID(); + var result = await _labApi.GetLabelTemplateMaster(id); + if (result.LABEL_FILE == null) + { + return View(); + } + return View(result); - return Json(new Table() { count = 0, data = null }); } #endregion + #region Lab003 public async Task LAB003(string mat) diff --git a/AMESCoreStudio.Web/HttpApis/AMES/ILAB.cs b/AMESCoreStudio.Web/HttpApis/AMES/ILAB.cs index 87a2c187..c498f09c 100644 --- a/AMESCoreStudio.Web/HttpApis/AMES/ILAB.cs +++ b/AMESCoreStudio.Web/HttpApis/AMES/ILAB.cs @@ -104,14 +104,14 @@ namespace AMESCoreStudio.Web /// /// [WebApiClient.Attributes.HttpPut("api/LabelTemplateMaster")] - ITask> PutLabeTemplateMaster(int id, [FromBody, RawJsonContent] string model); + ITask> PutLabeTemplateMaster([FromBody, RawJsonContent] string model); /// /// Label 參數儲存 /// /// - [WebApiClient.Attributes.HttpPost("api/LabelTemplatDetail")] + [WebApiClient.Attributes.HttpPost("api/LabelTemplateDetail")] ITask> PostLabelTemplateDetail([FromBody, RawJsonContent] string model); /// @@ -122,6 +122,13 @@ namespace AMESCoreStudio.Web ITask> PutLabeTemplateDetail(int id, [FromBody, RawJsonContent] string model); + /// + /// Label 參數刪除 + /// + /// GroupID + /// + [WebApiClient.Attributes.HttpDelete("api/LabelTemplateDetail/{id}")] + ITask> DeleteLabelTemplateDetail(int id); @@ -143,15 +150,15 @@ namespace AMESCoreStudio.Web /// 獲取Label 全部參數資料 /// /// - [WebApiClient.Attributes.HttpGet("api/LabelTemplateMaster/LabelTemplatebyMatnr/{LabelMatnr}/{Status}")] - ITask> GetLabelTemplateDto(string LabelMatnr, string Status, int page, int limit); + [WebApiClient.Attributes.HttpGet("api/LabelTemplateMaster/byMatnr")] + ITask> LabelTemplatebyMatnr(string LabelMatnr, int page, int limit); /// /// 獲取Label 全部參數資料 /// /// - [WebApiClient.Attributes.HttpGet("api/LabelTemplateDetail/byTemplateIDMulti/{id}")] + [WebApiClient.Attributes.HttpGet("api/LabelParam/byMulti/{id}")] ITask> GetLabelTemplatebyMatnr(int id); diff --git a/AMESCoreStudio.Web/ViewModels/LAB/LAB002ViewModel.cs b/AMESCoreStudio.Web/ViewModels/LAB/LAB002ViewModel.cs new file mode 100644 index 00000000..1b1ee94e --- /dev/null +++ b/AMESCoreStudio.Web/ViewModels/LAB/LAB002ViewModel.cs @@ -0,0 +1,34 @@ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace AMESCoreStudio.Web.ViewModels.LAB +{ + public class LAB002ViewModel + { + + public LAB002ViewModel() + { + LabData = new List(); + } + + public List LabData { get; set; } + } + + public class LabelParamGroup + { + + /// + /// 欄位 + /// + public string Param { get; set; } + + /// + /// 值 + /// + public double Value { get; set; } + } + +} diff --git a/AMESCoreStudio.Web/Views/LAB/LAB002.cshtml b/AMESCoreStudio.Web/Views/LAB/LAB002.cshtml new file mode 100644 index 00000000..ebdb215b --- /dev/null +++ b/AMESCoreStudio.Web/Views/LAB/LAB002.cshtml @@ -0,0 +1,213 @@ +@{ + ViewData["Title"] = "Label樣版資料維護"; + Layout = "~/Views/Shared/_AMESLayout.cshtml"; +} + +
+
+
+
+
@ViewBag.Title
+
+
+
+
+
+
+
+
+ +
+ +
+
+
+ @*
+ +
+ +
+
*@ + +
+
+ +
+
+
+ + @*@Html.Raw(ViewData["RateDataListS"])*@ +
+ + +
+
+
+
+
+ +@section Scripts{ + +} \ No newline at end of file diff --git a/AMESCoreStudio.Web/Views/LAB/LAB002C.cshtml b/AMESCoreStudio.Web/Views/LAB/LAB002C.cshtml new file mode 100644 index 00000000..bc51d525 --- /dev/null +++ b/AMESCoreStudio.Web/Views/LAB/LAB002C.cshtml @@ -0,0 +1,448 @@ +@model AMESCoreStudio.WebApi.Models.AMES.LabelTemplateMaster + +@{ + ViewData["Title"] = "Label料號參數新增"; + Layout = "~/Views/Shared/_AMESLayout.cshtml"; +} + +
+
+
+
+
+
@ViewBag.Title
+
+
+
+
+
+
+
+ + + + + + +
+
+ + + +
+
+ +
+
+ + + +
+
+
+
+ +
+
+ +
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ +
+
+ +
+ @*
+ + +
*@ + @*
+ + +
*@ +
+ +
+ + +
+
+
+
+ @Html.ValidationMessage("error") + +
+ +
+
+
+
+
+ +
+ +
+
+
+ +@*備註*@ + +@section Scripts{ + +} + diff --git a/AMESCoreStudio.Web/Views/LAB/LAB002U.cshtml b/AMESCoreStudio.Web/Views/LAB/LAB002U.cshtml new file mode 100644 index 00000000..96f521e7 --- /dev/null +++ b/AMESCoreStudio.Web/Views/LAB/LAB002U.cshtml @@ -0,0 +1,367 @@ +@model AMESCoreStudio.WebApi.Models.AMES.LabelTemplateMaster + + +@{ + ViewData["Title"] = "Label料號參數修改"; + Layout = "~/Views/Shared/_AMESLayout.cshtml"; +} + +
+
+
+
+
+
@ViewBag.Title
+
+
+
+
+
+
+
+ + + + + +
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+ +
+ +
+ + 上架中 +
+ +
+ + 未上架 +
+
+
+
+
+ @Html.ValidationMessage("error") + +
+ +
+
+ + +
+ +
+
+
+ +
+
+
+
+
+ +@*備註*@ + +@section Scripts{ + +} + diff --git a/AMESCoreStudio.Web/Views/LAB/LAB002V.cshtml b/AMESCoreStudio.Web/Views/LAB/LAB002V.cshtml new file mode 100644 index 00000000..348b1d6b --- /dev/null +++ b/AMESCoreStudio.Web/Views/LAB/LAB002V.cshtml @@ -0,0 +1,163 @@ +@model AMESCoreStudio.WebApi.Models.AMES.LabelTemplateMaster + + +@{ + ViewData["Title"] = "Label料號參數修改"; + Layout = "~/Views/Shared/_AMESLayout.cshtml"; +} + +
+
+
+
+
+
@ViewBag.Title
+
+
+
+
+
+
+
+ + + + + + +
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+ +
+ +
+ + 上架中 +
+ +
+ + 未上架 +
+
+
+
+
+
+ +
+
+
+ @*
*@ +
+
+ +@*備註*@ + +@section Scripts{ + +} + diff --git a/AMESCoreStudio.WebApi/Controllers/AMES/LabelParamController.cs b/AMESCoreStudio.WebApi/Controllers/AMES/LabelParamController.cs index a3371c6c..9d12324d 100644 --- a/AMESCoreStudio.WebApi/Controllers/AMES/LabelParamController.cs +++ b/AMESCoreStudio.WebApi/Controllers/AMES/LabelParamController.cs @@ -145,7 +145,37 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES return LabelParam; } + //// GET: api/LabelTemplateDetail/5 + [HttpGet("byMulti/{id}")] + public async Task>> GetLabelParambyTemplateIDMulti(int id) + { + + var query = from p in _context.LabelParam.Where(w => w.STATUS_NO == "Y") + select new + { + p.LABEL_FIELD_ID, + p.LABEL_FIELD_NAME, + DATA = "0" + }; + if (id != 0) + { + query = from p in _context.LabelParam.Where(w => w.STATUS_NO == "Y") + join d in _context.LabelTemplateDetail.Where(w => w.TEMPLATE_ID == id) + on new { p.LABEL_FIELD_ID } equals new { d.LABEL_FIELD_ID } into joined + from sub in joined.DefaultIfEmpty() + select new + { + p.LABEL_FIELD_ID, + p.LABEL_FIELD_NAME, + DATA = sub == null ? "0" : "1" + }; + } + // 执行查询 + var result = query.ToList(); + return result; + + } private bool LabelParamExists(int id) { return _context.LabelParam.Any(e => e.LABEL_FIELD_ID == id); diff --git a/AMESCoreStudio.WebApi/Controllers/AMES/LabelTemplateDetailController.cs b/AMESCoreStudio.WebApi/Controllers/AMES/LabelTemplateDetailController.cs index 55015abf..f399c613 100644 --- a/AMESCoreStudio.WebApi/Controllers/AMES/LabelTemplateDetailController.cs +++ b/AMESCoreStudio.WebApi/Controllers/AMES/LabelTemplateDetailController.cs @@ -36,36 +36,19 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES [HttpGet("{id}")] public async Task>> GetLabelTemplateDetail(int id) { - var labelTemplateDetail = await _context.LabelTemplateDetail.Where(w=>w.TEMPLATE_ID == id).ToListAsync(); + IQueryable q = _context.LabelTemplateDetail; + q = q.Where(p => p.TEMPLATE_ID.Equals(id)); + var LabelTemplatedetail = await q.ToListAsync(); - return labelTemplateDetail; - } - - //// GET: api/LabelTemplateDetail/5 - //[HttpGet("byTemplateIDMulti/{id}")] - //public async Task>> GetLabelTemplateDetailbyTemplateIDMulti(int id) - //{ - // var q = from p in _context.LabelParam - // join d in _context.LabelTemplateDetail - // on new { p.LABEL_FIELD_ID, TemplateID = id } equals new { d.LABEL_FIELD_ID, d.TEMPLATE_ID } into d1 - // from subd in d1.DefaultIfEmpty() - // where p.StatusNo == "Y" - // select new - // { - // LabelFieldID = p.LabelFieldID, - // LabelFieldName = p.LabelFieldName, - // ParamName = p.ParamName, - // TemplateID = subd != null ? 1 : 0 //有此欄位則顯示為1 沒有就為0 - // }; - - - - // var query = await q.ToListAsync(); - - // return query; - //} + if (LabelTemplatedetail == null) + { + return NotFound(); + } + return LabelTemplatedetail; + } + /// /// 更新Label參數檔 /// @@ -108,8 +91,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES try { - Helper helper = new Helper(_context); - LabelTemplateDetail.TEMPLATE_ID = helper.GetIDKey("TEMPLATE_ID").Result; + _context.LabelTemplateDetail.Add(LabelTemplateDetail); await _context.SaveChangesAsync(); result.Success = true; @@ -125,18 +107,24 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES // DELETE: api/LabelTemplateDetail/5 [HttpDelete("{id}")] - public async Task> DeleteLabelTemplateDetail(int id) + public async Task> DeleteLabelTemplateDetail(int id) { - var LabelTemplateDetail = await _context.LabelTemplateDetail.FindAsync(id); - if (LabelTemplateDetail == null) + + ResultModel result = new ResultModel(); + var query = await _context.LabelTemplateDetail.Where(w => w.TEMPLATE_ID == id).ToListAsync(); + try { - return NotFound(); + _context.LabelTemplateDetail.RemoveRange(query); + await _context.SaveChangesAsync(); + result.Success = true; + result.Msg = "OK"; } - - _context.LabelTemplateDetail.Remove(LabelTemplateDetail); - await _context.SaveChangesAsync(); - - return LabelTemplateDetail; + catch (Exception ex) + { + result.Success = false; + result.Msg = ex.InnerException.Message; + } + return result; } private bool LabelTemplateDetailExists(int id) diff --git a/AMESCoreStudio.WebApi/Controllers/AMES/LabelTemplateMasterController.cs b/AMESCoreStudio.WebApi/Controllers/AMES/LabelTemplateMasterController.cs index cb60fe2a..a7c8ba58 100644 --- a/AMESCoreStudio.WebApi/Controllers/AMES/LabelTemplateMasterController.cs +++ b/AMESCoreStudio.WebApi/Controllers/AMES/LabelTemplateMasterController.cs @@ -59,10 +59,8 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES ResultModel result = new ResultModel(); _context.Entry(LabelTemplateMaster).State = EntityState.Modified; //設置容器空間某一個模型的某一個欄位 不提交到資料庫 - _context.Entry(LabelTemplateMaster).Property("CreateDate").IsModified = false; - _context.Entry(LabelTemplateMaster).Property("CreateUserID").IsModified = false; - LabelTemplateMaster.UPDATE_DATE = DateTime.Now; - LabelTemplateMaster.UPDATE_USERID = 0; + _context.Entry(LabelTemplateMaster).Property("CREATE_DATE").IsModified = false; + _context.Entry(LabelTemplateMaster).Property("CREATE_USERID").IsModified = false; try { @@ -90,12 +88,22 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES try { - Helper helper = new Helper(_context); - LabelTemplateMaster.TEMPLATE_ID = helper.GetIDKey("TEMPLATE_ID").Result; - _context.LabelTemplateMaster.Add(LabelTemplateMaster); - await _context.SaveChangesAsync(); - result.Success = true; - result.Msg = "OK"; + IQueryable q = _context.LabelTemplateMaster; + q=q.Where(w => w.LABEL_MATNR.Equals(LabelTemplateMaster.LABEL_MATNR)); + if (q.Count() == 0) + { + Helper helper = new Helper(_context); + LabelTemplateMaster.TEMPLATE_ID = helper.GetIDKey("TEMPLATE_ID").Result; + _context.LabelTemplateMaster.Add(LabelTemplateMaster); + await _context.SaveChangesAsync(); + result.Success = true; + result.Msg = LabelTemplateMaster.TEMPLATE_ID.ToString(); + } + else { + + result.Success = false; + result.Msg = "Label料號已新增"; + } } catch (Exception ex) { @@ -122,23 +130,19 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES } // GET: api/LabelTemplateMaster/5 - [HttpGet("LabelTemplatebyMatnr/{LabelMatnr}/{Status}")] - public async Task>> GetLabelTemplatebyMatnr(string LabelMatnr, string Status, int page = 0, int limit = 10) + [HttpGet("byMatnr")] + public async Task> GetLabelTemplatebyMatnr(string LabelMatnr, int page = 0, int limit = 10) { - + ResultModel result = new ResultModel(); + IQueryable q = _context.LabelTemplateMaster; if (!string.IsNullOrEmpty(LabelMatnr) && LabelMatnr != "*") { - q.Where(w => w.LABEL_MATNR.Equals(LabelMatnr)); + q = q.Where(w => w.LABEL_MATNR.Equals(LabelMatnr)); } - - if (!string.IsNullOrEmpty(Status) && Status != "*") - { - q.Where(w => w.STATUS_NO.Equals(Status) ); - } - + result.DataTotal = q.Count(); if (page > 0) { q = q.OrderBy(p => p.LABEL_MATNR).Skip((page - 1) * limit).Take(limit); @@ -149,64 +153,15 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES } var labelTemplateMasters = await q.ToListAsync(); + // 紀錄筆數 + - - - return labelTemplateMasters; + result.Data = labelTemplateMasters; + return result; } - //// GET: api/LabelTemplateMaster/5 - //[HttpGet("LabelTemplateMulti/{LabelMatnr}/{Status}")] - //public async Task>> GetLabelTemplateDto(string LabelMatnr, string Status, int page = 0, int limit = 10) - //{ - // List TemplateDtoList = new List(); - // var LabelTemplateMaster = await _context.LabelTemplateMaster.Where(w => w.LabelMatnr == LabelMatnr).ToListAsync(); - // foreach (var item in LabelTemplateMaster) - // { - // var LabelTemplateDetail = await _context.LabelTemplateDetails.Where(w => w.TemplateID == item.TemplateID).ToListAsync(); - - // var TemplateDto= new LabelTemplateDto - // { - // TemplateID = item.TemplateID, - // LabelMatnr = item.LabelMatnr, - // LabelFile = item.LabelFile, - // ImageName = item.ImageName, - // Remark = item.Remark, - // CreateDate = item.CreateDate, - // CreateUserID = item.CreateUserID, - // UpdateDate = item.UpdateDate, - // UpdateUserID = item.UpdateUserID - - // }; - - // foreach (var item1 in LabelTemplateDetail) - // { - // TemplateDto.labelTemplateDetails.Add(new Models.AMES.LabelTemplateDetail - // { - // TemplateID = item1.TemplateID, - // LabelFieldID = item1.LabelFieldID, - // CreateDate = item1.CreateDate, - // CreateUserID = item1.CreateUserID, - // UpdateDate = item1.UpdateDate, - // UpdateUserID = item1.UpdateUserID - // }); - - // } - - // TemplateDtoList.Add(TemplateDto); - - - // } - - // if (LabelTemplateMaster == null) - // { - // return NotFound(); - // } - - // return TemplateDtoList; - - //} + private bool LabelTemplateMasterExists(int id) { diff --git a/AMESCoreStudio.WebApi/Models/AMESContext.cs b/AMESCoreStudio.WebApi/Models/AMESContext.cs index aeb3b62d..64db368e 100644 --- a/AMESCoreStudio.WebApi/Models/AMESContext.cs +++ b/AMESCoreStudio.WebApi/Models/AMESContext.cs @@ -135,6 +135,7 @@ namespace AMESCoreStudio.WebApi modelBuilder.Entity().HasNoKey(); modelBuilder.Entity().HasKey(c => new { c.SerialRuleDetailID }); modelBuilder.Entity().HasNoKey(); + modelBuilder.Entity().HasKey(c => new { c.TEMPLATE_ID, c.LABEL_FIELD_ID }); //Yiru End ---------------------------------------------------------------------------------------------------------------------------