Marvin 1 year ago
parent
commit
16f22f88ff
  1. 11
      AMESCoreStudio.Web/Controllers/PCSController.cs
  2. 61
      AMESCoreStudio.Web/Views/PCS/PCS003.cshtml
  3. 59
      AMESCoreStudio.Web/Views/PCS/PCS034.cshtml
  4. 17
      AMESCoreStudio.WebApi/Controllers/BLL/BarCodeCheckController.cs

11
AMESCoreStudio.Web/Controllers/PCSController.cs

@ -2623,17 +2623,6 @@ namespace AMESCoreStudio.Web.Controllers
model.wipSystem.Engineer_Name = UserInof.UserName; model.wipSystem.Engineer_Name = UserInof.UserName;
} }
} }
// 判斷是否預設打勾掃毒
else
{
var AntivirusItemNo = new List<string> { "E1582", "E1583", "E1584", "E1585", "E1586",
"E1587","E1588","E1589","E158C"};
if (AntivirusItemNo.Any(item => model.wipAtt.ItemNO.StartsWith(item)))
{
model.wipSystem = new WipSystem();
model.wipSystem.Antivirus = "Y";
}
}
model.wipMACs = await _pcsApi.GetWipMAC(model.wipInfo.WipNO); model.wipMACs = await _pcsApi.GetWipMAC(model.wipInfo.WipNO);

61
AMESCoreStudio.Web/Views/PCS/PCS003.cshtml

