using SqlSugar.Extensions; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Common; using WIDESEA_Core; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_Core.Enums; using WIDESEA_IWMsInfoServices; using WIDESEA_Model.Models; namespace WIDESEA_WMsInfoServices { public class MessageInfoService : ServiceBase>, IMessageInfoService { public MessageInfoService(IRepository BaseDal) : base(BaseDal) { } public IRepository Repository => BaseDal; /// /// 添加通知信息 /// /// /// /// /// /// /// public WebResponseContent AddMessageInfo(MessageGroupByEnum groupByEnum, string messageName, string messageInfo, MessageStatusEnum statusEnum = MessageStatusEnum.Undisposed, string messageRemark = "") { WebResponseContent content = new WebResponseContent(); try { Dt_MessageInfo dt_MessageInfo = null; if (groupByEnum == MessageGroupByEnum.InventoryExceedAlarm) dt_MessageInfo = BaseDal.QueryFirst(x => x.MessageName == messageName && x.MessageRemark == messageRemark); else dt_MessageInfo = BaseDal.QueryFirst(x => x.MessageName == messageName && x.MessageInfo == messageInfo); if (dt_MessageInfo == null) { dt_MessageInfo = new Dt_MessageInfo(); dt_MessageInfo.MessageGroupBy = groupByEnum.ObjToInt(); dt_MessageInfo.MessageStatus = statusEnum.ObjToInt(); dt_MessageInfo.MessageName = messageName; dt_MessageInfo.MessageInfo = messageInfo; dt_MessageInfo.MessageRemark = messageRemark; BaseDal.AddData(dt_MessageInfo); } else { if (dt_MessageInfo.MessageGroupBy == MessageGroupByEnum.InventoryExceedAlarm.ObjToInt()) { dt_MessageInfo.MessageStatus = statusEnum.ObjToInt(); dt_MessageInfo.MessageName = messageName; dt_MessageInfo.MessageInfo = messageInfo; dt_MessageInfo.MessageRemark = messageRemark; BaseDal.UpdateData(dt_MessageInfo); } } } catch (Exception ex) { content.Error(ex.Message); } return content; } public WebResponseContent DeleteAndIntoHty(int[] keys) { WebResponseContent content = new WebResponseContent(); try { List messageInfos = BaseDal.QueryData(x => keys.Contains(x.Id)); foreach (var item in messageInfos) { item.MessageStatus = MessageStatusEnum.Processed.ObjToInt(); item.Modifier = App.User.UserName; } BaseDal.DeleteAndMoveIntoHty(messageInfos, OperateTypeEnum.人工完成); } catch (Exception ex) { content.Error(ex.Message); } return content; } } }