Browse Source

1.修改直通率

1.1.修改直通率计算公式(平均)
1.2.增加结案日期查询
PTD
Marvin 2 years ago
parent
commit
19e06fb5f9
  1. 732
      AMESCoreStudio.Web/Controllers/QRSController.cs
  2. 8
      AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs
  3. 20
      AMESCoreStudio.Web/Views/QRS/QRS014.cshtml
  4. 17
      AMESCoreStudio.WebApi/Controllers/AMES/WipInfosController.cs
  5. 65
      AMESCoreStudio.WebApi/Controllers/AMES/WipStationController.cs

732
AMESCoreStudio.Web/Controllers/QRSController.cs

File diff suppressed because it is too large

8
AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs

@ -1020,21 +1020,21 @@ namespace AMESCoreStudio.Web
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/WipStation/GetWipStation4QRS014GroupS")]
ITask<ResultModel<dynamic>> GetWipStation4QRS014GroupS(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo);
ITask<ResultModel<dynamic>> GetWipStation4QRS014GroupS(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo, string dateType);
/// <summary>
/// 查詢系統工單站别资料4QRS014
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/WipStation/GetWipStation4QRS014GroupB")]
ITask<ResultModel<dynamic>> GetWipStation4QRS014GroupB(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo);
ITask<ResultModel<dynamic>> GetWipStation4QRS014GroupB(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo, string dateType);
/// <summary>
/// 查詢醫療工單站别资料4QRS014
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/WipStation/GetWipStation4QRS014GroupM")]
ITask<ResultModel<dynamic>> GetWipStation4QRS014GroupM(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo);
ITask<ResultModel<dynamic>> GetWipStation4QRS014GroupM(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo, string dateType);
/// <summary>
/// 查詢工單站別在製條碼資料
/// </summary>
@ -1102,7 +1102,7 @@ namespace AMESCoreStudio.Web
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/WipInfos/GetWipInfo4QRS014")]
ITask<ResultModel<dynamic>> GetWipInfo4QRS014(string unitNo, string itemNO, string wipNO, string dateStart, string dateEnd, string modelNO, string werksNo);
ITask<ResultModel<dynamic>> GetWipInfo4QRS014(string unitNo, string itemNO, string wipNO, string dateStart, string dateEnd, string modelNO, string werksNo, string dateType);
#endregion

20
AMESCoreStudio.Web/Views/QRS/QRS014.cshtml

