Browse Source

1. FQC查詢加入委外廠商

2. FQC抽驗修正視窗問題
PTD
Ray 3 years ago
parent
commit
719e69493b
  1. 34
      AMESCoreStudio.Web/Controllers/FQCController.cs
  2. 3
      AMESCoreStudio.Web/HttpApis/AMES/IFQC.cs
  3. 6
      AMESCoreStudio.Web/Views/FQC/FQC007.cshtml
  4. 2
      AMESCoreStudio.Web/Views/FQC/FQC007A.cshtml
  5. 8
      AMESCoreStudio.Web/Views/FQC/FQC007C.cshtml
  6. 55
      AMESCoreStudio.Web/Views/FQC/FQC008.cshtml
  7. 13
      AMESCoreStudio.WebApi/Controllers/AMES/FqcInhouseMasterController.cs
  8. 8
      AMESCoreStudio.WebApi/DTO/AMES/FqcInhouseMasterDto.cs

34
AMESCoreStudio.Web/Controllers/FQCController.cs

@ -30,11 +30,13 @@ namespace AMESCoreStudio.Web.Controllers
private readonly ILogger<PCSController> _logger;
public readonly IFQC _fqcApi;
private readonly IWebHostEnvironment _env;
public FQCController(ILogger<PCSController> logger, IFQC fqcApi, IWebHostEnvironment env)
public readonly IPCS _pcsApi;
public FQCController(ILogger<PCSController> logger, IFQC fqcApi, IWebHostEnvironment env , IPCS pcsApi)
{
_logger = logger;
_fqcApi = fqcApi;
_env = env;
_pcsApi = pcsApi;
}
#region 下拉選單
@ -161,6 +163,28 @@ namespace AMESCoreStudio.Web.Controllers
//将数据Json化并传到前台视图
return Json(new { data = item });
}
/// <summary>
/// 廠別/委外廠
/// </summary>
/// <returns></returns>
private async Task GetFactoryInfo()
{
var result = await _pcsApi.GetFactoryInfo();
var FactoryInfo = new List<SelectListItem>();
for (int i = 0; i < result.Count; i++)
{
FactoryInfo.Add(new SelectListItem(result[i].FactoryNo + "-" + result[i].FactoryNameCh, result[i].FactoryID.ToString()));
}
if (FactoryInfo.Count == 0)
{
FactoryInfo.Add(new SelectListItem("N/A", null));
}
ViewBag.FactoryInfoList = FactoryInfo;
}
#endregion
#region FQC001 檢驗類別維護
@ -1135,19 +1159,21 @@ namespace AMESCoreStudio.Web.Controllers
#endregion
#region FQC008 FQC查詢
public IActionResult FQC008()
public async Task<IActionResult> FQC008()
{
await GetFactoryInfo();
return View();
}
public async Task<IActionResult> FQC008QueryAsync(string barcodeNo, string wipNo
, string boxNo, string inhouseNo, string date_str, string date_end
, string boxNo, string inhouseNo, string date_str, string date_end ,string factoryID
, string status, int page = 0, int limit = 10)
{
IResultModel<FqcInhouseMasterDto> result = await _fqcApi.GetFqcInhouseMasterQuery(barcodeNo: barcodeNo, wipNo: wipNo
, boxNo: boxNo, inhouseNo: inhouseNo, date_str: date_str, date_end: date_end
, status: status, page: page, limit: limit);
, status: status, page: page, limit: limit , factoryID: factoryID);
await GetFactoryInfo();
if (result.Data.Count() != 0)
{
return Json(new Table() { code = 0, msg = "", data = result.Data, count = result.DataTotal });

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

@ -452,11 +452,12 @@ namespace AMESCoreStudio.Web
/// <param name="status">抽驗結果</param>
/// <param name="page">頁數</param>
/// <param name="limit">筆數</param>
/// <param name="factoryID">委外廠商</param>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/FqcInhouseMaster/FqcInhouseMasterQuery")]
ITask<ResultModel<FqcInhouseMasterDto>> GetFqcInhouseMasterQuery(string barcodeNo = null, string wipNo = null
, string boxNo = null, string inhouseNo = null, string date_str = null, string date_end = null
, string status = null, int page = 0, int limit = 10);
, string status = null, int page = 0, int limit = 10 ,string factoryID = null);
#endregion
#region FQC009 料號檢驗工項維護

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

