From a8627a98b82d2364cbe849ca746e72fbab9916e5 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期三, 21 五月 2025 17:31:14 +0800
Subject: [PATCH] 重构代码修复事务问题,测试完善后台盘点功能

---
 wms/WCSHelper.cs |   70 ++++++++++++++++++++++++++--------
 1 files changed, 53 insertions(+), 17 deletions(-)

diff --git a/Helpers/WCSHelper.cs b/wms/WCSHelper.cs
similarity index 76%
rename from Helpers/WCSHelper.cs
rename to wms/WCSHelper.cs
index e907819..5041a23 100644
--- a/Helpers/WCSHelper.cs
+++ b/wms/WCSHelper.cs
@@ -1,4 +1,4 @@
-锘縰sing HH.WCS.Mobox3.AnGang.Models;
+锘縰sing HH.WCS.Mobox3.AnGang.models;
 using HH.WCS.Mobox3.AnGang.config;
 using Newtonsoft.Json;
 using System;
@@ -6,27 +6,26 @@
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
-using HH.WCS.Mobox3.AnGang.Helpers;
-using HH.WCS.Mobox3.AnGang.Consts;
+using HH.WCS.Mobox3.AnGang.util;
 
-namespace HH.WCS.Mobox3.AnGang.Helper {
+namespace HH.WCS.Mobox3.AnGang.wms {
     internal class WCSHelper {
         internal static string GenerateTaskNo() {
-            var id = SysHelper.GetSerialNumber("浠诲姟鍙�, "TN");
+            var id = SYSHelper.GetSerialNumber("浠诲姟鍙�, "TN");
             var date = DateTime.Now.ToString("yyMMdd");
             return $"TN{date}{id.ToString().PadLeft(4, '0')}";
         }
         internal static bool UpdateStatus(TN_Task task, string status) 
         {
             var res = false;
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             task.S_B_STATE = status;
             res = db.Updateable(task).UpdateColumns(it => new { it.S_B_STATE }).ExecuteCommand()>0;
             return res;
         }
         internal static bool UpdateStatus(TN_Task task) {
             var res = false;
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             task.S_B_STATE = TN_Task.GetStateStr(task.N_B_STATE);
             task.T_MODIFY = DateTime.Now;
             db.Updateable(task).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE, it.T_MODIFY }).ExecuteCommand();
@@ -35,16 +34,53 @@
 
         internal static bool UpdateEQNo(TN_Task task) {
             var res = false;
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             task.T_MODIFY = DateTime.Now;
             db.Updateable(task).UpdateColumns(it => new { it.S_EQ_TASK_CODE, it.T_MODIFY }).ExecuteCommand();
             return res;
         }
 
         internal static TN_Task GetTask(string no) {
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             var task = db.Queryable<TN_Task>().Where(a => a.S_CODE == no).First();
             return task;
+        }
+
+        public static TN_Task BuildTask(TN_Location startLoc, TN_Location endLoc, string cntId, string type) {
+            TN_Task TN_Task = new TN_Task() {
+                S_CODE = GenerateTaskNo(),
+                S_START_AREA = startLoc.S_AREA_CODE,
+                S_END_AREA = endLoc.S_AREA_CODE,
+                S_START_LOC = startLoc.S_CODE,
+                S_END_LOC = endLoc.S_CODE,
+                S_TYPE = type,
+                N_PRIORITY = 3,
+                N_SCHEDULE_TYPE = 3, // 鍥借嚜
+                N_B_STATE = 0,
+                S_CNTR_CODE = cntId,
+            };
+
+            return TN_Task;
+        }
+
+        public static TN_Task BuildInboundTask(TN_Location startLoc, string endLocCode, string cntId) {
+            var type = TaskName.浜у搧鍏ュ簱;
+            var endArea = "HJQ";
+
+            TN_Task TN_Task = new TN_Task() {
+                S_CODE = GenerateTaskNo(),
+                S_START_AREA = startLoc.S_AREA_CODE,
+                S_END_AREA = endArea,
+                S_START_LOC = startLoc.S_CODE,
+                S_END_LOC = endLocCode,
+                S_TYPE = type,
+                N_PRIORITY = 3,
+                N_SCHEDULE_TYPE = 3, // 鍥借嚜
+                N_B_STATE = 0,
+                S_CNTR_CODE = cntId,
+            };
+
+            return TN_Task;
         }
 
         /// <summary>
@@ -90,7 +126,7 @@
             };
 
             var log = JsonConvert.SerializeObject(TN_Task);
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             var res = db.Insertable(TN_Task).ExecuteCommand() > 0;
             if (res)
             {
@@ -130,7 +166,7 @@
                     });
                 }
                 var log = JsonConvert.SerializeObject(tN_Tasks);
-                var db = DbHelper.GetDbClient();
+                var db = new SqlHelper<object>().GetInstance();
                 var res = db.Insertable<TN_Task>(tN_Tasks).ExecuteCommand() > 0;
                 if (res)
                 {
@@ -148,13 +184,13 @@
 
 
         internal static bool CheckActionRecordExist(string no, int code) {
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             return db.Queryable<TN_Task_Action>().Count(a => a.S_TASK_CODE == no && a.N_ACTION_CODE == code) > 0;
         }
 
         internal static void Begin(TN_Task task, string forklift_no) 
         {
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             if (task != null) 
             {
                 if (task.N_B_STATE == 1) 
@@ -169,7 +205,7 @@
             }
         }
         internal static void End(TN_Task task) {
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             if (task != null) {
                 task.N_B_STATE = 3;
                 task.S_B_STATE = TN_Task.GetStateStr(task.N_B_STATE);
@@ -178,7 +214,7 @@
             }
         }
         internal static void Fail(TN_Task task) {
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             if (task != null) {
                 //鍒ゆ柇鏈夋病鏈夊彇璐у畬鎴愶紝娌℃湁灏卞彉鎴愬け璐ャ�鏈夊彇璐у畬鎴愰粯璁ゅ畬鎴愪簡锛堣窡鎹」鐩�瀹氾紝鏈変簺椤圭洰浜哄伐鎷夎蛋浜嗕篃娌℃湁鏀惧埌缁堢偣锛夈�
                 task.N_B_STATE = 4;
@@ -189,7 +225,7 @@
 
         internal static bool AddActionRecord(string no, int state, string forkliftNo, string extData)
         {
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             var action = new TN_Task_Action()
             {
                 N_ACTION_CODE = state,
@@ -202,7 +238,7 @@
         }
 
         internal static List<TN_Task> GetWaitingTaskList() {
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             return db.Queryable<TN_Task>().Where(a => a.N_B_STATE == 0 && (a.S_B_STATE == "绛夊緟" || a.S_B_STATE == "寰呮帹閫�)).ToList();
         }
     }

--
Gitblit v1.9.1