Browse Source

新增組件料號對應維護(KCS007)

PTD
Shani 3 years ago
parent
commit
464439b6d3
  1. 164
      AMESCoreStudio.Web/Controllers/KCSController.cs
  2. 47
      AMESCoreStudio.Web/HttpApis/AMES/IKCS.cs
  3. 8
      AMESCoreStudio.Web/Views/BAS/BAS013.cshtml
  4. 10
      AMESCoreStudio.Web/Views/BAS/BAS013C.cshtml
  5. 10
      AMESCoreStudio.Web/Views/BAS/BAS013U.cshtml
  6. 189
      AMESCoreStudio.Web/Views/KCS/KCS007.cshtml
  7. 122
      AMESCoreStudio.Web/Views/KCS/KCS007C.cshtml
  8. 122
      AMESCoreStudio.Web/Views/KCS/KCS007U.cshtml
  9. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.Web.Views.dll
  10. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.Web.Views.pdb
  11. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.Web.dll
  12. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.Web.pdb
  13. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.Views.dll
  14. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.Views.pdb
  15. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.dll
  16. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.pdb
  17. 111
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.xml
  18. 56
      AMESCoreStudio.WebApi/Controllers/AMES/MaterialKpController.cs
  19. 25
      AMESCoreStudio.WebApi/Models/AMES/MaterialKp.cs
  20. 19
      AMESCoreStudio.WebApi/Models/BAS/RuninTime.cs
  21. BIN
      AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.Views.dll
  22. BIN
      AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.Views.pdb
  23. BIN
      AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.dll
  24. BIN
      AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.pdb
  25. 111
      AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.xml

164
AMESCoreStudio.Web/Controllers/KCSController.cs

@ -14,11 +14,16 @@ namespace AMESCoreStudio.Web.Controllers
{
private readonly ILogger<KCSController> _logger;
public readonly IKCS _kcsApi;
public readonly IPCS _pcsApi;
public readonly IBAS _basApi;
public KCSController(ILogger<KCSController> logger, IKCS kcsApi)
public KCSController(ILogger<KCSController> logger, IKCS kcsApi, IPCS pcsApi, IBAS basApi)
{
_logger = logger;
_kcsApi = kcsApi;
_pcsApi = pcsApi;
_basApi = basApi;
}
private async Task GetMaxClassGroup()
@ -68,6 +73,19 @@ namespace AMESCoreStudio.Web.Controllers
ViewBag.SNIntervalList = SNIntervalList;
}
private async Task GetFactoryUnitList()
{
var result = await _basApi.GetFactoryUnits();
var FactoryItems = new List<SelectListItem>();
for (int i = 0; i < result.Count; i++)
{
FactoryItems.Add(new SelectListItem(result[i].UnitName, result[i].UnitNo.ToString()));
}
ViewBag.FactoryUnit = FactoryItems;
}
#region KCS001 MAC資料維護相關
public IActionResult KCS001()
@ -507,5 +525,149 @@ namespace AMESCoreStudio.Web.Controllers
}
#endregion
#region KCS006組件類別資料維護相關
public void GetUserID()
{
var userID = "";
HttpContext.Request.Cookies.TryGetValue("UserID", out userID);
int user_id = 0;
if (userID != null)
{
if (int.Parse(userID.ToString()) >= 0)
{
user_id = int.Parse(userID.ToString());
}
}
ViewBag.UserID = user_id;
}
public IActionResult KCS007()
{
return View();
}
//新增頁面
public async Task<IActionResult> KCS007C()
{
await GetFactoryUnitList();
GetUserID();
return View();
}
//修改页面
public async Task<IActionResult> KCS007UAsync(int id)
{
await GetFactoryUnitList();
GetUserID();
var result = await _kcsApi.GetMaterialKp(id);
if (result.Count == 0)
{
return View();
}
return View(result[0]);
}
public async Task<IActionResult> KCS007DAsync(int id)
{
var result = await _kcsApi.DeleteMaterialKp(id);
return Json(new Result() { success = true, msg = "" });
}
//頁面提交,id=0 添加,id>0 修改
[HttpPost]
public async Task<IActionResult> KCS007CSaveAsync(MaterialKp model)
{
if (ModelState.IsValid)
{
IResultModel result;
result = await _kcsApi.PostMaterialKp(JsonConvert.SerializeObject(model));
if (result.Success)
{
var _msg = "添加成功!";
return RedirectToAction("Refresh", "Home", new { msg = _msg });
}
else
{
if (result.Errors.Count > 0)
{
ModelState.AddModelError(result.Errors[0].Id, result.Errors[0].Msg);
}
else
{
ModelState.AddModelError("error", result.Msg);
}
}
}
return View("KCS007C", model);
}
public async Task<IActionResult> KCS007USaveAsync(MaterialKp model)
{
if (ModelState.IsValid)
{
IResultModel result;
result = await _kcsApi.PutMaterialKp(model.MaterialKpID, JsonConvert.SerializeObject(model));
if (result.Success)
{
var _msg = "修改成功!";
return RedirectToAction("Refresh", "Home", new { msg = _msg });
}
else
{
if (result.Errors.Count > 0)
{
ModelState.AddModelError(result.Errors[0].Id, result.Errors[0].Msg);
}
else
{
ModelState.AddModelError("error", result.Msg);
}
}
}
return View("KCS007U", model);
}
[ResponseCache(Duration = 0)]
[HttpGet]
public async Task<IActionResult> GetMaterialItemByItemNOAsync(string id)
{
var result = await _pcsApi.GetMaterialItemByItemNO(id);
if (result != null)
{
return Json(new Result() { success = true, data = result });
}
return Json(new Result() { success = false, data = null });
}
public async Task<IActionResult> GetMaterialKpsByItemIDAsync(int id)
{
var result = await _kcsApi.GetMaterialKpsByItemID(id);
if (result.Count > 0)
{
return Json(new Table() { code = 0, msg = "", data = result, count = result.Count });
}
return Json(new Table() { count = 0, data = null });
}
#endregion
}
}

