Browse Source

1. FQC007

PTD
Ray 3 years ago
parent
commit
6f6febf3d8
  1. 79
      AMESCoreStudio.Web/Controllers/FQCController.cs
  2. 16
      AMESCoreStudio.Web/HttpApis/AMES/IFQC.cs
  3. 55
      AMESCoreStudio.Web/Views/FQC/FQC007.cshtml
  4. 10
      AMESCoreStudio.Web/Views/FQC/FQC007C.cshtml
  5. 2
      AMESCoreStudio.WebApi/Controllers/AMES/FqcInhouseMasterController.cs
  6. 3
      AMESCoreStudio.WebApi/Models/AMES/FqcResultDetail.cs

79
AMESCoreStudio.Web/Controllers/FQCController.cs

@ -80,6 +80,45 @@ namespace AMESCoreStudio.Web.Controllers
ViewBag.QcQuotSelect = QcQuotList; ViewBag.QcQuotSelect = QcQuotList;
} }
/// <summary>
/// FQC狀態維護 Select
/// </summary>
/// <returns></returns>
private async Task GetStatusTypeSelect()
{
var result = await _fqcApi.GetStatusType();
var StatusTypetList = new List<SelectListItem>();
result = result.OrderByDescending(o => o.StatusNo).ToList();
for (int i = 0; i < result.Count; i++)
{
StatusTypetList.Add(new SelectListItem(result[i].StatusName, result[i].StatusNo.ToString()));
}
if (StatusTypetList.Count == 0)
{
StatusTypetList.Add(new SelectListItem("N/A", null));
}
ViewBag.StatusTypeSelect = StatusTypetList;
}
/// <summary>
/// 不良狀態 Select
/// </summary>
/// <returns></returns>
private async Task GetNGReasonSelect()
{
var result = await _fqcApi.GetNGReasons();
var NGReasonList = new List<SelectListItem>();
for (int i = 0; i < result.Count; i++)
{
NGReasonList.Add(new SelectListItem(result[i].NGReasonDesc, result[i].NGReasonNo.ToString()));
}
ViewBag.NGReasonSelect = NGReasonList;
}
#endregion #endregion
#region FQC001 檢驗類別維護 #region FQC001 檢驗類別維護
@ -593,8 +632,46 @@ namespace AMESCoreStudio.Web.Controllers
return View("FQC007", model); return View("FQC007", model);
} }
public async Task<IActionResult> FQC007C() [HttpGet]
public async Task<IActionResult> FQC007C(string inhouseNo, int seq)
{
await GetStatusTypeSelect();
await GetNGReasonSelect();
return View();
}
[HttpPost]
public async Task<IActionResult> FQC007CAsync(FqcResultDetail model)
{ {
await GetStatusTypeSelect();
await GetNGReasonSelect();
if (string.IsNullOrWhiteSpace(model.BarcodeNo) &&
string.IsNullOrWhiteSpace(model.BoxNo) &&
string.IsNullOrWhiteSpace(model.ExtraBarcodeNo))
{
ModelState.AddModelError("error", "請輸入要抽驗的相關序號");
return View("FQC007C", model);
}
if (ModelState.IsValid)
{
IResultModel result;
result = await _fqcApi.PostStatusType(JsonConvert.SerializeObject(model));
if (result.Success)
{
var _msg = "新增成功!";
return RedirectToAction("Refresh", "Home", new { msg = _msg });
}
else
{
ModelState.AddModelError("error", result.Msg);
}
}
return View("FQC006C", model);
return View(); return View();
} }
#endregion #endregion

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

@ -254,7 +254,7 @@ namespace AMESCoreStudio.Web
ITask<ResultModel<string>> DeleteStatusType(string id); ITask<ResultModel<string>> DeleteStatusType(string id);
/// <summary> /// <summary>
/// 查詢過站狀態檔 /// 查詢過站狀態檔 Query
/// </summary> /// </summary>
/// <param name="page">頁數</param> /// <param name="page">頁數</param>
/// <param name="limit"></param> /// <param name="limit"></param>
@ -268,6 +268,20 @@ namespace AMESCoreStudio.Web
/// <returns></returns> /// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/StatusType/{id}")] [WebApiClient.Attributes.HttpGet("api/StatusType/{id}")]
ITask<StatusType> GetStatusType(string id); ITask<StatusType> GetStatusType(string id);
/// <summary>
/// 過站狀態檔-List
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/StatusType")]
ITask<List<StatusType>> GetStatusType();
/// <summary>
/// 不良現象-List
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/NGReasons")]
ITask<List<NGReason>> GetNGReasons();
#endregion #endregion
#region FQC007 FQC抽驗作業 #region FQC007 FQC抽驗作業

