Browse Source

新增 BAS017料號工項對應/BAS018料號治具對應

PTD
Shani 3 years ago
parent
commit
6de5caafcd
  1. 340
      AMESCoreStudio.Web/Controllers/BASController.cs
  2. 99
      AMESCoreStudio.Web/HttpApis/IBAS.cs
  3. 189
      AMESCoreStudio.Web/Views/BAS/BAS017.cshtml
  4. 139
      AMESCoreStudio.Web/Views/BAS/BAS017C.cshtml
  5. 136
      AMESCoreStudio.Web/Views/BAS/BAS017U.cshtml
  6. 182
      AMESCoreStudio.Web/Views/BAS/BAS018.cshtml
  7. 129
      AMESCoreStudio.Web/Views/BAS/BAS018C.cshtml
  8. 126
      AMESCoreStudio.Web/Views/BAS/BAS018U.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. 255
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.xml
  18. 1
      AMESCoreStudio.WebApi/AMESCoreStudio.WebApi.csproj
  19. 85
      AMESCoreStudio.WebApi/Controllers/AMES/MaterialOutfitController.cs
  20. 109
      AMESCoreStudio.WebApi/Controllers/AMES/MaterialStationsItemController.cs
  21. 33
      AMESCoreStudio.WebApi/Models/AMES/MaterialOutfit.cs
  22. 17
      AMESCoreStudio.WebApi/Models/AMES/MaterialStationsItem.cs
  23. 4
      AMESCoreStudio.WebApi/Models/AMESContext.cs
  24. 4
      AMESCoreStudio.WebApi/appsettings.json
  25. BIN
      AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.Views.dll
  26. BIN
      AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.Views.pdb
  27. BIN
      AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.dll
  28. BIN
      AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.pdb
  29. 255
      AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.xml
  30. 2
      AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/appsettings.json

340
AMESCoreStudio.Web/Controllers/BASController.cs

@ -7,6 +7,7 @@ using AMESCoreStudio.WebApi;
using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc.Rendering;
using AMESCoreStudio.WebApi.Models.BAS;
using AMESCoreStudio.WebApi.Models.AMES;
using AMESCoreStudio.CommonTools.Result;
namespace AMESCoreStudio.Web.Controllers
@ -191,6 +192,32 @@ namespace AMESCoreStudio.Web.Controllers
ViewBag.ProcessTypeList = ProcessTypeItems;
}
private async Task GetRuleStationsList()
{
var result = await _basApi.GetRuleStations();
var RuleStationItems = new List<SelectListItem>();
for (int i = 0; i < result.Count; i++)
{
RuleStationItems.Add(new SelectListItem(result[i].Station.UnitNo + result[i].Station.StationName, result[i].RuleStationID.ToString()));
}
ViewBag.RuleStationList = RuleStationItems;
}
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;
}
[HttpPost]
public async Task<JsonResult> GetFlowRuleJson(string unit_no)
{
@ -1996,5 +2023,318 @@ namespace AMESCoreStudio.Web.Controllers
return Json(new Table() { count = 0, data = null });
}
#endregion
#region BAS017料號燒机時間资料维护相关
public IActionResult BAS017()
{
return View();
}
//新增頁面
public async Task<IActionResult> BAS017C()
{
GetUserID();
await GetUnitList();
return View();
}
//修改页面
[HttpGet]
public async Task<IActionResult> BAS017UAsync(int id)
{
await GetUnitList();
await GetRuleStationsList();
GetUserID();
var result = await _basApi.GetMaterialStationsItem(id);
if (result.Count == 0)
{
return View();
}
return View(result[0]);
}
public async Task<IActionResult> BAS017DAsync(int id)
{
var result = await _basApi.DeleteMaterialStationsItem(id);
return Json(new Result() { success = true, msg = "" });
}
//頁面提交,id=0 添加,id>0 修改
[HttpPost]
public async Task<IActionResult> BAS017CSaveAsync(MaterialStationsItem model)
{
if (ModelState.IsValid)
{
IResultModel result;
result = await _basApi.PostMaterialStationsItem(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("BAS017C", model);
}
[HttpPost]
public async Task<IActionResult> BAS017USaveAsync(MaterialStationsItem model)
{
if (ModelState.IsValid)
{
IResultModel result;
result = await _basApi.PutMaterialStationsItem(model.MsiID, 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("BAS017U", model);
}
[ResponseCache(Duration = 0)]
[HttpGet]
public async Task<IActionResult> GetMaterialStationsItemsAsync()
{
var result = await _basApi.GetMaterialStationsItems();
if (result.Count > 0)
{
return Json(new Table() { code = 0, msg = "", data = result, count = result.Count });
}
return Json(new Table() { count = 0, data = null });
}
public async Task<IActionResult> GetMaterialStationsItemAsync(int ID)
{
var result = await _basApi.GetMaterialStationsItem(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 });
}
public async Task<IActionResult> GetMaterialStationsItemByItemIDAsync(int ID)
{
var result = await _basApi.GetMaterialStationsItemByItemID(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 });
}
public async Task<IActionResult> GetMaterialItemByNoAsync(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> GetRuleStationAsync()
{
var result = await _basApi.GetRuleStations();
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
#region BAS018料號燒机時間资料维护相关
public IActionResult BAS018()
{
return View();
}
//新增頁面
public async Task<IActionResult> BAS018C()
{
await GetUnitList();
GetUserID();
return View();
}
//修改页面
[HttpGet]
public async Task<IActionResult> BAS018UAsync(int id)
{
await GetUnitList();
await GetRuleStationsList();
GetUserID();
var result = await _basApi.GetMaterialOutfit(id);
if (result.Count == 0)
{
return View();
}
return View(result[0]);
}
public async Task<IActionResult> BAS018DAsync(int id)
{
var result = await _basApi.DeleteMaterialOutfit(id);
return Json(new Result() { success = true, msg = "" });
}
//頁面提交,id=0 添加,id>0 修改
[HttpPost]
public async Task<IActionResult> BAS018CSaveAsync(MaterialOutfit model)
{
if (ModelState.IsValid)
{
IResultModel result;
result = await _basApi.PostMaterialOutfit(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("BAS018C", model);
}
[HttpPost]
public async Task<IActionResult> BAS018USaveAsync(MaterialOutfit model)
{
if (ModelState.IsValid)
{
IResultModel result;
result = await _basApi.PutMaterialOutfit(model.MaterialOutfitID, 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("BAS018U", model);
}
[ResponseCache(Duration = 0)]
[HttpGet]
public async Task<IActionResult> GetMaterialOutfitsAsync()
{
var result = await _basApi.GetMaterialOutfits();
if (result.Count > 0)
{
return Json(new Table() { code = 0, msg = "", data = result, count = result.Count });
}
return Json(new Table() { count = 0, data = null });
}
public async Task<IActionResult> GetMaterialOutfitAsync(int ID)
{
var result = await _basApi.GetMaterialOutfit(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 });
}
public async Task<IActionResult> GetMaterialOutfitByItemIDAsync(int ID)
{
var result = await _basApi.GetMaterialOutfitByItemID(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
}
}

99
AMESCoreStudio.Web/HttpApis/IBAS.cs

@ -4,6 +4,7 @@ using WebApiClient.Attributes;
using AMESCoreStudio.WebApi;
using Microsoft.AspNetCore.Mvc;
using AMESCoreStudio.WebApi.Models.BAS;
using AMESCoreStudio.WebApi.Models.AMES;
using AMESCoreStudio.CommonTools.Result;
namespace AMESCoreStudio.Web
@ -713,5 +714,103 @@ namespace AMESCoreStudio.Web
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/ProcessTypes")]
ITask<List<AMESCoreStudio.WebApi.Models.AMES.ProcessType>> GetProcessType();
#region BAS017料號工作項目對應維護相關
/// <summary>
/// 新增料號工作項目對應
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPost("api/MaterialStationsItem")]
ITask<ResultModel<MaterialStationsItem>> PostMaterialStationsItem([FromBody, RawJsonContent] string model);
/// <summary>
/// 更新料號工作項目對應
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPut("api/MaterialStationsItem/{id}")]
ITask<ResultModel<MaterialStationsItem>> PutMaterialStationsItem(int id, [FromBody, RawJsonContent] string model);
/// <summary>
/// 刪除料料號工作項目對應
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpDelete("api/MaterialStationsItem/{id}")]
ITask<ResultModel<string>> DeleteMaterialStationsItem(int id);
/// <summary>
/// 根據ID獲取指定料號工作項目對應資料
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/MaterialStationsItem/{id}")]
ITask<List<MaterialStationsItem>> GetMaterialStationsItem(int id);
/// <summary>
/// 獲取料號工作項目資料
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/MaterialStationsItems")]
ITask<List<MaterialStationsItem>> GetMaterialStationsItems();
/// <summary>
/// 獲取料號工作項目對應ByItemID
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/MaterialStationsItem/ByItemID/{id}")]
ITask<List<MaterialStationsItem>> GetMaterialStationsItemByItemID(int id);
#endregion
#region BAS018料號治具對應維護相關
/// <summary>
/// 新增料號治具對應
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPost("api/MaterialOutfit")]
ITask<ResultModel<MaterialOutfit>> PostMaterialOutfit([FromBody, RawJsonContent] string model);
/// <summary>
/// 更新料號治具對應
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPut("api/MaterialOutfit/{id}")]
ITask<ResultModel<MaterialOutfit>> PutMaterialOutfit(int id, [FromBody, RawJsonContent] string model);
/// <summary>
/// 刪除料料號治具對應
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpDelete("api/MaterialOutfit/{id}")]
ITask<ResultModel<string>> DeleteMaterialOutfit(int id);
/// <summary>
/// 根據ID獲取指定料號治具對應資料
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/MaterialOutfit/{id}")]
ITask<List<MaterialOutfit>> GetMaterialOutfit(int id);
/// <summary>
/// 獲取料號治具資料
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/MaterialOutfit")]
ITask<List<MaterialOutfit>> GetMaterialOutfits();
/// <summary>
/// 獲取料號治具對應ByItemID
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/MaterialOutfit/ByItemID/{id}")]
ITask<List<MaterialOutfit>> GetMaterialOutfitByItemID(int id);
#endregion
}
}

