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