@ -63,14 +63,18 @@
</div>
<div class="layui-col-sm6">
<div class="layui-inline">
<label class="layui-form-label">生產日期:</label>
<div class="layui-input-inline" style="width:160px">
<label class="layui-form-label">日期:</label>
<div class="layui-input-inline" style="width: 160px">
<input id="dateStart" name="dateStart" autocomplete="off" class="layui-input" readonly="">
</div>
<div class="layui-form-mid">~</div>
<div class="layui-input-inline" style="width:160px">
<div class="layui-input-inline" style="width: 160px">
<input id="dateEnd" name="dateEnd" autocomplete="off" class="layui-input" readonly="">
</div>
<div class="layui-input-inline" style="width: 200px">
<input type="radio" name="dateType" lay-filter="dateType" value="WipDate" title="生產" checked="checked">
<input type="radio" name="dateType" lay-filter="dateType" value="FqcDate" title="結案">
</div>
</div>
</div>
<div class="layui-col-sm3">
@ -91,6 +95,7 @@
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
var date_type = "";
layui.use(['form', 'layer', 'laydate'], function () {
var form = layui.form;
laydate = layui.laydate;
@ -107,6 +112,11 @@
, format: 'yyyy/MM/dd'
, theme: 'grid'
});
//此处即为 radio 的监听事件
form.on('radio(dateType)', function (data) {
date_type = data.value;
});
});
function result_a() {
@ -118,7 +128,7 @@
var dateEnd = $("#dateEnd").val();
var modelNO = $("#modelNO").val();
var query = "?unitNo=" + unitNo + "&werksNo=" + werksNo + "&itemNO=" + itemNO + "&wipNO=" + wipNO + "&dateStart=" + dateStart + "&dateEnd=" + dateEnd + "&modelNO=" + modelNO;
var query = "?unitNo=" + unitNo + "&werksNo=" + werksNo + "&itemNO=" + itemNO + "&wipNO=" + wipNO + "&dateStart=" + dateStart + "&dateEnd=" + dateEnd + "&modelNO=" + modelNO + "&dateType=" + date_type;
hg.open('直通率', '/QRS/QRS014A' + query, '', '', true);
};
@ -132,7 +142,7 @@
var dateEnd = $("#dateEnd").val();
var modelNO = $("#modelNO").val();
var query = "?unitNo=" + unitNo + "&werksNo=" + werksNo + "&itemNO=" + itemNO + "&wipNO=" + wipNO + "&dateStart=" + dateStart + "&dateEnd=" + dateEnd + "&modelNO=" + modelNO;
var query = "?unitNo=" + unitNo + "&werksNo=" + werksNo + "&itemNO=" + itemNO + "&wipNO=" + wipNO + "&dateStart=" + dateStart + "&dateEnd=" + dateEnd + "&modelNO=" + modelNO + "&dateType=" + date_type;
hg.open('直通率', '/QRS/QRS014B' + query, '', '', true);
};

17
AMESCoreStudio.WebApi/Controllers/AMES/WipInfosController.cs