189
AMESCoreStudio.Web/Views/BAS/BAS017.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: 'materialItem',
title: '料號',
sort: true,
templet: function (d) {
var itemNo;
if (d.materialItem)
itemNo = d.materialItem["itemNo"];
else
itemNo = "N/A";
return itemNo;
}
},
{
field: 'stationsItemNo',
title: '組件料號名稱'
},
{
field: 'stationsItemDesc',
title: '組件料號編碼'
},
{
field: 'stationsItemSeq',
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: 'rStation',
title: '製程單位',
templet: function (d) {
var rStation;
if (d.rStation)
rStation = d.rStation["stationDesc"];
else
rStation = "N/A";
return rStation;
}
},
{
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.msiID) {
hg.open('修改料號組件對應', '/BAS/BAS017U/' + obj.data.msiID , 480,480);
}
}
//通过行tool删除,lay-event="del"
function del(obj) {
//alert(obj);
if (obj.data.msiID) {
hg.confirm("系統:" + obj.data.stationsItemNo + ",确定要删除吗?", function () {
$.ajax({
url: '/BAS/BAS017D',
data: { id: obj.data.msiID},
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('新增料號站別工作項目對應', '/BAS/BAS017C', 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: '/BAS/GetMaterialItemByNo',
data: { id: iNO },
type: 'GET',
success: function (data) {
if (data.success) {
console.log(data);
table = hg.table.datatable('test', '料號組件對應維護', '/BAS/GetMaterialStationsItemByItemID?id=' + data.data.itemID
, {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
}
else {
hg.msg("請確認料號是正確!");
}
},
error: function () {
hg.msg("網路請求失敗!");
}
});
};
</script>
}

139
AMESCoreStudio.Web/Views/BAS/BAS017C.cshtml

@ -0,0 +1,139 @@
@model AMESCoreStudio.WebApi.Models.AMES.MaterialStationsItem
@{ ViewData["Title"] = "BAS017C";
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="BAS017CSave">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="MsiID" 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="UnitNo" class="control-label col-sm-3"></label>
<select id="UnitNo" asp-for="UnitNo" asp-items="@ViewBag.UnitList" class="custom-select col-sm-9">
<option value="">請選擇</option>
</select>
<span asp-validation-for="UnitNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="RuleStationID" class="control-label col-sm-3"></label>
<select id="RuleStationID" asp-for="RuleStationID" class="custom-select col-sm-9">
<option value="">請選擇</option>
</select>
<span asp-validation-for="RuleStationID" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="StationsItemNo" class="control-label col-sm-3"></label>
<input asp-for="StationsItemNo" class="form-control col-sm-9" />
<span asp-validation-for="StationsItemNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="StationsItemDesc" class="control-label col-sm-3"></label>
<input asp-for="StationsItemDesc" class="form-control col-sm-9" />
<span asp-validation-for="StationsItemDesc" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="StationsItemSeq" class="control-label col-sm-3"></label>
<input asp-for="StationsItemSeq" class="form-control col-sm-9" />
<span asp-validation-for="StationsItemSeq" 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('請確認料號是否正確!!!');
}
}
});
};
$("#UnitNo").change(function () {
var data = $("#UnitNo").val();
getRuleStationByUnitNo(data);
});
function getRuleStationByUnitNo(data) {
$.ajax({
url: "/BAS/GetRuleStationByUnit",
dataType: 'json',
data: { id: data },
contentType: "application/json",
type: 'get',
success: function (result) {
if (result.data) {
$("#RuleStationID").empty();
var count = 0;
$.each(result.data, function (index, item) {
$('#RuleStationID').append(new Option(item.stationDesc, item.ruleStationID));//修改參數
});
}
else {
$("#RuleStationID").empty();
$('#RuleStationID').append(new Option("無選項", ""));
}
layui.form.render("select");
}
});
};
</script>
}

