Browse Source

1. 更新出貨序號取得方式

2. 工單修改調整防呆
PTD
Ray 2 years ago
parent
commit
8767475c48
  1. 10
      AMESCoreStudio.Web/Controllers/PCSController.cs
  2. 4
      AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs
  3. 8
      AMESCoreStudio.Web/Views/PCS/PCS001N.cshtml
  4. 137
      AMESCoreStudio.Web/Views/PCS/PCS003.cshtml
  5. 8
      AMESCoreStudio.Web/Views/PCS/PCS034.cshtml

10
AMESCoreStudio.Web/Controllers/PCSController.cs

@ -87,9 +87,6 @@ namespace AMESCoreStudio.Web.Controllers
if (string.IsNullOrWhiteSpace(model.wipInfo.UnitNO))
Msg += model.wipInfo.GetAttributeFrom<DisplayAttribute>(nameof(model.wipInfo.UnitNO)).Name + ",";
if (model.wipInfo.FlowRuleID == 0)
Msg += model.wipInfo.GetAttributeFrom<DisplayAttribute>(nameof(model.wipInfo.FlowRuleID)).Name + ",";
if (model.wipInfo.WipDueDate == DateTime.MinValue)
Msg += model.wipInfo.GetAttributeFrom<DisplayAttribute>(nameof(model.wipInfo.WipDueDate)).Name + ",";
@ -1413,11 +1410,12 @@ namespace AMESCoreStudio.Web.Controllers
/// <param name="lotNo">生產序號</param>
/// <param name="num">生產數量</param>
/// <param name="wipNo">工單號碼</param>
/// <param name="wipShcDate">預計開工日</param>
/// <returns>RuleStation </returns>
[HttpPost]
public async Task<JsonResult> GetBarcodeOther(string itemNo, string lotNo, int num, string wipNo)
public async Task<JsonResult> GetBarcodeOther(string itemNo, string lotNo, int num, string wipNo , DateTime wipShcDate)
{
var result = await _pcsApi.GetSerialRuleByQurey(itemNo, lotNo.Trim().ToUpper(), num);
var result = await _pcsApi.GetSerialRuleByQurey(itemNo, lotNo.Trim().ToUpper(), num, wipShcDate);
string StartNO = "";
string EndNO = "";
@ -5648,7 +5646,7 @@ namespace AMESCoreStudio.Web.Controllers
await GetLineInfo();
await GetFlowRuleList();
var aa = GetBarcodeOther(model.WipAtt.ItemNO, model.WipInfo.Werks.Substring(2, 2), model.WipInfo.PlanQTY, model.WipInfo.WipNO);
//var aa = GetBarcodeOther(model.WipAtt.ItemNO, model.WipInfo.Werks.Substring(2, 2), model.WipInfo.PlanQTY, model.WipInfo.WipNO , model.WipInfo.WipScheduleDate);
IResultModel result;
model.WipBarcode.WipNO = model.WipInfo.WipNO;

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

@ -1304,8 +1304,8 @@ namespace AMESCoreStudio.Web
#endregion
#region 取出貨序號
[WebApiClient.Attributes.HttpGet("api/SerialRules/ByQurey/{itemNo}/{lotNo}/{num}")]
ITask<ResultModel<string>> GetSerialRuleByQurey(string itemNo, string lotNo, int num);
[WebApiClient.Attributes.HttpGet("api/SerialRules/ByQurey/{itemNo}/{lotNo}/{num}/{wipShcDate}")]
ITask<ResultModel<string>> GetSerialRuleByQurey(string itemNo, string lotNo, int num, DateTime wipShcDate);
#endregion
#region 樣品出貨序號紀錄

8
AMESCoreStudio.Web/Views/PCS/PCS001N.cshtml

@ -433,6 +433,7 @@
var planQTY = $('#wipInfo_PlanQTY').val();
var lotNo = $('#lotNo').val();
var wipNo = $('#wipInfo_WipNO').val();
var wipShcDate = $('#wipInfo_WipScheduleDate').val();
if (wipNo == '' || !wipNo) {
parent.hg.msg("請輸入工單號碼");
return;
@ -445,7 +446,10 @@
parent.hg.msg("請確認計畫數量");
return;
}
if (wipShcDate == '') {
parent.hg.msg("請確認預計開工日期有填寫");
return;
}
if (lotNo == '' || !lotNo) {
lotNo = getLotNo();
}
@ -453,7 +457,7 @@
$.ajax({
url: '@Url.Action("GetBarcodeOther", "PCS")',
dataType: 'json',
data: { "itemNo": itemNo, "lotNo": lotNo, "num": planQTY ,"wipNo":wipNo},
data: { "itemNo": itemNo, "lotNo": lotNo, "num": planQTY, "wipNo": wipNo, "wipShcDate": wipShcDate },
cache: false,
type: "POST",
success: function (result) {

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

@ -1,8 +1,10 @@
@model AMESCoreStudio.Web.ViewModels.PCS.WipDataViewModel
@{ ViewData["Title"] = "PCS003";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
@{
ViewData["Title"] = "PCS003";
Layout = "~/Views/Shared/_AMESLayout.cshtml";
}
<style>
.control-label {
@ -26,8 +28,12 @@
<input asp-for="wipInfo.WipNO" type="hidden" value="@Model.wipInfo.WipNO" />
<input asp-for="wipAtt.ItemNO" type="hidden" value="@Model.wipAtt.ItemNO" />
@*<input asp-for="wipInfo.FlowRuleID" type="hidden" value="@Model.wipInfo.FlowRuleID" />*@
<input asp-for="wipBarcodeOther.OtherID" type="hidden" value="@if(Model.wipBarcodeOther != null){ @Model.wipBarcodeOther.OtherID }" />
<input asp-for="wipMAC.WipNO" type="hidden" value="@if(Model.wipMAC != null){ @Model.wipMAC.WipNO }" />
<input asp-for="wipBarcodeOther.OtherID" type="hidden" value="@if(Model.wipBarcodeOther != null){
@Model.wipBarcodeOther.OtherID
}" />
<input asp-for="wipMAC.WipNO" type="hidden" value="@if(Model.wipMAC != null){
@Model.wipMAC.WipNO
}" />
<div class="layui-form-item " style="padding-left:30px">
<input @(Model.wipInfo.InputFlag == "Y" ? "checked" : "") type="checkbox" name="wipInfo.InputFlag" title="判斷前製程是否已經投入" />
</div>
@ -334,7 +340,9 @@
</div>
<input type="hidden" value=@Model.WipKps.Count() id="WipKpCount" />
<table id="KPTable" class="layui-table">
@{int k = 0;}
@{
int k = 0;
}
<thead>
<tr>
<th>
@ -472,9 +480,15 @@
<label class="layui-form-label">DIP</label>
<div class="layui-input-block">
<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) { @(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.SmdSolderMask" />
<input @if (Model.wipBoard != null) {
@(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.SmdSolderMask" />
@*<input asp-for="wipBoard.DipCarrier" type="checkbox" title="CARRIER" />
<input asp-for="wipBoard.DipTape" type="checkbox" title="貼付膠帶" />
<input asp-for="wipBoard.SmdSolderMask" type="checkbox" title="點防焊膠" />*@
@ -493,7 +507,9 @@
<div class="layui-inline">
<label class="layui-form-label">燒錄</label>
<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" />
@*<input asp-for="wipBoard.Burn" type="checkbox" title="是否燒入" />*@
</div>
<div class="layui-input-inline">
@ -515,7 +531,9 @@
<div class="layui-form-item">
<div class="layui-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 class="layui-inline">
<label class="layui-form-label">零件烘烤溫度</label>
@ -845,7 +863,9 @@
<div class="layui-inline">
<label class="layui-form-label">FINE_PACKAGE</label>
<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>
@ -897,7 +917,9 @@
<a id="OutfitTableAdd" class="layui-btn">新增</a>
<input type="hidden" value=@Model.WipOutfits.Count() id="WipOutfitCount" />
<table id="OutfitTable" class="layui-table">
@{int l = 0;}
@{
int l = 0;
}
<thead>
<tr>
<th>
@ -945,7 +967,9 @@
<a id="SopTableAdd" class="layui-btn">新增</a>
<input type="hidden" value=@Model.WipSops.Count() id="WipSopCount" />
<table id="SopTable" class="layui-table">
@{int i = 0;}
@{
int i = 0;
}
<thead>
<tr>
<th style="width:50%;">
@ -1178,6 +1202,7 @@
var itemNo = $('#wipAtt_ItemNO').val();
var planQTY = $('#wipInfo_PlanQTY').val();
var lotNo = $('#lotNo').val();
var wipShcDate = $('#wipInfo_WipScheduleDate').val();
if (itemNo == '' || !itemNo) {
parent.hg.msg("請輸入料號");
@ -1188,11 +1213,14 @@
return;
}
if (wipShcDate == '') {
parent.hg.msg("請確認預計開工日期有填寫");
return;
}
if (lotNo == '' || !lotNo) {
lotNo = getLotNo();
}
var StartNO = $("#wipBarcodeOther_StartNO").val();
var EndNO = $("#wipBarcodeOther_EndNO").val();
@ -1204,7 +1232,7 @@
$.ajax({
url: '@Url.Action("GetBarcodeOther", "PCS")',
dataType: 'json',
data: { "itemNo": itemNo, "lotNo": lotNo, "num": planQTY, "wipNo": '@Model.wipInfo.WipNO' },
data: { "itemNo": itemNo, "lotNo": lotNo, "num": planQTY, "wipNo": '@Model.wipInfo.WipNO', "wipShcDate": wipShcDate },
cache: false,
type: "POST",
success: function (result) {
@ -1228,7 +1256,7 @@
$.ajax({
url: '@Url.Action("GetBarcodeOther", "PCS")',
dataType: 'json',
data: { "itemNo": itemNo, "lotNo": lotNo, "num": planQTY, "wipNo": '@Model.wipInfo.WipNO' },
data: { "itemNo": itemNo, "lotNo": lotNo, "num": planQTY, "wipNo": '@Model.wipInfo.WipNO', "wipShcDate": wipShcDate },
cache: false,
type: "POST",
success: function (result) {
@ -1271,8 +1299,7 @@
if (data._msg != undefined) {
parent.hg.msg(data._msg);
}
else
{
else {
$("#wipMAC_StartNO").val(data.mix);
$("#wipMAC_EndNO").val(data.max);
$("#wipMAC_StartNO").attr("readonly", "readonly");
@ -1394,16 +1421,14 @@
$(obj).attr("href", filePath);
};
function getFlowRuleList(data)
{
function getFlowRuleList(data) {
$.ajax(
{
url: "@Url.Action("GetMaterialFlowRuleJson", "PCS")",
dataType: 'json',
data: { "itemno": $("#wipAtt_ItemNO").val(), "unit_no": $("#wipInfo_UnitNO").val() },
type: 'post',
success: function (result)
{
success: function (result) {
console.info(result.data);
$("#wipInfo_FlowRuleID").empty();//清空下拉框的值
$.each(result.data, function (index, item) {
@ -1413,23 +1438,20 @@
layui.form.render("select");//重新渲染 固定写法
},
error: function (result)
{
error: function (result) {
alert(result);
}
});
};
function getLineInfoList(data)
{
function getLineInfoList(data) {
$.ajax(
{
url: "@Url.Action("GetUnitLineJson", "BAS")",
dataType: 'json',
data: { "unit_no": $("#wipInfo_UnitNO").val() },
type: 'post',
success: function (result)
{
success: function (result) {
console.info(result.data);
var value = $("#wipInfo_LineID").val();
$("#wipInfo_LineID").empty();//清空下拉框的值
@ -1441,8 +1463,7 @@
$("#wipInfo_LineID option[value=" + value + "]").prop("selected", true);
layui.form.render("select");//重新渲染 固定写法
},
error: function (result)
{
error: function (result) {
alert(result);
}
});
@ -1457,12 +1478,10 @@
dataType: 'json',
data: { "userNo": val.value },
type: 'post',
success: function (result)
{
success: function (result) {
$(val).closest('div.layui-inline').find('input[id*=' + val.id + '_Name]').val(result.data);
},
error: function (result)
{
error: function (result) {
alert(result);
}
});
@ -1477,12 +1496,10 @@
dataType: 'json',
data: { "itemno": $("#wipAtt_ItemNO").val(), "unit_no": $("#wipInfo_UnitNO").val(), "flowID": NewID },
type: 'post',
success: function (result)
{
success: function (result) {
$("#wipInfo_FlowRemark").val(result.data);
},
error: function (result)
{
error: function (result) {
alert(result);
}
});
@ -1642,8 +1659,7 @@
};
//生產單位By工單號碼選單
function getFactoryUnitByWipNoList()
{
function getFactoryUnitByWipNoList() {
var a;
$.ajax(
{
@ -1652,12 +1668,10 @@
data: { "wipNo": $("#wipInfo_WipNO").val() },
async: false,
type: 'post',
success: function (result)
{
success: function (result) {
a = result.data;
},
error: function (result)
{
error: function (result) {
alert(result);
}
});
@ -1665,8 +1679,7 @@
};
//KP Items 選單
function getItemsList()
{
function getItemsList() {
var b;
$.ajax(
{
@ -1675,12 +1688,10 @@
data: {},
async: false,
type: 'post',
success: function (result)
{
success: function (result) {
b = result.data;
},
error: function (result)
{
error: function (result) {
alert(result);
}
});
@ -1688,8 +1699,7 @@
};
//治具種類
function getOutfitCommodityList()
{
function getOutfitCommodityList() {
var a;
$.ajax(
{
@ -1698,12 +1708,10 @@
data: {},
async: false,
type: 'post',
success: function (result)
{
success: function (result) {
a = result.data;
},
error: function (result)
{
error: function (result) {
alert(result);
}
});
@ -1711,8 +1719,7 @@
};
//流程ID對應作業站
function getRuleStationByFlowID(data)
{
function getRuleStationByFlowID(data) {
var b;
$.ajax(
{
@ -1721,12 +1728,10 @@
data: { "wipNo": $("#wipInfo_WipNO").val() },
async: false,
type: 'post',
success: function (result)
{
success: function (result) {
b = result.data;
},
error: function (result)
{
error: function (result) {
alert(result);
}
});
@ -1743,12 +1748,10 @@
data: {},
async: false,
type: 'post',
success: function (result)
{
success: function (result) {
a = result.data;
},
error: function (result)
{
error: function (result) {
alert(result);
}
});

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

@ -1156,6 +1156,7 @@
var itemNo = $('#wipAtt_ItemNO').val();
var planQTY = $('#wipInfo_PlanQTY').val();
var lotNo = $('#lotNo').val();
var wipShcDate = $('#wipInfo_WipScheduleDate').val();
if (itemNo == '' || !itemNo) {
parent.hg.msg("請輸入料號");
return;
@ -1164,7 +1165,10 @@
parent.hg.msg("請確認計畫數量");
return;
}
if (wipShcDate == '') {
parent.hg.msg("請確認預計開工日期有填寫");
return;
}
if (lotNo == '' || !lotNo) {
lotNo = getLotNo();
}
@ -1172,7 +1176,7 @@
$.ajax({
url: '@Url.Action("GetBarcodeOther", "PCS")',
dataType: 'json',
data: { "itemNo": itemNo, "lotNo": lotNo, "num": planQTY ,"wipNo":'@Model.wipInfo.WipNO'},
data: { "itemNo": itemNo, "lotNo": lotNo, "num": planQTY ,"wipNo":'@Model.wipInfo.WipNO', "wipShcDate": wipShcDate},
cache: false,
type: "POST",
success: function (result) {

Loading…
Cancel
Save