@ -1513,13 +1513,15 @@ FROM [SFIS].[dbo].[ZPDKeyPart] B WHERE B.[IsActive] = 1 AND B.[ProductSN] = (S
/// <returns></returns>
[Route("[action]")]
[HttpGet]
public async Task<ResultModel<dynamic>> GetWipInfo4QRS014(string unitNo, string itemNO, string wipNO, string dateStart, string dateEnd, string modelNO, string werksNo)
public async Task<ResultModel<dynamic>> GetWipInfo4QRS014(string unitNo, string itemNO, string wipNO, string dateStart, string dateEnd, string modelNO, string werksNo, string dateType)
{
ResultModel<dynamic> result = new ResultModel<dynamic>();
var q = from q1 in _context.WipInfos
join q2 in _context.WipAtts on q1.WipNO equals q2.WipNO
join q3 in _context.LineInfoes on q1.LineID equals q3.LineID
join q4 in _context.FactoryUnits on q1.UnitNO equals q4.UnitNo
join q5 in _context.FqcResultMasters.GroupBy(x => new { x.WipNo }).Select(x => new { WipNo = x.Key.WipNo, FqcDate = x.Max(o => o.EndTime) }) on q2.WipNO equals q5.WipNo into fqc_data
from x in fqc_data.DefaultIfEmpty()
select new
{
q1.WipID,
@ -1536,7 +1538,8 @@ FROM [SFIS].[dbo].[ZPDKeyPart] B WHERE B.[IsActive] = 1 AND B.[ProductSN] = (S
q2.ItemNO,
q2.ModelNO,
q3.LineDesc,
q4.UnitName
q4.UnitName,
FqcDate = (x.FqcDate == null ? DateTime.Now : x.FqcDate)
};
q = q.Where(w => w.CompleteQTY > 0);
@ -1561,10 +1564,20 @@ FROM [SFIS].[dbo].[ZPDKeyPart] B WHERE B.[IsActive] = 1 AND B.[ProductSN] = (S
{
q = q.Where(w => w.WipNO == wipNO);
}
if (dateType == "WipDate")
{
if (dateStart != null && dateStart != "" && dateEnd != null && dateEnd != "")
{
q = q.Where(w => w.WipScheduleDate >= DateTime.Parse(dateStart) && w.WipScheduleDate <= DateTime.Parse(dateEnd).AddDays(1));
}
}
else
{
if (dateStart != null && dateStart != "" && dateEnd != null && dateEnd != "")
{
q = q.Where(w => w.FqcDate >= DateTime.Parse(dateStart) && w.FqcDate <= DateTime.Parse(dateEnd).AddDays(1));
}
}
//紀錄筆數
result.DataTotal = q.Count();

65
AMESCoreStudio.WebApi/Controllers/AMES/WipStationController.cs

@ -271,9 +271,10 @@ FROM JHAMES.WIP_STATION";
/// <param name="dateEnd">結束日期</param>
/// <param name="modelNo">機種</param>
/// <param name="werksNo">生產廠別</param>
/// <param name="dateType">日期類別</param>
/// <returns></returns>
[HttpGet("GetWipStation4QRS014GroupS")]
public async Task<ResultModel<dynamic>> GetWipStation4QRS014GroupS(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo)
public async Task<ResultModel<dynamic>> GetWipStation4QRS014GroupS(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo, string dateType)
{
string fpyStation = _config["FPYStation"].ToString();
string[] fpy_station = fpyStation.Split(',');
@ -283,6 +284,8 @@ FROM JHAMES.WIP_STATION";
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.FqcResultMasters.GroupBy(x => new { x.WipNo }).Select(x => new { WipNo = x.Key.WipNo, FqcDate = x.Max(o => o.EndTime) }) on q2.WipNO equals q5.WipNo into fqc_data
from x in fqc_data.DefaultIfEmpty()
select new
{
q1.WipID,
@ -295,7 +298,8 @@ FROM JHAMES.WIP_STATION";
q4.StationName,
q1.RuleStatus,
q1.FirstCnt,
q2.WipScheduleDate
q2.WipScheduleDate,
FqcDate = (x.FqcDate == null ? DateTime.Now : x.FqcDate)
};
q = q.Where(w => w.CustomerMedical == "N" && w.UnitNO == "S");
@ -320,6 +324,8 @@ FROM JHAMES.WIP_STATION";
}
if (dateType == "WipDate" || dateType == null)
{
if (dateStart != null && dateEnd != null)
{
if (dateStart != "" && dateEnd != "")
@ -327,6 +333,17 @@ FROM JHAMES.WIP_STATION";
q = q.Where(w => w.WipScheduleDate >= DateTime.Parse(dateStart) && w.WipScheduleDate <= DateTime.Parse(dateEnd));
}
}
}
else
{
if (dateStart != null && dateEnd != null)
{
if (dateStart != "" && dateEnd != "")
{
q = q.Where(w => w.FqcDate >= DateTime.Parse(dateStart) && w.FqcDate <= DateTime.Parse(dateEnd));
}
}
}
var g = q.GroupBy(x => new { x.StationID, x.RuleStatus }).Select(x => new
{
@ -350,9 +367,10 @@ FROM JHAMES.WIP_STATION";
/// <param name="dateEnd">結束日期</param>
/// <param name="modelNo">機種</param>
/// <param name="werksNo">生產廠別</param>
/// <param name="dateType">日期類別</param>
/// <returns></returns>
[HttpGet("GetWipStation4QRS014GroupB")]
public async Task<ResultModel<dynamic>> GetWipStation4QRS014GroupB(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo)
public async Task<ResultModel<dynamic>> GetWipStation4QRS014GroupB(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo, string dateType)
{
string fpyStation = _config["FPYStation"].ToString();
string[] fpy_station = fpyStation.Split(',');
@ -363,6 +381,8 @@ FROM JHAMES.WIP_STATION";
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.FqcResultMasters.GroupBy(x => new { x.WipNo }).Select(x => new { WipNo = x.Key.WipNo, FqcDate = x.Max(o => o.EndTime) }) on q2.WipNO equals q5.WipNo into fqc_data
from x in fqc_data.DefaultIfEmpty()
select new
{
q1.WipID,
@ -375,7 +395,8 @@ FROM JHAMES.WIP_STATION";
q4.StationName,
q1.RuleStatus,
q1.FirstCnt,
q2.WipScheduleDate
q2.WipScheduleDate,
FqcDate = (x.FqcDate == null ? DateTime.Now : x.FqcDate)
};
q = q.Where(w => w.CustomerMedical == "N" && w.UnitNO == "B");
@ -399,7 +420,8 @@ FROM JHAMES.WIP_STATION";
q = q.Where(w => w.WerksNO == werksNo);
}
if (dateType == "WipDate" || dateType == null)
{
if (dateStart != null && dateEnd != null)
{
if (dateStart != "" && dateEnd != "")
@ -407,7 +429,17 @@ FROM JHAMES.WIP_STATION";
q = q.Where(w => w.WipScheduleDate >= DateTime.Parse(dateStart) && w.WipScheduleDate <= DateTime.Parse(dateEnd));
}
}
}
else
{
if (dateStart != null && dateEnd != null)
{
if (dateStart != "" && dateEnd != "")
{
q = q.Where(w => w.FqcDate >= DateTime.Parse(dateStart) && w.FqcDate <= DateTime.Parse(dateEnd));
}
}
}
var g = q.GroupBy(x => new { x.StationID, x.RuleStatus }).Select(x => new
{
StationID = x.Key.StationID,
@ -430,9 +462,10 @@ FROM JHAMES.WIP_STATION";
/// <param name="dateEnd">結束日期</param>
/// <param name="modelNo">機種</param>
/// <param name="werksNo">生產廠別</param>
/// <param name="dateType">日期類別</param>
/// <returns></returns>
[HttpGet("GetWipStation4QRS014GroupM")]
public async Task<ResultModel<dynamic>> GetWipStation4QRS014GroupM(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo)
public async Task<ResultModel<dynamic>> GetWipStation4QRS014GroupM(string itemNo, string dateStart, string dateEnd, string modelNo, string werksNo, string dateType)
{
string fpyStation = _config["FPYStation"].ToString();
string[] fpy_station = fpyStation.Split(',');
@ -443,6 +476,8 @@ FROM JHAMES.WIP_STATION";
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.FqcResultMasters.GroupBy(x => new { x.WipNo }).Select(x => new { WipNo = x.Key.WipNo, FqcDate = x.Max(o => o.EndTime) }) on q2.WipNO equals q5.WipNo into fqc_data
from x in fqc_data.DefaultIfEmpty()
select new
{
q1.WipID,
@ -455,7 +490,8 @@ FROM JHAMES.WIP_STATION";
q4.StationName,
q1.RuleStatus,
q1.FirstCnt,
q2.WipScheduleDate
q2.WipScheduleDate,
FqcDate = (x.FqcDate == null ? DateTime.Now : x.FqcDate)
};
q = q.Where(w => w.CustomerMedical == "Y");
@ -480,6 +516,8 @@ FROM JHAMES.WIP_STATION";
}
if (dateType == "WipDate" || dateType == null)
{
if (dateStart != null && dateEnd != null)
{
if (dateStart != "" && dateEnd != "")
@ -487,6 +525,17 @@ FROM JHAMES.WIP_STATION";
q = q.Where(w => w.WipScheduleDate >= DateTime.Parse(dateStart) && w.WipScheduleDate <= DateTime.Parse(dateEnd));
}
}
}
else
{
if (dateStart != null && dateEnd != null)
{
if (dateStart != "" && dateEnd != "")
{
q = q.Where(w => w.FqcDate >= DateTime.Parse(dateStart) && w.FqcDate <= DateTime.Parse(dateEnd));
}
}
}
var g = q.GroupBy(x => new { x.StationID, x.RuleStatus }).Select(x => new
{

Loading…
Cancel
Save