Browse Source

1. RPT001報表畫面

PTD
Sai 2 years ago
parent
commit
84608332bc
  1. 48
      AMESCoreStudio.Web/Controllers/PCSController.cs
  2. 16
      AMESCoreStudio.Web/Views/PCS/PCS021.cshtml
  3. 94
      AMESCoreStudio.Web/Views/RPT/RPT001.cshtml

48
AMESCoreStudio.Web/Controllers/PCSController.cs

@ -2676,7 +2676,7 @@ namespace AMESCoreStudio.Web.Controllers
Msg += ",KeyParts 順序有重複 ";
}
// KP料號正確
var kpNameArray = model.WipKps.Select(s => s.KpName).Distinct().ToList();
var kpNameArray = model.WipKps.Where(w => w.WipKpID != -1).Select(s => s.KpName).Distinct().ToList();
foreach (var item in kpNameArray)
{
if (_pcsApi.GetPlmMeterialInfo(item.Trim().ToUpper()).InvokeAsync().Result.Count == 0)
@ -2687,7 +2687,7 @@ namespace AMESCoreStudio.Web.Controllers
}
// 判斷SOP是否沒填文件名稱
if (model.WipSops.Where(w => string.IsNullOrWhiteSpace(w.SOPName)).Any())
if (model.WipSops.Where(w => string.IsNullOrWhiteSpace(w.SOPName) && w.WipSOPID != -1).Any())
{
Msg += ",SOP文件 請填寫SOP文件敘述 ";
}
@ -3009,7 +3009,7 @@ namespace AMESCoreStudio.Web.Controllers
Msg += ",KeyParts 順序有重複 ";
}
// KP料號正確
var kpNameArray = model.WipKps.Select(s => s.KpName).Distinct().ToList();
var kpNameArray = model.WipKps.Where(w => w.WipKpID != -1).Select(s => s.KpName).Distinct().ToList();
foreach (var item in kpNameArray)
{
if (_pcsApi.GetPlmMeterialInfo(item.Trim().ToUpper()).InvokeAsync().Result.Count == 0)
@ -3020,7 +3020,7 @@ namespace AMESCoreStudio.Web.Controllers
}
// 判斷SOP是否沒填文件名稱
if (model.WipSops.Where(w => string.IsNullOrWhiteSpace(w.SOPName)).Any())
if (model.WipSops.Where(w => string.IsNullOrWhiteSpace(w.SOPName) && w.WipSOPID != -1).Any())
{
Msg += ",SOP文件 請填寫SOP文件敘述 ";
}
@ -5950,6 +5950,10 @@ namespace AMESCoreStudio.Web.Controllers
// ResultModel
string Msg = string.Empty;
bool Success = true;
if(string.IsNullOrWhiteSpace(model.Input))
return Json(new Result1() { success = Success, msg = Msg, data = "", data1 = "" });
string Data = model.Input.ToUpper();
// 刷入條碼+異常欄位
if (!string.IsNullOrWhiteSpace(model.InputNo))
@ -6175,9 +6179,9 @@ namespace AMESCoreStudio.Web.Controllers
}
}
#region 判斷下一站為完工站
var NextStopCloseStation = await _pcsApi.CheckNextStopCloseStation(model.WipNO, model.UnitNO, model.Station);
#endregion
//#region 判斷下一站為完工站
//var NextStopCloseStation = await _pcsApi.CheckNextStopCloseStation(model.WipNO, model.UnitNO, model.Station);
//#endregion
#region 過站判斷正常 往下處理Table 移到API執行
// #region 當生產單位為SMT或DIP時,確認是否有綁Group,有綁連片一起過站
@ -6242,18 +6246,18 @@ namespace AMESCoreStudio.Web.Controllers
// }
#endregion
if (NextStopCloseStation.Success)
{
// 刪除 BarCodeGroup DIP完工後刪除
if (model.UnitNO == "D")
{
var GroupID = await _pcsApi.GetBarcodeGroupByBarCodeID(model.BarCodeID);
if (GroupID.Count != 0)
{
await _pcsApi.DeleteBarcodeGroupByGroupID(GroupID.FirstOrDefault().GroupID);
}
}
}
//if (NextStopCloseStation.Success)
//{
// // 刪除 BarCodeGroup DIP完工後刪除
// if (model.UnitNO == "D")
// {
// var GroupID = await _pcsApi.GetBarcodeGroupByBarCodeID(model.BarCodeID);
// if (GroupID.Count != 0)
// {
// await _pcsApi.DeleteBarcodeGroupByGroupID(GroupID.FirstOrDefault().GroupID);
// }
// }
//}
return Json(new Result1() { success = Success, msg = Msg, data = Data, data1 = "" });
}
@ -8143,9 +8147,9 @@ namespace AMESCoreStudio.Web.Controllers
// 工單 KeyParts WipKp
// 判斷料號KP有資料 沒有資料時 一起新增到料號KP
// 2022.10.12 取消判斷 刪除料號KP,在逐一新增 排除重工工單
// 2022.10.12 取消判斷 刪除料號KP,在逐一新增 排除重工工單 及 CKD工單
var materialItem = await _pcsApi.GetMaterialItemByItemNO(model.wipAtt.ItemNO);
if (materialItem != null && model.wipInfo.WipType != "R")
if (materialItem != null && (model.wipInfo.WipType != "R" || !model.wipInfo.WipNO.StartsWith("981")))
{
await _pcsApi.DeleteMaterialKpByItem(materialItem.ItemID);
}
@ -8175,7 +8179,7 @@ namespace AMESCoreStudio.Web.Controllers
}
// 新增到料號KP檔 MaterialKp 排除重工工單
if (model.wipInfo.WipType != "R")
if (model.wipInfo.WipType != "R" || !model.wipInfo.WipNO.StartsWith("981"))
{
result = await _pcsApi.PostMaterialKp(JsonConvert.SerializeObject(new MaterialKp
{

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

@ -253,21 +253,21 @@
{
<tr>
<td>
<input type="text" class="layui-input" asp-for="@index.KpName" name="WipKps[@j].KpName" style="width:100px" readonly="readonly" />
<input type="hidden" name="WipKps[@j].KpNoName" value="@index.KpNoName" />
<input type="text" class="layui-input" value="@index.KpName" name="WipKps[@j].KpName" style="width:100px" readonly="readonly">
<input type="hidden" name="WipKps[@j].KpNoName" value="@index.KpNoName">
</td>
<td>
<input type="text" class="layui-input" asp-for="@index.KpNoName" name="WipKps[@j].KpNoName" style="width:100px" readonly="readonly" />
<input type="hidden" asp-for="@index.KpNo" value="@index.KpNo" name="WipKps[@j].KpNo" />
<input type="text" class="layui-input" value="@index.KpNoName" name="WipKps[@j].KpNoName" style="width:100px" readonly="readonly">
<input type="hidden" value="@index.KpNo" name="WipKps[@j].KpNo" />
</td>
<td>
<input type="text" class="layui-input" asp-for="@index.KpSeq" name="WipKps[@j].KpSeq" style="width:40px" readonly="readonly" />
<input type="text" class="layui-input" value="@index.KpSeq" name="WipKps[@j].KpSeq" style="width:40px" readonly="readonly">
</td>
<td>
<input type="text" class="layui-input" asp-for="@index.Title" name="WipKps[@j].Title" style="width:40px" readonly="readonly" />
<input type="text" class="layui-input" value="@index.Title" name="WipKps[@j].Title" style="width:40px" readonly="readonly">
</td>
<td>
<input asp-for="@index.Length" class="layui-input" name="WipKps[@j].Length" style="width:40px" readonly="readonly" />
<input value="@index.Length" class="layui-input" name="WipKps[@j].Length" style="width:40px" readonly="readonly">
</td>
<td>
@index.UnitNoName
@ -548,7 +548,7 @@
//var rowCount = $('.data-contact-person').length + 0;
var contactdiv = '<tr class="data-contact-person">' +
'<td style="width:10%;"><input style="width:80px" readonly="readonly" onkeypress="if( event.keyCode == 13 ) { return false; }" type="text" name="f-name" class="form-control td-InputNo" value=' + InputNo + '></td>' +
'<td style="width:10%;"><input style="width:80px" readonly="readonly" onkeypress="if( event.keyCode == 13 ) { return false; }" type="text" name="f-name" class="form-control td-InputNo" value=' + InputNo + '/></td>' +
`<td style="width:90%;"><input readonly="readonly" style="width:100%;" onkeypress="if( event.keyCode == 13 ) { return false; }" type="text" name="f-name" class="td-Input" value="${strAry[0]}"/></td>` +
'<td><a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" onclick="Remove(this);">刪除</a></td>' +
'</tr>';

94
AMESCoreStudio.Web/Views/RPT/RPT001.cshtml

@ -6,11 +6,12 @@
<style>
.spanUnitClass {
font-size: 12pt;
color: #000000;
display: inline;
}
.spanMasterTitleClass {
color: #11E1DF;
background-color: #000000;
font-size: 7vmin;
font-weight: bold;
padding: 10px;
@ -20,16 +21,41 @@
font-size: 4vmin;
font-weight: bold;
padding: 10px;
margin: 5px 0px;
}
.spanDetailNumberClass {
font-size: 9vmin;
font-weight: bold;
padding: 10px;
margin: 10px 0px;
}
.DetailRow {
text-align: center;
margin: 10px 0px;
}
.text-error {
color: #dc3545 !important;
.ColRight {
margin-right: 5px;
background-color: #262626
}
.ColLeft {
margin-left: 5px;
background-color: #262626
}
.Link-bottom {
margin: 10px;
border-bottom: solid #FFFFFF 1px;
}
.Link-right {
border-right: solid #FFFFFF 1px;
margin-bottom: 10px;
}
</style>
@ -42,29 +68,34 @@
</div>
</div>
<div class="layui-card-body">
<div class="=layui-row" style="text-align:center;">
<div class="layui-card-body" style="background-color:#404040">
<div class="layui-row" style="text-align: center;">
<div class="layui-col-md12 spanMasterTitleClass">
<div>生產即時看板</div>
<div style="text-align:right; font-size: 12pt;color: #000000;">系統顯示時間:2022/12/30 13:30</div>
<div style=" margin-top: 15px;">生產即時看板</div>
<div style="text-align:right; font-size: 12pt;color: #FFFFFF;margin-top:-10px;">系統顯示時間:2022/12/30 13:30</div>
</div>
</div>
<div class="layui-row" style="text-align:center;">
<div class="layui-row DetailRow">
<div class="layui-col-md6">
<div class="layui-row grid-demo">
<div class="layui-row ColRight">
<div class="layui-col-md12">
<div class="grid-demo spanDetailTitleClass">生產指標</div>
<div class="grid-demo spanDetailTitleClass" style="color: #FDFD00;">
生產指標
<div class="Link-bottom"></div>
</div>
</div>
<div class="layui-col-md6">
<div class="layui-col-md6 Link-right">
<div class="layui-col-md12 spanDetailTitleClass">生產力</div>
<div class="layui-col-md12 spanDetailNumberClass">
<div class="layui-col-md12 spanDetailNumberClass" style="color: #A84CA8">
71.20
<p class="spanUnitClass">%</p>
</div>
</div>
<div class="layui-col-md6">
<div class="Link-right"></div>
<div class="layui-col-md12 spanDetailTitleClass">生產效率</div>
<div class="layui-col-md12 spanDetailNumberClass">
<div class="layui-col-md12 spanDetailNumberClass" style="color: #F4A446">
93.88
<p class="spanUnitClass">%</p>
</div>
@ -72,18 +103,21 @@
</div>
</div>
<div class="layui-col-md6">
<div class="layui-row grid-demo grid-demo-bg1">
<div class="layui-row ColLeft">
<div class="layui-col-md12">
<div class="grid-demo spanDetailTitleClass">生產品質</div>
<div class="grid-demo spanDetailTitleClass">
生產品質
<div class="Link-bottom"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-col-md4 Link-right">
<div class="layui-col-md12 spanDetailTitleClass">IPQC合格率</div>
<div class="layui-col-md12 spanDetailNumberClass">
<div class="layui-col-md12 spanDetailNumberClass" style="color: #92D050">
99.8
<p class="spanUnitClass">%</p>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-col-md4 Link-right">
<div class="layui-col-md12 spanDetailTitleClass">測試直通率</div>
<div class="layui-col-md12 spanDetailNumberClass">
96.2
@ -100,20 +134,23 @@
</div>
</div>
</div>
<div class="layui-row" style="text-align:center;">
<div class="layui-row DetailRow">
<div class="layui-col-md6">
<div class="layui-row grid-demo grid-demo-bg1">
<div class="layui-row ColRight">
<div class="layui-col-md12">
<div class="grid-demo spanDetailTitleClass">生產資源</div>
<div class="grid-demo spanDetailTitleClass" style="color: #9DC3E6">
生產資源
<div class="Link-bottom"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-col-md4 Link-right">
<div class="layui-col-md12 spanDetailTitleClass">出勤率</div>
<div class="layui-col-md12 spanDetailNumberClass">
91.2
<p class="spanUnitClass">%</p>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-col-md4 Link-right">
<div class="layui-col-md12 spanDetailTitleClass">加班工時</div>
<div class="layui-col-md12 spanDetailNumberClass">
324
@ -130,18 +167,21 @@
</div>
</div>
<div class="layui-col-md6">
<div class="layui-row grid-demo grid-demo-bg1">
<div class="layui-row ColLeft">
<div class="layui-col-md12">
<div class="grid-demo spanDetailTitleClass">線上資訊</div>
<div class="grid-demo spanDetailTitleClass">
線上資訊
<div class="Link-bottom"></div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-col-md4 Link-right">
<div class="layui-col-md12 spanDetailTitleClass">未結工單數</div>
<div class="layui-col-md12 spanDetailNumberClass">
11
<p class="spanUnitClass">張</p>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-col-md4 Link-right">
<div class="layui-col-md12 spanDetailTitleClass">完工入庫數</div>
<div class="layui-col-md12 spanDetailNumberClass">
94

Loading…
Cancel
Save