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