From e6a357c1507a57a8b519358dd7c8588b3c540a6d Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期一, 07 十月 2024 15:46:36 +0800
Subject: [PATCH] 保存默认工艺路线到产品

---
 Tiger.Api/Controllers/Test/TestController.R.cs |  151 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 103 insertions(+), 48 deletions(-)

diff --git a/Tiger.Api/Controllers/Test/TestController.R.cs b/Tiger.Api/Controllers/Test/TestController.R.cs
index 07a9de2..0b48c83 100644
--- a/Tiger.Api/Controllers/Test/TestController.R.cs
+++ b/Tiger.Api/Controllers/Test/TestController.R.cs
@@ -18,6 +18,11 @@
 using Tiger.Model.Sharetronic.Shelf;
 using Newtonsoft.Json.Linq;
 using Tiger.Api.iBiz;
+using System.Net;
+using System.Reflection;
+using Swifter.Tools;
+using Tiger.Model.Entitys.MES.Position;
+using Microsoft.CodeAnalysis.Options;
 
 namespace Tiger.Api.Controllers.Test
 {
@@ -34,6 +39,21 @@
         public IActionResult GetDBSchemaAsync()
         {
             return Ok(Biz.Db.DbMaintenance.GetTableInfoList());
+        }
+
+        [HttpGet]
+        public IActionResult GetEntitys(string AssemblyName, string NameSpace)
+        {
+            Assembly assembly = Assembly.Load(AssemblyName);
+            Type[] types = assembly.GetTypes();
+            var entitys = types.Where(q => q.GetInterfaces().Contains(typeof(iEntity)) && q.IsClass).ToList();
+            var data = entitys.Select(q => new
+            {
+                q.Namespace,
+                q.FullName,
+                Properties = q.GetProperties().Select(p => new { p.Name, Type = p.PropertyType.Name }).ToList()
+            });
+            return Ok(data);
         }
 
         /// <summary>
@@ -86,14 +106,19 @@
         [HttpGet]
         public async Task<IActionResult> Get2Async(string param)
         {
-            //var auth = new AuthOption() { UserId = "admin", ByOrg = true, ByWh = true };
+            var auth = new AuthOption() { UserId = "admin", ByOrg = true, ByWh = true };
             //var data = await Biz.Db.Queryable<BIZ_ERP_PO>().Where(q => q.BILLTYPE == 11)
             //    //.ByAuth("admin", DbAuth.Org | DbAuth.Wh)
             //    .ByAuth(auth)
             //    .ToListAsync();
             //data = await Biz.Db.Queryable<BIZ_ERP_PO>().ByAuth("admin", DbAuth.Org).Where(q => q.BILLTYPE == 11).ToListAsync();
-            var data = await Biz.Db.Queryable<BIZ_ERP_PO>().Where(q => q.BILLTYPE == 11).ToListAsync();
+            //var data = await Biz.Db.Queryable<BIZ_ERP_PO>().Where(q => q.BILLTYPE == 11).ToListAsync();
             //var dtl = await Biz.Db.Queryable<BIZ_ERP_PO_DTL>().ByAuth("admin", DbAuth.Org | DbAuth.Wh).Where(q => q.BILLCODE == "AH3301-221000108").ToListAsync();
+            var query = Biz.Db.Queryable<WMS_ITEM_PKG>().ByAuth("admin", DbAuth.Org | DbAuth.Wh).Where(t => t.SN == "barcode.SN").First();//
+            var  data = Biz.Db.Queryable<BIZ_MES_WO_BATCH, BIZ_MES_WO_SN>((q, s) => new JoinQueryInfos(JoinType.Inner, q.ORDER_NO == s.WORK_ORDER))
+                                                    .ByAuth(auth)//.ByAuth("admin", DbAuth.Org | DbAuth.Wh)
+                                                    .Where((q, s) => s.SN == "input.SN" && q.ACT_LINE == "CurLine.LINE_CODE" && (q.STATUS == BIZ_MES_WO_BATCH.STATUSs.Release.GetValue() || q.STATUS == BIZ_MES_WO_BATCH.STATUSs.Working.GetValue()))
+                                                    .Select((q, s) => new { Batch = q, SN = s }).First();
             return Ok(data);
         }
 
@@ -140,9 +165,9 @@
             //Biz.Db.Fastest<WMS_WAREHOUSE>().BulkUpdate(data, new string[] { "ID" }, new string[] { "UPDATE_TIME", "UPDATE_USER" });
             //Biz.Db.Insertable(data, "Interface").ExecuteCommand();
 
-            //var root = new SugarParameter("root", "system01");
-            //var dt = Biz.Db.Ado.UseStoredProcedure().GetDataTable("PKG_SYS_GET_MENU", root);//杩斿洖dt
-            //var data = Biz.Db.Ado.UseStoredProcedure().SqlQuery<SYS_MENU>("PKG_SYS_GET_MENU", root);//杩斿洖List
+            var root = new SugarParameter("root", "system01");
+            var dt = Biz.Db.Ado.UseStoredProcedure().GetDataTable("SP_SYS_GET_MENU", root);//杩斿洖dt
+            var data = Biz.Db.Ado.UseStoredProcedure().SqlQuery<SYS_MENU>("SP_SYS_GET_MENU", root);//杩斿洖List
             ;
             //var data = Biz.Db.Queryable<BIZ_SRM_DLVY>()
             //    .IncludesAllFirstLayer()
@@ -172,7 +197,7 @@
             //{
             //    throw dbTran.ErrorException;
             //}
-            return Ok("");
+            return Ok(data);
         }
         /// <summary>
         /// 
