Browse Source

修正生產看板指標

PTD
BB.Wang 2 years ago
parent
commit
6eaf1250e6
  1. 563
      AMESCoreStudio.Web/Controllers/RPTController.cs
  2. 2
      AMESCoreStudio.Web/Views/RPT/RPT001.cshtml

563
AMESCoreStudio.Web/Controllers/RPTController.cs

@ -94,6 +94,7 @@ namespace AMESCoreStudio.Web.Controllers
switch (type)
{
#region 看傳入的生產指數是哪一類型
case "01":
title = data.Substring(0, 4) + "生產力";
break;
@ -117,6 +118,11 @@ namespace AMESCoreStudio.Web.Controllers
case "06":
title = data.Substring(0, 4) + "未結工單數";
break;
case "07":
title = data.Substring(0, 4) + "完工入庫數";
break;
#endregion
}
ViewBag.Title = title;
@ -129,88 +135,89 @@ namespace AMESCoreStudio.Web.Controllers
var eDate = new DateTime(Data.Year, Data.Month, DateTime.DaysInMonth(Data.Year, Data.Month)).ToString("yyyy/MM/dd");
ResultModel<dynamic> pi;
ResultModel<FqcInhouseMaster_WareDto> pi2;
double dRate = 0.00; //月累積
double dAVG_Rate = 0.00; //月平均
switch (type)
{
case "06":
case "06": //未結工單數
pi = await _pcsApi.GetWipInfoPCS008(null, null, 0, null, sDate, eDate, null, 0, 10);
dRate = double.Parse(pi.DataTotal.ToString());
dAVG_Rate = dRate;
break;
default: //以上都不符合走這個
pi = await _rptApi.GetProductionIndex4RPT001(sDate, eDate);
case "07": //完工入庫數
//pi2 = await _pcsApi.GetFqcInhouseMasteMultiQuery("", "", "", "", date_str: sDate, date_end: eDate, "",0,10);
pi2 = await _pcsApi.GetFqcInhouseMasterMultiQuery("", "", "", "", date_str: sDate, date_end: eDate, "", 0, 10);
dRate = double.Parse(pi2.DataTotal.ToString());
dAVG_Rate = dRate;
break;
}
//var pi = await _rptApi.GetProductionIndex4RPT001(sDate, eDate);
default: //以上都不符合走這個
#region 統計12個月的數值
pi = await _rptApi.GetProductionIndex4RPT001(sDate, eDate);
if (pi.DataTotal > 0)
{
double sum_rate = 0.00;
double dSum_Rate = 0.00;
#region 做12個月的數值加總
foreach (var item in pi.Data)
{
JObject jo = JObject.Parse(item.ToString());
double rate = 0.00;
dRate = 0.00;
switch (type)
{
case "01":
rate = double.Parse(jo["productivity"].ToString());
case "01": //生產力
dRate = double.Parse(jo["productivity"].ToString());
break;
case "02":
rate = double.Parse(jo["efficiency"].ToString());
case "02": //效率
dRate = double.Parse(jo["efficiency"].ToString());
break;
case "03":
rate = double.Parse(jo["attendance"].ToString());
case "03": //出勤率
dRate = double.Parse(jo["attendance"].ToString());
break;
case "04":
rate = double.Parse(jo["overTime"].ToString());
case "04": //加班工時
dRate = double.Parse(jo["overTime"].ToString());
break;
case "05":
rate = double.Parse(jo["invalidTime"].ToString());
break;
case "06":
rate = double.Parse(pi.DataTotal.ToString());
case "05": //無效工時
dRate = double.Parse(jo["invalidTime"].ToString());
break;
}
sum_rate = sum_rate + rate;
dSum_Rate = dSum_Rate + dRate;
}
#endregion
double avg_rate = 0.00;
#region 換算12個月的平均數值
switch (type)
{
case "01":
avg_rate = sum_rate / pi.DataTotal;
break;
case "02":
avg_rate = sum_rate / pi.DataTotal;
break;
case "03":
avg_rate = sum_rate / pi.DataTotal;
break;
case "04":
avg_rate = sum_rate;
case "01": //生產力
case "02": //效率
case "03": //出勤率
dAVG_Rate = dSum_Rate / pi.DataTotal;
break;
case "04": //加班工時
case "05":
avg_rate = sum_rate;
dAVG_Rate = dSum_Rate;
break;
case "06":
avg_rate = double.Parse(pi.DataTotal.ToString());
}
}
#endregion
break;
#endregion
}
MonthDataList = MonthDataList + "<td class='TD_Data_Rate_Sstyle'>" + "<a href =\"javascript:hg.open('按日期統計資料','/RPT/RPT001B/" + type + "_" + Data.ToString("yyyyMM") + "',800,720);\">" + avg_rate.ToString("0.00") + "</a></td>";
if (dAVG_Rate > 0)
{
MonthDataList = MonthDataList + "<td class='TD_Data_Rate_Sstyle'>" + "<a href =\"javascript:hg.open('按日期統計資料','/RPT/RPT001B/" + type + "_" + Data.ToString("yyyyMM") + "',800,720);\">" + dAVG_Rate.ToString("0.00") + "</a></td>";
}
else
{
@ -221,7 +228,6 @@ namespace AMESCoreStudio.Web.Controllers
MonthDataList = MonthDataList + "</tr></table>";
ViewData["MonthDataList"] = MonthDataList;
return View();
}
@ -390,6 +396,7 @@ namespace AMESCoreStudio.Web.Controllers
switch (type)
{
#region 看傳入的生產指數是哪一類型
case "01":
title = data.Substring(0, 4) + "生產力";
break;
@ -409,6 +416,15 @@ namespace AMESCoreStudio.Web.Controllers
case "05":
title = data.Substring(0, 4) + "無效工時";
break;
case "06":
title = data.Substring(0, 4) + "未結工單數";
break;
case "07":
title = data.Substring(0, 4) + "完工入庫數";
break;
#endregion
}
ViewBag.Title = title;
@ -421,70 +437,92 @@ namespace AMESCoreStudio.Web.Controllers
var Data = DateTime.Parse(data.Substring(0, 4) + "/" + m.ToString().PadLeft(2, '0'));
var sDate = new DateTime(Data.Year, Data.Month, 1).ToString("yyyy/MM/dd");
var eDate = new DateTime(Data.Year, Data.Month, DateTime.DaysInMonth(Data.Year, Data.Month)).ToString("yyyy/MM/dd");
var pi = await _rptApi.GetProductionIndex4RPT001(sDate, eDate);
ResultModel<dynamic> pi;
ResultModel<FqcInhouseMaster_WareDto> pi2;
double dRate = 0.00; //月累積
double dAVG_Rate = 0.00; //月平均
switch (type)
{
case "06": //未結工單數
pi = await _pcsApi.GetWipInfoPCS008(null, null, 0, null, sDate, eDate, null, 0, 10);
dRate = double.Parse(pi.DataTotal.ToString());
dAVG_Rate = dRate;
break;
case "07": //完工入庫數
pi2 = await _pcsApi.GetFqcInhouseMasterMultiQuery("", "", "", "", date_str: sDate, date_end: eDate, "");
dRate = double.Parse(pi2.DataTotal.ToString());
dAVG_Rate = dRate;
break;
default: //以上都不符合走這個
#region 統計12個月的數值
pi = await _rptApi.GetProductionIndex4RPT001(sDate, eDate);
if (pi.DataTotal > 0)
{
double sum_rate = 0.00;
double dSum_Rate = 0.00;
#region 做12個月的數值加總
foreach (var item in pi.Data)
{
JObject jo = JObject.Parse(item.ToString());
double rate = 0.00;
dRate = 0.00;
switch (type)
{
case "01":
rate = double.Parse(jo["productivity"].ToString());
case "01": //生產力
dRate = double.Parse(jo["productivity"].ToString());
break;
case "02":
rate = double.Parse(jo["efficiency"].ToString());
case "02": //效率
dRate = double.Parse(jo["efficiency"].ToString());
break;
case "03":
rate = double.Parse(jo["attendance"].ToString());
case "03": //出勤率
dRate = double.Parse(jo["attendance"].ToString());
break;
case "04":
rate = double.Parse(jo["overTime"].ToString());
case "04": //加班工時
dRate = double.Parse(jo["overTime"].ToString());
break;
case "05":
rate = double.Parse(jo["invalidTime"].ToString());
case "05": //無效工時
dRate = double.Parse(jo["invalidTime"].ToString());
break;
}
sum_rate = sum_rate + rate;
dSum_Rate = dSum_Rate + dRate;
}
#endregion
double avg_rate = 0.00;
#region 換算12個月的平均數值
switch (type)
{
case "01":
avg_rate = sum_rate / pi.DataTotal;
break;
case "02":
avg_rate = sum_rate / pi.DataTotal;
break;
case "03":
avg_rate = sum_rate / pi.DataTotal;
break;
case "04":
avg_rate = sum_rate;
case "01": //生產力
case "02": //效率
case "03": //出勤率
dAVG_Rate = dSum_Rate / pi.DataTotal;
break;
case "04": //加班工時
case "05":
avg_rate = sum_rate;
dAVG_Rate = dSum_Rate;
break;
}
}
#endregion
break;
#endregion
}
if (dAVG_Rate > 0)
{
query.Datas.Add(new MonthGroup
{
Month = Data.ToString("yyyyMM"),
Yield = double.Parse(avg_rate.ToString("0.00"))
Yield = double.Parse(dAVG_Rate.ToString("0.00"))
});
}
else
@ -495,7 +533,6 @@ namespace AMESCoreStudio.Web.Controllers
Yield = 0.00
});
}
}
return Json(query.Datas);
@ -678,6 +715,7 @@ namespace AMESCoreStudio.Web.Controllers
switch (type)
{
#region 看傳入的生產指數是哪一類型
case "01":
title = data + "生產力";
break;
@ -696,6 +734,15 @@ namespace AMESCoreStudio.Web.Controllers
case "05":
title = data + "無效工時";
break;
case "06":
title = data + "未結工單數";
break;
case "07":
title = data + "完工入庫數";
break;
#endregion
}
ViewBag.Title = title;
@ -706,14 +753,58 @@ namespace AMESCoreStudio.Web.Controllers
var Data = DateTime.Parse(data.Substring(0, 4) + "/" + data.Substring(4));
var sDate = new DateTime(Data.Year, Data.Month, 1).ToString("yyyy/MM/dd");
var eDate = new DateTime(Data.Year, Data.Month, DateTime.DaysInMonth(Data.Year, Data.Month)).ToString("yyyy/MM/dd");
var pi = await _rptApi.GetProductionIndex4RPT001(sDate, eDate);
//var pi = await _rptApi.GetProductionIndex4RPT001(sDate, eDate);
ResultModel<dynamic> pi;
ResultModel<FqcInhouseMaster_WareDto> pi2;
string fieldName = "";
switch (type)
{
case "06": //未結工單數
pi = await _pcsApi.GetWipInfoPCS008(null, null, 0, null, sDate, eDate, null, 0, 10);
foreach (var item in pi.Data)
{
JObject jo = JObject.Parse(item.ToString());
DateTime date = DateTime.Parse(jo["createDate"].ToString());
query.Datas.Add(new DayGroup
{
Day = date.ToString("yyyyMMdd"),
Yield = double.Parse(pi.DataTotal.ToString())
});
}
break;
case "07": //完工入庫數
//pi2 = await _rptApi.GetFqcInhouseMasteMultiQuery("", "", "", "", date_str: sDate, date_end: eDate, "");
pi2 = await _pcsApi.GetFqcInhouseMasterMultiQuery("", "", "", "", date_str: sDate, date_end: eDate, "");
foreach (var item in pi2.Data)
{
JObject jo = JObject.Parse(item.ToString());
DateTime date = DateTime.Parse(jo["updateDate"].ToString());
query.Datas.Add(new DayGroup
{
Day = date.ToString("yyyyMMdd"),
Yield = double.Parse(pi2.DataTotal.ToString())
});
}
break;
default: //以上都不符合走這個
pi = await _rptApi.GetProductionIndex4RPT001(sDate, eDate);
switch (type)
{
case "01":
fieldName = "productivity";
break;
case "02":
fieldName = "efficiency";
break;
@ -743,6 +834,8 @@ namespace AMESCoreStudio.Web.Controllers
Yield = double.Parse(jo[fieldName].ToString())
});
}
break;
}
return Json(query.Datas);
}
@ -854,6 +947,7 @@ namespace AMESCoreStudio.Web.Controllers
switch (type)
{
#region 看傳入的生產指數是哪一類型
case "01":
title = data + "生產力";
break;
@ -872,6 +966,15 @@ namespace AMESCoreStudio.Web.Controllers
case "05":
title = data + "無效工時";
break;
case "06":
title = data + "未結工單數";
break;
case "07":
title = data + "完工入庫數";
break;
#endregion
}
ViewBag.Title = title;
@ -879,14 +982,242 @@ namespace AMESCoreStudio.Web.Controllers
var Data = DateTime.Parse(data.Substring(0, 4) + "/" + data.Substring(4));
var sDate = new DateTime(Data.Year, Data.Month, 1).ToString("yyyy/MM/dd");
var eDate = new DateTime(Data.Year, Data.Month, DateTime.DaysInMonth(Data.Year, Data.Month)).ToString("yyyy/MM/dd");
var pi = await _rptApi.GetProductionIndex4RPT001(sDate, eDate);
//var pi = await _rptApi.GetProductionIndex4RPT001(sDate, eDate);
double day01 = 0.00, day02 = 0.00, day03 = 0.00, day04 = 0.00, day05 = 0.00, day06 = 0.00, day07 = 0.00, day08 = 0.00, day09 = 0.00, day10 = 0.00;
double day11 = 0.00, day12 = 0.00, day13 = 0.00, day14 = 0.00, day15 = 0.00, day16 = 0.00, day17 = 0.00, day18 = 0.00, day19 = 0.00, day20 = 0.00;
double day21 = 0.00, day22 = 0.00, day23 = 0.00, day24 = 0.00, day25 = 0.00, day26 = 0.00, day27 = 0.00, day28 = 0.00, day29 = 0.00, day30 = 0.00;
double day31 = 0.00;
ResultModel<dynamic> pi;
ResultModel<FqcInhouseMaster_WareDto> pi2;
string fieldName = "";
double dDay_Rate = 0.00; //日累積
switch (type)
{
case "06":
pi = await _pcsApi.GetWipInfoPCS008(null, null, 0, null, sDate, eDate, null, 0, 10);
foreach (var item in pi.Data)
{
JObject jo = JObject.Parse(item.ToString());
DateTime date = DateTime.Parse(jo["createDate"].ToString());
dDay_Rate = double.Parse(pi.DataTotal.ToString());
switch (date.Day)
{
case 1:
day01 = dDay_Rate;
break;
case 2:
day02 = dDay_Rate;
break;
case 3:
day03 = dDay_Rate;
break;
case 4:
day04 = dDay_Rate;
break;
case 5:
day05 = dDay_Rate;
break;
case 6:
day06 = dDay_Rate;
break;
case 7:
day07 = dDay_Rate;
break;
case 8:
day08 = dDay_Rate;
break;
case 9:
day09 = dDay_Rate;
break;
case 10:
day10 = dDay_Rate;
break;
case 11:
day11 = dDay_Rate;
break;
case 12:
day12 = dDay_Rate;
break;
case 13:
day13 = dDay_Rate;
break;
case 14:
day14 = dDay_Rate;
break;
case 15:
day15 = dDay_Rate;
break;
case 16:
day16 = dDay_Rate;
break;
case 17:
day17 = dDay_Rate;
break;
case 18:
day18 = dDay_Rate;
break;
case 19:
day19 = dDay_Rate;
break;
case 20:
day20 = dDay_Rate;
break;
case 21:
day21 = dDay_Rate;
break;
case 22:
day22 = dDay_Rate;
break;
case 23:
day23 = dDay_Rate;
break;
case 24:
day24 = dDay_Rate;
break;
case 25:
day25 = dDay_Rate;
break;
case 26:
day26 = dDay_Rate;
break;
case 27:
day27 = dDay_Rate;
break;
case 28:
day28 = dDay_Rate;
break;
case 29:
day29 = dDay_Rate;
break;
case 30:
day30 = dDay_Rate;
break;
case 31:
day31 = dDay_Rate;
break;
}
}
break;
case "07":
//pi2 = await _rptApi.GetFqcInhouseMasteMultiQuery("", "", "", "", date_str: sDate, date_end: eDate, "");
pi2 = await _pcsApi.GetFqcInhouseMasterMultiQuery("", "", "", "", date_str: sDate, date_end: eDate, "");
foreach (var item in pi2.Data)
{
DateTime date = item.CreateDate;
dDay_Rate = 1;
switch (date.Day)
{
case 1:
day01 = day01 + dDay_Rate;
break;
case 2:
day02 = day02 +dDay_Rate;
break;
case 3:
day03 = day03 + dDay_Rate;
break;
case 4:
day04 = day04 + dDay_Rate;
break;
case 5:
day05 = day05 + dDay_Rate;
break;
case 6:
day06 = day06 + dDay_Rate;
break;
case 7:
day07 = day07 + dDay_Rate;
break;
case 8:
day08 = day08 + dDay_Rate;
break;
case 9:
day09 = day09 + dDay_Rate;
break;
case 10:
day10 = day10 + dDay_Rate;
break;
case 11:
day11 = day11 + dDay_Rate;
break;
case 12:
day12 = day12 + dDay_Rate;
break;
case 13:
day13 = day13 + dDay_Rate;
break;
case 14:
day14 = day14 + dDay_Rate;
break;
case 15:
day15 = day15 + dDay_Rate;
break;
case 16:
day16 = day16 + dDay_Rate;
break;
case 17:
day17 = day17 + dDay_Rate;
break;
case 18:
day18 = day18 + dDay_Rate;
break;
case 19:
day19 = day19 + dDay_Rate;
break;
case 20:
day20 = day20 + dDay_Rate;
break;
case 21:
day21 = day21 + dDay_Rate;
break;
case 22:
day22 = day22 + dDay_Rate;
break;
case 23:
day23 = day23 + dDay_Rate;
break;
case 24:
day24 = day24 + dDay_Rate;
break;
case 25:
day25 = day25 + dDay_Rate;
break;
case 26:
day26 = day26 + dDay_Rate;
break;
case 27:
day27 = day27 + dDay_Rate;
break;
case 28:
day28 = day28 + dDay_Rate;
break;
case 29:
day29 = day29 + dDay_Rate;
break;
case 30:
day30 = day30 + dDay_Rate;
break;
case 31:
day31 = day31 + dDay_Rate;
break;
}
}
break;
default:
pi = await _rptApi.GetProductionIndex4RPT001(sDate, eDate);
switch (type)
{
case "01":
@ -914,103 +1245,108 @@ namespace AMESCoreStudio.Web.Controllers
{
JObject jo = JObject.Parse(item.ToString());
DateTime date = DateTime.Parse(jo["productionDate"].ToString());
dDay_Rate = double.Parse(jo[fieldName].ToString());
switch (date.Day)
{
case 1:
day01 = double.Parse(jo[fieldName].ToString());
day01 = dDay_Rate;
break;
case 2:
day02 = double.Parse(jo[fieldName].ToString());
day02 = dDay_Rate;
break;
case 3:
day03 = double.Parse(jo[fieldName].ToString());
day03 = dDay_Rate;
break;
case 4:
day04 = double.Parse(jo[fieldName].ToString());
day04 = dDay_Rate;
break;
case 5:
day05 = double.Parse(jo[fieldName].ToString());
day05 = dDay_Rate;
break;
case 6:
day06 = double.Parse(jo[fieldName].ToString());
day06 = dDay_Rate;
break;
case 7:
day07 = double.Parse(jo[fieldName].ToString());
day07 = dDay_Rate;
break;
case 8:
day08 = double.Parse(jo[fieldName].ToString());
day08 = dDay_Rate;
break;
case 9:
day09 = double.Parse(jo[fieldName].ToString());
day09 = dDay_Rate;
break;
case 10:
day10 = double.Parse(jo[fieldName].ToString());
day10 = dDay_Rate;
break;
case 11:
day11 = double.Parse(jo[fieldName].ToString());
day11 = dDay_Rate;
break;
case 12:
day12 = double.Parse(jo[fieldName].ToString());
day12 = dDay_Rate;
break;
case 13:
day13 = double.Parse(jo[fieldName].ToString());
day13 = dDay_Rate;
break;
case 14:
day14 = double.Parse(jo[fieldName].ToString());
day14 = dDay_Rate;
break;
case 15:
day15 = double.Parse(jo[fieldName].ToString());
day15 = dDay_Rate;
break;
case 16:
day16 = double.Parse(jo[fieldName].ToString());
day16 = dDay_Rate;
break;
case 17:
day17 = double.Parse(jo[fieldName].ToString());
day17 = dDay_Rate;
break;
case 18:
day18 = double.Parse(jo[fieldName].ToString());
day18 = dDay_Rate;
break;
case 19:
day19 = double.Parse(jo[fieldName].ToString());
day19 = dDay_Rate;
break;
case 20:
day20 = double.Parse(jo[fieldName].ToString());
day20 = dDay_Rate;
break;
case 21:
day21 = double.Parse(jo[fieldName].ToString());
day21 = dDay_Rate;
break;
case 22:
day22 = double.Parse(jo[fieldName].ToString());
day22 = dDay_Rate;
break;
case 23:
day23 = double.Parse(jo[fieldName].ToString());
day23 = dDay_Rate;
break;
case 24:
day24 = double.Parse(jo[fieldName].ToString());
day24 = dDay_Rate;
break;
case 25:
day25 = double.Parse(jo[fieldName].ToString());
day25 = dDay_Rate;
break;
case 26:
day26 = double.Parse(jo[fieldName].ToString());
day26 = dDay_Rate;
break;
case 27:
day27 = double.Parse(jo[fieldName].ToString());
day27 = dDay_Rate;
break;
case 28:
day28 = double.Parse(jo[fieldName].ToString());
day28 = dDay_Rate;
break;
case 29:
day29 = double.Parse(jo[fieldName].ToString());
day29 = dDay_Rate;
break;
case 30:
day30 = double.Parse(jo[fieldName].ToString());
day30 = dDay_Rate;
break;
case 31:
day31 = double.Parse(jo[fieldName].ToString());
day31 = dDay_Rate;
break;
}
}
break;
}
string DayDataList = "<table border='1' cellpadding='2'>";
DayDataList = DayDataList + "<tr class='TR_Item_Sstyle'><td>日期</td><td>01</td><td>02</td><td>03</td><td>04</td><td>05</td><td>06</td><td>07</td><td>08</td><td>09</td><td>10</td></tr>";
@ -1062,6 +1398,7 @@ namespace AMESCoreStudio.Web.Controllers
{
JObject jo = JObject.Parse(item.ToString());
DateTime date = DateTime.Parse(jo["exceptionDate"].ToString());
switch (date.Day)
{
case 1:

2
AMESCoreStudio.Web/Views/RPT/RPT001.cshtml

@ -200,7 +200,7 @@
</div>
</div>
<div class="layui-col-md4 Link-right">
<div class="layui-col-md12 spanDetailTitleClass ColTitle">完工入庫數</div>
<div class="layui-col-md12 spanDetailTitleClass ColTitle"><a style="color:white" href="javascript:hg.open('按月份統計資料','/RPT/RPT001A/07_@ViewBag.QueryDate2',900,810)">完工入庫數</a></div>
<div class="layui-col-md12 spanDetailNumberClass" style="color: #FFFFFF">
@Model.finishedProducts
<p class="spanUnitClass">pcs</p>

Loading…
Cancel
Save