136
AMESCoreStudio.Web/Views/BAS/BAS017U.cshtml

@ -0,0 +1,136 @@
@model AMESCoreStudio.WebApi.Models.AMES.MaterialStationsItem
@{ ViewData["Title"] = "BAS017U";
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="BAS017USave">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="MsiID" />
<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.MaterialItem.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="UnitNo" class="control-label col-sm-3"></label>
<select id="UnitNo" asp-for="UnitNo" asp-items="@ViewBag.UnitList" class="custom-select col-sm-9">
<option value="">請選擇</option>
</select>
<span asp-validation-for="UnitNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="RuleStationID" class="control-label col-sm-3"></label>
<select id="RuleStationID" asp-for="RuleStationID" asp-items="@ViewBag.RuleStationList" class="custom-select col-sm-9">
<option value="">請選擇</option>
</select>
<span asp-validation-for="RuleStationID" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="StationsItemNo" class="control-label col-sm-3"></label>
<input asp-for="StationsItemNo" class="form-control col-sm-9" />
<span asp-validation-for="StationsItemNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="StationsItemDesc" class="control-label col-sm-3"></label>
<input asp-for="StationsItemDesc" class="form-control col-sm-9" />
<span asp-validation-for="StationsItemDesc" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="StationsItemSeq" class="control-label col-sm-3"></label>
<input asp-for="StationsItemSeq" class="form-control col-sm-9" />
<span asp-validation-for="StationsItemSeq" 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('請確認料號是否正確!!!');
}
}
});
};
$("#UnitNo").change(function () {
var data = $("#UnitNo").val();
getRuleStationByUnitNo(data);
});
function getRuleStationByUnitNo(data) {
$.ajax({
url: "/BAS/GetRuleStationByUnit",
dataType: 'json',
data: { id: data },
contentType: "application/json",
type: 'get',
success: function (result) {
if (result.data) {
$("#RuleStationID").empty();
var count = 0;
$.each(result.data, function (index, item) {
$('#RuleStationID').append(new Option(item.stationDesc, item.ruleStationID));//修改參數
});
}
else {
$("#RuleStationID").empty();
$('#RuleStationID').append(new Option("無選項", ""));
}
layui.form.render("select");
}
});
};
</script>
}

182
AMESCoreStudio.Web/Views/BAS/BAS018.cshtml

@ -0,0 +1,182 @@
@{
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: 'materialItem',
title: '料號',
sort: true,
templet: function (d) {
var itemNo;
if (d.materialItem)
itemNo = d.materialItem["itemNo"];
else
itemNo = "N/A";
return itemNo;
}
},
{
field: 'outfitNo',
sort: true,
title: '治具代碼'
},
{
field: 'unit',
title: '製程單位',
templet: function (d) {
var unit;
if (d.unit)
unit = d.unit["unitName"];
else
unit = "N/A";
return unit;
}
},
{
field: 'rStation',
title: '流程站別',
templet: function (d) {
var rStation;
if (d.rStation)
rStation = d.rStation["stationDesc"];
else
rStation = "N/A";
return rStation;
}
},//MTNO001-TEST
{
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.materialOutfitID) {
hg.open('修改料號治具對應', '/BAS/BAS018U/' + obj.data.materialOutfitID , 480,480);
}
}
//通过行tool删除,lay-event="del"
function del(obj) {
//alert(obj);
if (obj.data.materialOutfitID) {
hg.confirm("系統:" + obj.data.outfitNo + ",确定要删除吗?", function () {
$.ajax({
url: '/BAS/BAS018D',
data: { id: obj.data.materialOutfitID},
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('新增料號治具對應', '/BAS/BAS018C', 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: '/BAS/GetMaterialItemByNo',
data: { id: iNO },
type: 'GET',
success: function (data) {
if (data.success) {
console.log(data);
table = hg.table.datatable('test', '料號治具對應維護', '/BAS/GetMaterialOutfitByItemID?id=' + data.data.itemID
, {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
}
else {
hg.msg("請確認料號是正確!");
}
},
error: function () {
hg.msg("網路請求失敗!");
}
});
};
</script>
}

129
AMESCoreStudio.Web/Views/BAS/BAS018C.cshtml

@ -0,0 +1,129 @@
@model AMESCoreStudio.WebApi.Models.AMES.MaterialOutfit
@{ ViewData["Title"] = "BAS018C";
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="BAS018CSave">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="MaterialOutfitID" 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="OutfitNo" class="control-label col-sm-3"></label>
<input asp-for="OutfitNo" class="form-control col-sm-9" />
<span asp-validation-for="OutfitNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="UnitNo" class="control-label col-sm-3"></label>
<select id="UnitNo" asp-for="UnitNo" asp-items="@ViewBag.UnitList" class="custom-select col-sm-9">
<option value="">請選擇</option>
</select>
<span asp-validation-for="UnitNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="RuleStationID" class="control-label col-sm-3"></label>
<select id="RuleStationID" asp-for="RuleStationID" class="custom-select col-sm-9">
<option value="">請選擇</option>
</select>
<span asp-validation-for="RuleStationID" 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('請確認料號是否正確!!!');
}
}
});
};
$("#UnitNo").change(function () {
var data = $("#UnitNo").val();
getRuleStationByUnitNo(data);
});
function getRuleStationByUnitNo(data) {
$.ajax({
url: "/BAS/GetRuleStationByUnit",
dataType: 'json',
data: { id: data },
contentType: "application/json",
type: 'get',
success: function (result) {
if (result.data) {
$("#RuleStationID").empty();
var count = 0;
$.each(result.data, function (index, item) {
$('#RuleStationID').append(new Option(item.stationDesc, item.ruleStationID));//修改參數
});
}
else {
$("#RuleStationID").empty();
$('#RuleStationID').append(new Option("無選項", ""));
}
layui.form.render("select");
}
});
};
</script>
}

