Browse Source

1. 工單修改取LotNo方式

2. 新增條碼區間判斷
PTD
Ray 3 years ago
parent
commit
6d1883b4ad
  1. 48
      AMESCoreStudio.Web/Controllers/PCSController.cs
  2. 7
      AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs
  3. 5
      AMESCoreStudio.Web/ViewModels/PCS/PCS004CViewModel.cs
  4. 2
      AMESCoreStudio.Web/Views/PCS/PCS001.cshtml
  5. 24
      AMESCoreStudio.Web/Views/PCS/PCS003.cshtml
  6. 24
      AMESCoreStudio.Web/Views/PCS/PCS004C.cshtml
  7. 2
      AMESCoreStudio.Web/Views/PCS/PCS005.cshtml
  8. 6
      AMESCoreStudio.WebApi/Controllers/AMES/BarcodeInfoesController.cs

48
AMESCoreStudio.Web/Controllers/PCSController.cs

@ -2169,7 +2169,7 @@ namespace AMESCoreStudio.Web.Controllers
}
// 判斷WipKp 順序是否重複
if (model.WipKps.GroupBy(g => g.KpSeq).Where(w => w.Count() > 1).Any())
if (model.WipKps.Where(w => w.WipKpID != -1).GroupBy(g => g.KpSeq).Where(w => w.Count() > 1).Any())
{
ModelState.AddModelError("error", "KeyParts 順序有重複");
@ -2629,6 +2629,52 @@ namespace AMESCoreStudio.Web.Controllers
{
await GetLineInfo();
await GetFlowRuleList();
// 起訖序號沒填寫 或者 綁定序號沒填寫
if ((string.IsNullOrWhiteSpace(model.WipBarcode.StartNO) || string.IsNullOrWhiteSpace(model.WipBarcode.EndNO))
&& string.IsNullOrWhiteSpace(model.BarcodeNo))
{
ModelState.AddModelError("error", "請確認新增的條碼是否有填寫?");
return View(model);
}
if ((!string.IsNullOrWhiteSpace(model.WipBarcode.StartNO) || !string.IsNullOrWhiteSpace(model.WipBarcode.EndNO))
&& !string.IsNullOrWhiteSpace(model.BarcodeNo))
{
ModelState.AddModelError("error", "請則一選擇要新增條碼的方式?");
return View(model);
}
// 既有序號綁定
if (!string.IsNullOrWhiteSpace(model.BarcodeNo))
{
// 內部序號
if (model.Type == "SN")
{
if (_pcsApi.GetBarcodeInfoesByNo(model.BarcodeNo).InvokeAsync().Result.Count() == 0)
{
ModelState.AddModelError("error", "綁定序號【" + model.BarcodeNo + "】,找不到已綁定的內部序號");
return View(model);
}
}
// 出貨序號
else if (model.Type == "SSN")
{
var resultExtraNo = await _pcsApi.GetBarcodeInfoesByExtraNo(model.BarcodeNo);
if (resultExtraNo.Count() == 0)
{
ModelState.AddModelError("error", "綁定序號【" + model.BarcodeNo + "】,找不到已綁定的出貨序號");
return View(model);
}
else
model.BarcodeNo = resultExtraNo.FirstOrDefault().BarcodeNo;
}
model.WipBarcode.StartNO = model.BarcodeNo;
model.WipBarcode.EndNO = model.BarcodeNo;
}
// 流水碼預設長度
int NoLength = 4;
string _msg = string.Empty;

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

@ -299,6 +299,13 @@ namespace AMESCoreStudio.Web
[WebApiClient.Attributes.HttpPut("api/BarcodeInfoes")]
ITask<ResultModel<BarcodeInfo>> PutBarcodeInfoes([FromBody, RawJsonContent] string model);
/// <summary>
/// 查詢條碼資料-客戶序號
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/BarcodeInfoes/ByExtraNo/{extraNo}")]
ITask<List<BarcodeInfo>> GetBarcodeInfoesByExtraNo(string extraNo);
#endregion
#region BarCodeStation 條碼過站資料檔 PCS021

5
AMESCoreStudio.Web/ViewModels/PCS/PCS004CViewModel.cs

@ -19,5 +19,10 @@ namespace AMESCoreStudio.Web.ViewModels.PCS
public IEnumerable<RuleStation> RuleStation { get; set; }
// 序號綁定 Type SN:內部序號 SSN:出貨序號
public string Type { get; set; }
// 綁定條碼
public string BarcodeNo { get; set; }
}
}

