Browse Source

1. 修正FQC腳本品質會議所提出修正地方 2022/11/16

2. 過站API加入出貨條碼判斷
PTD
Ray 2 years ago
parent
commit
a32fbaa3c2
  1. 47
      AMESCoreStudio.Web/Controllers/FQCController.cs
  2. 4
      AMESCoreStudio.Web/Views/FQC/FQC007B.cshtml
  3. 45
      AMESCoreStudio.Web/Views/FQC/FQC008.cshtml
  4. 20
      AMESCoreStudio.WebApi/Controllers/AMES/FqcInhouseMasterController.cs
  5. 9
      AMESCoreStudio.WebApi/Controllers/BLL/BarCodeCheckController.cs

47
AMESCoreStudio.Web/Controllers/FQCController.cs

@ -1146,21 +1146,25 @@ namespace AMESCoreStudio.Web.Controllers
var result = await _fqcApi.GetFqcQuery(model.InhouseNo, model.SeqID);
var fqcItem = result.Data.FirstOrDefault();
// 抽驗數量 大於 本批次送驗
if (fqcItem.QcQty > fqcItem.InhouseQty)
// Fail數量 小於0 才要判斷抽樣數
if (fqcItem.FailQty <= 0)
{
if (fqcItem.PassQty + fqcItem.FailQty != fqcItem.InhouseQty)
// 抽驗數量 大於 本批次送驗量
if (fqcItem.QcQty > fqcItem.InhouseQty)
{
if (fqcItem.PassQty + fqcItem.FailQty != fqcItem.InhouseQty)
{
var _msg = "抽樣數量不足,無法判定";
return RedirectToAction("Refresh", "Home", new { msg = _msg });
}
}
//當抽驗數量 小於 抽樣數量就離開
else if (fqcItem.QcQty > fqcItem.PassQty + fqcItem.FailQty)
{
var _msg = "抽樣數量不足,無法判定";
return RedirectToAction("Refresh", "Home", new { msg = _msg });
}
}
//當抽驗數量 小於 抽樣數量就離開
else if (fqcItem.QcQty > fqcItem.PassQty + fqcItem.FailQty)
{
var _msg = "抽樣數量不足,無法判定";
return RedirectToAction("Refresh", "Home", new { msg = _msg });
}
// 判斷狀態選擇
if (fqcItem.FailQty >= fqcItem.ReQty)
@ -1168,6 +1172,29 @@ namespace AMESCoreStudio.Web.Controllers
else
model.QaResult = "P";
// 抓取判定Major & Minor
// 抓全部檢驗工項
var result_QcItem = await _fqcApi.GetQcItemQuery(0, 0, 0);
// 取綁定工單檢驗工項資料
var result_WipFQC = await _fqcApi.GetWipFqcItemByWipNo(fqcItem.WipNo);
var qcItemDtos = new List<QcItemDto>();
if (result_WipFQC.Count == 0)
{
//工單無設定檢驗工項時 在抓料號綁定檢驗工項
var result_MaterialFQC = await _fqcApi.GetMaterialFqcItemsByitemNo(fqcItem.ItemNo);
if (result_MaterialFQC.Count != 0)
{
qcItemDtos = result_QcItem.Data.Where(w => result_MaterialFQC.Select(s => s.QcItemID).Contains(w.ItemID)).ToList();
}
}
else
{
qcItemDtos = result_QcItem.Data.Where(w => result_WipFQC.Select(s => s.QcItemID).Contains(w.ItemID)).ToList();
}
model.MajorQty = qcItemDtos.Where(w => w.ItemType == "A").Count();
model.MinorQty = qcItemDtos.Where(w => w.ItemType == "B").Count();
return View(model);
}
@ -1274,7 +1301,7 @@ namespace AMESCoreStudio.Web.Controllers
string Body = $@"FQC單號:{inhouseNo} 料號:{Material} <br/>
:{Result}";
await _bllApi.PostToMail(Subject, Body, string.Join(',', MailGroup) , "", false, path);
await _bllApi.PostToMail(Subject, Body, string.Join(',', MailGroup), "", false, path);
}
}
#endregion

4
AMESCoreStudio.Web/Views/FQC/FQC007B.cshtml

@ -70,7 +70,7 @@
</div>
<div class="layui-col-xs2" style="text-align:left">
<div class="layui-form-item">
<input asp-for="MajorQty" class="layui-input">
<input asp-for="MajorQty" class="layui-input" readonly>
</div>
</div>
<div class="layui-col-xs2" style="text-align:right">
@ -80,7 +80,7 @@
</div>
<div class="layui-col-xs2" style="text-align:left">
<div class="layui-form-item">
<input asp-for="MinorQty" class="layui-input">
<input asp-for="MinorQty" class="layui-input" readonly>
</div>
</div>
</div>

45
AMESCoreStudio.Web/Views/FQC/FQC008.cshtml

