Browse Source

1.修改維修資料統計

1.1.增加維修資料查詢欄位
1.2.增加維修代碼統計圖
1.3.增加維修位置統計圖
1.4.增加責任單位統計圖
PTD
Marvin 3 years ago
parent
commit
db528d3476
  1. 96
      AMESCoreStudio.Web/Controllers/REPController.cs
  2. 21
      AMESCoreStudio.Web/HttpApis/AMES/IREP.cs
  3. 42
      AMESCoreStudio.Web/Views/REP/REP012.cshtml
  4. 4
      AMESCoreStudio.Web/Views/REP/REP012A.cshtml
  5. 113
      AMESCoreStudio.Web/Views/REP/REP012B.cshtml
  6. 113
      AMESCoreStudio.Web/Views/REP/REP012C.cshtml
  7. 113
      AMESCoreStudio.Web/Views/REP/REP012D.cshtml
  8. 414
      AMESCoreStudio.WebApi/Controllers/AMES/NgRepairsController.cs

96
AMESCoreStudio.Web/Controllers/REPController.cs

@ -330,6 +330,9 @@ namespace AMESCoreStudio.Web.Controllers
}
else
{
NgRepair ngRepair = new NgRepair();
model.ngRepair = ngRepair;
ViewBag.Image1Url = $"\\REPImage\\" + "noimage.jfif";
ViewBag.Image2Url = $"\\REPImage\\" + "noimage.jfif";
ViewBag.Image3Url = $"\\REPImage\\" + "noimage.jfif";
@ -933,6 +936,99 @@ namespace AMESCoreStudio.Web.Controllers
}
return Json(new Table() { count = 0, data = null });
}
public IActionResult REP012B(string id)
{
ViewData["ParamList"] = id;
return View();
}
[HttpPost]
public async Task<JsonResult> GetRMACode4REP012Async(string id)
{
string[] param = id.Split('_');
var result = await _repApi.GetRMACode4REP012(param[0], param[1], param[2], param[3], param[4], param[5], param[6], param[7], param[8]);
return Json(result.Data);
//return Json(new { data = result.Data });
}
public async Task<IActionResult> GetRMACode4REP012ListAsync(string id)
{
string[] param = id.Split('_');
var result = await _repApi.GetRMACode4REP012(param[0], param[1], param[2], param[3], param[4], param[5], param[6], param[7], param[8]);
if (result.DataTotal > 0)
{
return Json(new Table() { code = 0, msg = "", data = result.Data, count = result.DataTotal });
}
return Json(new Table() { count = 0, data = null });
}
public IActionResult REP012C(string id)
{
ViewData["ParamList"] = id;
return View();
}
[HttpPost]
public async Task<JsonResult> GetLocation4REP012Async(string id)
{
string[] param = id.Split('_');
var result = await _repApi.GetLocation4REP012(param[0], param[1], param[2], param[3], param[4], param[5], param[6], param[7], param[8]);
return Json(result.Data);
//return Json(new { data = result.Data });
}
public async Task<IActionResult> GetLocation4REP012ListAsync(string id)
{
string[] param = id.Split('_');
var result = await _repApi.GetLocation4REP012(param[0], param[1], param[2], param[3], param[4], param[5], param[6], param[7], param[8]);
if (result.DataTotal > 0)
{
return Json(new Table() { code = 0, msg = "", data = result.Data, count = result.DataTotal });
}
return Json(new Table() { count = 0, data = null });
}
public IActionResult REP012D(string id)
{
ViewData["ParamList"] = id;
return View();
}
[HttpPost]
public async Task<JsonResult> GetRepairResponsibleUnit4REP012Async(string id)
{
string[] param = id.Split('_');
var result = await _repApi.GetRepairResponsibleUnit4REP012(param[0], param[1], param[2], param[3], param[4], param[5], param[6], param[7], param[8]);
return Json(result.Data);
//return Json(new { data = result.Data });
}
public async Task<IActionResult> GetRepairResponsibleUnit4REP012ListAsync(string id)
{
string[] param = id.Split('_');
var result = await _repApi.GetRepairResponsibleUnit4REP012(param[0], param[1], param[2], param[3], param[4], param[5], param[6], param[7], param[8]);
if (result.DataTotal > 0)
{
return Json(new Table() { code = 0, msg = "", data = result.Data, count = result.DataTotal });
}
return Json(new Table() { count = 0, data = null });
}
#endregion
}
}

