| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using wms.sqlsugar.model.hj;
 
- using WMS.BZModels;
 
- using WMS.BZSqlSugar;
 
- using WMS.Info;
 
- using SqlSugar;
 
- using WMS.Util;
 
- using WMS.BZModels.Dto.HJ.BillInvDtos;
 
- using NPOI.SS.Formula.PTG;
 
- using WMS.BZModels.Dto.HJ.TaskDtos;
 
- using WMS.BZModels.Dto;
 
- using Mapster;
 
- namespace WMS.BZServices.HJ
 
- {
 
-     public class WCSTaskOldService
 
-     {
 
-         private readonly Repository<WCS_TaskOld> _wcstaskoldrepository;
 
-         private readonly Repository<WCS_AgvTaskInfo> _agvtaskoldrepository;
 
-         public WCSTaskOldService(Repository<WCS_TaskOld> wcstaskoldrepository, Repository<WCS_AgvTaskInfo> agvtaskoldrepository)
 
-         {
 
-             _wcstaskoldrepository = wcstaskoldrepository;
 
-             _agvtaskoldrepository = agvtaskoldrepository;
 
-         }
 
-         public PagedInfo<WCSTaskoldDto> GetPageList(Pagination pagination, WCSTaskoldQueryDto WCSTaskoldQueryDto)
 
-         {
 
-             ISugarQueryable<WCS_TaskOld> query = GetQueryable(WCSTaskoldQueryDto);
 
-             var list = query.ToPage<WCS_TaskOld, WCSTaskoldDto>(pagination);
 
-             return list;
 
-         }
 
-         private ISugarQueryable<WCS_TaskOld> GetQueryable(WCSTaskoldQueryDto WCSTaskoldQueryDto)
 
-         {
 
-             var predicate = Expressionable.Create<WCS_TaskOld>();
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(WCSTaskoldQueryDto?.ID), m => m.ID.ToString().Contains(WCSTaskoldQueryDto.ID));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(WCSTaskoldQueryDto?.KeyWord), m => m.ID.ToString().Contains(WCSTaskoldQueryDto.KeyWord) || m.BarCode.Contains(WCSTaskoldQueryDto.KeyWord) || m.MaterialCode.Contains(WCSTaskoldQueryDto.KeyWord)
 
-             || m.InvBarCode.Contains(WCSTaskoldQueryDto.KeyWord) || m.AddrFrom.Contains(WCSTaskoldQueryDto.KeyWord) || m.AddrTo.Contains(WCSTaskoldQueryDto.KeyWord) ||
 
-             m.Floor.ToString() == WCSTaskoldQueryDto.KeyWord || m.Tunnel.Contains(WCSTaskoldQueryDto.KeyWord) || m.Device.Contains(WCSTaskoldQueryDto.KeyWord));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(WCSTaskoldQueryDto?.BarCode), m => m.BarCode.Contains(WCSTaskoldQueryDto.BarCode));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(WCSTaskoldQueryDto?.MaterialCode), m => m.MaterialCode.Contains(WCSTaskoldQueryDto.MaterialCode));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(WCSTaskoldQueryDto?.AddrFrom), m => m.AddrFrom.Contains(WCSTaskoldQueryDto.AddrFrom));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(WCSTaskoldQueryDto?.AddrTo), m => m.AddrTo.Contains(WCSTaskoldQueryDto.AddrTo));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(WCSTaskoldQueryDto?.AddrNext), m => m.AddrNext.Contains(WCSTaskoldQueryDto.AddrNext));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(WCSTaskoldQueryDto?.WmsTask), m => m.WmsTask.ToString().Contains(WCSTaskoldQueryDto.WmsTask));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(WCSTaskoldQueryDto?.AgvTaskID), m => m.AgvTaskID.ToString().Contains(WCSTaskoldQueryDto.AgvTaskID));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(WCSTaskoldQueryDto?.Type), m => ((int)m.Type).Equals(WCSTaskoldQueryDto.Type));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(WCSTaskoldQueryDto?.Status), m => ((int)m.Status).Equals(WCSTaskoldQueryDto.Status));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(WCSTaskoldQueryDto?.BusType), m => m.BusType.Equals(WCSTaskoldQueryDto.BusType));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(WCSTaskoldQueryDto?.Tunnel), m => m.Tunnel.Contains(WCSTaskoldQueryDto.Tunnel));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(WCSTaskoldQueryDto?.Floor), m => m.Floor.ToString().Contains(WCSTaskoldQueryDto.Floor));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(WCSTaskoldQueryDto?.Device), m => m.Device.Contains(WCSTaskoldQueryDto.Device));
 
