diff --git a/AMESCoreStudio.Web/Controllers/LABController.cs b/AMESCoreStudio.Web/Controllers/LABController.cs new file mode 100644 index 00000000..27b5201b --- /dev/null +++ b/AMESCoreStudio.Web/Controllers/LABController.cs @@ -0,0 +1,187 @@ +using Microsoft.AspNetCore.Mvc; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using AMESCoreStudio.CommonTools.Result; +using Microsoft.AspNetCore.Hosting; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using AMESCoreStudio.Web.Models; +using System.Collections.Generic; +using Microsoft.AspNetCore.Mvc.Rendering; +using System.Linq; +using AMESCoreStudio.WebApi.Models; +using System; +using System.Data; +using AMESCoreStudio.Web.ViewModels; +using AMESCoreStudio.WebApi.Models.AMES; +using AMESCoreStudio.WebApi.DTO.AMES; + +namespace AMESCoreStudio.Web.Controllers +{ + public class LABController : Controller + { + private readonly ILogger _logger; + public readonly IREP _repApi; + public readonly IPPS _ppsApi; + public readonly IBAS _basApi; + public readonly IPCS _pcsApi; + public readonly ISYS _sysApi; + public readonly IKCS _kcsApi; + public readonly IQRS _qrsApi; + public readonly ILAB _labApi; + + private readonly IWebHostEnvironment _env; + + public LABController(ILogger logger, IREP repApi, IPPS ppsApi, IBAS basApi, IPCS pcsApi, ISYS sysApi, IKCS kcsApi, IWebHostEnvironment env, IQRS qrsApi, IESUN esunApi, ILAB labApi) + { + _logger = logger; + _repApi = repApi; + _ppsApi = ppsApi; + _basApi = basApi; + _pcsApi = pcsApi; + _sysApi = sysApi; + _kcsApi = kcsApi; + _qrsApi = qrsApi; + _labApi = labApi; + + _env = env; + } + private void GetFlagList() + { + + var FlagList = new List(); + + + FlagList.Add(new SelectListItem("Y", "Y")); + FlagList.Add(new SelectListItem("N", "N")); + + ViewBag.FlagList = FlagList; + } + public void GetUserID() + { + var userID = ""; + HttpContext.Request.Cookies.TryGetValue("UserID", out userID); + int user_id = 0; + if (userID != null) + { + if (int.Parse(userID.ToString()) >= 0) + { + user_id = int.Parse(userID.ToString()); + } + } + ViewBag.UserID = user_id; + } + + + #region LAB001工作群組維護相關 + + public IActionResult LAB001() + { + return View(); + } + + //新增頁面 + public IActionResult LAB001C() + { + GetFlagList(); + return View(); + } + + + + //修改页面 + [HttpGet] + public async Task LAB001U(int id) + { + GetFlagList(); + var result = await _labApi.GetLabelParam(id); + + if (result.LabelFieldID == 0) + { + return View(); + } + return View(result); + } + + + //頁面提交,id=0 添加,id>0 修改 + [HttpPost] + public async Task LAB001CSaveAsync(LabelParam model) + { + if (ModelState.IsValid) + { + IResultModel result; + + result = await _labApi.PostLabelParam(JsonConvert.SerializeObject(model)); + + + if (result.Success) //yiru modify 2022-09-27 + { + var _msg = "添加成功!"; + return RedirectToAction("Refresh", "Home", new { msg = _msg }); + } + else + { + if (result.Errors.Count > 0) + { + ModelState.AddModelError(result.Errors[0].Id, result.Errors[0].Msg); + } + else + { + ModelState.AddModelError("error", result.Msg); + } + } + } + return View("LAB001C", model); + } + + public async Task LAB001USaveAsync(LabelParam model) + { + if (ModelState.IsValid) + { + IResultModel result; + + result = await _labApi.PutLabelParam(model.LabelFieldID, JsonConvert.SerializeObject(model)); + + if (result.Success) + { + var _msg = "修改成功!"; + return RedirectToAction("Refresh", "Home", new { msg = _msg }); + } + else + { + if (result.Errors.Count > 0) + { + ModelState.AddModelError(result.Errors[0].Id, result.Errors[0].Msg); + } + else + { + ModelState.AddModelError("error", result.Msg); + } + } + } + return View("LAB001U", model); + } + + + [ResponseCache(Duration = 0)] + [HttpGet] + public async Task GetLabParamsAsync() + { + var result = await _labApi.GetLabParams(); + + if (result.Count > 0) + { + return Json(new Table() { code = 0, msg = "", data = result, count = result.Count }); + } + + return Json(new Table() { count = 0, data = null }); + } + #endregion + + + + + + } +} diff --git a/AMESCoreStudio.Web/HttpApis/AMES/ILAB.cs b/AMESCoreStudio.Web/HttpApis/AMES/ILAB.cs new file mode 100644 index 00000000..d331d4ee --- /dev/null +++ b/AMESCoreStudio.Web/HttpApis/AMES/ILAB.cs @@ -0,0 +1,113 @@ +using System.Collections.Generic; +using WebApiClient; +using WebApiClient.Attributes; +using AMESCoreStudio.WebApi; +using Microsoft.AspNetCore.Mvc; +using AMESCoreStudio.WebApi.Models.AMES; +using AMESCoreStudio.WebApi.Models.BAS; +using AMESCoreStudio.CommonTools.Result; +using AMESCoreStudio.WebApi.DTO.AMES; + +namespace AMESCoreStudio.Web +{ + [JsonReturn] + public interface ILAB: IHttpApi + { + + + + /// + /// Label 參數查詢by ID + /// + /// + [WebApiClient.Attributes.HttpGet("api/LabelParam/{id}")] + ITask GetLabelParam(int id); + + + /// + /// Label 參數儲存 + /// + /// + [WebApiClient.Attributes.HttpPost("api/LabelParam")] + ITask> PostLabelParam([FromBody, RawJsonContent] string model); + + /// + /// Label 參數修改 + /// + /// + [WebApiClient.Attributes.HttpPut("api/LabelParam")] + ITask> PutLabelParam(int id, [FromBody, RawJsonContent] string model); + + /// + /// 獲取Label 全部參數資料 + /// + /// + [WebApiClient.Attributes.HttpGet("api/LabelParam")] + ITask> GetLabParams(); + + /// + /// Label 參數儲存 + /// + /// + [WebApiClient.Attributes.HttpPost("api/LabelTemplateMaster")] + ITask> PostLabelTemplateMaster([FromBody, RawJsonContent] string model); + + /// + /// Label 參數修改 + /// + /// + [WebApiClient.Attributes.HttpPut("api/LabelTemplateMaster")] + ITask> PutLabeTemplateMaster(int id, [FromBody, RawJsonContent] string model); + + + /// + /// Label 參數儲存 + /// + /// + [WebApiClient.Attributes.HttpPost("api/LabelTemplatDetail")] + ITask> PostLabelTemplateDetail([FromBody, RawJsonContent] string model); + + /// + /// Label 參數修改 + /// + /// + [WebApiClient.Attributes.HttpPut("api/LabelTemplateDetail")] + ITask> PutLabeTemplateDetail(int id, [FromBody, RawJsonContent] string model); + + + + + + /// + /// Label 參數查詢by ID + /// + /// + [WebApiClient.Attributes.HttpGet("api/LabelTemplateMaster/{id}")] + ITask GetLabelTemplateMaster(int id); + + /// + /// Label 參數查詢by ID + /// + /// + [WebApiClient.Attributes.HttpGet("api/LabelTemplateDetail/{id}")] + ITask> GetLabelTemplateDetail(int id); + + /// + /// 獲取Label 全部參數資料 + /// + /// + [WebApiClient.Attributes.HttpGet("api/LabelTemplateMaster/LabelTemplatebyMatnr/{LabelMatnr}/{Status}")] + ITask> GetLabelTemplateDto(string LabelMatnr, string Status, int page , int limit ); + + + /// + /// 獲取Label 全部參數資料 + /// + /// + [WebApiClient.Attributes.HttpGet("api/LabelTemplateDetail/byTemplateIDMulti/{id}")] + ITask> GetLabelTemplatebyMatnr(int id); + + + + } +} diff --git a/AMESCoreStudio.Web/Views/LAB/LAB001.cshtml b/AMESCoreStudio.Web/Views/LAB/LAB001.cshtml new file mode 100644 index 00000000..e198b326 --- /dev/null +++ b/AMESCoreStudio.Web/Views/LAB/LAB001.cshtml @@ -0,0 +1,102 @@ +@{ + ViewData["Title"] = "Label 需填寫欄位維護"; + Layout = "~/Views/Shared/_AMESLayout.cshtml"; +} + +
+
+
+
+
@ViewBag.Title
+
+
+
+
+
+
+
+ +@section Scripts{ + + +} \ No newline at end of file diff --git a/AMESCoreStudio.Web/Views/LAB/LAB001C.cshtml b/AMESCoreStudio.Web/Views/LAB/LAB001C.cshtml new file mode 100644 index 00000000..98381718 --- /dev/null +++ b/AMESCoreStudio.Web/Views/LAB/LAB001C.cshtml @@ -0,0 +1,64 @@ +@model AMESCoreStudio.WebApi.Models.AMES.LabelParam + + +@{ ViewData["Title"] = "WHS001C"; + Layout = "~/Views/Shared/_FormLayout.cshtml"; } + + + + +
+
+
+
+ +
+ + + +
+
+ + + +
+
+ + + +
+ @Html.ValidationMessage("error") +
+ +
+ +
+
+
+ +@section Scripts { + @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); + await Html.RenderPartialAsync("_FileinputScriptsPartial"); } + + + + +} + diff --git a/AMESCoreStudio.Web/Views/LAB/LAB001U.cshtml b/AMESCoreStudio.Web/Views/LAB/LAB001U.cshtml new file mode 100644 index 00000000..098fcf7a --- /dev/null +++ b/AMESCoreStudio.Web/Views/LAB/LAB001U.cshtml @@ -0,0 +1,65 @@ +@model AMESCoreStudio.WebApi.Models.AMES.LabelParam + + +@{ ViewData["Title"] = "LAB001U"; + Layout = "~/Views/Shared/_FormLayout.cshtml"; } + + + + +
+
+
+
+ + +
+ + + +
+
+ + + +
+
+ + + +
+ @Html.ValidationMessage("error") +
+ +
+ +
+
+
+ +@section Scripts { + @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); + await Html.RenderPartialAsync("_FileinputScriptsPartial"); } + + + + +} + diff --git a/AMESCoreStudio.WebApi/Controllers/AMES/LabelParamController.cs b/AMESCoreStudio.WebApi/Controllers/AMES/LabelParamController.cs new file mode 100644 index 00000000..aa8c7b52 --- /dev/null +++ b/AMESCoreStudio.WebApi/Controllers/AMES/LabelParamController.cs @@ -0,0 +1,129 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using AMESCoreStudio.WebApi; +using AMESCoreStudio.WebApi.Models.AMES; +using AMESCoreStudio.CommonTools.Result; + +namespace AMESCoreStudio.WebApi.Controllers.AMES +{ + /// + /// + /// + [Route("api/[controller]")] + [ApiController] + public class LabelParamController : ControllerBase + { + private readonly AMESContext _context; + + public LabelParamController(AMESContext context) + { + _context = context; + } + + // GET: api/LabelParam + [HttpGet] + public async Task>> GetLabelParams() + { + return await _context.LabelParams.ToListAsync(); + } + + + // GET: api/LabelParam/5 + [HttpGet("{id}")] + public async Task> GetLabelParam(int id) + { + var LabelParam = await _context.LabelParams.FindAsync(id); + + if (LabelParam == null) + { + return NotFound(); + } + + return LabelParam; + } + + + /// + /// 更新Label參數檔 + /// + /// + /// + [HttpPut] + public async Task> PutBarcodeOutfit(LabelParam labelParam) + { + ResultModel result = new ResultModel(); + _context.Entry(labelParam).State = EntityState.Modified; + //設置容器空間某一個模型的某一個欄位 不提交到資料庫 + _context.Entry(labelParam).Property("CreateDate").IsModified = false; + _context.Entry(labelParam).Property("CreateUserID").IsModified = false; + labelParam.UpdateDate = DateTime.Now; + labelParam.UpdateUserID = 0; + + try + { + await _context.SaveChangesAsync(); + result.Success = true; + result.Msg = "OK"; + } + catch (Exception ex) + { + result.Success = false; + result.Msg = ex.InnerException.Message; + } + return result; + } + + /// + /// 新增更新Label參數檔 + /// + /// + /// + [HttpPost] + public async Task> PostBarcodeOutfit(LabelParam labelParam) + { + ResultModel result = new ResultModel(); + + try + { + Helper helper = new Helper(_context); + labelParam.LabelFieldID = helper.GetIDKey("LABEL_FIELD_ID").Result; + _context.LabelParams.Add(labelParam); + await _context.SaveChangesAsync(); + result.Success = true; + result.Msg = "OK"; + } + catch (Exception ex) + { + result.Success = false; + result.Msg = ex.InnerException.Message; + } + return result; + } + + // DELETE: api/LabelParam/5 + [HttpDelete("{id}")] + public async Task> DeleteLabelParam(int id) + { + var LabelParam = await _context.LabelParams.FindAsync(id); + if (LabelParam == null) + { + return NotFound(); + } + + _context.LabelParams.Remove(LabelParam); + await _context.SaveChangesAsync(); + + return LabelParam; + } + + private bool LabelParamExists(int id) + { + return _context.LabelParams.Any(e => e.LabelFieldID == id); + } + } +} diff --git a/AMESCoreStudio.WebApi/Controllers/AMES/LabelTemplateDetailController.cs b/AMESCoreStudio.WebApi/Controllers/AMES/LabelTemplateDetailController.cs new file mode 100644 index 00000000..73fd8a4d --- /dev/null +++ b/AMESCoreStudio.WebApi/Controllers/AMES/LabelTemplateDetailController.cs @@ -0,0 +1,147 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using AMESCoreStudio.WebApi; +using AMESCoreStudio.WebApi.Models.AMES; +using AMESCoreStudio.CommonTools.Result; + +namespace AMESCoreStudio.WebApi.Controllers.AMES +{ + /// + /// FQC檢驗結果ID + /// + [Route("api/[controller]")] + [ApiController] + public class LabelTemplateDetailController : ControllerBase + { + private readonly AMESContext _context; + + public LabelTemplateDetailController(AMESContext context) + { + _context = context; + } + + // GET: api/LabelTemplateDetail + [HttpGet] + public async Task>> GetLabelTemplateDetails() + { + return await _context.LabelTemplateDetails.ToListAsync(); + } + + // GET: api/LabelTemplateDetail/5 + [HttpGet("{id}")] + public async Task>> GetLabelTemplateDetail(int id) + { + var labelTemplateDetail = await _context.LabelTemplateDetails.Where(w=>w.TemplateID == id).ToListAsync(); + + return labelTemplateDetail; + } + + // GET: api/LabelTemplateDetail/5 + [HttpGet("byTemplateIDMulti/{id}")] + public async Task>> GetLabelTemplateDetailbyTemplateIDMulti(int id) + { + var q = from p in _context.LabelParams + join d in _context.LabelTemplateDetails + on new { p.LabelFieldID, TemplateID = id } equals new { d.LabelFieldID, d.TemplateID } 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; + } + + + /// + /// 更新Label參數檔 + /// + /// + /// + [HttpPut] + public async Task> PutLabelTemplateDetail(LabelTemplateDetail LabelTemplateDetail) + { + ResultModel result = new ResultModel(); + _context.Entry(LabelTemplateDetail).State = EntityState.Modified; + //設置容器空間某一個模型的某一個欄位 不提交到資料庫 + _context.Entry(LabelTemplateDetail).Property("CreateDate").IsModified = false; + _context.Entry(LabelTemplateDetail).Property("CreateUserID").IsModified = false; + LabelTemplateDetail.UpdateDate = DateTime.Now; + LabelTemplateDetail.UpdateUserID = 0; + + try + { + await _context.SaveChangesAsync(); + result.Success = true; + result.Msg = "OK"; + } + catch (Exception ex) + { + result.Success = false; + result.Msg = ex.InnerException.Message; + } + return result; + } + + /// + /// 新增更新Label參數檔 + /// + /// + /// + [HttpPost] + public async Task> PostLabelTemplateDetail(LabelTemplateDetail LabelTemplateDetail) + { + ResultModel result = new ResultModel(); + + try + { + Helper helper = new Helper(_context); + LabelTemplateDetail.TemplateID = helper.GetIDKey("TEMPLATE_ID").Result; + _context.LabelTemplateDetails.Add(LabelTemplateDetail); + await _context.SaveChangesAsync(); + result.Success = true; + result.Msg = "OK"; + } + catch (Exception ex) + { + result.Success = false; + result.Msg = ex.InnerException.Message; + } + return result; + } + + // DELETE: api/LabelTemplateDetail/5 + [HttpDelete("{id}")] + public async Task> DeleteLabelTemplateDetail(int id) + { + var LabelTemplateDetail = await _context.LabelTemplateDetails.FindAsync(id); + if (LabelTemplateDetail == null) + { + return NotFound(); + } + + _context.LabelTemplateDetails.Remove(LabelTemplateDetail); + await _context.SaveChangesAsync(); + + return LabelTemplateDetail; + } + + private bool LabelTemplateDetailExists(int id) + { + return _context.LabelTemplateDetails.Any(e => e.TemplateID == id); + } + } +} diff --git a/AMESCoreStudio.WebApi/Controllers/AMES/LabelTemplateMasterController.cs b/AMESCoreStudio.WebApi/Controllers/AMES/LabelTemplateMasterController.cs new file mode 100644 index 00000000..ac49ccd2 --- /dev/null +++ b/AMESCoreStudio.WebApi/Controllers/AMES/LabelTemplateMasterController.cs @@ -0,0 +1,165 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using AMESCoreStudio.WebApi; +using AMESCoreStudio.WebApi.Models.AMES; +using AMESCoreStudio.CommonTools.Result; +using AMESCoreStudio.WebApi.DTO.AMES; + +namespace AMESCoreStudio.WebApi.Controllers.AMES +{ + /// + /// + /// + [Route("api/[controller]")] + [ApiController] + public class LabelTemplateMasterController : ControllerBase + { + private readonly AMESContext _context; + + public LabelTemplateMasterController(AMESContext context) + { + _context = context; + } + + // GET: api/LabelTemplateMaster + [HttpGet] + public async Task>> GetLabelTemplateMasters() + { + return await _context.LabelTemplateMasters.ToListAsync(); + } + + // GET: api/LabelTemplateMaster/5 + [HttpGet("{id}")] + public async Task> GetLabelTemplateMaster(int id) + { + var LabelTemplateMaster = await _context.LabelTemplateMasters.FindAsync(id); + + if (LabelTemplateMaster == null) + { + return NotFound(); + } + + return LabelTemplateMaster; + } + + + /// + /// 更新Label參數檔 + /// + /// + /// + [HttpPut] + public async Task> PutLabelTemplateMaster(LabelTemplateMaster LabelTemplateMaster) + { + 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.UpdateDate = DateTime.Now; + LabelTemplateMaster.UpdateUserID = 0; + + try + { + await _context.SaveChangesAsync(); + result.Success = true; + result.Msg = "OK"; + } + catch (Exception ex) + { + result.Success = false; + result.Msg = ex.InnerException.Message; + } + return result; + } + + /// + /// 新增更新Label參數檔 + /// + /// + /// + [HttpPost] + public async Task> PostLabelTemplateMaster(LabelTemplateMaster LabelTemplateMaster) + { + ResultModel result = new ResultModel(); + + try + { + Helper helper = new Helper(_context); + LabelTemplateMaster.TemplateID = helper.GetIDKey("TEMPLATE_ID").Result; + _context.LabelTemplateMasters.Add(LabelTemplateMaster); + await _context.SaveChangesAsync(); + result.Success = true; + result.Msg = "OK"; + } + catch (Exception ex) + { + result.Success = false; + result.Msg = ex.InnerException.Message; + } + return result; + } + + // DELETE: api/LabelTemplateMaster/5 + [HttpDelete("{id}")] + public async Task> DeleteLabelTemplateMaster(int id) + { + var LabelTemplateMaster = await _context.LabelTemplateMasters.FindAsync(id); + if (LabelTemplateMaster == null) + { + return NotFound(); + } + + _context.LabelTemplateMasters.Remove(LabelTemplateMaster); + await _context.SaveChangesAsync(); + + return LabelTemplateMaster; + } + + // GET: api/LabelTemplateMaster/5 + [HttpGet("LabelTemplatebyMatnr/{LabelMatnr}/{Status}")] + public async Task>> GetLabelTemplatebyMatnr(string LabelMatnr, string Status, int page = 0, int limit = 10) + { + + IQueryable q = _context.LabelTemplateMasters; + + if (!string.IsNullOrEmpty(LabelMatnr) && LabelMatnr != "*") + { + q.Where(w => w.LabelMatnr.Equals(LabelMatnr)); + + } + + if (!string.IsNullOrEmpty(Status) && Status != "*") + { + q.Where(w => w.StatusNo.Equals(Status) ); + } + + if (page > 0) + { + q = q.OrderBy(p => p.LabelMatnr).Skip((page - 1) * limit).Take(limit); + } + else + { + q = q.OrderBy(p => p.LabelMatnr); + } + + var labelTemplateMasters = await q.ToListAsync(); + + + + return labelTemplateMasters; + + } + + + private bool LabelTemplateMasterExists(int id) + { + return _context.LabelTemplateMasters.Any(e => e.TemplateID == id); + } + } +} diff --git a/AMESCoreStudio.WebApi/Models/AMES/LabelParam.cs b/AMESCoreStudio.WebApi/Models/AMES/LabelParam.cs new file mode 100644 index 00000000..1eeda74d --- /dev/null +++ b/AMESCoreStudio.WebApi/Models/AMES/LabelParam.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using Microsoft.EntityFrameworkCore; +using System.Runtime.Serialization; + +#nullable disable + +namespace AMESCoreStudio.WebApi.Models.AMES +{ + /// + /// Label 參數設定檔 + /// + [Table("LABEL_PARAM", Schema = "JHAMES")] + public partial class LabelParam + { + /// + /// 標籤欄位ID + /// + [Key] + [Column("LABEL_FIELD_ID")] + [DataMember] + public int LabelFieldID { get; set; } + + /// + /// 標籤欄位名稱 + /// + [DataMember] + [Display(Name = "欄位名稱")] + [Required(ErrorMessage = "{0},不能空白")] + [Column("LABEL_FIELD_NAME")] + [StringLength(60)] + public string LabelFieldName { get; set; } + + /// + /// 標籤變數名稱 + /// + [DataMember] + [Display(Name = "變數名稱")] + [Column("PARAM_NAME")] + [StringLength(100)] + public string ParamName { get; set; } + + /// + /// 狀態 P:PASS F:FAIL + /// + [DataMember] + [Display(Name = "狀態")] + [Required] + [Column("STATUS_NO")] + [StringLength(1)] + public string StatusNo { get; set; } = "P"; + + /// + /// 建立UserID + /// + [Column("CREATE_USERID")] + [Required] + [DataMember] + public int CreateUserID { get; set; } = 0; + + /// + /// 建立日期 + /// + [Required] + [Column("CREATE_DATE")] + [DataMember] + public DateTime CreateDate { get; set; } = DateTime.Now; + + /// + /// 更新UserID + /// + [Column("UPDATE_USERID")] + [DataMember] + public int UpdateUserID { get; set; } = 0; + + /// + /// 更新日期 + /// + [Column("UPDATE_DATE")] + [DataMember] + public DateTime? UpdateDate { get; set; } = DateTime.Now; + } +} diff --git a/AMESCoreStudio.WebApi/Models/AMES/LabelTemplateDetail.cs b/AMESCoreStudio.WebApi/Models/AMES/LabelTemplateDetail.cs new file mode 100644 index 00000000..d1ecf4ff --- /dev/null +++ b/AMESCoreStudio.WebApi/Models/AMES/LabelTemplateDetail.cs @@ -0,0 +1,75 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using Microsoft.EntityFrameworkCore; +using System.Runtime.Serialization; + +#nullable disable + +namespace AMESCoreStudio.WebApi.Models.AMES +{ + /// + /// Label 參數設定檔 + /// + [Table("LABEL_TEMPLATE_DETAIL", Schema = "JHAMES")] + public partial class LabelTemplateDetail + { + /// + /// 標籤欄位ID + /// + [Key] + [Column("TEMPLATE_ID")] + [DataMember] + public int TemplateID { get; set; } + + + /// + /// 標籤欄位名稱 + /// + [DataMember] + [Display(Name = "標籤欄位ID")] + [Required(ErrorMessage = "{0},不能空白")] + [Column("LABEL_FIELD_ID")] + [StringLength(60)] + public int LabelFieldID { get; set; } + + + /// + /// 建立UserID + /// + [Column("CREATE_USERID")] + [DataMember] + public int CreateUserID { get; set; } = 0; + + /// + /// 建立日期 + /// + [Required] + [Column("CREATE_DATE")] + [DataMember] + public DateTime CreateDate { get; set; } = DateTime.Now; + + /// + /// 更新UserID + /// + [Column("UPDATE_USERID")] + [DataMember] + public int UpdateUserID { get; set; } = 0; + + /// + /// 更新日期 + /// + [Column("UPDATE_DATE")] + [DataMember] + public DateTime? UpdateDate { get; set; } = DateTime.Now; + + + /// + /// 流程站別資料 + /// + [ForeignKey("LabelFieldID")] + [DataMember] + public virtual LabelParam GetLabelParam { get; set; } + } +} diff --git a/AMESCoreStudio.WebApi/Models/AMES/LabelTemplateMaster.cs b/AMESCoreStudio.WebApi/Models/AMES/LabelTemplateMaster.cs new file mode 100644 index 00000000..423f3364 --- /dev/null +++ b/AMESCoreStudio.WebApi/Models/AMES/LabelTemplateMaster.cs @@ -0,0 +1,109 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using Microsoft.EntityFrameworkCore; +using System.Runtime.Serialization; + +#nullable disable + +namespace AMESCoreStudio.WebApi.Models.AMES +{ + /// + /// Label 參數設定檔 + /// + [Table("LABEL_TEMPLATE_MASTER", Schema = "JHAMES")] + public partial class LabelTemplateMaster + { + /// + /// 標籤欄位ID + /// + [Key] + [Column("TEMPLATE_ID")] + [DataMember] + public int TemplateID { get; set; } + + /// + /// 標籤欄位名稱 + /// + [DataMember] + [Display(Name = "標籤料號")] + [Required(ErrorMessage = "{0},不能空白")] + [Column("LABEL_MATNR")] + [StringLength(20)] + public string LabelMatnr { get; set; } + + /// + /// 標籤變數名稱 + /// + [DataMember] + [Display(Name = "標籤檔案")] + [Column("LABEL_FILE")] + [StringLength(100)] + public string LabelFile { get; set; } + + /// + /// 狀態 P:PASS F:FAIL + /// + [DataMember] + [Display(Name = "狀態")] + [Required] + [Column("STATUS_NO")] + [StringLength(1)] + public string StatusNo { get; set; } + + /// + /// 圖檔 + /// + [Column("IMAGE_NAME")] + [Display(Name = "圖檔")] + [DataMember] + public string ImageName { get; set; } + + + /// + /// 建立UserID + /// + [Column("CREATE_USERID")] + [DataMember] + public int CreateUserID { get; set; } = 0; + + /// + /// 建立日期 + /// + [Required] + [Column("CREATE_DATE")] + [DataMember] + public DateTime CreateDate { get; set; } = DateTime.Now; + + /// + /// 更新UserID + /// + [Column("UPDATE_USERID")] + [DataMember] + public int UpdateUserID { get; set; } = 0; + + /// + /// 更新日期 + /// + [Column("UPDATE_DATE")] + [DataMember] + public DateTime? UpdateDate { get; set; } = DateTime.Now; + + /// + /// 備註說明 + /// + [DataMember] + [Display(Name = "備註說明")] + [Column("REMARK")] + public string Remark { get; set; } + + + /// + /// 流程站別資料 + /// + [ForeignKey("TemplateID")] + [DataMember] + public virtual List GetLabelTemplateDetail { get; set; } + } +} diff --git a/AMESCoreStudio.WebApi/Models/AMESContext.cs b/AMESCoreStudio.WebApi/Models/AMESContext.cs index 7807edb2..da323e08 100644 --- a/AMESCoreStudio.WebApi/Models/AMESContext.cs +++ b/AMESCoreStudio.WebApi/Models/AMESContext.cs @@ -1005,6 +1005,22 @@ namespace AMESCoreStudio.WebApi /// 維修不良序號 /// public DbSet NgKeyparts { get; set; } + + /// + /// 標籤參數設定 + /// + public DbSet LabelParams { get; set; } + + /// + /// 標籤樣板維護 + /// + public DbSet LabelTemplateMasters { get; set; } + + /// + /// 標籤樣板維護Detail + /// + public DbSet LabelTemplateDetails { get; set; } + } }