47
AMESCoreStudio.Web/HttpApis/AMES/IKCS.cs

@ -166,6 +166,53 @@ namespace AMESCoreStudio.Web
[WebApiClient.Attributes.HttpGet("api/Items")]
ITask<List<Items>> GetItems(int page = 1, int limit = 10);
#endregion
#region KCS007 組件料號維護
/// <summary>
/// 新增組件料號
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPost("api/MaterialKp")]
ITask<ResultModel<MaterialKp>> PostMaterialKp([FromBody, RawJsonContent] string model);
/// <summary>
/// 更新組件料號
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPut("api/MaterialKp/{id}")]
ITask<ResultModel<MaterialKp>> PutMaterialKp(int id,[FromBody, RawJsonContent] string model);
/// <summary>
/// 刪除組件料號
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpDelete("api/MaterialKp/{id}")]
ITask<ResultModel<MaterialKp>> DeleteMaterialKp(int id);
/// <summary>
/// 根據ID獲取指定組件料號資料
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/MaterialKp/{id}")]
ITask<List<MaterialKp>> GetMaterialKp(int id);
/// <summary>
/// 獲取組件料號資料
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/MaterialKp")]
ITask<List<MaterialKp>> GetMaterialKps();
/// <summary>
/// 獲取組件類別資料
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/MaterialKp/ByItemID/{id}")]
ITask<List<MaterialKp>> GetMaterialKpsByItemID(int id);
#endregion
}
}

8
AMESCoreStudio.Web/Views/BAS/BAS013.cshtml

