|
|
@ -435,7 +435,7 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
private (int iIPQC_Total,int iIPQC_Fail) Get_IPQC_Rate(string sDate, string eDate) |
|
|
|
private (int iIPQC_Fail_Total,int iIPQC_Fail) Get_IPQC_Rate(string sDate, string eDate) |
|
|
|
{ |
|
|
|
var e = new InspectionResultMastersController(_context).GetIPQCHeaderData4QRS015(null, null, null, sDate, eDate); |
|
|
|
|
|
|
@ -455,7 +455,53 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL |
|
|
|
sumFailCnt = sumFailCnt + fail_cnt; |
|
|
|
} |
|
|
|
|
|
|
|
return (sumIpqcCnt, sumFailCnt); |
|
|
|
return (sumFailCnt, sumFailCnt); |
|
|
|
} |
|
|
|
|
|
|
|
private async Task<string> Get_QC_Rate(string C_YEAR, string C_MONTH, string sQC_RATE_TYPE) |
|
|
|
{ |
|
|
|
DbConnection conn = _context.Database.GetDbConnection(); |
|
|
|
if (conn.State != ConnectionState.Open) |
|
|
|
{ |
|
|
|
await conn.OpenAsync(); |
|
|
|
} |
|
|
|
|
|
|
|
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 + "'"; |
|
|
|
|
|
|
|
using (var AMES_cmd = conn.CreateCommand()) |
|
|
|
{ |
|
|
|
AMES_cmd.CommandText = sMS_SQL; |
|
|
|
AMES_cmd.CommandTimeout = 0; |
|
|
|
|
|
|
|
using (var AMES_reader = await AMES_cmd.ExecuteReaderAsync()) |
|
|
|
{ |
|
|
|
if (AMES_reader.HasRows) |
|
|
|
{ |
|
|
|
List<dynamic> list = new List<dynamic>(); |
|
|
|
DataTable dtAMES_TB = new DataTable(); |
|
|
|
|
|
|
|
dtAMES_TB = DataReaderToDataTable(AMES_reader); |
|
|
|
|
|
|
|
if (dtAMES_TB.Rows.Count > 0) |
|
|
|
{ |
|
|
|
var dRate_P = dtAMES_TB.Select("PRODUCT_TYPE = 'BOARD'")[0]["QC_RATE"].ToString(); |
|
|
|
var dRate_S = dtAMES_TB.Select("PRODUCT_TYPE = 'SYSTEM'")[0]["QC_RATE"].ToString(); |
|
|
|
var dRate_M = dtAMES_TB.Select("PRODUCT_TYPE = 'MEDICAL'")[0]["QC_RATE"].ToString(); |
|
|
|
|
|
|
|
if (dRate_P.ToString().Equals("")) |
|
|
|
{ return "0|0|0"; } |
|
|
|
else |
|
|
|
{ return dRate_P + "|" + dRate_S + "|" + dRate_M; } |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
return "0|0|0"; ; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
@ -693,7 +739,7 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL |
|
|
|
sMS_SQL += " )M2 ON M1.C_YEAR=M2.C_YEAR AND M1.C_MONTH=M2.C_MONTH "; |
|
|
|
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 = '2022 總開單數'"; |
|
|
|
sMS_SQL += " WHERE N1.FLAG_DESC = '" + C_YEAR + " 總開單數'"; |
|
|
|
|
|
|
|
using (var SMS_cmd = conn.CreateCommand()) |
|
|
|
{ |
|
|
@ -862,7 +908,7 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL |
|
|
|
//IPQC異常件數 新增筆數
|
|
|
|
//result.IPQCNew = 10;
|
|
|
|
var vIPQCNew = Get_IPQC_Rate(sDate, eDate); |
|
|
|
result.IPQCNew = vIPQCNew.iIPQC_Total; |
|
|
|
result.IPQCNew = vIPQCNew.iIPQC_Fail; |
|
|
|
|
|
|
|
// IPQC異常件數 結案筆數
|
|
|
|
result.IPQCClose = 0; |
|
|
@ -870,7 +916,7 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL |
|
|
|
// IPQC異常件數 總筆數
|
|
|
|
//result.IPQCTotal = 12;
|
|
|
|
var vIPQCTotal = Get_IPQC_Rate(vYear.ToString() + "/01/01", vYear.ToString() + "/12/31"); |
|
|
|
result.IPQCTotal = vIPQCTotal.iIPQC_Total; |
|
|
|
result.IPQCTotal = vIPQCTotal.iIPQC_Fail_Total; |
|
|
|
|
|
|
|
// FQC批退率 Board
|
|
|
|
#region 批退率 Board
|
|
|
@ -912,13 +958,18 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL |
|
|
|
#endregion
|
|
|
|
|
|
|
|
// DOA Board
|
|
|
|
result.DOABoard = 0.04; |
|
|
|
//result.DOABoard = 0.04;
|
|
|
|
sReturn_Data = await Get_QC_Rate(vYear.ToString(), vMonth.ToString(),"DOA"); |
|
|
|
sData_Ary = sReturn_Data.Split("|"); |
|
|
|
result.DOABoard = double.Parse(sData_Ary[0].ToString()); |
|
|
|
|
|
|
|
// DOA System
|
|
|
|
result.DOASystem = 0.12; |
|
|
|
//result.DOASystem = 0.12;
|
|
|
|
result.DOASystem = double.Parse(sData_Ary[1].ToString()); |
|
|
|
|
|
|
|
// DOA Medical
|
|
|
|
result.DOAMedical = 0.00; |
|
|
|
//result.DOAMedical = 0.00;
|
|
|
|
result.DOAMedical = double.Parse(sData_Ary[2].ToString()); |
|
|
|
|
|
|
|
// FPY 立德 Board
|
|
|
|
#region 立德 Board
|
|
|
@ -1551,13 +1602,18 @@ namespace AMESCoreStudio.WebApi.Controllers.BLL |
|
|
|
#endregion
|
|
|
|
|
|
|
|
// RMA Board
|
|
|
|
result.RMABoard = 0.01; |
|
|
|
//result.RMABoard = 0.01;
|
|
|
|
sReturn_Data = await Get_QC_Rate(vYear.ToString(), vMonth.ToString(), "RMA"); |
|
|
|
sData_Ary = sReturn_Data.Split("|"); |
|
|
|
result.RMABoard = double.Parse(sData_Ary[0].ToString()); |
|
|
|
|
|
|
|
// RMA System
|
|
|
|
result.RMASystem = 0.02; |
|
|
|
//result.RMASystem = 0.02;
|
|
|
|
result.RMASystem = double.Parse(sData_Ary[1].ToString()); |
|
|
|
|
|
|
|
// RMA Medical
|
|
|
|
result.RMAMedical = 0.03; |
|
|
|
//result.RMAMedical = 0.03;
|
|
|
|
result.RMAMedical = double.Parse(sData_Ary[2].ToString()); |
|
|
|
|
|
|
|
// CFQR件數 新增筆數
|
|
|
|
//result.CFQRNew = 100;
|
|
|
|