Browse Source

修正SPC005C功能(上傳附件) 增加SPC005V/005U

PTD
Shani 3 years ago
parent
commit
6cd36be28b
  1. 4
      AMESCoreStudio.Web/AMESCoreStudio.Web.csproj
  2. 297
      AMESCoreStudio.Web/Controllers/SPCController.cs
  3. 47
      AMESCoreStudio.Web/HttpApis/AMES/ISPC.cs
  4. 16
      AMESCoreStudio.Web/Views/SPC/SPC002.cshtml
  5. 51
      AMESCoreStudio.Web/Views/SPC/SPC005.cshtml
  6. 170
      AMESCoreStudio.Web/Views/SPC/SPC005C.cshtml
  7. 424
      AMESCoreStudio.Web/Views/SPC/SPC005U.cshtml
  8. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.Web.Views.dll
  9. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.Web.Views.pdb
  10. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.Web.dll
  11. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.Web.pdb
  12. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.Views.dll
  13. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.Views.pdb
  14. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.dll
  15. BIN
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.pdb
  16. 398
      AMESCoreStudio.Web/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.xml
  17. 15
      AMESCoreStudio.WebApi/Controllers/AMES/InspectionFormsController.cs
  18. 1
      AMESCoreStudio.WebApi/Controllers/AMES/InspectionItemsController.cs
  19. 3
      AMESCoreStudio.WebApi/Controllers/AMES/InspectionResultDetailsController.cs
  20. 34
      AMESCoreStudio.WebApi/Controllers/AMES/InspectionResultMastersController.cs
  21. 9
      AMESCoreStudio.WebApi/Models/AMES/InspectionForm.cs
  22. 30
      AMESCoreStudio.WebApi/Models/AMES/InspectionResultBlob.cs
  23. 32
      AMESCoreStudio.WebApi/Models/AMES/InspectionResultDetail.cs
  24. 6
      AMESCoreStudio.WebApi/Models/AMESContext.cs
  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. 398
      AMESCoreStudio.WebApi/bin/Debug/netcoreapp3.1/AMESCoreStudio.WebApi.xml

4
AMESCoreStudio.Web/AMESCoreStudio.Web.csproj

@ -41,4 +41,8 @@
<ProjectReference Include="..\AMESCoreStudio.WebApi\AMESCoreStudio.WebApi.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="wwwroot\PCSFile\" />
</ItemGroup>
</Project>

297
AMESCoreStudio.Web/Controllers/SPCController.cs

