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