@ -46,6 +46,14 @@
title: '料號',
sort: true
},
{
field: 'ratio',
title: '燒機比率'
},
{
field: 'temperature',
title: '燒機溫度'
},
{
field: 'time',
title: '燒機時間'

10
AMESCoreStudio.Web/Views/BAS/BAS013C.cshtml

@ -20,6 +20,16 @@
<input id="ItemNo" asp-for="ItemNo" class="form-control col-sm-9" placeholder="請輸入料號" />
<span asp-validation-for="ItemNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="Ratio" class="control-label col-sm-3"></label>
<input asp-for="Ratio" class="form-control col-sm-9" placeholder="請輸入燒機比率" />
<span asp-validation-for="Ratio" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="Temperature" class="control-label col-sm-3"></label>
<input asp-for="Temperature" class="form-control col-sm-9" placeholder="請輸入燒機溫度" />
<span asp-validation-for="Temperature" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="Time" class="control-label col-sm-3"></label>
<input asp-for="Time" class="form-control col-sm-9" placeholder="請輸入燒機時間" />

10
AMESCoreStudio.Web/Views/BAS/BAS013U.cshtml

@ -20,6 +20,16 @@
<input id="ItemNo" asp-for="ItemNo" class="form-control col-sm-9" placeholder="請輸入料號" />
<span asp-validation-for="ItemNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="Ratio" class="control-label col-sm-3"></label>
<input asp-for="Ratio" class="form-control col-sm-9" placeholder="請輸入燒機比率" />
<span asp-validation-for="Ratio" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="Temperature" class="control-label col-sm-3"></label>
<input asp-for="Temperature" class="form-control col-sm-9" placeholder="請輸入燒機溫度" />
<span asp-validation-for="Temperature" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="Time" class="control-label col-sm-3"></label>
<input asp-for="Time" class="form-control col-sm-9" placeholder="請輸入燒機時間" />

189
AMESCoreStudio.Web/Views/KCS/KCS007.cshtml

@ -0,0 +1,189 @@
@{
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" style="margin-bottom:5px;">
<div class="layui-form-item">
<div class="layui-inline" style="margin-right:5px;">
<label class="layui-inline layui-form-label">料號</label>
<div class="layui-input-inline">
<input type="text" name="itemNo" id="itemNo" placeholder="请输入料號" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline" style="margin-left:0px;">
<div class="layui-btn-group">
<button class="layui-btn layui-btn-sm layui-btn-normal" id="querysubmit" lay-filter="querysubmit">
<i class="layui-icon layui-icon-sm">&#xe615;</i>
</button>
</div>
</div>
</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);
});
var tableCols = [[
{
field: 'item',
title: '料號',
sort: true,
templet: function (d) {
var itemNo;
if (d.item)
itemNo = d.item["itemNo"];
else
itemNo = "N/A";
return itemNo;
}
},
{
field: 'kpName',
title: '組件料號名稱'
},
{
field: 'kpNo',
title: '組件料號編碼'
},
{
field: 'kpSeq',
title: '順序'
},
{
field: 'title',
title: '前置碼'
},
{
field: 'length',
title: '長度'
},
{
field: 'unit',
title: '製程單位',
templet: function (d) {
var unit;
if (d.unit)
unit = d.unit["unitName"];
else
unit = "N/A";
return unit;
}
},//MTNO001-TEST
{
field: 'isRepeat',
title: '是否重複'
},
{
field: 'right',
width: 200,
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> <a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" lay-event="del" > 删除</a> '
}
}]
];
//通过行tool编辑,lay-event="edit"
function edit(obj) {
console.info(obj.data);
if (obj.data.materialKpID) {
hg.open('修改料號組件對應', '/KCS/KCS007U/' + obj.data.materialKpID , 480,480);
}
}
//通过行tool删除,lay-event="del"
function del(obj) {
//alert(obj);
if (obj.data.materialKpID) {
hg.confirm("系統:" + obj.data.kpName + ",确定要删除吗?", function () {
$.ajax({
url: '/KCS/KCS007D',
data: { id: obj.data.materialKpID},
type: 'POST',
success: function (data) {
if (data.success) {
obj.del(); //只删本地数据
hg.msghide("删除成功!");
}
else {
hg.msg(data.msg);
}
},
error: function () {
hg.msg("网络请求失败!");
}
});
});
}
}
var toolbar = [{
text: '新增',
layuiicon: '&#xe608;',
class: 'layui-btn-normal',
handler: function () {
hg.open('新增料號組件對應', '/KCS/KCS007C', 480, 480);
}
}
];
////搜索
$('#querysubmit').click(function () {
//console.log('#btnSearch');
var itemNo = $("#itemNo").val();
if (itemNo) {
hg.msghide("刷新数据!");
tt();
}
else {
alert("請選擇料號!!!!");
}
return false;
});
//基本数据表格
var table;
function tt() {
//基本数据表格
var iNO = "";
iNO = $("#itemNo").val();
$.ajax({
url: '/KCS/GetMaterialItemByItemNO',
data: { id: iNO },
type: 'GET',
success: function (data) {
if (data.success) {
console.log(data);
table = hg.table.datatable('test', '料號組件對應維護', '/KCS/GetMaterialKpsByItemID?id=' + data.data.itemID
, {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
}
else {
hg.msg("請確認料號是正確!");
}
},
error: function () {
hg.msg("網路請求失敗!");
}
});
};
</script>
}

122
AMESCoreStudio.Web/Views/KCS/KCS007C.cshtml

@ -0,0 +1,122 @@
@model AMESCoreStudio.WebApi.Models.AMES.MaterialKp
@{ ViewData["Title"] = "KCS007C";
Layout = "~/Views/Shared/_FormLayout.cshtml"; }
<style>
.control-label {
justify-content: flex-end !important;
}
</style>
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="KCS007CSave">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="MaterialKpID" value="0" />
<input type="hidden" asp-for="CreateUserID" value="@ViewBag.UserID" />
<input type="hidden" asp-for="UpdateUserID" value="@ViewBag.UserID" />
<input type="hidden" asp-for="CreateDate" value="@System.DateTime.Now" />
<input type="hidden" asp-for="UpdateDate" value="@System.DateTime.Now" />
<div class="form-group form-inline my-sm-1">
<label asp-for="ItemID" class="control-label col-sm-3"></label>
<input id="ItemNo" class="form-control col-sm-9" />
<input id="ItemID" asp-for="ItemID" type="hidden" />
<span asp-validation-for="ItemID" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="KpName" class="control-label col-sm-3"></label>
<input asp-for="KpName" class="form-control col-sm-9" />
<span asp-validation-for="KpName" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="KpNo" class="control-label col-sm-3"></label>
<input asp-for="KpNo" class="form-control col-sm-9" />
<span asp-validation-for="KpNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="KpSeq" class="control-label col-sm-3"></label>
<input asp-for="KpSeq" class="form-control col-sm-9" />
<span asp-validation-for="KpSeq" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="Title" class="control-label col-sm-3"></label>
<input asp-for="Title" class="form-control col-sm-9" />
<span asp-validation-for="Title" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="Length" class="control-label col-sm-3"></label>
<input asp-for="Length" class="form-control col-sm-9" />
<span asp-validation-for="Length" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="StationType" class="control-label col-sm-3"></label>
<select asp-for="StationType" asp-items="@ViewBag.FactoryUnit" class="custom-select col-sm-9">
<option value="">請選擇</option>
</select>
<span asp-validation-for="StationType" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="IsRepeat" class="control-label col-sm-3"></label>
<select asp-for="IsRepeat" class="custom-select col-sm-9">
<option value="">請選擇</option>
<option value="Y">是</option>
<option value="N">否</option>
</select>
<span asp-validation-for="IsRepeat" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="form-group">
<input type="submit" value="保存" class="btn btn-primary offset-sm-3" />
</div>
</form>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);
}
});
$("#ItemNo").blur(function () {
var data = $("#ItemNo").val();
console.log(data);
getItemID(data);
//$("input").css("background-color", "#D6D6FF");
});
function getItemID(itemNo) {
$.ajax({
url: "/KCS/GetMaterialItemByItemNO",
data: { id: itemNo},
dataType: 'json',
contentType: "application/json",
type: 'get',
success: function (result) {
if (result.data) {
console.info(result.data);
$("#ItemID").val(result.data.itemID);
}
else {
alert('請確認料號是否正確!!!');
}
}
});
};
</script>
}