126
AMESCoreStudio.Web/Views/BAS/BAS018U.cshtml

@ -0,0 +1,126 @@
@model AMESCoreStudio.WebApi.Models.AMES.MaterialOutfit
@{ ViewData["Title"] = "BAS018U";
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="BAS018USave">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="MaterialOutfitID" />
<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.MaterialItem.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="OutfitNo" class="control-label col-sm-3"></label>
<input asp-for="OutfitNo" class="form-control col-sm-9" />
<span asp-validation-for="OutfitNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="UnitNo" class="control-label col-sm-3"></label>
<select id="UnitNo" asp-for="UnitNo" asp-items="@ViewBag.UnitList" class="custom-select col-sm-9">
<option value="">請選擇</option>
</select>
<span asp-validation-for="UnitNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1">
<label asp-for="RuleStationID" class="control-label col-sm-3"></label>
<select id="RuleStationID" asp-for="RuleStationID" asp-items="@ViewBag.RuleStationList" class="custom-select col-sm-9">
<option value="">請選擇</option>
</select>
<span asp-validation-for="RuleStationID" 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: "/BAS/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('請確認料號是否正確!!!');
}
}
});
};
$("#UnitNo").change(function () {
var data = $("#UnitNo").val();
getRuleStationByUnitNo(data);
});
function getRuleStationByUnitNo(data) {
$.ajax({
url: "/BAS/GetRuleStationByUnit",
dataType: 'json',
data: { id: data },
contentType: "application/json",
type: 'get',
success: function (result) {
if (result.data) {
$("#RuleStationID").empty();
var count = 0;
$.each(result.data, function (index, item) {
$('#RuleStationID').append(new Option(item.stationDesc, item.ruleStationID));//修改參數
});
}
else {
$("#RuleStationID").empty();
$('#RuleStationID').append(new Option("無選項", ""));
}
layui.form.render("select");
}
});
};
</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.

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

@ -1689,6 +1689,13 @@
<param name="id">ItemID</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialOutfitController.GetMaterialOutfitByItemNo(System.String)">
<summary>
料號基本資料檔 to ItemNo
</summary>
<param name="id">料號</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialSopController.#ctor(AMESCoreStudio.WebApi.AMESContext)">
<summary>
@ -1725,6 +1732,25 @@
料號站別工項資料檔
</summary>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialStationsItemController.#ctor(AMESCoreStudio.WebApi.AMESContext)">
<summary>
建構式
</summary>
<param name="context"></param>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialStationsItemController.GetMaterialStationsItems">
<summary>
查詢料號站別工項資料檔
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialStationsItemController.GetMaterialStationsItem(System.Int32)">
<summary>
料號站別工項檔 by ID
</summary>
<param name="id">MaterialKpID</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialStationsItemController.GetMaterialStationsItemByItemID(System.Int32)">
<summary>
料號站別工項資料檔 by ItemID
@ -1732,6 +1758,18 @@
<param name="id">ItemID</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialStationsItemController.PutMaterialStationsItem(System.Int32,AMESCoreStudio.WebApi.Models.AMES.MaterialStationsItem)">
<summary>
修改料號站別工項資料檔
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialStationsItemController.PostMaterialStationsItem(AMESCoreStudio.WebApi.Models.AMES.MaterialStationsItem)">
<summary>
新增料號站別工項資料檔
</summary>
<param name="MaterialStationsItem"></param>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MatPropertyController.#ctor(AMESCoreStudio.WebApi.AMESContext)">
<summary>
料號属性代碼基本檔
@ -3024,6 +3062,13 @@
<param name="wipatt"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipAttsController.PutWipAtt(AMESCoreStudio.WebApi.Models.AMES.WipAtt)">
<summary>
更新工單資料Att
</summary>
<param name="wipatt"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WipBarcodeController">
<summary>
@ -3089,6 +3134,13 @@
<param name="No">序號</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipBarcodeOtherController.PutWipBarcodeOther(AMESCoreStudio.WebApi.Models.AMES.WipBarcodeOther)">
<summary>
更新檢驗结果維護
</summary>
<param name="fqcResult"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WipBoardController">
<summary>
@ -3114,7 +3166,7 @@
<param name="wipBoard"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipBoardController.PutWipLock(AMESCoreStudio.WebApi.Models.AMES.WipBoard)">
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipBoardController.PutWipBoard(AMESCoreStudio.WebApi.Models.AMES.WipBoard)">
<summary>
修改工單資訊-板卡工程資訊
</summary>
@ -3227,6 +3279,34 @@
工單KP資訊資料檔
</summary>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipKpsController.GetWipKpByWipNo(System.String)">
<summary>
ByWipNo
</summary>
<param name="id">工單號碼</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipKpsController.PutWipKp(AMESCoreStudio.WebApi.Models.AMES.WipKp)">
<summary>
更新工單KP資訊資料檔
</summary>
<param name="wipKp"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipKpsController.PutWipKpByStatus(AMESCoreStudio.WebApi.Models.AMES.WipKp)">
<summary>
更新工單KP資訊資料檔-狀態
</summary>
<param name="wipKp"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipKpsController.PostWipKp(AMESCoreStudio.WebApi.Models.AMES.WipKp)">
<summary>
新增工單KP資訊資料檔
</summary>
<param name="wipKp"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipLabelController.#ctor(AMESCoreStudio.WebApi.AMESContext)">
<summary>
@ -3239,6 +3319,13 @@
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipLabelController.PutWipLabel(AMESCoreStudio.WebApi.Models.AMES.WipLabel)">
<summary>
更新工單標籤
</summary>
<param name="wipLabel"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WipLockController">
<summary>
@ -3477,7 +3564,7 @@
<param name="wipSystem"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipSystemController.PutWipLock(AMESCoreStudio.WebApi.Models.AMES.WipSystem)">
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipSystemController.PutWipSystem(AMESCoreStudio.WebApi.Models.AMES.WipSystem)">
<summary>
修改工單資訊-系統組裝工程資訊
</summary>
@ -4419,6 +4506,15 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.BAS.RuleStationsController.GetRuleStationByWipNo(System.String,System.Int32,System.Int32)">
<summary>
ByWipNo 取流程別
</summary>
<param name="id">工單號碼</param>
<param name="flowRuleIDNew">變更後ID</param>
<param name="flowRuleIDOld">變更前ID</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.BAS.RuleStationsController.GetRuleStationByUnit(System.String)">
<summary>
根據製程單位獲取指定單一資料
@ -5837,6 +5933,51 @@
更新日期
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto">
<summary>
流程站別資料
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.RuleStationID">
<summary>
流程站別編號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.FlowRuleID">
<summary>
流程編號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.FlowRuleName">
<summary>
流程名稱
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.StationID">
<summary>
站別編號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.StationDesc">
<summary>
站別描述
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.Sequence">
<summary>
站別順序
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.StationType">
<summary>
站別類型
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.UnitNoName">
<summary>
生產單位名稱
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.DTO.AMES.WipInfoDto">
<summary>
WipInfo Select Dto
@ -5872,6 +6013,61 @@
料號
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto">
<summary>
工單KP資訊資料檔 DTO
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.WipKpID">
<summary>
工單KP_ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.WipID">
<summary>
工單ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.ItemNo">
<summary>
料號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.KpName">
<summary>
KP料號名稱
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.KpNo">
<summary>
KP料號NO
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.KpSeq">
<summary>
順序
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.Title">
<summary>
前置碼
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.Length">
<summary>
長度
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.UnitNoName">
<summary>
生產單位代號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.Status">
<summary>
狀態 A:啟用 S:停用
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.DTO.AMES.WipLockDto">
<summary>
WipInfo Select Dto
@ -9150,6 +9346,11 @@
料號治具ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialOutfit.UnitNo">
<summary>
生產單位
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialOutfit.ItemID">
<summary>
料號ID
@ -9195,6 +9396,16 @@
料號主檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialOutfit.Unit">
<summary>
製程單位主檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialOutfit.RStation">
<summary>
製程單位主檔
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.MaterialSop">
<summary>
SOP文件紀錄
@ -9330,6 +9541,16 @@
料號主檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialStationsItem.Unit">
<summary>
製程單位主檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialStationsItem.RStation">
<summary>
製程單位主檔
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.MatProperty">
<summary>
料號属性代碼基本檔
@ -10290,21 +10511,6 @@
更新日期
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.RepairResponsibleUnits">
<summary>
維修責任單位
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.RepairResponsibleUnits.RepairResponsibleID">
<summary>
維修責任單位ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.RepairResponsibleUnits.RepairResponsibleDesc">
<summary>
維修責任單位描述
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.RepairType">
<summary>
維修方式資料表
@ -10935,6 +11141,11 @@
PCB烘烤
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipBoard.PcbProcessing">
<summary>
PCB加工
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipBoard.SolderPaste">
<summary>
錫膏
@ -11290,6 +11501,11 @@
工單KP_ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.WipID">
<summary>
工單ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.ItemNo">
<summary>
料號
@ -11325,6 +11541,11 @@
生產單位代號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.Status">
<summary>
狀態 A:啟用 S:停用
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.CreateUserID">
<summary>
建立UserID

