From 38a8b2931abd72ee04285794aacbea7ed7c49228 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期二, 13 五月 2025 17:06:43 +0800
Subject: [PATCH] 抽检合格回库/不合格移库开发完成

---
 Services/DebugService.cs |   68 ++++++++++++++++++++++++----------
 1 files changed, 48 insertions(+), 20 deletions(-)

diff --git a/Services/DebugService.cs b/Services/DebugService.cs
index 2d3cd8f..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;
 
@@ -16,6 +17,7 @@
 using static HH.WCS.Mobox3.DSZSH.Dtos.Request.DebugRequest;
 using static HH.WCS.Mobox3.DSZSH.Dtos.Response.AgvResponse;
 using static HH.WCS.Mobox3.DSZSH.Dtos.Response.DebugResponse;
+using static HH.WCS.Mobox3.DSZSH.Models.DebugModel;
 
 namespace HH.WCS.Mobox3.DSZSH.Services {
     public class DebugService {
@@ -52,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);
 
@@ -79,22 +81,48 @@
         /// 鍒濆鏁版嵁搴撳缓绔�         /// </summary>
         /// <returns></returns>
-        public 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_Outbound_Task>();
+                    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) {
                 LogHelper.Info($"鍙戠敓浜嗗紓甯�);
@@ -118,12 +146,12 @@
                     BadDataFound = context => { }  // 澶勭悊閿欒鏁版嵁
                 };
 
-                var locCntrCgList = new List<DebugModel.LocCntrCg>();
+                var locCntrCgList = new List<LocCntrCg>();
 
                 using (var reader = new StreamReader(filePath))
                 using (var csv = new CsvReader(reader, configuration)) {
                     // 璇诲彇璁板綍
-                    locCntrCgList = csv.GetRecords<DebugModel.LocCntrCg>().ToList();
+                    locCntrCgList = csv.GetRecords<LocCntrCg>().ToList();
                 }
 
                 using (var tran = db.UseTran()) {
@@ -188,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