diff --git a/AMESCoreStudio.Web/Controllers/RPTController.cs b/AMESCoreStudio.Web/Controllers/RPTController.cs index 333a28aa..3726bb78 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", "YS32", "YS33", "YS34" }; + var werksNoArrsy = new List { "YS31", "YS37", "YS28", "YS03" }; if (werksNoArrsy.Count >= werksNoSeq + 1) { werkNo = werksNoArrsy[werksNoSeq]; diff --git a/AMESCoreStudio.WebApi/Controllers/BLL/RPTController.cs b/AMESCoreStudio.WebApi/Controllers/BLL/RPTController.cs index 92cf8c64..6cb4a229 100644 --- a/AMESCoreStudio.WebApi/Controllers/BLL/RPTController.cs +++ b/AMESCoreStudio.WebApi/Controllers/BLL/RPTController.cs @@ -37,10 +37,11 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL /// 建構式 /// /// - public RPTController(AMESContext context, IConfiguration config) + public RPTController(AMESContext context, SMSContext SMS_context, IConfiguration config) { _config = config; _context = context; + _SMS_context = SMS_context; } /// @@ -467,11 +468,13 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL await conn.OpenAsync(); } + #region RMA、DOA SQL string sMS_SQL = @" SELECT YRER, MONTH, QC_RATE_TYPE, PRODUCT_TYPE, QC_RATE, CREATE_DATE, CREATE_USERID, UPDATE_DATE, UPDATE_USERID"; sMS_SQL = sMS_SQL + " FROM JHAMES.QC_RATE"; sMS_SQL = sMS_SQL + " WHERE YRER = '" + C_YEAR + "'"; sMS_SQL = sMS_SQL + " AND MONTH = '" + C_MONTH + "'"; sMS_SQL = sMS_SQL + " AND QC_RATE_TYPE = '" + sQC_RATE_TYPE + "'"; + #endregion using (var AMES_cmd = conn.CreateCommand()) { @@ -487,6 +490,13 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL dtAMES_TB = DataReaderToDataTable(AMES_reader); + //2023-10-25 B.B. Wang Add 關閉資料庫連線 + if (conn.State == ConnectionState.Open) + { + conn.Close(); + conn.Dispose(); + } + if (dtAMES_TB.Rows.Count > 0) { var dRate_P = dtAMES_TB.Select("PRODUCT_TYPE = 'BOARD'")[0]["QC_RATE"].ToString(); @@ -503,6 +513,7 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL return "0|0|0"; ; } } + } /// @@ -524,6 +535,7 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL await conn.OpenAsync(); } + #region IQC SQL string sMS_SQL = @" SELECT N1.THE_YEAR C_YEAR,N1.MONTH_OF_YEAR C_MONTH,M1.MEDICAL,M1.PARTTYPE,M1.NG_QTY,M1.TOTAL_QTY,M1.NG_RATE"; sMS_SQL = sMS_SQL + " FROM (SELECT DISTINCT THE_YEAR,MONTH_OF_YEAR FROM Calendar WHERE the_year= '" + C_YEAR + "') N1 "; sMS_SQL = sMS_SQL + " LEFT JOIN"; @@ -543,6 +555,7 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL sMS_SQL = sMS_SQL + " GROUP BY M.C_YEAR,M.C_MONTH"; sMS_SQL = sMS_SQL + " )M1"; sMS_SQL = sMS_SQL + " ON N1.THE_YEAR = M1.C_YEAR AND N1.MONTH_OF_YEAR=M1.C_MONTH"; + #endregion using (var SMS_cmd = conn.CreateCommand()) { @@ -558,6 +571,13 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL dtSMS_TB = DataReaderToDataTable(SMS_reader); + //2023-10-25 B.B. Wang Add 關閉資料庫連線 + if (conn.State == ConnectionState.Open) + { + conn.Close(); + conn.Dispose(); + } + if (dtSMS_TB.Rows.Count > 0) { var dRate = dtSMS_TB.Select("C_MONTH='" + C_MONTH + "'")[0]["NG_RATE"]; @@ -571,7 +591,7 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL } return 0.0; } - } + } #endregion } @@ -586,6 +606,7 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL await conn.OpenAsync(); } + #region QRC SQL string sMS_SQL = @" SELECT M1.THE_YEAR,M1.THE_MONTH,M1.MONTH_OF_YEAR,ISNULL(M2.QTY, 0) FLAG_3,ISNULL(M3.QTY, 0) FLAG_4"; sMS_SQL += " FROM"; sMS_SQL += " ("; @@ -624,6 +645,7 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL sMS_SQL += " AND DATEPART(YYYY, A.ISSUE_DATE) = '" + C_YEAR + "'"; sMS_SQL += " GROUP BY B.THE_YEAR,B.MONTH_OF_YEAR"; sMS_SQL += " )M3 ON M1.THE_YEAR = M3.THE_YEAR AND M1.MONTH_OF_YEAR = M3.MONTH_OF_YEAR"; + #endregion using (var SMS_cmd = conn.CreateCommand()) { @@ -639,6 +661,13 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL dtSMS_TB = DataReaderToDataTable(SMS_reader); + //2023-10-25 B.B. Wang Add 關閉資料庫連線 + if (conn.State == ConnectionState.Open) + { + conn.Close(); + conn.Dispose(); + } + if (dtSMS_TB.Rows.Count > 0) { var dRate1 = dtSMS_TB.Select("MONTH_OF_YEAR='" + C_MONTH + "'")[0]["FLAG_3"]; @@ -676,6 +705,7 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL await conn.OpenAsync(); } + #region CFQR SQL string sMS_SQL = @" SELECT N1.C_YEAR,N1.C_MONTH,N1.FLAG_DESC,N1.FLAG_SEQ,ISNULL(N2.QTY,0) QTY"; sMS_SQL += " FROM"; sMS_SQL += " ("; @@ -741,6 +771,7 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL sMS_SQL += " )N2"; sMS_SQL += " ON N1.C_YEAR = N2.C_YEAR AND N1.C_MONTH=N2.C_MONTH AND N1.FLAG_SEQ = N2.FLAG_SEQ"; sMS_SQL += " WHERE N1.FLAG_DESC = '" + C_YEAR + " 總開單數'"; + #endregion using (var SMS_cmd = conn.CreateCommand()) { @@ -756,6 +787,13 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL dtSMS_TB = DataReaderToDataTable(SMS_reader); + //2023-10-25 B.B. Wang Add 關閉資料庫連線 + if (conn.State == ConnectionState.Open) + { + conn.Close(); + conn.Dispose(); + } + if (dtSMS_TB.Rows.Count > 0) { var dRate1 = dtSMS_TB.Select("C_MONTH='" + C_MONTH + "'")[0]["QTY"]; @@ -793,6 +831,7 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL await conn.OpenAsync(); } + #region CFQR SQL string sMS_SQL = @" with t as ("; sMS_SQL = sMS_SQL + " select m1.the_year,m1.month_of_year,m1.Category,m1.FLAG_SEQ,sum(ISNULL(m2.qty,0)) total_qty"; sMS_SQL = sMS_SQL + " from "; @@ -823,6 +862,7 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL sMS_SQL = sMS_SQL + " and t2.month_of_year<=t1.month_of_year"; sMS_SQL = sMS_SQL + " and t1.THE_YEAR = '" + C_YEAR + "'"; sMS_SQL = sMS_SQL + " GROUP BY t1.the_year,t1.Category,t1.FLAG_SEQ,t1.month_of_year"; + #endregion using (var SMS_cmd = conn.CreateCommand()) { @@ -838,6 +878,13 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL dtSMS_TB = DataReaderToDataTable(SMS_reader); + //2023-10-25 B.B. Wang Add 關閉資料庫連線 + if (conn.State == ConnectionState.Open) + { + conn.Close(); + conn.Dispose(); + } + if (dtSMS_TB.Rows.Count > 0) { var dRate = dtSMS_TB.Select("month_of_year='" + C_MONTH + "'")[0]["total_qty"]; @@ -882,16 +929,16 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL var vMonth = DateTime.Parse(sDate).Month; result.WerkNo = werksNo; - // 進料批退率 電子 + // 進料批退率 機構 //result.IQLRR_EE = 0.84; #region - result.IQLRR_EE = await Get_IQC_Rate("", vYear.ToString(), vMonth.ToString(), "E"); + result.IQLRR_EE = await Get_IQC_Rate("", vYear.ToString(), vMonth.ToString(), "M"); #endregion - // 進料批退率 機構 + // 進料批退率 電子 //result.IQLRR_ME = 0.06; #region - result.IQLRR_ME = await Get_IQC_Rate("", vYear.ToString(), vMonth.ToString(), "M"); + result.IQLRR_ME = await Get_IQC_Rate("", vYear.ToString(), vMonth.ToString(), "E"); #endregion // 線上材料品質