From 47025ea1cd3544fe33fc50dc43917890bc36e65d Mon Sep 17 00:00:00 2001 From: ray Date: Thu, 7 Apr 2022 00:30:45 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E6=96=99=E8=99=9F=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E6=9B=B4=E6=8F=9B=202.=20=E4=BF=AE=E6=AD=A3=E9=81=8E=E7=AB=99?= =?UTF-8?q?=E8=A8=8A=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs | 2 +- .../AMES/MaterialFlowController.cs | 183 ------------------ .../BAS/MaterialFlowsController.cs | 24 +++ .../Controllers/BLL/BarCodeCheckController.cs | 6 + 4 files changed, 31 insertions(+), 184 deletions(-) delete mode 100644 AMESCoreStudio.WebApi/Controllers/AMES/MaterialFlowController.cs diff --git a/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs b/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs index 4cf16599..68b158de 100644 --- a/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs +++ b/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs @@ -642,7 +642,7 @@ namespace AMESCoreStudio.Web /// 料號流程資料檔查詢 /// /// - [WebApiClient.Attributes.HttpGet("api/MaterialFlow/Query/{itemno}/{unitNo}")] + [WebApiClient.Attributes.HttpGet("api/MaterialFlows/ByWip/{itemno}/{unitNo}")] ITask> GetMaterialFlowsByQuery(string itemno , string unitno); /// diff --git a/AMESCoreStudio.WebApi/Controllers/AMES/MaterialFlowController.cs b/AMESCoreStudio.WebApi/Controllers/AMES/MaterialFlowController.cs deleted file mode 100644 index 90904cbd..00000000 --- a/AMESCoreStudio.WebApi/Controllers/AMES/MaterialFlowController.cs +++ /dev/null @@ -1,183 +0,0 @@ -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Mvc; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.EntityFrameworkCore; -using AMESCoreStudio.WebApi.Models.BAS; -using AMESCoreStudio.CommonTools.Result; - -namespace AMESCoreStudio.WebApi.Controllers.AMES -{ - /// - /// 料號基本資料檔Controller - /// - [Route("api/[controller]")] - [ApiController] - public class MaterialFlowController : ControllerBase - { - private readonly AMESContext _context; - - /// - /// 建構式 - /// - /// - public MaterialFlowController(AMESContext context) - { - _context = context; - } - - /// - /// 查詢料號流程資料檔 - /// - /// - // GET: api/ - [HttpGet] - public async Task>> GetMaterialFlows() - { - IQueryable q = _context.MaterialFlows; - q = q.OrderBy(p => p.MFID); - var MaterialFlows = await q.ToListAsync(); - return MaterialFlows; - } - - - /// - /// 料號流程資料檔 - /// - /// ItemID - /// - [HttpGet("{id}")] - public async Task> GetMaterialFlow(int id) - { - IQueryable q = _context.MaterialFlows; - var result = await q.Where(p => p.MFID == id).ToListAsync(); - return result; - } - - /// - /// 料號流程查詢 - /// - /// 料號 - /// 站別 - /// - [HttpGet("Query/{itemno}/{unitNo}")] - public async Task>> GetMaterialFlowsByQuery(string itemno, string unitNo) - { - IQueryable q = _context.MaterialFlows; - - MaterialItemController materialItemController = new MaterialItemController(_context); - var MaterialItem = materialItemController.GetMaterialItemByItemNO(itemno); - - if (MaterialItem != null) - q = q.Where(w => w.ItemID == MaterialItem.Result.ItemID && w.UnitNo == unitNo); - else - q = q.Where(w => w.ItemID == -1); - - var materialFlows = await q.ToListAsync(); - - return materialFlows; - } - - /// - /// 新增料號流程資料檔 - /// - /// - /// - [HttpPost] - public async Task> PostMaterialFlows([FromBody] MaterialFlow MaterialFlow) - { - ResultModel result = new ResultModel(); - Helper helper = new Helper(_context); - MaterialFlow.MFID = helper.GetIDKey("MF_ID").Result; - - _context.MaterialFlows.Add(MaterialFlow); - try - { - await _context.SaveChangesAsync(); - result.Success = true; - result.Msg = "OK"; - } - catch (Exception ex) - { - result.Success = false; - result.Msg = ex.InnerException.Message; - } - return result; - - } - - - /// - /// 修改料號流程資料檔 - /// - /// - [HttpPut("{id}")] - public async Task> PutMaterialFlows(int id, [FromBody] MaterialFlow materialFlow) - { - ResultModel result = new ResultModel(); - if (id != materialFlow.MFID) - { - result.Success = false; - result.Msg = "料號錯誤"; - return result; - } - //_ - //_context.Attach(materialFlow); - //// 指定更新某個欄位 - //_context.Entry(materialFlow).Property(p => p.FlowSEQ).IsModified = true; - //_context.Entry(materialFlow).Property(p => p.ItemID).IsModified = true; - //_context.Entry(materialFlow).Property(p => p.FlowRuleID).IsModified = true; - //_context.Entry(materialFlow).Property(p => p.UnitNo).IsModified = true; - _context.Entry(materialFlow).State = EntityState.Modified; - try - { - await _context.SaveChangesAsync(); - result.Success = true; - result.Msg = "OK"; - return result; - } - catch (DbUpdateConcurrencyException ex) - { - result.Success = false; - result.Msg = ex.InnerException.Message; - return result; - //throw; - - } - } - - /// - /// Delete料號流程 - /// - /// - /// - // DELETE: api/StandardWorkTimes/5 - [HttpDelete("{id}")] - public async Task> DeleteMaterialFlow(int id) - { - ResultModel result = new ResultModel(); - - var materialFlow = await _context.MaterialFlows.Where(m => m.MFID == id).FirstOrDefaultAsync(); - if (materialFlow == null) - { - result.Success = false; - result.Msg = "序號不存在"; - return result; - } - - _context.MaterialFlows.Remove(materialFlow); - await _context.SaveChangesAsync(); - - result.Success = true; - result.Msg = "OK"; - return result; - } - - private bool MaterialFlowExists(int id) - { - return _context.MaterialFlows.Any(e => e.MFID == id); - } - } -} diff --git a/AMESCoreStudio.WebApi/Controllers/BAS/MaterialFlowsController.cs b/AMESCoreStudio.WebApi/Controllers/BAS/MaterialFlowsController.cs index e6895570..5c15a761 100644 --- a/AMESCoreStudio.WebApi/Controllers/BAS/MaterialFlowsController.cs +++ b/AMESCoreStudio.WebApi/Controllers/BAS/MaterialFlowsController.cs @@ -84,6 +84,30 @@ namespace AMESCoreStudio.WebApi.Controllers.BAS return materialFlows; } + /// + /// 料號流程查詢 By工單 + /// + /// 料號 + /// 站別 + /// + [HttpGet("ByWip/{itemno}/{unitNo}")] + public async Task>> GetMaterialFlowsByWip(string itemno, string unitNo) + { + IQueryable q = _context.MaterialFlows; + + AMES.MaterialItemController materialItemController = new AMES.MaterialItemController(_context); + var MaterialItem = materialItemController.GetMaterialItemByItemNO(itemno); + + if (MaterialItem != null) + q = q.Where(w => w.ItemID == MaterialItem.Result.ItemID && w.UnitNo == unitNo); + else + q = q.Where(w => w.ItemID == -1); + + var materialFlows = await q.ToListAsync(); + + return materialFlows; + } + /// /// 新增料號流程資料檔 /// diff --git a/AMESCoreStudio.WebApi/Controllers/BLL/BarCodeCheckController.cs b/AMESCoreStudio.WebApi/Controllers/BLL/BarCodeCheckController.cs index 0c2710ae..c548bea3 100644 --- a/AMESCoreStudio.WebApi/Controllers/BLL/BarCodeCheckController.cs +++ b/AMESCoreStudio.WebApi/Controllers/BLL/BarCodeCheckController.cs @@ -1514,6 +1514,12 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES BarcodeInfoesController barcodeInfoesController = new BarcodeInfoesController(_context); var barcodeInfo = barcodeInfoesController.GetBarcodeInfoes(barCodeID).Result.Value.FirstOrDefault(); + if (barcodeInfo == null) + { + resultModel.Msg = "找不到上一個作業站過站紀錄,請確認"; + return resultModel; + } + if (ruleSations.Where(w => w.RuleStationID == barcodeInfo.RuleStationID && w.RuleStatus == barcodeInfo.RuleStatus).Count() == 0 )