Browse Source

1. 新增FQC001-004

PTD
Ray 3 years ago
parent
commit
589d594848
  1. 331
      AMESCoreStudio.Web/Controllers/FQCController.cs
  2. 160
      AMESCoreStudio.Web/HttpApis/AMES/IFQC.cs
  3. 10
      AMESCoreStudio.Web/Views/FQC/FQC001.cshtml
  4. 24
      AMESCoreStudio.Web/Views/FQC/FQC001C.cshtml
  5. 23
      AMESCoreStudio.Web/Views/FQC/FQC001U.cshtml
  6. 56
      AMESCoreStudio.Web/Views/FQC/FQC002.cshtml
  7. 33
      AMESCoreStudio.Web/Views/FQC/FQC002C.cshtml
  8. 37
      AMESCoreStudio.Web/Views/FQC/FQC002U.cshtml
  9. 19
      AMESCoreStudio.Web/Views/FQC/FQC003.cshtml
  10. 27
      AMESCoreStudio.Web/Views/FQC/FQC003C.cshtml
  11. 38
      AMESCoreStudio.Web/Views/FQC/FQC003U.cshtml
  12. 96
      AMESCoreStudio.Web/Views/FQC/FQC004.cshtml
  13. 71
      AMESCoreStudio.Web/Views/FQC/FQC004C.cshtml
  14. 72
      AMESCoreStudio.Web/Views/FQC/FQC004U.cshtml
  15. 133
      AMESCoreStudio.Web/Views/FQC/FQC005.cshtml
  16. 69
      AMESCoreStudio.Web/Views/FQC/FQC005C.cshtml
  17. 70
      AMESCoreStudio.Web/Views/FQC/FQC005U.cshtml
  18. 121
      AMESCoreStudio.WebApi/Controllers/AMES/FqcResultController.cs
  19. 117
      AMESCoreStudio.WebApi/Controllers/AMES/QcCriterionController.cs
  20. 16
      AMESCoreStudio.WebApi/Controllers/AMES/QcGroupController.cs
  21. 137
      AMESCoreStudio.WebApi/Controllers/AMES/QcItemController.cs
  22. 120
      AMESCoreStudio.WebApi/Controllers/AMES/QcQuotController.cs
  23. 0
      AMESCoreStudio.WebApi/DTO/AMES/MaterialKpDto.cs
  24. 51
      AMESCoreStudio.WebApi/DTO/AMES/QcItemDto.cs
  25. 10
      AMESCoreStudio.WebApi/Models/AMES/QcItem.cs
  26. 2
      AMESCoreStudio.WebApi/Models/AMES/QcQuot.cs

331
AMESCoreStudio.Web/Controllers/FQCController.cs

@ -35,6 +35,52 @@ namespace AMESCoreStudio.Web.Controllers
_fqcApi = fqcApi;
}
#region 下拉選單
/// <summary>
/// 檢驗類別 Select
/// </summary>
/// <returns></returns>
private async Task GetQCGroupSelect()
{
var result = await _fqcApi.GetQcGroup();
var QCGroupList = new List<SelectListItem>();
for (int i = 0; i < result.Count; i++)
{
QCGroupList.Add(new SelectListItem(result[i].GroupNameCN + "【" + result[i].GroupNameEN + "】", result[i].GroupID.ToString()));
}
if (QCGroupList.Count == 0)
{
QCGroupList.Add(new SelectListItem("N/A", null));
}
ViewBag.QCGroupSelect = QCGroupList;
}
/// <summary>
/// 抽驗係數 Select
/// </summary>
/// <returns></returns>
private async Task GetQcQuotSelect()
{
var result = await _fqcApi.GetQcQuot();
var QcQuotList = new List<SelectListItem>();
for (int i = 0; i < result.Count; i++)
{
QcQuotList.Add(new SelectListItem(result[i].QuotName, result[i].QuotID.ToString()));
}
if (QcQuotList.Count == 0)
{
QcQuotList.Add(new SelectListItem("N/A", null));
}
ViewBag.QcQuotSelect = QcQuotList;
}
#endregion
#region FQC001 檢驗類別維護
public IActionResult FQC001()
@ -91,7 +137,7 @@ namespace AMESCoreStudio.Web.Controllers
}
if (model.GroupID == 0)
{
return View("FQC01C", model);
return View("FQC001C", model);
}
return View("FQC001U", model);
}
@ -112,7 +158,81 @@ namespace AMESCoreStudio.Web.Controllers
#endregion
#region FQC002 檢驗項目維護
public async Task<IActionResult> FQC002()
{
await GetQCGroupSelect();
return View();
}
//新增頁面
public async Task<IActionResult> FQC002C()
{
await GetQCGroupSelect();
return View();
}
//修改页面
[HttpGet]
public async Task<IActionResult> FQC002UAsync(int id)
{
await GetQCGroupSelect();
var result = await _fqcApi.GetQcItem(id);
return View(result);
}
public async Task<IActionResult> FQC002DAsync(int id)
{
var result = await _fqcApi.DeleteQcItem(id);
return Json(new Result() { success = result.Success, msg = result.Msg });
}
//頁面提交,id=0 添加,id>0 修改
[HttpPost]
public async Task<IActionResult> FQC002Async(QcItem model)
{
if (ModelState.IsValid)
{
IResultModel result;
if (model.ItemID == 0)
{
result = await _fqcApi.PostQcItem(JsonConvert.SerializeObject(model));
}
else
{
result = await _fqcApi.PutQcItem(JsonConvert.SerializeObject(model));
}
if (result.Success)
{
var _msg = model.ItemID == 0 ? "新增成功!" : "修改成功!";
return RedirectToAction("Refresh", "Home", new { msg = _msg });
}
else
{
ModelState.AddModelError("error", result.Msg);
}
}
if (model.ItemID == 0)
{
return View("FQC002C", model);
}
return View("FQC002U", model);
}
[ResponseCache(Duration = 0)]
[HttpGet]
public async Task<IActionResult> FQC002QueryAsync(int groupID = 0, int page = 1, int limit = 10)
{
var result = await _fqcApi.GetQcItemQuery(groupID, page, limit);
if (result.Data.Count() != 0)
{
return Json(new Table() { code = 0, msg = "", data = result.Data, count = result.DataTotal });
}
return Json(new Table() { count = 0, data = null });
}
#endregion
#region FQC003 檢驗結果維護
@ -126,14 +246,221 @@ namespace AMESCoreStudio.Web.Controllers
{
return View();
}
//修改页面
[HttpGet]
public async Task<IActionResult> FQC003UAsync(string id)
{
var result = await _fqcApi.GetFqcResult(id);
return View(result);
}
public async Task<IActionResult> FQC003DAsync(string id)
{
var result = await _fqcApi.DeleteFqcResult(id);
return Json(new Result() { success = result.Success, msg = result.Msg });
}
//頁面提交,id=0 添加,id>0 修改
[HttpPost]
public async Task<IActionResult> FQC003Async(FqcResult model)
{
if (ModelState.IsValid)
{
IResultModel result;
if (string.IsNullOrWhiteSpace(model.FqcNo))
{
result = await _fqcApi.PostFqcResult(JsonConvert.SerializeObject(model));
}
else
{
result = await _fqcApi.PutFqcResult(JsonConvert.SerializeObject(model));
}
if (result.Success)
{
var _msg = string.IsNullOrWhiteSpace(model.FqcNo) ? "新增成功!" : "修改成功!";
return RedirectToAction("Refresh", "Home", new { msg = _msg });
}
else
{
ModelState.AddModelError("error", result.Msg);
}
}
if (string.IsNullOrWhiteSpace(model.FqcNo))
{
return View("FQC003C", model);
}
return View("FQC003U", model);
}
[ResponseCache(Duration = 0)]
[HttpGet]
public async Task<IActionResult> FQC003QueryAsync(int page = 1, int limit = 10)
{
var result = await _fqcApi.GetFqcResultQuery(page, limit);
if (result.Data.Count() != 0)
{
return Json(new Table() { code = 0, msg = "", data = result.Data, count = result.DataTotal });
}
return Json(new Table() { count = 0, data = null });
}
#endregion
#region FQC004 抽驗標準維護
#region FQC004 抽驗係數維護
public IActionResult FQC004()
{
return View();
}
//新增頁面
public IActionResult FQC004C()
{
return View();
}
//修改页面
[HttpGet]
public async Task<IActionResult> FQC004UAsync(int id)
{
var result = await _fqcApi.GetQcQuot(id);
return View(result);
}
public async Task<IActionResult> FQC004DAsync(int id)
{
var result = await _fqcApi.DeleteQcQuot(id);
return Json(new Result() { success = result.Success, msg = result.Msg });
}
//頁面提交,id=0 添加,id>0 修改
[HttpPost]
public async Task<IActionResult> FQC004Async(QcQuot model)
{
if (ModelState.IsValid)
{
IResultModel result;
if (model.QuotID == 0)
{
result = await _fqcApi.PostQcQuot(JsonConvert.SerializeObject(model));
}
else
{
result = await _fqcApi.PutQcQuot(JsonConvert.SerializeObject(model));
}
if (result.Success)
{
var _msg = model.QuotID == 0 ? "新增成功!" : "修改成功!";
return RedirectToAction("Refresh", "Home", new { msg = _msg });
}
else
{
ModelState.AddModelError("error", result.Msg);
}
}
if (model.QuotID == 0)
{
return View("FQC004C", model);
}
return View("FQC004U", model);
}
[ResponseCache(Duration = 0)]
[HttpGet]
public async Task<IActionResult> FQC004QueryAsync(int page = 1, int limit = 10)
{
var result = await _fqcApi.GetQcQuotQuery(page, limit);
if (result.Data.Count() != 0)
{
return Json(new Table() { code = 0, msg = "", data = result.Data, count = result.DataTotal });
}
return Json(new Table() { count = 0, data = null });
}
#endregion
#region FQC005 抽驗係數維護
public async Task<IActionResult> FQC005()
{
await GetQcQuotSelect();
return View();
}
//新增頁面
public async Task<IActionResult> FQC005C()
{
await GetQcQuotSelect();
return View();
}
//修改页面
[HttpGet]
public async Task<IActionResult> FQC005UAsync(int id)
{
await GetQcQuotSelect();
var result = await _fqcApi.GetQcCriterion(id);
return View(result);
}
public async Task<IActionResult> FQC005DAsync(int id)
{
var result = await _fqcApi.DeleteQcCriterion(id);
return Json(new Result() { success = result.Success, msg = result.Msg });
}
//頁面提交,id=0 添加,id>0 修改
[HttpPost]
public async Task<IActionResult> FQC005Async(QcCriterion model)
{
if (ModelState.IsValid)
{
IResultModel result;
if (model.CritID == 0)
{
result = await _fqcApi.PostQcCriterion(JsonConvert.SerializeObject(model));
}
else
{
result = await _fqcApi.PutQcCriterion(JsonConvert.SerializeObject(model));
}
if (result.Success)
{
var _msg = model.CritID == 0 ? "新增成功!" : "修改成功!";
return RedirectToAction("Refresh", "Home", new { msg = _msg });
}
else
{
ModelState.AddModelError("error", result.Msg);
}
}
if (model.CritID == 0)
{
return View("FQC005C", model);
}
return View("FQC005U", model);
}
[ResponseCache(Duration = 0)]
[HttpGet]
public async Task<IActionResult> FQC005QueryAsync(int quotID = 0, int page = 1, int limit = 10)
{
var result = await _fqcApi.GetQcCriterionQuery(quotID, page, limit);
if (result.Data.Count() != 0)
{
return Json(new Table() { code = 0, msg = "", data = result.Data, count = result.DataTotal });
}
return Json(new Table() { count = 0, data = null });
}
#endregion
#region FQC006 FQC狀態維護

