Browse Source

1. 調整PCS有些UI 畫面

2. PCS005工單查詢加入 工單狀態查詢
PTD
Ray 2 years ago
parent
commit
921f438010
  1. 14
      AMESCoreStudio.Web/Controllers/PCSController.cs
  2. 2
      AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs
  3. 14
      AMESCoreStudio.Web/Views/PCS/PCS002.cshtml
  4. 67
      AMESCoreStudio.Web/Views/PCS/PCS005.cshtml
  5. 12
      AMESCoreStudio.Web/Views/PCS/PCS012.cshtml
  6. 16
      AMESCoreStudio.Web/Views/PCS/PCS015.cshtml
  7. 12
      AMESCoreStudio.Web/Views/PCS/PCS035.cshtml
  8. 51
      AMESCoreStudio.WebApi/Controllers/AMES/BarcodeLockController.cs
  9. 18
      AMESCoreStudio.WebApi/Controllers/AMES/WipInfosController.cs
  10. 15
      AMESCoreStudio.WebApi/DTO/AMES/BarcodeLockDto.cs
  11. 5
      AMESCoreStudio.WebApi/DTO/AMES/WipInfoDto.cs

14
AMESCoreStudio.Web/Controllers/PCSController.cs

@ -1413,7 +1413,7 @@ namespace AMESCoreStudio.Web.Controllers
/// <param name="wipShcDate">預計開工日</param>
/// <returns>RuleStation </returns>
[HttpPost]
public async Task<JsonResult> GetBarcodeOther(string itemNo, string lotNo, int num, string wipNo , string wipShcDate)
public async Task<JsonResult> GetBarcodeOther(string itemNo, string lotNo, int num, string wipNo, string wipShcDate)
{
var result = await _pcsApi.GetSerialRuleByQurey(itemNo, lotNo.Trim().ToUpper(), num, wipShcDate);
string StartNO = "";
@ -2668,7 +2668,7 @@ namespace AMESCoreStudio.Web.Controllers
if (!string.IsNullOrWhiteSpace(Msg))
{
if (Msg.StartsWith(","))
Msg = Msg.Substring(1, Msg.Length-1);
Msg = Msg.Substring(1, Msg.Length - 1);
ModelState.AddModelError("error", Msg);
return View("PCS003", model);
@ -3908,11 +3908,12 @@ namespace AMESCoreStudio.Web.Controllers
, wipno: wipNo
, itemno: itemNo
, page: page
, limit: limit);
, limit: limit
, statusNo: "N");
if (result.Data != null)
{
return Json(new Table() { code = 0, msg = "", data = result.Data.Where(w => w.statusNo != 'C' && w.statusNo != 'E'), count = result.DataTotal });
return Json(new Table() { code = 0, msg = "", data = result.Data, count = result.DataTotal });
}
return Json(new Table() { count = 0, data = null });
}
@ -4222,7 +4223,7 @@ namespace AMESCoreStudio.Web.Controllers
/// <param name="itemNo">料號</param>
/// <param name="factoryNo">廠別</param>
/// <returns></returns>
public async Task<IActionResult> PCS005QueryAsync(string unitNo, string wipNo, string itemNo, string factoryNo, int page = 0, int limit = 10)
public async Task<IActionResult> PCS005QueryAsync(string unitNo, string wipNo, string itemNo, string factoryNo, string statusNo, int page = 0, int limit = 10)
{
string[] param = Request.Path.ToString().Replace("/PCS/PCS005Query/", "").Split('_');
if (param[0] != null && param[0] != "")
@ -4251,7 +4252,8 @@ namespace AMESCoreStudio.Web.Controllers
, itemno: itemNo
, factoryno: factoryNo
, page: page
, limit: limit);
, limit: limit
, statusNo: statusNo);
if (result.Data != null)
{

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

@ -90,7 +90,7 @@ namespace AMESCoreStudio.Web
[WebApiClient.Attributes.HttpGet("api/WipInfos/GetWipInfoSelectParameter")]
//ITask<List<WipInfo>> GetWipInfoSelectParameter(string unitno = null, string wipno = null);
ITask<ResultModel<dynamic>> GetWipInfoSelectParameter(string unitno = null, string wipno = null, int lineid = 0
, string itemno = null, DateTime? date_str = null, DateTime? date_end = null, string wipType = null, string factoryno = null, int page = 0, int limit = 10);
, string itemno = null, DateTime? date_str = null, DateTime? date_end = null, string wipType = null, string factoryno = null, int page = 0, int limit = 10 , string statusNo = null);
/// <summary>
/// 查詢工單基本資料+是否已過站