@ -519,9 +519,18 @@
<label class="layui-form-label">DIP</label> <label class="layui-form-label">DIP</label>
<div class="layui-input-block"> <div class="layui-input-block">
<cl-checkbox asp-items="@ViewBag.GetCheckboxDIP" asp-for="wipBoard.DipSides" asp-skin="defult"></cl-checkbox> <cl-checkbox asp-items="@ViewBag.GetCheckboxDIP" asp-for="wipBoard.DipSides" asp-skin="defult"></cl-checkbox>
<input @if (Model.wipBoard != null) { @(Model.wipBoard.DipCarrier == "Y" ? "checked" : "") } type="checkbox" title="CARRIER" name="wipBoard.DipCarrier" /> <input @if (Model.wipBoard != null)
<input @if (Model.wipBoard != null) { @(Model.wipBoard.DipTape == "Y" ? "checked" : "") } type="checkbox" title="貼付膠帶" name="wipBoard.DipTape" /> {
<input @if (Model.wipBoard != null) { @(Model.wipBoard.DipSolderMask == "Y" ? "checked" : "") } type="checkbox" title="點防焊膠" name="wipBoard.DipSolderMask" /> @(Model.wipBoard.DipCarrier == "Y" ? "checked" : "")
} type="checkbox" title="CARRIER" name="wipBoard.DipCarrier" />
<input @if (Model.wipBoard != null)
{
@(Model.wipBoard.DipTape == "Y" ? "checked" : "")
} type="checkbox" title="貼付膠帶" name="wipBoard.DipTape" />
<input @if (Model.wipBoard != null)
{
@(Model.wipBoard.DipSolderMask == "Y" ? "checked" : "")
} type="checkbox" title="點防焊膠" name="wipBoard.DipSolderMask" />
</div> </div>
</div> </div>
</div> </div>
@ -537,7 +546,10 @@
<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"> <div class="layui-input-inline">
<input @if (Model.wipBoard != null) { @(Model.wipBoard.Burn == "Y" ? "checked" : "") } type="checkbox" title="是否燒入" name="wipBoard.Burn" /> <input @if (Model.wipBoard != null)
{
@(Model.wipBoard.Burn == "Y" ? "checked" : "")
} type="checkbox" title="是否燒入" name="wipBoard.Burn" />
</div> </div>
<label class="layui-form-label">燒機位置</label> <label class="layui-form-label">燒機位置</label>
@ -558,7 +570,10 @@
<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"> <div class="layui-input-inline">
<input @if (Model.wipBoard != null) { @(Model.wipBoard.ISPartsBake == "Y" ? "checked" : "") } type="checkbox" title="零件是否需要烘烤" name="wipBoard.ISPartsBake" /> <input @if (Model.wipBoard != null)
{
@(Model.wipBoard.ISPartsBake == "Y" ? "checked" : "")
} type="checkbox" title="零件是否需要烘烤" name="wipBoard.ISPartsBake" />
</div> </div>
<label class="layui-form-label">零件烘烤溫度</label> <label class="layui-form-label">零件烘烤溫度</label>
<div class="layui-input-inline" style="width:100px"> <div class="layui-input-inline" style="width:100px">
@ -571,7 +586,10 @@
</div> </div>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input @if (Model.wipBoard != null) { @(Model.wipBoard.PartsBakeOvertime == "Y" ? "checked" : "") } type="checkbox" title="零件烘烤超過48hrs" name="wipBoard.PartsBakeOvertime" /> <input @if (Model.wipBoard != null)
{
@(Model.wipBoard.PartsBakeOvertime == "Y" ? "checked" : "")
} type="checkbox" title="零件烘烤超過48hrs" name="wipBoard.PartsBakeOvertime" />
</div> </div>
</div> </div>
</div> </div>
@ -587,7 +605,10 @@
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label">PCB烘烤</label> <label class="layui-form-label">PCB烘烤</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input @if (Model.wipBoard != null) { @(Model.wipBoard.ISPcbBake == "Y" ? "checked" : "") } type="checkbox" title="PCB是否需要烘烤" name="wipBoard.ISPcbBake" /> <input @if (Model.wipBoard != null)
{
@(Model.wipBoard.ISPcbBake == "Y" ? "checked" : "")
} type="checkbox" title="PCB是否需要烘烤" name="wipBoard.ISPcbBake" />
</div> </div>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select asp-items="@ViewBag.GetPCBBakeTypeSelect" asp-for="wipBoard.PcbBake" class=""></select> <select asp-items="@ViewBag.GetPCBBakeTypeSelect" asp-for="wipBoard.PcbBake" class=""></select>
@ -875,8 +896,11 @@
<div class="layui-input-inline" style="width: 300px;"> <div class="layui-input-inline" style="width: 300px;">
<input class="layui-input" asp-for="wipSystem.OsVer_Desc" readonly="readonly" /> <input class="layui-input" asp-for="wipSystem.OsVer_Desc" readonly="readonly" />
</div> </div>
<input @if (Model.wipSystem != null) { @(Model.wipSystem.Antivirus == "Y" ? "checked" : "") } <input @if (Model.wipSystem != null)
type="checkbox" title="T3是否需掃毒" name="wipSystem.Antivirus" /> {
@(Model.wipSystem.Antivirus == "Y" ? "checked" : "")
}
type="checkbox" title="T3是否需掃毒" id="wipSystem_Antivirus" name="wipSystem.Antivirus" />
</div> </div>
</div> </div>
@ -897,7 +921,10 @@
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label">FINE_PACKAGE</label> <label class="layui-form-label">FINE_PACKAGE</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input @if (Model.wipSystem != null) { @(Model.wipSystem.FinePackage == "Y" ? "checked" : "") } type="checkbox" title="是否為精裝" name="wipSystem.FinePackage" /> <input @if (Model.wipSystem != null)
{
@(Model.wipSystem.FinePackage == "Y" ? "checked" : "")
} type="checkbox" title="是否為精裝" name="wipSystem.FinePackage" />
</div> </div>
</div> </div>
</div> </div>
@ -1416,6 +1443,18 @@
form.on('select(lind)', function (data) { form.on('select(lind)', function (data) {
$("#lindId").val(data.value); $("#lindId").val(data.value);
}); });
$("#wipSystem_OsVer").on("input", function () {
var value = $(this).val().trim().toUpperCase();
if (value.startsWith("E1582") || value.startsWith("E1583") || value.startsWith("E1584") ||
value.startsWith("E1585") || value.startsWith("E1586") || value.startsWith("E1587") ||
value.startsWith("E1588") || value.startsWith("E1589") || value.startsWith("E158C")) {
$("#wipSystem_Antivirus").prop("checked", true);
} else {
$("#wipSystem_Antivirus").prop("checked", false);
}
form.render();
});
}); });
//通过行tool编辑,lay-event="show" //通过行tool编辑,lay-event="show"
@ -2049,5 +2088,7 @@
} }
}); });
} }
</script> </script>
} }

59
AMESCoreStudio.Web/Views/PCS/PCS034.cshtml

