Browse Source

1. 修正過站相關Table 第一次過站沒累加問題

2. 修正工單基本資料 轉大寫問題
3. 修正一些Controller 更新時不更新 建立者與日期
PTD
Ray 3 years ago
parent
commit
1cf11d5aa0
  1. 48
      AMESCoreStudio.Web/Controllers/PCSController.cs
  2. 18
      AMESCoreStudio.Web/Views/PCS/PCS001.cshtml
  3. 14
      AMESCoreStudio.Web/Views/PCS/PCS003.cshtml
  4. 12
      AMESCoreStudio.WebApi/Controllers/AMES/BarcodeInfoesController.cs
  5. 4
      AMESCoreStudio.WebApi/Controllers/AMES/BarcodeItemChangesController.cs
  6. 10
      AMESCoreStudio.WebApi/Controllers/AMES/BarcodeLockController.cs
  7. 3
      AMESCoreStudio.WebApi/Controllers/AMES/BarcodeOutfitController.cs
  8. 70
      AMESCoreStudio.WebApi/Controllers/AMES/FqcInhouseDetailController.cs
  9. 3
      AMESCoreStudio.WebApi/Controllers/AMES/FqcInhouseMasterController.cs
  10. 6
      AMESCoreStudio.WebApi/Controllers/AMES/WipAttsController.cs
  11. 6
      AMESCoreStudio.WebApi/Controllers/AMES/WipBarcodeController.cs
  12. 33
      AMESCoreStudio.WebApi/Controllers/AMES/WipBarcodeOthersController.cs
  13. 1
      AMESCoreStudio.WebApi/Controllers/AMES/WipBoardController.cs
  14. 14
      AMESCoreStudio.WebApi/Controllers/AMES/WipBoxController.cs
  15. 14
      AMESCoreStudio.WebApi/Controllers/AMES/WipCheckController.cs
  16. 5
      AMESCoreStudio.WebApi/Controllers/AMES/WipClassController.cs
  17. 11
      AMESCoreStudio.WebApi/Controllers/AMES/WipInfoBlobController.cs
  18. 20
      AMESCoreStudio.WebApi/Controllers/AMES/WipInfosController.cs
  19. 46
      AMESCoreStudio.WebApi/Controllers/BLL/BarCodeCheckController.cs

48
AMESCoreStudio.Web/Controllers/PCSController.cs