122
AMESCoreStudio.Web/Views/KCS/KCS007U.cshtml

@ -0,0 +1,122 @@
@model AMESCoreStudio.WebApi.Models.AMES.MaterialKp
@{ ViewData["Title"] = "KCS007U";
Layout = "~/Views/Shared/_FormLayout.cshtml"; }
<style>
.control-label {
justify-content: flex-end !important;
}
</style>
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="KCS007USave">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="MaterialKpID"/>
<input type="hidden" asp-for="CreateUserID" />
<input type="hidden" asp-for="UpdateUserID" value="@ViewBag.UserID" />
<input type="hidden" asp-for="CreateDate" />
<input type="hidden" asp-for="UpdateDate" value="@System.DateTime.Now" />
<div class="form-group form-inline my-sm-1">
<label asp-for="ItemID" class="control-label col-sm-3"></label>
<input id="ItemNo" value="@Model.Item.ItemNo" class="form-control col-sm-9" readonly/>
<input id="ItemID" asp-for="ItemID" type="hidden" />
<span asp-validation-for="ItemID" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="KpName" class="control-label col-sm-3"></label>
<input asp-for="KpName" class="form-control col-sm-9" />
<span asp-validation-for="KpName" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="KpNo" class="control-label col-sm-3"></label>
<input asp-for="KpNo" class="form-control col-sm-9" />
<span asp-validation-for="KpNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="KpSeq" class="control-label col-sm-3"></label>
<input asp-for="KpSeq" class="form-control col-sm-9" />
<span asp-validation-for="KpSeq" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="Title" class="control-label col-sm-3"></label>
<input asp-for="Title" class="form-control col-sm-9" />
<span asp-validation-for="Title" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="Length" class="control-label col-sm-3"></label>
<input asp-for="Length" class="form-control col-sm-9" />
<span asp-validation-for="Length" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="StationType" class="control-label col-sm-3"></label>
<select asp-for="StationType" asp-items="@ViewBag.FactoryUnit" class="custom-select col-sm-9">
<option value="">請選擇</option>
</select>
<span asp-validation-for="StationType" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="IsRepeat" class="control-label col-sm-3"></label>
<select asp-for="IsRepeat" class="custom-select col-sm-9">
<option value="">請選擇</option>
<option value="Y">是</option>
<option value="N">否</option>
</select>
<span asp-validation-for="IsRepeat" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="form-group">
<input type="submit" value="保存" class="btn btn-primary offset-sm-3" />
</div>
</form>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);
}
});
$("#ItemNo").blur(function () {
var data = $("#ItemNo").val();
console.log(data);
getItemID(data);
//$("input").css("background-color", "#D6D6FF");
});
function getItemID(itemNo) {
$.ajax({
url: "/KCS/GetMaterialItemByItemNO",
data: { id: itemNo},
dataType: 'json',
contentType: "application/json",
type: 'get',
success: function (result) {
if (result.data) {
console.info(result.data);
$("#ItemID").val(result.data.itemID);
}
else {
alert('請確認料號是否正確!!!');
}
}
});
};
</script>
}