@ -444,9 +444,11 @@
layer.open({
title: '抽驗',
type: 2,
area: ['600px', '600px'],
area: ['600px', '550px'],
fixed: false, //不固定
maxmin: true,
maxmin: false,
scrollbar: true,
moveOut:true,
content: '/FQC/FQC007C?inhouseNo=@Model.h_InhouseNo&seq=@Model.h_SeqID'
});
});

2
AMESCoreStudio.Web/Views/FQC/FQC007A.cshtml

@ -19,7 +19,7 @@
</div>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm layui-btn" lay-event="add"><i class="layui-icon">&#xe640;</i>儲存</button>
<button class="layui-btn layui-btn-sm layui-btn" lay-event="add">儲存</button>
</div>
</script>

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

@ -11,8 +11,6 @@
</style>
<div class="layui-card">
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="FQC007C" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="InhouseNo" value="@Model.InhouseNo" />
@ -86,15 +84,13 @@
</div>
</div>
</form>
</div>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
<script type="text/javascript">
function getNGClassList(data)
{
$.ajax(
@ -171,7 +167,7 @@
parent.hg.msg(error);
}
});
</script>
</script>
}

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

@ -4,9 +4,9 @@
}
<style type="text/css">
.layui-table-main .layui-table-cell {
/*.layui-table-main .layui-table-cell {*/
/*height: auto !important;*/
white-space: normal;
/*white-space: normal;
}
.layui-table img {
@ -27,7 +27,7 @@
.layui-table-cell {
height: auto;
white-space: normal;
}
}*/
</style>
@ -43,7 +43,19 @@
<div class="layui-form">
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-col-sm4">
<div class="layui-col-sm3">
<div class="layui-inline">
<label class="layui-form-label">委外廠商:</label>
<div class="layui-input-inline" style="width:150px">
<select id="factory" lay-filter="factory" name="factory" asp-items="@ViewBag.FactoryInfoList" class="">
<option value="">全部</option>
</select>
</div>
<input id="factoryID" type="hidden" name="factoryID" value="" />
</div>
</div>
<div class="layui-col-sm3">
<div class="layui-inline">
<label class="layui-form-label">內部序號:</label>
<div class="layui-input-inline" style="width:150px">
@ -51,7 +63,7 @@
</div>
</div>
</div>
<div class="layui-col-sm4">
<div class="layui-col-sm3">
<div class="layui-inline">
<label class="layui-form-label">工單號碼:</label>
<div class="layui-input-inline" style="width:150px">
@ -59,7 +71,7 @@
</div>
</div>
</div>
<div class="layui-col-sm4">
<div class="layui-col-sm3">
<div class="layui-inline">
<label class="layui-form-label">包裝箱號:</label>
<div class="layui-input-inline" style="width:150px">
@ -125,8 +137,20 @@
, format: 'yyyy/MM/dd'
, theme: 'grid'
});
form.on('select(factory)', function (data) {
$("#factoryID").val(data.value);
//roleName = data.elem[data.elem.selectedIndex].text;
var qs = $('button[lay-filter="querysubmit"]');
qs.click();
//hg.msghide("刷新数据!");
//table && table.reload();
});
});
//监听表单提交事件
hg.form.onsubmit('querysubmit', function (data) {
hg.msghide("重新載入資料..");
@ -135,7 +159,7 @@
var tableCols = [[
{
field: 'werks',
field: 'factoryNo',
width: 80,
title: '委外廠',
sort: true
@ -155,8 +179,7 @@
{
field: 'seqID',
title: '順序',
width: 80,
sort: true
width: 60
},
{
field: 'wipNo',
@ -170,9 +193,8 @@
},
{
field: 'inhouseQty',
width: 80,
title: '批量',
sort: true
width: 60,
title: '批量'
},
//{
// field: 'serialNo',
@ -193,15 +215,12 @@
},
{
field: 'qaMeno',
title: '備註',
title: '備註'
},
,
{
field: 'right',
width: 80,
title: '操作',
align: 'center',
fixed: 'right',
width: 75,
templet: function (d) {
return '<a class="layui-btn layui-btn-xs layui-icon layui-icon-edit" lay-event="edit">修改</a>'
}
@ -228,5 +247,5 @@
{{ d.statusName }}
{{# } }}
</script>
}
}
}

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

@ -90,10 +90,11 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
/// <param name="status">抽驗結果</param>
/// <param name="page">頁數</param>
/// <param name="limit">筆數</param>
/// <param name="factoryID">委外廠商ID</param>
/// <returns></returns>
[HttpGet("FqcInhouseMasterQuery")]
public async Task<ResultModel<FqcInhouseMasterDto>> GetFqcInhouseMasterQuery(string barcodeNo, string wipNo, string boxNo
, string inhouseNo, string date_str, string date_end, string status, int page = 0, int limit = 10)
, string inhouseNo, string date_str, string date_end, string status, string factoryID, int page = 0, int limit = 10)
{
var q = from q1 in _context.FqcInhouseMasters
//join q2 in _context.FqcInhouseDetails on new { q1.InhouseNo, q1.SeqID } equals new { q2.InhouseNo, q2.SeqID }
@ -101,9 +102,12 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
from q3 in j1.DefaultIfEmpty()
join q4 in _context.WipInfos on q1.WipNo equals q4.WipNO into s
from q4 in s.DefaultIfEmpty()
join q5 in _context.FactoryInfos on q4.Werks equals q5.FactoryID.ToString() into j2
from q5 in j2.DefaultIfEmpty()
select new FqcInhouseMasterDto
{
Werks = q4.Werks,
FactoryNo = q5.FactoryNo,
InhouseNo = q1.InhouseNo,
SeqID = q1.SeqID,
WipNo = q1.WipNo,
@ -126,6 +130,9 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
if (!string.IsNullOrWhiteSpace(status))
q = q.Where(w => w.StatusName == status);
if (!string.IsNullOrWhiteSpace(factoryID))
q = q.Where(w => w.Werks.ToString() == factoryID);
// 優先用內部序號取出包裝序號
if (!string.IsNullOrWhiteSpace(barcodeNo))
{
@ -218,7 +225,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
CustomerNo = q4.CustomerNO,
CustomerMedical = q4.CustomerMedical,
CustomerVIP = q4.CustomerVIP,
Werk = q4.Werks+"-"+q5.FactoryNameCh,
Werk = q4.Werks + "-" + q5.FactoryNameCh,
BIOS = q2.BIOS,
CPU = q2.CPU,
OS = q2.OS,
@ -229,7 +236,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
Proved = q2.Proved,
Proved_Name = q7.UserName,
UpdateUser = q8.UserNo,
UpdateUser_Name =q8.UserName
UpdateUser_Name = q8.UserName
};
var query = await q.Distinct().ToListAsync();

8
AMESCoreStudio.WebApi/DTO/AMES/FqcInhouseMasterDto.cs

@ -16,11 +16,17 @@ namespace AMESCoreStudio.WebApi.DTO.AMES
public partial class FqcInhouseMasterDto
{
/// <summary>
/// 委外廠
/// 委外廠ID
/// </summary>
[DataMember]
public string Werks { get; set; }
/// <summary>
/// 委外廠No
/// </summary>
[DataMember]
public string FactoryNo { get; set; }
/// <summary>
/// 入庫單號碼
/// </summary>

Loading…
Cancel
Save