1
AMESCoreStudio.WebApi/AMESCoreStudio.WebApi.csproj

@ -23,6 +23,7 @@
<Compile Remove="Models\AMES\FactoryInfo.cs" />
<Compile Remove="Models\AMES\FactoryUnit.cs" />
<Compile Remove="Models\AMES\LineInfo.cs" />
<Compile Remove="Models\AMES\RepairResponsibleUnits.cs" />
</ItemGroup>
<ItemGroup>

85
AMESCoreStudio.WebApi/Controllers/AMES/MaterialOutfitController.cs

@ -35,7 +35,11 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
[HttpGet]
public async Task<ActionResult<IEnumerable<MaterialOutfit>>> GetMaterialOutfits()
{
return await _context.MaterialOutfits.ToListAsync();
IQueryable<MaterialOutfit> q = _context.MaterialOutfits;
q = q.OrderBy(p => p.MaterialOutfitID);
var MaterialOutfit = await q.ToListAsync();
return MaterialOutfit;
}
/// <summary>
@ -45,16 +49,11 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
/// <returns></returns>
// GET: api/MaterialOutfits/5
[HttpGet("{id}")]
public async Task<ActionResult<MaterialOutfit>> GetMaterialOutfit(int id)
{
var materialOutfit = await _context.MaterialOutfits.FindAsync(id);
if (materialOutfit == null)
public async Task<IEnumerable<MaterialOutfit>> GetMaterialOutfit(int id)
{
return NotFound();
}
return materialOutfit;
IQueryable<MaterialOutfit> q = _context.MaterialOutfits;
var result = await q.Where(p => p.MaterialOutfitID == id).ToListAsync();
return result;
}
/// <summary>
@ -93,60 +92,76 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
[HttpPut("{id}")]
public async Task<IActionResult> PutMaterialOutfit(int id, MaterialOutfit materialOutfit)
public async Task<ResultModel<MaterialOutfit>> PutMaterialOutfit(int id, MaterialOutfit MaterialOutfit)
{
if (id != materialOutfit.MaterialOutfitID)
ResultModel<MaterialOutfit> result = new ResultModel<MaterialOutfit>();
if (id != MaterialOutfit.MaterialOutfitID)
{
return BadRequest();
result.Success = false;
result.Msg = "序號錯誤";
return result;
}
_context.Entry(materialOutfit).State = EntityState.Modified;
_context.Entry(MaterialOutfit).State = EntityState.Modified;
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (DbUpdateConcurrencyException)
{
if (!MaterialOutfitExists(id))
{
return NotFound();
}
else
catch (Exception ex)
{
throw;
}
result.Success = false;
result.Msg = ex.InnerException.Message;
}
return NoContent();
return result;
}
// POST: api/MaterialOutfits
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
[HttpPost]
public async Task<ActionResult<MaterialOutfit>> PostMaterialOutfit(MaterialOutfit materialOutfit)
public async Task<ResultModel<MaterialOutfit>> PostMaterialOutfit(MaterialOutfit MaterialOutfit)
{
_context.MaterialOutfits.Add(materialOutfit);
await _context.SaveChangesAsync();
ResultModel<MaterialOutfit> result = new ResultModel<MaterialOutfit>();
Helper helper = new Helper(_context);
MaterialOutfit.MaterialOutfitID = helper.GetIDKey("MaterialOutfitID").Result;
return CreatedAtAction("GetMaterialOutfit", new { id = materialOutfit.MaterialOutfitID }, materialOutfit);
_context.MaterialOutfits.Add(MaterialOutfit);
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (Exception ex)
{
result.Success = false;
result.Msg = ex.InnerException.Message;
}
return result;
}
// DELETE: api/MaterialOutfits/5
[HttpDelete("{id}")]
public async Task<ActionResult<MaterialOutfit>> DeleteMaterialOutfit(int id)
public async Task<ResultModel<MaterialOutfit>> DeleteMaterialOutfit(int id)
{
var materialOutfit = await _context.MaterialOutfits.FindAsync(id);
if (materialOutfit == null)
ResultModel<MaterialOutfit> result = new ResultModel<MaterialOutfit>();
var MaterialOutfit = await _context.MaterialOutfits.Where(m => m.MaterialOutfitID == id).FirstOrDefaultAsync();
if (MaterialOutfit == null)
{
return NotFound();
result.Success = false;
result.Msg = "序號不存在";
return result;
}
_context.MaterialOutfits.Remove(materialOutfit);
_context.MaterialOutfits.Remove(MaterialOutfit);
await _context.SaveChangesAsync();
return materialOutfit;
result.Success = true;
result.Msg = "OK";
return result;
}
private bool MaterialOutfitExists(int id)

