Browse Source

1. FQC抽驗加入入庫別顯示及修改

2. 工單資料 標工顯示移除生產單位判斷
PTD
ray 2 years ago
parent
commit
ffe50bddfb
  1. 20
      AMESCoreStudio.Web/Controllers/FQCController.cs
  2. 15
      AMESCoreStudio.Web/Controllers/PCSController.cs
  3. 9
      AMESCoreStudio.Web/HttpApis/AMES/IFQC.cs
  4. 10
      AMESCoreStudio.Web/Views/FQC/FQC007.cshtml
  5. 176
      AMESCoreStudio.Web/Views/FQC/FQC007B - 複製.cshtml
  6. 35
      AMESCoreStudio.WebApi/Controllers/AMES/FqcInhouseMasterController.cs
  7. 9
      AMESCoreStudio.WebApi/DTO/AMES/FqcDto.cs
  8. 10
      AMESCoreStudio.WebApi/Models/AMES/FqcInhouseMaster.cs

20
AMESCoreStudio.Web/Controllers/FQCController.cs

@ -886,6 +886,15 @@ namespace AMESCoreStudio.Web.Controllers
if (action == "儲存")
{
// 更新入庫別
var fqcInhouseMaster = new FqcInhouseMaster
{
InhouseNo = model.InhouseNo,
SeqID = (int)model.SeqID,
LocationNo = model.LocationNo
};
await _fqcApi.PutFqcInhouseMasterForLocationNo(JsonConvert.SerializeObject(fqcInhouseMaster));
var result_FQCResultMaster = await _fqcApi.GetFqcResultMaster(model.FqcID);
if (result_FQCResultMaster != null)
@ -973,9 +982,14 @@ namespace AMESCoreStudio.Web.Controllers
[HttpPost]
public async Task FQC007AjaxJson(FqcDto model)
{
IResultModel<FqcDto> result;
result = await _fqcApi.GetFqcQuery(model.InhouseNo, model.SeqID);
// 更新入庫別
var fqcInhouseMaster = new FqcInhouseMaster
{
InhouseNo = model.InhouseNo,
SeqID = (int)model.SeqID,
LocationNo = model.LocationNo
};
await _fqcApi.PutFqcInhouseMasterForLocationNo(JsonConvert.SerializeObject(fqcInhouseMaster));
var result_FQCResultMaster = await _fqcApi.GetFqcResultMaster(model.FqcID);

15
AMESCoreStudio.Web/Controllers/PCSController.cs

@ -2392,8 +2392,9 @@ namespace AMESCoreStudio.Web.Controllers
// 取料號對應工時
var standardWorkTimes = await _pcsApi.GetStandardWorkTimeByItemNo(model.wipAtt.ItemNO);
standardWorkTimes = standardWorkTimes.Where(w => w.LineID == model.wipInfo.LineID &&
w.UnitNo == model.wipInfo.UnitNO).ToList();
// 取消生產單位及線別判斷
// standardWorkTimes = standardWorkTimes.Where(w => w.LineID == model.wipInfo.LineID &&
// w.UnitNo == model.wipInfo.UnitNO).ToList();
if (standardWorkTimes.Count != 0)
model.itemNoCT1 = standardWorkTimes.Sum(m => m.TotalCT).ToString();
@ -2540,8 +2541,9 @@ namespace AMESCoreStudio.Web.Controllers
// 取料號對應工時
var standardWorkTimes = await _pcsApi.GetStandardWorkTimeByItemNo(model.wipAtt.ItemNO);
standardWorkTimes = standardWorkTimes.Where(w => w.LineID == model.wipInfo.LineID &&
w.UnitNo == model.wipInfo.UnitNO).ToList();
// 取消生產單位及線別判斷
// standardWorkTimes = standardWorkTimes.Where(w => w.LineID == model.wipInfo.LineID &&
// w.UnitNo == model.wipInfo.UnitNO).ToList();
if (standardWorkTimes.Count != 0)
model.itemNoCT1 = standardWorkTimes.Sum(m => m.TotalCT).ToString();
@ -3081,8 +3083,9 @@ namespace AMESCoreStudio.Web.Controllers
// 取料號對應工時
var standardWorkTimes = await _pcsApi.GetStandardWorkTimeByItemNo(model.wipAtt.ItemNO);
standardWorkTimes = standardWorkTimes.Where(w => w.LineID == model.wipInfo.LineID &&
w.UnitNo == model.wipInfo.UnitNO).ToList();
// 取消生產單位及線別判斷
// standardWorkTimes = standardWorkTimes.Where(w => w.LineID == model.wipInfo.LineID &&
// w.UnitNo == model.wipInfo.UnitNO).ToList();
if (standardWorkTimes.Count != 0)
model.itemNoCT1 = standardWorkTimes.Sum(m => m.TotalCT).ToString();

9
AMESCoreStudio.Web/HttpApis/AMES/IFQC.cs

@ -319,6 +319,13 @@ namespace AMESCoreStudio.Web
[WebApiClient.Attributes.HttpPut("api/FqcInhouseMaster/PutForCritID")]
ITask<ResultModel<FqcInhouseMaster>> PutFqcInhouseMasterForCritID([FromBody, RawJsonContent] string model);
/// <summary>
/// 更新入庫單 庫別
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPut("api/FqcInhouseMaster/PutForLocationNo")]
ITask<ResultModel<FqcInhouseMaster>> PutFqcInhouseMasterForLocationNo([FromBody, RawJsonContent] string model);
/// <summary>
/// 新增抽驗批退
/// </summary>
@ -327,7 +334,7 @@ namespace AMESCoreStudio.Web
ITask<ResultModel<QngInfo>> PostQngInfo([FromBody, RawJsonContent] string model);
/// <summary>
/// 查詢過站狀態檔 ID
/// FQC抽驗資料
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/FqcInhouseMaster/FqcQuery/{inhouseNo}")]

10
AMESCoreStudio.Web/Views/FQC/FQC007.cshtml

@ -197,6 +197,16 @@
</label>
</label>
</div>
<div class="layui-col-xs1">
<label class="layui-form-label-col" style="text-align:right;">入庫別:</label>
</div>
<div class="layui-col-xs2">
<div class="layui-form-item">
<div class="layui-input-inline" style="width:80px;">
<input type="text" class="layui-input" asp-for="LocationNo" />
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-col-xs1">

176
AMESCoreStudio.Web/Views/FQC/FQC007B - 複製.cshtml

@ -1,176 +0,0 @@
@model AMESCoreStudio.WebApi.Models.AMES.FqcResultMaster
@{
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<style>
.control-label {
justify-content: flex-end !important;
}
</style>
<div class="layui-card">
<form id="fqc007BForm" enctype="multipart/form-data" method="post" lay-filter="formConfig" asp-action="FQC007B" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="InhouseNo" value="@Model.InhouseNo" />
<input type="hidden" asp-for="SeqID" value="@Model.SeqID" />
<input type="hidden" asp-for="FqcID" value="@Model.FqcID" />
<input type="hidden" id="Result" value="@Model.QaResult" />
<div class="layui-row">
<div class="layui-col-xs2" style="text-align:right">
<div class="layui-form-item">
<input type="radio" asp-for="QaResult" value="P" title="允許" checked="">
</div>
</div>
<div class="layui-col-xs10">
<div class="layui-form-item">
<div class="layui-inline" style="width:100px">
<select id="pass" lay-filter="pass" lay-submit>
<option value="0">N/A</option>
<option value="1">特採時</option>
</select>
</div>
<div class="layui-inline" id="Special">
<label class="layui-form-label">特採單號:</label>
<div class="layui-input-inline">
<input type="text" asp-for="SpecialPo" class="layui-input">
</div>
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-col-xs2" style="text-align:right">
<div class="layui-form-item">
<input type="radio" asp-for="QaResult" value="R" title="批退">
</div>
</div>
<div class="layui-col-xs10">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">批退類型:</label>
<div class="layui-input-inline">
<select id="ngClass" lay-filter="ngClass" lay-submit>
<option value="M">重缺</option>
<option value="S">次缺</option>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-col-xs2" style="text-align:right">
<div class="layui-form-item">
<label class="layui-form-label">Major:</label>
</div>
</div>
<div class="layui-col-xs2" style="text-align:left">
<div class="layui-form-item">
<input asp-for="MajorQty" class="layui-input" readonly>
</div>
</div>
<div class="layui-col-xs2" style="text-align:right">
<div class="layui-form-item">
<label class="layui-form-label">Minor:</label>
</div>
</div>
<div class="layui-col-xs2" style="text-align:left">
<div class="layui-form-item">
<input asp-for="MinorQty" class="layui-input" readonly>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-col-xs2" style="text-align:right">
<div class="layui-form-item">
<label class="layui-form-label">備註</label>
</div>
</div>
<div class="layui-col-xs10" style="text-align:left">
<div class="layui-form-item">
<div class="layui-input-block" style="margin-left:auto">
<textarea asp-for="QaMeno" class="layui-textarea"></textarea>
</div>
</div>
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-row" style="text-align:center">
<div class="layui-col-md12">
<button type="button" class="layui-btn site-demo-active" lay-submit lay-filter="formDemo">保存</button>
</div>
</div>
</form>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
//$("#dssubmit").click(function () {
// //
// //点击成功之后立即不能点击导入
// let DISABLED = 'layui-btn-disabled'
// $("#dssubmit").addClass(DISABLED)
// $("#dssubmit").attr('disabled', 'disabled')
// this.submit();
// setTimeout(function () {
// // console.log(DISABLED)
// $("#dssubmit").removeClass(DISABLED)
// $("#dssubmit").removeAttr('disabled')
// }, 5000);//5秒后才能点击
//})
@*layui.use(['form'], function () {
form = layui.form;
form.on('select(pass)', function (data) {
if (data.value == "1") {
$("#Special").show();
}
else {
$("#Special").hide();
}
});
form.on('submit(formDemo)', function (obj) {
console.log(obj)
// 單擊之後提交按鈕不可選,防止重複提交
var DISABLED = 'layui-btn-disabled';
// 增加樣式
$('.site-demo-active').addClass(DISABLED);
// 增加屬性
$('.site-demo-active').attr('disabled', 'disabled');
var data = $("#fqc007BForm").serialize();
$.ajax(
{
url: "@Url.Action("FQC007B", "FQC")",
data: data,
type: 'post',
success: function (result) {
$('.site-demo-active').removeClass(DISABLED);
$('.site-demo-active').removeAttr('disabled');
},
error: function (result) {
alert(result);
}
});
});
});*@
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);
}
$("#Special").hide();
});
</script>
}

