Browse Source

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

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

29
AMESCoreStudio.Web/Controllers/FQCController.cs

@ -1146,6 +1146,9 @@ namespace AMESCoreStudio.Web.Controllers
var result = await _fqcApi.GetFqcQuery(model.InhouseNo, model.SeqID); var result = await _fqcApi.GetFqcQuery(model.InhouseNo, model.SeqID);
var fqcItem = result.Data.FirstOrDefault(); var fqcItem = result.Data.FirstOrDefault();
// Fail數量 小於0 才要判斷抽樣數量
if (fqcItem.FailQty <= 0)
{
// 抽驗數量 大於 本批次送驗量 // 抽驗數量 大於 本批次送驗量
if (fqcItem.QcQty > fqcItem.InhouseQty) if (fqcItem.QcQty > fqcItem.InhouseQty)
{ {
@ -1161,6 +1164,7 @@ namespace AMESCoreStudio.Web.Controllers
var _msg = "抽樣數量不足,無法判定"; var _msg = "抽樣數量不足,無法判定";
return RedirectToAction("Refresh", "Home", new { msg = _msg }); return RedirectToAction("Refresh", "Home", new { msg = _msg });
} }
}
// 判斷狀態選擇 // 判斷狀態選擇
if (fqcItem.FailQty >= fqcItem.ReQty) if (fqcItem.FailQty >= fqcItem.ReQty)
@ -1168,6 +1172,29 @@ namespace AMESCoreStudio.Web.Controllers
else else
model.QaResult = "P"; 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); return View(model);
} }
@ -1274,7 +1301,7 @@ namespace AMESCoreStudio.Web.Controllers
string Body = $@"FQC單號:{inhouseNo} 料號:{Material} <br/> string Body = $@"FQC單號:{inhouseNo} 料號:{Material} <br/>
:{Result}"; :{Result}";
await _bllApi.PostToMail(Subject, Body, string.Join(',', MailGroup) , "", false, path); await _bllApi.PostToMail(Subject, Body, string.Join(',', MailGroup), "", false, path);
} }
} }
#endregion #endregion

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

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

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

@ -204,7 +204,7 @@
field: 'statusName', field: 'statusName',
title: '檢驗狀態', title: '檢驗狀態',
sort: true, sort: true,
templet:'#statusName' templet: '#statusName'
}, },
{ {
field: 'endTime', field: 'endTime',
@ -236,6 +236,11 @@
function edit(obj) { function edit(obj) {
if (obj.data.inhouseNo) { if (obj.data.inhouseNo) {
hg.open('FQC抽驗作業', '/FQC/FQC007?inhouseNo=' + obj.data.inhouseNo + '&seqID=' + obj.data.seqID, '', '', true); 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;
} }
} }

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

@ -162,8 +162,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
ResultModel<FqcInhouseMasterDto> result = new ResultModel<FqcInhouseMasterDto>(); ResultModel<FqcInhouseMasterDto> result = new ResultModel<FqcInhouseMasterDto>();
// Table 頁數 // Table 頁數
if (page > 0) if (page > 0)
{ {
@ -267,7 +265,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
{ {
var Detail = _context.FqcInhouseDetails.Where(w => w.InhouseNo == inhouseNo && w.SeqID == seqid); var Detail = _context.FqcInhouseDetails.Where(w => w.InhouseNo == inhouseNo && w.SeqID == seqid);
foreach (var item in Detail) 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().PassQty += FqcResultDetail.Where(w => w.StatusNo != "F").Count();
query.FirstOrDefault().FailQty += 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>(); ResultModel<FqcDto> result = new ResultModel<FqcDto>();

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

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

Loading…
Cancel
Save