diff --git a/AMESCoreStudio.WebApi/Controllers/ESUN/CheckSfisKayPartController.cs b/AMESCoreStudio.WebApi/Controllers/ESUN/CheckSfisKayPartController.cs
new file mode 100644
index 00000000..dcd8f1b4
--- /dev/null
+++ b/AMESCoreStudio.WebApi/Controllers/ESUN/CheckSfisKayPartController.cs
@@ -0,0 +1,65 @@
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using AMESCoreStudio.CommonTools.Result;
+using Microsoft.EntityFrameworkCore;
+using System.Data.Common;
+using System.Data;
+using System.Dynamic;
+
+namespace AMESCoreStudio.WebApi.Controllers.QASRV
+{
+ [Route("api/[controller]")]
+ [ApiController]
+ public class CheckSfisKayPartController : ControllerBase
+ {
+ ///
+ /// 查詢SFIS 有效序號 KeyParts
+ ///
+ /// KeyParts序號
+ ///
+ [Route("GetSfisKeyParts/{id}")]
+ [HttpGet]
+ public async Task> GetSFISKeyParts(string id)
+ {
+ ResultModel result = new ResultModel();
+ ESUNContext _esun_context = new ESUNContext();
+ DbConnection esun_conn = _esun_context.Database.GetDbConnection();
+ try
+ {
+ if (esun_conn.State != System.Data.ConnectionState.Open)
+ {
+ await esun_conn.OpenAsync();
+ }
+ result.Msg = "N";
+
+ string strsql = $@" SELECT * FROM SFIS.dbo.ZPDKeyPart
+ WHERE IsActive = 1 AND PartBarcode = '{id.ToUpper().Trim()}'";
+
+ using (var esun_cmd = esun_conn.CreateCommand())
+ {
+ esun_cmd.CommandText = strsql;
+ using (var esun_reader = await esun_cmd.ExecuteReaderAsync())
+ {
+ if (esun_reader.HasRows)
+ {
+ result.Msg = "Y";
+ }
+ }
+
+ }
+ result.Success = true;
+ }
+ catch (Exception ex)
+ {
+ result.Msg = ex.Message;
+ result.Success = false;
+ }
+ return result;
+ }
+ }
+}