| | |
| | | var entity = input.Adapt<WmsRbLineTask>(); |
| | | |
| | | //重复性验证 |
| | | await CheckExist(entity, true); |
| | | await CheckExist(entity,true); |
| | | |
| | | await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); |
| | | } |
| | |
| | | |
| | | |
| | | #region 导入 |
| | | |
| | | |
| | | /// <summary> |
| | | /// Excel模板导入机器人任务表功能 |
| | | /// </summary> |
| | |
| | | [ApiDescriptionSettings(Name = "ImportExcel")] |
| | | [Description("WmsRbLineTask/ImportExcel")] |
| | | public async Task<int> ImportExcelAsync(IFormFile file) |
| | | { |
| | | { |
| | | int _HeadStartLine = 2;//第1行是说明,第2行是列名 |
| | | int _DataStartLine = 3;//第3行开始是数据 |
| | | DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine); |
| | | var addList = await CommonImport(importDataTable, _DataStartLine); |
| | | var addList =await CommonImport(importDataTable, _DataStartLine); |
| | | await _rep.InsertRangeAsync(addList); |
| | | return addList.Count; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// DataTable转换实体对象列表 |
| | | /// </summary> |
| | |
| | | { |
| | | index++; |
| | | //导入模版定制化代码(替换模版使用) |
| | | |
| | | var addItem = new WmsRbLineTask(); |
| | | #region 定义变量 |
| | | var _TaskNo = "";//任务号 |
| | | var _TaskName = "";//任务名称 |
| | | var _UPI = "";//部件条码 |
| | | var _Length = "";//长 |
| | | var _Width = "";//宽 |
| | | var _Thk = "";//厚 |
| | | var _PlanNo = "";//批次号 |
| | | var _OrderId = "";//订单号 |
| | | var _PackageCode = "";//包装号 |
| | | var _PlaceCode = "";//库位编码 |
| | | var _RbTaskType = "";//任务类型 |
| | | var _RbTaskTypeEnumName = "";//任务类型名称 |
| | | var _TaskStatus = "";//任务状态 |
| | | var _TaskStatusName = "";//任务状态名称 |
| | | var _TaskDescribe = "";//任务描述 |
| | | var _TaskMsg = "";//任务消息 |
| | | var _IssueTime = "";//下发时间 |
| | | var _FinishedTime = "";//任务完成时间 |
| | | var _IsFlagFinish = "";//是否标记强制完成 |
| | | #endregion |
| | | |
| | | |
| | | #region 取值 |
| | | _TaskNo = row["任务号"]?.ToString(); |
| | | _TaskName = row["任务名称"]?.ToString(); |
| | | _UPI = row["部件条码"]?.ToString(); |
| | | _Length = row["长"]?.ToString(); |
| | | _Width = row["宽"]?.ToString(); |
| | | _Thk = row["厚"]?.ToString(); |
| | | _PlanNo = row["批次号"]?.ToString(); |
| | | _OrderId = row["订单号"]?.ToString(); |
| | | _PackageCode = row["包装号"]?.ToString(); |
| | | _PlaceCode = row["库位编码"]?.ToString(); |
| | | _RbTaskType = row["任务类型"]?.ToString(); |
| | | _RbTaskTypeEnumName = row["任务类型名称"]?.ToString(); |
| | | _TaskStatus = row["任务状态"]?.ToString(); |
| | | _TaskStatusName = row["任务状态名称"]?.ToString(); |
| | | _TaskDescribe = row["任务描述"]?.ToString(); |
| | | _TaskMsg = row["任务消息"]?.ToString(); |
| | | _IssueTime = row["下发时间"]?.ToString(); |
| | | _FinishedTime = row["任务完成时间"]?.ToString(); |
| | | _IsFlagFinish = row["是否标记强制完成"]?.ToString(); |
| | | #endregion |
| | | |
| | | |
| | | #region 验证 |
| | | |
| | | if (string.IsNullOrEmpty(_TaskNo)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[任务号]{_TaskNo}不能为空!"); |
| | | } |
| | | |
| | | if (!string.IsNullOrEmpty(_TaskNo)) |
| | | { |
| | | addItem.TaskNo = (string)(_TaskNo.Trim()); |
| | | } |
| | | if (!string.IsNullOrEmpty(_TaskName)) |
| | | { |
| | | addItem.TaskName = (string)(_TaskName.Trim()); |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_UPI)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[部件条码]{_UPI}不能为空!"); |
| | | } |
| | | |
| | | if (!string.IsNullOrEmpty(_UPI)) |
| | | { |
| | | addItem.UPI = (string)(_UPI.Trim()); |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_Length)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[长]{_Length}不能为空!"); |
| | | } |
| | | |
| | | //if(!string.IsNullOrEmpty(_Length)) |
| | | //{ |
| | | // addItem.Length = (float)(_Length.Trim()); |
| | | // } |
| | | |
| | | //if (string.IsNullOrEmpty(_Width)) |
| | | //{ |
| | | // throw Oops.Oh($"第{index}行[宽]{_Width}不能为空!"); |
| | | //} |
| | | |
| | | //if(!string.IsNullOrEmpty(_Width)) |
| | | //{ |
| | | // addItem.Width = (float)(_Width.Trim()); |
| | | // } |
| | | |
| | | if (string.IsNullOrEmpty(_Thk)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[厚]{_Thk}不能为空!"); |
| | | } |
| | | |
| | | //if(!string.IsNullOrEmpty(_Thk)) |
| | | //{ |
| | | // addItem.Thk = (float)(_Thk.Trim()); |
| | | // } |
| | | |
| | | if (string.IsNullOrEmpty(_PlanNo)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[批次号]{_PlanNo}不能为空!"); |
| | | } |
| | | |
| | | if (!string.IsNullOrEmpty(_PlanNo)) |
| | | { |
| | | addItem.PlanNo = (string)(_PlanNo.Trim()); |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_OrderId)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[订单号]{_OrderId}不能为空!"); |
| | | } |
| | | |
| | | if (!string.IsNullOrEmpty(_OrderId)) |
| | | { |
| | | addItem.OrderId = (string)(_OrderId.Trim()); |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_PackageCode)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[包装号]{_PackageCode}不能为空!"); |
| | | } |
| | | |
| | | if (!string.IsNullOrEmpty(_PackageCode)) |
| | | { |
| | | addItem.PackageCode = (string)(_PackageCode.Trim()); |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_PlaceCode)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[库位编码]{_PlaceCode}不能为空!"); |
| | | } |
| | | |
| | | if (!string.IsNullOrEmpty(_PlaceCode)) |
| | | { |
| | | addItem.PlaceCode = (string)(_PlaceCode.Trim()); |
| | | } |
| | | if (!string.IsNullOrEmpty(_RbTaskType)) |
| | | { |
| | | Admin.NET.Application.RbTaskTypeEnum enumRbTaskType = default(Admin.NET.Application.RbTaskTypeEnum); |
| | | |
| | | if (!Enum.TryParse<Admin.NET.Application.RbTaskTypeEnum>(_RbTaskType, out enumRbTaskType) && !string.IsNullOrEmpty(_RbTaskType)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[任务类型]{_RbTaskType}值不正确!"); |
| | | } |
| | | else |
| | | { |
| | | addItem.RbTaskType = enumRbTaskType; |
| | | } |
| | | |
| | | } |
| | | if (!string.IsNullOrEmpty(_RbTaskTypeEnumName)) |
| | | { |
| | | addItem.RbTaskTypeEnumName = (string)(_RbTaskTypeEnumName.Trim()); |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_TaskStatus)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[任务状态]{_TaskStatus}不能为空!"); |
| | | } |
| | | |
| | | if (!string.IsNullOrEmpty(_TaskStatus)) |
| | | { |
| | | Admin.NET.Application.TaskStatusEnum enumTaskStatus = default(Admin.NET.Application.TaskStatusEnum); |
| | | |
| | | if (!Enum.TryParse<Admin.NET.Application.TaskStatusEnum>(_TaskStatus, out enumTaskStatus) && !string.IsNullOrEmpty(_TaskStatus)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[任务状态]{_TaskStatus}值不正确!"); |
| | | } |
| | | else |
| | | { |
| | | addItem.TaskStatus = enumTaskStatus; |
| | | } |
| | | |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_TaskStatusName)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[任务状态名称]{_TaskStatusName}不能为空!"); |
| | | } |
| | | |
| | | if (!string.IsNullOrEmpty(_TaskStatusName)) |
| | | { |
| | | addItem.TaskStatusName = (string)(_TaskStatusName.Trim()); |
| | | } |
| | | if (!string.IsNullOrEmpty(_TaskDescribe)) |
| | | { |
| | | addItem.TaskDescribe = (string)(_TaskDescribe.Trim()); |
| | | } |
| | | if (!string.IsNullOrEmpty(_TaskMsg)) |
| | | { |
| | | addItem.TaskMsg = (string)(_TaskMsg.Trim()); |
| | | } |
| | | if (!string.IsNullOrEmpty(_IssueTime)) |
| | | { |
| | | addItem.IssueTime = Convert.ToDateTime(Convert.ToDateTime(_IssueTime.Trim()).ToShortDateString()); |
| | | } |
| | | if (!string.IsNullOrEmpty(_FinishedTime)) |
| | | { |
| | | addItem.FinishedTime = Convert.ToDateTime(Convert.ToDateTime(_FinishedTime.Trim()).ToShortDateString()); |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_IsFlagFinish)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[是否标记强制完成]{_IsFlagFinish}不能为空!"); |
| | | } |
| | | |
| | | if (!string.IsNullOrEmpty(_IsFlagFinish)) |
| | | { |
| | | if (!_IsFlagFinish.Equals("是") && !_IsFlagFinish.Equals("否")) |
| | | { |
| | | throw Oops.Oh($"第{index}行[是否标记强制完成]{_IsFlagFinish}值不正确!"); |
| | | } |
| | | else |
| | | { |
| | | bool outIsFlagFinish = _IsFlagFinish.Equals("是") ? true : false; |
| | | addItem.IsFlagFinish = outIsFlagFinish; |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | |
| | | var addItem = new WmsRbLineTask(); |
| | | #region 定义变量 |
| | | var _TaskNo = "";//任务号 |
| | | var _Upi = "";//部件条码 |
| | | var _Length = "";//长 |
| | | var _Width = "";//宽 |
| | | var _Thk = "";//厚 |
| | | var _PlanNo = "";//批次号 |
| | | var _OrderId = "";//订单号 |
| | | var _PackageCode = "";//包装号 |
| | | var _PlaceCode = "";//库位编码 |
| | | var _RbTaskType = "";//任务类型 |
| | | var _TaskStatus = "";//任务状态 |
| | | var _TaskDescribe = "";//任务描述 |
| | | var _TaskMsg = "";//任务消息 |
| | | var _IssueTime = "";//下发时间 |
| | | var _FinishedTime = "";//任务完成时间 |
| | | var _IsFlagFinish = "";//是否标记强制完成 |
| | | var _LastNum = "";//是否末板 |
| | | var _Info17 = "";//机械臂是否旋转 |
| | | var _MachineXCenter = "";//包装X坐标 |
| | | var _MachineYCenter = "";//包装Y坐标 |
| | | var _MachineZCenter = "";//包装Z坐标 |
| | | var _Sequence = "";//层数 |
| | | #endregion |
| | | |
| | | |
| | | #region 取值 |
| | | _TaskNo = row["任务号"]?.ToString() ; |
| | | _Upi = row["部件条码"]?.ToString() ; |
| | | _Length = row["长"]?.ToString() ; |
| | | _Width = row["宽"]?.ToString() ; |
| | | _Thk = row["厚"]?.ToString() ; |
| | | _PlanNo = row["批次号"]?.ToString() ; |
| | | _OrderId = row["订单号"]?.ToString() ; |
| | | _PackageCode = row["包装号"]?.ToString() ; |
| | | _PlaceCode = row["库位编码"]?.ToString() ; |
| | | _RbTaskType = row["任务类型"]?.ToString() ; |
| | | _TaskStatus = row["任务状态"]?.ToString() ; |
| | | _TaskDescribe = row["任务描述"]?.ToString() ; |
| | | _TaskMsg = row["任务消息"]?.ToString() ; |
| | | _IssueTime = row["下发时间"]?.ToString() ; |
| | | _FinishedTime = row["任务完成时间"]?.ToString() ; |
| | | _IsFlagFinish = row["是否标记强制完成"]?.ToString() ; |
| | | _LastNum = row["是否末板"]?.ToString() ; |
| | | _Info17 = row["机械臂是否旋转"]?.ToString() ; |
| | | _MachineXCenter = row["包装X坐标"]?.ToString() ; |
| | | _MachineYCenter = row["包装Y坐标"]?.ToString() ; |
| | | _MachineZCenter = row["包装Z坐标"]?.ToString() ; |
| | | _Sequence = row["层数"]?.ToString() ; |
| | | #endregion |
| | | |
| | | |
| | | #region 验证 |
| | | |
| | | if (string.IsNullOrEmpty(_TaskNo)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[任务号]{_TaskNo}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_TaskNo)) |
| | | { |
| | | addItem.TaskNo = (string)(_TaskNo.Trim()); |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_Upi)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[部件条码]{_Upi}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_Upi)) |
| | | { |
| | | addItem.Upi = (string)(_Upi.Trim()); |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_Length)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[长]{_Length}不能为空!"); |
| | | } |
| | | |
| | | |
| | | if (string.IsNullOrEmpty(_PlanNo)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[批次号]{_PlanNo}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_PlanNo)) |
| | | { |
| | | addItem.PlanNo = (string)(_PlanNo.Trim()); |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_OrderId)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[订单号]{_OrderId}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_OrderId)) |
| | | { |
| | | addItem.OrderId = (string)(_OrderId.Trim()); |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_PackageCode)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[包装号]{_PackageCode}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_PackageCode)) |
| | | { |
| | | addItem.PackageCode = (string)(_PackageCode.Trim()); |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_PlaceCode)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[库位编码]{_PlaceCode}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_PlaceCode)) |
| | | { |
| | | addItem.PlaceCode = (string)(_PlaceCode.Trim()); |
| | | } |
| | | if(!string.IsNullOrEmpty(_RbTaskType)) |
| | | { |
| | | Admin.NET.Application.RbTaskTypeEnum enumRbTaskType = default(Admin.NET.Application.RbTaskTypeEnum); |
| | | |
| | | if(!Enum.TryParse<Admin.NET.Application.RbTaskTypeEnum>(_RbTaskType, out enumRbTaskType)&&!string.IsNullOrEmpty(_RbTaskType)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[任务类型]{_RbTaskType}值不正确!"); |
| | | } |
| | | else |
| | | { |
| | | addItem.RbTaskType = enumRbTaskType; |
| | | } |
| | | |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_TaskStatus)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[任务状态]{_TaskStatus}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_TaskStatus)) |
| | | { |
| | | Admin.NET.Application.TaskStatusEnum enumTaskStatus = default(Admin.NET.Application.TaskStatusEnum); |
| | | |
| | | if(!Enum.TryParse<Admin.NET.Application.TaskStatusEnum>(_TaskStatus, out enumTaskStatus)&&!string.IsNullOrEmpty(_TaskStatus)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[任务状态]{_TaskStatus}值不正确!"); |
| | | } |
| | | else |
| | | { |
| | | addItem.TaskStatus = enumTaskStatus; |
| | | } |
| | | |
| | | } |
| | | if(!string.IsNullOrEmpty(_TaskDescribe)) |
| | | { |
| | | addItem.TaskDescribe = (string)(_TaskDescribe.Trim()); |
| | | } |
| | | if(!string.IsNullOrEmpty(_TaskMsg)) |
| | | { |
| | | addItem.TaskMsg = (string)(_TaskMsg.Trim()); |
| | | } |
| | | if(!string.IsNullOrEmpty(_IssueTime)) |
| | | { |
| | | addItem.IssueTime = Convert.ToDateTime(_IssueTime.Trim()); |
| | | } |
| | | if(!string.IsNullOrEmpty(_FinishedTime)) |
| | | { |
| | | addItem.FinishedTime = Convert.ToDateTime(_FinishedTime.Trim()); |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_IsFlagFinish)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[是否标记强制完成]{_IsFlagFinish}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_IsFlagFinish)) |
| | | { |
| | | if(!_IsFlagFinish.Equals("是") && !_IsFlagFinish.Equals("否")) |
| | | { |
| | | throw Oops.Oh($"第{index}行[是否标记强制完成]{_IsFlagFinish}值不正确!"); |
| | | } |
| | | else |
| | | { |
| | | bool outIsFlagFinish = _IsFlagFinish.Equals("是") ? true : false; |
| | | addItem.IsFlagFinish = outIsFlagFinish; |
| | | } |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_LastNum)) |
| | | { |
| | | if (!int.TryParse(_LastNum, out int outLastNum)&&!string.IsNullOrEmpty(_LastNum)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[是否末板]{_LastNum}值不正确!"); |
| | | } |
| | | if (outLastNum <= 0&&!string.IsNullOrEmpty(_LastNum)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[是否末板]{_LastNum}值不能小于等于0!"); |
| | | } |
| | | else |
| | | { |
| | | addItem.LastNum = outLastNum; |
| | | } |
| | | |
| | | } |
| | | if(!string.IsNullOrEmpty(_Info17)) |
| | | { |
| | | addItem.Info17 = (string)(_Info17.Trim()); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_Sequence)) |
| | | { |
| | | if (!int.TryParse(_Sequence, out int outSequence)&&!string.IsNullOrEmpty(_Sequence)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[层数]{_Sequence}值不正确!"); |
| | | } |
| | | if (outSequence <= 0&&!string.IsNullOrEmpty(_Sequence)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[层数]{_Sequence}值不能小于等于0!"); |
| | | } |
| | | else |
| | | { |
| | | addItem.Sequence = outSequence; |
| | | } |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | details.Add(addItem); |
| | | } |
| | |
| | | await CheckExisitForImport(details); |
| | | return details; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 根据版本下载机器人任务表的Excel导入模板 |
| | | /// </summary> |
| | |
| | | var fileName = HttpUtility.UrlEncode($"导入模板(机器人任务表).xlsx", Encoding.GetEncoding("UTF-8")); |
| | | return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName }; |
| | | } |
| | | |
| | | |
| | | #endregion |
| | | |
| | | #region 私有方法 |
| | |
| | | var query = _rep.AsQueryable() |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u => |
| | | u.TaskNo.Contains(input.SearchKey.Trim()) |
| | | || u.TaskName.Contains(input.SearchKey.Trim()) |
| | | || u.UPI.Contains(input.SearchKey.Trim()) |
| | | || u.Upi.Contains(input.SearchKey.Trim()) |
| | | || u.PlanNo.Contains(input.SearchKey.Trim()) |
| | | || u.OrderId.Contains(input.SearchKey.Trim()) |
| | | || u.PackageCode.Contains(input.SearchKey.Trim()) |
| | | || u.PlaceCode.Contains(input.SearchKey.Trim()) |
| | | || u.RbTaskTypeEnumName.Contains(input.SearchKey.Trim()) |
| | | || u.TaskStatusName.Contains(input.SearchKey.Trim()) |
| | | || u.TaskDescribe.Contains(input.SearchKey.Trim()) |
| | | || u.TaskMsg.Contains(input.SearchKey.Trim()) |
| | | || u.Info17.Contains(input.SearchKey.Trim()) |
| | | || u.CreateUserName.Contains(input.SearchKey.Trim()) |
| | | || u.UpdateUserName.Contains(input.SearchKey.Trim()) |
| | | ) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.TaskNo), u => u.TaskNo.Contains(input.TaskNo.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.TaskName), u => u.TaskName.Contains(input.TaskName.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.UPI), u => u.UPI.Contains(input.UPI.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.Upi), u => u.Upi.Contains(input.Upi.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.PlanNo), u => u.PlanNo.Contains(input.PlanNo.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.OrderId), u => u.OrderId.Contains(input.OrderId.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.PackageCode), u => u.PackageCode.Contains(input.PackageCode.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.PlaceCode), u => u.PlaceCode.Contains(input.PlaceCode.Trim())) |
| | | .WhereIF(input.RbTaskType.HasValue, u => u.RbTaskType == input.RbTaskType) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.RbTaskTypeEnumName), u => u.RbTaskTypeEnumName.Contains(input.RbTaskTypeEnumName.Trim())) |
| | | .WhereIF(input.TaskStatus.HasValue, u => u.TaskStatus == input.TaskStatus) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.TaskStatusName), u => u.TaskStatusName.Contains(input.TaskStatusName.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.TaskDescribe), u => u.TaskDescribe.Contains(input.TaskDescribe.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.TaskMsg), u => u.TaskMsg.Contains(input.TaskMsg.Trim())) |
| | | .WhereIF(input.IsFlagFinish.HasValue, u => u.IsFlagFinish == input.IsFlagFinish) |
| | | .WhereIF(input.LastNum>0, u => u.LastNum == input.LastNum) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.Info17), u => u.Info17.Contains(input.Info17.Trim())) |
| | | .WhereIF(input.Sequence>0, u => u.Sequence == input.Sequence) |
| | | .Select<WmsRbLineTaskOutput>(); |
| | | if (input.IssueTimeRange != null && input.IssueTimeRange.Count > 0) |
| | | if(input.IssueTimeRange != null && input.IssueTimeRange.Count >0) |
| | | { |
| | | DateTime? start = input.IssueTimeRange[0].Value.AddDays(-1); |
| | | query = query.WhereIF(start.HasValue, u => u.IssueTime > start); |
| | | if (input.IssueTimeRange.Count > 1 && input.IssueTimeRange[1].HasValue) |
| | | DateTime? start= input.IssueTimeRange[0].Value; |
| | | query = query.WhereIF(start.HasValue, u => u.IssueTime >= start); |
| | | if (input.IssueTimeRange.Count >1 && input.IssueTimeRange[1].HasValue) |
| | | { |
| | | var end = input.IssueTimeRange[1].Value.AddDays(1); |
| | | query = query.Where(u => u.IssueTime < end); |
| | | var end = input.IssueTimeRange[1].Value; |
| | | query = query.Where(u => u.IssueTime <= end); |
| | | } |
| | | } |
| | | if (input.FinishedTimeRange != null && input.FinishedTimeRange.Count > 0) |
| | | } |
| | | if(input.FinishedTimeRange != null && input.FinishedTimeRange.Count >0) |
| | | { |
| | | DateTime? start = input.FinishedTimeRange[0].Value.AddDays(-1); |
| | | query = query.WhereIF(start.HasValue, u => u.FinishedTime > start); |
| | | if (input.FinishedTimeRange.Count > 1 && input.FinishedTimeRange[1].HasValue) |
| | | DateTime? start= input.FinishedTimeRange[0].Value; |
| | | query = query.WhereIF(start.HasValue, u => u.FinishedTime >= start); |
| | | if (input.FinishedTimeRange.Count >1 && input.FinishedTimeRange[1].HasValue) |
| | | { |
| | | var end = input.FinishedTimeRange[1].Value.AddDays(1); |
| | | query = query.Where(u => u.FinishedTime < end); |
| | | var end = input.FinishedTimeRange[1].Value; |
| | | query = query.Where(u => u.FinishedTime <= end); |
| | | } |
| | | } |
| | | } |
| | | return query; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 重复性验证 |
| | | /// </summary> |
| | | /// <param name="input">验证对象</param> |
| | | /// <param name="isEdit">是否是编辑</param> |
| | | /// <returns></returns> |
| | | private async Task CheckExist(WmsRbLineTask input, bool isEdit = false) |
| | | { |
| | | |
| | | |
| | | |
| | | //没有配置组合校验,不需要验重 |
| | | |
| | | |
| | | //没有配置单独校验,不需要验重 |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据组合校验和单独校验验证数据是否已存在-导入时验证 |
| | | /// </summary> |
| | | /// <param name="inputs"></param> |
| | | /// <returns></returns> |
| | | private async Task CheckExisitForImport(List<WmsRbLineTask> inputs) |
| | | { |
| | | if (inputs?.Count <= 0) |
| | | /// <summary> |
| | | /// 重复性验证 |
| | | /// </summary> |
| | | /// <param name="input">验证对象</param> |
| | | /// <param name="isEdit">是否是编辑</param> |
| | | /// <returns></returns> |
| | | private async Task CheckExist( WmsRbLineTask input,bool isEdit=false) |
| | | { |
| | | throw Oops.Oh($"导入数据不能为空"); |
| | | |
| | | |
| | | |
| | | //没有配置组合校验,不需要验重 |
| | | |
| | | |
| | | //没有配置单独校验,不需要验重 |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据组合校验和单独校验验证数据是否已存在-导入时验证 |
| | | /// </summary> |
| | | /// <param name="inputs"></param> |
| | | /// <returns></returns> |
| | | private async Task CheckExisitForImport(List<WmsRbLineTask> inputs) |
| | | { |
| | | if (inputs?.Count <= 0) |
| | | { |
| | | throw Oops.Oh($"导入数据不能为空"); |
| | | } |
| | | //根据组合校验验证表格中中是否已存在相同数据 |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //根据单独校验验证表格中中是否已存在相同数据 |
| | | |
| | | |
| | | |
| | | } |
| | | //根据组合校验验证表格中中是否已存在相同数据 |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //根据单独校验验证表格中中是否已存在相同数据 |
| | | |
| | | |
| | | |
| | | } |
| | | #endregion |
| | | #endregion |
| | | |
| | | } |
| | | |