21
AMESCoreStudio.Web/HttpApis/AMES/IREP.cs

@ -100,6 +100,27 @@ namespace AMESCoreStudio.Web
[WebApiClient.Attributes.HttpGet("api/NgRepairs/GetErrorCode4REP012")]
ITask<ResultModel<dynamic>> GetErrorCode4REP012(string productType, string testType, string unitNo, string lineID, string stationID, string wipNo, string itemNo, string dateStart, string dateEnd);
/// <summary>
/// 查詢維修資料by维修代碼
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/NgRepairs/GetRMACode4REP012")]
ITask<ResultModel<dynamic>> GetRMACode4REP012(string productType, string testType, string unitNo, string lineID, string stationID, string wipNo, string itemNo, string dateStart, string dateEnd);
/// <summary>
/// 查詢維修資料by维修代碼
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/NgRepairs/GetLocation4REP012")]
ITask<ResultModel<dynamic>> GetLocation4REP012(string productType, string testType, string unitNo, string lineID, string stationID, string wipNo, string itemNo, string dateStart, string dateEnd);
/// <summary>
/// 查詢維修資料by维修代碼
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/NgRepairs/GetRepairResponsibleUnit4REP012")]
ITask<ResultModel<dynamic>> GetRepairResponsibleUnit4REP012(string productType, string testType, string unitNo, string lineID, string stationID, string wipNo, string itemNo, string dateStart, string dateEnd);
/// <summary>
/// 根據COMPONENT_ID獲取指定維修過程資料

42
AMESCoreStudio.Web/Views/REP/REP012.cshtml

@ -143,6 +143,9 @@
<table class="layui-hide" id="query" lay-filter="query"></table>
<div class="layui-inline">
<button type="button" id="btnChart1" class="layui-btn layui-btn-normal layui-btn-sm"><i class="layui-icon">&#xe68a;</i>不良代碼統計</button>
<button type="button" id="btnChart2" class="layui-btn layui-btn-normal layui-btn-sm"><i class="layui-icon">&#xe68a;</i>維修代碼統計</button>
<button type="button" id="btnChart3" class="layui-btn layui-btn-normal layui-btn-sm"><i class="layui-icon">&#xe68a;</i>維修位置統計</button>
<button type="button" id="btnChart4" class="layui-btn layui-btn-normal layui-btn-sm"><i class="layui-icon">&#xe68a;</i>責任單位統計</button>
</div>
</div>
</div>
@ -251,6 +254,21 @@
hg.open('不良代碼統計', '/REP/REP012A/' + param, 800, 600);
});
$('#btnChart2').click(function () {
var param = productTypeNo.value + '_' + testTypeNo.value + '_' + unitNo.value + '_' + lineID.value + '_' + stationID.value + '_' + wipNO.value + '_' + itemNO.value + '_' + dateStart.value + '_' + dateEnd.value;
hg.open('維修代碼統計', '/REP/REP012B/' + param, 800, 600);
});
$('#btnChart3').click(function () {
var param = productTypeNo.value + '_' + testTypeNo.value + '_' + unitNo.value + '_' + lineID.value + '_' + stationID.value + '_' + wipNO.value + '_' + itemNO.value + '_' + dateStart.value + '_' + dateEnd.value;
hg.open('維修位置統計', '/REP/REP012C/' + param, 800, 600);
});
$('#btnChart4').click(function () {
var param = productTypeNo.value + '_' + testTypeNo.value + '_' + unitNo.value + '_' + lineID.value + '_' + stationID.value + '_' + wipNO.value + '_' + itemNO.value + '_' + dateStart.value + '_' + dateEnd.value;
hg.open('責任單位統計', '/REP/REP012D/' + param, 800, 600);
});
//监听表单提交事件
hg.form.onsubmit('querysubmit', function (data) {
hg.msghide("重新載入資料..");
@ -264,6 +282,18 @@
title: '製程單位',
sort: true
},
{
field: 'lineDesc',
width: 100,
title: '線別',
sort: true
},
{
field: 'stationName',
width: 100,
title: '站別',
sort: true
},
{
field: 'wipNO',
width: 160,
@ -299,6 +329,18 @@
width: 120,
sort: true
},
{
field: 'locationNo',
title: '維修位置',
width: 120,
sort: true
},
{
field: 'rrDesc',
title: '責任單位',
width: 120,
sort: true
},
{
field: 'createDate',
title: '維修日期',

4
AMESCoreStudio.Web/Views/REP/REP012A.cshtml

@ -78,7 +78,7 @@
},
series: [{
type: 'pie',
name: '不良數量',
name: '數量',
data: errorData
}]
});
@ -99,7 +99,7 @@
{
field: 'errorQty',
width: 160,
title: '不良次數',
title: '統計次數',
sort: true
}]
];

