12 changed files with 521 additions and 107 deletions
@ -0,0 +1,127 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Http; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using Microsoft.EntityFrameworkCore; |
||||
|
using AMESCoreStudio.WebApi; |
||||
|
using AMESCoreStudio.WebApi.Models.AMES; |
||||
|
|
||||
|
namespace AMESCoreStudio.WebApi.Controllers.AMES |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 測試不良基本資料檔
|
||||
|
/// </summary>
|
||||
|
[Route("api/[controller]")]
|
||||
|
[ApiController] |
||||
|
public class NgInfoeController : ControllerBase |
||||
|
{ |
||||
|
private readonly AMESContext _context; |
||||
|
|
||||
|
public NgInfoeController(AMESContext context) |
||||
|
{ |
||||
|
_context = context; |
||||
|
} |
||||
|
|
||||
|
// GET: api/NgInfoe
|
||||
|
[HttpGet] |
||||
|
public async Task<ActionResult<IEnumerable<NgInfo>>> GetNgInfos() |
||||
|
{ |
||||
|
return await _context.NgInfos.ToListAsync(); |
||||
|
} |
||||
|
|
||||
|
// GET: api/NgInfoe/5
|
||||
|
[HttpGet("{id}")] |
||||
|
public async Task<ActionResult<NgInfo>> GetNgInfo(decimal id) |
||||
|
{ |
||||
|
var ngInfo = await _context.NgInfos.FindAsync(id); |
||||
|
|
||||
|
if (ngInfo == null) |
||||
|
{ |
||||
|
return NotFound(); |
||||
|
} |
||||
|
|
||||
|
return ngInfo; |
||||
|
} |
||||
|
|
||||
|
// PUT: api/NgInfoe/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> PutNgInfo(decimal id, NgInfo ngInfo) |
||||
|
{ |
||||
|
if (id != ngInfo.NgID) |
||||
|
{ |
||||
|
return BadRequest(); |
||||
|
} |
||||
|
|
||||
|
_context.Entry(ngInfo).State = EntityState.Modified; |
||||
|
|
||||
|
try |
||||
|
{ |
||||
|
await _context.SaveChangesAsync(); |
||||
|
} |
||||
|
catch (DbUpdateConcurrencyException) |
||||
|
{ |
||||
|
if (!NgInfoExists(id)) |
||||
|
{ |
||||
|
return NotFound(); |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
throw; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return NoContent(); |
||||
|
} |
||||
|
|
||||
|
// POST: api/NgInfoe
|
||||
|
// 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<NgInfo>> PostNgInfo(NgInfo ngInfo) |
||||
|
{ |
||||
|
_context.NgInfos.Add(ngInfo); |
||||
|
try |
||||
|
{ |
||||
|
await _context.SaveChangesAsync(); |
||||
|
} |
||||
|
catch (DbUpdateException) |
||||
|
{ |
||||
|
if (NgInfoExists(ngInfo.NgID)) |
||||
|
{ |
||||
|
return Conflict(); |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
throw; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return CreatedAtAction("GetNgInfo", new { id = ngInfo.NgID }, ngInfo); |
||||
|
} |
||||
|
|
||||
|
// DELETE: api/NgInfoe/5
|
||||
|
[HttpDelete("{id}")] |
||||
|
public async Task<ActionResult<NgInfo>> DeleteNgInfo(decimal id) |
||||
|
{ |
||||
|
var ngInfo = await _context.NgInfos.FindAsync(id); |
||||
|
if (ngInfo == null) |
||||
|
{ |
||||
|
return NotFound(); |
||||
|
} |
||||
|
|
||||
|
_context.NgInfos.Remove(ngInfo); |
||||
|
await _context.SaveChangesAsync(); |
||||
|
|
||||
|
return ngInfo; |
||||
|
} |
||||
|
|
||||
|
private bool NgInfoExists(decimal id) |
||||
|
{ |
||||
|
return _context.NgInfos.Any(e => e.NgID == id); |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,48 @@ |
|||||
|
using System; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System.ComponentModel.DataAnnotations.Schema; |
||||
|
using System.Runtime.Serialization; |
||||
|
|
||||
|
#nullable disable |
||||
|
|
||||
|
namespace AMESCoreStudio.WebApi.Models.AMES |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 條碼過站資料檔
|
||||
|
/// </summary>
|
||||
|
[Table("BARCODE_STATION")] |
||||
|
|
||||
|
public partial class BarcodeStation |
||||
|
{ |
||||
|
//[Key]
|
||||
|
[Column("BARCODE_ID", TypeName = "NUMBER")] |
||||
|
public decimal BarcodeId { get; set; } |
||||
|
//[Key]
|
||||
|
[Column("WIP_ID", TypeName = "NUMBER")] |
||||
|
public decimal WipId { get; set; } |
||||
|
//[Key]
|
||||
|
[Column("RULE_STATION_ID", TypeName = "NUMBER")] |
||||
|
public decimal RuleStationId { get; set; } |
||||
|
//[Key]
|
||||
|
[Column("RULE_STATUS")] |
||||
|
[StringLength(1)] |
||||
|
public string RuleStatus { get; set; } |
||||
|
[Key] |
||||
|
[Column("INPUT_DATE", TypeName = "DATE")] |
||||
|
public DateTime InputDate { get; set; } |
||||
|
[Required] |
||||
|
[Column("SYSTYPE")] |
||||
|
[StringLength(1)] |
||||
|
public string Systype { get; set; } |
||||
|
[Column("LINE_ID", TypeName = "NUMBER")] |
||||
|
public decimal LineId { get; set; } |
||||
|
[Column("STATION_FLAG", TypeName = "NUMBER")] |
||||
|
public decimal? StationFlag { get; set; } |
||||
|
[Column("STATION_TIMES", TypeName = "NUMBER")] |
||||
|
public decimal StationTimes { get; set; } |
||||
|
[Column("CREATE_USERID", TypeName = "NUMBER")] |
||||
|
public decimal CreateUserid { get; set; } |
||||
|
[Column("CREATE_DATE", TypeName = "DATE")] |
||||
|
public DateTime CreateDate { get; set; } |
||||
|
} |
||||
|
} |
@ -0,0 +1,191 @@ |
|||||
|
using System; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System.ComponentModel.DataAnnotations.Schema; |
||||
|
using System.Runtime.Serialization; |
||||
|
|
||||
|
#nullable disable |
||||
|
|
||||
|
namespace AMESCoreStudio.WebApi.Models.AMES |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 測試不良基本資料檔
|
||||
|
/// </summary>
|
||||
|
[Table("NG_INFO", Schema = "JHAMES")] |
||||
|
public partial class NgInfo |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 測試不良ID
|
||||
|
/// </summary>
|
||||
|
[Key] |
||||
|
[Column("NG_ID", TypeName = "NUMBER")] |
||||
|
[DataMember] |
||||
|
[Required] |
||||
|
public decimal NgID { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 測試種類代碼
|
||||
|
/// </summary>
|
||||
|
[Required] |
||||
|
[Column("TYPE_NO")] |
||||
|
[StringLength(6)] |
||||
|
[DataMember] |
||||
|
public string TypeNo { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 測試員代號
|
||||
|
/// </summary>
|
||||
|
[Column("OPERATOR_ID", TypeName = "NUMBER")] |
||||
|
[DataMember] |
||||
|
public decimal OperatorID { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 治具代號
|
||||
|
/// </summary>
|
||||
|
[Required] |
||||
|
[Column("FIXTURE_NO")] |
||||
|
[StringLength(20)] |
||||
|
[DataMember] |
||||
|
public string FixtureNo { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 測試程試代號/名稱
|
||||
|
/// </summary>
|
||||
|
[Required] |
||||
|
[Column("PROGRAM_NO")] |
||||
|
[StringLength(20)] |
||||
|
[DataMember] |
||||
|
public string ProgramNo { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 設備代號
|
||||
|
/// </summary>
|
||||
|
[Required] |
||||
|
[Column("MACHINE_NO")] |
||||
|
[StringLength(20)] |
||||
|
[DataMember] |
||||
|
public string MachineNo { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 測試總點數
|
||||
|
/// </summary>
|
||||
|
[Column("TEST_QTY", TypeName = "NUMBER")] |
||||
|
[DataMember] |
||||
|
public decimal TestQty { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 不良總點數
|
||||
|
/// </summary>
|
||||
|
[Column("NG_QTY", TypeName = "NUMBER")] |
||||
|
[DataMember] |
||||
|
public decimal NgQty { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 開始測試時間
|
||||
|
/// </summary>
|
||||
|
[Column("START_TIME")] |
||||
|
[DataMember] |
||||
|
public DateTime StartTime { get; set; } = System.DateTime.Now; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 結束測試時間
|
||||
|
/// </summary>
|
||||
|
[Column("END_TIME")] |
||||
|
[DataMember] |
||||
|
public DateTime EndTime { get; set; } = System.DateTime.Now; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 測試狀態(F-FAIL)
|
||||
|
/// </summary>
|
||||
|
[Required] |
||||
|
[Column("TEST_STATUS")] |
||||
|
[StringLength(1)] |
||||
|
[DataMember] |
||||
|
public string TestStatus { get; set; } = "F"; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 內部條碼ID
|
||||
|
/// </summary>
|
||||
|
[Column("BARCODE_ID", TypeName = "NUMBER")] |
||||
|
[DataMember] |
||||
|
public decimal BarcodeId { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 流程站別ID
|
||||
|
/// </summary>
|
||||
|
[Column("RULE_STATION_ID", TypeName = "NUMBER")] |
||||
|
[DataMember] |
||||
|
public decimal RuleStationId { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 工單ID
|
||||
|
/// </summary>
|
||||
|
[Column("WIP_ID", TypeName = "NUMBER")] |
||||
|
[DataMember] |
||||
|
public decimal WipId { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 處理狀態(0:尚未維修處理, 1:已維修處理, 2:誤判)
|
||||
|
/// </summary>
|
||||
|
[Column("STATUS", TypeName = "NUMBER")] |
||||
|
[DataMember] |
||||
|
public decimal Status { get; set; } = 0; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 不良現象原因代碼
|
||||
|
/// </summary>
|
||||
|
[Column("REASON_NO")] |
||||
|
[StringLength(6)] |
||||
|
[DataMember] |
||||
|
public string ReasonNo { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 不良代碼指向的下一站ID
|
||||
|
/// </summary>
|
||||
|
[Column("NEXT_STATION_ID", TypeName = "NUMBER")] |
||||
|
[DataMember] |
||||
|
public decimal NextStationId { get; set; } = -1; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 不良時的組件數量
|
||||
|
/// </summary>
|
||||
|
[Column("ITEM_QTY", TypeName = "NUMBER")] |
||||
|
[DataMember] |
||||
|
public decimal ItemQty { get; set; } = -1; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 不良備註
|
||||
|
/// </summary>
|
||||
|
[Column("NG_MEMO")] |
||||
|
[StringLength(300)] |
||||
|
[DataMember] |
||||
|
public string NgMemo { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 創建者ID
|
||||
|
/// </summary>
|
||||
|
[Column("CREATE_USERID")] |
||||
|
[DataMember] |
||||
|
public int CreateUserID { get; set; } = 0; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 創建日期
|
||||
|
/// </summary>
|
||||
|
[Column("CREATE_DATE")] |
||||
|
[DataMember] |
||||
|
public DateTime CreateDate { get; set; } = System.DateTime.Now; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 更新者ID
|
||||
|
/// </summary>
|
||||
|
[Column("UPDATE_USERID")] |
||||
|
[DataMember] |
||||
|
public int UpdateUserID { get; set; } = 0; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 更新日期
|
||||
|
/// </summary>
|
||||
|
[Column("UPDATE_DATE", TypeName = "DATE")] |
||||
|
[DataMember] |
||||
|
public DateTime UpdateDate { get; set; } = System.DateTime.Now; |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue