using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WMS.BZSqlSugar; using wms.sqlsugar.model.sx; using WMS.BZModels.Models.SX; using SqlSugar; using WMS.BZModels; using WMS.Info; using WMS.BZModels.Dto.SX.BaseTorchbandinfoDtos; using WMS.Util; using WMS.BZModels.Dto.SX.PalletizingDtos; using System.Net.NetworkInformation; namespace WMS.BZServices.SX { public class BaseTorchbandinfoService { private readonly Repository _baseTorchbandinfoRepository; public BaseTorchbandinfoService(Repository baseTorchbandinfoRepository) { _baseTorchbandinfoRepository = baseTorchbandinfoRepository; } public PagedInfo GetPageList(Pagination pagination, BaseTorchbandinfoQueryDto baseTorchbandinfoQueryDto) { var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(baseTorchbandinfoQueryDto?.KeyWord), m => m.WorkStation.Contains(baseTorchbandinfoQueryDto.KeyWord) || m.TaskNo.Contains(baseTorchbandinfoQueryDto.KeyWord) || m.ContBarCode.Contains(baseTorchbandinfoQueryDto.KeyWord)); predicate = predicate.AndIF(!string.IsNullOrEmpty(baseTorchbandinfoQueryDto?.TaskNo), m => m.TaskNo.Contains(baseTorchbandinfoQueryDto.TaskNo)); predicate = predicate.AndIF(!string.IsNullOrEmpty(baseTorchbandinfoQueryDto?.ContBarCode), m => m.ContBarCode.Contains(baseTorchbandinfoQueryDto.ContBarCode)); predicate = predicate.AndIF(!string.IsNullOrEmpty(baseTorchbandinfoQueryDto?.Machine), m => m.Machine.Contains(baseTorchbandinfoQueryDto.Machine)); predicate = predicate.AndIF(!string.IsNullOrEmpty(baseTorchbandinfoQueryDto?.WorkStation), m => m.WorkStation.Contains(baseTorchbandinfoQueryDto.WorkStation)); predicate = predicate.AndIF(baseTorchbandinfoQueryDto != null && baseTorchbandinfoQueryDto.AddTimeFrom.HasValue, m => m.AddTime >= baseTorchbandinfoQueryDto.AddTimeFrom); predicate = predicate.AndIF(baseTorchbandinfoQueryDto != null && baseTorchbandinfoQueryDto.AddTimeTo.HasValue, m => m.AddTime <= baseTorchbandinfoQueryDto.AddTimeTo); var list = _baseTorchbandinfoRepository.Queryable().Where(predicate.ToExpression()) .ToPage(pagination); return list; } public void SaveWorkStation(string taskno, string workstation, string userId) { var info = _baseTorchbandinfoRepository.GetFirst(p => p.TaskNo == taskno); if (info == null) { throw new ArgumentException("数据不存在!"); } var p = _baseTorchbandinfoRepository.UpdateSetColumnsTrue(p => new BaseTorchbandinfo() { WorkStation = workstation, EditTime = DateTime.Now, EditWho=userId, Memo = info.Memo+ "手动变更工位" }, p => p.TaskNo == info.TaskNo); } public void Delete(string TaskNo) { var task = _baseTorchbandinfoRepository.GetFirst(p => p.TaskNo == TaskNo); if (task == null) { throw new ArgumentException("任务号不存在!"); } _baseTorchbandinfoRepository.Delete(p => p.TaskNo == TaskNo); } } }