@ -9,6 +9,10 @@ using Microsoft.AspNetCore.Mvc.Rendering;
using AMESCoreStudio.WebApi.Models.AMES;
using AMESCoreStudio.WebApi.Models.BAS;
using AMESCoreStudio.CommonTools.Result;
using System.IO;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Hosting;
using AMESCoreStudio.WebApi.DTO.AMES;
namespace AMESCoreStudio.Web.Controllers
{
@ -21,8 +25,9 @@ namespace AMESCoreStudio.Web.Controllers
public readonly IPCS _pcsApi;
public readonly ISYS _sysApi;
public readonly IPPS _ppsApi;
private readonly IWebHostEnvironment _env;
public SPCController(ILogger<SPCController> logger, ISPC spcApi, IWHS whsApi,IBAS basApi, IPCS pcsApi, ISYS sysApi, IPPS ppsApi)
public SPCController(ILogger<SPCController> logger, ISPC spcApi, IWHS whsApi,IBAS basApi, IPCS pcsApi, ISYS sysApi, IPPS ppsApi, IWebHostEnvironment env)
{
_logger = logger;
_spcApi = spcApi;
@ -31,6 +36,7 @@ namespace AMESCoreStudio.Web.Controllers
_pcsApi = pcsApi;
_sysApi = sysApi;
_ppsApi = ppsApi;
_env = env;
}
@ -68,18 +74,6 @@ namespace AMESCoreStudio.Web.Controllers
}
ViewBag.WClassList = GroupList;
}
private async Task GetFactoryUnitsList()
{
var result = await _basApi.GetFactoryUnits();
var UnitItems = new List<SelectListItem>();
UnitItems.Add(new SelectListItem("全部", "0"));
for (int i = 0; i < result.Count; i++)
{
UnitItems.Add(new SelectListItem(result[i].UnitName, result[i].UnitNo.ToString()));
}
ViewBag.FactoryUnit = UnitItems;
}
private async Task GetFactoryUnitsList2()
{
var result = await _basApi.GetFactoryUnits();
@ -115,29 +109,6 @@ namespace AMESCoreStudio.Web.Controllers
}
ViewBag.LineList = LineItems;
}
private async Task GetDeptList()
{
var result = await _sysApi.GetDeptInfoes();
var DeptItems = new List<SelectListItem>();
DeptItems.Add(new SelectListItem("N/A", "0"));
for (int i = 0; i < result.Count; i++)
{
DeptItems.Add(new SelectListItem(result[i].DeptName, result[i].DeptID.ToString()));
}
ViewBag.DeptList = DeptItems;
}
private async Task GetDeptList2()
{
var result = await _sysApi.GetDeptInfoes();
var DeptItems = new List<SelectListItem>();
for (int i = 0; i < result.Count; i++)
{
DeptItems.Add(new SelectListItem(result[i].DeptName, result[i].DeptID.ToString()));
}
ViewBag.DeptList = DeptItems;
}
private void GetSideList()
{
@ -245,6 +216,42 @@ namespace AMESCoreStudio.Web.Controllers
}
ViewBag.LineList = LineItems;
}
private async Task GetDeptList()
{
var result = await _sysApi.GetDeptInfoes();
var DeptItems = new List<SelectListItem>();
DeptItems.Add(new SelectListItem("N/A", "0"));
for (int i = 0; i < result.Count; i++)
{
DeptItems.Add(new SelectListItem(result[i].DeptName, result[i].DeptID.ToString()));
}
ViewBag.DeptList = DeptItems;
}
private async Task GetUserInfo()
{
var result = await _sysApi.GetUserInfoes();
var UserItems = new List<SelectListItem>();
UserItems.Add(new SelectListItem("N/A", "0"));
for (int i = 0; i < result.Count; i++)
{
UserItems.Add(new SelectListItem(result[i].UserName, result[i].UserID.ToString()));
}
ViewBag.UserList = UserItems;
}
private async Task GetFactoryUnitsList()
{
var result = await _basApi.GetFactoryUnits();
var UnitItems = new List<SelectListItem>();
UnitItems.Add(new SelectListItem("NA", "0"));
for (int i = 0; i < result.Count; i++)
{
UnitItems.Add(new SelectListItem(result[i].UnitName, result[i].UnitNo.ToString()));
}
ViewBag.FactoryUnit = UnitItems;
}
#endregion
@ -758,29 +765,48 @@ namespace AMESCoreStudio.Web.Controllers
public async Task<IActionResult> SPC005C(int id)
{
var result = await _spcApi.GetInspectionForm(id);
var master = await _spcApi.GetInspectionResultMastersNewID();
ViewBag.FormID = result[0].InspectionFormID;
ViewBag.FormName = "正在新增[" + result[0].InspectionName + "]細項";
ViewBag.MasterID = master;
await GetStationList();
await GetLineList();
await GetFactoryUnitsList();
await GetUserInfo();
return View();
}
//新增頁面
public async Task<IActionResult> SPC005R(int id,int itemID)
{
ViewBag.ItemID = itemID;
ViewBag.MasterID = id;
await GetStationList();
return View();
}
//修改页面
[HttpGet]
public async Task<IActionResult> SPC005UAsync(int id)
{
//廠別
await GetFactoryList();
//製程單位
await GetFactoryUnitsList3();
//線別
await GetLineList2();
//站別
await GetStationList();
//班別
GetClassList();
var result = await _whsApi.GetWorkManPower(id);
await GetLineList();
await GetFactoryUnitsList();
await GetUserInfo();
var result = await _spcApi.GetInspectionResultMaster(id);
if (result.Count == 0)
{
return View();
}
return View(result[0]);
}
[HttpGet]
public async Task<IActionResult> SPC005VAsync(int id)
{
await GetStationList();
await GetLineList();
await GetFactoryUnitsList();
await GetUserInfo();
var result = await _spcApi.GetInspectionResultMaster(id);
if (result.Count == 0)
{
return View();
@ -826,7 +852,7 @@ namespace AMESCoreStudio.Web.Controllers
}
public async Task<IActionResult> SPC005TSaveAsync(InspectionResultMaster model)
{
model.StatusNo = "T";
if (ModelState.IsValid)
{
IResultModel result;
@ -875,18 +901,111 @@ namespace AMESCoreStudio.Web.Controllers
//return Json(new Result() { success = true, msg = "資料有誤!!" });
}
public async Task<IActionResult> SPC005RSaveAsync(InspectionResultBlob model, IFormFile formFile)
{
IResultModel result;
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());
}
}
model.CreateUserID = user_id;
model.CreateDate = System.DateTime.Now;
model.UpdateUserID = user_id;
model.UpdateDate = System.DateTime.Now;
string FileName = string.Empty;
string NewName = string.Empty;
string FilePath = string.Empty;
if (formFile != null)
{
if (formFile.Length > 0)
{
//取得使用者上傳檔案的原始檔名
FileName = Path.GetFileName(formFile.FileName);
//取原始檔名中的副檔名
var fileExt = Path.GetExtension(FileName);
//為避免使用者上傳的檔案名稱發生重複,重新給一個亂數名稱
NewName = Path.GetRandomFileName() + fileExt;
//指定要寫入的路徑、檔名和副檔名
FilePath = $"\\PCSFile\\";//本機目錄
using (var stream = new FileStream(_env.WebRootPath + FilePath + NewName, FileMode.Create))
{
await formFile.CopyToAsync(stream);
}
//var fileProvider = _fileServerProvider.GetProvider("/aa");
//var fileInfo = fileProvider.GetFileInfo(formFile.FileName);
//fileInfo = fileProvider.GetFileInfo(formFile.FileName);
////遠端目錄
//using (var stream = new FileStream(fileInfo.PhysicalPath, FileMode.Create))
//{
// await formFile.CopyToAsync(stream);
model.ImageName = FileName;
model.NewName = NewName;
model.FilePath = FilePath;// fileInfo.PhysicalPath;
result = await _spcApi.PostInspectionResultBlob(JsonConvert.SerializeObject(model));
if (result.Success)
{
//var _msg = "上傳成功!";
ViewBag.ItemID = model.InspectionItemID;
ViewBag.MasterID = model.InspectionID;
return View("SPC005R");
}
else
{
ModelState.AddModelError("error", result.Msg);
}
}
}
else
{
ModelState.AddModelError("error", "請選擇要上傳檔案");
}
ViewBag.ItemID = model.InspectionItemID;
ViewBag.MasterID = model.InspectionID;
return View("SPC005R");
}
[HttpPatch]
public async Task<IActionResult> SPC005USaveAsync(InspectionResultMaster model)
{
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());
}
}
model.UpdateUserID = user_id;
model.UpdateDate = System.DateTime.Now;
if (ModelState.IsValid)
{
IResultModel result;
result = await _whsApi.PutWorkManPower(model.InspectionID, JsonConvert.SerializeObject(model));
result = await _spcApi.PutInspectionResultMaster(model.InspectionID, JsonConvert.SerializeObject(model));
if (result.Success)
{
var _msg = "修改成功!";
return RedirectToAction("Refresh", "Home", new { msg = _msg });
//var _msg = "添加成功!";
return Json(new Result() { success = true, msg = result.Msg });
}
else
{
@ -900,7 +1019,38 @@ namespace AMESCoreStudio.Web.Controllers
}
}
}
return View("SPC005U", model);
return Json(new Result() { success = false, msg = "資料有誤!!" });
}
public async Task<IActionResult> SPC005UListSaveAsync(InspectionResultDetail model)
{
IResultModel result;
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());
}
}
model.UpdateUserID = user_id;
model.UpdateDate = System.DateTime.Now;
result = await _spcApi.PutInspectionResultDetail(model.InspectionID, JsonConvert.SerializeObject(model));
if (result.Success)
{
//var _msg = "添加成功!";
return Json(new Result() { success = true, msg = result.Msg });
}
else
{
return Json(new Result() { success = false, msg = "資料有誤!!" });
}
//return Json(new Result() { success = true, msg = "資料有誤!!" });
}
[ResponseCache(Duration = 0)]
@ -916,7 +1066,6 @@ namespace AMESCoreStudio.Web.Controllers
return Json(new Table() { count = 0, data = null });
}
public async Task<IActionResult> GetInspectionResultMastersByFormIdAsync(int id)
{
var result = await _spcApi.GetInspectionResultMastersByFormId(id);
@ -928,6 +1077,46 @@ namespace AMESCoreStudio.Web.Controllers
return Json(new Table() { count = 0, data = null });
}
public async Task<IActionResult> GetInspectionResultBlobsByQueryAsync(int id, int itemID)
{
if (id == 0)
return Json(new Table() { count = 0, data = null });
var result = await _spcApi.GetInspectionResultBlobsByQuery(id, itemID);
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> GetInspectionResultDetailsAsync(int id)
{
var result = await _spcApi.GetInspectionResultDetails(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> GetWipAttAsync(string id)
{
var result = await _pcsApi.GetWipAtt(id);
if (result != null)
{
return Json(new Table() { code = 0, msg = "", data = result, count = 1 });
}
return Json(new Table() { count = 0, data = null });
}
#endregion

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

@ -203,21 +203,29 @@ namespace AMESCoreStudio.Web
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPut("api/InspectionResultMasters/{id}")]
ITask<ResultModel<InspectionResultMaster>> PutInspectionResultMaster(string id, [FromBody, RawJsonContent] string model);
ITask<ResultModel<InspectionResultMaster>> PutInspectionResultMaster(int id, [FromBody, RawJsonContent] string model);
/// <summary>
/// 更新巡檢結果MASTER
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPut("api/InspectionResultDetails/{id}")]
ITask<ResultModel<InspectionResultDetail>> PutInspectionResultDetail(int id, [FromBody, RawJsonContent] string model);
/// <summary>
/// 刪除巡檢結果MASTER
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpDelete("api/InspectionResultMasters/{id}")]
ITask<ResultModel<string>> DeleteInspectionResultMaster(string id);
ITask<ResultModel<string>> DeleteInspectionResultMaster(int id);
/// <summary>
/// 根據ID獲取指定巡檢結果MASTER
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/InspectionResultMasters/{id}")]
ITask<List<InspectionResultMaster>> GetInspectionResultMaster(string id);
ITask<List<InspectionResultMaster>> GetInspectionResultMaster(int id);
/// <summary>
/// 獲取巡檢結果MASTER
@ -233,14 +241,45 @@ namespace AMESCoreStudio.Web
[WebApiClient.Attributes.HttpGet("api/InspectionResultMasters/Form/{id}")]
ITask<List<InspectionResultMaster>> GetInspectionResultMastersByFormId(int id);
/// <summary>
/// 獲取MASTER ID
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/InspectionResultMasters/NewID")]
ITask<string> GetInspectionResultMastersNewID();
/// <summary>
/// 新增巡檢結果MASTER
/// 新增巡檢結果Detail
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPost("api/InspectionResultDetails")]
ITask<ResultModel<InspectionResultDetail>> PostInspectionResultDetail([FromBody, RawJsonContent] string model);
/// <summary>
/// 新增巡檢結果Blob
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPost("api/InspectionResultBlobs")]
ITask<ResultModel<InspectionResultBlob>> PostInspectionResultBlob([FromBody, RawJsonContent] string model);
/// <summary>
/// 獲取指定巡檢表單Blob資料By Query
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/InspectionResultBlobs/Query/{id}/{itemID}")]
ITask<List<InspectionResultBlob>> GetInspectionResultBlobsByQuery(int id, int itemID);
/// <summary>
/// 根據ID獲取指定巡檢結果Details
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/InspectionResultDetails/{id}")]
ITask<List<InspectionResultDetail>> GetInspectionResultDetails(int id);
#endregion

16
AMESCoreStudio.Web/Views/SPC/SPC002.cshtml