@ -26,6 +26,7 @@ namespace AMESCoreStudio.Web.Controllers
public class PCSController : Controller
{
private readonly ILogger<PCSController> _logger;
private readonly ILogger<LoginController> _log;
public readonly ISYS _sysApi;
public readonly IPCS _pcsApi;
public readonly IBAS _basApi;
@ -35,10 +36,11 @@ namespace AMESCoreStudio.Web.Controllers
public readonly IFileServerProvider _fileServerProvider;
private readonly IWebHostEnvironment _env;
public PCSController(ILogger<PCSController> logger, ISYS sysApi, IPCS pcsApi, IBAS basApi, IPPS ppsApi, IFQC fqcApi
public PCSController(ILogger<PCSController> logger, ILogger<LoginController> log, ISYS sysApi, IPCS pcsApi, IBAS basApi, IPPS ppsApi, IFQC fqcApi
, IFileServerProvider fileServerProvider, IWebHostEnvironment env, IKCS kcsApi)
{
_logger = logger;
_log = log;
_sysApi = sysApi;
_pcsApi = pcsApi;
_basApi = basApi;
@ -1233,8 +1235,8 @@ namespace AMESCoreStudio.Web.Controllers
GetCheckboxDIP();
GetCheckboxSMD();
#endregion
IResultModel result;
int UserID = GetLogInUserID();
// Checkbox轉換
model.wipInfo.ECNCheck = model.wipInfo.ECNCheck == "true" ? "Y" : "N";
model.wipInfo.ModelCheck = model.wipInfo.ModelCheck == "true" ? "Y" : "N";
@ -1301,17 +1303,21 @@ namespace AMESCoreStudio.Web.Controllers
await _pcsApi.PostMaterialItem(JsonConvert.SerializeObject(
new MaterialItem
{
ItemNo = model.wipAtt.ItemNO
ItemNo = model.wipAtt.ItemNO,
CreateUserID = UserID
}));
}
// 工單屬性
model.wipAtt.WipNO = model.wipInfo.WipNO;
model.wipAtt.CreateUserID = UserID;
await _pcsApi.PostWipAtt(JsonConvert.SerializeObject(model.wipAtt));
// 標籤
model.wipLabel.ApproveLogo = model.wipLabel.ApproveLogos == null ? null : string.Join(',', model.wipLabel.ApproveLogos);
model.wipLabel.WipNO = model.wipInfo.WipNO;
model.wipLabel.CreateUserID = UserID;
model.wipLabel.UpdateUserID = UserID;
await _pcsApi.PostWipLabel(JsonConvert.SerializeObject(model.wipLabel));
// 新增工單Log
@ -1319,6 +1325,7 @@ namespace AMESCoreStudio.Web.Controllers
wiplog.WipID = wipID;
wiplog.StatusNO = "N";
wiplog.WipDesc = ".";
wiplog.CreateUserID = UserID;
await _pcsApi.PostWipLog(JsonConvert.SerializeObject(wiplog));
// 系統
@ -1330,6 +1337,8 @@ namespace AMESCoreStudio.Web.Controllers
{
model.wipSystem.ItemNo = model.wipAtt.ItemNO;
model.wipSystem.WipNo = model.wipInfo.WipNO;
model.wipSystem.CreateUserID = UserID;
model.wipSystem.UpdateUserID = UserID;
await _pcsApi.PostWipSystem(JsonConvert.SerializeObject(model.wipSystem));
}
}
@ -1346,6 +1355,8 @@ namespace AMESCoreStudio.Web.Controllers
model.wipBoard.SmdSolderMask = model.wipBoard.SmdSolderMasks == null ? null : string.Join(',', model.wipBoard.SmdSolderMasks);
model.wipBoard.ItemNo = model.wipAtt.ItemNO;
model.wipBoard.WipNo = model.wipInfo.WipNO;
model.wipBoard.CreateUserID = UserID;
model.wipBoard.UpdateUserID = UserID;
await _pcsApi.PostWipBoard(JsonConvert.SerializeObject(model.wipBoard));
}
}
@ -1357,6 +1368,7 @@ namespace AMESCoreStudio.Web.Controllers
model.wipBarcode.WipID = wipID;
model.wipBarcode.WipNO = model.wipInfo.WipNO;
model.wipBarcode.UnitNO = model.wipInfo.UnitNO;
model.wipBarcode.CreateUserID = UserID;
result = await _pcsApi.PostWipBarcode(JsonConvert.SerializeObject(model.wipBarcode));
// 工單條碼規則設定文件檔
@ -1376,6 +1388,8 @@ namespace AMESCoreStudio.Web.Controllers
{
model.wipBarcodeOther.WipNO = model.wipInfo.WipNO;
model.wipBarcodeOther.TypeNO = type_no.TypeNo;
model.wipBarcodeOther.CreateUserID = UserID;
model.wipBarcodeOther.UpdateUserID = UserID;
result = await _pcsApi.PostWipBarcodeOther(JsonConvert.SerializeObject(model.wipBarcodeOther));
}
}
@ -1389,6 +1403,7 @@ namespace AMESCoreStudio.Web.Controllers
model.wipMAC.WipNO = model.wipInfo.WipNO;
model.wipMAC.Title = mACInfo.Title;
model.wipMAC.ClassGroup = mACInfo.ClassGroup;
model.wipMAC.CreateUserID = UserID;
result = await _pcsApi.PostWipMAC(JsonConvert.SerializeObject(model.wipMAC));
result = await _pcsApi.PutMACInfoByClassGroup(mACInfo.ClassGroup, model.wipMAC.EndNO);
}
@ -1411,7 +1426,9 @@ namespace AMESCoreStudio.Web.Controllers
KpNo = item.KpNo,
KpSeq = item.KpSeq,
Length = item.Length,
Title = item.Title
Title = item.Title,
CreateUserID = UserID,
UpdateUserID = UserID
};
await _pcsApi.PostWipKp(JsonConvert.SerializeObject(wipKp));
}
@ -1426,7 +1443,9 @@ namespace AMESCoreStudio.Web.Controllers
ItemNo = model.wipAtt.ItemNO,
UnitNo = model.wipInfo.UnitNO,
OutfitNo = item.OutfitNo,
PartNo = item.StationType
PartNo = item.StationType,
CreateUserID = UserID,
UpdateUserID = UserID
};
await _pcsApi.PostWipOutfit(JsonConvert.SerializeObject(wipOutfit));
}
@ -1442,7 +1461,9 @@ namespace AMESCoreStudio.Web.Controllers
UnitNo = model.wipInfo.UnitNO,
SOPName = item.SopName,
SOPPath = item.SopPath,
SOPType = item.SopType
SOPType = item.SopType,
CreateUserID = UserID,
UpdateUserID = UserID
};
await _pcsApi.PostWipSop(JsonConvert.SerializeObject(wipSop));
}
@ -4353,6 +4374,21 @@ namespace AMESCoreStudio.Web.Controllers
var aa = "string";
return View(model);
}
public int GetLogInUserID()
{
int user_id = 0;
HttpContext.Request.Cookies.TryGetValue("UserID", out string userID);
if (userID != null)
{
if (int.Parse(userID.ToString()) >= 0)
{
user_id = int.Parse(userID.ToString());
}
}
return user_id;
}
}

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

