Browse Source

1.修改前判維修輸入,修改UI

2.修改後判維修輸入,修改UI
3.新增維修進/出條碼查詢REP005
PTD
Marvin 3 years ago
parent
commit
55ed502792
  1. 19
      AMESCoreStudio.Web/Controllers/REPController.cs
  2. 7
      AMESCoreStudio.Web/HttpApis/AMES/IREP.cs
  3. 24
      AMESCoreStudio.Web/Views/REP/REP001R.cshtml
  4. 24
      AMESCoreStudio.Web/Views/REP/REP002R.cshtml
  5. 222
      AMESCoreStudio.Web/Views/REP/REP005.cshtml
  6. 89
      AMESCoreStudio.WebApi/Controllers/AMES/NgRepairsController.cs

19
AMESCoreStudio.Web/Controllers/REPController.cs

@ -939,6 +939,25 @@ namespace AMESCoreStudio.Web.Controllers
} }
#endregion #endregion
public async Task<IActionResult> REP005()
{
await GetStationList();
return View();
}
public async Task<IActionResult> REP005QueryAsync(string stationID, string stateID, string dateStart, string dateEnd, int page = 0, int limit = 10)
{
var result = await _repApi.GetRepairData4REP005(stationID, stateID, dateStart, dateEnd, page, limit);
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 });
}
#region 維修資料統計 #region 維修資料統計
public async Task<IActionResult> REP012() public async Task<IActionResult> REP012()

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

@ -86,6 +86,13 @@ namespace AMESCoreStudio.Web
[WebApiClient.Attributes.HttpGet("api/NgRepairs/{id}")] [WebApiClient.Attributes.HttpGet("api/NgRepairs/{id}")]
ITask<List<NgRepair>> GetNgRepair(int id); ITask<List<NgRepair>> GetNgRepair(int id);
/// <summary>
/// 維修進/出條碼查詢
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/NgRepairs/GetRepairData4REP005")]
ITask<ResultModel<dynamic>> GetRepairData4REP005(string stationID, string stateID, string dateStart, string dateEnd, int page, int limit);
/// <summary> /// <summary>
/// 查詢維修資料 /// 查詢維修資料
/// </summary> /// </summary>

24
AMESCoreStudio.Web/Views/REP/REP001R.cshtml

@ -248,6 +248,18 @@
<label class="layui-form-label" style="color:red">維修資料輸入</label> <label class="layui-form-label" style="color:red">維修資料輸入</label>
</div> </div>
</div> </div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngRepair.Missing" class="layui-form-label"></label>
<div class="layui-input-inline">
<input type="radio" id="Yes" asp-for="ngRepair.Missing" value="Y" class="layui-input" />
<label for="Yes">&nbsp;是&nbsp;</label>
<input type="radio" id="N" asp-for="ngRepair.Missing" value="N" class="layui-input" />
<label for="No">&nbsp;否&nbsp;</label>
</div>
<span asp-validation-for="ngRepair.Missing" class="layui-bg-red"></span>
</div>
</div>
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-inline"> <div class="layui-inline">
<label asp-for="ngComponent.KeyNo" class="layui-form-label"></label> <label asp-for="ngComponent.KeyNo" class="layui-form-label"></label>
@ -268,18 +280,6 @@
</div> </div>
</div> </div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngRepair.Missing" class="layui-form-label"></label>
<div class="layui-input-inline">
<input type="radio" id="Yes" asp-for="ngRepair.Missing" value="Y" class="layui-input" />
<label for="Yes">&nbsp;是&nbsp;</label>
<input type="radio" id="N" asp-for="ngRepair.Missing" value="N" class="layui-input" />
<label for="No">&nbsp;否&nbsp;</label>
</div>
<span asp-validation-for="ngRepair.Missing" class="layui-bg-red"></span>
</div>
</div>
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-inline"> <div class="layui-inline">
<label asp-for="ngRepair.RepairNo" class="layui-form-label"></label> <label asp-for="ngRepair.RepairNo" class="layui-form-label"></label>

24
AMESCoreStudio.Web/Views/REP/REP002R.cshtml