160
AMESCoreStudio.Web/HttpApis/AMES/IFQC.cs

@ -52,19 +52,175 @@ namespace AMESCoreStudio.Web
#endregion
#region FQC002 檢驗項目維護
/// <summary>
/// 新增檢驗項目維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPost("api/QcItem")]
ITask<ResultModel<QcItem>> PostQcItem([FromBody, RawJsonContent] string model);
/// <summary>
/// 更新檢驗項目維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPut("api/QcItem")]
ITask<ResultModel<QcItem>> PutQcItem([FromBody, RawJsonContent] string model);
/// <summary>
/// 刪除檢驗項目維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpDelete("api/QcItem/{id}")]
ITask<ResultModel<string>> DeleteQcItem(int id);
/// <summary>
/// 查詢檢驗項目維護
/// </summary>
/// <param name="groupID">檢驗類別ID</param>
/// <param name="page">頁數</param>
/// <param name="limit">比數</param>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/QcItem/QcItemQuery")]
ITask<ResultModel<QcItemDto>> GetQcItemQuery(int groupID, int page, int limit);
/// <summary>
/// 查詢檢驗項目維護 ID
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/QcItem/{id}")]
ITask<QcItem> GetQcItem(int id);
/// <summary>
/// 查詢檢驗項目維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/QcGroup")]
ITask<List<QcGroup>> GetQcGroup();
#endregion
#region FQC003 檢驗結果維護
/// <summary>
/// 新增檢驗結果維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPost("api/FqcResult")]
ITask<ResultModel<FqcResult>> PostFqcResult([FromBody, RawJsonContent] string model);
/// <summary>
/// 更新檢驗結果維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPut("api/FqcResult")]
ITask<ResultModel<FqcResult>> PutFqcResult([FromBody, RawJsonContent] string model);
/// <summary>
/// 刪除檢驗結果維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpDelete("api/FqcResult/{id}")]
ITask<ResultModel<string>> DeleteFqcResult(string id);
/// <summary>
/// 查詢檢驗結果維護
/// </summary>
/// <param name="page">頁數</param>
/// <param name="limit"></param>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/FqcResult/FqcResultQuery")]
ITask<ResultModel<FqcResult>> GetFqcResultQuery(int page = 1, int limit = 10);
/// <summary>
/// 查詢檢驗結果維護 ID
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/FqcResult/{id}")]
ITask<FqcResult> GetFqcResult(string id);
#endregion
#region FQC004 抽驗標準維護
#region FQC004 抽驗係數維護
/// <summary>
/// 新增抽驗係數維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPost("api/QcQuot")]
ITask<ResultModel<QcQuot>> PostQcQuot([FromBody, RawJsonContent] string model);
/// <summary>
/// 更新抽驗係數維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPut("api/QcQuot")]
ITask<ResultModel<QcQuot>> PutQcQuot([FromBody, RawJsonContent] string model);
/// <summary>
/// 刪除抽驗係數維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpDelete("api/QcQuot/{id}")]
ITask<ResultModel<string>> DeleteQcQuot(int id);
/// <summary>
/// 查詢抽驗係數維護
/// </summary>
/// <param name="page">頁數</param>
/// <param name="limit"></param>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/QcQuot/QcQuotQuery")]
ITask<ResultModel<QcQuot>> GetQcQuotQuery(int page = 1, int limit = 10);
/// <summary>
/// 查詢抽驗係數維護 ID
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/QcQuot/{id}")]
ITask<QcQuot> GetQcQuot(int id);
#endregion
#region FQC005 抽驗係數維護
#region FQC005 抽驗標準維護
/// <summary>
/// 新增抽驗標準維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPost("api/QcCriterion")]
ITask<ResultModel<QcCriterion>> PostQcCriterion([FromBody, RawJsonContent] string model);
/// <summary>
/// 更新抽驗標準維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPut("api/QcCriterion")]
ITask<ResultModel<QcCriterion>> PutQcCriterion([FromBody, RawJsonContent] string model);
/// <summary>
/// 刪除抽驗標準維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpDelete("api/QcCriterion/{id}")]
ITask<ResultModel<string>> DeleteQcCriterion(int id);
/// <summary>
/// 查詢抽驗標準維護
/// </summary>
/// <param name="quotID">抽驗係數ID</param>
/// <param name="page">頁數</param>
/// <param name="limit"></param>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/QcCriterion/QcCriterionQuery")]
ITask<ResultModel<QcCriterion>> GetQcCriterionQuery(int quotID, int page, int limit);
/// <summary>
/// 查詢抽驗標準維護 ID
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/QcCriterion/{id}")]
ITask<QcCriterion> GetQcCriterion(int id);
/// <summary>
/// 查詢檢驗項目維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/QcQuot")]
ITask<List<QcQuot>> GetQcQuot();
#endregion
#region FQC006 FQC狀態維護