-             predicate = predicate.AndIF(WCSTaskoldQueryDto != null && WCSTaskoldQueryDto.AddTimeFrom.HasValue, m => m.AddTime >= WCSTaskoldQueryDto.AddTimeFrom);
 
-             predicate = predicate.AndIF(WCSTaskoldQueryDto != null && WCSTaskoldQueryDto.AddTimeTo.HasValue, m => m.AddTime <= WCSTaskoldQueryDto.AddTimeTo);
 
-             predicate = predicate.AndIF(WCSTaskoldQueryDto != null && WCSTaskoldQueryDto.StartTimeBegin.HasValue, m => m.StartTime >= WCSTaskoldQueryDto.StartTimeBegin);
 
-             predicate = predicate.AndIF(WCSTaskoldQueryDto != null && WCSTaskoldQueryDto.StartTimeEnd.HasValue, m => m.StartTime <= WCSTaskoldQueryDto.StartTimeEnd);
 
-             predicate = predicate.AndIF(WCSTaskoldQueryDto != null && WCSTaskoldQueryDto.EndTimeBegin.HasValue, m => m.EndTime >= WCSTaskoldQueryDto.EndTimeBegin);
 
-             predicate = predicate.AndIF(WCSTaskoldQueryDto != null && WCSTaskoldQueryDto.EndTimeEnd.HasValue, m => m.EndTime <= WCSTaskoldQueryDto.EndTimeEnd);
 
-             predicate = predicate.AndIF(WCSTaskoldQueryDto != null && WCSTaskoldQueryDto.OutType.HasValue, m => m.OutType.Equals(WCSTaskoldQueryDto.OutType));
 
-             predicate = predicate.AndIF((WCSTaskoldQueryDto != null && WCSTaskoldQueryDto.ProdLine.HasValue), m => m.ProdLine.Equals(WCSTaskoldQueryDto.ProdLine));
 
-             if (WCSTaskoldQueryDto != null && !string.IsNullOrWhiteSpace(WCSTaskoldQueryDto.AGVID))
 
-             {
 
-                 var AGVIDs = _agvtaskoldrepository.Queryable().With(SqlWith.NoLock).Where(o => o.AgvID.Contains(WCSTaskoldQueryDto.AGVID)).SplitTable(p => p.Take(3)).Select(o => o.ID).ToList();
 
-                 if (AGVIDs != null && AGVIDs.Any())
 
-                 {
 
-                     predicate = predicate.And(m => AGVIDs.Contains(m.AgvTaskID.Value));
 
-                 }
 
-             }
 
-             var query = _wcstaskoldrepository.Queryable().With(SqlWith.NoLock).Where(predicate.ToExpression()).SplitTable(p => p.Take(3));
 
-             if (WCSTaskoldQueryDto != null && WCSTaskoldQueryDto.AddTimeFrom.HasValue)
 
-             {
 
-                 var endtime = DateTime.Now;
 
-                 if (WCSTaskoldQueryDto.AddTimeTo.HasValue)
 
-                 {
 
-                     endtime = WCSTaskoldQueryDto.AddTimeTo.Value;
 
-                 }
 
-                 query = _wcstaskoldrepository.Queryable().With(SqlWith.NoLock).Where(predicate.ToExpression()).SplitTable(WCSTaskoldQueryDto.AddTimeFrom.Value, endtime);
 
-             }
 
-             return query;
 
-         }
 
-         public IList<WCSTaskoldDto> GetList(WCSTaskoldQueryDto WCSTaskoldQueryDto)
 
-         {
 
-             ISugarQueryable<WCS_TaskOld> sugarQueryable = GetQueryable(WCSTaskoldQueryDto);
 
-             var list = sugarQueryable.ToList();
 
-             return list.Adapt<List<WCSTaskoldDto>>();
 
-         }
 
-         public int GetTaskUnFinishCount()
 
-         {
 
-             var predicate = Expressionable.Create<WCS_TaskOld>();
 
-             predicate = predicate.And(m => m.Status < (int)BZModels.TaskStatus.Finish);
 
-             var count = _wcstaskoldrepository.Queryable().With(SqlWith.NoLock).Where(predicate.ToExpression()).SplitTable(tabs => tabs.Take(3)).Count();
 
-             return count;
 
-         }
 
-         
 
-     }
 
- }
 
 
  |