55
AMESCoreStudio.Web/Views/FQC/FQC007.cshtml

@ -213,7 +213,58 @@
<a class="layui-btn layui-btn-primary layui-border-blue layui-icon layui-icon-edit" onclick="result()">結果判定</a> <a class="layui-btn layui-btn-primary layui-border-blue layui-icon layui-icon-edit" onclick="result()">結果判定</a>
</div> </div>
</div> </div>
<table class="layui-hide" id="test" lay-filter="test"></table> @*<table class="layui-hide" id="test" lay-filter="test"></table>*@
<table id="MydataTable" class="layui-table">
@{ int i = 0;}
<thead>
<tr>
<th>
箱號
</th>
<th>
總數量
</th>
<th>
已抽數量
</th>
<th>
抽驗PASS數量
</th>
<th>
抽驗FAIL數量
</th>
<th>
檢視
</th>
</tr>
</thead>
<tbody>
@foreach (var index in Model.fqcDetails)
{
<tr>
<td>
@index.SerialNo
</td>
<td>
@index.Qty
</td>
<td>
@index.HasQty
</td>
<td>
@index.PassQty
</td>
<td>
@index.FailQty
</td>
<td>
</td>
</tr>
i++;
}
</tbody>
</table>
</div> </div>
</form> </form>
</div> </div>
@ -228,7 +279,7 @@
}); });
function edit() { function edit() {
hg.open('抽驗', '/FQC/FQC007C/', 600, 600); hg.open('抽驗', '/FQC/FQC007C?inhouseNo=@Model.InhouseNo"&seq="@Model.SeqID', 600, 600);
}; };

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

@ -13,7 +13,7 @@
<div class="layui-card"> <div class="layui-card">
<div class="row"> <div class="row">
<div class="col-sm-12"> <div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="FQC006C" class="layui-form"> <form enctype="multipart/form-data" method="post" asp-action="FQC007C" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div> <div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="layui-form-item"> <div class="layui-form-item">
@ -43,15 +43,17 @@
<div class="layui-form-item"> <div class="layui-form-item">
<label asp-for="StatusNo" class="layui-form-label"></label> <label asp-for="StatusNo" class="layui-form-label"></label>
<div class="layui-input-block"> <div class="layui-input-block">
<input asp-for="BoxNo" class="layui-input" /> <select asp-for="StatusNo" lay-submit asp-items="@ViewBag.StatusTypeSelect">
<span asp-validation-for="BoxNo" class="layui-bg-red"></span> </select>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label asp-for="NgReasonNo" class="layui-form-label"></label> <label asp-for="NgReasonNo" class="layui-form-label"></label>
<div class="layui-input-block"> <div class="layui-input-block">
<input asp-for="BoxNo" class="layui-input" /> <select asp-for="NgReasonNo" lay-submit asp-items="@ViewBag.NGReasonSelect">
<option value="0">N/A</option>
</select>
</div> </div>
</div> </div>

2
AMESCoreStudio.WebApi/Controllers/AMES/FqcInhouseMasterController.cs

@ -187,7 +187,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
result.Data = query; result.Data = query;
foreach (var item in result.Data) foreach (var item in result.Data)
{ {
item.fqcDetails = FqcDetail; item.fqcDetails = FqcDetail.OrderBy(o => o.SerialNo).ToList();
} }
return result; return result;
} }

3
AMESCoreStudio.WebApi/Models/AMES/FqcResultDetail.cs

@ -68,14 +68,13 @@ namespace AMESCoreStudio.WebApi.Models.AMES
[Required(ErrorMessage = "{0},不能空白")] [Required(ErrorMessage = "{0},不能空白")]
[Column("STATUS_NO")] [Column("STATUS_NO")]
[StringLength(2)] [StringLength(2)]
public string StatusNo { get; set; } public string StatusNo { get; set; } = "P";
/// <summary> /// <summary>
/// 不良代碼 /// 不良代碼
/// </summary> /// </summary>
[DataMember] [DataMember]
[Display(Name = "不良代碼")] [Display(Name = "不良代碼")]
[Required(ErrorMessage = "{0},不能空白")]
[Column("NG_REASON_NO")] [Column("NG_REASON_NO")]
[StringLength(6)] [StringLength(6)]
public string NgReasonNo { get; set; } public string NgReasonNo { get; set; }

Loading…
Cancel
Save