diff --git a/AMESCoreStudio.Web/Controllers/QRSController.cs b/AMESCoreStudio.Web/Controllers/QRSController.cs index a84b2c46..396816cb 100644 --- a/AMESCoreStudio.Web/Controllers/QRSController.cs +++ b/AMESCoreStudio.Web/Controllers/QRSController.cs @@ -1160,10 +1160,19 @@ namespace AMESCoreStudio.Web.Controllers var query = new QRS014BViewModel(); + string yCode = DateTime.Now.Year.ToString(); + if (param[3] != null) + { + if (param[3] != "") + { + yCode = param[3].Substring(0, 4); + } + } + #region 01 - string dateStart01 = DateTime.Now.Year.ToString() + "-01-01"; - string dateEnd01 = DateTime.Now.Year.ToString() + "-02-01"; + string dateStart01 = yCode + "-01-01"; + string dateEnd01 = yCode + "-02-01"; var wipStaiton01 = await _pcsApi.GetWipStation4QRS014GroupS(param[1], dateStart01, dateEnd01, param[5], param[6], param[7]); double sum_rate01 = 100.0; int sum_idx01 = 1; @@ -1260,7 +1269,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-01", + Month = yCode + "-01", Yield = double.Parse((sum_rate01 / sum_idx01).ToString("0.00")) }); @@ -1268,8 +1277,8 @@ namespace AMESCoreStudio.Web.Controllers #region 02 - string dateStart02 = DateTime.Now.Year.ToString() + "-02-01"; - string dateEnd02 = DateTime.Now.Year.ToString() + "-03-01"; + string dateStart02 = yCode + "-02-01"; + string dateEnd02 = yCode + "-03-01"; var wipStaiton02 = await _pcsApi.GetWipStation4QRS014GroupS(param[1], dateStart02, dateEnd02, param[5], param[6], param[7]); double sum_rate02 = 100.0; int sum_idx02 = 1; @@ -1366,7 +1375,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-02", + Month = yCode + "-02", Yield = double.Parse((sum_rate02 / sum_idx02).ToString("0.00")) }); @@ -1374,8 +1383,8 @@ namespace AMESCoreStudio.Web.Controllers #region 03 - string dateStart03 = DateTime.Now.Year.ToString() + "-03-01"; - string dateEnd03 = DateTime.Now.Year.ToString() + "-04-01"; + string dateStart03 = yCode + "-03-01"; + string dateEnd03 = yCode + "-04-01"; var wipStaiton03 = await _pcsApi.GetWipStation4QRS014GroupS(param[1], dateStart03, dateEnd03, param[5], param[6], param[7]); double sum_rate03 = 100.0; int sum_idx03 = 1; @@ -1472,7 +1481,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-03", + Month = yCode + "-03", Yield = double.Parse((sum_rate03 / sum_idx03).ToString("0.00")) }); @@ -1480,8 +1489,8 @@ namespace AMESCoreStudio.Web.Controllers #region 04 - string dateStart04 = DateTime.Now.Year.ToString() + "-04-01"; - string dateEnd04 = DateTime.Now.Year.ToString() + "-05-01"; + string dateStart04 = yCode + "-04-01"; + string dateEnd04 = yCode + "-05-01"; var wipStaiton04 = await _pcsApi.GetWipStation4QRS014GroupS(param[1], dateStart04, dateEnd04, param[5], param[6], param[7]); double sum_rate04 = 100.0; int sum_idx04 = 1; @@ -1578,7 +1587,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-04", + Month = yCode + "-04", Yield = double.Parse((sum_rate04 / sum_idx04).ToString("0.00")) }); @@ -1586,8 +1595,8 @@ namespace AMESCoreStudio.Web.Controllers #region 05 - string dateStart05 = DateTime.Now.Year.ToString() + "-05-01"; - string dateEnd05 = DateTime.Now.Year.ToString() + "-06-01"; + string dateStart05 = yCode + "-05-01"; + string dateEnd05 = yCode + "-06-01"; var wipStaiton05 = await _pcsApi.GetWipStation4QRS014GroupS(param[1], dateStart05, dateEnd05, param[5], param[6], param[7]); double sum_rate05 = 100.0; int sum_idx05 = 1; @@ -1684,7 +1693,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-05", + Month = yCode + "-05", Yield = double.Parse((sum_rate05 / sum_idx05).ToString("0.00")) }); @@ -1692,8 +1701,8 @@ namespace AMESCoreStudio.Web.Controllers #region 06 - string dateStart06 = DateTime.Now.Year.ToString() + "-06-01"; - string dateEnd06 = DateTime.Now.Year.ToString() + "-07-01"; + string dateStart06 = yCode + "-06-01"; + string dateEnd06 = yCode + "-07-01"; var wipStaiton06 = await _pcsApi.GetWipStation4QRS014GroupS(param[1], dateStart06, dateEnd06, param[5], param[6], param[7]); double sum_rate06 = 100.0; int sum_idx06 = 1; @@ -1790,7 +1799,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-06", + Month = yCode + "-06", Yield = double.Parse((sum_rate06 / sum_idx06).ToString("0.00")) }); @@ -1798,8 +1807,8 @@ namespace AMESCoreStudio.Web.Controllers #region 07 - string dateStart07 = DateTime.Now.Year.ToString() + "-07-01"; - string dateEnd07 = DateTime.Now.Year.ToString() + "-08-01"; + string dateStart07 = yCode + "-07-01"; + string dateEnd07 = yCode + "-08-01"; var wipStaiton07 = await _pcsApi.GetWipStation4QRS014GroupS(param[1], dateStart07, dateEnd07, param[5], param[6], param[7]); double sum_rate07 = 100.0; int sum_idx07 = 1; @@ -1896,7 +1905,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-07", + Month = yCode + "-07", Yield = double.Parse((sum_rate07 / sum_idx07).ToString("0.00")) }); @@ -1904,8 +1913,8 @@ namespace AMESCoreStudio.Web.Controllers #region 08 - string dateStart08 = DateTime.Now.Year.ToString() + "-08-01"; - string dateEnd08 = DateTime.Now.Year.ToString() + "-09-01"; + string dateStart08 = yCode + "-08-01"; + string dateEnd08 = yCode + "-09-01"; var wipStaiton08 = await _pcsApi.GetWipStation4QRS014GroupS(param[1], dateStart08, dateEnd08, param[5], param[6], param[7]); double sum_rate08 = 100.0; int sum_idx08 = 1; @@ -2002,7 +2011,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-08", + Month = yCode + "-08", Yield = double.Parse((sum_rate08 / sum_idx08).ToString("0.00")) }); @@ -2010,8 +2019,8 @@ namespace AMESCoreStudio.Web.Controllers #region 09 - string dateStart09 = DateTime.Now.Year.ToString() + "-09-01"; - string dateEnd09 = DateTime.Now.Year.ToString() + "-10-01"; + string dateStart09 = yCode + "-09-01"; + string dateEnd09 = yCode + "-10-01"; var wipStaiton09 = await _pcsApi.GetWipStation4QRS014GroupS(param[1], dateStart09, dateEnd09, param[5], param[6], param[7]); double sum_rate09 = 100.0; int sum_idx09 = 1; @@ -2108,7 +2117,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-09", + Month = yCode + "-09", Yield = double.Parse((sum_rate09 / sum_idx09).ToString("0.00")) }); @@ -2116,8 +2125,8 @@ namespace AMESCoreStudio.Web.Controllers #region 10 - string dateStart10 = DateTime.Now.Year.ToString() + "-10-01"; - string dateEnd10 = DateTime.Now.Year.ToString() + "-11-01"; + string dateStart10 = yCode + "-10-01"; + string dateEnd10 = yCode + "-11-01"; var wipStaiton10 = await _pcsApi.GetWipStation4QRS014GroupS(param[1], dateStart10, dateEnd10, param[5], param[6], param[7]); double sum_rate10 = 100.0; int sum_idx10 = 1; @@ -2214,7 +2223,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-10", + Month = yCode + "-10", Yield = double.Parse((sum_rate10 / sum_idx10).ToString("0.00")) }); @@ -2222,8 +2231,8 @@ namespace AMESCoreStudio.Web.Controllers #region 11 - string dateStart11 = DateTime.Now.Year.ToString() + "-11-01"; - string dateEnd11 = DateTime.Now.Year.ToString() + "-12-01"; + string dateStart11 = yCode + "-11-01"; + string dateEnd11 = yCode + "-12-01"; var wipStaiton11 = await _pcsApi.GetWipStation4QRS014GroupS(param[1], dateStart11, dateEnd11, param[5], param[6], param[7]); double sum_rate11 = 100.0; int sum_idx11 = 1; @@ -2320,7 +2329,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-11", + Month = yCode + "-11", Yield = double.Parse((sum_rate11 / sum_idx11).ToString("0.00")) }); @@ -2328,8 +2337,8 @@ namespace AMESCoreStudio.Web.Controllers #region 12 - string dateStart12 = DateTime.Now.Year.ToString() + "-12-01"; - string dateEnd12 = DateTime.Now.AddYears(1).Year.ToString() + "-01-01"; + string dateStart12 = yCode + "-12-01"; + string dateEnd12 = (int.Parse(yCode) + 1).ToString() + "-01-01"; var wipStaiton12 = await _pcsApi.GetWipStation4QRS014GroupS(param[1], dateStart12, dateEnd12, param[5], param[6], param[7]); double sum_rate12 = 100.0; int sum_idx12 = 1; @@ -2426,7 +2435,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-12", + Month = yCode + "-12", Yield = double.Parse((sum_rate12 / sum_idx12).ToString("0.00")) }); @@ -2442,10 +2451,19 @@ namespace AMESCoreStudio.Web.Controllers var query = new QRS014BViewModel(); + string yCode = DateTime.Now.Year.ToString(); + if (param[3] != null) + { + if (param[3] != "") + { + yCode = param[3].Substring(0, 4); + } + } + #region 01 - string dateStart01 = DateTime.Now.Year.ToString() + "-01-01"; - string dateEnd01 = DateTime.Now.Year.ToString() + "-02-01"; + string dateStart01 = yCode + "-01-01"; + string dateEnd01 = yCode + "-02-01"; var wipStaiton01 = await _pcsApi.GetWipStation4QRS014GroupB(param[1], dateStart01, dateEnd01, param[5], param[6], param[7]); double sum_rate01 = 100.0; int sum_idx01 = 1; @@ -2542,7 +2560,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-01", + Month = yCode + "-01", Yield = double.Parse((sum_rate01 / sum_idx01).ToString("0.00")) }); @@ -2550,8 +2568,8 @@ namespace AMESCoreStudio.Web.Controllers #region 02 - string dateStart02 = DateTime.Now.Year.ToString() + "-02-01"; - string dateEnd02 = DateTime.Now.Year.ToString() + "-03-01"; + string dateStart02 = yCode + "-02-01"; + string dateEnd02 = yCode + "-03-01"; var wipStaiton02 = await _pcsApi.GetWipStation4QRS014GroupB(param[1], dateStart02, dateEnd02, param[5], param[6], param[7]); double sum_rate02 = 100.0; int sum_idx02 = 1; @@ -2648,7 +2666,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-02", + Month = yCode + "-02", Yield = double.Parse((sum_rate02 / sum_idx02).ToString("0.00")) }); @@ -2656,8 +2674,8 @@ namespace AMESCoreStudio.Web.Controllers #region 03 - string dateStart03 = DateTime.Now.Year.ToString() + "-03-01"; - string dateEnd03 = DateTime.Now.Year.ToString() + "-04-01"; + string dateStart03 = yCode + "-03-01"; + string dateEnd03 = yCode + "-04-01"; var wipStaiton03 = await _pcsApi.GetWipStation4QRS014GroupB(param[1], dateStart03, dateEnd03, param[5], param[6], param[7]); double sum_rate03 = 100.0; int sum_idx03 = 1; @@ -2754,7 +2772,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-03", + Month = yCode + "-03", Yield = double.Parse((sum_rate03 / sum_idx03).ToString("0.00")) }); @@ -2762,8 +2780,8 @@ namespace AMESCoreStudio.Web.Controllers #region 04 - string dateStart04 = DateTime.Now.Year.ToString() + "-04-01"; - string dateEnd04 = DateTime.Now.Year.ToString() + "-05-01"; + string dateStart04 = yCode + "-04-01"; + string dateEnd04 = yCode + "-05-01"; var wipStaiton04 = await _pcsApi.GetWipStation4QRS014GroupB(param[1], dateStart04, dateEnd04, param[5], param[6], param[7]); double sum_rate04 = 100.0; int sum_idx04 = 1; @@ -2860,7 +2878,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-04", + Month = yCode + "-04", Yield = double.Parse((sum_rate04 / sum_idx04).ToString("0.00")) }); @@ -2868,8 +2886,8 @@ namespace AMESCoreStudio.Web.Controllers #region 05 - string dateStart05 = DateTime.Now.Year.ToString() + "-05-01"; - string dateEnd05 = DateTime.Now.Year.ToString() + "-06-01"; + string dateStart05 = yCode + "-05-01"; + string dateEnd05 = yCode + "-06-01"; var wipStaiton05 = await _pcsApi.GetWipStation4QRS014GroupB(param[1], dateStart05, dateEnd05, param[5], param[6], param[7]); double sum_rate05 = 100.0; int sum_idx05 = 1; @@ -2966,7 +2984,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-05", + Month = yCode + "-05", Yield = double.Parse((sum_rate05 / sum_idx05).ToString("0.00")) }); @@ -2974,8 +2992,8 @@ namespace AMESCoreStudio.Web.Controllers #region 06 - string dateStart06 = DateTime.Now.Year.ToString() + "-06-01"; - string dateEnd06 = DateTime.Now.Year.ToString() + "-07-01"; + string dateStart06 = yCode + "-06-01"; + string dateEnd06 = yCode + "-07-01"; var wipStaiton06 = await _pcsApi.GetWipStation4QRS014GroupB(param[1], dateStart06, dateEnd06, param[5], param[6], param[7]); double sum_rate06 = 100.0; int sum_idx06 = 1; @@ -3072,7 +3090,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-06", + Month = yCode + "-06", Yield = double.Parse((sum_rate06 / sum_idx06).ToString("0.00")) }); @@ -3080,8 +3098,8 @@ namespace AMESCoreStudio.Web.Controllers #region 07 - string dateStart07 = DateTime.Now.Year.ToString() + "-07-01"; - string dateEnd07 = DateTime.Now.Year.ToString() + "-08-01"; + string dateStart07 = yCode + "-07-01"; + string dateEnd07 = yCode + "-08-01"; var wipStaiton07 = await _pcsApi.GetWipStation4QRS014GroupB(param[1], dateStart07, dateEnd07, param[5], param[6], param[7]); double sum_rate07 = 100.0; int sum_idx07 = 1; @@ -3178,7 +3196,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-07", + Month = yCode + "-07", Yield = double.Parse((sum_rate07 / sum_idx07).ToString("0.00")) }); @@ -3186,8 +3204,8 @@ namespace AMESCoreStudio.Web.Controllers #region 08 - string dateStart08 = DateTime.Now.Year.ToString() + "-08-01"; - string dateEnd08 = DateTime.Now.Year.ToString() + "-09-01"; + string dateStart08 = yCode + "-08-01"; + string dateEnd08 = yCode + "-09-01"; var wipStaiton08 = await _pcsApi.GetWipStation4QRS014GroupB(param[1], dateStart08, dateEnd08, param[5], param[6], param[7]); double sum_rate08 = 100.0; int sum_idx08 = 1; @@ -3284,7 +3302,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-08", + Month = yCode + "-08", Yield = double.Parse((sum_rate08 / sum_idx08).ToString("0.00")) }); @@ -3292,8 +3310,8 @@ namespace AMESCoreStudio.Web.Controllers #region 09 - string dateStart09 = DateTime.Now.Year.ToString() + "-09-01"; - string dateEnd09 = DateTime.Now.Year.ToString() + "-10-01"; + string dateStart09 = yCode + "-09-01"; + string dateEnd09 = yCode + "-10-01"; var wipStaiton09 = await _pcsApi.GetWipStation4QRS014GroupB(param[1], dateStart09, dateEnd09, param[5], param[6], param[7]); double sum_rate09 = 100.0; int sum_idx09 = 1; @@ -3390,7 +3408,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-09", + Month = yCode + "-09", Yield = double.Parse((sum_rate09 / sum_idx09).ToString("0.00")) }); @@ -3398,8 +3416,8 @@ namespace AMESCoreStudio.Web.Controllers #region 10 - string dateStart10 = DateTime.Now.Year.ToString() + "-10-01"; - string dateEnd10 = DateTime.Now.Year.ToString() + "-11-01"; + string dateStart10 = yCode + "-10-01"; + string dateEnd10 = yCode + "-11-01"; var wipStaiton10 = await _pcsApi.GetWipStation4QRS014GroupB(param[1], dateStart10, dateEnd10, param[5], param[6], param[7]); double sum_rate10 = 100.0; int sum_idx10 = 1; @@ -3496,7 +3514,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-10", + Month = yCode + "-10", Yield = double.Parse((sum_rate10 / sum_idx10).ToString("0.00")) }); @@ -3504,8 +3522,8 @@ namespace AMESCoreStudio.Web.Controllers #region 11 - string dateStart11 = DateTime.Now.Year.ToString() + "-11-01"; - string dateEnd11 = DateTime.Now.Year.ToString() + "-12-01"; + string dateStart11 = yCode + "-11-01"; + string dateEnd11 = yCode + "-12-01"; var wipStaiton11 = await _pcsApi.GetWipStation4QRS014GroupB(param[1], dateStart11, dateEnd11, param[5], param[6], param[7]); double sum_rate11 = 100.0; int sum_idx11 = 1; @@ -3602,7 +3620,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-11", + Month = yCode + "-11", Yield = double.Parse((sum_rate11 / sum_idx11).ToString("0.00")) }); @@ -3610,8 +3628,8 @@ namespace AMESCoreStudio.Web.Controllers #region 12 - string dateStart12 = DateTime.Now.Year.ToString() + "-12-01"; - string dateEnd12 = DateTime.Now.AddYears(1).Year.ToString() + "-01-01"; + string dateStart12 = yCode + "-12-01"; + string dateEnd12 = (int.Parse(yCode) + 1).ToString() + "-01-01"; var wipStaiton12 = await _pcsApi.GetWipStation4QRS014GroupB(param[1], dateStart12, dateEnd12, param[5], param[6], param[7]); double sum_rate12 = 100.0; int sum_idx12 = 1; @@ -3708,7 +3726,7 @@ namespace AMESCoreStudio.Web.Controllers } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-12", + Month = yCode + "-12", Yield = double.Parse((sum_rate12 / sum_idx12).ToString("0.00")) }); @@ -3718,39 +3736,43 @@ namespace AMESCoreStudio.Web.Controllers } [HttpPost] - public async Task GetYieldData4QRS014BMAsync(string id) + public async Task GetYieldData4QRS014CBAsync(string id) { string[] param = id.Split('_'); - var query = new QRS014BViewModel(); + var query = new QRS014CViewModel(); - #region 01 + string yCode = DateTime.Now.Year.ToString(); + if (param[3] != null) + { + if (param[3] != "") + { + yCode = param[3].Substring(0, 4); + } + } - string dateStart01 = DateTime.Now.Year.ToString() + "-01-01"; - string dateEnd01 = DateTime.Now.Year.ToString() + "-02-01"; - var wipStaiton01 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart01, dateEnd01, param[5], param[6], param[7]); - double sum_rate01 = 100.0; - int sum_idx01 = 1; - if (wipStaiton01.DataTotal > 0) + var wipStation = await _pcsApi.GetWipStation4QRS014GroupBByWeek(param[1], param[3], param[4], param[5], param[6], param[7]); + + if (wipStation.DataTotal > 0) { DataTable dtRate = new DataTable(); - dtRate.Columns.Add("STATION_ID"); + dtRate.Columns.Add("WEEK_CODE"); dtRate.Columns.Add("OK_QTY"); dtRate.Columns.Add("NG_QTY"); dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton01.Data) + foreach (var data in wipStation.Data) { JObject j0 = JObject.Parse(data.ToString()); - int stationID = int.Parse(j0["stationID"].ToString()); + string weekCode = j0["weekCode"].ToString(); bool existFlag = false; int idx = 0; for (int i = 0; i < dtRate.Rows.Count; i++) { - if (dtRate.Rows[i]["STATION_ID"].ToString() == stationID.ToString()) + if (dtRate.Rows[i]["WEEK_CODE"].ToString() == weekCode) { idx = i; existFlag = true; @@ -3785,7 +3807,7 @@ namespace AMESCoreStudio.Web.Controllers else { DataRow dr = dtRate.NewRow(); - dr[0] = stationID; + dr[0] = weekCode; dr[1] = okQty; dr[2] = ngQty; @@ -3798,6 +3820,7 @@ namespace AMESCoreStudio.Web.Controllers { for (int j = 0; j < dtRate.Rows.Count; j++) { + string week_code = dtRate.Rows[j][0].ToString(); int okQty = int.Parse(dtRate.Rows[j][1].ToString()); int ngQty = int.Parse(dtRate.Rows[j][2].ToString()); @@ -3809,54 +3832,56 @@ namespace AMESCoreStudio.Web.Controllers rate = (okQty * 1.0 / inputQty) * 100; } - if (rate > 0) + query.FPYDatas.Add(new FPY4WeekGroup { - //sum_rate01 = sum_rate01 * (rate / 100.0); - sum_idx01 = sum_idx01 + 1; - sum_rate01 = sum_rate01 + rate; - } + Week = week_code, + Yield = double.Parse(rate.ToString("0.00")) + }); } } } - else + + return Json(query.FPYDatas); + } + + [HttpPost] + public async Task GetYieldData4QRS014CMAsync(string id) + { + string[] param = id.Split('_'); + + var query = new QRS014CViewModel(); + + string yCode = DateTime.Now.Year.ToString(); + if (param[3] != null) { - sum_rate01 = 0.00; + if (param[3] != "") + { + yCode = param[3].Substring(0, 4); + } } - query.FPYDatas.Add(new FPY4MonthGroup - { - Month = DateTime.Now.Year.ToString() + "-01", - Yield = double.Parse((sum_rate01 / sum_idx01).ToString("0.00")) - }); - - #endregion - #region 02 + var wipStation = await _pcsApi.GetWipStation4QRS014GroupMByWeek(param[1], param[3], param[4], param[5], param[6], param[7]); - string dateStart02 = DateTime.Now.Year.ToString() + "-02-01"; - string dateEnd02 = DateTime.Now.Year.ToString() + "-03-01"; - var wipStaiton02 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart02, dateEnd02, param[5], param[6], param[7]); - double sum_rate02 = 100.0; - int sum_idx02 = 1; - if (wipStaiton02.DataTotal > 0) + if (wipStation.DataTotal > 0) { DataTable dtRate = new DataTable(); - dtRate.Columns.Add("STATION_ID"); + dtRate.Columns.Add("WEEK_CODE"); dtRate.Columns.Add("OK_QTY"); dtRate.Columns.Add("NG_QTY"); dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton02.Data) + foreach (var data in wipStation.Data) { JObject j0 = JObject.Parse(data.ToString()); - int stationID = int.Parse(j0["stationID"].ToString()); + string weekCode = j0["weekCode"].ToString(); bool existFlag = false; int idx = 0; for (int i = 0; i < dtRate.Rows.Count; i++) { - if (dtRate.Rows[i]["STATION_ID"].ToString() == stationID.ToString()) + if (dtRate.Rows[i]["WEEK_CODE"].ToString() == weekCode) { idx = i; existFlag = true; @@ -3891,7 +3916,7 @@ namespace AMESCoreStudio.Web.Controllers else { DataRow dr = dtRate.NewRow(); - dr[0] = stationID; + dr[0] = weekCode; dr[1] = okQty; dr[2] = ngQty; @@ -3904,6 +3929,7 @@ namespace AMESCoreStudio.Web.Controllers { for (int j = 0; j < dtRate.Rows.Count; j++) { + string week_code = dtRate.Rows[j][0].ToString(); int okQty = int.Parse(dtRate.Rows[j][1].ToString()); int ngQty = int.Parse(dtRate.Rows[j][2].ToString()); @@ -3915,54 +3941,56 @@ namespace AMESCoreStudio.Web.Controllers rate = (okQty * 1.0 / inputQty) * 100; } - if (rate > 0) + query.FPYDatas.Add(new FPY4WeekGroup { - //sum_rate02 = sum_rate02 * (rate / 100.0); - sum_idx02 = sum_idx02 + 1; - sum_rate02 = sum_rate02 + rate; - } + Week = week_code, + Yield = double.Parse(rate.ToString("0.00")) + }); } } } - else + + return Json(query.FPYDatas); + } + + [HttpPost] + public async Task GetYieldData4QRS014CSAsync(string id) + { + string[] param = id.Split('_'); + + var query = new QRS014CViewModel(); + + string yCode = DateTime.Now.Year.ToString(); + if (param[3] != null) { - sum_rate02 = 0.00; + if (param[3] != "") + { + yCode = param[3].Substring(0, 4); + } } - query.FPYDatas.Add(new FPY4MonthGroup - { - Month = DateTime.Now.Year.ToString() + "-02", - Yield = double.Parse((sum_rate02 / sum_idx02).ToString("0.00")) - }); - - #endregion - #region 03 + var wipStation = await _pcsApi.GetWipStation4QRS014GroupSByWeek(param[1], param[3], param[4], param[5], param[6], param[7]); - string dateStart03 = DateTime.Now.Year.ToString() + "-03-01"; - string dateEnd03 = DateTime.Now.Year.ToString() + "-04-01"; - var wipStaiton03 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart03, dateEnd03, param[5], param[6], param[7]); - double sum_rate03 = 100.0; - int sum_idx03 = 1; - if (wipStaiton03.DataTotal > 0) + if (wipStation.DataTotal > 0) { DataTable dtRate = new DataTable(); - dtRate.Columns.Add("STATION_ID"); + dtRate.Columns.Add("WEEK_CODE"); dtRate.Columns.Add("OK_QTY"); dtRate.Columns.Add("NG_QTY"); dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton03.Data) + foreach (var data in wipStation.Data) { JObject j0 = JObject.Parse(data.ToString()); - int stationID = int.Parse(j0["stationID"].ToString()); + string weekCode = j0["weekCode"].ToString(); bool existFlag = false; int idx = 0; for (int i = 0; i < dtRate.Rows.Count; i++) { - if (dtRate.Rows[i]["STATION_ID"].ToString() == stationID.ToString()) + if (dtRate.Rows[i]["WEEK_CODE"].ToString() == weekCode) { idx = i; existFlag = true; @@ -3997,7 +4025,7 @@ namespace AMESCoreStudio.Web.Controllers else { DataRow dr = dtRate.NewRow(); - dr[0] = stationID; + dr[0] = weekCode; dr[1] = okQty; dr[2] = ngQty; @@ -4010,6 +4038,7 @@ namespace AMESCoreStudio.Web.Controllers { for (int j = 0; j < dtRate.Rows.Count; j++) { + string week_code = dtRate.Rows[j][0].ToString(); int okQty = int.Parse(dtRate.Rows[j][1].ToString()); int ngQty = int.Parse(dtRate.Rows[j][2].ToString()); @@ -4021,35 +4050,42 @@ namespace AMESCoreStudio.Web.Controllers rate = (okQty * 1.0 / inputQty) * 100; } - if (rate > 0) + query.FPYDatas.Add(new FPY4WeekGroup { - //sum_rate03 = sum_rate03 * (rate / 100.0); - sum_idx03 = sum_idx03 + 1; - sum_rate03 = sum_rate03 + rate; - } + Week = week_code, + Yield = double.Parse(rate.ToString("0.00")) + }); } } } - else + + return Json(query.FPYDatas); + } + + [HttpPost] + public async Task GetYieldData4QRS014BMAsync(string id) + { + string[] param = id.Split('_'); + + var query = new QRS014BViewModel(); + + string yCode = DateTime.Now.Year.ToString(); + if (param[3] != null) { - sum_rate03 = 0.00; + if (param[3] != "") + { + yCode = param[3].Substring(0, 4); + } } - query.FPYDatas.Add(new FPY4MonthGroup - { - Month = DateTime.Now.Year.ToString() + "-03", - Yield = double.Parse((sum_rate03 / sum_idx03).ToString("0.00")) - }); - - #endregion - #region 04 + #region 01 - string dateStart04 = DateTime.Now.Year.ToString() + "-04-01"; - string dateEnd04 = DateTime.Now.Year.ToString() + "-05-01"; - var wipStaiton04 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart04, dateEnd04, param[5], param[6], param[7]); - double sum_rate04 = 100.0; - int sum_idx04 = 1; - if (wipStaiton04.DataTotal > 0) + string dateStart01 = yCode + "-01-01"; + string dateEnd01 = yCode + "-02-01"; + var wipStaiton01 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart01, dateEnd01, param[5], param[6], param[7]); + double sum_rate01 = 100.0; + int sum_idx01 = 1; + if (wipStaiton01.DataTotal > 0) { DataTable dtRate = new DataTable(); dtRate.Columns.Add("STATION_ID"); @@ -4058,7 +4094,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton04.Data) + foreach (var data in wipStaiton01.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -4129,33 +4165,33 @@ namespace AMESCoreStudio.Web.Controllers if (rate > 0) { - //sum_rate04 = sum_rate04 * (rate / 100.0); - sum_idx04 = sum_idx04 + 1; - sum_rate04 = sum_rate04 + rate; + //sum_rate01 = sum_rate01 * (rate / 100.0); + sum_idx01 = sum_idx01 + 1; + sum_rate01 = sum_rate01 + rate; } } } } else { - sum_rate04 = 0.00; + sum_rate01 = 0.00; } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-04", - Yield = double.Parse((sum_rate04 / sum_idx04).ToString("0.00")) + Month = yCode + "-01", + Yield = double.Parse((sum_rate01 / sum_idx01).ToString("0.00")) }); #endregion - #region 05 + #region 02 - string dateStart05 = DateTime.Now.Year.ToString() + "-05-01"; - string dateEnd05 = DateTime.Now.Year.ToString() + "-06-01"; - var wipStaiton05 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart05, dateEnd05, param[5], param[6], param[7]); - double sum_rate05 = 100.0; - int sum_idx05 = 1; - if (wipStaiton05.DataTotal > 0) + string dateStart02 = yCode + "-02-01"; + string dateEnd02 = yCode + "-03-01"; + var wipStaiton02 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart02, dateEnd02, param[5], param[6], param[7]); + double sum_rate02 = 100.0; + int sum_idx02 = 1; + if (wipStaiton02.DataTotal > 0) { DataTable dtRate = new DataTable(); dtRate.Columns.Add("STATION_ID"); @@ -4164,7 +4200,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton05.Data) + foreach (var data in wipStaiton02.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -4235,33 +4271,33 @@ namespace AMESCoreStudio.Web.Controllers if (rate > 0) { - //sum_rate05 = sum_rate05 * (rate / 100.0); - sum_idx05 = sum_idx05 + 1; - sum_rate05 = sum_rate05 + rate; + //sum_rate02 = sum_rate02 * (rate / 100.0); + sum_idx02 = sum_idx02 + 1; + sum_rate02 = sum_rate02 + rate; } } } } else { - sum_rate05 = 0.00; + sum_rate02 = 0.00; } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-05", - Yield = double.Parse((sum_rate05 / sum_idx05).ToString("0.00")) + Month = yCode + "-02", + Yield = double.Parse((sum_rate02 / sum_idx02).ToString("0.00")) }); #endregion - #region 06 + #region 03 - string dateStart06 = DateTime.Now.Year.ToString() + "-06-01"; - string dateEnd06 = DateTime.Now.Year.ToString() + "-07-01"; - var wipStaiton06 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart06, dateEnd06, param[5], param[6], param[7]); - double sum_rate06 = 100.0; - int sum_idx06 = 1; - if (wipStaiton06.DataTotal > 0) + string dateStart03 = yCode + "-03-01"; + string dateEnd03 = yCode + "-04-01"; + var wipStaiton03 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart03, dateEnd03, param[5], param[6], param[7]); + double sum_rate03 = 100.0; + int sum_idx03 = 1; + if (wipStaiton03.DataTotal > 0) { DataTable dtRate = new DataTable(); dtRate.Columns.Add("STATION_ID"); @@ -4270,7 +4306,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton06.Data) + foreach (var data in wipStaiton03.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -4341,33 +4377,33 @@ namespace AMESCoreStudio.Web.Controllers if (rate > 0) { - //sum_rate06 = sum_rate06 * (rate / 100.0); - sum_idx06 = sum_idx06 + 1; - sum_rate06 = sum_rate06 + rate; + //sum_rate03 = sum_rate03 * (rate / 100.0); + sum_idx03 = sum_idx03 + 1; + sum_rate03 = sum_rate03 + rate; } } } } else { - sum_rate06 = 0.00; + sum_rate03 = 0.00; } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-06", - Yield = double.Parse((sum_rate06 / sum_idx06).ToString("0.00")) + Month = yCode + "-03", + Yield = double.Parse((sum_rate03 / sum_idx03).ToString("0.00")) }); #endregion - #region 07 + #region 04 - string dateStart07 = DateTime.Now.Year.ToString() + "-07-01"; - string dateEnd07 = DateTime.Now.Year.ToString() + "-08-01"; - var wipStaiton07 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart07, dateEnd07, param[5], param[6], param[7]); - double sum_rate07 = 100.0; - int sum_idx07 = 1; - if (wipStaiton07.DataTotal > 0) + string dateStart04 = yCode + "-04-01"; + string dateEnd04 = yCode + "-05-01"; + var wipStaiton04 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart04, dateEnd04, param[5], param[6], param[7]); + double sum_rate04 = 100.0; + int sum_idx04 = 1; + if (wipStaiton04.DataTotal > 0) { DataTable dtRate = new DataTable(); dtRate.Columns.Add("STATION_ID"); @@ -4376,7 +4412,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton07.Data) + foreach (var data in wipStaiton04.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -4447,33 +4483,33 @@ namespace AMESCoreStudio.Web.Controllers if (rate > 0) { - //sum_rate07 = sum_rate07 * (rate / 100.0); - sum_idx07 = sum_idx07 + 1; - sum_rate07 = sum_rate07 + rate; + //sum_rate04 = sum_rate04 * (rate / 100.0); + sum_idx04 = sum_idx04 + 1; + sum_rate04 = sum_rate04 + rate; } } } } else { - sum_rate07 = 0.00; + sum_rate04 = 0.00; } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-07", - Yield = double.Parse((sum_rate07 / sum_idx07).ToString("0.00")) + Month = yCode + "-04", + Yield = double.Parse((sum_rate04 / sum_idx04).ToString("0.00")) }); #endregion - #region 08 + #region 05 - string dateStart08 = DateTime.Now.Year.ToString() + "-08-01"; - string dateEnd08 = DateTime.Now.Year.ToString() + "-09-01"; - var wipStaiton08 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart08, dateEnd08, param[5], param[6], param[7]); - double sum_rate08 = 100.0; - int sum_idx08 = 1; - if (wipStaiton08.DataTotal > 0) + string dateStart05 = yCode + "-05-01"; + string dateEnd05 = yCode + "-06-01"; + var wipStaiton05 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart05, dateEnd05, param[5], param[6], param[7]); + double sum_rate05 = 100.0; + int sum_idx05 = 1; + if (wipStaiton05.DataTotal > 0) { DataTable dtRate = new DataTable(); dtRate.Columns.Add("STATION_ID"); @@ -4482,7 +4518,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton08.Data) + foreach (var data in wipStaiton05.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -4553,33 +4589,33 @@ namespace AMESCoreStudio.Web.Controllers if (rate > 0) { - //sum_rate08 = sum_rate08 * (rate / 100.0); - sum_idx08 = sum_idx08 + 1; - sum_rate08 = sum_rate08 + rate; + //sum_rate05 = sum_rate05 * (rate / 100.0); + sum_idx05 = sum_idx05 + 1; + sum_rate05 = sum_rate05 + rate; } } } } else { - sum_rate08 = 0.00; + sum_rate05 = 0.00; } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-08", - Yield = double.Parse((sum_rate08 / sum_idx08).ToString("0.00")) + Month = yCode + "-05", + Yield = double.Parse((sum_rate05 / sum_idx05).ToString("0.00")) }); #endregion - #region 09 + #region 06 - string dateStart09 = DateTime.Now.Year.ToString() + "-09-01"; - string dateEnd09 = DateTime.Now.Year.ToString() + "-10-01"; - var wipStaiton09 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart09, dateEnd09, param[5], param[6], param[7]); - double sum_rate09 = 100.0; - int sum_idx09 = 1; - if (wipStaiton09.DataTotal > 0) + string dateStart06 = yCode + "-06-01"; + string dateEnd06 = yCode + "-07-01"; + var wipStaiton06 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart06, dateEnd06, param[5], param[6], param[7]); + double sum_rate06 = 100.0; + int sum_idx06 = 1; + if (wipStaiton06.DataTotal > 0) { DataTable dtRate = new DataTable(); dtRate.Columns.Add("STATION_ID"); @@ -4588,7 +4624,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton09.Data) + foreach (var data in wipStaiton06.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -4659,33 +4695,33 @@ namespace AMESCoreStudio.Web.Controllers if (rate > 0) { - //sum_rate09 = sum_rate09 * (rate / 100.0); - sum_idx09 = sum_idx09 + 1; - sum_rate09 = sum_rate09 + rate; + //sum_rate06 = sum_rate06 * (rate / 100.0); + sum_idx06 = sum_idx06 + 1; + sum_rate06 = sum_rate06 + rate; } } } } else { - sum_rate09 = 0.00; + sum_rate06 = 0.00; } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-09", - Yield = double.Parse((sum_rate09 / sum_idx09).ToString("0.00")) + Month = yCode + "-06", + Yield = double.Parse((sum_rate06 / sum_idx06).ToString("0.00")) }); #endregion - #region 10 + #region 07 - string dateStart10 = DateTime.Now.Year.ToString() + "-10-01"; - string dateEnd10 = DateTime.Now.Year.ToString() + "-11-01"; - var wipStaiton10 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart10, dateEnd10, param[5], param[6], param[7]); - double sum_rate10 = 100.0; - int sum_idx10 = 1; - if (wipStaiton10.DataTotal > 0) + string dateStart07 = yCode + "-07-01"; + string dateEnd07 = yCode + "-08-01"; + var wipStaiton07 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart07, dateEnd07, param[5], param[6], param[7]); + double sum_rate07 = 100.0; + int sum_idx07 = 1; + if (wipStaiton07.DataTotal > 0) { DataTable dtRate = new DataTable(); dtRate.Columns.Add("STATION_ID"); @@ -4694,7 +4730,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton10.Data) + foreach (var data in wipStaiton07.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -4765,33 +4801,33 @@ namespace AMESCoreStudio.Web.Controllers if (rate > 0) { - //sum_rate10 = sum_rate10 * (rate / 100.0); - sum_idx10 = sum_idx10 + 1; - sum_rate10 = sum_rate10 + rate; + //sum_rate07 = sum_rate07 * (rate / 100.0); + sum_idx07 = sum_idx07 + 1; + sum_rate07 = sum_rate07 + rate; } } } } else { - sum_rate10 = 0.00; + sum_rate07 = 0.00; } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-10", - Yield = double.Parse((sum_rate10 / sum_idx10).ToString("0.00")) + Month = yCode + "-07", + Yield = double.Parse((sum_rate07 / sum_idx07).ToString("0.00")) }); #endregion - #region 11 + #region 08 - string dateStart11 = DateTime.Now.Year.ToString() + "-11-01"; - string dateEnd11 = DateTime.Now.Year.ToString() + "-12-01"; - var wipStaiton11 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart11, dateEnd11, param[5], param[6], param[7]); - double sum_rate11 = 100.0; - int sum_idx11 = 1; - if (wipStaiton11.DataTotal > 0) + string dateStart08 = yCode + "-08-01"; + string dateEnd08 = yCode + "-09-01"; + var wipStaiton08 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart08, dateEnd08, param[5], param[6], param[7]); + double sum_rate08 = 100.0; + int sum_idx08 = 1; + if (wipStaiton08.DataTotal > 0) { DataTable dtRate = new DataTable(); dtRate.Columns.Add("STATION_ID"); @@ -4800,7 +4836,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton11.Data) + foreach (var data in wipStaiton08.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -4871,33 +4907,33 @@ namespace AMESCoreStudio.Web.Controllers if (rate > 0) { - //sum_rate11 = sum_rate11 * (rate / 100.0); - sum_idx11 = sum_idx11 + 1; - sum_rate11 = sum_rate11 + rate; + //sum_rate08 = sum_rate08 * (rate / 100.0); + sum_idx08 = sum_idx08 + 1; + sum_rate08 = sum_rate08 + rate; } } } } else { - sum_rate11 = 0.00; + sum_rate08 = 0.00; } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-11", - Yield = double.Parse((sum_rate11 / sum_idx11).ToString("0.00")) + Month = yCode + "-08", + Yield = double.Parse((sum_rate08 / sum_idx08).ToString("0.00")) }); #endregion - #region 12 + #region 09 - string dateStart12 = DateTime.Now.Year.ToString() + "-12-01"; - string dateEnd12 = DateTime.Now.AddYears(1).Year.ToString() + "-01-01"; - var wipStaiton12 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart12, dateEnd12, param[5], param[6], param[7]); - double sum_rate12 = 100.0; - int sum_idx12 = 1; - if (wipStaiton12.DataTotal > 0) + string dateStart09 = yCode + "-09-01"; + string dateEnd09 = yCode + "-10-01"; + var wipStaiton09 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart09, dateEnd09, param[5], param[6], param[7]); + double sum_rate09 = 100.0; + int sum_idx09 = 1; + if (wipStaiton09.DataTotal > 0) { DataTable dtRate = new DataTable(); dtRate.Columns.Add("STATION_ID"); @@ -4906,7 +4942,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton12.Data) + foreach (var data in wipStaiton09.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -4977,190 +5013,823 @@ namespace AMESCoreStudio.Web.Controllers if (rate > 0) { - //sum_rate12 = sum_rate12 * (rate / 100.0); - sum_idx12 = sum_idx12 + 1; - sum_rate12 = sum_rate12 + rate; + //sum_rate09 = sum_rate09 * (rate / 100.0); + sum_idx09 = sum_idx09 + 1; + sum_rate09 = sum_rate09 + rate; } } } } else { - sum_rate12 = 0.00; + sum_rate09 = 0.00; } query.FPYDatas.Add(new FPY4MonthGroup { - Month = DateTime.Now.Year.ToString() + "-12", - Yield = double.Parse((sum_rate12 / sum_idx12).ToString("0.00")) + Month = yCode + "-09", + Yield = double.Parse((sum_rate09 / sum_idx09).ToString("0.00")) }); #endregion - return Json(query.FPYDatas); - } - - public async Task QRS014AAsync(string unitNo, string werksNo, string itemNO, string wipNO, string dateStart, string dateEnd, string modelNO, string dateType) - { - if (werksNo == "*") - { - werksNo = ""; - } - - ViewData["ParamList"] = unitNo + "_" + itemNO + "_" + wipNO + "_" + dateStart + "_" + dateEnd + "_" + modelNO + "_" + werksNo + "_" + dateType; + #region 10 - if (dateType == "WipDate" || dateType == null) - { - ViewData["Title"] = "查詢條件 - 製程代碼 : " + unitNo + "; 生產廠別 : " + werksNo + "; 工單號碼 : " + wipNO + "; 料號 : " + itemNO + "; 機種 : " + modelNO + "; 生產日期 : " + dateStart + " ~ " + dateEnd; - } - else + string dateStart10 = yCode + "-10-01"; + string dateEnd10 = yCode + "-11-01"; + var wipStaiton10 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart10, dateEnd10, param[5], param[6], param[7]); + double sum_rate10 = 100.0; + int sum_idx10 = 1; + if (wipStaiton10.DataTotal > 0) { - ViewData["Title"] = "查詢條件 - 製程代碼 : " + unitNo + "; 生產廠別 : " + werksNo + "; 工單號碼 : " + wipNO + "; 料號 : " + itemNO + "; 機種 : " + modelNO + "; 結案日期 : " + dateStart + " ~ " + dateEnd; - } + DataTable dtRate = new DataTable(); + dtRate.Columns.Add("STATION_ID"); + dtRate.Columns.Add("OK_QTY"); + dtRate.Columns.Add("NG_QTY"); + dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; + dtRate.AcceptChanges(); - var ft_stations = await _basApi.GetStations4FTByConfig(unitNo); + foreach (var data in wipStaiton10.Data) + { + JObject j0 = JObject.Parse(data.ToString()); + int stationID = int.Parse(j0["stationID"].ToString()); - IResultModel result = await _pcsApi.GetWipInfo4QRS014(unitNo, itemNO, wipNO, dateStart, dateEnd, modelNO, werksNo, dateType); + bool existFlag = false; + int idx = 0; - string rateDataList = ""; + for (int i = 0; i < dtRate.Rows.Count; i++) + { + if (dtRate.Rows[i]["STATION_ID"].ToString() == stationID.ToString()) + { + idx = i; + existFlag = true; + break; + } + } - if (ft_stations.Count > 0) - { - int tdQty = ft_stations.Count * 4 + 3; - rateDataList = rateDataList + ""; - for (int i = 0; i < ft_stations.Count; i++) - { - rateDataList = rateDataList + ""; - } - rateDataList = rateDataList + ""; + int okQty = 0, ngQty = 0; - rateDataList = rateDataList + ""; - for (int i = 0; i < ft_stations.Count; i++) - { - rateDataList = rateDataList + ""; - } - rateDataList = rateDataList + ""; + if (j0["ruleStatus"].ToString() == "P") + { + okQty = int.Parse(j0["firstCnt"].ToString()); + } + else + { + ngQty = int.Parse(j0["firstCnt"].ToString()); + } - if (result.DataTotal > 0) - { - foreach (var item in result.Data) + if (existFlag) { - JObject jo = JObject.Parse(item.ToString()); - int wip_id = int.Parse(jo["wipID"].ToString()); - string wip_no = jo["wipNO"].ToString(); - string item_no = jo["itemNO"].ToString(); - string type = ""; - if (jo["customerMedical"].ToString() == "Y") + if (okQty > 0) { - type = "醫療"; + dtRate.Rows[idx][1] = okQty; } - else + if (ngQty > 0) { - if (jo["unitNO"].ToString() == "B") - { - type = "系統"; - } - if (jo["unitNO"].ToString() == "S") - { - type = "板卡"; - } + dtRate.Rows[idx][2] = ngQty; } - rateDataList = rateDataList + ""; - double sum_rate = 100.0; - - int sum_idx = 1; - - for (int i = 0; i < ft_stations.Count; i++) - { - int station_id = ft_stations[i].StationID; - var wip_station = await _pcsApi.GetWipStation4QRS009Group(wip_id, station_id); + dtRate.AcceptChanges(); + } + else + { + DataRow dr = dtRate.NewRow(); + dr[0] = stationID; + dr[1] = okQty; + dr[2] = ngQty; - int okQty = 0, ngQty = 0, inputQty = 0; + dtRate.Rows.Add(dr); + dtRate.AcceptChanges(); + } + } - if (wip_station.DataTotal > 0) - { - foreach (var data in wip_station.Data) - { - JObject j0 = JObject.Parse(data.ToString()); - if (j0["ruleStatus"].ToString() == "P") - { - okQty = int.Parse(j0["firstCnt"].ToString()); - } - else - { - ngQty = int.Parse(j0["firstCnt"].ToString()); - } - } - } - inputQty = okQty + ngQty; - double rate = 0; - if (okQty > 0) - { - rate = (okQty * 1.0 / inputQty) * 100; - } + if (dtRate.Rows.Count > 0) + { + for (int j = 0; j < dtRate.Rows.Count; j++) + { + int okQty = int.Parse(dtRate.Rows[j][1].ToString()); + int ngQty = int.Parse(dtRate.Rows[j][2].ToString()); - /* - if (rate > 0) - { - sum_rate = sum_rate * (rate / 100.0); - } - */ + int inputQty = okQty + ngQty; - if (rate > 0) - { - sum_idx = sum_idx + 1; - sum_rate = sum_rate + rate; - } + double rate = 0; + if (okQty > 0) + { + rate = (okQty * 1.0 / inputQty) * 100; + } - rateDataList = rateDataList + ""; + if (rate > 0) + { + //sum_rate10 = sum_rate10 * (rate / 100.0); + sum_idx10 = sum_idx10 + 1; + sum_rate10 = sum_rate10 + rate; } - rateDataList = rateDataList + ""; } } - - - rateDataList = rateDataList + "
" + ft_stations[i].StationName + "
工單號碼板卡/系統/醫療料號InputPassFailYieldFPY
" + wip_no + "" + type + "" + item_no + "" + inputQty + "" + okQty + "" + ngQty + "" + rate.ToString("0.00") + "%" + (sum_rate / sum_idx).ToString("0.00") + "%
"; } - - rateDataList = rateDataList + "
"; - ViewData["RateDataList"] = rateDataList; - return View(); - } - - public async Task QRS014BAsync(string unitNo, string werksNo, string itemNO, string wipNO, string dateStart, string dateEnd, string modelNO, string dateType) - { - if (werksNo == "*") + else { - werksNo = ""; + sum_rate10 = 0.00; } + query.FPYDatas.Add(new FPY4MonthGroup + { + Month = yCode + "-10", + Yield = double.Parse((sum_rate10 / sum_idx10).ToString("0.00")) + }); - ViewData["ParamList"] = unitNo + "_" + itemNO + "_" + wipNO + "_" + dateStart + "_" + dateEnd + "_" + modelNO + "_" + werksNo + "_" + dateType; + #endregion - if (dateType == "WipDate" || dateType == null) + #region 11 + + string dateStart11 = yCode + "-11-01"; + string dateEnd11 = yCode + "-12-01"; + var wipStaiton11 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart11, dateEnd11, param[5], param[6], param[7]); + double sum_rate11 = 100.0; + int sum_idx11 = 1; + if (wipStaiton11.DataTotal > 0) + { + DataTable dtRate = new DataTable(); + dtRate.Columns.Add("STATION_ID"); + dtRate.Columns.Add("OK_QTY"); + dtRate.Columns.Add("NG_QTY"); + dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; + dtRate.AcceptChanges(); + + foreach (var data in wipStaiton11.Data) + { + JObject j0 = JObject.Parse(data.ToString()); + int stationID = int.Parse(j0["stationID"].ToString()); + + bool existFlag = false; + int idx = 0; + + for (int i = 0; i < dtRate.Rows.Count; i++) + { + if (dtRate.Rows[i]["STATION_ID"].ToString() == stationID.ToString()) + { + idx = i; + existFlag = true; + break; + } + } + + int okQty = 0, ngQty = 0; + + if (j0["ruleStatus"].ToString() == "P") + { + okQty = int.Parse(j0["firstCnt"].ToString()); + } + else + { + ngQty = int.Parse(j0["firstCnt"].ToString()); + } + + if (existFlag) + { + if (okQty > 0) + { + dtRate.Rows[idx][1] = okQty; + } + if (ngQty > 0) + { + dtRate.Rows[idx][2] = ngQty; + } + + dtRate.AcceptChanges(); + } + else + { + DataRow dr = dtRate.NewRow(); + dr[0] = stationID; + dr[1] = okQty; + dr[2] = ngQty; + + dtRate.Rows.Add(dr); + dtRate.AcceptChanges(); + } + } + + if (dtRate.Rows.Count > 0) + { + for (int j = 0; j < dtRate.Rows.Count; j++) + { + int okQty = int.Parse(dtRate.Rows[j][1].ToString()); + int ngQty = int.Parse(dtRate.Rows[j][2].ToString()); + + int inputQty = okQty + ngQty; + + double rate = 0; + if (okQty > 0) + { + rate = (okQty * 1.0 / inputQty) * 100; + } + + if (rate > 0) + { + //sum_rate11 = sum_rate11 * (rate / 100.0); + sum_idx11 = sum_idx11 + 1; + sum_rate11 = sum_rate11 + rate; + } + } + } + } + else + { + sum_rate11 = 0.00; + } + query.FPYDatas.Add(new FPY4MonthGroup + { + Month = yCode + "-11", + Yield = double.Parse((sum_rate11 / sum_idx11).ToString("0.00")) + }); + + #endregion + + #region 12 + + string dateStart12 = yCode + "-12-01"; + string dateEnd12 = (int.Parse(yCode) + 1).ToString() + "-01-01"; + var wipStaiton12 = await _pcsApi.GetWipStation4QRS014GroupM(param[1], dateStart12, dateEnd12, param[5], param[6], param[7]); + double sum_rate12 = 100.0; + int sum_idx12 = 1; + if (wipStaiton12.DataTotal > 0) + { + DataTable dtRate = new DataTable(); + dtRate.Columns.Add("STATION_ID"); + dtRate.Columns.Add("OK_QTY"); + dtRate.Columns.Add("NG_QTY"); + dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; + dtRate.AcceptChanges(); + + foreach (var data in wipStaiton12.Data) + { + JObject j0 = JObject.Parse(data.ToString()); + int stationID = int.Parse(j0["stationID"].ToString()); + + bool existFlag = false; + int idx = 0; + + for (int i = 0; i < dtRate.Rows.Count; i++) + { + if (dtRate.Rows[i]["STATION_ID"].ToString() == stationID.ToString()) + { + idx = i; + existFlag = true; + break; + } + } + + int okQty = 0, ngQty = 0; + + if (j0["ruleStatus"].ToString() == "P") + { + okQty = int.Parse(j0["firstCnt"].ToString()); + } + else + { + ngQty = int.Parse(j0["firstCnt"].ToString()); + } + + if (existFlag) + { + if (okQty > 0) + { + dtRate.Rows[idx][1] = okQty; + } + if (ngQty > 0) + { + dtRate.Rows[idx][2] = ngQty; + } + + dtRate.AcceptChanges(); + } + else + { + DataRow dr = dtRate.NewRow(); + dr[0] = stationID; + dr[1] = okQty; + dr[2] = ngQty; + + dtRate.Rows.Add(dr); + dtRate.AcceptChanges(); + } + } + + if (dtRate.Rows.Count > 0) + { + for (int j = 0; j < dtRate.Rows.Count; j++) + { + int okQty = int.Parse(dtRate.Rows[j][1].ToString()); + int ngQty = int.Parse(dtRate.Rows[j][2].ToString()); + + int inputQty = okQty + ngQty; + + double rate = 0; + if (okQty > 0) + { + rate = (okQty * 1.0 / inputQty) * 100; + } + + if (rate > 0) + { + //sum_rate12 = sum_rate12 * (rate / 100.0); + sum_idx12 = sum_idx12 + 1; + sum_rate12 = sum_rate12 + rate; + } + } + } + } + else + { + sum_rate12 = 0.00; + } + query.FPYDatas.Add(new FPY4MonthGroup + { + Month = yCode + "-12", + Yield = double.Parse((sum_rate12 / sum_idx12).ToString("0.00")) + }); + + #endregion + + return Json(query.FPYDatas); + } + + public async Task QRS014AAsync(string unitNo, string werksNo, string itemNO, string wipNO, string dateStart, string dateEnd, string modelNO, string dateType) + { + if (werksNo == "*") + { + werksNo = ""; + } + + ViewData["ParamList"] = unitNo + "_" + itemNO + "_" + wipNO + "_" + dateStart + "_" + dateEnd + "_" + modelNO + "_" + werksNo + "_" + dateType; + + if (dateType == "WipDate" || dateType == null) { ViewData["Title"] = "查詢條件 - 製程代碼 : " + unitNo + "; 生產廠別 : " + werksNo + "; 工單號碼 : " + wipNO + "; 料號 : " + itemNO + "; 機種 : " + modelNO + "; 生產日期 : " + dateStart + " ~ " + dateEnd; } else { - ViewData["Title"] = "查詢條件 - 製程代碼 : " + unitNo + "; 生產廠別 : " + werksNo + "; 工單號碼 : " + wipNO + "; 料號 : " + itemNO + "; 機種 : " + modelNO + "; 結案日期 : " + dateStart + " ~ " + dateEnd; + ViewData["Title"] = "查詢條件 - 製程代碼 : " + unitNo + "; 生產廠別 : " + werksNo + "; 工單號碼 : " + wipNO + "; 料號 : " + itemNO + "; 機種 : " + modelNO + "; 結案日期 : " + dateStart + " ~ " + dateEnd; + } + + var ft_stations = await _basApi.GetStations4FTByConfig(unitNo); + + IResultModel result = await _pcsApi.GetWipInfo4QRS014(unitNo, itemNO, wipNO, dateStart, dateEnd, modelNO, werksNo, dateType); + + string rateDataList = ""; + + if (ft_stations.Count > 0) + { + int tdQty = ft_stations.Count * 4 + 3; + rateDataList = rateDataList + ""; + for (int i = 0; i < ft_stations.Count; i++) + { + rateDataList = rateDataList + ""; + } + rateDataList = rateDataList + ""; + + rateDataList = rateDataList + ""; + for (int i = 0; i < ft_stations.Count; i++) + { + rateDataList = rateDataList + ""; + } + rateDataList = rateDataList + ""; + + if (result.DataTotal > 0) + { + foreach (var item in result.Data) + { + JObject jo = JObject.Parse(item.ToString()); + int wip_id = int.Parse(jo["wipID"].ToString()); + string wip_no = jo["wipNO"].ToString(); + string item_no = jo["itemNO"].ToString(); + string type = ""; + if (jo["customerMedical"].ToString() == "Y") + { + type = "醫療"; + } + else + { + if (jo["unitNO"].ToString() == "B") + { + type = "系統"; + } + if (jo["unitNO"].ToString() == "S") + { + type = "板卡"; + } + } + + rateDataList = rateDataList + ""; + double sum_rate = 100.0; + + int sum_idx = 1; + + for (int i = 0; i < ft_stations.Count; i++) + { + int station_id = ft_stations[i].StationID; + var wip_station = await _pcsApi.GetWipStation4QRS009Group(wip_id, station_id); + + int okQty = 0, ngQty = 0, inputQty = 0; + + if (wip_station.DataTotal > 0) + { + foreach (var data in wip_station.Data) + { + JObject j0 = JObject.Parse(data.ToString()); + if (j0["ruleStatus"].ToString() == "P") + { + okQty = int.Parse(j0["firstCnt"].ToString()); + } + else + { + ngQty = int.Parse(j0["firstCnt"].ToString()); + } + } + } + inputQty = okQty + ngQty; + double rate = 0; + if (okQty > 0) + { + rate = (okQty * 1.0 / inputQty) * 100; + } + + /* + if (rate > 0) + { + sum_rate = sum_rate * (rate / 100.0); + } + */ + + if (rate > 0) + { + sum_idx = sum_idx + 1; + sum_rate = sum_rate + rate; + } + + rateDataList = rateDataList + ""; + } + rateDataList = rateDataList + ""; + } + } + + + rateDataList = rateDataList + "
" + ft_stations[i].StationName + "
工單號碼板卡/系統/醫療料號InputPassFailYieldFPY
" + wip_no + "" + type + "" + item_no + "" + inputQty + "" + okQty + "" + ngQty + "" + rate.ToString("0.00") + "%" + (sum_rate / sum_idx).ToString("0.00") + "%
"; + } + + rateDataList = rateDataList + "
"; + ViewData["RateDataList"] = rateDataList; + return View(); + } + + public async Task QRS014BAsync(string unitNo, string werksNo, string itemNO, string wipNO, string dateStart, string dateEnd, string modelNO, string dateType) + { + if (werksNo == "*") + { + werksNo = ""; + } + + ViewData["ParamList"] = unitNo + "_" + itemNO + "_" + wipNO + "_" + dateStart + "_" + dateEnd + "_" + modelNO + "_" + werksNo + "_" + dateType; + + if (dateType == "WipDate" || dateType == null) + { + ViewData["Title"] = "查詢條件 - 製程代碼 : " + unitNo + "; 生產廠別 : " + werksNo + "; 工單號碼 : " + wipNO + "; 料號 : " + itemNO + "; 機種 : " + modelNO + "; 生產日期 : " + dateStart + " ~ " + dateEnd; + } + else + { + ViewData["Title"] = "查詢條件 - 製程代碼 : " + unitNo + "; 生產廠別 : " + werksNo + "; 工單號碼 : " + wipNO + "; 料號 : " + itemNO + "; 機種 : " + modelNO + "; 結案日期 : " + dateStart + " ~ " + dateEnd; + } + + + string rateDataList = ""; + + rateDataList = rateDataList + @" + +"; + + //單板FPY + //rateDataList = rateDataList + @""; + string yCode = DateTime.Now.Year.ToString(); + if (dateStart != null) + { + yCode = dateStart.Substring(0, 4); + } + rateDataList = rateDataList + @""; + + #region 01 + + string dateStart01 = yCode + "-01-01"; + string dateEnd01 = yCode + "-02-01"; + var wipStaiton01 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart01, dateEnd01, modelNO, werksNo, dateType); + if (wipStaiton01.DataTotal > 0) + { + double sum_rate = 100.0; + int sum_idx = 1; + + DataTable dtRate = new DataTable(); + dtRate.Columns.Add("STATION_ID"); + dtRate.Columns.Add("OK_QTY"); + dtRate.Columns.Add("NG_QTY"); + dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; + dtRate.AcceptChanges(); + + foreach (var data in wipStaiton01.Data) + { + JObject j0 = JObject.Parse(data.ToString()); + int stationID = int.Parse(j0["stationID"].ToString()); + + bool existFlag = false; + int idx = 0; + + for (int i = 0; i < dtRate.Rows.Count; i++) + { + if (dtRate.Rows[i]["STATION_ID"].ToString() == stationID.ToString()) + { + idx = i; + existFlag = true; + break; + } + } + + int okQty = 0, ngQty = 0; + + if (j0["ruleStatus"].ToString() == "P") + { + okQty = int.Parse(j0["firstCnt"].ToString()); + } + else + { + ngQty = int.Parse(j0["firstCnt"].ToString()); + } + + if (existFlag) + { + if (okQty > 0) + { + dtRate.Rows[idx][1] = okQty; + } + if (ngQty > 0) + { + dtRate.Rows[idx][2] = ngQty; + } + + dtRate.AcceptChanges(); + } + else + { + DataRow dr = dtRate.NewRow(); + dr[0] = stationID; + dr[1] = okQty; + dr[2] = ngQty; + + dtRate.Rows.Add(dr); + dtRate.AcceptChanges(); + } + } + + if (dtRate.Rows.Count > 0) + { + for (int j = 0; j < dtRate.Rows.Count; j++) + { + int okQty = int.Parse(dtRate.Rows[j][1].ToString()); + int ngQty = int.Parse(dtRate.Rows[j][2].ToString()); + + int inputQty = okQty + ngQty; + + double rate = 0; + if (okQty > 0) + { + rate = (okQty * 1.0 / inputQty) * 100; + } + + if (rate > 0) + { + //sum_rate = sum_rate * (rate / 100.0); + sum_idx = sum_idx + 1; + sum_rate = sum_rate + rate; + } + } + } + rateDataList = rateDataList + ""; + } + else + { + rateDataList = rateDataList + ""; + } + + #endregion + + #region 02 + + string dateStart02 = yCode + "-02-01"; + string dateEnd02 = yCode + "-03-01"; + var wipStaiton02 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart02, dateEnd02, modelNO, werksNo, dateType); + if (wipStaiton02.DataTotal > 0) + { + double sum_rate = 100.0; + int sum_idx = 1; + + DataTable dtRate = new DataTable(); + dtRate.Columns.Add("STATION_ID"); + dtRate.Columns.Add("OK_QTY"); + dtRate.Columns.Add("NG_QTY"); + dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; + dtRate.AcceptChanges(); + + foreach (var data in wipStaiton02.Data) + { + JObject j0 = JObject.Parse(data.ToString()); + int stationID = int.Parse(j0["stationID"].ToString()); + + bool existFlag = false; + int idx = 0; + + for (int i = 0; i < dtRate.Rows.Count; i++) + { + if (dtRate.Rows[i]["STATION_ID"].ToString() == stationID.ToString()) + { + idx = i; + existFlag = true; + break; + } + } + + int okQty = 0, ngQty = 0; + + if (j0["ruleStatus"].ToString() == "P") + { + okQty = int.Parse(j0["firstCnt"].ToString()); + } + else + { + ngQty = int.Parse(j0["firstCnt"].ToString()); + } + + if (existFlag) + { + if (okQty > 0) + { + dtRate.Rows[idx][1] = okQty; + } + if (ngQty > 0) + { + dtRate.Rows[idx][2] = ngQty; + } + + dtRate.AcceptChanges(); + } + else + { + DataRow dr = dtRate.NewRow(); + dr[0] = stationID; + dr[1] = okQty; + dr[2] = ngQty; + + dtRate.Rows.Add(dr); + dtRate.AcceptChanges(); + } + } + + if (dtRate.Rows.Count > 0) + { + for (int j = 0; j < dtRate.Rows.Count; j++) + { + int okQty = int.Parse(dtRate.Rows[j][1].ToString()); + int ngQty = int.Parse(dtRate.Rows[j][2].ToString()); + + int inputQty = okQty + ngQty; + + double rate = 0; + if (okQty > 0) + { + rate = (okQty * 1.0 / inputQty) * 100; + } + + if (rate > 0) + { + //sum_rate = sum_rate * (rate / 100.0); + sum_idx = sum_idx + 1; + sum_rate = sum_rate + rate; + } + } + } + rateDataList = rateDataList + ""; + } + else + { + rateDataList = rateDataList + ""; + } + + #endregion + + #region 03 + + string dateStart03 = yCode + "-03-01"; + string dateEnd03 = yCode + "-04-01"; + var wipStaiton03 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart03, dateEnd03, modelNO, werksNo, dateType); + if (wipStaiton03.DataTotal > 0) + { + double sum_rate = 100.0; + int sum_idx = 1; + + DataTable dtRate = new DataTable(); + dtRate.Columns.Add("STATION_ID"); + dtRate.Columns.Add("OK_QTY"); + dtRate.Columns.Add("NG_QTY"); + dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; + dtRate.AcceptChanges(); + + foreach (var data in wipStaiton03.Data) + { + JObject j0 = JObject.Parse(data.ToString()); + int stationID = int.Parse(j0["stationID"].ToString()); + + bool existFlag = false; + int idx = 0; + + for (int i = 0; i < dtRate.Rows.Count; i++) + { + if (dtRate.Rows[i]["STATION_ID"].ToString() == stationID.ToString()) + { + idx = i; + existFlag = true; + break; + } + } + + int okQty = 0, ngQty = 0; + + if (j0["ruleStatus"].ToString() == "P") + { + okQty = int.Parse(j0["firstCnt"].ToString()); + } + else + { + ngQty = int.Parse(j0["firstCnt"].ToString()); + } + + if (existFlag) + { + if (okQty > 0) + { + dtRate.Rows[idx][1] = okQty; + } + if (ngQty > 0) + { + dtRate.Rows[idx][2] = ngQty; + } + + dtRate.AcceptChanges(); + } + else + { + DataRow dr = dtRate.NewRow(); + dr[0] = stationID; + dr[1] = okQty; + dr[2] = ngQty; + + dtRate.Rows.Add(dr); + dtRate.AcceptChanges(); + } + } + + if (dtRate.Rows.Count > 0) + { + for (int j = 0; j < dtRate.Rows.Count; j++) + { + int okQty = int.Parse(dtRate.Rows[j][1].ToString()); + int ngQty = int.Parse(dtRate.Rows[j][2].ToString()); + + int inputQty = okQty + ngQty; + + double rate = 0; + if (okQty > 0) + { + rate = (okQty * 1.0 / inputQty) * 100; + } + + if (rate > 0) + { + //sum_rate = sum_rate * (rate / 100.0); + sum_idx = sum_idx + 1; + sum_rate = sum_rate + rate; + } + } + } + rateDataList = rateDataList + ""; + } + else + { + rateDataList = rateDataList + ""; } - - - string rateDataList = ""; - - rateDataList = rateDataList + @"
年度-類別JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC
" + DateTime.Now.Year.ToString() + "-單板" + "
" + yCode + "-單板" + "" + (sum_rate / sum_idx).ToString("0.00") + "" + "0.00" + "" + (sum_rate / sum_idx).ToString("0.00") + "" + "0.00" + "" + (sum_rate / sum_idx).ToString("0.00") + "" + "0.00" + "
- -"; - //單板FPY - rateDataList = rateDataList + @""; + #endregion - #region 01 + #region 04 - string dateStart01 = DateTime.Now.Year.ToString() + "-01-01"; - string dateEnd01 = DateTime.Now.Year.ToString() + "-02-01"; - var wipStaiton01 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart01, dateEnd01, modelNO, werksNo, dateType); - if (wipStaiton01.DataTotal > 0) + string dateStart04 = yCode + "-04-01"; + string dateEnd04 = yCode + "-05-01"; + var wipStaiton04 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart04, dateEnd04, modelNO, werksNo, dateType); + if (wipStaiton04.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -5172,7 +5841,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton01.Data) + foreach (var data in wipStaiton04.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -5258,12 +5927,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 02 + #region 05 - string dateStart02 = DateTime.Now.Year.ToString() + "-02-01"; - string dateEnd02 = DateTime.Now.Year.ToString() + "-03-01"; - var wipStaiton02 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart02, dateEnd02, modelNO, werksNo, dateType); - if (wipStaiton02.DataTotal > 0) + string dateStart05 = yCode + "-05-01"; + string dateEnd05 = yCode + "-06-01"; + var wipStaiton05 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart05, dateEnd05, modelNO, werksNo, dateType); + if (wipStaiton05.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -5275,7 +5944,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton02.Data) + foreach (var data in wipStaiton05.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -5361,16 +6030,15 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 03 + #region 06 - string dateStart03 = DateTime.Now.Year.ToString() + "-03-01"; - string dateEnd03 = DateTime.Now.Year.ToString() + "-04-01"; - var wipStaiton03 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart03, dateEnd03, modelNO, werksNo, dateType); - if (wipStaiton03.DataTotal > 0) + string dateStart06 = yCode + "-06-01"; + string dateEnd06 = yCode + "-07-01"; + var wipStaiton06 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart06, dateEnd06, modelNO, werksNo, dateType); + if (wipStaiton06.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; - DataTable dtRate = new DataTable(); dtRate.Columns.Add("STATION_ID"); dtRate.Columns.Add("OK_QTY"); @@ -5378,7 +6046,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton03.Data) + foreach (var data in wipStaiton06.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -5464,12 +6132,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 04 + #region 07 - string dateStart04 = DateTime.Now.Year.ToString() + "-04-01"; - string dateEnd04 = DateTime.Now.Year.ToString() + "-05-01"; - var wipStaiton04 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart04, dateEnd04, modelNO, werksNo, dateType); - if (wipStaiton04.DataTotal > 0) + string dateStart07 = yCode + "-07-01"; + string dateEnd07 = yCode + "-08-01"; + var wipStaiton07 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart07, dateEnd07, modelNO, werksNo, dateType); + if (wipStaiton07.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -5481,7 +6149,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton04.Data) + foreach (var data in wipStaiton07.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -5567,16 +6235,15 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 05 + #region 08 - string dateStart05 = DateTime.Now.Year.ToString() + "-05-01"; - string dateEnd05 = DateTime.Now.Year.ToString() + "-06-01"; - var wipStaiton05 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart05, dateEnd05, modelNO, werksNo, dateType); - if (wipStaiton05.DataTotal > 0) + string dateStart08 = yCode + "-08-01"; + string dateEnd08 = yCode + "-09-01"; + var wipStaiton08 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart08, dateEnd08, modelNO, werksNo, dateType); + if (wipStaiton08.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; - DataTable dtRate = new DataTable(); dtRate.Columns.Add("STATION_ID"); dtRate.Columns.Add("OK_QTY"); @@ -5584,7 +6251,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton05.Data) + foreach (var data in wipStaiton08.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -5670,12 +6337,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 06 + #region 09 - string dateStart06 = DateTime.Now.Year.ToString() + "-06-01"; - string dateEnd06 = DateTime.Now.Year.ToString() + "-07-01"; - var wipStaiton06 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart06, dateEnd06, modelNO, werksNo, dateType); - if (wipStaiton06.DataTotal > 0) + string dateStart09 = yCode + "-09-01"; + string dateEnd09 = yCode + "-10-01"; + var wipStaiton09 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart09, dateEnd09, modelNO, werksNo, dateType); + if (wipStaiton09.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -5686,7 +6353,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton06.Data) + foreach (var data in wipStaiton09.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -5772,16 +6439,15 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 07 + #region 10 - string dateStart07 = DateTime.Now.Year.ToString() + "-07-01"; - string dateEnd07 = DateTime.Now.Year.ToString() + "-08-01"; - var wipStaiton07 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart07, dateEnd07, modelNO, werksNo, dateType); - if (wipStaiton07.DataTotal > 0) + string dateStart10 = yCode + "-10-01"; + string dateEnd10 = yCode + "-11-01"; + var wipStaiton10 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart10, dateEnd10, modelNO, werksNo, dateType); + if (wipStaiton10.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; - DataTable dtRate = new DataTable(); dtRate.Columns.Add("STATION_ID"); dtRate.Columns.Add("OK_QTY"); @@ -5789,7 +6455,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton07.Data) + foreach (var data in wipStaiton10.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -5875,12 +6541,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 08 + #region 11 - string dateStart08 = DateTime.Now.Year.ToString() + "-08-01"; - string dateEnd08 = DateTime.Now.Year.ToString() + "-09-01"; - var wipStaiton08 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart08, dateEnd08, modelNO, werksNo, dateType); - if (wipStaiton08.DataTotal > 0) + string dateStart11 = yCode + "-11-01"; + string dateEnd11 = yCode + "-12-01"; + var wipStaiton11 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart11, dateEnd11, modelNO, werksNo, dateType); + if (wipStaiton11.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -5891,7 +6557,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton08.Data) + foreach (var data in wipStaiton11.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -5968,7 +6634,7 @@ namespace AMESCoreStudio.Web.Controllers } } } - rateDataList = rateDataList + ""; + rateDataList = rateDataList + ""; } else { @@ -5977,12 +6643,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 09 + #region 12 - string dateStart09 = DateTime.Now.Year.ToString() + "-09-01"; - string dateEnd09 = DateTime.Now.Year.ToString() + "-10-01"; - var wipStaiton09 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart09, dateEnd09, modelNO, werksNo, dateType); - if (wipStaiton09.DataTotal > 0) + string dateStart12 = yCode + "-12-01"; + string dateEnd12 = (int.Parse(yCode) + 1).ToString() + "-01-01"; + var wipStaiton12 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart12, dateEnd12, modelNO, werksNo, dateType); + if (wipStaiton12.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -5993,7 +6659,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton09.Data) + foreach (var data in wipStaiton12.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -6070,7 +6736,7 @@ namespace AMESCoreStudio.Web.Controllers } } } - rateDataList = rateDataList + ""; + rateDataList = rateDataList + ""; } else { @@ -6079,12 +6745,17 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 10 + rateDataList = rateDataList + ""; - string dateStart10 = DateTime.Now.Year.ToString() + "-10-01"; - string dateEnd10 = DateTime.Now.Year.ToString() + "-11-01"; - var wipStaiton10 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart10, dateEnd10, modelNO, werksNo, dateType); - if (wipStaiton10.DataTotal > 0) + //系統FPY + rateDataList = rateDataList + @""; + + #region 01 + + //string dateStart01 = DateTime.Now.Year.ToString() + "-01-01"; + //string dateEnd01 = DateTime.Now.Year.ToString() + "-02-01"; + wipStaiton01 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart01, dateEnd01, modelNO, werksNo, dateType); + if (wipStaiton01.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -6095,7 +6766,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton10.Data) + foreach (var data in wipStaiton01.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -6172,7 +6843,7 @@ namespace AMESCoreStudio.Web.Controllers } } } - rateDataList = rateDataList + ""; + rateDataList = rateDataList + ""; } else { @@ -6181,12 +6852,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 11 + #region 02 - string dateStart11 = DateTime.Now.Year.ToString() + "-11-01"; - string dateEnd11 = DateTime.Now.Year.ToString() + "-12-01"; - var wipStaiton11 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart11, dateEnd11, modelNO, werksNo, dateType); - if (wipStaiton11.DataTotal > 0) + //string dateStart02 = DateTime.Now.Year.ToString() + "-02-01"; + //string dateEnd02 = DateTime.Now.Year.ToString() + "-03-01"; + wipStaiton02 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart02, dateEnd02, modelNO, werksNo, dateType); + if (wipStaiton02.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -6197,7 +6868,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton11.Data) + foreach (var data in wipStaiton02.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -6283,12 +6954,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 12 + #region 03 - string dateStart12 = DateTime.Now.Year.ToString() + "-12-01"; - string dateEnd12 = DateTime.Now.AddYears(1).Year.ToString() + "-01-01"; - var wipStaiton12 = await _pcsApi.GetWipStation4QRS014GroupS(itemNO, dateStart12, dateEnd12, modelNO, werksNo, dateType); - if (wipStaiton12.DataTotal > 0) + //string dateStart03 = DateTime.Now.Year.ToString() + "-03-01"; + //string dateEnd03 = DateTime.Now.Year.ToString() + "-04-01"; + wipStaiton03 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart03, dateEnd03, modelNO, werksNo, dateType); + if (wipStaiton03.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -6299,7 +6970,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton12.Data) + foreach (var data in wipStaiton03.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -6385,17 +7056,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - rateDataList = rateDataList + ""; - - //系統FPY - rateDataList = rateDataList + @""; - - #region 01 + #region 04 - //string dateStart01 = DateTime.Now.Year.ToString() + "-01-01"; - //string dateEnd01 = DateTime.Now.Year.ToString() + "-02-01"; - wipStaiton01 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart01, dateEnd01, modelNO, werksNo, dateType); - if (wipStaiton01.DataTotal > 0) + //string dateStart04 = DateTime.Now.Year.ToString() + "-04-01"; + //string dateEnd04 = DateTime.Now.Year.ToString() + "-05-01"; + wipStaiton04 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart04, dateEnd04, modelNO, werksNo, dateType); + if (wipStaiton04.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -6406,7 +7072,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton01.Data) + foreach (var data in wipStaiton04.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -6492,12 +7158,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 02 + #region 05 - //string dateStart02 = DateTime.Now.Year.ToString() + "-02-01"; - //string dateEnd02 = DateTime.Now.Year.ToString() + "-03-01"; - wipStaiton02 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart02, dateEnd02, modelNO, werksNo, dateType); - if (wipStaiton02.DataTotal > 0) + //string dateStart05 = DateTime.Now.Year.ToString() + "-05-01"; + //string dateEnd05 = DateTime.Now.Year.ToString() + "-06-01"; + wipStaiton05 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart05, dateEnd05, modelNO, werksNo, dateType); + if (wipStaiton05.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -6508,7 +7174,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton02.Data) + foreach (var data in wipStaiton05.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -6594,12 +7260,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 03 + #region 06 - //string dateStart03 = DateTime.Now.Year.ToString() + "-03-01"; - //string dateEnd03 = DateTime.Now.Year.ToString() + "-04-01"; - wipStaiton03 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart03, dateEnd03, modelNO, werksNo, dateType); - if (wipStaiton03.DataTotal > 0) + //string dateStart06 = DateTime.Now.Year.ToString() + "-06-01"; + //string dateEnd06 = DateTime.Now.Year.ToString() + "-07-01"; + wipStaiton06 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart06, dateEnd06, modelNO, werksNo, dateType); + if (wipStaiton06.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -6610,7 +7276,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton03.Data) + foreach (var data in wipStaiton06.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -6687,7 +7353,7 @@ namespace AMESCoreStudio.Web.Controllers } } } - rateDataList = rateDataList + ""; + rateDataList = rateDataList + ""; } else { @@ -6696,12 +7362,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 04 + #region 07 - //string dateStart04 = DateTime.Now.Year.ToString() + "-04-01"; - //string dateEnd04 = DateTime.Now.Year.ToString() + "-05-01"; - wipStaiton04 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart04, dateEnd04, modelNO, werksNo, dateType); - if (wipStaiton04.DataTotal > 0) + //string dateStart07 = DateTime.Now.Year.ToString() + "-07-01"; + //string dateEnd07 = DateTime.Now.Year.ToString() + "-08-01"; + wipStaiton07 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart07, dateEnd07, modelNO, werksNo, dateType); + if (wipStaiton07.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -6712,7 +7378,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton04.Data) + foreach (var data in wipStaiton07.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -6798,12 +7464,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 05 + #region 08 - //string dateStart05 = DateTime.Now.Year.ToString() + "-05-01"; - //string dateEnd05 = DateTime.Now.Year.ToString() + "-06-01"; - wipStaiton05 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart05, dateEnd05, modelNO, werksNo, dateType); - if (wipStaiton05.DataTotal > 0) + //string dateStart08 = DateTime.Now.Year.ToString() + "-08-01"; + //string dateEnd08 = DateTime.Now.Year.ToString() + "-09-01"; + wipStaiton08 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart08, dateEnd08, modelNO, werksNo, dateType); + if (wipStaiton08.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -6814,7 +7480,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton05.Data) + foreach (var data in wipStaiton08.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -6900,12 +7566,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 06 + #region 09 - //string dateStart06 = DateTime.Now.Year.ToString() + "-06-01"; - //string dateEnd06 = DateTime.Now.Year.ToString() + "-07-01"; - wipStaiton06 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart06, dateEnd06, modelNO, werksNo, dateType); - if (wipStaiton06.DataTotal > 0) + //string dateStart09 = DateTime.Now.Year.ToString() + "-09-01"; + //string dateEnd09 = DateTime.Now.Year.ToString() + "-10-01"; + wipStaiton09 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart09, dateEnd09, modelNO, werksNo, dateType); + if (wipStaiton09.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -6916,7 +7582,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton06.Data) + foreach (var data in wipStaiton09.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -6993,7 +7659,7 @@ namespace AMESCoreStudio.Web.Controllers } } } - rateDataList = rateDataList + ""; + rateDataList = rateDataList + ""; } else { @@ -7002,12 +7668,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 07 + #region 10 - //string dateStart07 = DateTime.Now.Year.ToString() + "-07-01"; - //string dateEnd07 = DateTime.Now.Year.ToString() + "-08-01"; - wipStaiton07 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart07, dateEnd07, modelNO, werksNo, dateType); - if (wipStaiton07.DataTotal > 0) + //string dateStart10 = DateTime.Now.Year.ToString() + "-10-01"; + //string dateEnd10 = DateTime.Now.Year.ToString() + "-11-01"; + wipStaiton10 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart10, dateEnd10, modelNO, werksNo, dateType); + if (wipStaiton10.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -7018,7 +7684,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton07.Data) + foreach (var data in wipStaiton10.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -7104,12 +7770,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 08 + #region 11 - //string dateStart08 = DateTime.Now.Year.ToString() + "-08-01"; - //string dateEnd08 = DateTime.Now.Year.ToString() + "-09-01"; - wipStaiton08 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart08, dateEnd08, modelNO, werksNo, dateType); - if (wipStaiton08.DataTotal > 0) + //string dateStart11 = DateTime.Now.Year.ToString() + "-11-01"; + //string dateEnd11 = DateTime.Now.Year.ToString() + "-12-01"; + wipStaiton11 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart11, dateEnd11, modelNO, werksNo, dateType); + if (wipStaiton11.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -7120,7 +7786,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton08.Data) + foreach (var data in wipStaiton11.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -7206,12 +7872,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 09 + #region 12 - //string dateStart09 = DateTime.Now.Year.ToString() + "-09-01"; - //string dateEnd09 = DateTime.Now.Year.ToString() + "-10-01"; - wipStaiton09 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart09, dateEnd09, modelNO, werksNo, dateType); - if (wipStaiton09.DataTotal > 0) + //string dateStart12 = DateTime.Now.Year.ToString() + "-12-01"; + //string dateEnd12 = DateTime.Now.AddYears(1).Year.ToString() + "-01-01"; + wipStaiton12 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart12, dateEnd12, modelNO, werksNo, dateType); + if (wipStaiton12.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -7222,7 +7888,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton09.Data) + foreach (var data in wipStaiton12.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -7308,12 +7974,17 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 10 + rateDataList = rateDataList + ""; - //string dateStart10 = DateTime.Now.Year.ToString() + "-10-01"; - //string dateEnd10 = DateTime.Now.Year.ToString() + "-11-01"; - wipStaiton10 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart10, dateEnd10, modelNO, werksNo, dateType); - if (wipStaiton10.DataTotal > 0) + //醫療 + rateDataList = rateDataList + @""; + + #region 01 + + //string dateStart01 = DateTime.Now.Year.ToString() + "-01-01"; + //string dateEnd01 = DateTime.Now.Year.ToString() + "-02-01"; + wipStaiton01 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart01, dateEnd01, modelNO, werksNo, dateType); + if (wipStaiton01.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -7324,7 +7995,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton10.Data) + foreach (var data in wipStaiton01.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -7401,7 +8072,7 @@ namespace AMESCoreStudio.Web.Controllers } } } - rateDataList = rateDataList + ""; + rateDataList = rateDataList + ""; } else { @@ -7410,12 +8081,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 11 + #region 02 - //string dateStart11 = DateTime.Now.Year.ToString() + "-11-01"; - //string dateEnd11 = DateTime.Now.Year.ToString() + "-12-01"; - wipStaiton11 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart11, dateEnd11, modelNO, werksNo, dateType); - if (wipStaiton11.DataTotal > 0) + //string dateStart02 = DateTime.Now.Year.ToString() + "-02-01"; + //string dateEnd02 = DateTime.Now.Year.ToString() + "-03-01"; + wipStaiton02 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart02, dateEnd02, modelNO, werksNo, dateType); + if (wipStaiton02.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -7426,7 +8097,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton11.Data) + foreach (var data in wipStaiton02.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -7512,12 +8183,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 12 + #region 03 - //string dateStart12 = DateTime.Now.Year.ToString() + "-12-01"; - //string dateEnd12 = DateTime.Now.AddYears(1).Year.ToString() + "-01-01"; - wipStaiton12 = await _pcsApi.GetWipStation4QRS014GroupB(itemNO, dateStart12, dateEnd12, modelNO, werksNo, dateType); - if (wipStaiton12.DataTotal > 0) + //string dateStart03 = DateTime.Now.Year.ToString() + "-03-01"; + //string dateEnd03 = DateTime.Now.Year.ToString() + "-04-01"; + wipStaiton03 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart03, dateEnd03, modelNO, werksNo, dateType); + if (wipStaiton03.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -7528,7 +8199,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton12.Data) + foreach (var data in wipStaiton03.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -7614,17 +8285,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - rateDataList = rateDataList + ""; - - //醫療 - rateDataList = rateDataList + @""; - - #region 01 + #region 04 - //string dateStart01 = DateTime.Now.Year.ToString() + "-01-01"; - //string dateEnd01 = DateTime.Now.Year.ToString() + "-02-01"; - wipStaiton01 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart01, dateEnd01, modelNO, werksNo, dateType); - if (wipStaiton01.DataTotal > 0) + //string dateStart04 = DateTime.Now.Year.ToString() + "-04-01"; + //string dateEnd04 = DateTime.Now.Year.ToString() + "-05-01"; + wipStaiton04 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart04, dateEnd04, modelNO, werksNo, dateType); + if (wipStaiton04.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -7635,7 +8301,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton01.Data) + foreach (var data in wipStaiton04.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -7712,7 +8378,7 @@ namespace AMESCoreStudio.Web.Controllers } } } - rateDataList = rateDataList + ""; + rateDataList = rateDataList + ""; } else { @@ -7721,12 +8387,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 02 + #region 05 - //string dateStart02 = DateTime.Now.Year.ToString() + "-02-01"; - //string dateEnd02 = DateTime.Now.Year.ToString() + "-03-01"; - wipStaiton02 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart02, dateEnd02, modelNO, werksNo, dateType); - if (wipStaiton02.DataTotal > 0) + //string dateStart05 = DateTime.Now.Year.ToString() + "-05-01"; + //string dateEnd05 = DateTime.Now.Year.ToString() + "-06-01"; + wipStaiton05 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart05, dateEnd05, modelNO, werksNo, dateType); + if (wipStaiton05.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -7737,7 +8403,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton02.Data) + foreach (var data in wipStaiton05.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -7823,12 +8489,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 03 + #region 06 - //string dateStart03 = DateTime.Now.Year.ToString() + "-03-01"; - //string dateEnd03 = DateTime.Now.Year.ToString() + "-04-01"; - wipStaiton03 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart03, dateEnd03, modelNO, werksNo, dateType); - if (wipStaiton03.DataTotal > 0) + //string dateStart06 = DateTime.Now.Year.ToString() + "-06-01"; + //string dateEnd06 = DateTime.Now.Year.ToString() + "-07-01"; + wipStaiton06 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart06, dateEnd06, modelNO, werksNo, dateType); + if (wipStaiton06.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -7839,7 +8505,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton03.Data) + foreach (var data in wipStaiton06.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -7925,12 +8591,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 04 + #region 07 - //string dateStart04 = DateTime.Now.Year.ToString() + "-04-01"; - //string dateEnd04 = DateTime.Now.Year.ToString() + "-05-01"; - wipStaiton04 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart04, dateEnd04, modelNO, werksNo, dateType); - if (wipStaiton04.DataTotal > 0) + //string dateStart07 = DateTime.Now.Year.ToString() + "-07-01"; + //string dateEnd07 = DateTime.Now.Year.ToString() + "-08-01"; + wipStaiton07 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart07, dateEnd07, modelNO, werksNo, dateType); + if (wipStaiton07.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -7941,7 +8607,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton04.Data) + foreach (var data in wipStaiton07.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -8018,7 +8684,7 @@ namespace AMESCoreStudio.Web.Controllers } } } - rateDataList = rateDataList + ""; + rateDataList = rateDataList + ""; } else { @@ -8027,12 +8693,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 05 + #region 08 - //string dateStart05 = DateTime.Now.Year.ToString() + "-05-01"; - //string dateEnd05 = DateTime.Now.Year.ToString() + "-06-01"; - wipStaiton05 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart05, dateEnd05, modelNO, werksNo, dateType); - if (wipStaiton05.DataTotal > 0) + //string dateStart08 = DateTime.Now.Year.ToString() + "-08-01"; + //string dateEnd08 = DateTime.Now.Year.ToString() + "-09-01"; + wipStaiton08 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart08, dateEnd08, modelNO, werksNo, dateType); + if (wipStaiton08.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -8043,7 +8709,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton05.Data) + foreach (var data in wipStaiton08.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -8129,12 +8795,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 06 + #region 09 - //string dateStart06 = DateTime.Now.Year.ToString() + "-06-01"; - //string dateEnd06 = DateTime.Now.Year.ToString() + "-07-01"; - wipStaiton06 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart06, dateEnd06, modelNO, werksNo, dateType); - if (wipStaiton06.DataTotal > 0) + //string dateStart09 = DateTime.Now.Year.ToString() + "-09-01"; + //string dateEnd09 = DateTime.Now.Year.ToString() + "-10-01"; + wipStaiton09 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart09, dateEnd09, modelNO, werksNo, dateType); + if (wipStaiton09.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -8145,7 +8811,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton06.Data) + foreach (var data in wipStaiton09.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -8231,12 +8897,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 07 + #region 10 - //string dateStart07 = DateTime.Now.Year.ToString() + "-07-01"; - //string dateEnd07 = DateTime.Now.Year.ToString() + "-08-01"; - wipStaiton07 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart07, dateEnd07, modelNO, werksNo, dateType); - if (wipStaiton07.DataTotal > 0) + //string dateStart10 = DateTime.Now.Year.ToString() + "-10-01"; + //string dateEnd10 = DateTime.Now.Year.ToString() + "-11-01"; + wipStaiton10 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart10, dateEnd10, modelNO, werksNo, dateType); + if (wipStaiton10.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -8247,7 +8913,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton07.Data) + foreach (var data in wipStaiton10.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -8333,12 +8999,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 08 + #region 11 - //string dateStart08 = DateTime.Now.Year.ToString() + "-08-01"; - //string dateEnd08 = DateTime.Now.Year.ToString() + "-09-01"; - wipStaiton08 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart08, dateEnd08, modelNO, werksNo, dateType); - if (wipStaiton08.DataTotal > 0) + //string dateStart11 = DateTime.Now.Year.ToString() + "-11-01"; + //string dateEnd11 = DateTime.Now.Year.ToString() + "-12-01"; + wipStaiton11 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart11, dateEnd11, modelNO, werksNo, dateType); + if (wipStaiton11.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -8349,7 +9015,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton08.Data) + foreach (var data in wipStaiton11.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -8426,7 +9092,7 @@ namespace AMESCoreStudio.Web.Controllers } } } - rateDataList = rateDataList + ""; + rateDataList = rateDataList + ""; } else { @@ -8435,12 +9101,12 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 09 + #region 12 - //string dateStart09 = DateTime.Now.Year.ToString() + "-09-01"; - //string dateEnd09 = DateTime.Now.Year.ToString() + "-10-01"; - wipStaiton09 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart09, dateEnd09, modelNO, werksNo, dateType); - if (wipStaiton09.DataTotal > 0) + //string dateStart12 = DateTime.Now.Year.ToString() + "-12-01"; + //string dateEnd12 = DateTime.Now.AddYears(1).Year.ToString() + "-01-01"; + wipStaiton12 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart12, dateEnd12, modelNO, werksNo, dateType); + if (wipStaiton12.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -8451,7 +9117,7 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton09.Data) + foreach (var data in wipStaiton12.Data) { JObject j0 = JObject.Parse(data.ToString()); int stationID = int.Parse(j0["stationID"].ToString()); @@ -8528,7 +9194,7 @@ namespace AMESCoreStudio.Web.Controllers } } } - rateDataList = rateDataList + ""; + rateDataList = rateDataList + ""; } else { @@ -8537,33 +9203,67 @@ namespace AMESCoreStudio.Web.Controllers #endregion - #region 10 + rateDataList = rateDataList + ""; - //string dateStart10 = DateTime.Now.Year.ToString() + "-10-01"; - //string dateEnd10 = DateTime.Now.Year.ToString() + "-11-01"; - wipStaiton10 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart10, dateEnd10, modelNO, werksNo, dateType); - if (wipStaiton10.DataTotal > 0) + rateDataList = rateDataList + "
年度-類別JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC
" + DateTime.Now.Year.ToString() + "-單板" + "" + (sum_rate / sum_idx).ToString("0.00") + "" + (sum_rate/sum_idx).ToString("0.00") + "" + (sum_rate / sum_idx).ToString("0.00") + "" + (sum_rate/sum_idx).ToString("0.00") + "
" + yCode + "-系統" + "" + (sum_rate / sum_idx).ToString("0.00") + "" + (sum_rate/sum_idx).ToString("0.00") + "
" + DateTime.Now.Year.ToString() + "-系統" + "" + (sum_rate/sum_idx).ToString("0.00") + "" + (sum_rate / sum_idx).ToString("0.00") + "" + (sum_rate / sum_idx).ToString("0.00") + "" + (sum_rate/sum_idx).ToString("0.00") + "
" + yCode + "-醫療" + "" + (sum_rate/sum_idx).ToString("0.00") + "" + (sum_rate / sum_idx).ToString("0.00") + "
" + DateTime.Now.Year.ToString() + "-醫療" + "" + (sum_rate / sum_idx).ToString("0.00") + "" + (sum_rate/sum_idx).ToString("0.00") + "" + (sum_rate/sum_idx).ToString("0.00") + "" + (sum_rate / sum_idx).ToString("0.00") + "" + (sum_rate/sum_idx).ToString("0.00") + "" + (sum_rate / sum_idx).ToString("0.00") + "" + (sum_rate/sum_idx).ToString("0.00") + "" + (sum_rate / sum_idx).ToString("0.00") + "
"; + ViewData["RateDataList"] = rateDataList; + return View(); + } + + public async Task QRS014CAsync(string unitNo, string werksNo, string itemNO, string wipNO, string dateStart, string dateEnd, string modelNO, string dateType) + { + if (werksNo == "*") + { + werksNo = ""; + } + + ViewData["ParamList"] = unitNo + "_" + itemNO + "_" + wipNO + "_" + dateStart + "_" + dateEnd + "_" + modelNO + "_" + werksNo + "_" + dateType; + + if (dateType == "WipDate" || dateType == null) + { + ViewData["Title"] = "查詢條件 - 製程代碼 : " + unitNo + "; 生產廠別 : " + werksNo + "; 工單號碼 : " + wipNO + "; 料號 : " + itemNO + "; 機種 : " + modelNO + "; 生產日期 : " + dateStart + " ~ " + dateEnd; + } + else + { + ViewData["Title"] = "查詢條件 - 製程代碼 : " + unitNo + "; 生產廠別 : " + werksNo + "; 工單號碼 : " + wipNO + "; 料號 : " + itemNO + "; 機種 : " + modelNO + "; 結案日期 : " + dateStart + " ~ " + dateEnd; + } + + + string rateDataList = ""; + + rateDataList = rateDataList + ""; + + //單板FPY + //rateDataList = rateDataList + @""; + string yCode = DateTime.Now.Year.ToString(); + if (dateStart != null) + { + yCode = dateStart.Substring(0, 4); + } + + #region 單板 + + var wipStaiton01 = await _pcsApi.GetWipStation4QRS014GroupSByWeek(itemNO, dateStart, dateEnd, modelNO, werksNo, dateType); + if (wipStaiton01.DataTotal > 0) { - double sum_rate = 100.0; - int sum_idx = 1; DataTable dtRate = new DataTable(); - dtRate.Columns.Add("STATION_ID"); + dtRate.Columns.Add("WEEK_CODE"); dtRate.Columns.Add("OK_QTY"); dtRate.Columns.Add("NG_QTY"); dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton10.Data) + foreach (var data in wipStaiton01.Data) { JObject j0 = JObject.Parse(data.ToString()); - int stationID = int.Parse(j0["stationID"].ToString()); + string weekCode = j0["weekCode"].ToString(); bool existFlag = false; int idx = 0; for (int i = 0; i < dtRate.Rows.Count; i++) { - if (dtRate.Rows[i]["STATION_ID"].ToString() == stationID.ToString()) + if (dtRate.Rows[i]["WEEK_CODE"].ToString() == weekCode) { idx = i; existFlag = true; @@ -8598,7 +9298,7 @@ namespace AMESCoreStudio.Web.Controllers else { DataRow dr = dtRate.NewRow(); - dr[0] = stationID; + dr[0] = weekCode; dr[1] = okQty; dr[2] = ngQty; @@ -8611,6 +9311,7 @@ namespace AMESCoreStudio.Web.Controllers { for (int j = 0; j < dtRate.Rows.Count; j++) { + string week_code = dtRate.Rows[j][0].ToString(); int okQty = int.Parse(dtRate.Rows[j][1].ToString()); int ngQty = int.Parse(dtRate.Rows[j][2].ToString()); @@ -8622,29 +9323,18 @@ namespace AMESCoreStudio.Web.Controllers rate = (okQty * 1.0 / inputQty) * 100; } - if (rate > 0) - { - //sum_rate = sum_rate * (rate / 100.0); - sum_idx = sum_idx + 1; - sum_rate = sum_rate + rate; - } + rateDataList = rateDataList + ""; + } } - rateDataList = rateDataList + ""; - } - else - { - rateDataList = rateDataList + ""; } #endregion - #region 11 + #region 系統 - //string dateStart11 = DateTime.Now.Year.ToString() + "-11-01"; - //string dateEnd11 = DateTime.Now.Year.ToString() + "-12-01"; - wipStaiton11 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart11, dateEnd11, modelNO, werksNo, dateType); - if (wipStaiton11.DataTotal > 0) + wipStaiton01 = await _pcsApi.GetWipStation4QRS014GroupBByWeek(itemNO, dateStart, dateEnd, modelNO, werksNo, dateType); + if (wipStaiton01.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -8655,17 +9345,17 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton11.Data) + foreach (var data in wipStaiton01.Data) { JObject j0 = JObject.Parse(data.ToString()); - int stationID = int.Parse(j0["stationID"].ToString()); + string weekCode = j0["weekCode"].ToString(); bool existFlag = false; int idx = 0; for (int i = 0; i < dtRate.Rows.Count; i++) { - if (dtRate.Rows[i]["STATION_ID"].ToString() == stationID.ToString()) + if (dtRate.Rows[i]["WEEK_CODE"].ToString() == weekCode) { idx = i; existFlag = true; @@ -8700,7 +9390,7 @@ namespace AMESCoreStudio.Web.Controllers else { DataRow dr = dtRate.NewRow(); - dr[0] = stationID; + dr[0] = weekCode; dr[1] = okQty; dr[2] = ngQty; @@ -8713,6 +9403,7 @@ namespace AMESCoreStudio.Web.Controllers { for (int j = 0; j < dtRate.Rows.Count; j++) { + string week_code = dtRate.Rows[j][0].ToString(); int okQty = int.Parse(dtRate.Rows[j][1].ToString()); int ngQty = int.Parse(dtRate.Rows[j][2].ToString()); @@ -8724,29 +9415,18 @@ namespace AMESCoreStudio.Web.Controllers rate = (okQty * 1.0 / inputQty) * 100; } - if (rate > 0) - { - //sum_rate = sum_rate * (rate / 100.0); - sum_idx = sum_idx + 1; - sum_rate = sum_rate + rate; - } + rateDataList = rateDataList + ""; + } } - rateDataList = rateDataList + ""; - } - else - { - rateDataList = rateDataList + ""; } #endregion - #region 12 + #region 醫療 - //string dateStart12 = DateTime.Now.Year.ToString() + "-12-01"; - //string dateEnd12 = DateTime.Now.AddYears(1).Year.ToString() + "-01-01"; - wipStaiton12 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart12, dateEnd12, modelNO, werksNo, dateType); - if (wipStaiton12.DataTotal > 0) + wipStaiton01 = await _pcsApi.GetWipStation4QRS014GroupM(itemNO, dateStart, dateEnd, modelNO, werksNo, dateType); + if (wipStaiton01.DataTotal > 0) { double sum_rate = 100.0; int sum_idx = 1; @@ -8757,17 +9437,17 @@ namespace AMESCoreStudio.Web.Controllers dtRate.PrimaryKey = new DataColumn[] { dtRate.Columns[0] }; dtRate.AcceptChanges(); - foreach (var data in wipStaiton12.Data) + foreach (var data in wipStaiton01.Data) { JObject j0 = JObject.Parse(data.ToString()); - int stationID = int.Parse(j0["stationID"].ToString()); + string weekCode = j0["weekCode"].ToString(); bool existFlag = false; int idx = 0; for (int i = 0; i < dtRate.Rows.Count; i++) { - if (dtRate.Rows[i]["STATION_ID"].ToString() == stationID.ToString()) + if (dtRate.Rows[i]["WEEK_CODE"].ToString() == weekCode) { idx = i; existFlag = true; @@ -8802,7 +9482,7 @@ namespace AMESCoreStudio.Web.Controllers else { DataRow dr = dtRate.NewRow(); - dr[0] = stationID; + dr[0] = weekCode; dr[1] = okQty; dr[2] = ngQty; @@ -8815,6 +9495,7 @@ namespace AMESCoreStudio.Web.Controllers { for (int j = 0; j < dtRate.Rows.Count; j++) { + string week_code = dtRate.Rows[j][0].ToString(); int okQty = int.Parse(dtRate.Rows[j][1].ToString()); int ngQty = int.Parse(dtRate.Rows[j][2].ToString()); @@ -8826,29 +9507,19 @@ namespace AMESCoreStudio.Web.Controllers rate = (okQty * 1.0 / inputQty) * 100; } - if (rate > 0) - { - //sum_rate = sum_rate * (rate / 100.0); - sum_idx = sum_idx + 1; - sum_rate = sum_rate + rate; - } + rateDataList = rateDataList + ""; + } } - rateDataList = rateDataList + ""; - } - else - { - rateDataList = rateDataList + ""; } #endregion - rateDataList = rateDataList + ""; - rateDataList = rateDataList + "
類別周次通過筆數不良筆數通過率
" + DateTime.Now.Year.ToString() + "-單板" + "
單板 " + "  " + week_code + "" + "  " + okQty + "" + "  " + ngQty + "" + "  " + rate.ToString("0.00") + "%
" + (sum_rate / sum_idx).ToString("0.00") + "" + "0.00" + "
系統 " + "  " + week_code + "" + "  " + okQty + "" + "  " + ngQty + "" + "  " + rate.ToString("0.00") + "%
" + (sum_rate / sum_idx).ToString("0.00") + "" + "0.00" + "
醫療 " + "  " + week_code + "" + "  " + okQty + "" + "  " + ngQty + "" + "  " + rate.ToString("0.00") + "%
" + (sum_rate / sum_idx).ToString("0.00") + "" + "0.00" + "
"; ViewData["RateDataList"] = rateDataList; return View(); } + public async Task QRS015() { await GetUnitList(); diff --git a/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs b/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs index c34e0a72..b1459653 100644 --- a/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs +++ b/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs @@ -1025,6 +1025,13 @@ namespace AMESCoreStudio.Web [WebApiClient.Attributes.HttpGet("api/WipStation/GetWipStation4QRS014GroupS")] ITask> GetWipStation4QRS014GroupS(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo, string dateType); + /// + /// 查詢單板工單站别资料4QRS014C + /// + /// + [WebApiClient.Attributes.HttpGet("api/WipStation/GetWipStation4QRS014GroupSByWeek")] + ITask> GetWipStation4QRS014GroupSByWeek(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo, string dateType); + /// /// 查詢系統工單站别资料4QRS014 /// @@ -1032,12 +1039,27 @@ namespace AMESCoreStudio.Web [WebApiClient.Attributes.HttpGet("api/WipStation/GetWipStation4QRS014GroupB")] ITask> GetWipStation4QRS014GroupB(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo, string dateType); + /// + /// 查詢系統工單站别资料4QRS014C + /// + /// + [WebApiClient.Attributes.HttpGet("api/WipStation/GetWipStation4QRS014GroupBByWeek")] + ITask> GetWipStation4QRS014GroupBByWeek(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo, string dateType); + /// /// 查詢醫療工單站别资料4QRS014 /// /// [WebApiClient.Attributes.HttpGet("api/WipStation/GetWipStation4QRS014GroupM")] ITask> GetWipStation4QRS014GroupM(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo, string dateType); + + /// + /// 查詢醫療工單站别资料4QRS014 + /// + /// + [WebApiClient.Attributes.HttpGet("api/WipStation/GetWipStation4QRS014GroupMByWeek")] + ITask> GetWipStation4QRS014GroupMByWeek(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo, string dateType); + /// /// 查詢工單站別在製條碼資料 /// diff --git a/AMESCoreStudio.Web/ViewModels/QRS/QRS014CViewModel.cs b/AMESCoreStudio.Web/ViewModels/QRS/QRS014CViewModel.cs new file mode 100644 index 00000000..195ad55c --- /dev/null +++ b/AMESCoreStudio.Web/ViewModels/QRS/QRS014CViewModel.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace AMESCoreStudio.Web.ViewModels.QRS +{ + public class QRS014CViewModel + { + public QRS014CViewModel() + { + FPYDatas = new List(); + } + + public List FPYDatas { get; set; } + } + + public class FPY4WeekGroup + { + + /// + /// 周别 + /// + public string Week { get; set; } + + /// + /// 良率 + /// + public double Yield { get; set; } + } +} diff --git a/AMESCoreStudio.Web/Views/QRS/QRS014.cshtml b/AMESCoreStudio.Web/Views/QRS/QRS014.cshtml index 0ae8b73e..ab6fdf31 100644 --- a/AMESCoreStudio.Web/Views/QRS/QRS014.cshtml +++ b/AMESCoreStudio.Web/Views/QRS/QRS014.cshtml @@ -82,8 +82,11 @@ - + @@ -146,5 +149,19 @@ hg.open('直通率', '/QRS/QRS014B' + query, '', '', true); }; + + function result_c() { + var unitNo = $("#unit").val(); + var werksNo = $("#werks").val(); + var itemNO = $("#itemNO").val(); + var wipNO = $("#wipNO").val(); + var dateStart = $("#dateStart").val(); + var dateEnd = $("#dateEnd").val(); + var modelNO = $("#modelNO").val(); + + var query = "?unitNo=" + unitNo + "&werksNo=" + werksNo + "&itemNO=" + itemNO + "&wipNO=" + wipNO + "&dateStart=" + dateStart + "&dateEnd=" + dateEnd + "&modelNO=" + modelNO + "&dateType=" + date_type; + hg.open('直通率', '/QRS/QRS014C' + query, '', '', true); + + }; } \ No newline at end of file diff --git a/AMESCoreStudio.Web/Views/QRS/QRS014C.cshtml b/AMESCoreStudio.Web/Views/QRS/QRS014C.cshtml new file mode 100644 index 00000000..2097070e --- /dev/null +++ b/AMESCoreStudio.Web/Views/QRS/QRS014C.cshtml @@ -0,0 +1,206 @@ +@{ + Layout = "~/Views/Shared/_AMESLayout.cshtml"; +} + + + + + +
+
+
+
+
@ViewBag.Title
+
+ +
+
+
+
+
+
+ + @Html.Raw(ViewData["RateDataList"]) +
+
+ +@section Scripts { + @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); + await Html.RenderPartialAsync("_FileinputScriptsPartial"); } + + + + +} \ No newline at end of file diff --git a/AMESCoreStudio.WebApi/Controllers/AMES/WipStationController.cs b/AMESCoreStudio.WebApi/Controllers/AMES/WipStationController.cs index 1e6c8b99..e835dcf1 100644 --- a/AMESCoreStudio.WebApi/Controllers/AMES/WipStationController.cs +++ b/AMESCoreStudio.WebApi/Controllers/AMES/WipStationController.cs @@ -358,6 +358,93 @@ FROM JHAMES.WIP_STATION"; return result; } + /// + /// 根據料號+時間起迄查詢首次過站紀錄 + /// + /// 料號 + /// 開始日期 + /// 結束日期 + /// 機種 + /// 生產廠別 + /// 日期類別 + /// + [HttpGet("GetWipStation4QRS014GroupSByWeek")] + public async Task> GetWipStation4QRS014GroupSByWeek(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo, string dateType) + { + string fpyStation = _config["FPYStation"].ToString(); + string[] fpy_station = fpyStation.Split(','); + ResultModel result = new ResultModel(); + + var q = from q1 in _context.WipStations + join q2 in _context.WipInfos on q1.WipID equals q2.WipID + join q3 in _context.WipAtts on q2.WipNO equals q3.WipNO + join q4 in _context.Stationses on q1.StationID equals q4.StationID + join q5 in _context.CalendarTables on q1.CreateDate.Date equals q5.TimeID + select new + { + q1.WipID, + q2.WerksNO, + q2.CustomerMedical, + q2.UnitNO, + q3.ItemNO, + q3.ModelNO, + q1.StationID, + q4.StationName, + q1.RuleStatus, + q1.FirstCnt, + q2.WipScheduleDate, + q5.Year, + q5.WeekOfYear + }; + + q = q.Where(w => w.CustomerMedical == "N" && w.UnitNO == "S"); + q = q.Where(w => fpy_station.Contains(w.StationName)); + + if (itemNo != null) + { + if (itemNo != "") + q = q.Where(w => w.ItemNO == itemNo); + } + + if (modelNo != null) + { + if (modelNo != "") + q = q.Where(w => w.ModelNO == modelNo); + } + + if (werksNo != null) + { + if (werksNo != "") + q = q.Where(w => w.WerksNO == werksNo); + } + + + if (dateType == "WipDate" || dateType == null) + { + if (dateStart != null && dateEnd != null) + { + if (dateStart != "" && dateEnd != "") + { + q = q.Where(w => w.WipScheduleDate >= DateTime.Parse(dateStart) && w.WipScheduleDate <= DateTime.Parse(dateEnd)); + } + } + } + + var g = q.GroupBy(x => new { x.Year, x.WeekOfYear, x.RuleStatus }).Select(x => new + { + WeekCode = x.Key.Year + x.Key.WeekOfYear, + RuleStatus = x.Key.RuleStatus, + FirstCnt = q.Where(j => j.Year == x.Key.Year && j.WeekOfYear == x.Key.WeekOfYear && j.RuleStatus == x.Key.RuleStatus).Sum(k => k.FirstCnt) + }); + + result.DataTotal = g.ToList().Count; + + result.Data = await g.ToListAsync(); + + return result; + } + + /// /// 根據料號+時間起迄查詢首次過站紀錄 /// @@ -454,6 +541,92 @@ FROM JHAMES.WIP_STATION"; return result; } + /// + /// 根據料號+時間起迄查詢首次過站紀錄 + /// + /// 料號 + /// 開始日期 + /// 結束日期 + /// 機種 + /// 生產廠別 + /// 日期類別 + /// + [HttpGet("GetWipStation4QRS014GroupBByWeek")] + public async Task> GetWipStation4QRS014GroupBByWeek(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo, string dateType) + { + string fpyStation = _config["FPYStation"].ToString(); + string[] fpy_station = fpyStation.Split(','); + + ResultModel result = new ResultModel(); + + var q = from q1 in _context.WipStations + join q2 in _context.WipInfos on q1.WipID equals q2.WipID + join q3 in _context.WipAtts on q2.WipNO equals q3.WipNO + join q4 in _context.Stationses on q1.StationID equals q4.StationID + join q5 in _context.CalendarTables on q1.CreateDate.Date equals q5.TimeID + select new + { + q1.WipID, + q2.WerksNO, + q2.CustomerMedical, + q2.UnitNO, + q3.ItemNO, + q3.ModelNO, + q1.StationID, + q4.StationName, + q1.RuleStatus, + q1.FirstCnt, + q2.WipScheduleDate, + q5.Year, + q5.WeekOfYear + }; + + q = q.Where(w => w.CustomerMedical == "N" && w.UnitNO == "B"); + q = q.Where(w => fpy_station.Contains(w.StationName)); + + if (itemNo != null) + { + if (itemNo != "") + q = q.Where(w => w.ItemNO == itemNo); + } + + if (modelNo != null) + { + if (modelNo != "") + q = q.Where(w => w.ModelNO == modelNo); + } + + if (werksNo != null) + { + if (werksNo != "") + q = q.Where(w => w.WerksNO == werksNo); + } + + if (dateType == "WipDate" || dateType == null) + { + if (dateStart != null && dateEnd != null) + { + if (dateStart != "" && dateEnd != "") + { + q = q.Where(w => w.WipScheduleDate >= DateTime.Parse(dateStart) && w.WipScheduleDate <= DateTime.Parse(dateEnd)); + } + } + } + + var g = q.GroupBy(x => new { x.Year, x.WeekOfYear, x.RuleStatus }).Select(x => new + { + WeekCode = x.Key.Year + x.Key.WeekOfYear, + RuleStatus = x.Key.RuleStatus, + FirstCnt = q.Where(j => j.Year == x.Key.Year && j.WeekOfYear == x.Key.WeekOfYear && j.RuleStatus == x.Key.RuleStatus).Sum(k => k.FirstCnt) + }); + + result.DataTotal = g.ToList().Count; + + result.Data = await g.ToListAsync(); + + return result; + } + /// /// 根據料號+時間起迄查詢首次過站紀錄 /// @@ -549,6 +722,93 @@ FROM JHAMES.WIP_STATION"; return result; } + /// + /// 根據料號+時間起迄查詢首次過站紀錄 + /// + /// 料號 + /// 開始日期 + /// 結束日期 + /// 機種 + /// 生產廠別 + /// 日期類別 + /// + [HttpGet("GetWipStation4QRS014GroupMByWeek")] + public async Task> GetWipStation4QRS014GroupMByWeek(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo, string dateType) + { + string fpyStation = _config["FPYStation"].ToString(); + string[] fpy_station = fpyStation.Split(','); + + ResultModel result = new ResultModel(); + + var q = from q1 in _context.WipStations + join q2 in _context.WipInfos on q1.WipID equals q2.WipID + join q3 in _context.WipAtts on q2.WipNO equals q3.WipNO + join q4 in _context.Stationses on q1.StationID equals q4.StationID + join q5 in _context.CalendarTables on q1.CreateDate.Date equals q5.TimeID + select new + { + q1.WipID, + q2.WerksNO, + q2.CustomerMedical, + q2.UnitNO, + q3.ItemNO, + q3.ModelNO, + q1.StationID, + q4.StationName, + q1.RuleStatus, + q1.FirstCnt, + q2.WipScheduleDate, + q5.Year, + q5.WeekOfYear + }; + + q = q.Where(w => w.CustomerMedical == "Y"); + q = q.Where(w => fpy_station.Contains(w.StationName)); + + if (itemNo != null) + { + if (itemNo != "") + q = q.Where(w => w.ItemNO == itemNo); + } + + if (modelNo != null) + { + if (modelNo != "") + q = q.Where(w => w.ModelNO == modelNo); + } + + if (werksNo != null) + { + if (werksNo != "") + q = q.Where(w => w.WerksNO == werksNo); + } + + + if (dateType == "WipDate" || dateType == null) + { + if (dateStart != null && dateEnd != null) + { + if (dateStart != "" && dateEnd != "") + { + q = q.Where(w => w.WipScheduleDate >= DateTime.Parse(dateStart) && w.WipScheduleDate <= DateTime.Parse(dateEnd)); + } + } + } + + var g = q.GroupBy(x => new { x.Year, x.WeekOfYear, x.RuleStatus }).Select(x => new + { + WeekCode = x.Key.Year + x.Key.WeekOfYear, + RuleStatus = x.Key.RuleStatus, + FirstCnt = q.Where(j => j.Year == x.Key.Year && j.WeekOfYear == x.Key.WeekOfYear && j.RuleStatus == x.Key.RuleStatus).Sum(k => k.FirstCnt) + }); + + result.DataTotal = g.ToList().Count; + + result.Data = await g.ToListAsync(); + + return result; + } + /// /// 根據料號+時間起迄查詢首次過站紀錄 ///