35
AMESCoreStudio.WebApi/Controllers/AMES/FqcInhouseMasterController.cs

@ -271,7 +271,8 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
ECN_Memo = q2.ECN_Memo,
Note = q2.Note,
InspectionStatus = q2.InspectionStatus,
Description = q4.Description
Description = q4.Description,
LocationNo = q1.LocationNo
};
var query = await q.Distinct().ToListAsync();
@ -389,6 +390,38 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return result;
}
/// <summary>
/// 更新入庫別
/// </summary>
/// <param name="fqcInhouseMaster"></param>
/// <returns></returns>
[HttpPut("PutForLocationNo")]
public async Task<ResultModel<FqcInhouseMaster>> PutFqcInhouseMasterForLocationNo(FqcInhouseMaster fqcInhouseMaster)
{
ResultModel<FqcInhouseMaster> result = new ResultModel<FqcInhouseMaster>();
var data = await _context.FqcInhouseMasters.Where(w => w.InhouseNo == fqcInhouseMaster.InhouseNo &&
w.SeqID == fqcInhouseMaster.SeqID).FirstOrDefaultAsync();
data.LocationNo = fqcInhouseMaster.LocationNo;
_context.Entry(data).State = EntityState.Modified;
_context.Entry<FqcInhouseMaster>(data).Property("LocationNo").IsModified = true;
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
await _context.Database.ExecuteSqlInterpolatedAsync
($" UPDATE JHAMES.WAREHOUSEING SET LOCATION_NO={fqcInhouseMaster.LocationNo} WHERE INHOUSE_NO={fqcInhouseMaster.InhouseNo} AND SEQ_ID={fqcInhouseMaster.SeqID}");
}
catch (Exception ex)
{
result.Success = false;
result.Msg = ex.InnerException.Message;
}
return result;
}
/// <summary>
/// 新增入庫單
/// </summary>

9
AMESCoreStudio.WebApi/DTO/AMES/FqcDto.cs

@ -368,6 +368,15 @@ namespace AMESCoreStudio.WebApi.DTO.AMES
[DataMember]
public string InspectionStatus { get; set; }
/// <summary>
/// 入庫別
/// </summary>
[NotMapped]
[DataMember]
[StringLength(5)]
public string LocationNo { get; set; }
public List<FqcDetailDto> fqcDetails { get; set; }
/// <summary>

10
AMESCoreStudio.WebApi/Models/AMES/FqcInhouseMaster.cs

@ -125,6 +125,16 @@ namespace AMESCoreStudio.WebApi.Models.AMES
public string Location { get; set; }
/// <summary>
/// 庫別
/// </summary>
[DataMember]
[Display(Name = "庫別")]
[Column("LOCATION_NO")]
[StringLength(5)]
public string LocationNo { get; set; }
/// <summary>
/// 抽驗標準ID
/// </summary>

Loading…
Cancel
Save