109
AMESCoreStudio.WebApi/Controllers/AMES/MaterialStationsItemController.cs

@ -7,6 +7,8 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using AMESCoreStudio.WebApi;
using AMESCoreStudio.WebApi.Models.AMES;
using AMESCoreStudio.CommonTools.Result;
namespace AMESCoreStudio.WebApi.Controllers.AMES
{
@ -19,30 +21,43 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
{
private readonly AMESContext _context;
/// <summary>
/// 建構式
/// </summary>
/// <param name="context"></param>
public MaterialStationsItemController(AMESContext context)
{
_context = context;
}
/// <summary>
/// 查詢料號站別工項資料檔
/// </summary>
/// <returns></returns>
// GET: api/MaterialStationsItems
[HttpGet]
public async Task<ActionResult<IEnumerable<MaterialStationsItem>>> GetMaterialStationsItems()
{
return await _context.MaterialStationsItems.ToListAsync();
IQueryable<MaterialStationsItem> q = _context.MaterialStationsItems;
q = q.OrderBy(p => p.MsiID);
var MaterialStationsItem = await q.ToListAsync();
return MaterialStationsItem;
}
/// <summary>
/// 料號站別工項檔 by ID
/// </summary>
/// <param name="id">MaterialKpID</param>
/// <returns></returns>
// GET: api/MaterialStationsItems/5
[HttpGet("{id}")]
public async Task<ActionResult<MaterialStationsItem>> GetMaterialStationsItem(int id)
public async Task<IEnumerable<MaterialStationsItem>> GetMaterialStationsItem(int id)
{
var materialStationsItem = await _context.MaterialStationsItems.FindAsync(id);
if (materialStationsItem == null)
{
return NotFound();
}
return materialStationsItem;
IQueryable<MaterialStationsItem> q = _context.MaterialStationsItems;
var result = await q.Where(p => p.MsiID == id).ToListAsync();
return result;
}
/// <summary>
@ -58,64 +73,88 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return result;
}
/// <summary>
/// 修改料號站別工項資料檔
/// </summary>
/// <returns></returns>
// PUT: api/MaterialStationsItems/5
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
[HttpPut("{id}")]
public async Task<IActionResult> PutMaterialStationsItem(int id, MaterialStationsItem materialStationsItem)
public async Task<ResultModel<MaterialStationsItem>> PutMaterialStationsItem(int id, MaterialStationsItem MaterialStationsItem)
{
if (id != materialStationsItem.MsiID)
ResultModel<MaterialStationsItem> result = new ResultModel<MaterialStationsItem>();
if (id != MaterialStationsItem.MsiID)
{
return BadRequest();
result.Success = false;
result.Msg = "序號錯誤";
return result;
}
_context.Entry(materialStationsItem).State = EntityState.Modified;
_context.Entry(MaterialStationsItem).State = EntityState.Modified;
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (DbUpdateConcurrencyException)
{
if (!MaterialStationsItemExists(id))
{
return NotFound();
}
else
catch (Exception ex)
{
throw;
result.Success = false;
result.Msg = ex.InnerException.Message;
}
return result;
}
return NoContent();
}
/// <summary>
/// 新增料號站別工項資料檔
/// </summary>
/// <param name="MaterialStationsItem"></param>
// POST: api/MaterialStationsItems
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
[HttpPost]
public async Task<ActionResult<MaterialStationsItem>> PostMaterialStationsItem(MaterialStationsItem materialStationsItem)
public async Task<ResultModel<MaterialStationsItem>> PostMaterialStationsItem(MaterialStationsItem MaterialStationsItem)
{
_context.MaterialStationsItems.Add(materialStationsItem);
await _context.SaveChangesAsync();
ResultModel<MaterialStationsItem> result = new ResultModel<MaterialStationsItem>();
Helper helper = new Helper(_context);
MaterialStationsItem.MsiID = helper.GetIDKey("MSI_ID").Result;
return CreatedAtAction("GetMaterialStationsItem", new { id = materialStationsItem.MsiID }, materialStationsItem);
_context.MaterialStationsItems.Add(MaterialStationsItem);
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (Exception ex)
{
result.Success = false;
result.Msg = ex.InnerException.Message;
}
return result;
}
// DELETE: api/MaterialStationsItems/5
[HttpDelete("{id}")]
public async Task<ActionResult<MaterialStationsItem>> DeleteMaterialStationsItem(int id)
public async Task<ResultModel<MaterialStationsItem>> DeleteMaterialStationsItem(int id)
{
var materialStationsItem = await _context.MaterialStationsItems.FindAsync(id);
if (materialStationsItem == null)
ResultModel<MaterialStationsItem> result = new ResultModel<MaterialStationsItem>();
var MaterialStationsItem = await _context.MaterialStationsItems.Where(m => m.MsiID == id).FirstOrDefaultAsync();
if (MaterialStationsItem == null)
{
return NotFound();
result.Success = false;
result.Msg = "序號不存在";
return result;
}
_context.MaterialStationsItems.Remove(materialStationsItem);
_context.MaterialStationsItems.Remove(MaterialStationsItem);
await _context.SaveChangesAsync();
return materialStationsItem;
result.Success = true;
result.Msg = "OK";
return result;
}
private bool MaterialStationsItemExists(int id)

33
AMESCoreStudio.WebApi/Models/AMES/MaterialOutfit.cs

@ -22,12 +22,22 @@ namespace AMESCoreStudio.WebApi.Models.AMES
[Display(Name = "料號治具ID")]
public int MaterialOutfitID { get; set; }
/// <summary>
/// 生產單位
/// </summary>
[Column("UNIT_NO")]
[StringLength(1)]
[DataMember]
[Required(ErrorMessage = "{0},不能空白")]
[Display(Name = "製程單位")]
public string UnitNo { get; set; }
/// <summary>
/// 料號ID
/// </summary>
[DataMember]
[Required(ErrorMessage = "{0},不能空白")]
[Display(Name = "料號ID")]
[Display(Name = "料號")]
[Column("ITEM_ID")]
public int ItemID { get; set; }
@ -36,7 +46,7 @@ namespace AMESCoreStudio.WebApi.Models.AMES
/// </summary>
[DataMember]
[Required(ErrorMessage = "{0},不能空白")]
[Display(Name = "治具NO")]
[Display(Name = "治具代碼")]
[Column("OUTFIT_NO")]
[StringLength(15)]
public string OutfitNo { get; set; }
@ -45,7 +55,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES
/// 站(前段)
/// </summary>
[DataMember]
[Required(ErrorMessage = "{0},不能空白")]
[Display(Name = "站(前段)")]
[Column("STATION_TYPE")]
[StringLength(25)]
@ -96,5 +105,23 @@ namespace AMESCoreStudio.WebApi.Models.AMES
/// </summary>
[ForeignKey("ItemID")]
public virtual MaterialItem MaterialItem { get; set; }
/// <summary>
/// 製程單位主檔
/// </summary>
[ForeignKey("UnitNo")]
public virtual AMESCoreStudio.WebApi.Models.BAS.FactoryUnit Unit { get; set; }
/// <summary>
/// 製程單位主檔
/// </summary>
[ForeignKey("RuleStationID")]
public virtual AMESCoreStudio.WebApi.Models.BAS.RuleStation RStation { get; set; }
/// <summary>
/// 製程單位主檔
/// </summary>
//[ForeignKey("RuleStationID")]
//public virtual OutFitInfo RStation { get; set; }
}
}