BIN
AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.Web.Views.dll

Binary file not shown.

BIN
AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.Web.Views.pdb

Binary file not shown.

BIN
AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.Web.dll

Binary file not shown.

BIN
AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.Web.pdb

Binary file not shown.

BIN
AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.Views.dll

Binary file not shown.

BIN
AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.Views.pdb

Binary file not shown.

BIN
AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.dll

Binary file not shown.

BIN
AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.pdb

Binary file not shown.

111
AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.xml

@ -266,6 +266,13 @@
<param name="barcodeID">barcodeID</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarcodeItemsController.GetBarcodeItemByBarCode(System.String)">
<summary>
用barcode獲取資料
</summary>
<param name="barcodeID">barcodeID</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarcodeItemsController.GetBarcodeItemByDataRedundancy(System.String,System.String)">
<summary>
確認組件代碼是否重複
@ -325,7 +332,7 @@
條碼過站資料檔
</summary>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarcodeStationController.GetBarcodeStationByKey(System.Decimal,System.Decimal,System.Decimal,System.String)">
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarcodeStationController.GetBarcodeStationByKey(System.Int32,System.Int32,System.Int32,System.String)">
<summary>
</summary>
@ -1618,6 +1625,13 @@
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialKpController.GetMaterialKp(System.Int32)">
<summary>
料號基本資料檔 by ID
</summary>
<param name="id">MaterialKpID</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialKpController.GetMaterialKpByItemID(System.Int32)">
<summary>
料號基本資料檔 to ItemID
@ -1640,7 +1654,7 @@
<param name="MaterialKp"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialKpController.PutMaterialKp(AMESCoreStudio.WebApi.Models.AMES.MaterialKp)">
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialKpController.PutMaterialKp(System.Int32,AMESCoreStudio.WebApi.Models.AMES.MaterialKp)">
<summary>
修改料號基本資料檔
</summary>
@ -2124,6 +2138,66 @@
<param name="limit"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.NgRepairsController.GetErrorCode4REP012(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
<summary>
維修資料統計by不良代碼
</summary>
<param name="productType"></param>
<param name="testType"></param>
<param name="unitNo"></param>
<param name="lineID"></param>
<param name="stationID"></param>
<param name="wipNo"></param>
<param name="itemNo"></param>
<param name="dateStart"></param>
<param name="dateEnd"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.NgRepairsController.GetRMACode4REP012(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
<summary>
維修資料統計by維修代碼
</summary>
<param name="productType"></param>
<param name="testType"></param>
<param name="unitNo"></param>
<param name="lineID"></param>
<param name="stationID"></param>
<param name="wipNo"></param>
<param name="itemNo"></param>
<param name="dateStart"></param>
<param name="dateEnd"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.NgRepairsController.GetLocation4REP012(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
<summary>
維修資料統計by維修位置
</summary>
<param name="productType"></param>
<param name="testType"></param>
<param name="unitNo"></param>
<param name="lineID"></param>
<param name="stationID"></param>
<param name="wipNo"></param>
<param name="itemNo"></param>
<param name="dateStart"></param>
<param name="dateEnd"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.NgRepairsController.GetRepairResponsibleUnit4REP012(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
<summary>
維修資料統計by責任單位
</summary>
<param name="productType"></param>
<param name="testType"></param>
<param name="unitNo"></param>
<param name="lineID"></param>
<param name="stationID"></param>
<param name="wipNo"></param>
<param name="itemNo"></param>
<param name="dateStart"></param>
<param name="dateEnd"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.NgRepairsController.PutNgRepair(System.Int32,AMESCoreStudio.WebApi.Models.AMES.NgRepair)">
<summary>
@ -3620,6 +3694,20 @@
<param name="barCodeCheckDto"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_BarcodeItem(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
NgInfo-組件资料
</summary>
<param name="barCodeCheckDto"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_NgInfo(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
NgInfo-測試不良基本資料檔
</summary>
<param name="barCodeCheckDto"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_BarcodeWip(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
BarcodeWip-檔案用途 條碼工單資料檔
@ -9017,6 +9105,11 @@
站(前段)
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialKp.IsRepeat">
<summary>
是否重複
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialKp.CreateUserID">
<summary>
創建者ID
@ -9037,12 +9130,12 @@
更新日期
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialKp.MaterialItem">
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialKp.Item">
<summary>
料號主檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialKp.StationTypeList">
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialKp.Unit">
<summary>
工單機種資料
</summary>
@ -12567,6 +12660,16 @@
料號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.BAS.RuninTime.Ratio">
<summary>
燒機比率
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.BAS.RuninTime.Temperature">
<summary>
燒機溫度
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.BAS.RuninTime.Time">
<summary>
燒机時間

56
AMESCoreStudio.WebApi/Controllers/AMES/MaterialKpController.cs

@ -43,6 +43,20 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return MaterialKp;
}
/// <summary>
/// 料號基本資料檔 by ID
/// </summary>
/// <param name="id">MaterialKpID</param>
/// <returns></returns>
[HttpGet("{id}")]
public async Task<IEnumerable<MaterialKp>> GetMaterialKp(int id)
{
IQueryable<MaterialKp> q = _context.MaterialKps;
var result = await q.Where(p => p.MaterialKpID == id).ToListAsync();
return result;
}
/// <summary>
/// 料號基本資料檔 to ItemID
@ -70,17 +84,18 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
IQueryable<MaterialKp> q = _context.MaterialKps;
if (!string.IsNullOrWhiteSpace(itemno))
q = q.Where(w => w.MaterialItem.ItemNo == itemno);
q = q.Where(w => w.Item.ItemNo == itemno);
if (!string.IsNullOrWhiteSpace(station))
q = q.Where(w => w.StationType == station);
var materialKpDtos = await q.Select(s => new MaterialKpDto
{
ItemName = s.MaterialItem.ItemNo,
ItemName = s.Item.ItemNo,
KpName = s.KpName,
Station = s.StationTypeList.TypeDesc,
KpSeq= s.KpSeq,
//Station = s.StationTypeList.TypeDesc, SHANI edit
Station = s.Unit.UnitName,
KpSeq = s.KpSeq,
KpNo = s.KpNo,
MaterialKpID = s.MaterialKpID,
Length = s.Length,
@ -100,6 +115,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
{
ResultModel<MaterialKp> result = new ResultModel<MaterialKp>();
Helper helper = new Helper(_context);
MaterialKp.MaterialKpID = helper.GetIDKey("MATERIALKP_ID").Result;
_context.MaterialKps.Add(MaterialKp);
try
@ -121,13 +137,18 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
/// 修改料號基本資料檔
/// </summary>
/// <returns></returns>
[HttpPut]
public async Task<ResultModel<MaterialKp>> PutMaterialKp([FromBody] MaterialKp MaterialKp)
[HttpPut("{id}")]
public async Task<ResultModel<MaterialKp>> PutMaterialKp(int id,[FromBody] MaterialKp MaterialKp)
{
ResultModel<MaterialKp> result = new ResultModel<MaterialKp>();
_context.Attach(MaterialKp);
// 指定更新某個欄位
_context.Entry(MaterialKp).Property(p => p.MaterialKpID).IsModified = true;
if (id != MaterialKp.MaterialKpID)
{
result.Success = false;
result.Msg = "序號錯誤";
return result;
}
_context.Entry(MaterialKp).State = EntityState.Modified;
try
{
@ -146,8 +167,23 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
// DELETE api/<MaterialKpController>/5
[HttpDelete("{id}")]
public void DeleteMaterialKp(int id)
public async Task<ResultModel<MaterialKp>> DeleteMaterialKp(int id)
{
ResultModel<MaterialKp> result = new ResultModel<MaterialKp>();
var MaterialKp = await _context.MaterialKps.Where(m => m.MaterialKpID == id).FirstOrDefaultAsync();
if (MaterialKp == null)
{
result.Success = false;
result.Msg = "序號不存在";
return result;
}
_context.MaterialKps.Remove(MaterialKp);
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
return result;
}
}
}

25
AMESCoreStudio.WebApi/Models/AMES/MaterialKp.cs

@ -11,7 +11,7 @@ namespace AMESCoreStudio.WebApi.Models.AMES
/// 料號KP資訊資料檔
/// </summary>
[Table("MATERIAL_KP", Schema = "JHAMES")]
[DataContract]
//[DataContract]
public partial class MaterialKp
{
/// <summary>
@ -27,7 +27,7 @@ namespace AMESCoreStudio.WebApi.Models.AMES
/// 料號ID
/// </summary>
[Column("ITEM_ID")]
[Display(Name = "料號ID")]
[Display(Name = "料號")]
[DataMember]
[Required]
public int ItemID { get; set; }
@ -37,7 +37,7 @@ namespace AMESCoreStudio.WebApi.Models.AMES
/// </summary>
[Required]
[Column("KP_NAME")]
[Display(Name = "KP料號名稱")]
[Display(Name = "組件料號名稱")]
[StringLength(25)]
[DataMember]
public string KpName { get; set; }
@ -47,7 +47,7 @@ namespace AMESCoreStudio.WebApi.Models.AMES
/// </summary>
[Required]
[Column("KP_NO")]
[Display(Name = "KP料號NO")]
[Display(Name = "組件料號代碼")]
[StringLength(25)]
[DataMember]
public string KpNo { get; set; }
@ -82,11 +82,21 @@ namespace AMESCoreStudio.WebApi.Models.AMES
/// </summary>
[Required]
[Column("STATION_TYPE")]
[Display(Name = "站(前段)")]
[Display(Name = "製程單位")]
[StringLength(25)]
[DataMember]
public string StationType { get; set; }
/// <summary>
/// 是否重複
/// </summary>
[Required]
[Column("IS_REPEAT")]
[Display(Name = "是否重複")]
[StringLength(25)]
[DataMember]
public string IsRepeat { get; set; }
/// <summary>
/// 創建者ID
/// </summary>
@ -119,12 +129,13 @@ namespace AMESCoreStudio.WebApi.Models.AMES
/// 料號主檔
/// </summary>
[ForeignKey("ItemID")]
public virtual MaterialItem MaterialItem { get; set; }
public virtual MaterialItem Item { get; set; }
/// <summary>
/// 工單機種資料
/// </summary>
[ForeignKey("StationType")]
public virtual AMESCoreStudio.WebApi.Models.BAS.StationType StationTypeList { get; set; }
public virtual AMESCoreStudio.WebApi.Models.BAS.FactoryUnit Unit { get; set; }
//public virtual AMESCoreStudio.WebApi.Models.BAS.StationType StationTypeList { get; set; }
}
}

19
AMESCoreStudio.WebApi/Models/BAS/RuninTime.cs

@ -22,6 +22,25 @@ namespace AMESCoreStudio.WebApi.Models.BAS
[DataMember]
public string ItemNo { get; set; }
/// <summary>
/// 燒機比率
/// </summary>
[Column("RATIO")]
[DataMember]
[Required(ErrorMessage = "{0},不能空白")]
[Display(Name = "燒機比率")]
public int Ratio { get; set; }
/// <summary>
/// 燒機溫度
/// </summary>
[Column("TEMPERATURE")]
[Required(ErrorMessage = "{0},不能空白")]
[Display(Name = "燒機溫度")]
[StringLength(30, ErrorMessage = "{0},不能大于{1}")]
[DataMember]
public string Temperature { get; set; }
/// <summary>
/// 燒机時間
/// </summary>

BIN
AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.Views.dll

Binary file not shown.

BIN
AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.Views.pdb

Binary file not shown.

BIN
AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.dll

Binary file not shown.

BIN
AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.pdb

Binary file not shown.

111
AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.xml

@ -266,6 +266,13 @@
<param name="barcodeID">barcodeID</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarcodeItemsController.GetBarcodeItemByBarCode(System.String)">
<summary>
用barcode獲取資料
</summary>
<param name="barcodeID">barcodeID</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarcodeItemsController.GetBarcodeItemByDataRedundancy(System.String,System.String)">
<summary>
確認組件代碼是否重複
@ -325,7 +332,7 @@
條碼過站資料檔
</summary>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarcodeStationController.GetBarcodeStationByKey(System.Decimal,System.Decimal,System.Decimal,System.String)">
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarcodeStationController.GetBarcodeStationByKey(System.Int32,System.Int32,System.Int32,System.String)">
<summary>
</summary>
@ -1618,6 +1625,13 @@
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialKpController.GetMaterialKp(System.Int32)">
<summary>
料號基本資料檔 by ID
</summary>
<param name="id">MaterialKpID</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialKpController.GetMaterialKpByItemID(System.Int32)">
<summary>
料號基本資料檔 to ItemID
@ -1640,7 +1654,7 @@
<param name="MaterialKp"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialKpController.PutMaterialKp(AMESCoreStudio.WebApi.Models.AMES.MaterialKp)">
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialKpController.PutMaterialKp(System.Int32,AMESCoreStudio.WebApi.Models.AMES.MaterialKp)">
<summary>
修改料號基本資料檔
</summary>
@ -2124,6 +2138,66 @@
<param name="limit"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.NgRepairsController.GetErrorCode4REP012(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
<summary>
維修資料統計by不良代碼
</summary>
<param name="productType"></param>
<param name="testType"></param>
<param name="unitNo"></param>
<param name="lineID"></param>
<param name="stationID"></param>
<param name="wipNo"></param>
<param name="itemNo"></param>
<param name="dateStart"></param>
<param name="dateEnd"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.NgRepairsController.GetRMACode4REP012(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
<summary>
維修資料統計by維修代碼
</summary>
<param name="productType"></param>
<param name="testType"></param>
<param name="unitNo"></param>
<param name="lineID"></param>
<param name="stationID"></param>
<param name="wipNo"></param>
<param name="itemNo"></param>
<param name="dateStart"></param>
<param name="dateEnd"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.NgRepairsController.GetLocation4REP012(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
<summary>
維修資料統計by維修位置
</summary>
<param name="productType"></param>
<param name="testType"></param>
<param name="unitNo"></param>
<param name="lineID"></param>
<param name="stationID"></param>
<param name="wipNo"></param>
<param name="itemNo"></param>
<param name="dateStart"></param>
<param name="dateEnd"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.NgRepairsController.GetRepairResponsibleUnit4REP012(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
<summary>
維修資料統計by責任單位
</summary>
<param name="productType"></param>
<param name="testType"></param>
<param name="unitNo"></param>
<param name="lineID"></param>
<param name="stationID"></param>
<param name="wipNo"></param>
<param name="itemNo"></param>
<param name="dateStart"></param>
<param name="dateEnd"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.NgRepairsController.PutNgRepair(System.Int32,AMESCoreStudio.WebApi.Models.AMES.NgRepair)">
<summary>
@ -3620,6 +3694,20 @@
<param name="barCodeCheckDto"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_BarcodeItem(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
NgInfo-組件资料
</summary>
<param name="barCodeCheckDto"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_NgInfo(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
NgInfo-測試不良基本資料檔
</summary>
<param name="barCodeCheckDto"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_BarcodeWip(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
BarcodeWip-檔案用途 條碼工單資料檔
@ -9017,6 +9105,11 @@
站(前段)
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialKp.IsRepeat">
<summary>
是否重複
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialKp.CreateUserID">
<summary>
創建者ID
@ -9037,12 +9130,12 @@
更新日期
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialKp.MaterialItem">
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialKp.Item">
<summary>
料號主檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialKp.StationTypeList">
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialKp.Unit">
<summary>
工單機種資料
</summary>
@ -12567,6 +12660,16 @@
料號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.BAS.RuninTime.Ratio">
<summary>
燒機比率
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.BAS.RuninTime.Temperature">
<summary>
燒機溫度
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.BAS.RuninTime.Time">
<summary>
燒机時間

Loading…
Cancel
Save