@ -30,7 +30,7 @@
<label asp-for="wipInfo.WipNO" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="wipInfo.WipNO" class="layui-input" autocomplete="off" style="text-transform:uppercase;" placeholder="請輸入工單號碼" />
<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" />
</div>
@ -40,7 +40,7 @@
</div>
<label asp-for="wipAtt.ItemNO" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="wipAtt.ItemNO" class="layui-input" autocomplete="off" style="text-transform:uppercase;" placeholder="請輸入料號" />
<input asp-for="wipAtt.ItemNO" class="layui-input" autocomplete="off" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" placeholder="請輸入料號" />
<span asp-validation-for="wipAtt.ItemNO" class="layui-bg-red"></span>
</div>
<label asp-for="wipInfo.PlanQTY" class="layui-form-label"></label>
@ -563,7 +563,7 @@
<select asp-for="wipSystem.PowerModeType" asp-items="@ViewBag.GetWipSystemPMTypeSelect" class=""></select>
</div>
<div class="layui-input-inline">
<input class="layui-input" style="text-transform:uppercase;" asp-for="wipSystem.PowerMode" autocomplete="off" />
<input class="layui-input" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" asp-for="wipSystem.PowerMode" autocomplete="off" />
</div>
</div>
</div>
@ -609,7 +609,7 @@
<select asp-for="wipSystem.BiosType" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select>
</div>
<div class="layui-input-inline">
<input class="layui-input autocomplete" style="text-transform:uppercase;" asp-for="wipSystem.Bios" autocomplete="off" />
<input class="layui-input autocomplete" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" asp-for="wipSystem.Bios" autocomplete="off" />
</div>
<div class="layui-input-inline">
<input class="layui-input" asp-for="wipSystem.Bios_Desc" readonly="readonly" />
@ -632,7 +632,7 @@
<select asp-for="wipSystem.ECType" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select>
</div>
<div class="layui-input-inline">
<input class="layui-input autocomplete" style="text-transform:uppercase;" asp-for="wipSystem.Ec" autocomplete="off" />
<input class="layui-input autocomplete" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" asp-for="wipSystem.Ec" autocomplete="off" />
</div>
<div class="layui-input-inline">
<input class="layui-input" asp-for="wipSystem.Ec_Desc" readonly="readonly" />
@ -647,7 +647,7 @@
<select asp-for="wipSystem.FWType" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select>
</div>
<div class="layui-input-inline">
<input class="layui-input autocomplete" style="text-transform:uppercase;" asp-for="wipSystem.Fw" autocomplete="off" />
<input class="layui-input autocomplete" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" asp-for="wipSystem.Fw" autocomplete="off" />
</div>
<div class="layui-input-inline">
<input class="layui-input" asp-for="wipSystem.Fw_Desc" readonly="readonly" />
@ -662,7 +662,7 @@
<select asp-for="wipSystem.FW1Type" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select>
</div>
<div class="layui-input-inline">
<input class="layui-input autocomplete" asp-for="wipSystem.Fw1" style="text-transform:uppercase;" autocomplete="off" />
<input class="layui-input autocomplete" asp-for="wipSystem.Fw1" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" autocomplete="off" />
</div>
<div class="layui-input-inline">
<input class="layui-input" asp-for="wipSystem.Fw1_Desc" readonly="readonly" />
@ -677,7 +677,7 @@
<select asp-for="wipSystem.FW2Type" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select>
</div>
<div class="layui-input-inline">
<input class="layui-input autocomplete" asp-for="wipSystem.Fw2" style="text-transform:uppercase;" autocomplete="off" />
<input class="layui-input autocomplete" asp-for="wipSystem.Fw2" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" autocomplete="off" />
</div>
<div class="layui-input-inline">
<input class="layui-input" asp-for="wipSystem.Fw2_Desc" readonly="readonly" />
@ -692,7 +692,7 @@
<select asp-for="wipSystem.OsType" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select>
</div>
<div class="layui-input-inline">
<input class="layui-input autocomplete" asp-for="wipSystem.OsVer" style="text-transform:uppercase;" autocomplete="off" />
<input class="layui-input autocomplete" asp-for="wipSystem.OsVer" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" autocomplete="off" />
</div>
<div class="layui-input-inline">
<input class="layui-input" asp-for="wipSystem.OsVer_Desc" readonly="readonly" />

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