@ -248,6 +248,18 @@
<label class="layui-form-label" style="color:red">維修資料輸入</label> <label class="layui-form-label" style="color:red">維修資料輸入</label>
</div> </div>
</div> </div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngRepair.Missing" class="layui-form-label"></label>
<div class="layui-input-inline">
<input type="radio" id="Yes" asp-for="ngRepair.Missing" value="Y" class="layui-input" />
<label for="Yes">&nbsp;是&nbsp;</label>
<input type="radio" id="N" asp-for="ngRepair.Missing" value="N" class="layui-input" />
<label for="No">&nbsp;否&nbsp;</label>
</div>
<span asp-validation-for="ngRepair.Missing" class="layui-bg-red"></span>
</div>
</div>
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-inline"> <div class="layui-inline">
<label asp-for="ngComponent.KeyNo" class="layui-form-label"></label> <label asp-for="ngComponent.KeyNo" class="layui-form-label"></label>
@ -268,18 +280,6 @@
</div> </div>
</div> </div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngRepair.Missing" class="layui-form-label"></label>
<div class="layui-input-inline">
<input type="radio" id="Yes" asp-for="ngRepair.Missing" value="Y" class="layui-input" />
<label for="Yes">&nbsp;是&nbsp;</label>
<input type="radio" id="N" asp-for="ngRepair.Missing" value="N" class="layui-input" />
<label for="No">&nbsp;否&nbsp;</label>
</div>
<span asp-validation-for="ngRepair.Missing" class="layui-bg-red"></span>
</div>
</div>
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-inline"> <div class="layui-inline">
<label asp-for="ngRepair.RepairNo" class="layui-form-label"></label> <label asp-for="ngRepair.RepairNo" class="layui-form-label"></label>

222
AMESCoreStudio.Web/Views/REP/REP005.cshtml

