Browse Source

1. FQC007 可顯示人員No及名子

2. FQC查詢連結
PTD
ray 3 years ago
parent
commit
b28efb19ba
  1. 45
      AMESCoreStudio.Web/Controllers/FQCController.cs
  2. 26
      AMESCoreStudio.Web/Views/FQC/FQC007.cshtml
  3. 4
      AMESCoreStudio.Web/Views/FQC/FQC008.cshtml
  4. 21
      AMESCoreStudio.WebApi/Controllers/AMES/FqcInhouseMasterController.cs

45
AMESCoreStudio.Web/Controllers/FQCController.cs

@ -651,9 +651,45 @@ namespace AMESCoreStudio.Web.Controllers
#endregion
#region FQC007 FQC抽驗作業
public IActionResult FQC007()
public async Task<IActionResult> FQC007(string inhouseNo = null, int seqID = 0)
{
var model = new FqcDto();
if (!string.IsNullOrWhiteSpace(inhouseNo) && seqID != 0)
{
IResultModel<FqcDto> result;
result = await _fqcApi.GetFqcQuery(inhouseNo, seqID);
if (result.Data.Count() != 0)
{
model = result.Data.FirstOrDefault();
model.h_InhouseNo = model.InhouseNo;
model.h_SeqID = model.SeqID.ToString();
// 抓全部檢驗工項
var result_QcItem = await _fqcApi.GetQcItemQuery(0, 0, 0);
// 取綁定工單檢驗工項資料
var result_WipFQC = await _fqcApi.GetWipFqcItemByWipNo(model.WipNo);
if (result_WipFQC.Count == 0)
{
//工單無設定檢驗工項時 在抓料號綁定檢驗工項
var result_MaterialFQC = await _fqcApi.GetMaterialFqcItemsByitemNo(model.ItemNo);
if (result_MaterialFQC.Count != 0)
{
model.qcItemDtos = result_QcItem.Data.Where(w => result_MaterialFQC.Select(s => s.QcItemID).Contains(w.ItemID)).ToList();
}
}
else
{
model.qcItemDtos = result_QcItem.Data.Where(w => result_WipFQC.Select(s => s.QcItemID).Contains(w.ItemID)).ToList();
}
}
else
{
ModelState.AddModelError("error", "找不到入庫單號【" + model.InhouseNo + "】的資料");
model.h_InhouseNo = "";
model.h_SeqID = "";
}
}
return View(model);
}
@ -684,6 +720,7 @@ namespace AMESCoreStudio.Web.Controllers
result_FQCResultMaster.Proved = model.Proved;
result_FQCResultMaster.OutfitNo = model.OutfitNo;
await _fqcApi.PutFqcResultMaster(JsonConvert.SerializeObject(result_FQCResultMaster));
ModelState.AddModelError("error", "儲存成功!");
}
}
@ -720,7 +757,7 @@ namespace AMESCoreStudio.Web.Controllers
return View("FQC007", model);
return View(model);
}
#region 抽驗
@ -850,7 +887,11 @@ namespace AMESCoreStudio.Web.Controllers
if (model.StatusNo == "F")
FqcResultMaster.FailQty += 1;
else
{
FqcResultMaster.PassQty += 1;
FqcResultDetail.NgReasonNo = "";
FqcResultDetail.NgMemo = "";
}
#endregion
IResultModel<FqcResultMaster> result;

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