@ -704,7 +704,7 @@
<select asp-for="wipSystem.PowerModeType" asp-items="@ViewBag.GetWipSystemPMTypeSelect" class=""></select>
</div>
<div class="layui-input-inline">
<input class="layui-input" style="text-transform:uppercase;" asp-for="wipSystem.PowerMode" autocomplete="off" />
<input class="layui-input" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" asp-for="wipSystem.PowerMode" autocomplete="off" />
</div>
</div>
</div>
@ -750,7 +750,7 @@
<select asp-for="wipSystem.BiosType" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select>
</div>
<div class="layui-input-inline">
<input class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" style="text-transform:uppercase;" asp-for="wipSystem.Bios" autocomplete="off" />
<input class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" asp-for="wipSystem.Bios" autocomplete="off" />
</div>
<div class="layui-input-inline">
<input class="layui-input" asp-for="wipSystem.Bios_Desc" readonly="readonly" />
@ -773,7 +773,7 @@
<select asp-for="wipSystem.ECType" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select>
</div>
<div class="layui-input-inline">
<input class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" style="text-transform:uppercase;" asp-for="wipSystem.Ec" autocomplete="off" />
<input class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" asp-for="wipSystem.Ec" autocomplete="off" />
</div>
<div class="layui-input-inline">
<input class="layui-input" asp-for="wipSystem.Ec_Desc" readonly="readonly" />
@ -788,7 +788,7 @@
<select asp-for="wipSystem.FWType" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select>
</div>
<div class="layui-input-inline">
<input class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" style="text-transform:uppercase;" asp-for="wipSystem.Fw" autocomplete="off" />
<input class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" asp-for="wipSystem.Fw" autocomplete="off" />
</div>
<div class="layui-input-inline">
<input class="layui-input" asp-for="wipSystem.Fw_Desc" readonly="readonly" />
@ -803,7 +803,7 @@
<select asp-for="wipSystem.FW1Type" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select>
</div>
<div class="layui-input-inline">
<input class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" asp-for="wipSystem.Fw1" style="text-transform:uppercase;" autocomplete="off" />
<input class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" asp-for="wipSystem.Fw1" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" autocomplete="off" />
</div>
<div class="layui-input-inline">
<input class="layui-input" asp-for="wipSystem.Fw1_Desc" readonly="readonly" />
@ -818,7 +818,7 @@
<select asp-for="wipSystem.FW2Type" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select>
</div>
<div class="layui-input-inline">
<input class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" asp-for="wipSystem.Fw2" style="text-transform:uppercase;" autocomplete="off" />
<input class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" asp-for="wipSystem.Fw2" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" autocomplete="off" />
</div>
<div class="layui-input-inline">
<input class="layui-input" asp-for="wipSystem.Fw2_Desc" readonly="readonly" />
@ -833,7 +833,7 @@
<select asp-for="wipSystem.OsType" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select>
</div>
<div class="layui-input-inline">
<input class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" asp-for="wipSystem.OsVer" style="text-transform:uppercase;" autocomplete="off" />
<input class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" asp-for="wipSystem.OsVer" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" autocomplete="off" />
</div>
<div class="layui-input-inline">
<input class="layui-input" asp-for="wipSystem.OsVer_Desc" readonly="readonly" />

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