14
AMESCoreStudio.Web/Views/PCS/PCS002.cshtml

@ -24,7 +24,7 @@
<div class="layui-form">
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-col-sm3">
<div class="layui-col-sm4">
<div class="layui-inline">
<label class="layui-form-label">工單:</label>
<div class="layui-input-inline" style="width:150px">
@ -32,7 +32,7 @@
</div>
</div>
</div>
<div class="layui-col-sm3">
<div class="layui-col-sm4">
<div class="layui-inline">
<label class="layui-form-label">料號:</label>
<div class="layui-input-inline" style="width:150px">
@ -40,7 +40,7 @@
</div>
</div>
</div>
<div class="layui-col-sm3">
<div class="layui-col-sm4">
<div class="layui-inline">
<label class="layui-form-label">生產單位:</label>
<div class="layui-input-inline" style="width:150px">
@ -48,10 +48,6 @@
</select>
<input id="unitNo" type="hidden" name="unitNo" value="@ViewBag.UnitNo" />
</div>
</div>
</div>
<div class="layui-col-sm3">
<div class="layui-inline layui-show-xs-block">
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit lay-filter="querysubmit">
<i class="layui-icon layui-icon-sm">&#xe615;</i>
</button>
@ -142,12 +138,12 @@
templet: '<div>{{ layui.util.toDateString(d.wipDueDate, "yyyy/MM/dd") }}</div>'
},
{
field: 'a',
field: 'fqcDate',
title: '檢驗完成日'
},
{
field: 'right',
width: 200,
width: 150,
title: '操作',
fixed: 'right',
templet: function (d) {

67
AMESCoreStudio.Web/Views/PCS/PCS005.cshtml

@ -6,11 +6,11 @@
@inject IHtmlLocalizer<AMESCoreStudio.Web.SharedResource> sharedLocalizer
<style>
/* .layui-table-col-special .layui-table-cell {
height:auto;
overflow:visible;
text-overflow:inherit;
white-space: normal;
}*/
height:auto;
overflow:visible;
text-overflow:inherit;
white-space: normal;
}*/
</style>
<div class="layui-card">
<div class="layui-card-header">
@ -26,15 +26,15 @@
<div class="layui-form-item">
<div class="layui-col-sm3">
<div class="layui-inline">
<label class="layui-form-label">工單:</label>
<div class="layui-input-inline" style="width:150px">
<label class="layui-form-label" style="width:50px">工單:</label>
<div class="layui-input-inline" style="width:120px">
<input id="wipNo" name="wipNo" autocomplete="off" class="layui-input" placeholder="請輸入工單號碼">
</div>
</div>
</div>
<div class="layui-col-sm3">
<div class="layui-inline">
<label class="layui-form-label">料號:</label>
<label class="layui-form-label" style="width:50px">料號:</label>
<div class="layui-input-inline" style="width:150px">
<input id="itemNo" name="itemNo" autocomplete="off" class="layui-input" placeholder="請輸入料號">
</div>
@ -42,8 +42,8 @@
</div>
<div class="layui-col-sm3">
<div class="layui-inline">
<label class="layui-form-label">生產單位:</label>
<div class="layui-input-inline" style="width:150px">
<label class="layui-form-label" style="width:70px">生產單位:</label>
<div class="layui-input-inline" style="width:100px">
<select id="unit" lay-filter="unit" name="unit" lay-submit asp-items="@ViewBag.FactoryUnitList">
</select>
<input id="unitNo" type="hidden" name="unitNo" value="@ViewBag.UnitNo" />
@ -52,12 +52,24 @@
</div>
</div>
<div class="layui-col-sm3">
<div class="layui-inline layui-show-xs-block">
<div class="layui-inline">
<label class="layui-form-label" style="width:70px">工單狀態:</label>
<div class="layui-input-inline" style="width:100px">
<select id="statusNo" name="statusNo" lay-filter="statusNo" lay-submit>
<option value="">全部</option>
<option value="N">未完工</option>
<option value="E">已完工</option>
<option value="C">已刪除</option>
</select>
</div>
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit lay-filter="querysubmit">
<i class="layui-icon layui-icon-sm">&#xe615;</i>
</button>
</div>
</div>
<div class="layui-col">
</div>
</div>
</div>
</div>
@ -80,6 +92,15 @@
//table && table.reload();
});
form.on('select(statusNo)', function (data) {
//roleName = data.elem[data.elem.selectedIndex].text;
var qs = $('button[lay-filter="querysubmit"]');
qs.click();
//hg.msghide("刷新数据!");
//table && table.reload();
});
var table = layui.table;
table.on('tool(query)', function (obj) {
@ -89,6 +110,8 @@
}
}
});
});
//监听表单提交事件
@ -152,7 +175,12 @@
templet: '<div>{{ layui.util.toDateString(d.wipDueDate, "yyyy/MM/dd") }}</div>'
},
{
field: 'a',
field: 'statusNo',
title: '工單狀態',
templet: '#statusNoName'
},
{
field: 'fqcDate',
title: '檢驗完成日'
},
{
@ -162,10 +190,6 @@
fixed: 'right',
templet: function (d) {
return '<a class="layui-btn layui-btn-warm layui-icon layui-icon-list layui-btn-xs" lay-event="detail">檢視</a>'
//return '<a class="layui-btn layui-btn-xs layui-icon layui-icon-edit" lay-event="edit">修改</a>\
// <a class="layui-btn layui-btn-warm layui-icon layui-icon-list layui-btn-xs" lay-event="detail">檢視</a>\
// <a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" lay-event="del">删除</a>'
}
}
]
@ -175,7 +199,7 @@
//通过行tool檢視,lay-event="detail"
function detail(obj) {
if (obj.data.wipID) {
hg.open('檢視工單資料', '/PCS/PCS001R/' + obj.data.wipID,'', '',true);
hg.open('檢視工單資料', '/PCS/PCS001R/' + obj.data.wipID, '', '', true);
}
}
@ -244,4 +268,13 @@
table._tableTrCurrr.find('[lay-event="' + elem.attr('lay-event') + '"]').children("i").first().click();
});
</script>
<script type="text/html" id="statusNoName">
{{# if(d.statusNo === 'E'){ }}
<span>{{ '完工' }}</span>
{{# } else if(d.statusNo === 'C'){ }}
<span>{{ '刪除' }}</span>
{{# } else { }}
{{ '未完工' }}
{{# } }}
</script>
}

12
AMESCoreStudio.Web/Views/PCS/PCS012.cshtml

@ -63,7 +63,7 @@
<div class="layui-col-sm3">
<div class="layui-inline">
<label class="layui-form-label">鎖定原因類別:</label>
<div class="layui-input-inline" style="width:150px">
<div class="layui-input-inline" style="width:130px">
<select id="lockReasonType" lay-filter="lockReasonType" name="lockReasonType" lay-submit asp-items="@ViewBag.GetLockReasonTypeList">
<option value="">全部</option>
</select>
@ -73,7 +73,7 @@
<div class="layui-col-sm3">
<div class="layui-inline">
<label class="layui-form-label">站別:</label>
<div class="layui-input-inline" style="width:150px">
<div class="layui-input-inline" style="width:130px">
<select id="stations" lay-filter="stations" name="stations" lay-submit asp-items="@ViewBag.GetStationList">
<option value="">全部</option>
</select>
@ -87,7 +87,7 @@
<div class="layui-col-sm3">
<div class="layui-inline">
<label class="layui-form-label">工單:</label>
<div class="layui-input-inline" style="width:150px">
<div class="layui-input-inline" style="width:120px">
<input id="wipNO" name="wipNO" autocomplete="off" class="layui-input" placeholder="請輸入工單號碼">
</div>
</div>
@ -95,7 +95,7 @@
<div class="layui-col-sm3">
<div class="layui-inline">
<label class="layui-form-label">料號:</label>
<div class="layui-input-inline" style="width:150px">
<div class="layui-input-inline" style="width:120px">
<input id="itemNO" name="itemNO" autocomplete="off" class="layui-input" placeholder="請輸入料號">
</div>
</div>
@ -103,11 +103,11 @@
<div class="layui-col-sm5">
<div class="layui-inline">
<label class="layui-form-label">鎖定日期:</label>
<div class="layui-input-inline" style="width:150px">
<div class="layui-input-inline" style="width:100px">
<input id="dateStr" name="dateStr" autocomplete="off" class="layui-input" readonly="">
</div>
<div class="layui-form-mid">~</div>
<div class="layui-input-inline" style="width:150px">
<div class="layui-input-inline" style="width:100px">
<input id="dateEnd" name="dateEnd" autocomplete="off" class="layui-input" readonly="">
</div>
</div>

16
AMESCoreStudio.Web/Views/PCS/PCS015.cshtml

@ -38,7 +38,7 @@
<div class="layui-form">
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-col-sm3">
<div class="layui-col-sm4">
<div class="layui-inline">
<label class="layui-form-label">內部條碼:</label>
<div class="layui-input-inline" style="width:150px">
@ -47,7 +47,7 @@
</div>
</div>
<div class="layui-col-sm3">
<div class="layui-col-sm4">
<div class="layui-inline">
<label class="layui-form-label">工單號碼:</label>
<div class="layui-input-inline" style="width:150px">
@ -55,7 +55,7 @@
</div>
</div>
</div>
<div class="layui-col-sm3">
<div class="layui-col-sm4">
<div class="layui-inline">
<label class="layui-form-label">料號:</label>
<div class="layui-input-inline" style="width:150px">
@ -67,10 +67,10 @@
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-col-sm3">
<div class="layui-col-sm4">
<div class="layui-inline">
<label class="layui-form-label">條碼狀態:</label>
<div class="layui-input-inline" style="width:100px">
<div class="layui-input-inline">
<select id="lockStatus" name="lockStatus" lay-filter="lockStatus" lay-submit>
<option value="">全部</option>
<option value="0">鎖定</option>
@ -79,7 +79,7 @@
</div>
</div>
</div>
<div class="layui-col-sm8">
<div class="layui-col-sm7">
<div class="layui-inline">
<label class="layui-form-label">鎖定日期:</label>
<div class="layui-input-inline" style="width:150px">
@ -179,7 +179,7 @@
sort: true
},
{
field: 'lockUserID',
field: 'lockUserName',
title: '鎖定人員',
width: 100,
sort: true
@ -196,7 +196,7 @@
sort: true
},
{
field: 'unLockUserID',
field: 'unLockUserName',
title: '解鎖人員',
width: 100,
sort: true

12
AMESCoreStudio.Web/Views/PCS/PCS035.cshtml

@ -24,7 +24,7 @@
<div class="layui-form">
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-col-sm3">
<div class="layui-col-sm4">
<div class="layui-inline">
<label class="layui-form-label">工單:</label>
<div class="layui-input-inline" style="width:150px">
@ -32,7 +32,7 @@
</div>
</div>
</div>
<div class="layui-col-sm3">
<div class="layui-col-sm4">
<div class="layui-inline">
<label class="layui-form-label">料號:</label>
<div class="layui-input-inline" style="width:150px">
@ -40,7 +40,7 @@
</div>
</div>
</div>
<div class="layui-col-sm3">
<div class="layui-col-sm4">
<div class="layui-inline">
<label class="layui-form-label">生產單位:</label>
<div class="layui-input-inline" style="width:150px">
@ -48,10 +48,6 @@
</select>
<input id="unitNo" type="hidden" name="unitNo" value="@ViewBag.UnitNo" />
</div>
</div>
</div>
<div class="layui-col-sm3">
<div class="layui-inline layui-show-xs-block">
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit lay-filter="querysubmit">
<i class="layui-icon layui-icon-sm">&#xe615;</i>
</button>
@ -151,7 +147,7 @@
templet: '<div>{{ layui.util.toDateString(d.wipDueDate, "yyyy/MM/dd") }}</div>'
},
{
field: 'a',
field: 'fqcDate',
title: '檢驗完成日'
},
{

51
AMESCoreStudio.WebApi/Controllers/AMES/BarcodeLockController.cs

@ -81,19 +81,42 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
public async Task<ResultModel<BarcodeLockDto>> GetBarcodeLockQuery(string barCodeNo, string wipNo, string lockStatus
, string itemNo, string date_Str = null, string date_End = null, int page = 0, int limit = 10)
{
IQueryable<BarcodeLock> q = _context.BarcodeLocks;
IQueryable<BarcodeLockDto> q = from s in _context.BarcodeLocks
join q2 in _context.UserInfoes on s.LockUserID equals q2.UserID into cp2
from q2 in cp2.DefaultIfEmpty()
join q3 in _context.UserInfoes on s.UnLockUserID equals q3.UserID into cp3
from q3 in cp3.DefaultIfEmpty()
select new BarcodeLockDto
{
BarCodeLockID = s.BarcodeLockID,
BarCodeNo = s.GetBarcodeInfo.BarcodeNo,
WipNO = s.GetBarcodeInfo.GetWipInfo.WipNO,
ItemNO = s.GetBarcodeInfo.GetWipInfo.GetWipAtt.ItemNO,
LockDate = s.LockDate,
UnLockDate = s.UnLockDate,
LockUserID = s.LockUserID,
LockUserName = q2.UserName,
LockReason = s.LockReason,
LockStatus = s.LockStatus == 0 ? "鎖定" : "解鎖",
UnLockUserID = s.UnLockUserID,
UnLockUserName = q3.UserName,
UnLockReason = s.UnLockReason
};
if (!string.IsNullOrWhiteSpace(barCodeNo))
q = q.Where(w => w.GetBarcodeInfo.BarcodeNo == barCodeNo);
q = q.Where(w => w.BarCodeNo == barCodeNo);
if (!string.IsNullOrWhiteSpace(wipNo))
q = q.Where(w => w.GetBarcodeInfo.GetWipInfo.WipNO == wipNo);
q = q.Where(w => w.WipNO == wipNo);
if (!string.IsNullOrWhiteSpace(lockStatus))
q = q.Where(w => w.LockStatus == int.Parse(lockStatus));
{
var LockStatusName = lockStatus == "0" ? "鎖定" : "解鎖";
q = q.Where(w => w.LockStatus == LockStatusName);
}
if (!string.IsNullOrWhiteSpace(itemNo))
q = q.Where(w => w.GetBarcodeInfo.GetWipInfo.GetWipAtt.ItemNO == itemNo);
q = q.Where(w => w.ItemNO == itemNo);
if (DateTime.TryParse(date_Str, out _))
{
@ -116,21 +139,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
q = q.Skip((page - 1) * limit).Take(limit);
}
result.Data = await q.Select(s => new BarcodeLockDto
{
BarCodeLockID = s.BarcodeLockID,
BarCodeNo = s.GetBarcodeInfo.BarcodeNo,
WipNO = s.GetBarcodeInfo.GetWipInfo.WipNO,
ItemNO = s.GetBarcodeInfo.GetWipInfo.GetWipAtt.ItemNO,
LockDate = s.LockDate,
UnLockDate = s.UnLockDate,
LockUserID = s.LockUserID,
LockReason = s.LockReason,
LockStatus = s.LockStatus == 0 ? "鎖定" : "解鎖",
UnLockUserID = s.UnLockUserID,
UnLockReason = s.UnLockReason
}).ToListAsync();
result.Data = await q.ToListAsync();
return result;
}

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

@ -913,6 +913,15 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
{
q = q.Where(w => w.factoryNo == value.factoryno);
}
if (!string.IsNullOrWhiteSpace(value.statusNo))
{
if (value.statusNo == "N")
q = q.Where(w => w.statusNo != "E" && w.statusNo != "C");
else
q = q.Where(w => w.statusNo == value.statusNo);
}
q.Take(1000);
// 紀錄筆數
result.DataTotal = q.Count();
@ -934,6 +943,15 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
item.workDate = workDate == null ? "" : workDate.CreateDate.ToString("yyyy/MM/dd");
}
// 塞檢驗完成日期
foreach (var item in qq)
{
var fqcDate = _context.FqcResultMasters.Where(w => w.WipNo == item.wipNo)
.OrderBy(s => s.EndTime)
.FirstOrDefault();
item.fqcDate = fqcDate == null ? "" : fqcDate.EndTime.ToString("yyyy/MM/dd");
}
result.Data = qq;
if (result == null)

15
AMESCoreStudio.WebApi/DTO/AMES/BarcodeLockDto.cs

@ -46,11 +46,15 @@ namespace AMESCoreStudio.WebApi.DTO.AMES
/// </summary>
public string UnLockReason { get; set; }
/// <summary>
/// 鎖定人員ID
/// </summary>
public int LockUserID { get; set; }
/// <summary>
/// 鎖定人員
/// 鎖定人員名稱
/// </summary>
public decimal LockUserID { get; set; }
public string LockUserName { get; set; }
/// <summary>
/// 鎖定日期
@ -60,7 +64,12 @@ namespace AMESCoreStudio.WebApi.DTO.AMES
/// <summary>
/// 解鎖人員
/// </summary>
public decimal? UnLockUserID { get; set; }
public int? UnLockUserID { get; set; }
/// <summary>
/// 解鎖人員名稱
/// </summary>
public string UnLockUserName { get; set; }
/// <summary>
/// 解鎖日期

5
AMESCoreStudio.WebApi/DTO/AMES/WipInfoDto.cs

@ -49,5 +49,10 @@ namespace AMESCoreStudio.WebApi.DTO.AMES
/// 工單廠別
/// </summary>
public string factoryno { get; set; }
/// <summary>
/// 工單狀態
/// </summary>
public string statusNo { get; set; }
}
}

Loading…
Cancel
Save