From 208ba32323f73ade277e230b78fde2db04f860ac Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期日, 02 十一月 2025 17:25:54 +0800
Subject: [PATCH] 优化处理出库单逻辑
---
新建文件夹/WIDESEA_WMSServer/ClassLibrary2/MessageInfoService.cs | 33 ++++++++++++++++++++++++++++-----
1 files changed, 28 insertions(+), 5 deletions(-)
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/MessageInfoService.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/MessageInfoService.cs"
index ea8b9de..7ab47d9 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/MessageInfoService.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/MessageInfoService.cs"
@@ -51,6 +51,8 @@
dt_MessageInfo = BaseDal.QueryFirst(x => x.MessageName == messageName && x.MessageRemark == messageRemark);
else
dt_MessageInfo = BaseDal.QueryFirst(x => x.MessageName == messageName && x.MessageInfo == messageInfo);
+ if (groupByEnum != MessageGroupByEnum.InventoryExceedAlarm && dt_MessageInfo != null) return content;
+
if (dt_MessageInfo == null)
{
dt_MessageInfo = new Dt_MessageInfo();
@@ -65,6 +67,7 @@
{
if (dt_MessageInfo.MessageGroupBy == MessageGroupByEnum.InventoryExceedAlarm.ObjToInt())
{
+ if (dt_MessageInfo.MessageInfo == messageInfo) return content;
dt_MessageInfo.MessageStatus = statusEnum.ObjToInt();
dt_MessageInfo.MessageName = messageName;
dt_MessageInfo.MessageInfo = messageInfo;
@@ -79,18 +82,36 @@
}
return content;
}
- public WebResponseContent DeleteAndIntoHty(int[] keys)
+ public override WebResponseContent DeleteData(object[] keys)
+ {
+ return DeleteAndIntoHty(keys);
+ //return base.DeleteData(keys);
+ }
+ public WebResponseContent DeleteAndIntoHty(object[] keys)
{
WebResponseContent content = new WebResponseContent();
try
{
List<Dt_MessageInfo> messageInfos = BaseDal.QueryData(x => keys.Contains(x.Id));
+ List<int> ints = new List<int>();
foreach (var item in messageInfos)
{
item.MessageStatus = MessageStatusEnum.Processed.ObjToInt();
item.Modifier = App.User.UserName;
+ ints.Add(item.Id);
}
BaseDal.DeleteAndMoveIntoHty(messageInfos, OperateTypeEnum.浜哄伐瀹屾垚);
+ string MessageInfo = _cacheService.Get("MessageInfo");
+ if (!string.IsNullOrEmpty(MessageInfo))
+ {
+ List<Message>? messages = JsonConvert.DeserializeObject<List<Message>>(MessageInfo);
+ if (messages != null)
+ {
+ messages = messages.Where(x => !ints.Contains(x.Id)).ToList();
+ _cacheService.AddOrUpdate("MessageInfo", JsonConvert.SerializeObject(messages));
+ }
+ }
+ content.OK("澶勭悊鎴愬姛");
}
catch (Exception ex)
{
@@ -103,7 +124,6 @@
{
try
{
- List<int> keys = new List<int>();
List<Message> messagesinfo = new List<Message>();
string MessageInfo = _cacheService.Get("MessageInfo");
if (!string.IsNullOrEmpty(MessageInfo))
@@ -112,10 +132,10 @@
if (messages != null)
{
messagesinfo = messages;
- keys = messages.Select(x => x.Id).ToList();
}
}
- var messinfo = BaseDal.QueryData(x => !keys.Contains(x.Id));
+ var messinfo = BaseDal.QueryData(x => x.MessageStatus < MessageStatusEnum.Wait.ObjToInt());
+ messagesinfo = messagesinfo.Where(x => !messinfo.Select(x => x.Id).Contains(x.Id)).ToList();
foreach (var item in messinfo)
{
Message message = new Message()
@@ -136,8 +156,11 @@
};
if (_webSocketServer.OnlineCount > 0)
_webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(obj));
+ item.MessageStatus = MessageStatusEnum.Wait.ObjToInt();
}
- _cacheService.AddOrUpdate("MessageInfo", JsonConvert.SerializeObject(messagesinfo));
+ if (messagesinfo.Count > 0)
+ _cacheService.AddOrUpdate("MessageInfo", JsonConvert.SerializeObject(messagesinfo));
+ BaseDal.UpdateData(messinfo);
}
catch (Exception ex)
{
--
Gitblit v1.9.3