@ -73,19 +73,31 @@
var tableCols = [[
{
field: 'inspectionFormID',
sort: true,
title: '#'
},
{
field: 'inspectionName',
sort: true,
title: '文件名稱'
},
{
field: 'inspectionNo',
sort: true,
title: '文件編號'
},
//{
// field: 'unitNo',
// title: '製程單位'
//},
{
field: 'unitNo',
title: '製程單位'
field: 'factoryUnit',
title: '製程單位',
align: 'left',
sort: true,
templet: function (d) {
return d.factoryUnit['unitName'];
}
},
{
field: 'right',

51
AMESCoreStudio.Web/Views/SPC/SPC005.cshtml

@ -119,38 +119,57 @@
var tableCols = [[
{
field: 'inspectionID',
title: '#'
title: '#',
sort: true
},
{
field: 'barcodeNo',
title: '生產序號'
field: 'wipNo',
title: '工單號碼',
sort: true
},
{
field: 'wipNo',
title: '工單號碼'
field: 'barcodeNo',
title: '生產序號',
sort: true
},
{
field: 'itemNo',
title: '料號'
},
{
field: 'right',
width: 100,
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>'
field: 'createDate',
title: '建立日期',
sort: true,
templet: '<div>{{ layui.util.toDateString(d.createDate, "yyyy/MM/dd") }}</div>'
},
{
align: 'center', title: '操作', width: 100, fixed: 'right',
sort: true,
templet: function (item) {
var btns = '';
//btns = btns + '<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>';
if (item.statusNo == "T")
btns = btns + '<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>';
else if (item.statusNo == "C")
btns = btns + '<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">檢視</a>';
return btns;
}
}]
];
}
]];
//通过行tool编辑,lay-event="edit"
function edit(obj) {
if (obj.data.inspectionID) {
hg.open('修改巡檢結果', '/SPC/SPC005U/' + obj.data.inspectionID, 640, 320);
hg.open('修改巡檢結果', '/SPC/SPC005U/' + obj.data.inspectionID, '', '', true);
}
}
//通过行tool编辑,lay-event="view"
function view(obj) {
if (obj.data.inspectionID) {
hg.open('檢視巡檢結果', '/SPC/SPC005V/' + obj.data.inspectionID, '', '', true);
}
}
//通过行tool删除,lay-event="del"
function del(obj) {
if (obj.data.inspectionID) {
@ -182,7 +201,7 @@
handler: function () {
var form = $("#Form").val();
if (form) {
hg.open('新增巡檢結果', '/SPC/SPC005C/' + form, 800, 360);
hg.open('新增巡檢結果', '/SPC/SPC005C/' + form, '', '', true);
}
else {
alert("請選擇巡檢表單!!!!");

170
AMESCoreStudio.Web/Views/SPC/SPC005C.cshtml

@ -32,7 +32,7 @@
<label class="layui-form-label" value="@ViewBag.InspectionForm"></label>
<form id="modelform" method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="InspectionID" value="0" />
<input type="hidden" id="InspectionID" asp-for="InspectionID" value="@ViewBag.MasterID" />
<input type="hidden" id="InspectionFormID" asp-for="InspectionFormID" value="@ViewBag.FormID" />
<input type="hidden" asp-for="CreateUserID" value="0" />
<input type="hidden" asp-for="UpdateUserID" value="0" />
@ -43,17 +43,17 @@
<div class="layui-form-item">
<div class="layui-input-inline">
<label asp-for="WipNo" class="control-label col-sm-2"></label>
<input asp-for="WipNo" type="text" class="layui-input">
<input id="WipNo" asp-for="WipNo" type="text" class="layui-input">
<span asp-validation-for="WipNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="layui-input-inline">
<label asp-for="ItemNo" class="control-label col-sm-2"></label>
<input asp-for="ItemNo" class="layui-input">
<input id="ItemNo" asp-for="ItemNo" class="layui-input">
<span asp-validation-for="ItemNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="layui-input-inline">
<label asp-for="BarcodeNo" class="control-label col-sm-2"></label>
<input asp-for="BarcodeNo" class="layui-input">
<input id="BarcodeNo" asp-for="BarcodeNo" class="layui-input">
<span asp-validation-for="BarcodeNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
</div>
@ -78,6 +78,7 @@
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
@*回復*@
<script type="text/html" id="selectResult">
<select name='result' lay-verify='' lay-search='' class="layui-form" lay-filter="result">
<option value="NA">N/A</option>
@ -85,31 +86,79 @@
<option value="F">FAIL </option>
</select>
</script>
@*備註*@
<script type="text/html" id="inputTest">
<input type="text" class="layui-input" style=" margin-top: -10px; margin-left: -10px; margin-right: -10px;" lay-vertype="tips" name="input_Test" value="" lay-event="inputTest" lay-filter="inputTest">
</script>
@*線別*@
<script type="text/html" id="selectLine">
<select name='line' lay-verify='' lay-search='' asp-items="@ViewBag.LineList" class="layui-form" lay-filter="line">
</select>
</script>
@*站別*@
<script type="text/html" id="selectStation">
<select name='station' lay-verify='' lay-search='' asp-items="@ViewBag.StationList" class="layui-form" lay-filter="station">
</select>
</script>
@*插件位置*@
<script type="text/html" id="inputLocation">
<input type="text" class="layui-input" style=" margin-top: -10px; margin-left: -10px; margin-right: -10px;" lay-vertype="tips" name="input_Loca" value="" lay-event="inputTest" lay-filter="inputLoca">
</script>
@*缺失單位*@
<script type="text/html" id="selectDept">
<select name='station' lay-verify='' lay-search='' asp-items="@ViewBag.FactoryUnit" class="layui-form" lay-filter="DeptList">
</select>
</script>
@*缺失人員*@
<script type="text/html" id="selectUser">
<select name='station' lay-verify='' lay-search='' asp-items="@ViewBag.UserList" class="layui-form" lay-filter="UserList">
</select>
</script>
<script type="text/javascript">
////搜索
////保存
$('#querysubmit').click(function () {
// var tableDas = layui.table.cache["test"];
//var checkStatus = layui.table.checkStatus('test'); //idTest 即为基础参数 id 对应的值
// var checkStatus = $("#test").serializeArray();
//console.log(checkStatus)
//var tableDas = layui.table.cache["test"];
//var modeltable = $("#modeltable").serializeArray();
console.log('123');
//console.log(tableDas[0].inspectionItemID);
//return;
var WipNo = $("#WipNo").val();
var ItemNo = $("#ItemNo").val();
var BarcodeNo = $("#BarcodeNo").val();
if (!WipNo) {
alert('請填寫工單!!');
return false;
}
else if (!ItemNo) {
alert('請填寫料號!!');
return false;
}
else if (!BarcodeNo) {
alert('請填寫生產序號!!');
return false;
}
else
insertMaster("C");
});
////暫存
$('#querysubmitTmp').click(function () {
var WipNo = $("#WipNo").val();
var ItemNo = $("#ItemNo").val();
var BarcodeNo = $("#BarcodeNo").val();
if (!WipNo) {
alert('請填寫工單!!');
return false;
}
else if (!ItemNo) {
alert('請填寫料號!!');
return false;
}
else if (!BarcodeNo) {
alert('請填寫生產序號!!');
return false;
}
else
insertMaster("T");
});
function insertMaster(status) {
var model = $("#modelform").serializeArray();
//console.info(model);
var InspectionID;
var InspectionFormID;
var CreateUserID;
@ -121,7 +170,7 @@
var BarcodeNo;
var StatusNo;
if (model.length > 0) {
console.log('456');
//console.log(model);
InspectionID = model[0].value;
InspectionFormID = model[1].value;
CreateUserID = model[2].value;
@ -131,7 +180,8 @@
WipNo = model[6].value;
ItemNo = model[7].value;
BarcodeNo = model[8].value;
StatusNo = model[9].value;
StatusNo = status;
console.log('789');
$.post("/SPC/SPC005TSAVE",
{
InspectionID: InspectionID,
@ -146,16 +196,23 @@
StatusNo: StatusNo
},
function (data) {
console.log(data);
if (data.success) {
console.log("master:data.success");
insertList(data.msg);
}
}).success(function () { //alert("second success");
})
.error(function () { //alert("error");
})
.complete(function () { //alert("complete");
});
}
});
};
function insertList(id) {
console.log('insertList');
var tableDas = layui.table.cache["test"];
@ -174,10 +231,13 @@
var UpdateUserID;
var CreateDate;
var UpdateDate;
var MissingUnitNo;
var MissingUserID;
var MissingRemark;
for (var i = 0; i < modeltable.length - 1; i++) {
var test = i / 4 ;
var cc = i % 4 == 0;
var test = i / 7 ;
var cc = i % 7 == 0;
//if (!Regex.test(text)) {
if (!cc) {
InspectionID = '';
@ -194,7 +254,10 @@
Result = modeltable[i + 0].value;
LineID = modeltable[i + 1].value;
RuleStationID = modeltable[i + 2].value;
MissingRemark = modeltable[i + 3].value;
Location = modeltable[i + 3].value;
MissingUnitNo = modeltable[i + 4].value;
MissingUserID = modeltable[i + 5].value;
MissingRemark = modeltable[i + 6].value;
CreateUserID = 0;
UpdateUserID = 0;
CreateDate = '';
@ -209,10 +272,10 @@
RuleStationID: RuleStationID,
Result: Result,
Area: '',
Location: '',
MissingUnitNo: '',
Location: Location,
MissingUnitNo: MissingUnitNo,
MissingStationID: '',
MissingUserID: '',
MissingUserID: MissingUserID,
MissingType: '',
MissingRemark: MissingRemark,
Method: '',
@ -239,7 +302,33 @@
}
}
}
$('#WipNo').focusout(function () {
var data = $("#WipNo").val();
if (data) {
$.ajax({
url: "/SPC/GetWipAtt",
dataType: 'json',
data: { id: data },
contentType: "application/json",
type: 'get',
success: function (result) {
if (result.data) {
//console.info(result.data);//確認itemNO/modelNO
$("#ItemNo").val(result.data.itemNO);
}
else {
alert("查無資料,請確認工單是否正確!");
}
},
error: function () {
alert("查無資料,請確認工單是否正確!");
}
});
} else {
alert("請填寫工單!");
}
});
layui.use(['form', 'layer', 'table', 'laytpl', 'laydate'], function () {
var layer = layui.layer,
$ = layui.jquery,
@ -267,7 +356,10 @@
{ field: 'inspectionItemValue', title: '標準值', align: 'left' },
{ field: 'inspectionResult', title: '稽核結果', width: 100, align: "left", templet: '#selectResult' },
{ field: 'line', title: '線別', width: 100, align: "left", templet: '#selectLine' },
{ field: 'station', title: '站別', width: 100, align: "left", templet: '#selectStation' },
{ field: 'station', title: '站別', width: 100, align: "left", templet: '#selectStation' },
{ field: 'Location', title: '插件位置', width: 100, align: "left", templet: '#inputLocation' },
{ field: 'missingUnitNo', title: '缺失單位', width: 100, align: "left", templet: '#selectDept' },
{ field: 'MissingUserID', title: '缺失人員', width: 100, align: "left", templet: '#selectUser' },
{ field: 'note', title: '備註', width: 250, align: "left", templet: '#inputTest' },
{
field: 'right',
@ -303,8 +395,34 @@
//console.log(data);
})
}
else if (layEvent === 'edit') {
var id = $("#InspectionID").val();
if (obj.data.inspectionItemID) {
layer.open({
type: 2 //此處以iframe舉例
, title: '上傳文件'
, area: ['480px', '400px']
, shade: 0
, maxmin: true
, offset: 'auto'//顯示座標-auto居中
, content: "/SPC/SPC005R?id=" + id + "&itemID=" + obj.data.inspectionItemID
//, btn: ['關閉']
, yes: function () {
//layer.close();
if (layer.confirm('確定要關閉麼')) {
layer.close(index);
}
// $(that).click();
}
, zIndex: 19891014 //layer.zIndex //重點1
, success: function (layero) {
layer.setTop(layero); //重點2
}
});
//hg.open('上傳文件', '/SPC/SPC005R?id=' + id + '&itemID=' + obj.data.inspectionItemID, 1080, 640);
}
}
});
form.on('select(line)', function (data) {
//获取下拉框选中的值
var score = data.value;
@ -327,7 +445,7 @@
});
$(document).ready(function () {
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);

424
AMESCoreStudio.Web/Views/SPC/SPC005U.cshtml

@ -1,19 +1,11 @@
@model AMESCoreStudio.WebApi.Models.AMES.InspectionResultMaster
@{ ViewData["Title"] = "SPC005C";
@{ ViewData["Title"] = "SPC005U";
Layout = "~/Views/Shared/_AMESLayout.cshtml";
//Layout = "~/Views/Shared/_FormLayout.cshtml";
}
<style>
/* .control-label {
justify-content: flex-end !important;
}
*/
.layui-table-cell {
overflow: visible !important;
}
@ -24,143 +16,232 @@
margin-right: -10px;
}
</style>
<div class="layui-card">
<div class="layui-card-body">
<label class="layui-form-label" value="@ViewBag.FormName"></label>
<label class="layui-form-label" value="@ViewBag.InspectionForm"></label>
<form id="modelform" method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="InspectionID" value="0" />
<input type="hidden" id="InspectionFormID" asp-for="InspectionFormID" value="@ViewBag.FormID" />
<input type="hidden" asp-for="CreateUserID" value="0" />
<input type="hidden" id="InspectionID" asp-for="InspectionID" />
<input type="hidden" id="InspectionFormID" asp-for="InspectionFormID" />
<input type="hidden" asp-for="CreateUserID" />
<input type="hidden" asp-for="UpdateUserID" value="0" />
<input type="hidden" asp-for="CreateDate" value="@System.DateTime.Now" />
<input type="hidden" asp-for="CreateDate" />
<input type="hidden" asp-for="UpdateDate" value="@System.DateTime.Now" />
<input type="hidden" asp-for="StatusNo" />
<div class="form-inline ">
<div class="layui-form-item">
<div class="layui-input-inline">
<label asp-for="WipNo" class="control-label col-sm-2"></label>
<input asp-for="WipNo" class="form-control col-sm-4" />
<span asp-validation-for="WipNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="layui-input-inline">
<label asp-for="ItemNo" class="control-label col-sm-2"></label>
<input asp-for="ItemNo" class="form-control col-sm-4" />
<span asp-validation-for="ItemNo" class="text-danger offset-sm-3 my-sm-1"></span>
<div class="layui-form-item">
<div class="layui-input-inline">
<label asp-for="WipNo" class="control-label col-sm-2"></label>
<input id="WipNo" asp-for="WipNo" type="text" class="layui-input" readonly>
</div>
<div class="layui-input-inline">
<label asp-for="ItemNo" class="control-label col-sm-2"></label>
<input id="ItemNo" asp-for="ItemNo" class="layui-input" readonly>
</div>
<div class="layui-input-inline">
<label asp-for="BarcodeNo" class="control-label col-sm-2"></label>
<input id="BarcodeNo" asp-for="BarcodeNo" class="layui-input" readonly>
</div>
</div>
<div class="layui-input-inline">
<label asp-for="BarcodeNo" class="control-label col-sm-2"></label>
<input asp-for="BarcodeNo" class="form-control col-sm-4" />
<span asp-validation-for="BarcodeNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<input type="hidden" asp-for="StatusNo" value="T" />
</div>
</div>
<div class="layui-inline">
<div class="layui-form-item">
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<button type="submit" class="layui-btn tt" lay-submit="" lay-filter="demo1">查詢</button>
<button id="querysubmit" class="layui-btn tt">查詢2</button>
<button id="querysubmitTmp" class="layui-btn tt">暫存</button>
<button id="querysubmit" class="layui-btn tt">保存</button>
</div>
</div>
</form>
<form id="modeltable" method="post">
<table class="layui-hide" id="test" lay-filter="test" lay-data="{id:'test'}"></table>
</form>
</div>
<form id="modeltable" enctype="multipart/form-data" method="post">
<table class="layui-hide" id="test" lay-filter="test" lay-data="{id:'test'}"></table>
</form>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/html" id="purchaseTotal">
<input type="number" min="0" class="layui-input" lay-vertype="tips" name="purchase_total" value="" lay-event="purchaseTotal" lay-filter="purchaseTotal">
</script>
@*回復*@
<script type="text/html" id="selectResult">
<select name='result' lay-verify='' lay-search='' class="layui-form" lay-filter="result">
<select name="selectResult" lay-filter="selectResult" id="selectResult" data-value={{d.result}} class="layui-form">
<option value="NA">N/A</option>
<option value="P">PASS</option>
<option value="F">FAIL </option>
</select>
</script>
@*備註*@
<script type="text/html" id="inputTest">
<input type="text" class="layui-input" lay-vertype="tips" name="input_Test" value="" lay-event="inputTest" lay-filter="inputTest">
<input type="text" class="layui-input" style=" margin-top: -10px; margin-left: -10px; margin-right: -10px;" lay-vertype="tips" name="input_Test" value="" lay-event="inputTest" lay-filter="inputTest">
</script>
@*線別*@
<script type="text/html" id="selectLine">
<select name='line' lay-verify='' lay-search='' asp-items="@ViewBag.LineList" class="layui-form" lay-filter="line">
<select name="selectLine" lay-filter="selectLine" id="selectLine" data-value={{d.lineID}} asp-items="@ViewBag.LineList" class="layui-form">
</select>
</script>
@*站別*@
<script type="text/html" id="selectStation">
<select name='station' lay-verify='' lay-search='' asp-items="@ViewBag.StationList" class="layui-form" lay-filter="station">
<select name="selectStation" lay-filter="selectStation" id="selectStation" data-value={{d.ruleStationID}} asp-items="@ViewBag.StationList" class="layui-form" >
</select>
</script>
@*插件位置*@
<script type="text/html" id="inputLocation">
<input type="text" class="layui-input" style=" margin-top: -10px; margin-left: -10px; margin-right: -10px;" lay-vertype="tips" name="input_Loca" value="" lay-event="inputTest" lay-filter="inputLoca">
</script>
@*缺失單位*@
<script type="text/html" id="selectDept">
<select name="selectDept" lay-filter="selectDept" id="selectDept" data-value={{d.missingUnitNo}} asp-items="@ViewBag.FactoryUnit" class="layui-form">
</select>
</script>
@*缺失人員*@
<script type="text/html" id="selectUser">
<select name="selectUser" lay-filter="selectUser" id="selectUser" data-value={{d.missingUserID}} lay-search='' asp-items="@ViewBag.UserList" class="layui-form">
</select>
</script>
<script type="text/javascript">
////搜索
////保存
$('#querysubmit').click(function () {
var WipNo = $("#WipNo").val();
var ItemNo = $("#ItemNo").val();
var BarcodeNo = $("#BarcodeNo").val();
if (!WipNo) {
alert('請填寫工單!!');
return false;
}
else if (!ItemNo) {
alert('請填寫料號!!');
return false;
}
else if (!BarcodeNo) {
alert('請填寫生產序號!!');
return false;
}
else
insertMaster("C");
});
////暫存
$('#querysubmitTmp').click(function () {
var WipNo = $("#WipNo").val();
var ItemNo = $("#ItemNo").val();
var BarcodeNo = $("#BarcodeNo").val();
if (!WipNo) {
alert('請填寫工單!!');
return false;
}
else if (!ItemNo) {
alert('請填寫料號!!');
return false;
}
else if (!BarcodeNo) {
alert('請填寫生產序號!!');
return false;
}
else
insertMaster("T");
});
function insertMaster(status) {
var model = $("#modelform").serializeArray();
console.log(tableDas);
var InspectionID;
var InspectionFormID;
var CreateUserID;
var UpdateUserID;
var CreateDate;
var UpdateDate;
var WipNo;
var ItemNo;
var BarcodeNo;
var StatusNo;
if (model.length > 0) {
InspectionID = model[0].value;
console.log(InspectionID);
InspectionFormID = model[1].value;
CreateUserID = model[2].value;
UpdateUserID = model[3].value;
CreateDate = model[4].value;
UpdateDate = model[5].value;
WipNo = model[6].value;
ItemNo = model[7].value;
BarcodeNo = model[8].value;
StatusNo = model[9].value;
$.post("/SPC/SPC005TSAVE",
{
InspectionID: InspectionID,
InspectionFormID: InspectionFormID,
CreateUserID: CreateUserID,
UpdateUserID: UpdateUserID,
CreateDate: CreateDate,
UpdateDate: UpdateDate,
WipNo: WipNo,
ItemNo: ItemNo,
BarcodeNo: BarcodeNo,
StatusNo: StatusNo
},
function (data) {
//console.log("mastre:" + data.success);
//console.log("master:" + data.msg);
var requestURL = "/SPC/SPC005USave";
var dataJSON = {};
dataJSON["InspectionID"] = model[0].value;
dataJSON["InspectionFormID"] = model[1].value;
dataJSON["CreateUserID"] = model[2].value;
dataJSON["UpdateUserID"] = model[3].value;
dataJSON["CreateDate"] = model[4].value;
dataJSON["UpdateDate"] = model[5].value;
dataJSON["WipNo"] = model[6].value;
dataJSON["ItemNo"] = model[7].value;
dataJSON["BarcodeNo"] = model[8].value;
dataJSON["StatusNo"] = status;
$.ajax({
url: requestURL,
data: JSON.stringify(dataJSON),
type: "PATCH",
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (returnData) {
console.log(returnData);
if (data.success) {
console.log("master:data.success");
//if (data.msg)
insertList(data.msg);
insertList(data.msg);
}
});
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr.status);
console.log(thrownError);
}
});
}
}
});
function insertList(id) {
//批量修改时间
Regex = /^([1-9][0-9]*)$/;
var data = $("#modeltable").serializeArray();
//console.info(model);
//var InspectionID;
//var InspectionFormID;
//var CreateUserID;
//var UpdateUserID;
//var CreateDate;
//var UpdateDate;
//var WipNo;
//var ItemNo;
//var BarcodeNo;
//var StatusNo;
//if (model.length > 0) {
// //console.log(model);
// InspectionID = model[0].value;
// InspectionFormID = model[1].value;
// CreateUserID = model[2].value;
// UpdateUserID = model[3].value;
// CreateDate = model[4].value;
// UpdateDate = model[5].value;
// WipNo = model[6].value;
// ItemNo = model[7].value;
// BarcodeNo = model[8].value;
// StatusNo = status;
// console.log('789');
// $.post("/SPC/SPC005USAVE/",
// {
// InspectionID: InspectionID,
// InspectionFormID: InspectionFormID,
// CreateUserID: CreateUserID,
// UpdateUserID: UpdateUserID,
// CreateDate: CreateDate,
// UpdateDate: UpdateDate,
// WipNo: WipNo,
// ItemNo: ItemNo,
// BarcodeNo: BarcodeNo,
// StatusNo: StatusNo
// },
// function (data) {
// console.log(data);
// if (data.success) {
// console.log("master:data.success");
// insertList(data.msg);
// }
// }).success(function () { alert("second success"); })
// .error(function () { alert("error"); })
// .complete(function () { alert("complete"); });
//
//
//}
};
function insertList(id) {
console.log('insertList');
var tableDas = layui.table.cache["test"];
var modeltable = $("#modeltable").serializeArray();
console.log(modeltable);
if (data.length > 0) {
if (modeltable.length > 0) {
var InspectionID;
var InspectionItemID;
@ -172,14 +253,15 @@
var UpdateUserID;
var CreateDate;
var UpdateDate;
var MissingUnitNo;
var MissingUserID;
var MissingRemark;
var tableDas = layui.table.cache["test"];
console.log(tableDas);
for (var i = 0; i < data.length; i++) {
console.log('for');
var text = i / 4;
if (!Regex.test(text)) {
for (var i = 0; i < modeltable.length - 1; i++) {
var test = i / 7 ;
var cc = i % 7 == 0;
//if (!Regex.test(text)) {
if (!cc) {
InspectionID = '';
InspectionItemID = '';
Result = '';
@ -188,41 +270,84 @@
MissingRemark = '';
}
else {
console.log('else');
InspectionID = id;
InspectionItemID = tableDas[text].value;
Result = data[i + 0].value;
LineID = data[i + 1].value;
RuleStationID = data[i + 2].value;
MissingRemark = data[i + 3].value;
InspectionItemID = tableDas[test].inspectionItemID;
Result = modeltable[i + 0].value;
LineID = modeltable[i + 1].value;
RuleStationID = modeltable[i + 2].value;
Location = modeltable[i + 3].value;
MissingUnitNo = modeltable[i + 4].value;
MissingUserID = modeltable[i + 5].value;
MissingRemark = modeltable[i + 6].value;
CreateUserID = 0;
UpdateUserID = 0;
CreateDate = 0;
UpdateDate = 0;
CreateDate = '';
UpdateDate = '';
console.log('post');
$.post("/SPC/SPC005ListSave",
$.post("/SPC/SPC005UListSave/",
{
InspectionID: InspectionID,
InspectionItemID: InspectionItemID,
Result: Result,
LineID: LineID,
RuleStationID: RuleStationID,
Result: Result,
Area: '',
Location: Location,
MissingUnitNo: MissingUnitNo,
MissingStationID: '',
MissingUserID: MissingUserID,
MissingType: '',
MissingRemark: MissingRemark,
Method: '',
PeplyReason: '',
PeplyMethod: '',
PeplyUserID: '',
CreateUserID: CreateUserID,
UpdateUserID: UpdateUserID,
CreateDate: CreateDate,
UpdateDate: UpdateDate
UpdateDate: UpdateDate,
},
function (data) {
console.log("list:" + data.success);
if (i = modeltable.length - 2) {
parent.hg.msg("新增成功!");
window.parent.location.reload();
//parent.layer.table.render();
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}
});
}
}
}
}
$('#WipNo').focusout(function () {
var data = $("#WipNo").val();
if (data) {
$.ajax({
url: "/WHS/GetWipAtt",
dataType: 'json',
data: { id: data },
contentType: "application/json",
type: 'get',
success: function (result) {
if (result.data) {
//console.info(result.data);//確認itemNO/modelNO
$("#ItemNo").val(result.data.modelNO);
}
else {
alert("查無資料,請確認工單是否正確!");
}
}
});
} else {
alert("請填寫工單!");
}
});
layui.use(['form', 'layer', 'table', 'laytpl', 'laydate'], function () {
var layer = layui.layer,
$ = layui.jquery,
@ -233,31 +358,50 @@
itemslist();
function itemslist() {
var formID = $("#InspectionFormID").val();
var formID = $("#InspectionID").val();
table.render({
elem: '#test',
url: '/SPC/GetInspectionItemsByFormID?id=' + formID,
url: '/SPC/GetInspectionResultDetails?id=' + formID,
id: 'test',
toolbar: '#toolBar',
height:720,
//defaultToolbar: ['filter', 'print', 'exports'],
//title: 'test',
//where: where,
page: false,
cols: [[
{ field: 'inspectionItemID', width: 50, title: '#', },
{ field: 'inspectionItemName', title: '項目', align: 'left' },
{ field: 'inspectionResult', title: '稽核結果', width: 100, align: "left", templet: '#selectResult' },
{ field: 'line', title: '線別', width: 100, align: "left", templet: '#selectLine' },
{ field: 'station', title: '站別', width: 100, align: "left", templet: '#selectStation' },
{ field: 'note', title: '備註', width: 250, align: "left", templet: '#inputTest' },
{
field: 'inspectionItem',
title: '項目',
align: 'left',
sort: true,
templet: function (d) {
return d.inspectionItem['inspectionItemName'];
}
},
{
field: 'inspectionItem',
title: '標準值',
align: 'left',
sort: true,
templet: function (d) {
return d.inspectionItem['inspectionItemValue'];
}
},
//{ field: 'inspectionItemName', title: '項目', align: 'left' },
//{ field: 'inspectionItemValue', title: '標準值', align: 'left' },
{ field: 'result', title: '稽核結果', width: 100, align: "left", templet: '#selectResult' },
{ field: 'lineID', title: '線別', width: 100, align: "left", templet: '#selectLine' },
{ field: 'ruleStationID', title: '站別', width: 100, align: "left", templet: '#selectStation' },
{ field: 'location', title: '插件位置', width: 100, align: "left", edit: "text" },
{ field: 'missingUnitNo', title: '缺失單位', width: 100, align: "left", templet: '#selectDept' },
{ field: 'missingUserID', title: '缺失人員', width: 100, align: "left", templet: '#selectUser' },
{ field: 'missingRemark', title: '備註', width: 250, align: "left", edit:"text"},//templet: '#inputTest'
{
field: 'right',
width: 50,
width: 100,
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> '
return '<a class="layui-btn layui-btn-normal layui-btn-xs layui-icon layui-icon-edit" lay-event="edit">上傳圖片</a> '
}
}
]],
@ -282,11 +426,37 @@
var name = layui.$(this).attr('name');
data[name] = val
obj.update(data);//更新行对象数据
console.log(data);
//console.log(data);
})
}
else if (layEvent === 'edit') {
var id = $("#InspectionID").val();
if (obj.data.inspectionItemID) {
layer.open({
type: 2 //此處以iframe舉例
, title: '上傳文件'
, area: ['480px', '400px']
, shade: 0
, maxmin: true
, offset: 'auto'//顯示座標-auto居中
, content: "/SPC/SPC005R?id=" + id + "&itemID=" + obj.data.inspectionItemID
//, btn: ['關閉']
, yes: function () {
//layer.close();
if (layer.confirm('確定要關閉麼')) {
layer.close(index);
}
// $(that).click();
}
, zIndex: 19891014 //layer.zIndex //重點1
, success: function (layero) {
layer.setTop(layero); //重點2
}
});
//hg.open('上傳文件', '/SPC/SPC005R?id=' + id + '&itemID=' + obj.data.inspectionItemID, 1080, 640);
}
}
});
form.on('select(line)', function (data) {
//获取下拉框选中的值
var score = data.value;
@ -308,9 +478,7 @@
});
$(document).ready(function () {
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);

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.

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

@ -1195,6 +1195,60 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController">
<summary>
巡檢類別資料维护
</summary>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController.#ctor(AMESCoreStudio.WebApi.AMESContext)">
<summary>
</summary>
<param name="context"></param>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController.GetInspectionResultBlobs">
<summary>
获取全部巡檢類別資料
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController.GetInspectionResultBlobs(System.Int32)">
<summary>
用ID获取该巡檢類別資料
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController.GetInspectionResultBlobsByQuery(System.Int32,System.Int32)">
<summary>
获取该巡檢表單Blob By Query
</summary>
<param name="id"></param>
<param name="itemID"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController.PutInspectionResultBlobs(System.Int32,AMESCoreStudio.WebApi.Models.AMES.InspectionResultBlob)">
<summary>
更新巡檢類別資料
</summary>
<param name="id"></param>
<param name="InspectionResultBlob"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController.PostInspectionResultBlobs(AMESCoreStudio.WebApi.Models.AMES.InspectionResultBlob)">
<summary>
新增巡檢類別資料
</summary>
<param name="InspectionResultBlob"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController.DeleteInspectionResultBlobs(System.Int32)">
<summary>
删除巡檢類別資料
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultDetailsController">
<summary>
巡檢類別資料维护
@ -1219,7 +1273,7 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultDetailsController.PutInspectionResultDetails(System.Int32,AMESCoreStudio.WebApi.Models.AMES.InspectionResultDetail)">
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultDetailsController.PutInspectionResultDetail(System.Int32,AMESCoreStudio.WebApi.Models.AMES.InspectionResultDetail)">
<summary>
更新巡檢類別資料
</summary>
@ -1272,14 +1326,8 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultMastersController.PutInspectionResultMasters(System.Int32,AMESCoreStudio.WebApi.Models.AMES.InspectionResultMaster)">
<summary>
更新巡檢類別資料
</summary>
<param name="id"></param>
<param name="InspectionResultMaster"></param>
<returns></returns>
</member>
<!-- Badly formed XML comment ignored for member "M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultMastersController.GetInspectionResultMastersNewID" -->
<!-- Badly formed XML comment ignored for member "M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultMastersController.PutInspectionResultMasters(System.Int32,AMESCoreStudio.WebApi.Models.AMES.InspectionResultMaster)" -->
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultMastersController.PostInspectionResultMasters(AMESCoreStudio.WebApi.Models.AMES.InspectionResultMaster)">
<summary>
新增巡檢類別資料
@ -2976,6 +3024,25 @@
<param name="wipBox"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WipClassController">
<summary>
各班別數量資料檔
</summary>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipClassController.PutWipClass(AMESCoreStudio.WebApi.Models.AMES.WipClass)">
<summary>
更新各班別數量資料檔
</summary>
<param name="wipClass"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipClassController.PostWipClass(AMESCoreStudio.WebApi.Models.AMES.WipClass)">
<summary>
新增各班別數量資料檔
</summary>
<param name="wipClass"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WipInfosController">
<summary>
@ -3040,6 +3107,11 @@
</summary>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WipKpsController">
<summary>
工單KP資訊資料檔
</summary>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipLabelController.#ctor(AMESCoreStudio.WebApi.AMESContext)">
<summary>
@ -3296,6 +3368,25 @@
</summary>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WipTimeController">
<summary>
工單各站數量資料檔 – By TIME
</summary>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipTimeController.PutWipTime(AMESCoreStudio.WebApi.Models.AMES.WipTime)">
<summary>
更新工單各站數量資料檔 – By TIME
</summary>
<param name="wipTime"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipTimeController.PostWipTime(AMESCoreStudio.WebApi.Models.AMES.WipTime)">
<summary>
新增工單各站數量資料檔 – By TIME
</summary>
<param name="wipTime"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WorkClassesController">
<summary>
工作群組維護
@ -3467,6 +3558,52 @@
<param name="barCodeCheckDto"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_WipInfo(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
BarcodeInfo-條碼資料檔
</summary>
<param name="barCodeCheckDto"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_BarcodeInfo(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
BarcodeInfo-條碼資料檔
</summary>
<param name="barCodeCheckDto"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_BarcodeStation(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
BarcodeStation-條碼過站資料檔
</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-檔案用途 條碼工單資料檔
</summary>
<param name="barCodeCheckDto"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_WipStation(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
WipStation
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_WipClass(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
WipClass-各班別數量資料檔
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_WipTime(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
WipTime-工單各站數量資料檔 – By TIME
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.GetCheckWipNoSation(System.String,System.String,System.Int32,System.Int32)">
<summary>
判斷工單狀態
@ -4093,7 +4230,7 @@
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.BAS.RulesController.GetRulesByNextStation(System.Int32)">
<summary>
根據下一站別IDD查詢
根據下一站別ID查詢
</summary>
<param name="id"></param>
<returns></returns>
@ -5619,14 +5756,29 @@
工單號碼
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.wipID">
<summary>
工單ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.barcode">
<summary>
內部條碼
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.barcodeID">
<summary>
內部條碼ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.barcodeType">
<summary>
過站狀態 M:一般 S:維修
條碼狀態 M:一般 S:維修
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.ruleStatus">
<summary>
條碼過站狀態 P:Pass F:Fail
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.unitNo">
@ -5634,11 +5786,21 @@
生產單位
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.flowRule">
<summary>
流程ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.station">
<summary>
作業站
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.ruleStationID">
<summary>
RuleStationID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.line">
<summary>
線別站
@ -6481,6 +6643,21 @@
巡檢項目資料檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.AMESContext.WipClass">
<summary>
各班別數量資料檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.AMESContext.WipTimes">
<summary>
工單各站數量資料檔 – By TIME
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.AMESContext.WipKps">
<summary>
工單KP資訊資料檔
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.BarcodeChange">
<summary>
條碼變更資料表
@ -8121,6 +8298,11 @@
更新日期
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionForm.FactoryUnit">
<summary>
人員
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.InspectionItem">
<summary>
巡檢項目資料檔
@ -8188,12 +8370,22 @@
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultBlob.ImageName">
<summary>
生產序號
檔名
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultBlob.ImageBlob">
<summary>
巡檢文件編號
圖檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultBlob.NewName">
<summary>
新檔名
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultBlob.FilePath">
<summary>
儲存路徑
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultBlob.CreateUserID">
@ -8322,6 +8514,21 @@
更新日期
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultDetail.LineInfo">
<summary>
線別
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultDetail.Stations">
<summary>
站別
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultDetail.InspectionItem">
<summary>
人員
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.InspectionResultMaster">
<summary>
巡檢結果回覆資料檔
@ -10592,6 +10799,56 @@
更新日期
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.WipClass">
<summary>
各班別數量資料檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.WipID">
<summary>
工單ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.RuleStationID">
<summary>
流程站別ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.RuleStatus">
<summary>
過站狀態
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.ClassID">
<summary>
班別ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.FirstCnt">
<summary>
第一次過站數量
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.PassCnt">
<summary>
生產數量
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.CreateUserID">
<summary>
建立UserID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.CreateDate">
<summary>
建立日期
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.UpdateDate">
<summary>
更新日期
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.WipInfo">
<summary>
工單基本資料文件
@ -10782,6 +11039,71 @@
工單-基本資料
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.WipKp">
<summary>
工單KP資訊資料檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.WipKpID">
<summary>
工單KP_ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.ItemNo">
<summary>
料號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.KpName">
<summary>
KP料號名稱
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.KpNo">
<summary>
KP料號NO
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.KpSeq">
<summary>
順序
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.Title">
<summary>
前置碼
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.Length">
<summary>
長度
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.UnitNo">
<summary>
生產單位代號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.CreateUserID">
<summary>
建立UserID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.CreateDate">
<summary>
建立日期
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.UpdateUserID">
<summary>
更新UserID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.UpdateDate">
<summary>
更新日期
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.WipLabel">
<summary>
工單資料-標籤
@ -11262,6 +11584,56 @@
更新日期
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.WipTime">
<summary>
工單各站數量資料檔 – By TIME
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.WipID">
<summary>
工單ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.RuleStationID">
<summary>
流程站別ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.RuleStatus">
<summary>
過站狀態
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.SegmentID">
<summary>
時段
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.FirstCnt">
<summary>
第一次過站數量
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.PassCnt">
<summary>
生產過站數量
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.CreateUserID">
<summary>
建立UserID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.CreateDate">
<summary>
建立日期
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.UpdateDate">
<summary>
更新日期
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.WorkClass">
<summary>
工作類別資料檔

15
AMESCoreStudio.WebApi/Controllers/AMES/InspectionFormsController.cs

@ -186,8 +186,19 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return result;
}
_context.InspectionForms.Remove(InspectionForm);
await _context.SaveChangesAsync();
//_context.InspectionForms.Remove(InspectionForm);
InspectionForm.StatusNo = "N";
_context.Entry(InspectionForm).State = EntityState.Modified;
try
{
await _context.SaveChangesAsync();
}
catch (Exception e)
{
result.Success = false;
result.Msg = e.Message;
return result;
}
result.Success = true;
result.Msg = "OK";

1
AMESCoreStudio.WebApi/Controllers/AMES/InspectionItemsController.cs

@ -80,6 +80,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
IQueryable<InspectionItem> q = _context.InspectionItems;
q = q.Where(p => p.InspectionFormID.Equals(id));
q = q.OrderBy(p => p.InspectionItemSeq);
var InspectionItem = await q.ToListAsync();
if (InspectionItem == null)

3
AMESCoreStudio.WebApi/Controllers/AMES/InspectionResultDetailsController.cs

@ -59,6 +59,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
IQueryable<InspectionResultDetail> q = _context.InspectionResultDetails;
q = q.Where(p => p.InspectionID.Equals(id));
q = q.OrderBy(p => p.InspectionItemID);
var InspectionResultDetail = await q.ToListAsync();
if (InspectionResultDetail == null)
@ -79,7 +80,7 @@ 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<ResultModel<InspectionResultDetail>> PutInspectionResultDetails(int id, [FromBody] InspectionResultDetail InspectionResultDetail)
public async Task<ResultModel<InspectionResultDetail>> PutInspectionResultDetail(int id, [FromBody] InspectionResultDetail InspectionResultDetail)
{
ResultModel<InspectionResultDetail> result = new ResultModel<InspectionResultDetail>();
if (id != InspectionResultDetail.InspectionID)

34
AMESCoreStudio.WebApi/Controllers/AMES/InspectionResultMastersController.cs

@ -80,6 +80,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
IQueryable<InspectionResultMaster> q = _context.InspectionResultMasters;
q = q.Where(p => p.InspectionFormID.Equals(id));
q = q.OrderBy(p => p.InspectionID);
var InspectionResultMaster = await q.ToListAsync();
if (InspectionResultMaster == null)
@ -90,7 +91,25 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return InspectionResultMaster;
}
/// <summary>
/// <summary></summary>
/// 用FormID获取该巡檢結果资料
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
// GET: api/InspectionItems/5
[HttpGet("NewID")]
public async Task<ActionResult> GetInspectionResultMastersNewID()
{
var InspectionResultMasterID = 0;
Helper helper = new Helper(_context);
InspectionResultMasterID = helper.GetIDKey("IRMID").Result;
string str = InspectionResultMasterID.ToString();
return Content(str);
}
/// 更新巡檢類別資料
/// </summary>
/// <param name="id"></param>
@ -103,6 +122,13 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
public async Task<ResultModel<InspectionResultMaster>> PutInspectionResultMasters(int id, [FromBody] InspectionResultMaster InspectionResultMaster)
{
ResultModel<InspectionResultMaster> result = new ResultModel<InspectionResultMaster>();
_context.Attach(InspectionResultMaster);
// 指定更新某個欄位
_context.Entry(InspectionResultMaster).Property(p => p.StatusNo).IsModified = true;
_context.Entry(InspectionResultMaster).Property(p => p.UpdateDate).IsModified = true;
_context.Entry(InspectionResultMaster).Property(p => p.UpdateUserID).IsModified = true;
if (id != InspectionResultMaster.InspectionID)
{
result.Success = false;
@ -140,10 +166,10 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
public async Task<ResultModel<InspectionResultMaster>> PostInspectionResultMasters(InspectionResultMaster InspectionResultMaster)
{
ResultModel<InspectionResultMaster> result = new ResultModel<InspectionResultMaster>();
Helper helper = new Helper(_context);
var InspectionResultMasterID = helper.GetIDKey("IRMID").Result;
//Helper helper = new Helper(_context);
//var InspectionResultMasterID = helper.GetIDKey("IRMID").Result;//先獨立出來給form上船文件就有ID了
//請RITA加ID
InspectionResultMaster.InspectionID = InspectionResultMasterID;
//InspectionResultMaster.InspectionID = InspectionResultMasterID;
_context.InspectionResultMasters.Add(InspectionResultMaster);
try
{

9
AMESCoreStudio.WebApi/Models/AMES/InspectionForm.cs

@ -77,7 +77,7 @@ namespace AMESCoreStudio.WebApi.Models.AMES
[Required(ErrorMessage = "{0},不能空白")]
[Display(Name = "狀態")]
[DataMember]
public string StatusNo { get; set; } = "A";
public string StatusNo { get; set; } = "Y";
/// <summary>
@ -107,5 +107,12 @@ namespace AMESCoreStudio.WebApi.Models.AMES
[Column("UPDATE_DATE")]
[DataMember]
public DateTime UpdateDate { get; set; } = System.DateTime.Now;
/// <summary>
/// 人員
/// </summary>
public virtual AMESCoreStudio.WebApi.Models.BAS.FactoryUnit FactoryUnit { get; set; }
}
}

30
AMESCoreStudio.WebApi/Models/AMES/InspectionResultBlob.cs

@ -2,6 +2,7 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Runtime.Serialization;
using Microsoft.EntityFrameworkCore;
#nullable disable
@ -10,13 +11,13 @@ namespace AMESCoreStudio.WebApi.Models.AMES
/// <summary>
/// 巡檢表單資料檔
/// </summary>
[Keyless]
[Table("INSPECTION_RESULT_BLOB", Schema = "JHAMES")]
public partial class InspectionResultBlob
{
/// <summary>
/// 巡檢表單ID
/// </summary>
[Key]
[Column("INSPECTION_ID")]
[DataMember]
public int InspectionID { get; set; }
@ -29,25 +30,42 @@ namespace AMESCoreStudio.WebApi.Models.AMES
public int InspectionItemID { get; set; }
/// <summary>
/// 生產序號
/// 檔名
/// </summary>
[Column("IMAGE_NAME")]
[StringLength(50)]
[Display(Name = "生產序號")]
[Display(Name = "檔名")]
[DataMember]
[Required(ErrorMessage = "{0},不能空白")]
public string ImageName { get; set; }
/// <summary>
/// 巡檢文件編號
/// 圖檔
/// </summary>
[Column("IMAGE_BLOB")]
[StringLength(50)]
[Display(Name = "巡檢文件編號")]
[Display(Name = "圖檔")]
[DataMember]
[Required(ErrorMessage = "{0},不能空白")]
public byte[] ImageBlob { get; set; }
/// <summary>
/// 新檔名
/// </summary>
[Column("NEWNAME")]
[StringLength(50)]
[Display(Name = "新檔名")]
[DataMember]
public string NewName { get; set; }
/// <summary>
/// 儲存路徑
/// </summary>
[Column("FILEPATH")]
[StringLength(50)]
[Display(Name = "儲存路徑")]
[DataMember]
public string FilePath { get; set; }
/// <summary>
/// 創建者ID
/// </summary>

32
AMESCoreStudio.WebApi/Models/AMES/InspectionResultDetail.cs

@ -3,6 +3,8 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Runtime.Serialization;
using Microsoft.EntityFrameworkCore;
using AMESCoreStudio.WebApi.Models.BAS;
using AMESCoreStudio.WebApi.Models.SYS;
#nullable disable
@ -187,5 +189,35 @@ namespace AMESCoreStudio.WebApi.Models.AMES
[Column("UPDATE_DATE")]
[DataMember]
public DateTime UpdateDate { get; set; } = System.DateTime.Now;
/// <summary>
/// 線別
/// </summary>
public virtual LineInfo LineInfo { get; set; }
/// <summary>
/// 站別
/// </summary>
public virtual Stations Stations { get; set; }
/// <summary>
/// 人員
/// </summary>
// public virtual UserInfo User { get; set; }
/// <summary>
/// 人員
/// </summary>
//public virtual DeptInfo Dept { get; set; }
/// <summary>
/// 人員
/// </summary>
public virtual InspectionItem InspectionItem { get; set; }
/// <summary>
/// 人員
/// </summary>
//public virtual FactoryUnit FactoryUnit { get; set; }
}
}

6
AMESCoreStudio.WebApi/Models/AMESContext.cs

@ -102,6 +102,12 @@ namespace AMESCoreStudio.WebApi
modelBuilder.Entity<InspectionResultDetail>().HasKey(c => new { c.InspectionItemID, c.InspectionID });
modelBuilder.Entity<InspectionResultDetail>().HasOne(r => r.Stations).WithMany().HasForeignKey(r => r.RuleStationID).IsRequired();
modelBuilder.Entity<InspectionResultDetail>().HasOne(r => r.LineInfo).WithMany().HasForeignKey(r => r.LineID).IsRequired();
//modelBuilder.Entity<InspectionResultDetail>().HasOne(r => r.FactoryUnit).WithMany().HasForeignKey(r => r.MissingUnitNo).IsRequired();
//modelBuilder.Entity<InspectionResultDetail>().HasOne(r => r.User).WithMany().HasForeignKey(r => r.MissingUserID).IsRequired();
modelBuilder.Entity<InspectionResultDetail>().HasOne(r => r.InspectionItem).WithMany().HasForeignKey(r => r.InspectionItemID).IsRequired();
modelBuilder.Entity<InspectionForm>().HasOne(r => r.FactoryUnit).WithMany().HasForeignKey(r => r.UnitNo).IsRequired();
}
/// <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.

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

@ -1195,6 +1195,60 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController">
<summary>
巡檢類別資料维护
</summary>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController.#ctor(AMESCoreStudio.WebApi.AMESContext)">
<summary>
</summary>
<param name="context"></param>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController.GetInspectionResultBlobs">
<summary>
获取全部巡檢類別資料
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController.GetInspectionResultBlobs(System.Int32)">
<summary>
用ID获取该巡檢類別資料
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController.GetInspectionResultBlobsByQuery(System.Int32,System.Int32)">
<summary>
获取该巡檢表單Blob By Query
</summary>
<param name="id"></param>
<param name="itemID"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController.PutInspectionResultBlobs(System.Int32,AMESCoreStudio.WebApi.Models.AMES.InspectionResultBlob)">
<summary>
更新巡檢類別資料
</summary>
<param name="id"></param>
<param name="InspectionResultBlob"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController.PostInspectionResultBlobs(AMESCoreStudio.WebApi.Models.AMES.InspectionResultBlob)">
<summary>
新增巡檢類別資料
</summary>
<param name="InspectionResultBlob"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultBlobsController.DeleteInspectionResultBlobs(System.Int32)">
<summary>
删除巡檢類別資料
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultDetailsController">
<summary>
巡檢類別資料维护
@ -1219,7 +1273,7 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultDetailsController.PutInspectionResultDetails(System.Int32,AMESCoreStudio.WebApi.Models.AMES.InspectionResultDetail)">
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultDetailsController.PutInspectionResultDetail(System.Int32,AMESCoreStudio.WebApi.Models.AMES.InspectionResultDetail)">
<summary>
更新巡檢類別資料
</summary>
@ -1272,14 +1326,8 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultMastersController.PutInspectionResultMasters(System.Int32,AMESCoreStudio.WebApi.Models.AMES.InspectionResultMaster)">
<summary>
更新巡檢類別資料
</summary>
<param name="id"></param>
<param name="InspectionResultMaster"></param>
<returns></returns>
</member>
<!-- Badly formed XML comment ignored for member "M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultMastersController.GetInspectionResultMastersNewID" -->
<!-- Badly formed XML comment ignored for member "M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultMastersController.PutInspectionResultMasters(System.Int32,AMESCoreStudio.WebApi.Models.AMES.InspectionResultMaster)" -->
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.InspectionResultMastersController.PostInspectionResultMasters(AMESCoreStudio.WebApi.Models.AMES.InspectionResultMaster)">
<summary>
新增巡檢類別資料
@ -2976,6 +3024,25 @@
<param name="wipBox"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WipClassController">
<summary>
各班別數量資料檔
</summary>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipClassController.PutWipClass(AMESCoreStudio.WebApi.Models.AMES.WipClass)">
<summary>
更新各班別數量資料檔
</summary>
<param name="wipClass"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipClassController.PostWipClass(AMESCoreStudio.WebApi.Models.AMES.WipClass)">
<summary>
新增各班別數量資料檔
</summary>
<param name="wipClass"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WipInfosController">
<summary>
@ -3040,6 +3107,11 @@
</summary>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WipKpsController">
<summary>
工單KP資訊資料檔
</summary>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipLabelController.#ctor(AMESCoreStudio.WebApi.AMESContext)">
<summary>
@ -3296,6 +3368,25 @@
</summary>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WipTimeController">
<summary>
工單各站數量資料檔 – By TIME
</summary>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipTimeController.PutWipTime(AMESCoreStudio.WebApi.Models.AMES.WipTime)">
<summary>
更新工單各站數量資料檔 – By TIME
</summary>
<param name="wipTime"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.WipTimeController.PostWipTime(AMESCoreStudio.WebApi.Models.AMES.WipTime)">
<summary>
新增工單各站數量資料檔 – By TIME
</summary>
<param name="wipTime"></param>
<returns></returns>
</member>
<member name="T:AMESCoreStudio.WebApi.Controllers.AMES.WorkClassesController">
<summary>
工作群組維護
@ -3467,6 +3558,52 @@
<param name="barCodeCheckDto"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_WipInfo(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
BarcodeInfo-條碼資料檔
</summary>
<param name="barCodeCheckDto"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_BarcodeInfo(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
BarcodeInfo-條碼資料檔
</summary>
<param name="barCodeCheckDto"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_BarcodeStation(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
BarcodeStation-條碼過站資料檔
</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-檔案用途 條碼工單資料檔
</summary>
<param name="barCodeCheckDto"></param>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_WipStation(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
WipStation
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_WipClass(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
WipClass-各班別數量資料檔
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.Table_WipTime(AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto)">
<summary>
WipTime-工單各站數量資料檔 – By TIME
</summary>
<returns></returns>
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.AMES.BarCodeCheckController.GetCheckWipNoSation(System.String,System.String,System.Int32,System.Int32)">
<summary>
判斷工單狀態
@ -4093,7 +4230,7 @@
</member>
<member name="M:AMESCoreStudio.WebApi.Controllers.BAS.RulesController.GetRulesByNextStation(System.Int32)">
<summary>
根據下一站別IDD查詢
根據下一站別ID查詢
</summary>
<param name="id"></param>
<returns></returns>
@ -5619,14 +5756,29 @@
工單號碼
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.wipID">
<summary>
工單ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.barcode">
<summary>
內部條碼
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.barcodeID">
<summary>
內部條碼ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.barcodeType">
<summary>
過站狀態 M:一般 S:維修
條碼狀態 M:一般 S:維修
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.ruleStatus">
<summary>
條碼過站狀態 P:Pass F:Fail
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.unitNo">
@ -5634,11 +5786,21 @@
生產單位
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.flowRule">
<summary>
流程ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.station">
<summary>
作業站
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.ruleStationID">
<summary>
RuleStationID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.DTO.AMES.BarCodeCheckDto.line">
<summary>
線別站
@ -6481,6 +6643,21 @@
巡檢項目資料檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.AMESContext.WipClass">
<summary>
各班別數量資料檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.AMESContext.WipTimes">
<summary>
工單各站數量資料檔 – By TIME
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.AMESContext.WipKps">
<summary>
工單KP資訊資料檔
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.BarcodeChange">
<summary>
條碼變更資料表
@ -8121,6 +8298,11 @@
更新日期
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionForm.FactoryUnit">
<summary>
人員
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.InspectionItem">
<summary>
巡檢項目資料檔
@ -8188,12 +8370,22 @@
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultBlob.ImageName">
<summary>
生產序號
檔名
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultBlob.ImageBlob">
<summary>
巡檢文件編號
圖檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultBlob.NewName">
<summary>
新檔名
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultBlob.FilePath">
<summary>
儲存路徑
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultBlob.CreateUserID">
@ -8322,6 +8514,21 @@
更新日期
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultDetail.LineInfo">
<summary>
線別
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultDetail.Stations">
<summary>
站別
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.InspectionResultDetail.InspectionItem">
<summary>
人員
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.InspectionResultMaster">
<summary>
巡檢結果回覆資料檔
@ -10592,6 +10799,56 @@
更新日期
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.WipClass">
<summary>
各班別數量資料檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.WipID">
<summary>
工單ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.RuleStationID">
<summary>
流程站別ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.RuleStatus">
<summary>
過站狀態
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.ClassID">
<summary>
班別ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.FirstCnt">
<summary>
第一次過站數量
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.PassCnt">
<summary>
生產數量
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.CreateUserID">
<summary>
建立UserID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.CreateDate">
<summary>
建立日期
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipClass.UpdateDate">
<summary>
更新日期
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.WipInfo">
<summary>
工單基本資料文件
@ -10782,6 +11039,71 @@
工單-基本資料
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.WipKp">
<summary>
工單KP資訊資料檔
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.WipKpID">
<summary>
工單KP_ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.ItemNo">
<summary>
料號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.KpName">
<summary>
KP料號名稱
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.KpNo">
<summary>
KP料號NO
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.KpSeq">
<summary>
順序
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.Title">
<summary>
前置碼
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.Length">
<summary>
長度
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.UnitNo">
<summary>
生產單位代號
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.CreateUserID">
<summary>
建立UserID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.CreateDate">
<summary>
建立日期
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.UpdateUserID">
<summary>
更新UserID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipKp.UpdateDate">
<summary>
更新日期
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.WipLabel">
<summary>
工單資料-標籤
@ -11262,6 +11584,56 @@
更新日期
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.WipTime">
<summary>
工單各站數量資料檔 – By TIME
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.WipID">
<summary>
工單ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.RuleStationID">
<summary>
流程站別ID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.RuleStatus">
<summary>
過站狀態
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.SegmentID">
<summary>
時段
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.FirstCnt">
<summary>
第一次過站數量
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.PassCnt">
<summary>
生產過站數量
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.CreateUserID">
<summary>
建立UserID
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.CreateDate">
<summary>
建立日期
</summary>
</member>
<member name="P:AMESCoreStudio.WebApi.Models.AMES.WipTime.UpdateDate">
<summary>
更新日期
</summary>
</member>
<member name="T:AMESCoreStudio.WebApi.Models.AMES.WorkClass">
<summary>
工作類別資料檔

Loading…
Cancel
Save