dengjunjie
6 天以前 528badf2f1efe5355975de7942fb7a26e71a8e18
新建文件夹/WIDESEA_WMSServer/ClassLibrary2/MessageInfoService.cs
@@ -48,9 +48,14 @@
            {
                Dt_MessageInfo dt_MessageInfo = null;
                if (groupByEnum == MessageGroupByEnum.InventoryExceedAlarm)
                {
                    dt_MessageInfo = BaseDal.QueryFirst(x => x.MessageName == messageName && x.MessageRemark == messageRemark);
                    if (dt_MessageInfo != null && dt_MessageInfo.MessageInfo == messageInfo) return content;
                }
                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 +70,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 +85,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 +127,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 +135,9 @@
                    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());
                foreach (var item in messinfo)
                {
                    Message message = new Message()
@@ -136,8 +158,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)
            {