11 changed files with 841 additions and 176 deletions
@ -0,0 +1,259 @@ |
|||||
|
@{ |
||||
|
ViewData["Title"] = "巡檢結果回覆"; |
||||
|
Layout = "~/Views/Shared/_AMESLayout.cshtml"; |
||||
|
} |
||||
|
|
||||
|
<div class="layui-card"> |
||||
|
<div class="layui-card-header"> |
||||
|
<div class="layui-form"> |
||||
|
<div class="layui-form-item "> |
||||
|
<div class="layui-inline"><i class="fa fa-file-text-o fa-fw"></i> @ViewBag.Title</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="layui-card-body"> |
||||
|
<div class="layui-form"> |
||||
|
<div class="layui-form-item"> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
<input type="hidden" id="InspectionID" value="@ViewBag.InspectionID" /> |
||||
|
|
||||
|
|
||||
|
<div class="layui-inline" style="margin-right: 5px; margin-left: 5px;"> |
||||
|
<div class="layui-inline"> |
||||
|
<label class="layui-form-label">工單:</label> |
||||
|
<input id="WipNo" value="@ViewBag.WipNo" type="text" style="width: 250px;" class="layui-input" readonly> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="layui-inline" style="margin-right:5px;"> |
||||
|
<div class="layui-inline"> |
||||
|
<label class="layui-form-label">料號:</label> |
||||
|
<input id="ItemNo" value="@ViewBag.ItemNo" style="width: 250px;" class="layui-input" readonly> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-inline" style="margin-right:0px;"> |
||||
|
<div class="layui-inline"> |
||||
|
<label class="layui-form-label">抽驗編號:</label> |
||||
|
<input id="BarcodeNo" value="@ViewBag.BarcodeNo" style="width: 250px;" class="layui-input" readonly> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="layui-form-item"> |
||||
|
|
||||
|
<div class="layui-inline" style="margin-right:0px;"> |
||||
|
<div class="layui-inline"> |
||||
|
<label class="layui-form-label">線別:</label> |
||||
|
<div class="layui-input-inline" style="width:100px"> |
||||
|
<select id="Line" lay-filter="Line" lay-verify="required" asp-items="@ViewBag.LineList"> |
||||
|
</select> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="layui-inline" style="margin-right:0px;"> |
||||
|
<div class="layui-inline"> |
||||
|
<label class="layui-form-label">作業站:</label> |
||||
|
<div class="layui-input-inline" style="width:100px"> |
||||
|
<select id="RuleStation" lay-filter="RuleStation" lay-verify="required" asp-items="@ViewBag.StationList" lay-submit> |
||||
|
</select> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-inline" style="margin-right:0px;"> |
||||
|
<label class="layui-form-label">稽核結果:</label> |
||||
|
<div class="layui-input-inline" width:400px;"> |
||||
|
<select id="InspectionResult" class="custom-select col-sm-9" lay-filter="InspectionResult"> |
||||
|
<option value="0">請選擇</option> |
||||
|
<option value="NA">N/A</option> |
||||
|
<option value="P">PASS</option> |
||||
|
<option value="F">FAIL </option> |
||||
|
</select> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
<div class="layui-inline" style="margin-left: 0px;"> |
||||
|
<div class="layui-inline layui-show-xs-block"> |
||||
|
<button class="layui-btn layui-btn-sm layui-btn-normal" id="querysubmit" lay-filter="querysubmit"> |
||||
|
<i class="layui-icon layui-icon-sm"></i> |
||||
|
</button> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
<table class="layui-hide" id="test" lay-filter="test"></table> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
@section Scripts{ |
||||
|
<script type="text/javascript"> |
||||
|
//监听表单提交事件 |
||||
|
//hg.form.onsubmit('querysubmit', function (data) { |
||||
|
// table && table.reload(data); |
||||
|
|
||||
|
//}); |
||||
|
////搜索 |
||||
|
|
||||
|
$('#querysubmit').click(function () { |
||||
|
|
||||
|
var inspectionID = $("#InspectionID").val(); |
||||
|
tt(inspectionID); |
||||
|
}); |
||||
|
|
||||
|
|
||||
|
|
||||
|
//$('#querysubmit').click(function () { |
||||
|
// // inspectionID = $("#inspectionID").val(); |
||||
|
// alert(inspectionID); |
||||
|
// // tt(result.data[0].inspectionID); |
||||
|
//}); |
||||
|
//$('#querysubmit').click(function () { |
||||
|
// // console.log('#btnSearch'); |
||||
|
// var WipNo = ""; |
||||
|
// var ItemNo = ""; |
||||
|
// var BarcodeNo = ""; |
||||
|
// var Line = ""; |
||||
|
// var RuleStation = ""; |
||||
|
// WipNo = $("#WipNo").val(); |
||||
|
// ItemNo = $("#ItemNo").val(); |
||||
|
// BarcodeNo = $("#BarcodeNo").val(); |
||||
|
|
||||
|
|
||||
|
// if (WipNo != "" || ItemNo != "" || BarcodeNo != "") { |
||||
|
// hg.msghide("刷新数据!"); |
||||
|
// $.ajax({ |
||||
|
// url: "/SPC/GetInspectionResultMastersByQuery?WipNo=" + WipNo + "&ItemNo=" + ItemNo + "&BarcodeNo=" + BarcodeNo , |
||||
|
// dataType: 'json', |
||||
|
// //data: { WipNo: WipNo }, |
||||
|
// contentType: "application/json", |
||||
|
// type: 'get', |
||||
|
// success: function (result) { |
||||
|
// if (result.data) { |
||||
|
// //console.log(result.data[0].inspectionID);//確認itemNO/modelNO |
||||
|
// $("#WipNo").val(result.data[0].wipNo); |
||||
|
// $("#ItemNo").val(result.data[0].itemNo); |
||||
|
// $("#BarcodeNo").val(result.data[0].barcodeNo); |
||||
|
// alert(result.data[0].inspectionID); |
||||
|
// tt(result.data[0].inspectionID); |
||||
|
// } |
||||
|
// else { |
||||
|
// alert("查無資料,請確認資料是否正確!"); |
||||
|
// } |
||||
|
// }, |
||||
|
// error: function () { |
||||
|
// alert("查無資料,請確認資料是否正確!"); |
||||
|
// } |
||||
|
// }); |
||||
|
// } |
||||
|
// else { |
||||
|
// alert("請填寫欲查詢資料!!!!"); |
||||
|
// } |
||||
|
// return false; |
||||
|
|
||||
|
//}); |
||||
|
|
||||
|
$("#WipNo").change(function () { |
||||
|
var data = $("#WipNo").val(); |
||||
|
if (data) { |
||||
|
$.ajax({ |
||||
|
url: "/WHS/GetWipAtt", |
||||
|
dataType: 'json', |
||||
|
data: { id: data }, |
||||
|
contentType: "application/json", |
||||
|
type: 'get', |
||||
|
success: function (result) { |
||||
|
|
||||
|
if (result.data) { |
||||
|
$("#ModelNo").val(result.data.itemNO); |
||||
|
} |
||||
|
else { |
||||
|
|
||||
|
alert("查無資料,請確認工單是否正確!"); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
} else { |
||||
|
alert("請填寫工單!"); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
var tableCols = [[ |
||||
|
{ |
||||
|
field: 'inspectionItemName', |
||||
|
sort: true, |
||||
|
title: '巡檢項目' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'result', |
||||
|
title: '稽核結果' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'missingUnitNo', |
||||
|
title: '缺失單位' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'missingUserID', |
||||
|
title: '缺失人員' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'missingRemark', |
||||
|
title: '備註' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'location', |
||||
|
title: '位置' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'createDate', |
||||
|
title: '建立時間', |
||||
|
templet: '<div>{{ layui.util.toDateString(d.createDate, "yyyy/MM/dd") }}</div>' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'peplyReason', |
||||
|
title: '回覆原因', |
||||
|
}, |
||||
|
{ |
||||
|
field: 'peplyMethod', |
||||
|
title: '回覆對策', |
||||
|
}, |
||||
|
{ |
||||
|
field: 'right', |
||||
|
width: 85, |
||||
|
title: '操作', |
||||
|
fixed: 'right', |
||||
|
templet: function (d) { |
||||
|
return '<a class="layui-btn layui-btn-normal layui-btn-xs layui-icon layui-icon-edit" lay-event="edit">回復</a>' |
||||
|
} |
||||
|
}] |
||||
|
]; |
||||
|
|
||||
|
//通过行tool编辑,lay-event="edit" |
||||
|
function edit(obj) { |
||||
|
if (obj.data.inspectionID) { |
||||
|
hg.open('回復巡檢結果', '/SPC/SPC004U?id=' + obj.data.inspectionID+'&Iid=' + obj.data.inspectionItemID, 360, 480); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
//基本数据表格 |
||||
|
var table; |
||||
|
|
||||
|
$(function () { |
||||
|
var inspectionID = $("#InspectionID").val(); |
||||
|
tt(inspectionID); |
||||
|
|
||||
|
}); |
||||
|
function tt(id) { |
||||
|
Line = $("#Line").val(); |
||||
|
RuleStation = $("#RuleStation").val(); |
||||
|
InspectionResult = $("#InspectionResult").val(); |
||||
|
//基本数据表格 |
||||
|
//console.log('id:' + id); |
||||
|
table = hg.table.datatable('test', '巡檢表單回覆維護', '/SPC/GetInspectionResultDetailQuery?id=' + id + "&Line=" + Line + "&RuleStation=" + RuleStation + '&InspectionResult=' + InspectionResult |
||||
|
, {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']); |
||||
|
}; |
||||
|
</script> |
||||
|
} |
@ -0,0 +1,136 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Http; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using Microsoft.EntityFrameworkCore; |
||||
|
using AMESCoreStudio.WebApi; |
||||
|
using AMESCoreStudio.WebApi.Models.AMES; |
||||
|
using AMESCoreStudio.CommonTools.Result; |
||||
|
|
||||
|
namespace AMESCoreStudio.WebApi.Controllers.AMES |
||||
|
{ |
||||
|
///yiru add
|
||||
|
/// <summary>
|
||||
|
/// 檢驗單明細資料檔
|
||||
|
/// </summary>
|
||||
|
[Route("api/[controller]")]
|
||||
|
[ApiController] |
||||
|
public class WarehouseingController : ControllerBase |
||||
|
{ |
||||
|
private readonly AMESContext _context; |
||||
|
/// <summary>
|
||||
|
/// 完工入庫資料
|
||||
|
/// </summary>
|
||||
|
/// <param name="context"></param>
|
||||
|
public WarehouseingController(AMESContext context) |
||||
|
{ |
||||
|
_context = context; |
||||
|
} |
||||
|
|
||||
|
// GET: api/Warehouseing
|
||||
|
/// <summary>
|
||||
|
/// 查詢所有已入庫資料
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
[HttpGet] |
||||
|
public async Task<ActionResult<IEnumerable<WareHouseing>>> GetWareHouseings() |
||||
|
{ |
||||
|
return await _context.WareHouseings.ToListAsync(); |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 查詢完工入庫資料 By 送驗單號、序號
|
||||
|
/// </summary>
|
||||
|
/// <param name="inhouseNo">入庫單號</param>
|
||||
|
/// <param name="seq">序號</param>
|
||||
|
/// <returns></returns>
|
||||
|
[HttpGet("{inhouseNo}/{seq}")] |
||||
|
public async Task<ActionResult<IEnumerable<WareHouseing>>> GetWareHouseing(string inhouseNo, int seq) |
||||
|
{ |
||||
|
var WareHouseing = await _context.WareHouseings |
||||
|
.Where(w => w.InhouseNo == inhouseNo && w.SeqID == seq) |
||||
|
.ToListAsync(); |
||||
|
|
||||
|
return WareHouseing; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 修改完工入庫資料
|
||||
|
/// </summary>
|
||||
|
/// <param name="WareHouseing"></param>
|
||||
|
/// <returns></returns>
|
||||
|
[HttpPut] |
||||
|
public async Task<ResultModel<WareHouseing>> PutWareHouseing(WareHouseing WareHouseing) |
||||
|
{ |
||||
|
ResultModel<WareHouseing> result = new ResultModel<WareHouseing>(); |
||||
|
_context.Entry(WareHouseing).State = EntityState.Modified; |
||||
|
//設置容器空間某一個模型的某一個欄位 不提交到資料庫
|
||||
|
_context.Entry<WareHouseing>(WareHouseing).Property("Create_Date").IsModified = false; |
||||
|
_context.Entry<WareHouseing>(WareHouseing).Property("Create_UserID").IsModified = false; |
||||
|
|
||||
|
|
||||
|
try |
||||
|
{ |
||||
|
await _context.SaveChangesAsync(); |
||||
|
result.Success = true; |
||||
|
result.Msg = "OK"; |
||||
|
} |
||||
|
catch (Exception ex) |
||||
|
{ |
||||
|
result.Success = false; |
||||
|
result.Msg = ex.InnerException.Message; |
||||
|
} |
||||
|
return result; |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 新增完入工庫資料檔
|
||||
|
/// </summary>
|
||||
|
/// <param name="WareHouseing"></param>
|
||||
|
/// <returns></returns>
|
||||
|
[HttpPost] |
||||
|
public async Task<ResultModel<WareHouseing>> PostWareHouseing(WareHouseing WareHouseing) |
||||
|
{ |
||||
|
ResultModel<WareHouseing> result = new ResultModel<WareHouseing>(); |
||||
|
try |
||||
|
{ |
||||
|
|
||||
|
_context.WareHouseings.Add(WareHouseing); |
||||
|
await _context.SaveChangesAsync(); |
||||
|
result.Success = true; |
||||
|
result.Msg = "OK"; |
||||
|
|
||||
|
} |
||||
|
catch (Exception ex) |
||||
|
{ |
||||
|
result.Success = false; |
||||
|
result.Msg = ex.InnerException.Message; |
||||
|
} |
||||
|
return result; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 刪除完工入庫資料檔
|
||||
|
/// </summary>
|
||||
|
/// <param name="id"></param>
|
||||
|
/// <returns></returns>
|
||||
|
//[HttpDelete("{id}")]
|
||||
|
//public async Task<ActionResult<WareHouseing>> DeleteWareHouseing(string id)
|
||||
|
//{
|
||||
|
// var WareHouseing = await _context.WareHouseings.FindAsync(id);
|
||||
|
// if (WareHouseing == null)
|
||||
|
// {
|
||||
|
// return NotFound();
|
||||
|
// }
|
||||
|
|
||||
|
// _context.WareHouseings.Remove(WareHouseing);
|
||||
|
// await _context.SaveChangesAsync();
|
||||
|
|
||||
|
// return WareHouseing;
|
||||
|
//}
|
||||
|
|
||||
|
} |
||||
|
} |
@ -0,0 +1,30 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Threading.Tasks; |
||||
|
|
||||
|
namespace AMESCoreStudio.WebApi.DTO.AMES |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 檢驗表頭資料檔DTO
|
||||
|
/// </summary>
|
||||
|
public class InspectionResultMasterDto |
||||
|
{ |
||||
|
public int InspectionID { get; set; } |
||||
|
public int InspectionFormID { get; set; } |
||||
|
public string BarcodeNo { get; set; } |
||||
|
public string WipNo { get; set; } |
||||
|
public string ItemNo { get; set; } |
||||
|
public string StatusNo { get; set; } |
||||
|
public int CreateUserID { get; set; } |
||||
|
public DateTime CreateDate { get; set; } |
||||
|
public int UpdateUserID { get; set; } |
||||
|
public DateTime UpdateDate { get; set; } |
||||
|
|
||||
|
public string DetailItem { get; set; } |
||||
|
public string DetailPass { get; set; } |
||||
|
public string DetailFail { get; set; } |
||||
|
public string DetailNA { get; set; } |
||||
|
} |
||||
|
|
||||
|
} |
Loading…
Reference in new issue