@@ -231,46 +256,6 @@
             return Ok($"璁剧疆{param}鎴愬姛");
         }
 
-        /// <summary>
-        /// SendMQTTAsync
-        /// </summary>
-        /// <param name="action"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> SendMQTTAsync([FromBody] ApiAction action)
-        {
-            string msg = "";
-            await Task.Run(() =>
-            {
-                msg = action.ID;
-                MQTTHelper.Send("TestSendMQTT001", new MQTTMessage()
-                {
-                    Type = "TestSendMQTT001",
-                    Content = "TestSendMQTT001锛屾祴璇曟秷鎭紒",
-                    Data = "",
-                    DataType = typeof(String).Name,
-                    IsSuccessed = true,
-                });
-            });
-            return Ok(MQTTHelper.Send(action.GetResponse(msg)));
-        }
-
-        /// <summary>
-        /// DeleteMQTTTopicAsync
-        /// </summary>
-        /// <param name="action"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<IActionResult> DeleteMQTTTopicAsync([FromBody] ApiAction action)
-        {
-            string msg = "";
-            await Task.Run(() =>
-            {
-                msg = MQTTHelper.DeleteTopic(action.ID) ? "鍒犻櫎Topic鎴愬姛" : "鍒犻櫎Topic澶辫触";
-            });
-            return Ok(action.GetResponse(msg));
-        }
-
         [HttpPost]
         public async Task<IActionResult> TestTask([FromBody] ApiAction action)
         {
@@ -320,10 +305,10 @@
     [Route("api/[controller]/[action]")]
     public partial class _TestController : ControllerBase
     {
-
         [HttpGet]
-        public async Task<IActionResult> DoSomething(int duration)
+        public async Task<IActionResult> DoSomething(int duration, string code)
         {
+            Barcode b = new("asdasd");
             var begin = DateTime.Now;
             while ((DateTime.Now - begin).TotalSeconds <= duration)
             {
@@ -333,7 +318,77 @@
                 ConsoleExt.WriteLine($"Working {begin:mmssfff} ... {(percent > 1 ? 1 : percent):P0} ...", ConsoleColor.Green);
             }
             Logger.Default.Info($"{begin:mmssfff} completed");
+            return Ok($"{begin:mmssfff} completed {b.DateCode}");
+        }
+
+        [HttpPost]
+        public async Task<IActionResult> MESSubmitAsync([FromBody] ApiAction<SubmitInput> action)
+        {
+            var data = action.Data.Data;
+
+            var act = Biz.Db.Queryable<MES_WO_ACTION>().First(q => q.ID == data);
+
+            
+            var result = act.OPTION_1?.ToString().JsonToObject<List<WipPkgItem>>();
+
+            return Ok(result?.ToJson());
+        }
+    }
+
+    /// <summary>
+    /// MQTT娴嬭瘯鎺у埗鍣�
+    /// </summary>
+    [ApiController]
+    [Route("api/[controller]/[action]")]
+    public partial class _MqttTestController : ControllerBase
+    {
+        [HttpGet]
+        public async Task<IActionResult> DoSomething1(int duration)
+        {
+            var begin = DateTime.Now;
+
             return Ok($"{begin:mmssfff} completed");
         }
+
+        /// <summary>
+        /// SendMQTTAsync
+        /// </summary>
+        /// <param name="action"></param>
+        /// <returns></returns>
+        //[HttpPost]
+        //public async Task<IActionResult> SendMQTTAsync([FromBody] ApiAction action)
+        //{
+        //    string msg = "";
+        //    await Task.Run(() =>
+        //    {
+        //        msg = action.ID;
+        //        MQTTHelper.Send("TestSendMQTT001", new MQTTMessage()
+        //        {
+        //            Type = "TestSendMQTT001",
+        //            Content = "TestSendMQTT001锛屾祴璇曟秷鎭紒",
+        //            Data = "",
+        //            DataType = typeof(String).Name,
+        //            IsSuccessed = true,
+        //        });
+        //    });
+        //    return Ok(MQTTHelper.Send(action.GetResponse(msg)));
+        //}
+
+        /// <summary>
+        /// DeleteMQTTTopicAsync
+        /// </summary>
+        /// <param name="action"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<IActionResult> DeleteMQTTTopicAsync([FromBody] ApiAction action)
+        {
+            string msg = "";
+            await Task.Run(() =>
+            {
+                //msg = MQTTHelper.DeleteTopic(action.ID) ? "鍒犻櫎Topic鎴愬姛" : "鍒犻櫎Topic澶辫触";
+            });
+            
+            return Ok(action.GetResponse(msg));
+        }
     }
 }

--
Gitblit v1.9.3