@ -501,9 +501,18 @@
<label class="layui-form-label">DIP</label> <label class="layui-form-label">DIP</label>
<div class="layui-input-block"> <div class="layui-input-block">
<cl-checkbox asp-items="@ViewBag.GetCheckboxDIP" asp-for="wipBoard.DipSides" asp-skin="defult"></cl-checkbox> <cl-checkbox asp-items="@ViewBag.GetCheckboxDIP" asp-for="wipBoard.DipSides" asp-skin="defult"></cl-checkbox>
<input @if (Model.wipBoard != null) { @(Model.wipBoard.DipCarrier == "Y" ? "checked" : "") } type="checkbox" title="CARRIER" name="wipBoard.DipCarrier" /> <input @if (Model.wipBoard != null)
<input @if (Model.wipBoard != null) { @(Model.wipBoard.DipTape == "Y" ? "checked" : "") } type="checkbox" title="貼付膠帶" name="wipBoard.DipTape" /> {
<input @if (Model.wipBoard != null) { @(Model.wipBoard.DipSolderMask == "Y" ? "checked" : "") } type="checkbox" title="點防焊膠" name="wipBoard.DipSolderMask" /> @(Model.wipBoard.DipCarrier == "Y" ? "checked" : "")
} type="checkbox" title="CARRIER" name="wipBoard.DipCarrier" />
<input @if (Model.wipBoard != null)
{
@(Model.wipBoard.DipTape == "Y" ? "checked" : "")
} type="checkbox" title="貼付膠帶" name="wipBoard.DipTape" />
<input @if (Model.wipBoard != null)
{
@(Model.wipBoard.DipSolderMask == "Y" ? "checked" : "")
} type="checkbox" title="點防焊膠" name="wipBoard.DipSolderMask" />
</div> </div>
</div> </div>
</div> </div>
@ -519,7 +528,10 @@
<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"> <div class="layui-input-inline">
<input @if (Model.wipBoard != null) { @(Model.wipBoard.Burn == "Y" ? "checked" : "") } type="checkbox" title="是否燒入" name="wipBoard.Burn" /> <input @if (Model.wipBoard != null)
{
@(Model.wipBoard.Burn == "Y" ? "checked" : "")
} type="checkbox" title="是否燒入" name="wipBoard.Burn" />
</div> </div>
<label class="layui-form-label">燒機位置</label> <label class="layui-form-label">燒機位置</label>
@ -540,7 +552,10 @@
<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"> <div class="layui-input-inline">
<input @if (Model.wipBoard != null) { @(Model.wipBoard.ISPartsBake == "Y" ? "checked" : "") } type="checkbox" title="零件是否需要烘烤" name="wipBoard.ISPartsBake" /> <input @if (Model.wipBoard != null)
{
@(Model.wipBoard.ISPartsBake == "Y" ? "checked" : "")
} type="checkbox" title="零件是否需要烘烤" name="wipBoard.ISPartsBake" />
</div> </div>
<label class="layui-form-label">零件烘烤溫度</label> <label class="layui-form-label">零件烘烤溫度</label>
<div class="layui-input-inline" style="width:100px"> <div class="layui-input-inline" style="width:100px">
@ -553,7 +568,10 @@
</div> </div>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input @if (Model.wipBoard != null) { @(Model.wipBoard.PartsBakeOvertime == "Y" ? "checked" : "") } type="checkbox" title="零件烘烤超過48hrs" name="wipBoard.PartsBakeOvertime" /> <input @if (Model.wipBoard != null)
{
@(Model.wipBoard.PartsBakeOvertime == "Y" ? "checked" : "")
} type="checkbox" title="零件烘烤超過48hrs" name="wipBoard.PartsBakeOvertime" />
</div> </div>
</div> </div>
</div> </div>
@ -569,7 +587,10 @@
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label">PCB烘烤</label> <label class="layui-form-label">PCB烘烤</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input @if (Model.wipBoard != null) { @(Model.wipBoard.ISPcbBake == "Y" ? "checked" : "") } type="checkbox" title="PCB是否需要烘烤" name="wipBoard.ISPcbBake" /> <input @if (Model.wipBoard != null)
{
@(Model.wipBoard.ISPcbBake == "Y" ? "checked" : "")
} type="checkbox" title="PCB是否需要烘烤" name="wipBoard.ISPcbBake" />
</div> </div>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select asp-items="@ViewBag.GetPCBBakeTypeSelect" asp-for="wipBoard.PcbBake" class=""></select> <select asp-items="@ViewBag.GetPCBBakeTypeSelect" asp-for="wipBoard.PcbBake" class=""></select>
@ -857,8 +878,11 @@
<div class="layui-input-inline" style="width: 300px;"> <div class="layui-input-inline" style="width: 300px;">
<input class="layui-input" asp-for="wipSystem.OsVer_Desc" readonly="readonly" /> <input class="layui-input" asp-for="wipSystem.OsVer_Desc" readonly="readonly" />
</div> </div>
<input @if (Model.wipSystem != null) { @(Model.wipSystem.Antivirus == "Y" ? "checked" : "") } <input @if (Model.wipSystem != null)
type="checkbox" title="T3是否需掃毒" name="wipSystem.Antivirus" /> {
@(Model.wipSystem.Antivirus == "Y" ? "checked" : "")
}
id="wipSystem_Antivirus" type="checkbox" title="T3是否需掃毒" name="wipSystem.Antivirus" />
</div> </div>
</div> </div>
@ -879,7 +903,10 @@
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label">FINE_PACKAGE</label> <label class="layui-form-label">FINE_PACKAGE</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input @if (Model.wipSystem != null) { @(Model.wipSystem.FinePackage == "Y" ? "checked" : "") } type="checkbox" title="是否為精裝" name="wipSystem.FinePackage" /> <input @if (Model.wipSystem != null)
{
@(Model.wipSystem.FinePackage == "Y" ? "checked" : "")
} type="checkbox" title="是否為精裝" name="wipSystem.FinePackage" />
</div> </div>
</div> </div>
</div> </div>
@ -1373,7 +1400,17 @@
RuleStation(data.value); RuleStation(data.value);
}); });
$("#wipSystem_OsVer").on("input", function () {
var value = $(this).val().trim().toUpperCase();
if (value.startsWith("E1582") || value.startsWith("E1583") || value.startsWith("E1584") ||
value.startsWith("E1585") || value.startsWith("E1586") || value.startsWith("E1587") ||
value.startsWith("E1588") || value.startsWith("E1589") || value.startsWith("E158C")) {
$("#wipSystem_Antivirus").prop("checked", true);
} else {
$("#wipSystem_Antivirus").prop("checked", false);
}
form.render();
});
}); });
//通过行tool编辑,lay-event="show" //通过行tool编辑,lay-event="show"

