From ce0bf98311dca9f6383916a075de599c3a5478b9 Mon Sep 17 00:00:00 2001 From: "BB.Wang" Date: Tue, 5 Dec 2023 08:26:38 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AA=BF=E6=95=B4=E5=93=81=E8=B3=AA=E7=9C=8B?= =?UTF-8?q?=E6=9D=BF=E5=8F=8AFQC=E9=A9=97=E9=80=80=E5=BE=8C=E6=8B=8B?= =?UTF-8?q?=E8=BD=89SMS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/FQCController.cs | 5 ++ .../Controllers/RPTController.cs | 2 +- AMESCoreStudio.Web/HttpApis/AMES/IFQC.cs | 8 +++ .../AMES/FqcResultMasterController.cs | 64 +++++++++++++++++++ .../Controllers/BLL/RPTController.cs | 26 ++++++-- 5 files changed, 98 insertions(+), 7 deletions(-) diff --git a/AMESCoreStudio.Web/Controllers/FQCController.cs b/AMESCoreStudio.Web/Controllers/FQCController.cs index 03b0f57c..0ac82978 100644 --- a/AMESCoreStudio.Web/Controllers/FQCController.cs +++ b/AMESCoreStudio.Web/Controllers/FQCController.cs @@ -1388,6 +1388,11 @@ namespace AMESCoreStudio.Web.Controllers // 允收且不是無序號供單需要FQC過站 if (model.QaResult == "P" && fqcItem.InspectionStatus != "D") result = await _fqcApi.PassingByFQC(model.InhouseNo, model.SeqID, GetLogInUserID()); + //2023-12-04 BB.Wang Add FQC驗退後,拋單至SMS系統開CAR單 + else if (model.QaResult == "R") + { + await _fqcApi.PostSMS_CAR_FQC(JsonConvert.SerializeObject(fqcResultMaster)); + } if (!result.Success) { diff --git a/AMESCoreStudio.Web/Controllers/RPTController.cs b/AMESCoreStudio.Web/Controllers/RPTController.cs index 3726bb78..24c89390 100644 --- a/AMESCoreStudio.Web/Controllers/RPTController.cs +++ b/AMESCoreStudio.Web/Controllers/RPTController.cs @@ -87,7 +87,7 @@ namespace AMESCoreStudio.Web.Controllers var eDate = new DateTime(Data.Year, Data.Month, DateTime.DaysInMonth(Data.Year, Data.Month)).ToString("yyyy/MM/dd"); var werkNo = string.Empty; - var werksNoArrsy = new List { "YS31", "YS37", "YS28", "YS03" }; + var werksNoArrsy = new List { "YS31", "YS37", "YS39", "YS03", "YS28", "YS15"}; if (werksNoArrsy.Count >= werksNoSeq + 1) { werkNo = werksNoArrsy[werksNoSeq]; diff --git a/AMESCoreStudio.Web/HttpApis/AMES/IFQC.cs b/AMESCoreStudio.Web/HttpApis/AMES/IFQC.cs index 424c17e2..206ab056 100644 --- a/AMESCoreStudio.Web/HttpApis/AMES/IFQC.cs +++ b/AMESCoreStudio.Web/HttpApis/AMES/IFQC.cs @@ -298,6 +298,14 @@ namespace AMESCoreStudio.Web [WebApiClient.Attributes.HttpPut("api/FqcResultMaster")] ITask> PutFqcResultMaster([FromBody, RawJsonContent] string model); + ///2023-12-04 BB.Wang Add FQC驗退後,拋單至SMS系統開CAR單 + /// + /// 拋單至SMS系統開CAR單 + /// + /// + [WebApiClient.Attributes.HttpPost("api/FqcResultMaster/BySMS_CAR")] + ITask PostSMS_CAR_FQC([FromBody, RawJsonContent] string model); + /// /// 新增FQC檢驗結果明細 /// diff --git a/AMESCoreStudio.WebApi/Controllers/AMES/FqcResultMasterController.cs b/AMESCoreStudio.WebApi/Controllers/AMES/FqcResultMasterController.cs index 9a6d185a..361758cd 100644 --- a/AMESCoreStudio.WebApi/Controllers/AMES/FqcResultMasterController.cs +++ b/AMESCoreStudio.WebApi/Controllers/AMES/FqcResultMasterController.cs @@ -9,6 +9,10 @@ using AMESCoreStudio.WebApi; using AMESCoreStudio.WebApi.Models.AMES; using AMESCoreStudio.CommonTools.Result; using AMESCoreStudio.WebApi.DTO; +using System.Data; +using System.Data.Common; +using Dapper; +using AMESCoreStudio.WebApi.Extensions; namespace AMESCoreStudio.WebApi.Controllers.AMES { @@ -20,6 +24,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES public class FqcResultMasterController : ControllerBase { private readonly AMESContext _context; + private readonly SMSContext _SMS_context; public FqcResultMasterController(AMESContext context) { @@ -394,6 +399,65 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES return result; } + ///2023-12-04 BB.Wang Add FQC驗退後,拋單至SMS系統開CAR單 + /// + /// 新增FQC檢驗單結果Fail to SMS CAR + /// + /// + /// + [HttpPost("BySMS_CAR")] + public async Task PostSMS_CAR_FQC(FqcResultMaster fqcResultMaster) + { + SMSContext _SMS_context = new SMSContext(); + + DbConnection conn = _SMS_context.Database.GetDbConnection(); + if (conn.State != ConnectionState.Open) + { + await conn.OpenAsync(); + } + + #region FQC SQL + var sMS_SQL = @" INSERT INTO [dbo].[TEMP_QC_RETURN]([SMSProcess],[QCType],[QCFormID],[QCDate],[MFID],[ProductID],[ModelName], + [MOID],[DefectQty],[SamplQty],[IsMedicalModel] ,[InspectorID],[ExtNotes],[VendorCode],[VendorName]) + VALUES( + '0', + 'FQC', + @QCFormID, + @QCDate, + 'YS00', + @ProductID, + @ModelName, + @MOID, + @DefectQty, + @SamplQty, + @IsMedicalModel, + @InspectorID, + @ExtNotes, + '立德產線', + '' + )"; + #endregion + + DynamicParameters p = new DynamicParameters(); + + #region FQC SQL參數 + p.Add("QCFormID", fqcResultMaster.InhouseNo); + p.Add("QCDate", fqcResultMaster.EndTime.ToString("yyyyMMdd")); + p.Add("ProductID", fqcResultMaster.ItemNo); + p.Add("ModelName", fqcResultMaster.ModelNo); + p.Add("MOID", fqcResultMaster.WipNo); + p.Add("DefectQty", fqcResultMaster.FailQty); + p.Add("SamplQty", fqcResultMaster.LotQty); + p.Add("IsMedicalModel", "0"); + p.Add("InspectorID", "205"); + p.Add("ExtNotes", fqcResultMaster.Note); + #endregion + + var result = await _SMS_context.Database.DapperExecuteAsync(sMS_SQL, p); + + return result; + } + // DELETE: api/FqcResultMaster/5 [HttpDelete("{id}")] public async Task> DeleteFqcResultMaster(int id) diff --git a/AMESCoreStudio.WebApi/Controllers/BLL/RPTController.cs b/AMESCoreStudio.WebApi/Controllers/BLL/RPTController.cs index e71f4671..e20c992a 100644 --- a/AMESCoreStudio.WebApi/Controllers/BLL/RPTController.cs +++ b/AMESCoreStudio.WebApi/Controllers/BLL/RPTController.cs @@ -1065,6 +1065,8 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL werksNo = "YS31"; } + string sEnd_Date = DateTime.Parse(eDate).AddDays(1).ToString("yyyy/MM/dd"); + var result = new RPT002ViewDto(); var vYear = DateTime.Parse(sDate).Year; @@ -1176,7 +1178,9 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL // FPY 立德 Board #region 立德 Board //result.FPYBoard_LEI = 99.15; - var f_FPYBoard_LEI = await new WipStationController(_context).GetWipStation4QRS014GroupB(null, sDate, eDate, null, "YS00", null); + //2023-11-30 BB.Wang Modify + //var f_FPYBoard_LEI = await new WipStationController(_context).GetWipStation4QRS014GroupB(null, sDate, eDate, null, "YS00", null); + var f_FPYBoard_LEI = await new WipStationController(_context).GetWipStation4QRS014GroupS(null, sDate, sEnd_Date, null, "YS00", "FqcDate"); if (f_FPYBoard_LEI.DataTotal > 0) { double sum_rate = 100.0; @@ -1281,7 +1285,9 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL // FPY 立德 System #region 立德 System //result.FPYSystem_LEI = 92.12; - var f_FPYSystem_LEI = await new WipStationController(_context).GetWipStation4QRS014GroupS(null, sDate, eDate, null, "YS00", null); + //2023-11-30 BB.Wang Modify + //var f_FPYSystem_LEI = await new WipStationController(_context).GetWipStation4QRS014GroupS(null, sDate, eDate, null, "YS00", null); + var f_FPYSystem_LEI = await new WipStationController(_context).GetWipStation4QRS014GroupB(null, sDate, sEnd_Date, null, "YS00", "FqcDate"); if (f_FPYSystem_LEI.DataTotal > 0) { double sum_rate = 100.0; @@ -1386,7 +1392,9 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL // FPY 立德 Medical #region 立德 Medical //result.FPYMedical_LEI = 90.11; - var f_FPYMedical_LEI = await new WipStationController(_context).GetWipStation4QRS014GroupS(null, sDate, eDate, null, "YS00", null); + //2023-11-30 BB.Wang Modify + //var f_FPYMedical_LEI = await new WipStationController(_context).GetWipStation4QRS014GroupS(null, sDate, eDate, null, "YS00", null); + var f_FPYMedical_LEI = await new WipStationController(_context).GetWipStation4QRS014GroupM(null, sDate, sEnd_Date, null, "YS00", "FqcDate"); if (f_FPYMedical_LEI.DataTotal > 0) { double sum_rate = 100.0; @@ -1491,7 +1499,9 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL // FPY Board #region 立德 委外 Board //result.FPYBoard = 100.00; - var f_FPYBoard = await new WipStationController(_context).GetWipStation4QRS014GroupB(null, sDate, eDate, null, werksNo, null); + //2023-11-30 BB.Wang Modify + //var f_FPYBoard = await new WipStationController(_context).GetWipStation4QRS014GroupB(null, sDate, eDate, null, werksNo, null); + var f_FPYBoard = await new WipStationController(_context).GetWipStation4QRS014GroupS(null, sDate, sEnd_Date, null, werksNo, "FqcDate"); if (f_FPYBoard.DataTotal > 0) { double sum_rate = 100.0; @@ -1596,7 +1606,9 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL // FPY System #region 立德 委外 System //result.FPYSystem = 99.12; - var f_FPYSystem = await new WipStationController(_context).GetWipStation4QRS014GroupS(null, sDate, eDate, null, werksNo, null); + //2023-11-30 BB.Wang Modify + //var f_FPYSystem = await new WipStationController(_context).GetWipStation4QRS014GroupS(null, sDate, eDate, null, werksNo, null); + var f_FPYSystem = await new WipStationController(_context).GetWipStation4QRS014GroupB(null, sDate, sEnd_Date, null, werksNo, "FqcDate"); if (f_FPYSystem.DataTotal > 0) { double sum_rate = 100.0; @@ -1701,7 +1713,9 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL // FPY Medical #region 立德 委外 Medical //result.FPYMedical = 12.12; - var f_FPYMedical = await new WipStationController(_context).GetWipStation4QRS014GroupS(null, sDate, eDate, null, werksNo, null); + //2023-11-30 BB.Wang Modify + //var f_FPYMedical = await new WipStationController(_context).GetWipStation4QRS014GroupS(null, sDate, eDate, null, werksNo, null); + var f_FPYMedical = await new WipStationController(_context).GetWipStation4QRS014GroupM(null, sDate, sEnd_Date, null, werksNo, "FqcDate"); if (f_FPYMedical.DataTotal > 0) { double sum_rate = 100.0;