@ -220,19 +220,13 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
ResultModel<BarcodeInfo> result = new ResultModel<BarcodeInfo>();
_context.Entry(barcodeInfo).State = EntityState.Modified;
// Detached 來分離已附加
//設置容器空間某一個模型的某一個欄位 不提交到資料庫
_context.Entry<BarcodeInfo>(barcodeInfo).Property("CreateDate").IsModified = false;
_context.Entry<BarcodeInfo>(barcodeInfo).Property("CreateUserID").IsModified = false;
barcodeInfo.UpdateDate = DateTime.Now;
// 指定更新某個欄位
//_context.Entry(barcodeInfo).Property(p => p.StatusNo).IsModified = true;
//_context.Entry(barcodeInfo).Property(p => p.RuleStationID).IsModified = true;
//_context.Entry(barcodeInfo).Property(p => p.RuleStatus).IsModified = true;
//_context.Entry(barcodeInfo).Property(p => p.WipID).IsModified = true;
//_context.Entry(barcodeInfo).Property(p => p.StatusID).IsModified = true;
//_context.Entry(barcodeInfo).Property(p => p.UpdateDate).IsModified = true;
try
{
//_context.BarcodeInfoes.Update(barcodeInfo);
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";

4
AMESCoreStudio.WebApi/Controllers/AMES/BarcodeItemChangesController.cs

@ -89,7 +89,9 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
}
_context.Entry(barcodeItemChange).State = EntityState.Modified;
//設置容器空間某一個模型的某一個欄位 不提交到資料庫
_context.Entry<BarcodeItemChange>(barcodeItemChange).Property("CreateDate").IsModified = false;
_context.Entry<BarcodeItemChange>(barcodeItemChange).Property("CreateUserID").IsModified = false;
try
{
await _context.SaveChangesAsync();

10
AMESCoreStudio.WebApi/Controllers/AMES/BarcodeLockController.cs

@ -141,13 +141,9 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
ResultModel<BarcodeLock> result = new ResultModel<BarcodeLock>();
_context.Entry(barcodeLock).State = EntityState.Modified;
//_context.Attach(barcodeLock);
//// 指定更新某個欄位
//_context.Entry(barcodeLock).Property(p => p.LockStatus).IsModified = true;
//_context.Entry(barcodeLock).Property(p => p.UnLockDate).IsModified = true;
//_context.Entry(barcodeLock).Property(p => p.UnLockReason).IsModified = true;
//_context.Entry(barcodeLock).Property(p => p.UnLockUserID).IsModified = true;
//設置容器空間某一個模型的某一個欄位 不提交到資料庫
_context.Entry<BarcodeLock>(barcodeLock).Property("CreateDate").IsModified = false;
_context.Entry<BarcodeLock>(barcodeLock).Property("CreateUserID").IsModified = false;
try
{

3
AMESCoreStudio.WebApi/Controllers/AMES/BarcodeOutfitController.cs

@ -69,6 +69,9 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
{
ResultModel<BarcodeOutfit> result = new ResultModel<BarcodeOutfit>();
_context.Entry(barcodeOutfit).State = EntityState.Modified;
//設置容器空間某一個模型的某一個欄位 不提交到資料庫
_context.Entry<BarcodeOutfit>(barcodeOutfit).Property("CreateDate").IsModified = false;
_context.Entry<BarcodeOutfit>(barcodeOutfit).Property("CreateUserID").IsModified = false;
barcodeOutfit.UpdateDate = DateTime.Now;
barcodeOutfit.UpdateUserID = 0;

70
AMESCoreStudio.WebApi/Controllers/AMES/FqcInhouseDetailController.cs

@ -48,62 +48,58 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return fqcInhouseDetail;
}
// PUT: api/FqcInhouseDetail/5
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
[HttpPut("{id}")]
public async Task<IActionResult> PutFqcInhouseDetail(string id, FqcInhouseDetail fqcInhouseDetail)
{
if (id != fqcInhouseDetail.InhouseNo)
/// <summary>
/// 新增檢驗單明細資料檔
/// </summary>
/// <param name="fqcInhouseDetail"></param>
/// <returns></returns>
[HttpPut]
public async Task<ResultModel<FqcInhouseDetail>> PutFqcInhouseDetail(FqcInhouseDetail fqcInhouseDetail)
{
return BadRequest();
}
ResultModel<FqcInhouseDetail> result = new ResultModel<FqcInhouseDetail>();
_context.Entry(fqcInhouseDetail).State = EntityState.Modified;
//設置容器空間某一個模型的某一個欄位 不提交到資料庫
_context.Entry<FqcInhouseDetail>(fqcInhouseDetail).Property("CreateDate").IsModified = false;
_context.Entry<FqcInhouseDetail>(fqcInhouseDetail).Property("CreateUserID").IsModified = false;
fqcInhouseDetail.UpdateDate = DateTime.Now;
fqcInhouseDetail.UpdateUserID = 0;
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (DbUpdateConcurrencyException)
catch (Exception ex)
{
if (!FqcInhouseDetailExists(id))
{
return NotFound();
}
else
{
throw;
}
result.Success = false;
result.Msg = ex.InnerException.Message;
}
return NoContent();
return result;
}
// POST: api/FqcInhouseDetail
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
/// <summary>
/// 新增檢驗單明細資料檔
/// </summary>
/// <param name="fqcInhouseDetail"></param>
/// <returns></returns>
[HttpPost]
public async Task<ActionResult<FqcInhouseDetail>> PostFqcInhouseDetail(FqcInhouseDetail fqcInhouseDetail)
public async Task<ResultModel<FqcInhouseDetail>> PostFqcInhouseDetail(FqcInhouseDetail fqcInhouseDetail)
{
_context.FqcInhouseDetails.Add(fqcInhouseDetail);
ResultModel<FqcInhouseDetail> result = new ResultModel<FqcInhouseDetail>();
try
{
_context.FqcInhouseDetails.Add(fqcInhouseDetail);
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (DbUpdateException)
catch (Exception ex)
{
if (FqcInhouseDetailExists(fqcInhouseDetail.InhouseNo))
{
return Conflict();
}
else
{
throw;
result.Success = false;
result.Msg = ex.InnerException.Message;
}
}
return CreatedAtAction("GetFqcInhouseDetail", new { id = fqcInhouseDetail.InhouseNo }, fqcInhouseDetail);
return result;
}
// DELETE: api/FqcInhouseDetail/5

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

@ -250,8 +250,9 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
{
ResultModel<FqcInhouseMaster> result = new ResultModel<FqcInhouseMaster>();
_context.Entry(fqcInhouseMaster).State = EntityState.Modified;
_context.Entry<FqcInhouseMaster>(fqcInhouseMaster).Property("CreateDate").IsModified = false;
_context.Entry<FqcInhouseMaster>(fqcInhouseMaster).Property("CreateUserID").IsModified = false;
fqcInhouseMaster.UpdateDate = DateTime.Now;
fqcInhouseMaster.UpdateUserID = 0;
try
{

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

@ -71,11 +71,9 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
public async Task<ResultModel<WipAtt>> PostWipAtt([FromBody] WipAtt wipatt)
{
ResultModel<WipAtt> result = new ResultModel<WipAtt>();
wipatt.CreateUserID = 0;
_context.WipAtts.Add(wipatt);
try
{
_context.WipAtts.Add(wipatt);
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
@ -98,6 +96,8 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
{
ResultModel<WipAtt> result = new ResultModel<WipAtt>();
_context.Entry(wipatt).State = EntityState.Modified;
_context.Entry<WipAtt>(wipatt).Property("CreateDate").IsModified = false;
_context.Entry<WipAtt>(wipatt).Property("CreateUserID").IsModified = false;
wipatt.UpdateDate = DateTime.Now;
try

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

@ -87,9 +87,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
/// </summary>
/// <param name="wipBarcode"></param>
/// <returns></returns>
// POST: api/WipBarcode
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
[HttpPost]
public async Task<ResultModel<WipBarcode>> PostWipBarcode([FromBody] WipBarcode wipBarcode)
{
@ -98,8 +95,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
{
Helper helper = new Helper(_context);
wipBarcode.WipID = wipBarcode.WipID == 0 ? helper.GetIDKeyNoPost("WIP_ID").Result : wipBarcode.WipID;
wipBarcode.CreateUserID = 0;
_context.WipBarcodes.Add(wipBarcode);
await _context.SaveChangesAsync();
}
@ -136,7 +131,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
_context.Entry<WipBarcode>(item).Property("CreateUserID").IsModified = false;
item.UpdateDate = DateTime.Now;
item.Remarks = wipBarcode.Remarks;
}
}
else

33
AMESCoreStudio.WebApi/Controllers/AMES/WipBarcodeOthersController.cs

@ -88,16 +88,21 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return wipBarcodeOther;
}
/// <summary>
/// 新增工單條碼區間設定檔
/// </summary>
/// <param name="wipBarcodeOther"></param>
/// <returns></returns>
[HttpPost]
public async Task<ResultModel<WipBarcodeOther>> PostWipBarcodeOther([FromBody] WipBarcodeOther wipBarcodeOther)
{
ResultModel<WipBarcodeOther> result = new ResultModel<WipBarcodeOther>();
Helper helper = new Helper(_context);
wipBarcodeOther.OtherID = helper.GetIDKey("OTHER_ID").Result;
_context.WipBarcodeOthers.Add(wipBarcodeOther);
try
{
_context.WipBarcodeOthers.Add(wipBarcodeOther);
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
@ -111,7 +116,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
}
/// <summary>
/// 更新
/// 更新工單條碼區間設定檔
/// </summary>
/// <param name="wipBarcodeOther"></param>
/// <returns></returns>
@ -119,26 +124,20 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
public async Task<ResultModel<WipBarcodeOther>> PutWipBarcodeOther(WipBarcodeOther wipBarcodeOther)
{
ResultModel<WipBarcodeOther> result = new ResultModel<WipBarcodeOther>();
var getWipBarcodeOther = GetWipBarcodeOtherByWipNo(wipBarcodeOther.WipNO).Result.Value;
if (getWipBarcodeOther != null)
var wipNo = wipBarcodeOther.WipNO;
try
{
var result_old = _context.WipBarcodeOthers.Where(w => w.WipNO == wipNo).ToList();
if (result_old.Count != 0)
{
_context.Entry(getWipBarcodeOther).State = EntityState.Modified;
getWipBarcodeOther.StartNO = wipBarcodeOther.StartNO;
getWipBarcodeOther.EndNO = wipBarcodeOther.EndNO;
getWipBarcodeOther.Title = wipBarcodeOther.Title;
getWipBarcodeOther.TypeNO = wipBarcodeOther.TypeNO;
getWipBarcodeOther.UpdateDate = DateTime.Now;
getWipBarcodeOther.UpdateUserID = 0;
_context.Entry(wipBarcodeOther).State = EntityState.Modified;
_context.Entry<WipBarcodeOther>(wipBarcodeOther).Property("CreateDate").IsModified = false;
_context.Entry<WipBarcodeOther>(wipBarcodeOther).Property("CreateUserID").IsModified = false;
}
else
{
_context.WipBarcodeOthers.Add(wipBarcodeOther);
}
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";

1
AMESCoreStudio.WebApi/Controllers/AMES/WipBoardController.cs

@ -92,7 +92,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
_context.Entry<WipBoard>(wipBoard).Property("CreateDate").IsModified = false;
_context.Entry<WipBoard>(wipBoard).Property("CreateUserID").IsModified = false;
wipBoard.UpdateDate = DateTime.Now;
wipBoard.UpdateUserID = 0;
}
else
{

14
AMESCoreStudio.WebApi/Controllers/AMES/WipBoxController.cs

@ -68,7 +68,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
ResultModel<WipBox> result = new ResultModel<WipBox>();
_context.WipBoxs.Attach(wipBox);
wipBox.UpdateDate = DateTime.Now;
wipBox.UpdateUserID = 0;
// 指定更新某個欄位
_context.Entry(wipBox).Property(p => p.BoxCnt).IsModified = true;
_context.Entry(wipBox).Property(p => p.BoxStatus).IsModified = true;
@ -77,7 +76,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
_context.Entry(wipBox).Property(p => p.UpdateUserID).IsModified = true;
try
{
//_context.WipBoxs.Update(wipBox);
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
@ -90,18 +88,20 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return result;
}
// POST: api/WipBox
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
/// <summary>
/// 新增工單箱號資料檔
/// </summary>
/// <param name="wipBox"></param>
/// <returns></returns>
[HttpPost]
public async Task<ResultModel<WipBox>> PostWipBox(WipBox wipBox)
{
ResultModel<WipBox> result = new ResultModel<WipBox>();
try
{
Helper helper = new Helper(_context);
wipBox.BoxID = helper.GetIDKey("BOX_ID").Result;
_context.WipBoxs.Add(wipBox);
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";

14
AMESCoreStudio.WebApi/Controllers/AMES/WipCheckController.cs

@ -54,8 +54,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
public async Task<ResultModel<WipCheck>> PutWipCheckByPE(WipCheck wipCheck)
{
ResultModel<WipCheck> result = new ResultModel<WipCheck>();
wipCheck.PEUserID = 0;
wipCheck.PECheckdate = DateTime.Now;
var wipNo = wipCheck.WipNo;
try
{
@ -95,8 +93,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
{
ResultModel<WipCheck> result = new ResultModel<WipCheck>();
var wipNo = wipCheck.WipNo;
wipCheck.MFUserID = 0;
wipCheck.MFCheckdate = DateTime.Now;
try
{
if (_context.WipChecks.Any(e => e.WipNo == wipNo))
@ -135,8 +131,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
public async Task<ResultModel<WipCheck>> PutWipCheckByPMC(WipCheck wipCheck)
{
ResultModel<WipCheck> result = new ResultModel<WipCheck>();
wipCheck.PMCUserID = 0;
wipCheck.PMCCheckdate = DateTime.Now;
var wipNo = wipCheck.WipNo;
try
{
@ -166,13 +160,19 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return result;
}
/// <summary>
/// 新增工單確認
/// </summary>
/// <param name="wipCheck"></param>
/// <returns></returns>
[HttpPost]
public async Task<ResultModel<WipCheck>> PostWipCheck(WipCheck wipCheck)
{
ResultModel<WipCheck> result = new ResultModel<WipCheck>();
_context.WipChecks.Add(wipCheck);
try
{
_context.WipChecks.Add(wipCheck);
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";

5
AMESCoreStudio.WebApi/Controllers/AMES/WipClassController.cs

@ -79,6 +79,8 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
{
ResultModel<WipClass> result = new ResultModel<WipClass>();
_context.Entry(wipClass).State = EntityState.Modified;
_context.Entry<WipClass>(wipClass).Property("CreateDate").IsModified = false;
_context.Entry<WipClass>(wipClass).Property("CreateUserID").IsModified = false;
wipClass.UpdateDate = DateTime.Now;
try
@ -105,9 +107,10 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
public async Task<ResultModel<WipClass>> PostWipClass(WipClass wipClass)
{
ResultModel<WipClass> result = new ResultModel<WipClass>();
_context.WipClass.Add(wipClass);
try
{
_context.WipClass.Add(wipClass);
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";

11
AMESCoreStudio.WebApi/Controllers/AMES/WipInfoBlobController.cs

@ -69,8 +69,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
_context.Entry<WipInfoBlob>(wipInfoBlob).Property("CreateDate").IsModified = false;
_context.Entry<WipInfoBlob>(wipInfoBlob).Property("CreateUserID").IsModified = false;
wipInfoBlob.UpdateDate = DateTime.Now;
wipInfoBlob.UpdateUserID = 0;
try
{
await _context.SaveChangesAsync();
@ -97,14 +95,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
ResultModel<WipInfoBlob> result = new ResultModel<WipInfoBlob>();
Helper helper = new Helper(_context);
wipInfoBlob.WipBlobID= helper.GetIDKey("WIP_BLOB_ID").Result;
HttpContext.Request.Cookies.TryGetValue("UserID", out string userID);
if (userID != null)
{
if (int.Parse(userID.ToString()) >= 0)
{
wipInfoBlob.CreateUserID = int.Parse(userID.ToString());
}
}
try
{
_context.WipInfoBlobs.Add(wipInfoBlob);

20
AMESCoreStudio.WebApi/Controllers/AMES/WipInfosController.cs

@ -238,16 +238,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return "Y";
else
return "N";
// 判斷是否已經開線
var r = from q1 in _context.WipInfos
join q2 in _context.LineInfoes on q1.WipID equals q2.WipNo
where q1.WipNO == wipno
select q2;
if (r.Count() != 0)
return "Y";
else
return "N";
}
/// <summary>
@ -281,7 +271,14 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
ResultModel<WipInfo> result = new ResultModel<WipInfo>();
Helper helper = new Helper(_context);
WipInfo.WipID = helper.GetIDKey("WIP_ID").Result;
WipInfo.CreateUserID = 0;
//HttpContext.Request.Cookies.TryGetValue("UserID", out string userID);
//if (userID != null)
//{
// if (int.Parse(userID.ToString()) >= 0)
// {
// WipInfo.CreateUserID = int.Parse(userID.ToString());
// }
//}
_context.WipInfos.Add(WipInfo);
try
@ -421,5 +418,6 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return result;
}
}
}

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

@ -42,6 +42,15 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
{
ResultModel<string> resultModel = new ResultModel<string> { Success = false };
try
{
if (barCodeCheckDto.inputItems == null)
barCodeCheckDto.inputItems = new List<BarCodeCheckDto.inputItem>();
if (barCodeCheckDto.outfits == null)
barCodeCheckDto.outfits = new List<BarCodeCheckDto.Outfit>();
#region 欄位資料空值判斷
if (string.IsNullOrWhiteSpace(barCodeCheckDto.wipNo))
{
@ -132,7 +141,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
barCodeCheckDto.ruleStationID = q_rulestation.Value.Where(w => w.StationID == barCodeCheckDto.station).FirstOrDefault().RuleStationID;
#region KeyParts 判斷
if (barCodeCheckDto.inputItems.Where(w => !w.inputType.Contains("NG")).Count() != 0)
if (barCodeCheckDto.inputItems.Where(w => !w.inputType.Contains("NG")).Any())
{
var barcodeItemKPDto = new BarcodeItemKPDto
{
@ -156,6 +165,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
(string.IsNullOrWhiteSpace(w.inputData) || string.IsNullOrWhiteSpace(w.oldInputData))).Any())
{
resultModel.Msg = "工單號碼【" + barCodeCheckDto.wipNo + "】維修過站資料有缺新舊組件序號,請確認";
resultModel.Success = false;
return resultModel;
}
@ -359,6 +369,13 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return resultModel;
#endregion
}
catch (Exception ex)
{
resultModel.Success = false;
resultModel.Msg = ex.Message;
return resultModel;
}
}
#endregion
@ -375,52 +392,59 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
}
if (!Table_BarcodeStation(barCodeCheckDto).Result.Success)
if (!Table_BarcodeWip(barCodeCheckDto).Result.Success)
{
}
if (!Table_BarcodeItem(barCodeCheckDto).Result.Success)
if (!Table_WipStation(barCodeCheckDto).Result.Success)
{
}
if (!Table_NgInfo(barCodeCheckDto).Result.Success)
if (!Table_WipClass(barCodeCheckDto).Result.Success)
{
}
if (!Table_BarcodeWip(barCodeCheckDto).Result.Success)
if (!Table_WipTime(barCodeCheckDto).Result.Success)
{
}
if (!Table_WipStation(barCodeCheckDto).Result.Success)
if (!Table_BarcodeStation(barCodeCheckDto).Result.Success)
{
}
if (!Table_WipClass(barCodeCheckDto).Result.Success)
if (!Table_BarcodeItem(barCodeCheckDto).Result.Success)
{
}
if (!Table_WipTime(barCodeCheckDto).Result.Success)
if (!Table_NgInfo(barCodeCheckDto).Result.Success)
{
}
// 工單基本檔案
//if (!Table_WipInfo(barCodeCheckDto).Result.Success)
//{
//}
}
/// <summary>
/// BarcodeInfo-條碼資料檔
/// WipInfo-工單基本資料
/// </summary>
/// <param name="barCodeCheckDto"></param>
/// <returns></returns>
private async Task<ResultModel<WipInfo>> Table_WipInfo(BarCodeCheckDto barCodeCheckDto)
{
WipInfosController wipInfosController = new WipInfosController(_context);
var wipinfo = wipInfosController.GetWipInfo(barCodeCheckDto.wipID)
.Result.Value.FirstOrDefault();
var wipinfo = await _context.WipInfos.FindAsync(barCodeCheckDto.wipID);
return await wipInfosController.PutWipinfo(wipinfo);

Loading…
Cancel
Save