113
AMESCoreStudio.Web/Views/REP/REP012B.cshtml

@ -0,0 +1,113 @@
@{ ViewData["Title"] = "REP012B";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<script src="~/Highcharts-7.1.2/highcharts.js"></script>
<script src="~/Highcharts-7.1.2/modules/exporting.js"></script>
<script src="~/Highcharts-7.1.2/modules/export-data.js"></script>
<style>
.control-label {
justify-content: flex-end !important;
}
.text-error {
color: #dc3545 !important;
}
.my-read-only-class {
cursor: not-allowed;
}
</style>
<div class="layui-card">
<div class="col-sm-12">
<form enctype="multipart/form-data" class="layui-form" method="post">
<div class="layui-form-item">
<div class="layui-inline">
<div id="divChart" style="width: 600px; height: 400px; margin: 0 auto"></div>
<input type="hidden" id="param_list" value="@ViewData["ParamList"]" />
<table class="layui-hide" id="query" lay-filter="query"></table>
</div>
</div>
</form>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
$(document).ready(function () {
//alert(param_list.value);
$.ajax({
type: "Post",
url: '/REP/GetRMACode4REP012?id=' + param_list.value,
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (response) {
var errorData = new Array();
var idx = 0;
$.each(response, function (i, item) {
errorData[idx] = new Array();
errorData[idx][0] = item["rmaCode"];
errorData[idx][1] = item["rmaQty"];
idx = idx + 1;
});
Highcharts.chart('divChart', {
chart: {
type: 'pie'
},
title: {
text: '維修代碼統計'
},
subtitle: {
text: ''
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: false
},
showInLegend: true
}
},
series: [{
type: 'pie',
name: '數量',
data: errorData
}]
});
},
error: function () {
alert("查無維修代碼統計資料!");
$("#divChart").empty();
}
});
});
var tableCols = [[
{
field: 'rmaCode',
title: '維修代碼',
sort: true
},
{
field: 'rmaQty',
width: 160,
title: '統計次數',
sort: true
}]
];
//基本数据表格
var table = hg.table.datatable('query', '維修代碼統計', '/REP/GetRMACode4REP012List/' + param_list.value, {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
</script>
}

113
AMESCoreStudio.Web/Views/REP/REP012C.cshtml

@ -0,0 +1,113 @@
@{ ViewData["Title"] = "REP012C";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<script src="~/Highcharts-7.1.2/highcharts.js"></script>
<script src="~/Highcharts-7.1.2/modules/exporting.js"></script>
<script src="~/Highcharts-7.1.2/modules/export-data.js"></script>
<style>
.control-label {
justify-content: flex-end !important;
}
.text-error {
color: #dc3545 !important;
}
.my-read-only-class {
cursor: not-allowed;
}
</style>
<div class="layui-card">
<div class="col-sm-12">
<form enctype="multipart/form-data" class="layui-form" method="post">
<div class="layui-form-item">
<div class="layui-inline">
<div id="divChart" style="width: 600px; height: 400px; margin: 0 auto"></div>
<input type="hidden" id="param_list" value="@ViewData["ParamList"]" />
<table class="layui-hide" id="query" lay-filter="query"></table>
</div>
</div>
</form>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
$(document).ready(function () {
//alert(param_list.value);
$.ajax({
type: "Post",
url: '/REP/GetLocation4REP012?id=' + param_list.value,
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (response) {
var errorData = new Array();
var idx = 0;
$.each(response, function (i, item) {
errorData[idx] = new Array();
errorData[idx][0] = item["locationNo"];
errorData[idx][1] = item["locationQty"];
idx = idx + 1;
});
Highcharts.chart('divChart', {
chart: {
type: 'pie'
},
title: {
text: '維修位置統計'
},
subtitle: {
text: ''
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: false
},
showInLegend: true
}
},
series: [{
type: 'pie',
name: '數量',
data: errorData
}]
});
},
error: function () {
alert("查無維修位置統計資料!");
$("#divChart").empty();
}
});
});
var tableCols = [[
{
field: 'locationNo',
title: '維修位置',
sort: true
},
{
field: 'locationQty',
width: 160,
title: '統計次數',
sort: true
}]
];
//基本数据表格
var table = hg.table.datatable('query', '維修位置統計', '/REP/GetLocation4REP012List/' + param_list.value, {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
</script>
}

113
AMESCoreStudio.Web/Views/REP/REP012D.cshtml

@ -0,0 +1,113 @@
@{ ViewData["Title"] = "REP012D";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<script src="~/Highcharts-7.1.2/highcharts.js"></script>
<script src="~/Highcharts-7.1.2/modules/exporting.js"></script>
<script src="~/Highcharts-7.1.2/modules/export-data.js"></script>
<style>
.control-label {
justify-content: flex-end !important;
}
.text-error {
color: #dc3545 !important;
}
.my-read-only-class {
cursor: not-allowed;
}
</style>
<div class="layui-card">
<div class="col-sm-12">
<form enctype="multipart/form-data" class="layui-form" method="post">
<div class="layui-form-item">
<div class="layui-inline">
<div id="divChart" style="width: 600px; height: 400px; margin: 0 auto"></div>
<input type="hidden" id="param_list" value="@ViewData["ParamList"]" />
<table class="layui-hide" id="query" lay-filter="query"></table>
</div>
</div>
</form>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
$(document).ready(function () {
//alert(param_list.value);
$.ajax({
type: "Post",
url: '/REP/GetRepairResponsibleUnit4REP012?id=' + param_list.value,
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (response) {
var errorData = new Array();
var idx = 0;
$.each(response, function (i, item) {
errorData[idx] = new Array();
errorData[idx][0] = item["rrDesc"];
errorData[idx][1] = item["rrDescQty"];
idx = idx + 1;
});
Highcharts.chart('divChart', {
chart: {
type: 'pie'
},
title: {
text: '責任單位統計'
},
subtitle: {
text: ''
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: false
},
showInLegend: true
}
},
series: [{
type: 'pie',
name: '數量',
data: errorData
}]
});
},
error: function () {
alert("查無責任單位統計資料!");
$("#divChart").empty();
}
});
});
var tableCols = [[
{
field: 'rrDesc',
title: '責任單位',
sort: true
},
{
field: 'rrDescQty',
width: 160,
title: '統計次數',
sort: true
}]
];
//基本数据表格
var table = hg.table.datatable('query', '責任單位統計', '/REP/GetRepairResponsibleUnit4REP012List/' + param_list.value, {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
</script>
}

414
AMESCoreStudio.WebApi/Controllers/AMES/NgRepairsController.cs

@ -111,6 +111,8 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
join q5 in _context.WipAtts on q4.WipNO equals q5.WipNO
join q6 in _context.LineInfoes on q4.LineID equals q6.LineID
join q7 in _context.Stationses on q2.StationId equals q7.StationID
join q8 in _context.NgComponents on q2.NgID equals q8.NgID
join q9 in _context.RepairResponsibleUnitses on q1.RepairResponsibleID equals q9.RRID
select new
{
q4.UnitNO,
@ -126,7 +128,9 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
q2.ReasonNo,
q1.RmaNo,
q1.RepairTypeNo,
q1.RepairDesc
q1.RepairDesc,
q8.LocationNo,
q9.RRDesc
};
if (productType != "*")
{
@ -236,9 +240,16 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
join q3 in _context.BarcodeInfoes on q2.BarcodeID equals q3.BarcodeID
join q4 in _context.WipInfos on q3.WipID equals q4.WipID
join q5 in _context.WipAtts on q4.WipNO equals q5.WipNO
join q6 in _context.LineInfoes on q4.LineID equals q6.LineID
join q7 in _context.Stationses on q2.StationId equals q7.StationID
join q8 in _context.NgComponents on q2.NgID equals q8.NgID
join q9 in _context.RepairResponsibleUnitses on q1.RepairResponsibleID equals q9.RRID
select new
{
q4.UnitNO,
q6.LineDesc,
q1.CreateDate,
q7.StationName,
q4.WipNO,
q5.ItemNO,
q4.LineID,
@ -247,7 +258,10 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
q2.StationId,
q2.ReasonNo,
q1.RmaNo,
q1.CreateDate
q1.RepairTypeNo,
q1.RepairDesc,
q8.LocationNo,
q9.RRDesc
};
if (productType != "*")
{
@ -334,6 +348,402 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return result;
}
/// <summary>
/// 維修資料統計by維修代碼
/// </summary>
/// <param name="productType"></param>
/// <param name="testType"></param>
/// <param name="unitNo"></param>
/// <param name="lineID"></param>
/// <param name="stationID"></param>
/// <param name="wipNo"></param>
/// <param name="itemNo"></param>
/// <param name="dateStart"></param>
/// <param name="dateEnd"></param>
/// <returns></returns>
[Route("[action]")]
[HttpGet]
public async Task<ResultModel<dynamic>> GetRMACode4REP012(string productType, string testType, string unitNo, string lineID, string stationID, string wipNo, string itemNo, string dateStart, string dateEnd)
{
ResultModel<dynamic> result = new ResultModel<dynamic>();
var q = from q1 in _context.NgRepairs
join q2 in _context.NgInfos on q1.NgID equals q2.NgID
join q3 in _context.BarcodeInfoes on q2.BarcodeID equals q3.BarcodeID
join q4 in _context.WipInfos on q3.WipID equals q4.WipID
join q5 in _context.WipAtts on q4.WipNO equals q5.WipNO
join q6 in _context.LineInfoes on q4.LineID equals q6.LineID
join q7 in _context.Stationses on q2.StationId equals q7.StationID
join q8 in _context.NgComponents on q2.NgID equals q8.NgID
join q9 in _context.RepairResponsibleUnitses on q1.RepairResponsibleID equals q9.RRID
select new
{
q4.UnitNO,
q6.LineDesc,
q1.CreateDate,
q7.StationName,
q4.WipNO,
q5.ItemNO,
q4.LineID,
q3.BarcodeNo,
q2.TypeNo,
q2.StationId,
q2.ReasonNo,
q1.RmaNo,
q1.RepairTypeNo,
q1.RepairDesc,
q8.LocationNo,
q9.RRDesc
};
if (productType != "*")
{
}
if (testType != null)
{
if (testType != "*")
{
q = q.Where(w => w.TypeNo == testType);
}
}
if (unitNo != null)
{
if (unitNo != "*")
{
q = q.Where(w => w.UnitNO == unitNo);
}
}
if (lineID != null)
{
if (lineID != "0")
{
q = q.Where(w => w.LineID == int.Parse(lineID));
}
}
if (stationID != null)
{
if (stationID != "0")
{
q = q.Where(w => w.StationId == int.Parse(lineID));
}
}
if (wipNo != null)
{
if (wipNo != "")
{
q = q.Where(w => w.WipNO == wipNo);
}
}
if (itemNo != null)
{
if (itemNo != "")
{
q = q.Where(w => w.ItemNO == itemNo);
}
}
if (dateStart != null && dateEnd != null)
{
if (dateStart != "" && dateEnd != "")
{
q = q.Where(w => w.CreateDate >= DateTime.Parse(dateStart) && w.CreateDate <= DateTime.Parse(dateEnd));
}
}
q = q.OrderBy(w => w.CreateDate);
var g = q.GroupBy(x => new { x.RmaNo }).Select(x => new
{
RMACode = x.Key.RmaNo,
RMAQty = x.Count()
}).ToList();
//紀錄筆數
result.DataTotal = g.Count();
result.Data = g;
if (result == null)
{
result.Msg = "查無資料";
result.Success = false;
return result;
}
result.Success = true;
result.Msg = "OK";
return result;
}
/// <summary>
/// 維修資料統計by維修位置
/// </summary>
/// <param name="productType"></param>
/// <param name="testType"></param>
/// <param name="unitNo"></param>
/// <param name="lineID"></param>
/// <param name="stationID"></param>
/// <param name="wipNo"></param>
/// <param name="itemNo"></param>
/// <param name="dateStart"></param>
/// <param name="dateEnd"></param>
/// <returns></returns>
[Route("[action]")]
[HttpGet]
public async Task<ResultModel<dynamic>> GetLocation4REP012(string productType, string testType, string unitNo, string lineID, string stationID, string wipNo, string itemNo, string dateStart, string dateEnd)
{
ResultModel<dynamic> result = new ResultModel<dynamic>();
var q = from q1 in _context.NgRepairs
join q2 in _context.NgInfos on q1.NgID equals q2.NgID
join q3 in _context.BarcodeInfoes on q2.BarcodeID equals q3.BarcodeID
join q4 in _context.WipInfos on q3.WipID equals q4.WipID
join q5 in _context.WipAtts on q4.WipNO equals q5.WipNO
join q6 in _context.LineInfoes on q4.LineID equals q6.LineID
join q7 in _context.Stationses on q2.StationId equals q7.StationID
join q8 in _context.NgComponents on q2.NgID equals q8.NgID
join q9 in _context.RepairResponsibleUnitses on q1.RepairResponsibleID equals q9.RRID
select new
{
q4.UnitNO,
q6.LineDesc,
q1.CreateDate,
q7.StationName,
q4.WipNO,
q5.ItemNO,
q4.LineID,
q3.BarcodeNo,
q2.TypeNo,
q2.StationId,
q2.ReasonNo,
q1.RmaNo,
q1.RepairTypeNo,
q1.RepairDesc,
q8.LocationNo,
q9.RRDesc
};
if (productType != "*")
{
}
if (testType != null)
{
if (testType != "*")
{
q = q.Where(w => w.TypeNo == testType);
}
}
if (unitNo != null)
{
if (unitNo != "*")
{
q = q.Where(w => w.UnitNO == unitNo);
}
}
if (lineID != null)
{
if (lineID != "0")
{
q = q.Where(w => w.LineID == int.Parse(lineID));
}
}
if (stationID != null)
{
if (stationID != "0")
{
q = q.Where(w => w.StationId == int.Parse(lineID));
}
}
if (wipNo != null)
{
if (wipNo != "")
{
q = q.Where(w => w.WipNO == wipNo);
}
}
if (itemNo != null)
{
if (itemNo != "")
{
q = q.Where(w => w.ItemNO == itemNo);
}
}
if (dateStart != null && dateEnd != null)
{
if (dateStart != "" && dateEnd != "")
{
q = q.Where(w => w.CreateDate >= DateTime.Parse(dateStart) && w.CreateDate <= DateTime.Parse(dateEnd));
}
}
q = q.OrderBy(w => w.CreateDate);
var g = q.GroupBy(x => new { x.LocationNo }).Select(x => new
{
LocationNo = x.Key.LocationNo,
LocationQty = x.Count()
}).ToList();
//紀錄筆數
result.DataTotal = g.Count();
result.Data = g;
if (result == null)
{
result.Msg = "查無資料";
result.Success = false;
return result;
}
result.Success = true;
result.Msg = "OK";
return result;
}
/// <summary>
/// 維修資料統計by責任單位
/// </summary>
/// <param name="productType"></param>
/// <param name="testType"></param>
/// <param name="unitNo"></param>
/// <param name="lineID"></param>
/// <param name="stationID"></param>
/// <param name="wipNo"></param>
/// <param name="itemNo"></param>
/// <param name="dateStart"></param>
/// <param name="dateEnd"></param>
/// <returns></returns>
[Route("[action]")]
[HttpGet]
public async Task<ResultModel<dynamic>> GetRepairResponsibleUnit4REP012(string productType, string testType, string unitNo, string lineID, string stationID, string wipNo, string itemNo, string dateStart, string dateEnd)
{
ResultModel<dynamic> result = new ResultModel<dynamic>();
var q = from q1 in _context.NgRepairs
join q2 in _context.NgInfos on q1.NgID equals q2.NgID
join q3 in _context.BarcodeInfoes on q2.BarcodeID equals q3.BarcodeID
join q4 in _context.WipInfos on q3.WipID equals q4.WipID
join q5 in _context.WipAtts on q4.WipNO equals q5.WipNO
join q6 in _context.LineInfoes on q4.LineID equals q6.LineID
join q7 in _context.Stationses on q2.StationId equals q7.StationID
join q8 in _context.NgComponents on q2.NgID equals q8.NgID
join q9 in _context.RepairResponsibleUnitses on q1.RepairResponsibleID equals q9.RRID
select new
{
q4.UnitNO,
q6.LineDesc,
q1.CreateDate,
q7.StationName,
q4.WipNO,
q5.ItemNO,
q4.LineID,
q3.BarcodeNo,
q2.TypeNo,
q2.StationId,
q2.ReasonNo,
q1.RmaNo,
q1.RepairTypeNo,
q1.RepairDesc,
q8.LocationNo,
q9.RRDesc
};
if (productType != "*")
{
}
if (testType != null)
{
if (testType != "*")
{
q = q.Where(w => w.TypeNo == testType);
}
}
if (unitNo != null)
{
if (unitNo != "*")
{
q = q.Where(w => w.UnitNO == unitNo);
}
}
if (lineID != null)
{
if (lineID != "0")
{
q = q.Where(w => w.LineID == int.Parse(lineID));
}
}
if (stationID != null)
{
if (stationID != "0")
{
q = q.Where(w => w.StationId == int.Parse(lineID));
}
}
if (wipNo != null)
{
if (wipNo != "")
{
q = q.Where(w => w.WipNO == wipNo);
}
}
if (itemNo != null)
{
if (itemNo != "")
{
q = q.Where(w => w.ItemNO == itemNo);
}
}
if (dateStart != null && dateEnd != null)
{
if (dateStart != "" && dateEnd != "")
{
q = q.Where(w => w.CreateDate >= DateTime.Parse(dateStart) && w.CreateDate <= DateTime.Parse(dateEnd));
}
}
q = q.OrderBy(w => w.CreateDate);
var g = q.GroupBy(x => new { x.RRDesc }).Select(x => new
{
RRDesc = x.Key.RRDesc,
RRDescQty = x.Count()
}).ToList();
//紀錄筆數
result.DataTotal = g.Count();
result.Data = g;
if (result == null)
{
result.Msg = "查無資料";
result.Success = false;
return result;
}
result.Success = true;
result.Msg = "OK";
return result;
}
/// <summary>
///
/// </summary>

Loading…
Cancel
Save