@ -7,27 +7,27 @@
/*.layui-table-main .layui-table-cell {*/
/*height: auto !important;*/
/*white-space: normal;
}
}
.layui-table img {
max-width: 60px;
max-height: 28px;
}
.layui-table img {
max-width: 60px;
max-height: 28px;
}
.layui-tree-main {
cursor: pointer;
padding-right: 10px;
float: left;
border-width: 1px;
border-style: solid;
border-color: #e6e6e6;
margin: 10px 0;
}
.layui-tree-main {
cursor: pointer;
padding-right: 10px;
float: left;
border-width: 1px;
border-style: solid;
border-color: #e6e6e6;
margin: 10px 0;
}
.layui-table-cell {
height: auto;
white-space: normal;
}*/
.layui-table-cell {
height: auto;
white-space: normal;
}*/
</style>
@ -204,7 +204,7 @@
field: 'statusName',
title: '檢驗狀態',
sort: true,
templet:'#statusName'
templet: '#statusName'
},
{
field: 'endTime',
@ -236,6 +236,11 @@
function edit(obj) {
if (obj.data.inhouseNo) {
hg.open('FQC抽驗作業', '/FQC/FQC007?inhouseNo=' + obj.data.inhouseNo + '&seqID=' + obj.data.seqID, '', '', true);
var tempwindow = window.open('_blank'); // 先打開頁面
tempwindow.location = 'https://sms.avalue.com.tw/SMS/SUP/SFIS_SMS001.aspx?MODEL_NO=' + obj.data.modelNo;
var tempwindow1 = window.open('_blank'); // 先打開頁面
tempwindow1.location = 'http://qazone.avalue.com.tw/qazone/sfislinktocfqr.aspx?QF=2&QA_PRDID=' + obj.data.itemNo;
}
}
@ -256,7 +261,7 @@
//基本数据表格
var table = hg.table.datatable('query', 'FQC查詢', '/FQC/FQC008Query', {}, tableCols, '', true, 'full-100', ['filter', 'print', 'exports']);
// var table = hg.table.datatable('test', '條碼狀態維護', '/PCS/GetWipInfo', {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
// var table = hg.table.datatable('test', '條碼狀態維護', '/PCS/GetWipInfo', {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
</script>
<script type="text/html" id="statusName">

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

@ -162,8 +162,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
ResultModel<FqcInhouseMasterDto> result = new ResultModel<FqcInhouseMasterDto>();
// Table 頁數
if (page > 0)
{
@ -267,7 +265,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
{
var Detail = _context.FqcInhouseDetails.Where(w => w.InhouseNo == inhouseNo && w.SeqID == seqid);
foreach (var item in Detail)
{
// 取抽驗結果明細檔資料
@ -286,6 +283,23 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
query.FirstOrDefault().PassQty += FqcResultDetail.Where(w => w.StatusNo != "F").Count();
query.FirstOrDefault().FailQty += FqcResultDetail.Where(w => w.StatusNo == "F").Count();
}
// 特殊判斷
// 檢查儀器編號 空白時預設帶N/A
query = query.Select(s => { s.OutfitNo = String.IsNullOrEmpty(s.OutfitNo) ? "N/A" : s.OutfitNo ;
return s; }).ToList();
// Proved 空白時 抓開立入庫單人員
foreach(var item in query.Where(w => string.IsNullOrWhiteSpace(w.Proved)))
{
var ByQuery = await _context.FqcInhouseMasters.Where(w => w.InhouseNo == item.InhouseNo && w.SeqID == item.SeqID).FirstOrDefaultAsync();
var UserInfo = await _context.UserInfoes.Where(w => w.UserID == ByQuery.CreateUserID).FirstOrDefaultAsync();
if (UserInfo != null)
{
item.Proved = UserInfo.UserNo;
item.Proved_Name = UserInfo.UserName;
}
}
}
ResultModel<FqcDto> result = new ResultModel<FqcDto>();

9
AMESCoreStudio.WebApi/Controllers/BLL/BarCodeCheckController.cs

@ -44,7 +44,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
try
{
// KP||NG Input
if (barCodeCheckDto.inputItems == null)
barCodeCheckDto.inputItems = new List<BarCodeCheckDto.inputItem>();
@ -122,9 +121,15 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return resultModel;
}
}
#endregion
#region 判斷序號為出貨條碼,並轉成內部條碼
var ByExtraNo = await barcodeInfoesController.GetBarcodeInfoesByExtraNo(barCodeCheckDto.barcode);
if (ByExtraNo.Value.Count() != 0)
{
barCodeCheckDto.barcode = ByExtraNo.Value.FirstOrDefault().BarcodeNo;
}
#endregion
// 抓流程ID
var q_wipinfo = await wipInfosController.GetWipInfoByWipNo(barCodeCheckDto.wipNo);

Loading…
Cancel
Save