From 9da68fc16ccd0fba6472096ae298e4bcdf5d12b8 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期一, 04 十一月 2024 15:43:56 +0800
Subject: [PATCH] 从工单中解绑正在生产的条码api

---
 Tiger.Controllers.MES/Controllers/MESController.BIZ_MES_WO.cs    |   21 +++++++++++++++++++++
 Tiger.IBusiness.MES/BIZ/IMES_WO.cs                               |    1 +
 Tiger.Business.MES/BIZ/BIZ_MES_WO.cs                             |   30 +++++++++++++++++++++++++++++-
 Tiger.Model.Net/Entitys/MES/ParameterEntity/BizMesWoParameter.cs |    6 ++++++
 4 files changed, 57 insertions(+), 1 deletions(-)

diff --git a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
index a07df9e..c4c1db2 100644
--- a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
+++ b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
@@ -18,6 +18,7 @@
 using System.Drawing.Printing;
 using System.Net.NetworkInformation;
 using Tiger.Model.MES.Yada;
+using static Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser;
 
 namespace Tiger.Business.MES
 {
@@ -608,10 +609,10 @@
                 if (db.Queryable<mes_ShipList>().Any(q => q.MoDoc.Equals(wo) && SqlFunc.DateIsSame(q.BusinessDate, DateTime.Now) && q.Status == 2 && q.Org == org.ID.ToInt64()))
                 {
                     result.Data = "Customer";
+                    result.LocaleMsg = new($"鍑鸿揣淇℃伅瀛樺湪锛�");
                 }
                 else
                 {
-                    result.LocaleMsg = new($"鍑鸿揣淇℃伅瀛樺湪锛�");
                     result.Data = "InStoreLabel";
                 }
             }
@@ -621,5 +622,32 @@
             }
             return result;
         }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="SN"></param>
+        /// <param name="user"></param>
+        /// <returns></returns>
+        public async Task<ApiAction> UnbindWipSnFromWO(UnbindWipSnInput input)
+        {
+            var result = new ApiAction();
+            try
+            {
+                var wipList = await Biz.Db.Queryable<MES_WIP_DATA>().Where(q => q.SN.Equals(input.SN) || q.FLOW_SN.Equals(input.SN)).ToListAsync();
+                if (wipList.Count == 0)
+                {
+                    result.IsSuccessed = false;
+                    result.LocaleMsg = new($"瑙g粦鐨勬潯鐮佷笉瀛樺湪褰撳墠鎿嶄綔琛ㄤ腑锛�");
+                }
+                var wo = await Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == wipList[0].WORK_ORDER).FirstAsync();
+                result = WorkBatch.UnbindWipSnFromWO(wo, wipList, input.user);
+            }
+            catch (Exception ex)
+            {
+                result.CatchExceptionWithLog(ex, "瑙g粦鏉$爜寮傚父");
+            }
+            return result;
+        }
     }
 }
diff --git a/Tiger.Controllers.MES/Controllers/MESController.BIZ_MES_WO.cs b/Tiger.Controllers.MES/Controllers/MESController.BIZ_MES_WO.cs
index a9f9edf..a2dbdac 100644
--- a/Tiger.Controllers.MES/Controllers/MESController.BIZ_MES_WO.cs
+++ b/Tiger.Controllers.MES/Controllers/MESController.BIZ_MES_WO.cs
@@ -120,6 +120,27 @@
         }
 
         /// <summary>
+        /// 浠庡伐鍗曚腑瑙g粦姝e湪鐢熶骇鐨勬潯鐮�
+        /// </summary>
+        /// <param name="action"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Route("api/[controller]/[action]")]
+        public async Task<IActionResult> UnbindWipSnFromWO([FromBody] ApiAction<UnbindWipSnInput> action)
+        {
+            ApiAction response = new();
+            try
+            {
+                response = response.GetResponse(await DI.Resolve<IBIZ_MES_WO>().UnbindWipSnFromWO(action.Data));
+            }
+            catch (System.Exception ex)
+            {
+                response = response.GetResponse().CatchExceptionWithLog(ex);
+            }
+            return Ok(response);
+        }
+
+        /// <summary>
         /// 鏇存柊宸ュ崟妯℃澘鍙橀噺
         /// </summary>
         /// <param name="action"></param>
diff --git a/Tiger.IBusiness.MES/BIZ/IMES_WO.cs b/Tiger.IBusiness.MES/BIZ/IMES_WO.cs
index 76fe1df..00040e9 100644
--- a/Tiger.IBusiness.MES/BIZ/IMES_WO.cs
+++ b/Tiger.IBusiness.MES/BIZ/IMES_WO.cs
@@ -23,5 +23,6 @@
         public Task<ApiAction> GetRePrintInfo(RePrintInput input);
         public Task<ApiAction> GetShipList(string wo, string orgCode);
         public Task<ApiAction> SavePrintLabelInAct(string code);
+        public Task<ApiAction> UnbindWipSnFromWO(UnbindWipSnInput input);
     }
 }
diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/BizMesWoParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/BizMesWoParameter.cs
index bde9e21..1d45245 100644
--- a/Tiger.Model.Net/Entitys/MES/ParameterEntity/BizMesWoParameter.cs
+++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/BizMesWoParameter.cs
@@ -37,4 +37,10 @@
         public int ReqType { get; set; }
         public string Code { get; set; }
     }
+
+    public class UnbindWipSnInput
+    {
+        public string SN { get; set; }
+        public string user { get; set; }
+    }
 }

--
Gitblit v1.9.3