using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Text; using Model.ModelDto.BllSoDto; using Model.ModelDto.LogDto; using SqlSugar; using WMS.DAL; using WMS.Entity.Context; using WMS.Entity.LogEntity; using WMS.Entity.SysEntity; using WMS.IBLL.ILogServer; namespace WMS.BLL.LogServer { public class TaskServer:DbHelper<LogTask>,ITaskServer { private static readonly SqlSugarScope Db = DataContext.Db; public TaskServer():base(Db) { } public List<TaskDto> GetTaskList(List<string> orderType, string type, string status, string taskNo, int isSuccess, string palletNo, string msg, int page, int limit, out int count) { try { Expression<Func<LogTask, bool>> item = Expressionable.Create<LogTask>() .AndIF( orderType.Count>0, it => orderType.Contains(it.OrderType)) .AndIF(!string.IsNullOrWhiteSpace(type), it => it.Type == type) .AndIF(!string.IsNullOrWhiteSpace(status), it => it.Status == status) .AndIF(!string.IsNullOrWhiteSpace(taskNo), it => it.TaskNo.Contains(taskNo.Trim())) .AndIF(isSuccess != -1, it => it.IsSuccess == isSuccess) .AndIF(!string.IsNullOrWhiteSpace(palletNo), it => it.PalletNo.Contains(palletNo.Trim())) .AndIF(!string.IsNullOrWhiteSpace(msg), it => it.Msg.Contains(msg.Trim())) .ToExpression();//æ³¨æ„ è¿™ä¸€å¥ ä¸èƒ½å°‘ var total = 0; var data = GetAllWhereAsync(item) .LeftJoin<SysUserInfor>((a,b)=>a.CreateUser == b.Id). Select((a,b) => new TaskDto() { Id = a.Id, TaskNo = a.TaskNo, Sender = a.Sender, Receiver = a.Receiver, IsSuccess = a.IsSuccess, Information = a.Information, SendDate = a.SendDate, BackDate = a.BackDate, StartLocat = a.StartLocat, EndLocat = a.EndLocat, MessageDate = a.MessageDate, PalletNo = a.PalletNo, Msg = a.Msg, IsSend = a.IsSend, IsCancel = a.IsCancel, IsFinish = a.IsFinish, Status = a.Status, Type = a.Type, OrderType = a.OrderType, CancelDate = a.CancelDate, FinishDate = a.FinishDate, CreateUserName =b.RealName, CreateTime = a.CreateTime }) .OrderByDescending(a => a.TaskNo) .ToOffsetPage(page,limit,ref total); count = total; return data.OrderByDescending(m=>m.TaskNo).ToList(); } catch (Exception e) { throw new Exception(e.Message); } } //修改任务下å‘状æ€ä¸ºæˆåŠŸ public void EditTaskIssueOk(List<string> taskNo, DateTime sendTime, DateTime backTime) { try { var list = GetAllWhereAsync(m => taskNo.Contains(m.TaskNo)).ToList(); foreach (var item in list) { item.IsSuccess = 1; item.Status = "1"; item.SendDate = sendTime; item.BackDate = backTime; } Db.Updateable(list).ExecuteCommand(); } catch (Exception e) { throw new Exception(e.Message); } } //修改任务下å‘状æ€ä¸ºå¤±è´¥å¼‚å¸¸ä¿¡æ¯ public void EditTaskIssueNo(List<string> taskNo, DateTime sendTime, DateTime backTime, string information) { try { var list = GetAllWhereAsync(m => taskNo.Contains(m.TaskNo)).ToList(); foreach (var item in list) { item.SendDate = sendTime; item.BackDate = backTime; item.Information = information; } Db.Updateable(list).ExecuteCommand(); } catch (Exception e) { throw new Exception(e.Message); } } public string GetTaskOrderType(string taskNo) { try { var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo); if (task == null) { throw new Exception($"未查询到{taskNo}任务å·çš„任务信æ¯"); } return task.OrderType; } catch (Exception e) { throw new Exception(e.Message); } } } }