Browse Source

1.修改直通率

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

736
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> /// </summary>
/// <returns></returns> /// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/WipStation/GetWipStation4QRS014GroupS")] [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> /// <summary>
/// 查詢系統工單站别资料4QRS014 /// 查詢系統工單站别资料4QRS014
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/WipStation/GetWipStation4QRS014GroupB")] [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> /// <summary>
/// 查詢醫療工單站别资料4QRS014 /// 查詢醫療工單站别资料4QRS014
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/WipStation/GetWipStation4QRS014GroupM")] [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>
/// 查詢工單站別在製條碼資料 /// 查詢工單站別在製條碼資料
/// </summary> /// </summary>
@ -1102,7 +1102,7 @@ namespace AMESCoreStudio.Web
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/WipInfos/GetWipInfo4QRS014")] [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 #endregion

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

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

21
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> /// <returns></returns>
[Route("[action]")] [Route("[action]")]
[HttpGet] [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>(); ResultModel<dynamic> result = new ResultModel<dynamic>();
var q = from q1 in _context.WipInfos var q = from q1 in _context.WipInfos
join q2 in _context.WipAtts on q1.WipNO equals q2.WipNO join q2 in _context.WipAtts on q1.WipNO equals q2.WipNO
join q3 in _context.LineInfoes on q1.LineID equals q3.LineID join q3 in _context.LineInfoes on q1.LineID equals q3.LineID
join q4 in _context.FactoryUnits on q1.UnitNO equals q4.UnitNo 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 select new
{ {
q1.WipID, q1.WipID,
@ -1536,7 +1538,8 @@ FROM [SFIS].[dbo].[ZPDKeyPart] B WHERE B.[IsActive] = 1 AND B.[ProductSN] = (S
q2.ItemNO, q2.ItemNO,
q2.ModelNO, q2.ModelNO,
q3.LineDesc, q3.LineDesc,
q4.UnitName q4.UnitName,
FqcDate = (x.FqcDate == null ? DateTime.Now : x.FqcDate)
}; };
q = q.Where(w => w.CompleteQTY > 0); q = q.Where(w => w.CompleteQTY > 0);
@ -1561,9 +1564,19 @@ FROM [SFIS].[dbo].[ZPDKeyPart] B WHERE B.[IsActive] = 1 AND B.[ProductSN] = (S
{ {
q = q.Where(w => w.WipNO == wipNO); q = q.Where(w => w.WipNO == wipNO);
} }
if (dateStart != null && dateStart != "" && dateEnd != null && dateEnd != "") 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
{ {
q = q.Where(w => w.WipScheduleDate >= DateTime.Parse(dateStart) && w.WipScheduleDate <= DateTime.Parse(dateEnd).AddDays(1)); if (dateStart != null && dateStart != "" && dateEnd != null && dateEnd != "")
{
q = q.Where(w => w.FqcDate >= DateTime.Parse(dateStart) && w.FqcDate <= DateTime.Parse(dateEnd).AddDays(1));
}
} }
//紀錄筆數 //紀錄筆數

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

@ -271,9 +271,10 @@ FROM JHAMES.WIP_STATION";
/// <param name="dateEnd">結束日期</param> /// <param name="dateEnd">結束日期</param>
/// <param name="modelNo">機種</param> /// <param name="modelNo">機種</param>
/// <param name="werksNo">生產廠別</param> /// <param name="werksNo">生產廠別</param>
/// <param name="dateType">日期類別</param>
/// <returns></returns> /// <returns></returns>
[HttpGet("GetWipStation4QRS014GroupS")] [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 fpyStation = _config["FPYStation"].ToString();
string[] fpy_station = fpyStation.Split(','); 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 q2 in _context.WipInfos on q1.WipID equals q2.WipID
join q3 in _context.WipAtts on q2.WipNO equals q3.WipNO join q3 in _context.WipAtts on q2.WipNO equals q3.WipNO
join q4 in _context.Stationses on q1.StationID equals q4.StationID 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 select new
{ {
q1.WipID, q1.WipID,
@ -295,7 +298,8 @@ FROM JHAMES.WIP_STATION";
q4.StationName, q4.StationName,
q1.RuleStatus, q1.RuleStatus,
q1.FirstCnt, q1.FirstCnt,
q2.WipScheduleDate q2.WipScheduleDate,
FqcDate = (x.FqcDate == null ? DateTime.Now : x.FqcDate)
}; };
q = q.Where(w => w.CustomerMedical == "N" && w.UnitNO == "S"); q = q.Where(w => w.CustomerMedical == "N" && w.UnitNO == "S");
@ -320,11 +324,24 @@ FROM JHAMES.WIP_STATION";
} }
if (dateStart != null && dateEnd != null) if (dateType == "WipDate" || dateType == null)
{ {
if (dateStart != "" && dateEnd != "") if (dateStart != null && dateEnd != null)
{ {
q = q.Where(w => w.WipScheduleDate >= DateTime.Parse(dateStart) && w.WipScheduleDate <= DateTime.Parse(dateEnd)); if (dateStart != "" && dateEnd != "")
{
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));
}
} }
} }
@ -350,9 +367,10 @@ FROM JHAMES.WIP_STATION";
/// <param name="dateEnd">結束日期</param> /// <param name="dateEnd">結束日期</param>
/// <param name="modelNo">機種</param> /// <param name="modelNo">機種</param>
/// <param name="werksNo">生產廠別</param> /// <param name="werksNo">生產廠別</param>
/// <param name="dateType">日期類別</param>
/// <returns></returns> /// <returns></returns>
[HttpGet("GetWipStation4QRS014GroupB")] [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 fpyStation = _config["FPYStation"].ToString();
string[] fpy_station = fpyStation.Split(','); 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 q2 in _context.WipInfos on q1.WipID equals q2.WipID
join q3 in _context.WipAtts on q2.WipNO equals q3.WipNO join q3 in _context.WipAtts on q2.WipNO equals q3.WipNO
join q4 in _context.Stationses on q1.StationID equals q4.StationID 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 select new
{ {
q1.WipID, q1.WipID,
@ -375,7 +395,8 @@ FROM JHAMES.WIP_STATION";
q4.StationName, q4.StationName,
q1.RuleStatus, q1.RuleStatus,
q1.FirstCnt, q1.FirstCnt,
q2.WipScheduleDate q2.WipScheduleDate,
FqcDate = (x.FqcDate == null ? DateTime.Now : x.FqcDate)
}; };
q = q.Where(w => w.CustomerMedical == "N" && w.UnitNO == "B"); q = q.Where(w => w.CustomerMedical == "N" && w.UnitNO == "B");
@ -399,15 +420,26 @@ FROM JHAMES.WIP_STATION";
q = q.Where(w => w.WerksNO == werksNo); q = q.Where(w => w.WerksNO == werksNo);
} }
if (dateType == "WipDate" || dateType == null)
if (dateStart != null && dateEnd != null)
{ {
if (dateStart != "" && dateEnd != "") if (dateStart != null && dateEnd != null)
{ {
q = q.Where(w => w.WipScheduleDate >= DateTime.Parse(dateStart) && w.WipScheduleDate <= DateTime.Parse(dateEnd)); if (dateStart != "" && dateEnd != "")
{
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 var g = q.GroupBy(x => new { x.StationID, x.RuleStatus }).Select(x => new
{ {
StationID = x.Key.StationID, StationID = x.Key.StationID,
@ -430,9 +462,10 @@ FROM JHAMES.WIP_STATION";
/// <param name="dateEnd">結束日期</param> /// <param name="dateEnd">結束日期</param>
/// <param name="modelNo">機種</param> /// <param name="modelNo">機種</param>
/// <param name="werksNo">生產廠別</param> /// <param name="werksNo">生產廠別</param>
/// <param name="dateType">日期類別</param>
/// <returns></returns> /// <returns></returns>
[HttpGet("GetWipStation4QRS014GroupM")] [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 fpyStation = _config["FPYStation"].ToString();
string[] fpy_station = fpyStation.Split(','); 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 q2 in _context.WipInfos on q1.WipID equals q2.WipID
join q3 in _context.WipAtts on q2.WipNO equals q3.WipNO join q3 in _context.WipAtts on q2.WipNO equals q3.WipNO
join q4 in _context.Stationses on q1.StationID equals q4.StationID 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 select new
{ {
q1.WipID, q1.WipID,
@ -455,7 +490,8 @@ FROM JHAMES.WIP_STATION";
q4.StationName, q4.StationName,
q1.RuleStatus, q1.RuleStatus,
q1.FirstCnt, q1.FirstCnt,
q2.WipScheduleDate q2.WipScheduleDate,
FqcDate = (x.FqcDate == null ? DateTime.Now : x.FqcDate)
}; };
q = q.Where(w => w.CustomerMedical == "Y"); q = q.Where(w => w.CustomerMedical == "Y");
@ -480,11 +516,24 @@ FROM JHAMES.WIP_STATION";
} }
if (dateStart != null && dateEnd != null) if (dateType == "WipDate" || dateType == null)
{ {
if (dateStart != "" && dateEnd != "") if (dateStart != null && dateEnd != null)
{ {
q = q.Where(w => w.WipScheduleDate >= DateTime.Parse(dateStart) && w.WipScheduleDate <= DateTime.Parse(dateEnd)); if (dateStart != "" && dateEnd != "")
{
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));
}
} }
} }

Loading…
Cancel
Save