From 1af49bdb3cdaa44a7e44ebdc843fb8180596365f Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期四, 15 五月 2025 16:34:39 +0800
Subject: [PATCH] 尾箱回库、移库逻辑开发

---
 Services/DebugService.cs |   63 ++++++++++++++++++++++---------
 1 files changed, 44 insertions(+), 19 deletions(-)

diff --git a/Services/DebugService.cs b/Services/DebugService.cs
index 71d3d88..bc72257 100644
--- a/Services/DebugService.cs
+++ b/Services/DebugService.cs
@@ -7,6 +7,7 @@
 using CsvHelper;
 using CsvHelper.Configuration;
 
+using HH.WCS.Mobox3.DSZSH.Helper;
 using HH.WCS.Mobox3.DSZSH.Helpers;
 using HH.WCS.Mobox3.DSZSH.Models;
 
@@ -53,22 +54,22 @@
             }
 
             var agvTaskState = new AgvTaskState() {
-                TaskNo = model.TaskID,
-                ForkliftNo = model.ForkliftNo,
+                task_no = model.TaskID,
+                forklift_no = model.ForkliftNo,
             };
 
             var result = new ReturnResult();
 
             // 褰撳墠鐘舵�娌℃湁杈惧埌鏈�粓鐘舵�鏃讹紝寰幆鍔犲叆杩斿洖鍒楄〃
             while (agvCurrentState != model.NextState) {
-                agvTaskState.State = agvCurrentState;
+                agvTaskState.state = agvCurrentState;
                 result = AgvService.OperateAgvTaskStatus(agvTaskState);
                 returnResults.ResultList.Add(result);
                 agvCurrentState = AgvHelper.GetNextState(agvCurrentState);
             }
 
             // 灏嗗惊鐜病鏈夊埌杈剧殑鏈�粓鐘舵�锛屼篃鍔犲叆杩斿洖鍒楄〃
-            agvTaskState.State = model.NextState;
+            agvTaskState.state = model.NextState;
             result = AgvService.OperateAgvTaskStatus(agvTaskState);
             returnResults.ResultList.Add(result);
 
@@ -80,23 +81,47 @@
         /// 鍒濆鏁版嵁搴撳缓绔�         /// </summary>
         /// <returns></returns>
-        public static string CreateDatabase() {
+        public static string CreateDatabase(bool cover = true) {
             try {
                 var db = DbHelper.GetDbClient();
 
-                //db.CodeFirst.InitTables<TN_CG_Detail>();
-                //db.CodeFirst.InitTables<TN_WorkOrder>();
-                //db.CodeFirst.InitTables<TN_CAR_IN>();
-                ////db.CodeFirst.InitTables<SYSHelper.OI_SYS_MAXID>();
-                //db.CodeFirst.InitTables<TN_Task_Action>();
-                //db.CodeFirst.InitTables<TN_Task>();
-                //db.CodeFirst.InitTables<TN_Location>();
-                //db.CodeFirst.InitTables<TN_Loc_Container>();
+                var entityTypes = new Type[] { 
+                    typeof(TN_CAR_IN),
+                    typeof(TN_CG_Detail),
+                    typeof(TN_Container),
+                    typeof(TN_Loc_Container),
+                    typeof(TN_Location),
+                    typeof(TN_Task),
+                    typeof(TN_Task_Action),
+                    typeof(SysHelper.OI_SYS_MAXID),
 
-                //db.CodeFirst.InitTables<TN_Outbound_Order>();
-                //db.CodeFirst.InitTables<TN_Outbound_Detail>();
-                //db.CodeFirst.InitTables<TN_Check_Order>();
-                db.CodeFirst.InitTables<TN_Check_Detail>();
+                    typeof(TN_Inbound_Order),
+                    typeof(TN_Check_Detail),
+                    typeof(TN_Check_Order),
+                    typeof(TN_CNTR_ITEM),
+                    typeof(TN_Outbound_Detail),
+                    typeof(TN_Outbound_Order),
+                };
+
+                using (var tran = db.Ado.UseTran()) {
+                    if (cover) {
+                        // 鍒犻櫎鎵�湁琛紙鎸変緷璧栧叧绯诲�搴忥級
+                        var tables = db.DbMaintenance.GetTableInfoList();
+                        foreach (var table in tables.OrderByDescending(t => t.Name)) {
+                            db.DbMaintenance.DropTable(table.Name);
+                        }
+
+                        // 鍒涘缓鏂拌〃
+                        db.CodeFirst.InitTables(entityTypes);
+
+                        //db.CodeFirst.BackupTable().InitTables(entityTypes);
+                    }
+                    else {
+                        db.CodeFirst.InitTables(entityTypes);
+                    }
+
+                    tran.CommitTran();
+                }
 
             }
             catch (Exception ex) {
@@ -191,10 +216,10 @@
                         }
 
                         var cgDetail = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == locCntrCg.CntrCode
-                            && a.S_CG_ID == locCntrCg.CgId);
+                            && a.S_ITEM_CODE == locCntrCg.CgId);
                         if (cgDetail == null) {
                             var locList = new List<TN_CG_Detail>();
-                            locList.Add(new TN_CG_Detail { S_CNTR_CODE = locCntrCg.CntrCode, S_CG_ID = locCntrCg.CgId, S_BATCH_NO = locCntrCg.BatchNo ?? "" });
+                            locList.Add(new TN_CG_Detail { S_CNTR_CODE = locCntrCg.CntrCode, S_ITEM_CODE = locCntrCg.CgId, S_BATCH_NO = locCntrCg.BatchNo ?? "" });
                             if (db.Insertable<TN_CG_Detail>(locList).ExecuteCommand() <= 0) {
                                 tran.RollbackTran();
                                 LogHelper.Info($"鎻掑叆鎵樼洏鐗╂枡鍏崇郴{locCntrCg.CntrCode}-{locCntrCg}澶辫触");

--
Gitblit v1.9.1