17
AMESCoreStudio.WebApi/Controllers/BLL/BarCodeCheckController.cs

@ -2522,13 +2522,22 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
if (wipInfo != null) if (wipInfo != null)
{ {
int wipID = wipInfo.WipID; int wipID = wipInfo.WipID;
BarcodeInfoesController barcodeInfoesController = new BarcodeInfoesController(_context);
var barcodeInfos = await barcodeInfoesController.GetBarcodeInfoesByWipID(wipID);
// 取Rules 最後一站為完工站的Station及狀態
var rules = await _context.Ruleses.Where(w => w.FlowRuleID == wipInfo.FlowRuleID).ToListAsync();
var lastStation = rules.Where(w => w.NextStationID == 1000).Select(s => new { s.StationID, s.RuleStatus }).ToList();
var barcodeStations = await _context.BarcodeStation.Where(w => w.WipID == wipID).ToListAsync();
// ByLastStation Count = 工單數 (完工)
var closeWipQty = 0;
// 比對過站Station完工跟工單數一樣 = 完工 // 比對過站Station完工跟工單數一樣 = 完工
foreach (var item in lastStation)
{
closeWipQty += barcodeStations.Where(w => item.StationID == w.StationID && item.RuleStatus == w.RuleStatus)
.Select(s => s.BarcodeID).Distinct().Count();
}
if (wipInfo.PlanQTY == if (wipInfo.PlanQTY == closeWipQty)
barcodeInfos.Value.Where(w => w.RuleStatus == "P" && w.StationID == stationID).Count())
{ {
var result = await wipInfosController.PutWipinfoToStatusNO(wipID, "E"); var result = await wipInfosController.PutWipinfoToStatusNO(wipID, "E");
if (!result.Success) if (!result.Success)

Loading…
Cancel
Save