17
AMESCoreStudio.WebApi/Models/AMES/MaterialStationsItem.cs

@ -19,6 +19,7 @@ namespace AMESCoreStudio.WebApi.Models.AMES
[Key]
[Column("MSI_ID")]
[DataMember]
[Required]
public int MsiID { get; set; }
/// <summary>
@ -27,7 +28,7 @@ namespace AMESCoreStudio.WebApi.Models.AMES
[Column("ITEM_ID")]
[DataMember]
[Required(ErrorMessage = "{0},不能空白")]
[Display(Name = "料號ID")]
[Display(Name = "料號")]
public int ItemID { get; set; }
/// <summary>
@ -46,6 +47,7 @@ namespace AMESCoreStudio.WebApi.Models.AMES
[Column("RULE_STATION_ID")]
[DataMember]
[Required]
[Display(Name = "流程站別編號")]
public int RuleStationID { get; set; }
/// <summary>
@ -54,7 +56,6 @@ namespace AMESCoreStudio.WebApi.Models.AMES
[Column("STATION_TYPE")]
[StringLength(10)]
[DataMember]
[Required(ErrorMessage = "{0},不能空白")]
[Display(Name = "站(前段)")]
public string StationType { get; set; }
@ -126,5 +127,17 @@ namespace AMESCoreStudio.WebApi.Models.AMES
/// </summary>
[ForeignKey("ItemID")]
public virtual MaterialItem MaterialItem { get; set; }
/// <summary>
/// 製程單位主檔
/// </summary>
[ForeignKey("UnitNo")]
public virtual AMESCoreStudio.WebApi.Models.BAS.FactoryUnit Unit { get; set; }
/// <summary>
/// 製程單位主檔
/// </summary>
[ForeignKey("RuleStationID")]
public virtual AMESCoreStudio.WebApi.Models.BAS.RuleStation RStation { get; set; }
}
}

4
AMESCoreStudio.WebApi/Models/AMESContext.cs

@ -506,12 +506,12 @@ namespace AMESCoreStudio.WebApi
/// <summary>
/// 料號站別工項資料檔
/// </summary>
public virtual DbSet<MaterialStationsItem> MaterialStationsItems { get; set; }
public virtual DbSet<AMESCoreStudio.WebApi.Models.AMES.MaterialStationsItem> MaterialStationsItems { get; set; }
/// <summary>
/// 料號治具資訊資料檔
/// </summary>
public virtual DbSet<MaterialOutfit> MaterialOutfits { get; set; }
public virtual DbSet<AMESCoreStudio.WebApi.Models.AMES.MaterialOutfit> MaterialOutfits { get; set; }
/// <summary>
/// 條碼鎖定資料表

4
AMESCoreStudio.WebApi/appsettings.json

@ -7,8 +7,8 @@
}
},
"ConnectionStrings": {
"AMESContext": "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.5)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=gdb)));User Id=JHSYS;Password=ASYS666;",
"AMESContext1": "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=61.216.68.18)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=jhdb)));User Id=system;Password=admin;"
"AMESContext2": "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.5)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=gdb)));User Id=JHSYS;Password=ASYS666;",
"AMESContext": "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=61.216.68.18)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=jhdb)));User Id=system;Password=admin;"
//"AMESContext": "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=61.216.68.18)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=cpadb)));User Id=JHSYS;Password=ASYS666;"
},
"AllowedHosts": "*"

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.

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