@ -87,8 +87,8 @@
<label class="layui-form-label-col" style="text-align:right;">客戶類別:</label>
</div>
<div class="layui-col-xs2">
<input @(Model.CustomerMedical == "Y" ? "checked" : "") type="checkbox" title="醫療" disabled />
<input @(Model.CustomerVIP == "Y" ? "checked" : "") type="checkbox" title="VIP" disabled />
<input @(Model.CustomerMedical == "Y" ? "checked" : "") id="CustomerMedical" type="checkbox" title="醫療" />
<input @(Model.CustomerVIP == "Y" ? "checked" : "") id="CustomerVIP" type="checkbox" title="VIP" />
</div>
<div class="layui-col-xs1">
<label class="layui-form-label-col" style="text-align:right;">客戶名稱:</label>
@ -199,33 +199,33 @@
<label class="layui-form-label-col" style="text-align:right;">單位主管:</label>
</div>
<div class="layui-col-xs2">
<div class="layui-input-inline" style="width:100px;">
<div class="layui-input-inline" style="width:80px;">
<input class="layui-input" type="text" asp-for="Supervisor" onchange="getUserName(this);" />
</div>
<div class="layui-input-inline">
<label class="layui-form-label" style="text-align: left; width: 150px;">@Model.Supervisor_Name</label>
<label class="layui-form-label" id="Supervisor_Name" style="text-align: left;">@Model.Supervisor_Name</label>
</div>
</div>
<div class="layui-col-xs1">
<label class="layui-form-label-col" style="text-align:right;">檢驗者:</label>
</div>
<div class="layui-col-xs2">
<div class="layui-input-inline" style="width:100px;">
<div class="layui-input-inline" style="width:80px;">
<input class="layui-input" type="text" asp-for="UpdateUser" onchange="getUserName(this);" />
</div>
<div class="layui-input-inline">
<label class="layui-form-label" style="text-align: left; width: 150px;">@Model.UpdateUser_Name</label>
<label class="layui-form-label" id="UpdateUser_Name" style="text-align: left;">@Model.UpdateUser_Name</label>
</div>
</div>
<div class="layui-col-xs1">
<label class="layui-form-label-col" style="text-align:right;">Proved By:</label>
</div>
<div class="layui-col-xs2">
<div class="layui-input-inline" style="width:100px;">
<input class="layui-input" type="text" asp-for="Proved" onchange="getUserName(this);" />
<div class="layui-input-inline" style="width:80px;">
<input class="layui-input" asp-for="Proved" onchange="getUserName(this);" />
</div>
<div class="layui-input-inline">
<label class="layui-form-label" style="text-align: left; width: 150px;">@Model.Proved_Name</label>
<label class="layui-form-label" id="Proved_Name" style="text-align: left;" >@Model.Proved_Name</label>
</div>
</div>
</div>
@ -272,7 +272,7 @@
<div class="layui-col-xs10">
<div class="layui-form-item">
<div class="layui-input-block" style="margin-left:auto;">
<label class="layui-form-label" style="text-align: left; width: 150px;">@Model.QaMeno</label>
<label class="layui-form-label" style="text-align: left;">@Model.QaMeno</label>
</div>
</div>
</div>
@ -428,7 +428,7 @@
type: 'post',
success: function (result)
{
$(val).closest('div.layui-inline').find('input[id*=' + val.id + '_Name]').val(result.data);
$(val).closest('div.layui-col-xs2').find('label[id*=' + val.id + '_Name]').text(result.data);
},
error: function (result)
{
@ -471,7 +471,7 @@
// 文件上傳
function upload() {
if (@Model.FqcID == 0) {parent.hg.msg('請搜尋入庫單號!');
if (@Model.FqcID == 0) {parent.hg.msg('請先抽驗一筆紀錄!');
return;
};
@ -512,6 +512,8 @@
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
$("#CustomerMedical").attr("disabled", "disabled");
$("#CustomerVIP").attr("disabled", "disabled");
if ($(error).text() != '') {
parent.hg.msg(error);
};

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

@ -209,8 +209,8 @@
]];
//通过行tool编辑,lay-event="edit"
function edit(obj) {
if (obj.data.wipID) {
hg.open('修改工單資料', '/PCS/PCS003/' + obj.data.wipID, '', '', true);
if (obj.data.inhouseNo) {
hg.open('FQC抽驗作業', '/FQC/FQC007?inhouseNo=' + obj.data.inhouseNo + '&seqID=' + obj.data.seqID, '', '', true);
}
}

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

@ -97,7 +97,8 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
{
var q = from q1 in _context.FqcInhouseMasters
//join q2 in _context.FqcInhouseDetails on new { q1.InhouseNo, q1.SeqID } equals new { q2.InhouseNo, q2.SeqID }
join q3 in _context.FqcResultMasters on q1.InhouseNo equals q3.InhouseNo
join q3 in _context.FqcResultMasters on q1.InhouseNo equals q3.InhouseNo into j1
from q3 in j1.DefaultIfEmpty()
join q4 in _context.WipInfos on q1.WipNo equals q4.WipNO into s
from q4 in s.DefaultIfEmpty()
select new FqcInhouseMasterDto
@ -153,8 +154,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
ResultModel<FqcInhouseMasterDto> result = new ResultModel<FqcInhouseMasterDto>();
// 紀錄筆數
result.DataTotal = q.Count();
// Table 頁數
if (page > 0)
@ -171,6 +171,9 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
result.Data = result.Data.Select(s => { s.StatusName = s.StatusName == "P" ? "允收" : s.StatusName == "R" ? "批退" : "未驗收完成"; return s; })
.ToList();
// 紀錄筆數
result.DataTotal = q.Count();
return result;
}
@ -190,6 +193,12 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
join q3 in _context.QcCriteria on q1.CritID equals q3.CritID
join q4 in _context.WipInfos on q1.WipNo equals q4.WipNO
join q5 in _context.FactoryInfos on q4.Werks equals q5.FactoryID.ToString()
join q6 in _context.UserInfoes on q2.Supervisor equals q6.UserNo into cp6
from q6 in cp6.DefaultIfEmpty()
join q7 in _context.UserInfoes on q2.Proved equals q7.UserNo into cp7
from q7 in cp7.DefaultIfEmpty()
join q8 in _context.UserInfoes on q2.UpdateUserID equals q8.UserID into cp8
from q8 in cp8.DefaultIfEmpty()
select new FqcDto
{
InhouseNo = q1.InhouseNo,
@ -216,7 +225,11 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
RAM = q2.RAM,
OutfitNo = q2.OutfitNo,
Supervisor = q2.Supervisor,
Proved = q2.Proved
Supervisor_Name = q6.UserName,
Proved = q2.Proved,
Proved_Name = q7.UserName,
UpdateUser = q8.UserNo,
UpdateUser_Name =q8.UserName
};
var query = await q.Distinct().ToListAsync();

Loading…
Cancel
Save