diff --git a/AMESCoreStudio.WebApi/Controllers/AMES/WipLockController.cs b/AMESCoreStudio.WebApi/Controllers/AMES/WipLockController.cs
index 880b68c3..a6d7b6d9 100644
--- a/AMESCoreStudio.WebApi/Controllers/AMES/WipLockController.cs
+++ b/AMESCoreStudio.WebApi/Controllers/AMES/WipLockController.cs
@@ -7,6 +7,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
+using AMESCoreStudio.WebApi.Models.SYS;
namespace AMESCoreStudio.WebApi.Controllers.AMES
{
@@ -162,6 +163,81 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return result;
}
+ ///
+ /// 根據料號批量鎖定工單
+ ///
+ /// 料號
+ /// 鎖定原因
+ /// 鎖定人員
+ ///
+ [Route("[action]")]
+ [HttpPost]
+ public async Task> PostWipLockByItemNo(string itemNo,string lockReason,string lockUserNo)
+ {
+ ResultModel result = new ResultModel();
+ Helper helper = new Helper(_context);
+
+ IQueryable q1 = _context.UserInfoes;
+ q1 = q1.Where(w => w.UserNo == lockUserNo);
+
+ var user = await q1.ToListAsync();
+
+ if (user.Count == 0)
+ {
+ result.Success = false;
+ result.Msg = "查無鎖定人員";
+ }
+ else
+ {
+ var q = from a in _context.WipInfos
+ join b in _context.WipAtts on a.WipNO equals b.WipNO
+ select new
+ {
+ a.WipNO,
+ a.StatusNO,
+ b.ItemNO
+ };
+ q = q.Where(w => w.StatusNO.Equals("A"));
+
+ if (itemNo != null)
+ {
+ if (itemNo != "*")
+ {
+ q = q.Where(w => w.ItemNO == itemNo);
+ }
+ }
+ var wip_att = await q.ToListAsync();
+
+ foreach (var data in wip_att)
+ {
+ WipLock wiplock = new WipLock();
+
+ wiplock.WipLockID = helper.GetIDKey("WIP_LOCK_ID").Result;
+ wiplock.WipNO = data.WipNO;
+ wiplock.LockReason = lockReason;
+ wiplock.LockUserID = user[0].UserID;
+ wiplock.UnLockUserID = 0;
+
+ _context.WipLocks.Add(wiplock);
+
+ try
+ {
+ await _context.SaveChangesAsync();
+ result.Success = true;
+ result.Msg = "OK";
+ }
+ catch (Exception ex)
+ {
+ result.Success = false;
+ result.Msg = ex.InnerException.Message;
+ break;
+ }
+ }
+
+ }
+ return result;
+ }
+
///
/// 新增工單鎖定資料檔
///