@ -1689,6 +1689,13 @@
<param name="id">ItemID</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialOutfitController.GetMaterialOutfitByItemNo(System.String)">
<summary>
料號基本資料檔 to ItemNo
</summary>
<param name="id">料號</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialSopController.#ctor(AMESCoreStudio.WebApi.AMESContext)">
<summary>
@ -1725,6 +1732,25 @@
料號站別工項資料檔
</summary>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialStationsItemController.#ctor(AMESCoreStudio.WebApi.AMESContext)">
<summary>
建構式
</summary>
<param name="context"></param>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialStationsItemController.GetMaterialStationsItems">
<summary>
查詢料號站別工項資料檔
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialStationsItemController.GetMaterialStationsItem(System.Int32)">
<summary>
料號站別工項檔 by ID
</summary>
<param name="id">MaterialKpID</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialStationsItemController.GetMaterialStationsItemByItemID(System.Int32)">
<summary>
料號站別工項資料檔 by ItemID
@ -1732,6 +1758,18 @@
<param name="id">ItemID</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialStationsItemController.PutMaterialStationsItem(System.Int32,AMESCoreStudio.WebApi.Models.AMES.MaterialStationsItem)">
<summary>
修改料號站別工項資料檔
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MaterialStationsItemController.PostMaterialStationsItem(AMESCoreStudio.WebApi.Models.AMES.MaterialStationsItem)">
<summary>
新增料號站別工項資料檔
</summary>
<param name="MaterialStationsItem"></param>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.MatPropertyController.#ctor(AMESCoreStudio.WebApi.AMESContext)">
<summary>
料號属性代碼基本檔
@ -3024,6 +3062,13 @@
<param name="wipatt"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipAttsController.PutWipAtt(AMESCoreStudio.WebApi.Models.AMES.WipAtt)">
<summary>
更新工單資料Att
</summary>
<param name="wipatt"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WipBarcodeController">
<summary>
@ -3089,6 +3134,13 @@
<param name="No">序號</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipBarcodeOtherController.PutWipBarcodeOther(AMESCoreStudio.WebApi.Models.AMES.WipBarcodeOther)">
<summary>
更新檢驗结果維護
</summary>
<param name="fqcResult"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WipBoardController">
<summary>
@ -3114,7 +3166,7 @@
<param name="wipBoard"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipBoardController.PutWipLock(AMESCoreStudio.WebApi.Models.AMES.WipBoard)">
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipBoardController.PutWipBoard(AMESCoreStudio.WebApi.Models.AMES.WipBoard)">
<summary>
修改工單資訊-板卡工程資訊
</summary>
@ -3227,6 +3279,34 @@
工單KP資訊資料檔
</summary>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipKpsController.GetWipKpByWipNo(System.String)">
<summary>
ByWipNo
</summary>
<param name="id">工單號碼</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipKpsController.PutWipKp(AMESCoreStudio.WebApi.Models.AMES.WipKp)">
<summary>
更新工單KP資訊資料檔
</summary>
<param name="wipKp"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipKpsController.PutWipKpByStatus(AMESCoreStudio.WebApi.Models.AMES.WipKp)">
<summary>
更新工單KP資訊資料檔-狀態
</summary>
<param name="wipKp"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipKpsController.PostWipKp(AMESCoreStudio.WebApi.Models.AMES.WipKp)">
<summary>
新增工單KP資訊資料檔
</summary>
<param name="wipKp"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipLabelController.#ctor(AMESCoreStudio.WebApi.AMESContext)">
<summary>
@ -3239,6 +3319,13 @@
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipLabelController.PutWipLabel(AMESCoreStudio.WebApi.Models.AMES.WipLabel)">
<summary>
更新工單標籤
</summary>
<param name="wipLabel"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WipLockController">
<summary>
@ -3477,7 +3564,7 @@
<param name="wipSystem"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipSystemController.PutWipLock(AMESCoreStudio.WebApi.Models.AMES.WipSystem)">
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipSystemController.PutWipSystem(AMESCoreStudio.WebApi.Models.AMES.WipSystem)">
<summary>
修改工單資訊-系統組裝工程資訊
</summary>
@ -4419,6 +4506,15 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.BAS.RuleStationsController.GetRuleStationByWipNo(System.String,System.Int32,System.Int32)">
<summary>
ByWipNo 取流程別
</summary>
<param name="id">工單號碼</param>
<param name="flowRuleIDNew">變更後ID</param>
<param name="flowRuleIDOld">變更前ID</param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.BAS.RuleStationsController.GetRuleStationByUnit(System.String)">
<summary>
根據製程單位獲取指定單一資料
@ -5837,6 +5933,51 @@
更新日期
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto">
<summary>
流程站別資料
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.RuleStationID">
<summary>
流程站別編號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.FlowRuleID">
<summary>
流程編號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.FlowRuleName">
<summary>
流程名稱
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.StationID">
<summary>
站別編號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.StationDesc">
<summary>
站別描述
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.Sequence">
<summary>
站別順序
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.StationType">
<summary>
站別類型
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.RuleStationDto.UnitNoName">
<summary>
生產單位名稱
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.DTO.AMES.WipInfoDto">
<summary>
WipInfo Select Dto
@ -5872,6 +6013,61 @@
料號
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto">
<summary>
工單KP資訊資料檔 DTO
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.WipKpID">
<summary>
工單KP_ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.WipID">
<summary>
工單ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.ItemNo">
<summary>
料號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.KpName">
<summary>
KP料號名稱
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.KpNo">
<summary>
KP料號NO
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.KpSeq">
<summary>
順序
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.Title">
<summary>
前置碼
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.Length">
<summary>
長度
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.UnitNoName">
<summary>
生產單位代號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.WipKpDto.Status">
<summary>
狀態 A:啟用 S:停用
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.DTO.AMES.WipLockDto">
<summary>
WipInfo Select Dto
@ -9150,6 +9346,11 @@
料號治具ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialOutfit.UnitNo">
<summary>
生產單位
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialOutfit.ItemID">
<summary>
料號ID
@ -9195,6 +9396,16 @@
料號主檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialOutfit.Unit">
<summary>
製程單位主檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialOutfit.RStation">
<summary>
製程單位主檔
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.MaterialSop">
<summary>
SOP文件紀錄
@ -9330,6 +9541,16 @@
料號主檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialStationsItem.Unit">
<summary>
製程單位主檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.MaterialStationsItem.RStation">
<summary>
製程單位主檔
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.MatProperty">
<summary>
料號属性代碼基本檔
@ -10290,21 +10511,6 @@
更新日期
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.RepairResponsibleUnits">
<summary>
維修責任單位
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.RepairResponsibleUnits.RepairResponsibleID">
<summary>
維修責任單位ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.RepairResponsibleUnits.RepairResponsibleDesc">
<summary>
維修責任單位描述
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.RepairType">
<summary>
維修方式資料表
@ -10935,6 +11141,11 @@
PCB烘烤
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipBoard.PcbProcessing">
<summary>
PCB加工
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipBoard.SolderPaste">
<summary>
錫膏
@ -11290,6 +11501,11 @@
工單KP_ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.WipID">
<summary>
工單ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.ItemNo">
<summary>
料號
@ -11325,6 +11541,11 @@
生產單位代號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.Status">
<summary>
狀態 A:啟用 S:停用
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.CreateUserID">
<summary>
建立UserID

2
AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/appsettings.json

@ -7,7 +7,7 @@
}
},
"ConnectionStrings": {
"AMESContext2": "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.5)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=gdb)));User Id=JHSYS;Password=12345;",
"AMESContext2": "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.5)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=gdb)));User Id=JHSYS;Password=ASYS666;",
"AMESContext": "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=61.216.68.18)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=jhdb)));User Id=system;Password=admin;"
//"AMESContext": "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=61.216.68.18)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=cpadb)));User Id=JHSYS;Password=ASYS666;"
},

Loading…
Cancel
Save