@ -0,0 +1,222 @@
@{
ViewData["Title"] = "維修進/出條碼查詢";
Layout = "~/Views/Shared/_AMESLayout.cshtml";
}
<style type="text/css">
.layui-table-main .layui-table-cell {
/*height: auto !important;*/
white-space: normal;
}
.layui-table img {
max-width: 60px;
max-height: 28px;
}
.layui-tree-main {
cursor: pointer;
padding-right: 10px;
float: left;
border-width: 1px;
border-style: solid;
border-color: #e6e6e6;
margin: 10px 0;
}
</style>
<div class="layui-card">
<div class="layui-card-header">
<div class="layui-form">
<div class="layui-form-item">
<div class="layui-inline"><i class="fa fa-file-text-o fa-fw"></i> @ViewBag.Title</div>
</div>
</div>
</div>
<div class="layui-card-body">
<div class="layui-form">
<div class="layui-row">
<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">
<select id="station" lay-filter="station" lay-verify="required" lay-submit asp-items="@ViewBag.StationList">
<option value="0">全部</option>
</select>
</div>
<input id="stationID" type="hidden" name="stationID" value="0" />
</div>
</div>
<div class="layui-col-sm3">
<div class="layui-inline">
<label class="layui-form-label">進出站狀態:</label>
<div class="layui-input-inline" style="width:150px">
<select id="state" lay-filter="state" lay-verify="required" lay-submit>
<option value="0">全部</option>
<option value="1">未出站</option>
</select>
</div>
<input id="stateID" type="hidden" name="stateID" value="0" />
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-col-sm6">
<div class="layui-inline">
<label class="layui-form-label">不良日期:</label>
<div class="layui-input-inline" style="width:150px">
<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:150px">
<input id="dateEnd" name="dateEnd" autocomplete="off" class="layui-input" readonly="">
</div>
</div>
</div>
<div class="layui-col-sm1">
<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>
</div>
</div>
</div>
</div>
</div>
<table class="layui-hide" id="query" lay-filter="query"></table>
</div>
</div>
@section Scripts{
<script type="text/javascript">
layui.config({
base: '../lib/layui_ext/',
}).extend({
excel: 'excel',
});
</script>
<script type="text/javascript">
function formatJSONDate(jsonDate) {
if (jsonDate == null) {
return "";
}
else {
var date = eval(jsonDate.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"));
var myDate = new Date(date);
var yy = myDate.getFullYear();
var mm = (myDate.getMonth() + 1 < 10 ? '0' : '') + (myDate.getMonth() + 1);
var dd = (myDate.getDate() < 10 ? '0' : '') + myDate.getDate();
var h = (myDate.getHours() < 10 ? '0' : '') + myDate.getHours();
var m = (myDate.getMinutes() < 10 ? '0' : '') + myDate.getMinutes();
var s = (myDate.getSeconds() < 10 ? '0' : '') + myDate.getSeconds();
//mm + "/" + dd + " " +
//var output = yy + "-" + mm + "-" + dd + " " + h + ":" + m + ":" + s;
var output = yy + mm + dd + h + m + s;
// myDate.getHours() + ":" + myDate.getMinutes() + ":" + myDate.getSeconds();
return output;
}
}
layui.use(['form', 'layer', 'laydate'], function () {
form = layui.form;
laydate = layui.laydate;
laydate.render({
elem: '#dateStart'
, trigger: 'click'
, format: 'yyyy/MM/dd'
, theme: 'grid'
});
laydate.render({
elem: '#dateEnd'
, trigger: 'click'
, format: 'yyyy/MM/dd'
, theme: 'grid'
});
form.on('select(station)', function (data) {
$("#stationID").val(data.value);
});
form.on('select(state)', function (data) {
$("#stateID").val(data.value);
});
});
//监听表单提交事件
hg.form.onsubmit('querysubmit', function (data) {
hg.msghide("重新載入資料..");
table && table.reload(data);
});
var tableCols = [[
{
field: 'barcodeNo',
title: '條碼',
sort: true
},
{
field: 'wipNO',
width: 200,
title: '工單號碼',
sort: true
},
{
field: 'itemNO',
title: '料號',
width: 200,
sort: true
},
{
field: 'stationName',
width: 160,
title: '站別',
sort: true
},
{
field: 'testUserName',
title: '進站人員',
width: 160,
sort: true
},
{
field: 'testDate',
title: '進站時間',
width: 160,
templet: '<div>{{ layui.util.toDateString(d.testDate, "yyyy/MM/dd HH:mm") }}</div>'
},
{
field: 'repairUserName',
title: '出站人員',
width: 160,
sort: true
},
{
field: 'repairDate',
title: '出站時間',
width: 160,
templet: '<div>{{ layui.util.toDateString(d.createDate, "yyyy/MM/dd HH:mm") }}</div>'
},
{
field: 'stateDesc',
title: '狀態',
width: 100,
sort: true
}]
];
//var param = productTypeNo.value + '_' + testTypeNo.value + '_' + unitNo.value + '_' + lineID.value + '_' + stationID.value + '_' + wipNO.value + '_' + itemNO.value + '_' + dateStart.value + '_' + dateEnd.value;
//基本数据表格
var table = hg.table.datatable('query', '維修進/出條碼查詢', '/REP/REP005Query', {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
</script>
}

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

@ -88,6 +88,95 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return ngRepair; return ngRepair;
} }
/// <summary>
/// 維修進/出條碼查詢
/// </summary>
/// <param name="stationID"></param>
/// <param name="stateID"></param>
/// <param name="dateStart"></param>
/// <param name="dateEnd"></param>
/// <param name="page"></param>
/// <param name="limit"></param>
/// <returns></returns>
[Route("[action]")]
[HttpGet]
public async Task<ResultModel<dynamic>> GetRepairData4REP005(string stationID, string stateID, string dateStart, string dateEnd, int page = 0, int limit = 10)
{
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.Stationses on q2.StationId equals q6.StationID
join q7 in _context.UserInfoes on q1.CreateUserID equals q7.UserID
join q8 in _context.UserInfoes on q2.CreateUserID equals q8.UserID
select new
{
q3.BarcodeNo,
q4.WipNO,
q5.ModelNO,
q5.ItemNO,
q6.StationName,
TestDate = q2.CreateDate,
TestUserNo = q8.UserNo,
TestUserName = q8.UserName,
RepairUserNo = q7.UserNo,
RepairUserName = q7.UserName,
q2.StationId,
q1.CreateDate,
StateDesc = (q7.UserName != "" ? "出站" : "進站")
};
//StateDesc= (q7.UserName == "" ? "進站" : (q7.UserName != "" ? "出站":""))
if (stationID != null)
{
if (stationID != "0")
{
q = q.Where(w => w.StationId == int.Parse(stationID));
}
}
if (stateID != null)
{
if (stateID != "0")
{
q = q.Where(w => w.StateDesc == "進站");
}
}
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);
//紀錄筆數
result.DataTotal = q.Count();
//Table 頁數
if (page > 0)
{
q = q.Skip((page - 1) * limit).Take(limit);
}
result.Data = await q.ToListAsync();
if (result == null)
{
result.Msg = "查無資料";
result.Success = false;
return result;
}
result.Success = true;
result.Msg = "OK";
return result;
}
/// <summary> /// <summary>
/// 維修資料統計 /// 維修資料統計
/// </summary> /// </summary>

Loading…
Cancel
Save