Bladeren bron

1、Lot数据上传MES接口调试
2、添加定时功能,每日早上8点删除两月前的信息
3、修改Lot3数据上传接口功能,对重复上传的数据进行验证并作标记处理一并存入数据库。

baowei 7 maanden geleden
bovenliggende
commit
dce4ad7a0d

+ 1 - 0
EInk.Lot3/Program.cs

@@ -12,6 +12,7 @@ builder.Services.AddEndpointsApiExplorer();
 builder.Services.AddSwaggerGen();
 builder.Services.AddSingleton<IStartupFilter, ReadLot2Filter>();
 builder.Services.AddSingleton<IStartupFilter, SendLot2Lot3Filter>();
+builder.Services.AddSingleton<IStartupFilter, DeleteDBRecordFilter>();
 builder.Services.AddSingleton<ISqlSugarClient>(s =>
 {
     SqlSugarScope sqlSugar = new(new ConnectionConfig()

+ 20 - 0
EInk.Lot3/Startup.cs

@@ -53,4 +53,24 @@ namespace EInk.Lot2Lot3
     }
 
 
+    public class DeleteDBRecordFilter : IStartupFilter
+    {
+        private readonly ISqlSugarClient _db = new SqlSugarClient(new ConnectionConfig()
+        {
+            DbType = DbType.PostgreSQL,
+            ConnectionString = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue<string>("LocalDbConnectionString"),
+            IsAutoCloseConnection = true
+        });
+
+        public Action<IApplicationBuilder> Configure(Action<IApplicationBuilder> next)
+        {
+            DeleteDBRecordThread deleterecord = new DeleteDBRecordThread(_db);
+            if (new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue<string>("DeleteDBRecordhread") == "on")
+            {
+                deleterecord.DeleteThreadStart();
+            }
+            return app => next(app);
+        }
+    }
+
 }

+ 50 - 0
EInk.Lot3/TaskThread/DeleteDBRecordThread.cs

@@ -0,0 +1,50 @@
+using EInk.Dtos;
+using EInk.Models;
+using EInk.Tools;
+using Newtonsoft.Json;
+using SqlSugar;
+
+namespace EInk.TaskThread
+{
+    public class DeleteDBRecordThread
+    {
+        private readonly ISqlSugarClient _db;
+
+        public DeleteDBRecordThread(ISqlSugarClient db)
+        {
+            _db = db;
+        }
+
+        public void DeleteThreadStart()
+        {
+            Thread t = new Thread(DeleteTask);
+            t.Start(_db);
+        }
+
+        static void DeleteTask(Object db)
+        {
+            ISqlSugarClient _db = (ISqlSugarClient)db;
+            while (true)
+            {
+                try
+                {
+                    DateTime now = DateTime.Now;
+                    if (now.Hour==8)
+                    {
+                        _db.Deleteable<Lot2Lot3Model>().Where(x => x.create_time < now.AddMonths(-2)).ExecuteCommand();  
+                    }
+
+                }
+                catch (Exception ex)
+                {
+                    LogerHelper.RecordLogTxt("DeleteTask," + ex.Message);
+                }
+                finally
+                {
+                    Thread.Sleep(1000 * 60 * 60);
+                }
+            }
+
+        }
+    }
+}

+ 1 - 1
EInk.Lot3/TaskThread/SendLot2Lot3Thread.cs

@@ -51,7 +51,7 @@ namespace EInk.TaskThread
                             }
                             else
                             {
-                                LogerHelper.RecordLogTxt("SendLotTask,MesApi2," + rt_bl.ToString() + "," + rt_str + "," + unsend.content);
+                                LogerHelper.RecordLogTxt("SendLotTask,MesApi2," + rt_bl+ "," + rt_str + "," + unsend.content);
                             }
                             Thread.Sleep(5000);
                         }

+ 2 - 1
EInk.Lot3/appsettings.json

@@ -15,5 +15,6 @@
   "PatternList": "wht,dot",
   "Topic": "LOT2AOIData#04#04-2AOI01",
   "ReadLot2Thread": "off",
-  "SendLot2Lot3Thread": "off"
+  "SendLot2Lot3Thread": "off",
+  "DeleteDBRecordhread": "on"
 }