using System.Collections.Generic; using WebApiClient; using WebApiClient.Attributes; using AMESCoreStudio.WebApi; using Microsoft.AspNetCore.Mvc; using AMESCoreStudio.WebApi.Models.AMES; using AMESCoreStudio.WebApi.Models.BAS; using AMESCoreStudio.CommonTools.Result; using AMESCoreStudio.WebApi.DTO.AMES; namespace AMESCoreStudio.Web { [JsonReturn] public interface ISPC:IHttpApi { #region SPC001 巡檢類別維護 /// <summary> /// 新增巡檢類別 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpPost("api/InspectionTypes")] ITask<ResultModel<InspectionType>> PostInspectionType([FromBody, RawJsonContent] string model); /// <summary> /// 更新巡檢類別 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpPut("api/InspectionTypes/{id}")] ITask<ResultModel<InspectionType>> PutInspectionType(int id, [FromBody, RawJsonContent] string model); /// <summary> /// 刪除巡檢類別 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpDelete("api/InspectionTypes/{id}")] ITask<ResultModel<string>> DeleteInspectionType(int id); /// <summary> /// 根據ID獲取指定巡檢類別資料 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionTypes/{id}")] ITask<List<InspectionType>> GetInspectionType(int id); /// <summary> /// 獲取巡檢類別資料 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionTypes")] ITask<List<InspectionType>> GetInspectionTypes(); #endregion #region SPC002 巡檢表單维護 /// <summary> /// 新增巡檢表單 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpPost("api/InspectionForms")] ITask<ResultModel<InspectionForm>> PostInspectionForm([FromBody, RawJsonContent] string model); /// <summary> /// 更新巡檢表單 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpPut("api/InspectionForms/{id}")] ITask<ResultModel<InspectionForm>> PutInspectionForm(int id, [FromBody, RawJsonContent] string model); /// <summary> /// 刪除巡檢表單维 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpDelete("api/InspectionForms/{id}")] ITask<ResultModel<string>> DeleteInspectionForm(int id); /// <summary> /// 根據ID獲取指定巡檢表單資料 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionForms/{id}")] ITask<List<InspectionForm>> GetInspectionForm(int id); /// <summary> /// 獲取指定巡檢表單資料By Query /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionForms/Query/{id}/{status}")] ITask<List<InspectionForm>> GetInspectionFormsByQuery(int id,string status); /// <summary> /// 獲取巡檢表單資料 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionForms")] ITask<List<InspectionForm>> GetInspectionForms(); #endregion #region SPC003 巡檢細項維護 /// <summary> /// 新增巡檢細項 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpPost("api/InspectionItems")] ITask<ResultModel<InspectionItem>> PostInspectionItem([FromBody, RawJsonContent] string model); /// <summary> /// 更新巡檢細項 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpPut("api/InspectionItems/{id}")] ITask<ResultModel<InspectionItem>> PutInspectionItem(int id, [FromBody, RawJsonContent] string model); /// <summary> /// 刪除巡檢細項 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpDelete("api/InspectionItems/{id}")] ITask<string> DeleteInspectionItem(int id); /// <summary> /// 根據ID獲取指定巡檢細項資料 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionItems/{id}")] ITask<List<InspectionItem>> GetInspectionItem(int id); /// <summary> /// 根據ID獲取指定巡檢細項資料 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionItems/Form/{id}")] ITask<List<InspectionItem>> GetInspectionItemsByFormID(int id); /// <summary> /// 獲取巡檢細項資料 /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionItems")] ITask<List<InspectionItem>> GetInspectionItems(); #endregion #region SPC004 每日工時資料維護 /// <summary> /// InspectionResultDetail By Id and ItemID /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionResultDetails/Query/{id}/{Iid}")] ITask<List<InspectionResultDetail>> GetInspectionResultDetailByQuery(int id, int Iid); /// <summary> /// InspectionResultDetailDto /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionResultDetails/Query/{id}")] ITask<List<InspectionResultDetailDto>> GetInspectionResultDetailQuery(int id); #endregion #region SPC005 巡檢結果維護 /// <summary> /// 新增巡檢結果MASTER /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpPost("api/InspectionResultMasters")] ITask<ResultModel<InspectionResultMaster>> PostInspectionResultMaster([FromBody, RawJsonContent] string model); /// <summary> /// 更新巡檢結果MASTER /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpPut("api/InspectionResultMasters/{id}")] 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(int id); /// <summary> /// 根據ID獲取指定巡檢結果MASTER /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionResultMasters/{id}")] ITask<List<InspectionResultMaster>> GetInspectionResultMaster(int id); /// <summary> /// 獲取巡檢結果MASTER /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionResultMasters")] ITask<List<InspectionResultMaster>> GetInspectionResultMasters(); /// <summary> /// 根据巡檢結果MASTER /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionResultMasters/Form/{id}")] ITask<List<InspectionResultMaster>> GetInspectionResultMastersByFormId(int id); /// <summary> /// 根据巡檢結果MASTER /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionResultMasters/Query/{WipNo}/{ItemNo}/{BarcodeNo}/{StatusNo}")] ITask<List<InspectionResultMaster>> GetInspectionResultMastersByQuery(string WipNo, string ItemNo, string BarcodeNo, string StatusNo); /// <summary> /// 根据巡檢結果MASTER /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionResultMasters/QueryAll/{id}/{WipNo}/{ItemNo}/{BarcodeNo}/{StatusNo}/{sdate}/{edate}")] ITask<ResultModel<InspectionResultMasterDto>> GetInspectionResultMastersByQueryAll(int id, string WipNo, string ItemNo, string BarcodeNo, string StatusNo, string sdate, string edate, int page = 0, int limit = 10); /// <summary> /// 獲取MASTER ID /// </summary> /// <returns></returns> [WebApiClient.Attributes.HttpGet("api/InspectionResultMasters/NewID")] ITask<string> GetInspectionResultMastersNewID(); /// <summary> /// 新增巡檢結果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 } }