10
AMESCoreStudio.Web/Views/FQC/FQC001.cshtml

@ -25,12 +25,12 @@
var tableCols = [[
{
field: 'groupNameCN',
title: '檢驗類別中文',
title: '類別中文',
sort: true
},
{
field: 'groupNameEN',
title: '檢驗類別英文',
title: '類別英文',
sort: true
},
{
@ -54,7 +54,7 @@
//通过行tool删除,lay-event="del"
function del(obj) {
if (obj.data.groupID) {
hg.confirm("檢驗類別:" + obj.data.groupNameCN + ",确定要删除吗?", function () {
hg.confirm("檢驗類別:" + obj.data.groupNameCN + "【" + obj.data.groupNameEN + "】,確定要刪除嗎?", function () {
$.ajax({
url: '/FQC/FQC001D',
data: { id: obj.data.groupID },
@ -69,7 +69,7 @@
}
},
error: function () {
hg.msg("网络请求失败!");
hg.msg("網路請求失敗!");
}
});
});
@ -86,6 +86,6 @@
}
];
//基本数据表格
var table = hg.table.datatable('test', '檢驗類別維護', '/FQC/FQC001Query', {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
var table = hg.table.datatable('test', '檢驗類別維護', '/FQC/FQC001Query', {}, tableCols, toolbar, false, 'full-100', ['filter', 'print', 'exports']);
</script>
}

24
AMESCoreStudio.Web/Views/FQC/FQC001C.cshtml

@ -17,27 +17,23 @@
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameCN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗類別中文" />
<span asp-validation-for="GroupNameCN" class="layui-bg-red"></span>
</div>
<label asp-for="GroupNameCN" class="layui-form-label"></label>
<div class="layui-input-block">
<input asp-for="GroupNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗類別中文" />
<span asp-validation-for="GroupNameCN" class="layui-bg-red"></span>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameEN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameEN" class="layui-input" placeholder="請輸入檢驗類別英文" />
</div>
<label asp-for="GroupNameEN" class="layui-form-label"></label>
<div class="layui-input-block">
<input asp-for="GroupNameEN" class="layui-input" placeholder="請輸入檢驗類別英文" />
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-form-item">
<div class="layui-input-block">
<div class="layui-row" style="text-align:center">
<div class="layui-col-md12">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>

23
AMESCoreStudio.Web/Views/FQC/FQC001U.cshtml

@ -18,27 +18,22 @@
<input type="hidden" asp-for="GroupID" value="@Model.GroupID" />
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameCN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗類別中文" />
<span asp-validation-for="GroupNameCN" class="layui-bg-red"></span>
</div>
<label asp-for="GroupNameCN" class="layui-form-label"></label>
<div class="layui-input-block">
<input asp-for="GroupNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗類別中文" />
<span asp-validation-for="GroupNameCN" class="layui-bg-red"></span>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameEN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameEN" class="layui-input" placeholder="請輸入檢驗類別英文" />
</div>
<label asp-for="GroupNameEN" class="layui-form-label"></label>
<div class="layui-input-block">
<input asp-for="GroupNameEN" class="layui-input" placeholder="請輸入檢驗類別英文" />
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-form-item">
<div class="layui-input-block">
<div class="layui-row" style="text-align:center">
<div class="layui-col-md12">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>

56
AMESCoreStudio.Web/Views/FQC/FQC002.cshtml

@ -9,6 +9,22 @@
<div class="layui-form-item ">
<div class="layui-inline"><i class="fa fa-file-text-o fa-fw"></i> @ViewBag.Title</div>
</div>
<div class="layui-form-item layui-layout-left">
<div class="layui-inline">
<label class="layui-form-label" style="width:120px;">抽驗項目類別</label>
<div class="layui-input-inline">
<select id="group" lay-filter="group" lay-verify="required" lay-submit asp-items="@ViewBag.QCGroupSelect">
<option value="0">全部</option>
</select>
</div>
<input id="groupID" type="hidden" name="groupID" value="0" />
</div>
<div class="layui-inline layui-show-xs-block">
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit lay-filter="querysubmit">
<i class="layui-icon layui-icon-sm">&#xe615;</i>
</button>
</div>
</div>
</div>
</div>
<div class="layui-card-body">
@ -18,19 +34,35 @@
@section Scripts{
<script type="text/javascript">
layui.use(['form', 'layer'], function () {
form = layui.form;
form.on('select(group)', function (data) {
$("#groupID").val(data.value);
var qs = $('button[lay-filter="querysubmit"]');
qs.click();
});
});
//监听表单提交事件
hg.form.onsubmit('querysubmit', function (data) {
table && table.reload(data);
});
var tableCols = [[
{
field: 'groupNameCN',
title: '檢驗類別中文',
field: 'groupName',
title: '抽驗項目類別',
sort: true
},
{
field: 'itemNameCN',
title: '項目中文',
sort: true
},
{
field: 'groupNameEN',
title: '檢驗類別英文',
field: 'itemNameEN',
title: '項目英文',
sort: true
},
{
@ -46,18 +78,18 @@
//通过行tool编辑,lay-event="edit"
function edit(obj) {
if (obj.data.groupID) {
hg.open('修改檢驗項目', '/FQC/FQC002U/' + obj.data.groupID, 400, 400);
if (obj.data.itemID) {
hg.open('修改檢驗項目', '/FQC/FQC002U/' + obj.data.itemID, 400, 400);
}
}
//通过行tool删除,lay-event="del"
function del(obj) {
if (obj.data.groupID) {
hg.confirm("檢驗類別:" + obj.data.groupNameCN + ",确定要删除吗?", function () {
if (obj.data.itemID) {
hg.confirm("檢驗項目:" + obj.data.itemNameCN + "【" + obj.data.itemNameEN + "】,確定要刪除嗎?", function () {
$.ajax({
url: '/FQC/FQC002D',
data: { id: obj.data.groupID },
data: { id: obj.data.itemID },
type: 'POST',
success: function (data) {
if (data.success) {
@ -69,7 +101,7 @@
}
},
error: function () {
hg.msg("网络请求失败!");
hg.msg("網路請求失敗!");
}
});
});
@ -80,12 +112,12 @@
layuiicon: '&#xe608;',
class: 'layui-btn-normal',
handler: function () {
hg.open('新增檢驗項目', '/FQC/FQC002C',400, 400);
hg.open('新增檢驗項目', '/FQC/FQC002C', 400, 400);
}
}
];
//基本数据表格
var table = hg.table.datatable('test', '檢驗類別維護', '/FQC/FQC001Query', {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
var table = hg.table.datatable('test', '檢驗項目維護', '/FQC/FQC002Query', {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
</script>
}

33
AMESCoreStudio.Web/Views/FQC/FQC002C.cshtml

@ -1,4 +1,4 @@
@model AMESCoreStudio.WebApi.Models.AMES.QcGroup
@model AMESCoreStudio.WebApi.Models.AMES.QcItem
@{ ViewData["Title"] = "FQC001C";
@ -13,31 +13,34 @@
<div class="layui-card">
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="FQC001" class="layui-form">
<form enctype="multipart/form-data" method="post" asp-action="FQC002" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameCN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗類別中文" />
<span asp-validation-for="GroupNameCN" class="layui-bg-red"></span>
</div>
<label class="layui-form-label">抽驗項目類別</label>
<div class="layui-input-block">
<select asp-for="GroupID" asp-items="@ViewBag.QCGroupSelect" class=""></select>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameEN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameEN" class="layui-input" placeholder="請輸入檢驗類別英文" />
</div>
<label asp-for="ItemNameCN" class="layui-form-label"></label>
<div class="layui-input-block">
<input asp-for="ItemNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗項目中文" />
<span asp-validation-for="ItemNameCN" class="layui-bg-red"></span>
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-form-item">
<label asp-for="ItemNameEN" class="layui-form-label"></label>
<div class="layui-input-block">
<input asp-for="ItemNameEN" class="layui-input" placeholder="請輸入檢驗項目英文" />
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-row" style="text-align:center">
<div class="layui-col-md12">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>

37
AMESCoreStudio.Web/Views/FQC/FQC002U.cshtml

@ -1,7 +1,7 @@
@model AMESCoreStudio.WebApi.Models.AMES.QcGroup
@model AMESCoreStudio.WebApi.Models.AMES.QcItem
@{ ViewData["Title"] = "FQC001U";
@{ ViewData["Title"] = "FQC002U";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<style>
@ -13,32 +13,35 @@
<div class="layui-card">
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="FQC001" class="layui-form">
<form enctype="multipart/form-data" method="post" asp-action="FQC002" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="GroupID" value="@Model.GroupID" />
<input type="hidden" asp-for="ItemID" value="@Model.ItemID" />
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameCN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗類別中文" />
<span asp-validation-for="GroupNameCN" class="layui-bg-red"></span>
</div>
<label class="layui-form-label">抽驗項目類別</label>
<div class="layui-input-block">
<select asp-for="GroupID" asp-items="@ViewBag.QCGroupSelect" class=""></select>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameEN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameEN" class="layui-input" placeholder="請輸入檢驗類別英文" />
</div>
<label asp-for="ItemNameCN" class="layui-form-label"></label>
<div class="layui-input-block">
<input asp-for="ItemNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗項目中文" />
<span asp-validation-for="ItemNameCN" class="layui-bg-red"></span>
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-form-item">
<label asp-for="ItemNameEN" class="layui-form-label"></label>
<div class="layui-input-block">
<input asp-for="ItemNameEN" class="layui-input" placeholder="請輸入檢驗項目英文" />
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-row" style="text-align:center">
<div class="layui-col-md12">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>

19
AMESCoreStudio.Web/Views/FQC/FQC003.cshtml

@ -24,18 +24,23 @@
});
var tableCols = [[
{
field: 'fqcNameCN',
title: '檢驗類別中文',
field: 'fqcNo',
title: '抽驗結果代碼',
sort: true
},
{
field: 'fqcNameCN',
title: '檢驗類別英文',
title: '抽驗結果中文',
sort: true
},
{
field: 'fqcNameEN',
title: '抽驗結果英文',
sort: true
},
{
field: 'statusNo',
title: '狀態',
title: '過站狀態',
sort: true
},
{
@ -59,7 +64,7 @@
//通过行tool删除,lay-event="del"
function del(obj) {
if (obj.data.fqcNo) {
hg.confirm("檢驗结果:" + obj.data.fqcNameCN + ",确定要删除吗?", function () {
hg.confirm("檢驗结果:" + obj.data.fqcNameCN + "【" + obj.data.fqcNameEN + "】,確定要刪除嗎?", function () {
$.ajax({
url: '/FQC/FQC003D',
data: { id: obj.data.fqcNo },
@ -74,7 +79,7 @@
}
},
error: function () {
hg.msg("网络请求失败!");
hg.msg("網路請求失敗!");
}
});
});
@ -91,6 +96,6 @@
}
];
//基本数据表格
var table = hg.table.datatable('test', '檢驗結果維護', '/FQC/FQC003Query', {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
var table = hg.table.datatable('test', '檢驗結果維護', '/FQC/FQC003Query', {}, tableCols, toolbar, false, 'full-100', ['filter', 'print', 'exports']);
</script>
}

27
AMESCoreStudio.Web/Views/FQC/FQC003C.cshtml

@ -17,36 +17,31 @@
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="FqcNameCN" class="layui-form-label" style="width:150px;text-align:center;"></label>
<div class="layui-input-inline">
<input asp-for="FqcNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗结果中文名" />
<span asp-validation-for="FqcNameCN" class="layui-bg-red"></span>
</div>
<label asp-for="FqcNameCN" class="layui-form-label" style="width:100px"></label>
<div class="layui-input-block">
<input asp-for="FqcNameCN" style="width:80%;" class="layui-input" autocomplete="off" placeholder="請輸入檢驗结果中文名" />
<span asp-validation-for="FqcNameCN" style="margin:20px" class="layui-bg-red"></span>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="FqcNameEN" class="layui-form-label" style="width:150px;text-align:center;"></label>
<div class="layui-input-inline">
<input asp-for="FqcNameEN" class="layui-input" placeholder="請輸入檢驗结果英文" />
<label asp-for="FqcNameEN" class="layui-form-label" style="width:100px"></label>
<div class="layui-input-block">
<input style="width:80%;" asp-for="FqcNameEN" class="layui-input" placeholder="請輸入檢驗结果英文" />
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="width:150px;text-align:center;">狀態</label>
<label class="layui-form-label" style="width: 100px;">狀態</label>
<div class="layui-input-block">
<input type="radio" asp-for="StatusNo" value="P" title="PASS" checked="">
<input type="radio" asp-for="StatusNo" value="N" title="FAIL">
<input type="radio" asp-for="StatusNo" value="F" title="FAIL">
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-form-item">
<div class="layui-input-block">
<div class="layui-row" style="text-align:center">
<div class="layui-col-md12">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>

38
AMESCoreStudio.Web/Views/FQC/FQC003U.cshtml

@ -1,7 +1,7 @@
@model AMESCoreStudio.WebApi.Models.AMES.QcGroup
@model AMESCoreStudio.WebApi.Models.AMES.FqcResult
@{ ViewData["Title"] = "FQC001U";
@{ ViewData["Title"] = "FQC003U";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<style>
@ -13,32 +13,36 @@
<div class="layui-card">
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="FQC001" class="layui-form">
<form enctype="multipart/form-data" method="post" asp-action="FQC003" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="GroupID" value="@Model.GroupID" />
<input type="hidden" asp-for="FqcNo" value="@Model.FqcNo" />
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameCN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗類別中文" />
<span asp-validation-for="GroupNameCN" class="layui-bg-red"></span>
</div>
<label asp-for="FqcNameCN" class="layui-form-label" style="width:100px"></label>
<div class="layui-input-block">
<input asp-for="FqcNameCN" style="width:80%;" class="layui-input" autocomplete="off" placeholder="請輸入檢驗结果中文名" />
<span asp-validation-for="FqcNameCN" style="margin:20px" class="layui-bg-red"></span>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameEN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameEN" class="layui-input" placeholder="請輸入檢驗類別英文" />
</div>
<label asp-for="FqcNameEN" class="layui-form-label" style="width:100px"></label>
<div class="layui-input-block">
<input style="width:80%;" asp-for="FqcNameEN" class="layui-input" placeholder="請輸入檢驗结果英文" />
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-form-item">
<label class="layui-form-label" style="width: 100px;">狀態</label>
<div class="layui-input-block">
<input type="radio" asp-for="StatusNo" value="P" title="PASS" checked="">
<input type="radio" asp-for="StatusNo" value="F" title="FAIL">
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-row" style="text-align:center">
<div class="layui-col-md12">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>

96
AMESCoreStudio.Web/Views/FQC/FQC004.cshtml

@ -0,0 +1,96 @@
@{
ViewData["Title"] = "抽驗係數維護";
Layout = "~/Views/Shared/_AMESLayout.cshtml";
}
<div class="layui-card">
<div class="layui-card-header">
<div class="layui-form">
<div class="layui-form-item ">
<div class="layui-inline"><i class="fa fa-file-text-o fa-fw"></i> @ViewBag.Title</div>
</div>
</div>
</div>
<div class="layui-card-body">
<table class="layui-hide" id="test" lay-filter="test"></table>
</div>
</div>
@section Scripts{
<script type="text/javascript">
//监听表单提交事件
hg.form.onsubmit('querysubmit', function (data) {
table && table.reload(data);
});
var tableCols = [[
{
field: 'quotName',
title: '係數名稱',
sort: true
},
{
field: 'aqlFlag',
title: '是否AQL標準',
sort: true
},
{
field: 'aqlType',
title: 'AQL類型',
sort: true
},
{
field: 'right',
width: 200,
title: '操作',
fixed: 'right',
templet: function (d) {
return '<a class="layui-btn layui-btn-normal layui-btn-xs layui-icon layui-icon-edit" lay-event="edit">修改</a> <a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" lay-event="del">删除</a>'
}
}]
];
//通过行tool编辑,lay-event="edit"
function edit(obj) {
if (obj.data.quotID) {
hg.open('修改抽驗係數', '/FQC/FQC004U/' + obj.data.quotID, 400, 400);
}
}
//通过行tool删除,lay-event="del"
function del(obj) {
if (obj.data.quotID) {
hg.confirm("係數名稱:" + obj.data.quotName + ",確定要刪除嗎?", function () {
$.ajax({
url: '/FQC/FQC004D',
data: { id: obj.data.quotID },
type: 'POST',
success: function (data) {
if (data.success) {
obj.del(); //只删本地数据
hg.msghide("删除成功!");
}
else {
hg.msg(data.msg);
}
},
error: function () {
hg.msg("網路請求失敗!");
}
});
});
}
}
var toolbar = [{
text: '新增',
layuiicon: '&#xe608;',
class: 'layui-btn-normal',
handler: function () {
hg.open('新增抽驗係數', '/FQC/FQC004C', 400, 400);
}
}
];
//基本数据表格
var table = hg.table.datatable('test', '抽驗係數維護', '/FQC/FQC004Query', {}, tableCols, toolbar, false, 'full-100', ['filter', 'print', 'exports']);
</script>
}

71
AMESCoreStudio.Web/Views/FQC/FQC004C.cshtml

@ -0,0 +1,71 @@
@model AMESCoreStudio.WebApi.Models.AMES.QcQuot
@{ ViewData["Title"] = "FQC004C";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<style>
.control-label {
justify-content: flex-end !important;
}
</style>
<div class="layui-card">
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="FQC004" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="layui-form-item">
<label asp-for="QuotName" class="layui-form-label"></label>
<div class="layui-input-block">
<input asp-for="QuotName" class="layui-input" autocomplete="off" placeholder="請輸入抽驗係數名稱" />
<span asp-validation-for="QuotName" class="layui-bg-red"></span>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label" asp-for="AqlFlag"></label>
<div class="layui-input-block">
<input type="radio" asp-for="AqlFlag" value="N" title="N" checked="">
<input type="radio" asp-for="AqlFlag" value="Y" title="Y">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label" asp-for="AqlType"></label>
<div class="layui-input-block">
<input type="radio" asp-for="AqlType" value="A" title="AAAA" checked="">
<input type="radio" asp-for="AqlType" value="S" title="SSSS">
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-row" style="text-align:center">
<div class="layui-col-md12">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>
</form>
</div>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
layui.use(['form'], function () {
form = layui.form;
});
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);
}
});
</script>
}

72
AMESCoreStudio.Web/Views/FQC/FQC004U.cshtml

@ -0,0 +1,72 @@
@model AMESCoreStudio.WebApi.Models.AMES.QcQuot
@{ ViewData["Title"] = "FQC004U";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<style>
.control-label {
justify-content: flex-end !important;
}
</style>
<div class="layui-card">
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="FQC004" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="QuotID" value="@Model.QuotID" />
<div class="layui-form-item">
<label asp-for="QuotName" class="layui-form-label"></label>
<div class="layui-input-block">
<input asp-for="QuotName" class="layui-input" autocomplete="off" placeholder="請輸入抽驗係數名稱" />
<span asp-validation-for="QuotName" class="layui-bg-red"></span>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label" asp-for="AqlFlag"></label>
<div class="layui-input-block">
<input type="radio" asp-for="AqlFlag" value="N" title="N" checked="">
<input type="radio" asp-for="AqlFlag" value="Y" title="Y">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label" asp-for="AqlType"></label>
<div class="layui-input-block">
<input type="radio" asp-for="AqlType" value="A" title="AAAA" checked="">
<input type="radio" asp-for="AqlType" value="S" title="SSSS">
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-row" style="text-align:center">
<div class="layui-col-md12">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>
</form>
</div>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
layui.use(['form'], function () {
form = layui.form;
});
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);
}
});
</script>
}

133
AMESCoreStudio.Web/Views/FQC/FQC005.cshtml

@ -0,0 +1,133 @@
@{
ViewData["Title"] = "抽驗標準維護";
Layout = "~/Views/Shared/_AMESLayout.cshtml";
}
<div class="layui-card">
<div class="layui-card-header">
<div class="layui-form">
<div class="layui-form-item ">
<div class="layui-inline"><i class="fa fa-file-text-o fa-fw"></i> @ViewBag.Title</div>
</div>
<div class="layui-form-item layui-layout-left">
<div class="layui-inline">
<label class="layui-form-label" style="width:120px;">抽驗係數名稱</label>
<div class="layui-input-inline">
<select id="quot" lay-filter="quot" lay-verify="required" lay-submit asp-items="@ViewBag.QcQuotSelect">
<option value="0">全部</option>
</select>
</div>
<input id="quotID" type="hidden" name="quotID" value="0" />
</div>
<div class="layui-inline layui-show-xs-block">
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit lay-filter="querysubmit">
<i class="layui-icon layui-icon-sm">&#xe615;</i>
</button>
</div>
</div>
</div>
</div>
<div class="layui-card-body">
<table class="layui-hide" id="test" lay-filter="test"></table>
</div>
</div>
@section Scripts{
<script type="text/javascript">
layui.use(['form', 'layer'], function () {
form = layui.form;
form.on('select(quot)', function (data) {
$("#quotID").val(data.value);
var qs = $('button[lay-filter="querysubmit"]');
qs.click();
});
});
//监听表单提交事件
hg.form.onsubmit('querysubmit', function (data) {
table && table.reload(data);
});
var tableCols = [[
{
field: 'critNo',
title: '抽樣代碼',
sort: true
},
{
field: 'itemNameCN',
title: '抽樣點數',
sort: true
},
{
field: 'qcQty',
title: '抽樣數量',
sort: true
},
{
field: 'acQty',
title: '允收數',
sort: true
},
{
field: 'reQty',
title: '拒收點數',
sort: true
},
{
field: 'right',
width: 200,
title: '操作',
fixed: 'right',
templet: function (d) {
return '<a class="layui-btn layui-btn-normal layui-btn-xs layui-icon layui-icon-edit" lay-event="edit">修改</a> <a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" lay-event="del">删除</a>'
}
}]
];
//通过行tool编辑,lay-event="edit"
function edit(obj) {
if (obj.data.critID) {
hg.open('修改抽驗標準', '/FQC/FQC005U/' + obj.data.critID, 400, 400);
}
}
//通过行tool删除,lay-event="del"
function del(obj) {
if (obj.data.critID) {
hg.confirm("抽樣代碼:" + obj.data.critNo + ",確定要刪除嗎?", function () {
$.ajax({
url: '/FQC/FQC005D',
data: { id: obj.data.critID },
type: 'POST',
success: function (data) {
if (data.success) {
obj.del(); //只删本地数据
hg.msghide("删除成功!");
}
else {
hg.msg(data.msg);
}
},
error: function () {
hg.msg("網路請求失敗!");
}
});
});
}
}
var toolbar = [{
text: '新增',
layuiicon: '&#xe608;',
class: 'layui-btn-normal',
handler: function () {
hg.open('新增抽驗標準', '/FQC/FQC005C', 400, 400);
}
}
];
//基本数据表格
var table = hg.table.datatable('test', '抽驗標準維護', '/FQC/FQC005Query', {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
</script>
}

69
AMESCoreStudio.Web/Views/FQC/FQC005C.cshtml

@ -0,0 +1,69 @@
@model AMESCoreStudio.WebApi.Models.AMES.QcItem
@{ ViewData["Title"] = "FQC001C";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<style>
.control-label {
justify-content: flex-end !important;
}
</style>
<div class="layui-card">
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="FQC002" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="layui-form-item">
<label class="layui-form-label">抽驗項目類別</label>
<div class="layui-input-block">
<select asp-for="GroupID" asp-items="@ViewBag.QCGroupSelect" class=""></select>
</div>
</div>
<div class="layui-form-item">
<label asp-for="ItemNameCN" class="layui-form-label"></label>
<div class="layui-input-block">
<input asp-for="ItemNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗項目中文" />
<span asp-validation-for="ItemNameCN" class="layui-bg-red"></span>
</div>
</div>
<div class="layui-form-item">
<label asp-for="ItemNameEN" class="layui-form-label"></label>
<div class="layui-input-block">
<input asp-for="ItemNameEN" class="layui-input" placeholder="請輸入檢驗項目英文" />
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-row" style="text-align:center">
<div class="layui-col-md12">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>
</form>
</div>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
layui.use(['form'], function () {
form = layui.form;
});
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);
}
});
</script>
}

70
AMESCoreStudio.Web/Views/FQC/FQC005U.cshtml

@ -0,0 +1,70 @@
@model AMESCoreStudio.WebApi.Models.AMES.QcItem
@{ ViewData["Title"] = "FQC002U";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<style>
.control-label {
justify-content: flex-end !important;
}
</style>
<div class="layui-card">
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="FQC002" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="ItemID" value="@Model.ItemID" />
<div class="layui-form-item">
<label class="layui-form-label">抽驗項目類別</label>
<div class="layui-input-block">
<select asp-for="GroupID" asp-items="@ViewBag.QCGroupSelect" class=""></select>
</div>
</div>
<div class="layui-form-item">
<label asp-for="ItemNameCN" class="layui-form-label"></label>
<div class="layui-input-block">
<input asp-for="ItemNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗項目中文" />
<span asp-validation-for="ItemNameCN" class="layui-bg-red"></span>
</div>
</div>
<div class="layui-form-item">
<label asp-for="ItemNameEN" class="layui-form-label"></label>
<div class="layui-input-block">
<input asp-for="ItemNameEN" class="layui-input" placeholder="請輸入檢驗項目英文" />
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-row" style="text-align:center">
<div class="layui-col-md12">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>
</form>
</div>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
layui.use(['form'], function () {
form = layui.form;
});
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);
}
});
</script>
}

121
AMESCoreStudio.WebApi/Controllers/AMES/FqcResultController.cs

@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using AMESCoreStudio.WebApi;
using AMESCoreStudio.WebApi.Models.AMES;
using AMESCoreStudio.CommonTools.Result;
namespace AMESCoreStudio.WebApi.Controllers.AMES
{
@ -45,78 +46,114 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return fqcResult;
}
// PUT: api/FqcResult/5
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
[HttpPut("{id}")]
public async Task<IActionResult> PutFqcResult(string id, FqcResult fqcResult)
/// <summary>
/// 查詢檢驗结果維護 by Table
/// </summary>
/// <param name="page">頁數</param>
/// <param name="limit">筆數</param>
/// <returns></returns>
[HttpGet("FqcResultQuery")]
public async Task<ResultModel<FqcResult>> GetFqcResultQuery(int page = 1, int limit = 10)
{
if (id != fqcResult.FqcNo)
IQueryable<FqcResult> q = _context.FqcResults;
ResultModel<FqcResult> result = new ResultModel<FqcResult>();
// 紀錄筆數
result.DataTotal = q.Count();
// Table 頁數
if (page > 0)
{
return BadRequest();
q = q.Skip((page - 1) * limit).Take(limit);
}
result.Data = await q.ToListAsync();
return result;
}
/// <summary>
/// 更新檢驗结果維護
/// </summary>
/// <param name="fqcResult"></param>
/// <returns></returns>
[HttpPut]
public async Task<ResultModel<FqcResult>> PutFqcResult(FqcResult fqcResult)
{
ResultModel<FqcResult> result = new ResultModel<FqcResult>();
_context.Entry(fqcResult).State = EntityState.Modified;
fqcResult.UpdateDate = DateTime.Now;
fqcResult.UpdateUserID = 0;
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (DbUpdateConcurrencyException)
catch (Exception ex)
{
if (!FqcResultExists(id))
{
return NotFound();
}
else
{
throw;
}
result.Success = false;
result.Msg = ex.Message;
}
return NoContent();
return result;
}
// POST: api/FqcResult
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
/// <summary>
/// 新增檢驗结果維護
/// </summary>
/// <param name="fqcResult"></param>
/// <returns></returns>
[HttpPost]
public async Task<ActionResult<FqcResult>> PostFqcResult(FqcResult fqcResult)
public async Task<ResultModel<FqcResult>> PostFqcResult(FqcResult fqcResult)
{
ResultModel<FqcResult> result = new ResultModel<FqcResult>();
fqcResult.FqcNo = "FQ" + fqcResult.StatusNo;
_context.FqcResults.Add(fqcResult);
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (DbUpdateException)
catch (Exception ex)
{
if (FqcResultExists(fqcResult.FqcNo))
{
return Conflict();
}
else
{
throw;
}
result.Success = false;
result.Msg = "已重複建立相同狀態的檢驗結果,請重新確認";
}
return CreatedAtAction("GetFqcResult", new { id = fqcResult.FqcNo }, fqcResult);
return result;
}
// DELETE: api/FqcResult/5
/// <summary>
/// 刪除檢驗结果維護
/// </summary>
/// <param name="id">FQC_NO</param>
/// <returns></returns>
[HttpDelete("{id}")]
public async Task<ActionResult<FqcResult>> DeleteFqcResult(string id)
public async Task<ResultModel<string>> DeleteFqcResult(string id)
{
ResultModel<string> result = new ResultModel<string>();
var fqcResult = await _context.FqcResults.FindAsync(id);
if (fqcResult == null)
try
{
return NotFound();
if (fqcResult == null)
{
result.Success = false;
result.Msg = "找不到要刪除資料";
}
else
{
_context.FqcResults.Remove(fqcResult);
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
}
_context.FqcResults.Remove(fqcResult);
await _context.SaveChangesAsync();
return fqcResult;
catch (Exception ex)
{
result.Success = false;
result.Msg = ex.Message;
}
return result;
}
private bool FqcResultExists(string id)

117
AMESCoreStudio.WebApi/Controllers/AMES/QcCriterionController.cs

@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using AMESCoreStudio.WebApi;
using AMESCoreStudio.WebApi.Models.AMES;
using AMESCoreStudio.CommonTools.Result;
namespace AMESCoreStudio.WebApi.Controllers.AMES
{
@ -45,64 +46,112 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return qcCriterion;
}
// PUT: api/QcCriterion/5
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
[HttpPut("{id}")]
public async Task<IActionResult> PutQcCriterion(int id, QcCriterion qcCriterion)
[HttpGet("QcCriterionQuery")]
public async Task<ResultModel<QcCriterion>> GetQcCriterionQuery(int quotID = 0,int page = 1, int limit = 10)
{
if (id != qcCriterion.CritID)
IQueryable<QcCriterion> q = _context.QcCriteria;
ResultModel<QcCriterion> result = new ResultModel<QcCriterion>();
if (quotID != 0)
q = q.Where(w => w.QuotID == quotID);
// 紀錄筆數
result.DataTotal = q.Count();
// Table 頁數
if (page > 0)
{
return BadRequest();
q = q.Skip((page - 1) * limit).Take(limit);
}
result.Data = await q.ToListAsync();
return result;
}
/// <summary>
/// 更新抽驗標準
/// </summary>
/// <param name="qcCriterion"></param>
/// <returns></returns>
[HttpPut]
public async Task<ResultModel<QcCriterion>> PutQcCriterion(QcCriterion qcCriterion)
{
ResultModel<QcCriterion> result = new ResultModel<QcCriterion>();
_context.Entry(qcCriterion).State = EntityState.Modified;
qcCriterion.UpdateDate = DateTime.Now;
qcCriterion.UpdateUserID = 0;
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (DbUpdateConcurrencyException)
catch (Exception ex)
{
if (!QcCriterionExists(id))
{
return NotFound();
}
else
{
throw;
}
result.Success = false;
result.Msg = ex.Message;
}
return NoContent();
return result;
}
// POST: api/QcCriterion
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
/// <summary>
/// 新增抽驗標準
/// </summary>
/// <param name="qcCriterion"></param>
/// <returns></returns>
[HttpPost]
public async Task<ActionResult<QcCriterion>> PostQcCriterion(QcCriterion qcCriterion)
public async Task<ResultModel<QcCriterion>> PostQcCriterion(QcCriterion qcCriterion)
{
ResultModel<QcCriterion> result = new ResultModel<QcCriterion>();
Helper helper = new Helper(_context);
qcCriterion.CritID = helper.GetIDKey("CRIT_ID").Result;
_context.QcCriteria.Add(qcCriterion);
await _context.SaveChangesAsync();
return CreatedAtAction("GetQcCriterion", new { id = qcCriterion.CritID }, qcCriterion);
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (Exception ex)
{
result.Success = false;
result.Msg = ex.Message;
}
return result;
}
// DELETE: api/QcCriterion/5
/// <summary>
/// 刪除抽驗標準
/// </summary>
/// <param name="id">CRIT_ID</param>
/// <returns></returns>
[HttpDelete("{id}")]
public async Task<ActionResult<QcCriterion>> DeleteQcCriterion(int id)
public async Task<ResultModel<string>> DeleteQcCriterion(int id)
{
ResultModel<string> result = new ResultModel<string>();
var qcCriterion = await _context.QcCriteria.FindAsync(id);
if (qcCriterion == null)
try
{
return NotFound();
if (qcCriterion == null)
{
result.Success = false;
result.Msg = "找不到要刪除資料";
}
else
{
_context.QcCriteria.Remove(qcCriterion);
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
}
_context.QcCriteria.Remove(qcCriterion);
await _context.SaveChangesAsync();
return qcCriterion;
catch (Exception ex)
{
result.Success = false;
result.Msg = ex.Message;
}
return result;
}
private bool QcCriterionExists(int id)

16
AMESCoreStudio.WebApi/Controllers/AMES/QcGroupController.cs

@ -131,10 +131,18 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
try
{
_context.QcGroups.Remove(qcGroup);
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
if (qcGroup == null)
{
result.Success = false;
result.Msg = "找不到要刪除資料";
}
else
{
_context.QcGroups.Remove(qcGroup);
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
}
catch (Exception ex)
{

137
AMESCoreStudio.WebApi/Controllers/AMES/QcItemController.cs

@ -7,6 +7,8 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using AMESCoreStudio.WebApi;
using AMESCoreStudio.WebApi.Models.AMES;
using AMESCoreStudio.WebApi.DTO.AMES;
using AMESCoreStudio.CommonTools.Result;
namespace AMESCoreStudio.WebApi.Controllers.AMES
{
@ -45,64 +47,131 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return qcItem;
}
// PUT: api/QcItem/5
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
[HttpPut("{id}")]
public async Task<IActionResult> PutQcItem(int id, QcItem qcItem)
/// <summary>
/// 查詢檢驗項目維護 by Table
/// </summary>
/// <param name="groupID">檢驗類別ID</param>
/// <param name="page">頁數</param>
/// <param name="limit">筆數</param>
/// <returns></returns>
[HttpGet("QcItemQuery")]
public async Task<ResultModel<QcItemDto>> GetQcItemQuery(int groupID = 0, int page = 1, int limit = 10)
{
if (id != qcItem.ItemID)
IQueryable<QcItem> q = _context.QcItems;
ResultModel<QcItemDto> result = new ResultModel<QcItemDto>();
if (groupID != 0)
q = q.Where(w => w.GroupID == groupID);
// 紀錄筆數
result.DataTotal = q.Count();
// Table 頁數
if (page > 0)
{
return BadRequest();
q = q.Skip((page - 1) * limit).Take(limit);
}
result.Data = await q.Select(s => new QcItemDto
{
ItemID = s.ItemID,
ItemNameCN = s.ItemNameCN,
ItemNameEN = s.ItemNameEN,
CreateUserID = s.CreateUserID,
CreateDate = s.CreateDate,
UpdateUserID = s.UpdateUserID,
UpdateDate = s.UpdateDate,
GroupName = s.GetQcGroup.GroupNameCN
}).ToListAsync();
return result;
}
/// <summary>
/// 更新檢驗項目維護
/// </summary>
/// <param name="qcItem"></param>
/// <returns></returns>
[HttpPut]
public async Task<ResultModel<QcItem>> PutQcItem(QcItem qcItem)
{
ResultModel<QcItem> result = new ResultModel<QcItem>();
_context.Entry(qcItem).State = EntityState.Modified;
qcItem.UpdateDate = DateTime.Now;
qcItem.UpdateUserID = 0;
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (DbUpdateConcurrencyException)
catch (Exception ex)
{
if (!QcItemExists(id))
{
return NotFound();
}
else
{
throw;
}
result.Success = false;
result.Msg = ex.Message;
}
return NoContent();
return result;
}
// POST: api/QcItem
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
/// <summary>
/// 新增檢驗項目維護
/// </summary>
/// <param name="qcItem"></param>
/// <returns></returns>
[HttpPost]
public async Task<ActionResult<QcItem>> PostQcItem(QcItem qcItem)
public async Task<ResultModel<QcItem>> PostQcItem(QcItem qcItem)
{
ResultModel<QcItem> result = new ResultModel<QcItem>();
Helper helper = new Helper(_context);
qcItem.ItemID = helper.GetIDKey("ITEM_ID").Result;
_context.QcItems.Add(qcItem);
await _context.SaveChangesAsync();
return CreatedAtAction("GetQcItem", new { id = qcItem.ItemID }, qcItem);
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (Exception ex)
{
result.Success = false;
result.Msg = ex.Message;
}
return result;
}
// DELETE: api/QcItem/5
/// <summary>
/// 刪除檢驗項目維護
/// </summary>
/// <param name="id">ITEM_ID</param>
/// <returns></returns>
[HttpDelete("{id}")]
public async Task<ActionResult<QcItem>> DeleteQcItem(int id)
public async Task<ResultModel<string>> DeleteQcItem(int id)
{
ResultModel<string> result = new ResultModel<string>();
var qcItem = await _context.QcItems.FindAsync(id);
if (qcItem == null)
try
{
return NotFound();
if (qcItem == null)
{
result.Success = false;
result.Msg = "找不到要刪除資料";
}
else
{
_context.QcItems.Remove(qcItem);
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
}
_context.QcItems.Remove(qcItem);
await _context.SaveChangesAsync();
return qcItem;
catch (Exception ex)
{
result.Success = false;
result.Msg = ex.Message;
}
return result;
}
private bool QcItemExists(int id)

120
AMESCoreStudio.WebApi/Controllers/AMES/QcQuotController.cs

@ -7,11 +7,12 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using AMESCoreStudio.WebApi;
using AMESCoreStudio.WebApi.Models.AMES;
using AMESCoreStudio.CommonTools.Result;
namespace AMESCoreStudio.WebApi.Controllers.AMES
{
/// <summary>
/// 抽驗係資料檔
/// 抽驗係資料檔
/// </summary>
[Route("api/[controller]")]
[ApiController]
@ -19,6 +20,10 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
{
private readonly AMESContext _context;
/// <summary>
///
/// </summary>
/// <param name="context"></param>
public QcQuotController(AMESContext context)
{
_context = context;
@ -45,64 +50,109 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return qcQuot;
}
// PUT: api/QcQuot/5
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
[HttpPut("{id}")]
public async Task<IActionResult> PutQcQuot(int id, QcQuot qcQuot)
[HttpGet("QcQuotQuery")]
public async Task<ResultModel<QcQuot>> GetQcQuotQuery(int page = 1, int limit = 10)
{
if (id != qcQuot.QuotID)
IQueryable<QcQuot> q = _context.QcQuots;
ResultModel<QcQuot> result = new ResultModel<QcQuot>();
// 紀錄筆數
result.DataTotal = q.Count();
// Table 頁數
if (page > 0)
{
return BadRequest();
q = q.Skip((page - 1) * limit).Take(limit);
}
result.Data = await q.ToListAsync();
return result;
}
/// <summary>
/// 更新抽驗係數
/// </summary>
/// <param name="qcQuot"></param>
/// <returns></returns>
[HttpPut]
public async Task<ResultModel<QcQuot>> PutQcQuot(QcQuot qcQuot)
{
ResultModel<QcQuot> result = new ResultModel<QcQuot>();
_context.Entry(qcQuot).State = EntityState.Modified;
qcQuot.UpdateDate = DateTime.Now;
qcQuot.UpdateUserID = 0;
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (DbUpdateConcurrencyException)
catch (Exception ex)
{
if (!QcQuotExists(id))
{
return NotFound();
}
else
{
throw;
}
result.Success = false;
result.Msg = ex.Message;
}
return NoContent();
return result;
}
// POST: api/QcQuot
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
/// <summary>
/// 新增抽驗係數
/// </summary>
/// <param name="qcQuot"></param>
/// <returns></returns>
[HttpPost]
public async Task<ActionResult<QcQuot>> PostQcQuot(QcQuot qcQuot)
public async Task<ResultModel<QcQuot>> PostQcQuot(QcQuot qcQuot)
{
ResultModel<QcQuot> result = new ResultModel<QcQuot>();
Helper helper = new Helper(_context);
qcQuot.QuotID = helper.GetIDKey("QUOT_ID").Result;
_context.QcQuots.Add(qcQuot);
await _context.SaveChangesAsync();
return CreatedAtAction("GetQcQuot", new { id = qcQuot.QuotID }, qcQuot);
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (Exception ex)
{
result.Success = false;
result.Msg = ex.Message;
}
return result;
}
// DELETE: api/QcQuot/5
/// <summary>
/// 刪除抽驗係數
/// </summary>
/// <param name="id">QuotID</param>
/// <returns></returns>
[HttpDelete("{id}")]
public async Task<ActionResult<QcQuot>> DeleteQcQuot(int id)
public async Task<ResultModel<string>> DeleteQcQuot(int id)
{
ResultModel<string> result = new ResultModel<string>();
var qcQuot = await _context.QcQuots.FindAsync(id);
if (qcQuot == null)
try
{
return NotFound();
if (qcQuot == null)
{
result.Success = false;
result.Msg = "找不到要刪除資料";
}
else
{
_context.QcQuots.Remove(qcQuot);
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
}
_context.QcQuots.Remove(qcQuot);
await _context.SaveChangesAsync();
return qcQuot;
catch (Exception ex)
{
result.Success = false;
result.Msg = ex.Message;
}
return result;
}
private bool QcQuotExists(int id)

0
AMESCoreStudio.WebApi/DTO/AMES/MaterialKpDtp.cs → AMESCoreStudio.WebApi/DTO/AMES/MaterialKpDto.cs

51
AMESCoreStudio.WebApi/DTO/AMES/QcItemDto.cs

@ -0,0 +1,51 @@
using System;
namespace AMESCoreStudio.WebApi.DTO.AMES
{
/// <summary>
/// 檢驗項目維護資料檔 DTO
/// </summary>
public partial class QcItemDto
{
/// <summary>
/// 檢驗項目ID
/// </summary>
public int ItemID { get; set; }
/// <summary>
/// 檢驗類別名稱
/// </summary>
public string GroupName { get; set; }
/// <summary>
/// 檢驗項目中文
/// </summary>
public string ItemNameCN { get; set; }
/// <summary>
/// 檢驗項目英文
/// </summary>
public string ItemNameEN { get; set; }
/// <summary>
/// 建立UserID
/// </summary>
public int CreateUserID { get; set; } = 0;
/// <summary>
/// 建立日期
/// </summary>
public DateTime CreateDate { get; set; } = DateTime.Now;
/// <summary>
/// 更新UserID
/// </summary>
public int UpdateUserID { get; set; } = 0;
/// <summary>
/// 更新日期
/// </summary>
public DateTime? UpdateDate { get; set; } = DateTime.Now;
}
}

10
AMESCoreStudio.WebApi/Models/AMES/QcItem.cs

@ -66,7 +66,7 @@ namespace AMESCoreStudio.WebApi.Models.AMES
[Required]
[Column("CREATE_DATE")]
[DataMember]
public DateTime CreateDate { get; set; } = System.DateTime.Now;
public DateTime CreateDate { get; set; } = DateTime.Now;
/// <summary>
/// 更新UserID
@ -80,6 +80,12 @@ namespace AMESCoreStudio.WebApi.Models.AMES
/// </summary>
[Column("UPDATE_DATE")]
[DataMember]
public DateTime? UpdateDate { get; set; } = System.DateTime.Now;
public DateTime? UpdateDate { get; set; } = DateTime.Now;
/// <summary>
/// 檢驗類別
/// </summary>
[ForeignKey("GroupID")]
public virtual QcGroup GetQcGroup { get; set; }
}
}

2
AMESCoreStudio.WebApi/Models/AMES/QcQuot.cs

@ -46,7 +46,7 @@ namespace AMESCoreStudio.WebApi.Models.AMES
/// <summary>
/// AQL類型
/// </summary>
[Display(Name = "是否AQL標準")]
[Display(Name = "AQL類型")]
[DataMember]
[Column("AQL_TYPE")]
[StringLength(1)]

Loading…
Cancel
Save