2
AMESCoreStudio.Web/Views/PCS/PCS001.cshtml

@ -30,9 +30,7 @@
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="wipInfo.WipNO" class="layui-form-label"></label>
<label asp-for="wipInfo.WipNO" class="layui-form-label">@sharedLocalizer["SYSTEM_ID"]</label>
<div class="layui-input-inline">
<input asp-for="wipInfo.WipNO" class="layui-input" autocomplete="off" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" placeholder="請輸入工單號碼" />
<span asp-validation-for="wipInfo.WipNO" class="layui-bg-red"></span>
<input id="btnCreateWipNo" hidden type="submit" value="submit" asp-controller="PCS" asp-action="PCS001CreateWipNo" />

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

@ -1170,9 +1170,9 @@
parent.hg.msg("請確認計畫數量");
return;
}
if (lotNo == '' || !lotNo) {
parent.hg.msg("請確認lotNo");
return;
lotNo = getLotNo();
}
$.ajax({
@ -1685,6 +1685,26 @@
});
return a;
}
function getLotNo() {
var b = "";
$.ajax(
{
url: "@Url.Action("GetFactoryInfoes", "BAS")",
dataType: 'json',
data: {},
async:false,
type: 'get',
success: function (result) {
$.each(result.data, function (index, item) {
if ($("#wipInfo_Werks").val() == item.factoryID) {
b = item.factoryNo.substr(2, 2);
}
});
},
});
return b;
}
</script>
}

24
AMESCoreStudio.Web/Views/PCS/PCS004C.cshtml

@ -107,8 +107,6 @@
</div>
</div>
</div>
</fieldset>
<fieldset class="layui-elem-field layui-field-title">
@ -134,11 +132,11 @@
{
<tr>
<td>
<input type="text" asp-for="@index.StartNO" name="WipBarcodes[@i].StartNO" style="width:100px" readonly="readonly"/>
<input type="text" class="layui-input" asp-for="@index.StartNO" name="WipBarcodes[@i].StartNO" readonly="readonly" />
</td>
<td>
<input type="text" asp-for="@index.EndNO" name="WipBarcodes[@i].EndNO" style="width:100px" readonly="readonly"/>
<input type="text" class="layui-input" asp-for="@index.EndNO" name="WipBarcodes[@i].EndNO" readonly="readonly" />
</td>
<td>
@ -158,14 +156,25 @@
<label asp-for="WipBarcode.StartNO" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="WipBarcode.StartNO" class="layui-input" />
<span asp-validation-for="WipBarcode.StartNO" class="layui-bg-red"></span>
@*<span asp-validation-for="WipBarcode.StartNO" class="layui-bg-red"></span>*@
</div>
<label asp-for="WipBarcode.EndNO" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="WipBarcode.EndNO" class="layui-input" />
<span asp-validation-for="WipBarcode.EndNO" class="layui-bg-red"></span>
@*<span asp-validation-for="WipBarcode.EndNO" class="layui-bg-red"></span>*@
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">既有序號綁定</label>
<div class="layui-input-inline" style="width:220px">
<input type="radio" name="Type" value="SN" title="內部序號" checked>
<input type="radio" name="Type" value="SSN" title="出貨序號">
</div>
<div class="layui-input-inline">
<input asp-for="BarcodeNo" class="layui-input" />
</div>
</div>
</fieldset>
@ -179,9 +188,6 @@
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
layui.use(['form'], function () {
var form = layui.form;

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

@ -46,7 +46,7 @@
<div class="layui-input-inline" style="width:150px">
<select id="unitNo" lay-filter="unitNo" name="unitNo" lay-submit asp-items="@ViewBag.FactoryUnitList">
</select>
<input id="unitNo" type="hidden" name="unitNo" value="@ViewBag.UnitNo" />
<input id="unitNo" type="hidden" name="unitNo1" value="@ViewBag.UnitNo" />
</div>
</div>
</div>

6
AMESCoreStudio.WebApi/Controllers/AMES/BarcodeInfoesController.cs

@ -176,12 +176,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
IQueryable<BarcodeInfo> q = _context.BarcodeInfoes;
q = q.Where(p => p.ExtraBarcodeNo == extraNo);
var barcodeInfo = await q.ToListAsync();
if (barcodeInfo == null)
{
return NotFound();
}
return barcodeInfo;
}

Loading…
Cancel
Save