From 419c45d4ae0a1815208c101c3e09788ec1698dc2 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期五, 23 五月 2025 17:28:08 +0800
Subject: [PATCH] 更改任务号等临时编码的生成机制

---
 wms/SYSHelper.cs                                                                     |   45 ++++++++++++++++++++++++++++++++++++++++++---
 /dev/null                                                                            |    0 
 .vs/HH.WCS.Mobox3.AnGang/FileContentIndex/231ebe09-1be5-4df5-9128-8244b1b888a7.vsidx |    0 
 api/ApiHelper.cs                                                                     |    1 +
 .vs/HH.WCS.Mobox3.AnGang/FileContentIndex/530fbb96-4d54-44a7-b144-9b0bd20dba28.vsidx |    0 
 5 files changed, 43 insertions(+), 3 deletions(-)

diff --git a/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/231ebe09-1be5-4df5-9128-8244b1b888a7.vsidx b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/231ebe09-1be5-4df5-9128-8244b1b888a7.vsidx
new file mode 100644
index 0000000..3936964
--- /dev/null
+++ b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/231ebe09-1be5-4df5-9128-8244b1b888a7.vsidx
Binary files differ
diff --git a/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/530fbb96-4d54-44a7-b144-9b0bd20dba28.vsidx b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/530fbb96-4d54-44a7-b144-9b0bd20dba28.vsidx
new file mode 100644
index 0000000..0b35cb6
--- /dev/null
+++ b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/530fbb96-4d54-44a7-b144-9b0bd20dba28.vsidx
Binary files differ
diff --git a/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/b2175d53-106b-45a1-ad0e-0dd460928cd4.vsidx b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/b2175d53-106b-45a1-ad0e-0dd460928cd4.vsidx
deleted file mode 100644
index ea4154e..0000000
--- a/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/b2175d53-106b-45a1-ad0e-0dd460928cd4.vsidx
+++ /dev/null
Binary files differ
diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs
index e01d92b..19d79e6 100644
--- a/api/ApiHelper.cs
+++ b/api/ApiHelper.cs
@@ -554,6 +554,7 @@
 
         internal static string GenerateNo(string snType, string prefix) {
             var id = SYSHelper.GetSerialNumber(snType, prefix);
+            
             var date = DateTime.Now.ToString("yyMMdd");
             return $"{prefix}{date}{id.ToString().PadLeft(4, '0')}";
         }
diff --git a/wms/SYSHelper.cs b/wms/SYSHelper.cs
index 86ba94d..7a01d3f 100644
--- a/wms/SYSHelper.cs
+++ b/wms/SYSHelper.cs
@@ -19,16 +19,54 @@
                 var db = new SqlHelper<object>().GetInstance();
                 var sId = db.Queryable<OI_SYS_MAXID>().Where(a => a.CN_S_TYPE.Trim() == snType && a.CN_S_PRE.Trim() == prefix).First();
                 if (sId != null) {
-                    sId.CN_N_MAX++;
-                    if (db.Ado.ExecuteCommand($"update OI_SYS_MAXID set CN_N_MAX={sId.CN_N_MAX} where CN_S_TYPE='{snType}' and CN_S_PRE='{prefix}' ") > 0) {
+
+                    if (sId.CN_T_LAST < DateTime.Today) {
+                        sId.CN_N_MAX = 1;
+                    }
+                    else {
+                        sId.CN_N_MAX++;
+                    }
+                    
+                    sId.CN_T_LAST = DateTime.Now;
+                    if (db.Ado.ExecuteCommand($"update OI_SYS_MAXID set CN_N_MAX={sId.CN_N_MAX}, CN_T_LAST='{sId.CN_T_LAST}' where CN_S_TYPE='{snType}' and CN_S_PRE='{prefix}' ") > 0) {
+                        //LogHelper.Info($"set cn_n_max {sId.CN_N_MAX}");
                         result = sId.CN_N_MAX;
                     }
+
+                    //if (db.Updateable<OI_SYS_MAXID>(sId).UpdateColumns(it => new { it.CN_N_MAX, it.CN_T_LAST}).ExecuteCommand() > 0) {
+                    //    result = sId.CN_N_MAX;
+                    //}
+
+                    //if (db.Updateable<OI_SYS_MAXID>()
+                    //    .SetColumns(it => it.CN_N_MAX == sId.CN_N_MAX && it.CN_T_LAST == sId.CN_T_LAST)
+                    //    .Where(it => it.CN_S_TYPE == sId.CN_S_TYPE && it.CN_S_PRE == sId.CN_S_TYPE)
+                    //    .ExecuteCommand() > 0) {
+                    //    result = sId.CN_N_MAX;
+                    //}
+
+                    //var parameters = new[] {
+                    //    new SugarParameter("@CN_N_MAX", sId.CN_N_MAX),
+                    //    new SugarParameter("@CN_T_LAST", sId.CN_T_LAST),
+                    //    new SugarParameter("@CN_S_TYPE", sId.CN_S_TYPE),
+                    //    new SugarParameter("@CN_S_PRE", sId.CN_S_TYPE)
+                    //};
+
+                    //var sql = @"UPDATE OI_SYS_MAXID 
+                    //    SET CN_N_MAX = @CN_N_MAX, CN_T_LAST = @CN_T_LAST 
+                    //    WHERE CN_S_TYPE = @CN_S_TYPE AND CN_S_PRE = @CN_S_PRE";
+
+                    //if (db.Ado.ExecuteCommand(sql, parameters) > 0) {
+                    //    result = sId.CN_N_MAX;
+                    //    LogHelper.Info($"set cn_n_max {sId.CN_N_MAX}");
+                    //}
+
+
                 }
                 else {
                     //鎻掑叆琛�                     sId = new OI_SYS_MAXID { CN_S_TYPE = snType, CN_S_PRE = prefix, CN_N_MAX = 1 };
                     result = db.Insertable<OI_SYS_MAXID>(sId).ExecuteCommand() > 0 ? 1 : 0;
-
+                    
                 }
             }
             return result;
@@ -40,6 +78,7 @@
             public string CN_S_TYPE { get; set; }
             public string CN_S_PRE { get; set; }
             public int CN_N_MAX { get; set; }
+            public DateTime CN_T_LAST { get; set; }
         }
     }
 }

--
Gitblit v1.9.1