diff --git a/AMESCoreStudio.WebApi/Controllers/BLL/RPTController.cs b/AMESCoreStudio.WebApi/Controllers/BLL/RPTController.cs index e20c992a..e1ab93bc 100644 --- a/AMESCoreStudio.WebApi/Controllers/BLL/RPTController.cs +++ b/AMESCoreStudio.WebApi/Controllers/BLL/RPTController.cs @@ -1,24 +1,17 @@ -using AMESCoreStudio.CommonTools.Result; -using AMESCoreStudio.WebApi.Models.BAS; +using AMESCoreStudio.WebApi.Controllers.AMES; +using AMESCoreStudio.WebApi.DTO.AMES; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -using System.Threading.Tasks; -using System; -using System.Net.Mail; using Microsoft.Extensions.Configuration; -using System.Net; -using System.Linq; -using System.Text.RegularExpressions; -using System.IO; -using AMESCoreStudio.WebApi.Controllers.AMES; -using AMESCoreStudio.WebApi.DTO.AMES; -using System.Data; -using Newtonsoft.Json; using Newtonsoft.Json.Linq; -using AMESCoreStudio.WebApi.Controllers.SYS; -using System.Data.Common; +using System; using System.Collections.Generic; -using System.Reflection; +using System.Data; +using System.Data.Common; +using System.Linq; +using System.Threading.Tasks; +using Dapper; +using AMESCoreStudio.WebApi.Extensions; namespace AMESCoreStudio.WebApi.Controllers.BLL { @@ -576,6 +569,48 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL } + private async Task Get_Material_NG_Rate(string sDate, string eDate) + { + try + { + #region NG Material Rate SQL + string sMS_SQL = @" SELECT A.REPAIR_QTY, B.T2_QTY, 100 - ROUND(A.REPAIR_QTY / B.T2_QTY * 100, 2) AS M_RATE"; + sMS_SQL = sMS_SQL + " FROM ("; + sMS_SQL = sMS_SQL + " SELECT COUNT(DISTINCT BARCODE_ID ) REPAIR_QTY"; + sMS_SQL = sMS_SQL + " FROM JHAMES.NG_INFO"; + sMS_SQL = sMS_SQL + " WHERE 1 = 1"; + sMS_SQL = sMS_SQL + " AND CREATE_DATE BETWEEN TO_DATE('" + sDate + "','YYYY/MM/DD') AND TO_DATE('" + eDate + "','YYYY/MM/DD')"; + sMS_SQL = sMS_SQL + " AND STATUS = 1"; + sMS_SQL = sMS_SQL + " AND STATION_ID = 1105"; + sMS_SQL = sMS_SQL + " ) A,"; + sMS_SQL = sMS_SQL + " ("; + sMS_SQL = sMS_SQL + " SELECT COUNT(DISTINCT BARCODE_ID) T2_QTY"; + sMS_SQL = sMS_SQL + " FROM("; + sMS_SQL = sMS_SQL + " SELECT BARCODE_ID, WIP_ID, COUNT(BARCODE_ID)"; + sMS_SQL = sMS_SQL + " FROM JHAMES.BARCODE_STATION"; + sMS_SQL = sMS_SQL + " WHERE 1 = 1"; + sMS_SQL = sMS_SQL + " AND STATION_ID = 1105"; + sMS_SQL = sMS_SQL + " AND CREATE_DATE BETWEEN TO_DATE('" + sDate + "','YYYY/MM/DD') AND TO_DATE('" + eDate + "','YYYY/MM/DD')"; + sMS_SQL = sMS_SQL + " GROUP BY BARCODE_ID, WIP_ID"; + sMS_SQL = sMS_SQL + " ORDER BY BARCODE_ID DESC"; + sMS_SQL = sMS_SQL + " )"; + sMS_SQL = sMS_SQL + " ) B"; + #endregion + + DynamicParameters p = new DynamicParameters(); + + var q1 = await _context.Database.DapperQueryAsync(sMS_SQL, p); + var aa = q1.FirstOrDefault().M_RATE; + return double.Parse(aa.ToString()); + } + catch (Exception ex) + { + string stEMP = ex.Message; + return 0.0; + } + + } + /// /// IOQ進料檢驗 /// @@ -1089,7 +1124,8 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL #endregion // 線上材料品質 - result.LQC = 0.00; + //result.LQC = 0.00; + result.LQC = await Get_Material_NG_Rate(sDate, eDate); // QRC件數 新增筆數 //result.QRCNew = 4;