From f76acac54523d67590f8f07c404e005524eff464 Mon Sep 17 00:00:00 2001 From: payne <bzrlw2012@163.com> Date: 周二, 23 4月 2024 17:36:56 +0800 Subject: [PATCH] 修改 --- iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsJob/WmsTask/WmsTaskService.cs | 1140 ++++++++++++++++++++++++++++++------------------------------ 1 files changed, 570 insertions(+), 570 deletions(-) diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsJob/WmsTask/WmsTaskService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsJob/WmsTask/WmsTaskService.cs index 878ea9f..fd7a88d 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsJob/WmsTask/WmsTaskService.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsJob/WmsTask/WmsTaskService.cs @@ -1,624 +1,624 @@ -锘縰sing Furion.DatabaseAccessor; -using Furion.DependencyInjection; -using Furion.DynamicApiController; -using Furion.FriendlyException; -using Mapster; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Web; -using Admin.NET.Core; -using Yitter.IdGenerator; -using StackExchange.Redis; +锘�//using Furion.DatabaseAccessor; +//using Furion.DependencyInjection; +//using Furion.DynamicApiController; +//using Furion.FriendlyException; +//using Mapster; +//using Microsoft.AspNetCore.Http; +//using Microsoft.AspNetCore.Mvc; +//using Microsoft.EntityFrameworkCore; +//using System.Linq.Dynamic.Core; +//using System.Text; +//using System.Web; +//using Admin.NET.Core; +//using Yitter.IdGenerator; +//using StackExchange.Redis; -namespace Admin.NET.Application -{ - /// <summary> - /// 浠诲姟绠$悊鏈嶅姟 - /// </summary> - [ApiDescriptionSettings("浠撳簱浣滀笟", Name = "WmsTask", Order = 102)] - [Route("api/[Controller]")] - public class WmsTaskService : IDynamicApiController, ITransient - { - private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; - private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; - private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; - private readonly IRepository<WmsWarehouseEntrance, MasterDbContextLocator> _wmsWarehouseEntranceRep; - private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; - private readonly IRepository<WmsOrder, MasterDbContextLocator> _wmsOrderRep; - private readonly IRepository<WmsOrderDetails, MasterDbContextLocator> _wmsOrderDetailsRep; - private readonly IRepository<WmsContainerPlace, MasterDbContextLocator> _wmsContainerPlaceRep; - private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; - private readonly IRepository<WmsContainer, MasterDbContextLocator> _wmsContainerRep; - private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; - private readonly IRepository<WmsArea, MasterDbContextLocator> _wmsAreaRep; - private readonly ISysExcelTemplateService _sysExcelTemplateService; - private readonly static object _lock = new(); +//namespace Admin.NET.Application +//{ +// /// <summary> +// /// 浠诲姟绠$悊鏈嶅姟 +// /// </summary> +// [ApiDescriptionSettings("浠撳簱浣滀笟", Name = "WmsTask", Order = 102)] +// [Route("api/[Controller]")] +// public class WmsTaskService : IDynamicApiController, ITransient +// { +// private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; +// private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; +// private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; +// private readonly IRepository<WmsWarehouseEntrance, MasterDbContextLocator> _wmsWarehouseEntranceRep; +// private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; +// private readonly IRepository<WmsOrder, MasterDbContextLocator> _wmsOrderRep; +// private readonly IRepository<WmsOrderDetails, MasterDbContextLocator> _wmsOrderDetailsRep; +// private readonly IRepository<WmsContainerPlace, MasterDbContextLocator> _wmsContainerPlaceRep; +// private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; +// private readonly IRepository<WmsContainer, MasterDbContextLocator> _wmsContainerRep; +// private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; +// private readonly IRepository<WmsArea, MasterDbContextLocator> _wmsAreaRep; +// private readonly ISysExcelTemplateService _sysExcelTemplateService; +// private readonly static object _lock = new(); - /// <summary> - /// 鏋勯�犲嚱鏁� - /// </summary> - public WmsTaskService( - IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep, - IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep, - IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep, - IRepository<WmsWarehouseEntrance, MasterDbContextLocator> wmsWarehouseEntranceRep, - IRepository<WmsOrder, MasterDbContextLocator> wmsOrderRep, - IRepository<WmsOrderDetails, MasterDbContextLocator> wmsOrderDetailsRep, - IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep, - IRepository<WmsContainerPlace, MasterDbContextLocator> wmsContainerPlaceRep, - IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep, - IRepository<WmsContainer, MasterDbContextLocator> wmsContainerRep, - IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep, - IRepository<WmsArea, MasterDbContextLocator> wmsAreaRep, - ISysExcelTemplateService sysExcelTemplateService - ) - { - _sysDictTypeRep = sysDictTypeRep; - _sysDictDataRep = sysDictDataRep; - _wmsTaskRep = wmsTaskRep; - _wmsWarehouseEntranceRep = wmsWarehouseEntranceRep; - _wmsOrderRep = wmsOrderRep; - _wmsOrderDetailsRep = wmsOrderDetailsRep; - _wmsPlaceRep = wmsPlaceRep; - _wmsContainerPlaceRep = wmsContainerPlaceRep; - _wmsMaterialStockRep = wmsMaterialStockRep; - _wmsContainerRep = wmsContainerRep; - _wmsMaterialContainerRep = wmsMaterialContainerRep; - _wmsAreaRep= wmsAreaRep; - _sysExcelTemplateService = sysExcelTemplateService; - } +// /// <summary> +// /// 鏋勯�犲嚱鏁� +// /// </summary> +// public WmsTaskService( +// IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep, +// IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep, +// IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep, +// IRepository<WmsWarehouseEntrance, MasterDbContextLocator> wmsWarehouseEntranceRep, +// IRepository<WmsOrder, MasterDbContextLocator> wmsOrderRep, +// IRepository<WmsOrderDetails, MasterDbContextLocator> wmsOrderDetailsRep, +// IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep, +// IRepository<WmsContainerPlace, MasterDbContextLocator> wmsContainerPlaceRep, +// IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep, +// IRepository<WmsContainer, MasterDbContextLocator> wmsContainerRep, +// IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep, +// IRepository<WmsArea, MasterDbContextLocator> wmsAreaRep, +// ISysExcelTemplateService sysExcelTemplateService +// ) +// { +// _sysDictTypeRep = sysDictTypeRep; +// _sysDictDataRep = sysDictDataRep; +// _wmsTaskRep = wmsTaskRep; +// _wmsWarehouseEntranceRep = wmsWarehouseEntranceRep; +// _wmsOrderRep = wmsOrderRep; +// _wmsOrderDetailsRep = wmsOrderDetailsRep; +// _wmsPlaceRep = wmsPlaceRep; +// _wmsContainerPlaceRep = wmsContainerPlaceRep; +// _wmsMaterialStockRep = wmsMaterialStockRep; +// _wmsContainerRep = wmsContainerRep; +// _wmsMaterialContainerRep = wmsMaterialContainerRep; +// _wmsAreaRep= wmsAreaRep; +// _sysExcelTemplateService = sysExcelTemplateService; +// } - /// <summary> - /// 鍒嗛〉鏌ヨ鍑哄叆搴撲换鍔$鐞� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpGet("page")] - public async Task<PageResult<TaskOutput>> Page([FromQuery] WmsTaskSearch input) - { - var wmsTasks = await _wmsTaskRep.DetachedEntities - .Where(u => u.AreaName.Contains("缁濈紭绔嬪簱")) - .Where(!string.IsNullOrEmpty(input.TaskNo), u => EF.Functions.Like(u.TaskNo, $"%{input.TaskNo.Trim()}%")) - .Where(input.TaskModel != null, u => u.TaskModel == input.TaskModel) - .Where(input.TaskType != null, u => u.TaskType == input.TaskType) - .Where(input.TaskStatus != null, u => u.TaskStatus == input.TaskStatus) - .Where(!string.IsNullOrEmpty(input.ContainerCode), u => EF.Functions.Like(u.ContainerCode, $"%{input.ContainerCode.Trim()}%")) - .Where(!string.IsNullOrEmpty(input.AreaName), u => u.AreaName == input.AreaName) - .Where(!string.IsNullOrEmpty(input.OrderNo), u => EF.Functions.Like(u.OrderNo, $"%{input.OrderNo.Trim()}%")) - .Where(!string.IsNullOrEmpty(input.SourcePlace), u => EF.Functions.Like(u.SourcePlace, $"%{input.SourcePlace.Trim()}%")) - .Where(!string.IsNullOrEmpty(input.ToPlace), u => EF.Functions.Like(u.ToPlace, $"%{input.ToPlace.Trim()}%")) - .Where(input.Aisle != null, u => u.Aisle == input.Aisle) - .OrderBy(PageInputOrder.OrderBuilder(input)) - .ProjectToType<TaskOutput>() - .ToADPagedListAsync(input.PageNo, input.PageSize); - return wmsTasks; - } +// /// <summary> +// /// 鍒嗛〉鏌ヨ鍑哄叆搴撲换鍔$鐞� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpGet("page")] +// public async Task<PageResult<TaskOutput>> Page([FromQuery] WmsTaskSearch input) +// { +// var wmsTasks = await _wmsTaskRep.DetachedEntities +// .Where(u => u.AreaName.Contains("缁濈紭绔嬪簱")) +// .Where(!string.IsNullOrEmpty(input.TaskNo), u => EF.Functions.Like(u.TaskNo, $"%{input.TaskNo.Trim()}%")) +// .Where(input.TaskModel != null, u => u.TaskModel == input.TaskModel) +// .Where(input.TaskType != null, u => u.TaskType == input.TaskType) +// .Where(input.TaskStatus != null, u => u.TaskStatus == input.TaskStatus) +// .Where(!string.IsNullOrEmpty(input.ContainerCode), u => EF.Functions.Like(u.ContainerCode, $"%{input.ContainerCode.Trim()}%")) +// .Where(!string.IsNullOrEmpty(input.AreaName), u => u.AreaName == input.AreaName) +// .Where(!string.IsNullOrEmpty(input.OrderNo), u => EF.Functions.Like(u.OrderNo, $"%{input.OrderNo.Trim()}%")) +// .Where(!string.IsNullOrEmpty(input.SourcePlace), u => EF.Functions.Like(u.SourcePlace, $"%{input.SourcePlace.Trim()}%")) +// .Where(!string.IsNullOrEmpty(input.ToPlace), u => EF.Functions.Like(u.ToPlace, $"%{input.ToPlace.Trim()}%")) +// .Where(input.Aisle != null, u => u.Aisle == input.Aisle) +// .OrderBy(PageInputOrder.OrderBuilder(input)) +// .ProjectToType<TaskOutput>() +// .ToADPagedListAsync(input.PageNo, input.PageSize); +// return wmsTasks; +// } - /// <summary> - /// 涓嶅垎椤垫煡璇㈠嚭鍏ュ簱浠诲姟绠$悊鍒楄〃 - /// </summary> - /// <param name="input">鍑哄叆搴撲换鍔$鐞嗘煡璇㈠弬鏁�</param> - /// <returns>(鍑哄叆搴撲换鍔$鐞�)瀹炰緥鍒楄〃</returns> - [HttpGet("listNonPage")] - public async Task<List<TaskOutput>> ListNonPageAsync([FromQuery] WmsTaskSearchNonPage input) - { - var pTaskNo = input.TaskNo?.Trim() ?? ""; - var pTaskModel = input.TaskModel; - var pTaskType = input.TaskType; - var pTaskLevel = input.TaskLevel; - var pTaskStatus = input.TaskStatus; - var pIsRead = input.IsRead; - var pContainerCode = input.ContainerCode?.Trim() ?? ""; - var pAreaName = input.AreaName?.Trim() ?? ""; - var pOrderNo = input.OrderNo?.Trim() ?? ""; - var pTaskDodeviceStatus = input.TaskDodeviceStatus; - var wmsTasks = await _wmsTaskRep.DetachedEntities - .Where(!string.IsNullOrEmpty(pTaskNo), u => EF.Functions.Like(u.TaskNo, $"%{pTaskNo}%")) - .Where(pTaskModel != null, u => u.TaskModel == pTaskModel) - .Where(pTaskType != null, u => u.TaskType == pTaskType) - .Where(pTaskLevel != null, u => u.TaskLevel == pTaskLevel) - .Where(pTaskStatus != null, u => u.TaskStatus == pTaskStatus) - .Where(pIsRead != null, u => u.IsRead == pIsRead) - .Where(!string.IsNullOrEmpty(pContainerCode), u => EF.Functions.Like(u.ContainerCode, $"%{pContainerCode}%")) - .Where(!string.IsNullOrEmpty(pAreaName), u => u.AreaName == pAreaName) - .Where(!string.IsNullOrEmpty(pOrderNo), u => EF.Functions.Like(u.OrderNo, $"%{pOrderNo}%")) - .Where(pTaskDodeviceStatus != null, u => u.TaskDodeviceStatus == pTaskDodeviceStatus) - .OrderBy(PageInputOrder.OrderNonPageBuilder(input)) - .ProjectToType<TaskOutput>() - .ToListAsync(); - return wmsTasks; - } +// /// <summary> +// /// 涓嶅垎椤垫煡璇㈠嚭鍏ュ簱浠诲姟绠$悊鍒楄〃 +// /// </summary> +// /// <param name="input">鍑哄叆搴撲换鍔$鐞嗘煡璇㈠弬鏁�</param> +// /// <returns>(鍑哄叆搴撲换鍔$鐞�)瀹炰緥鍒楄〃</returns> +// [HttpGet("listNonPage")] +// public async Task<List<TaskOutput>> ListNonPageAsync([FromQuery] WmsTaskSearchNonPage input) +// { +// var pTaskNo = input.TaskNo?.Trim() ?? ""; +// var pTaskModel = input.TaskModel; +// var pTaskType = input.TaskType; +// var pTaskLevel = input.TaskLevel; +// var pTaskStatus = input.TaskStatus; +// var pIsRead = input.IsRead; +// var pContainerCode = input.ContainerCode?.Trim() ?? ""; +// var pAreaName = input.AreaName?.Trim() ?? ""; +// var pOrderNo = input.OrderNo?.Trim() ?? ""; +// var pTaskDodeviceStatus = input.TaskDodeviceStatus; +// var wmsTasks = await _wmsTaskRep.DetachedEntities +// .Where(!string.IsNullOrEmpty(pTaskNo), u => EF.Functions.Like(u.TaskNo, $"%{pTaskNo}%")) +// .Where(pTaskModel != null, u => u.TaskModel == pTaskModel) +// .Where(pTaskType != null, u => u.TaskType == pTaskType) +// .Where(pTaskLevel != null, u => u.TaskLevel == pTaskLevel) +// .Where(pTaskStatus != null, u => u.TaskStatus == pTaskStatus) +// .Where(pIsRead != null, u => u.IsRead == pIsRead) +// .Where(!string.IsNullOrEmpty(pContainerCode), u => EF.Functions.Like(u.ContainerCode, $"%{pContainerCode}%")) +// .Where(!string.IsNullOrEmpty(pAreaName), u => u.AreaName == pAreaName) +// .Where(!string.IsNullOrEmpty(pOrderNo), u => EF.Functions.Like(u.OrderNo, $"%{pOrderNo}%")) +// .Where(pTaskDodeviceStatus != null, u => u.TaskDodeviceStatus == pTaskDodeviceStatus) +// .OrderBy(PageInputOrder.OrderNonPageBuilder(input)) +// .ProjectToType<TaskOutput>() +// .ToListAsync(); +// return wmsTasks; +// } - /// <summary> - /// 澧炲姞鍑哄叆搴撲换鍔$鐞� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("add")] - [NonAction] - public async Task Add(AddWmsTaskInput input) - { - var wmsTask = input.Adapt<WmsTask>(); - await _wmsTaskRep.InsertAsync(wmsTask); - } +// /// <summary> +// /// 澧炲姞鍑哄叆搴撲换鍔$鐞� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("add")] +// [NonAction] +// public async Task Add(AddWmsTaskInput input) +// { +// var wmsTask = input.Adapt<WmsTask>(); +// await _wmsTaskRep.InsertAsync(wmsTask); +// } - /// <summary> - /// 鍒犻櫎鍑哄叆搴撲换鍔$鐞� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("delete")] - public async Task Delete(DeleteWmsTaskInput input) - { - var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == input.Id); - await _wmsTaskRep.DeleteAsync(wmsTask); - } +// /// <summary> +// /// 鍒犻櫎鍑哄叆搴撲换鍔$鐞� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("delete")] +// public async Task Delete(DeleteWmsTaskInput input) +// { +// var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == input.Id); +// await _wmsTaskRep.DeleteAsync(wmsTask); +// } - /// <summary> - /// 鏇存柊鍑哄叆搴撲换鍔$鐞� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("edit")] - public async Task Update(UpdateWmsTaskInput input) - { - var isExist = await _wmsTaskRep.AnyAsync(u => u.Id == input.Id, false); - if (!isExist) throw Oops.Oh(ErrorCode.D3000); +// /// <summary> +// /// 鏇存柊鍑哄叆搴撲换鍔$鐞� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("edit")] +// public async Task Update(UpdateWmsTaskInput input) +// { +// var isExist = await _wmsTaskRep.AnyAsync(u => u.Id == input.Id, false); +// if (!isExist) throw Oops.Oh(ErrorCode.D3000); - var wmsTask = input.Adapt<WmsTask>(); - await _wmsTaskRep.UpdateAsync(wmsTask, ignoreNullValues: true); - } +// var wmsTask = input.Adapt<WmsTask>(); +// await _wmsTaskRep.UpdateAsync(wmsTask, ignoreNullValues: true); +// } - /// <summary> - /// 寮哄埗瀹屾垚 - /// </summary> - /// <returns></returns> - [HttpPost("finish")] - [UnitOfWork] - public async Task Finish([FromBody] WmsTaskFinishInput input) - { - //鏌ヨ浠诲姟 - var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == input.Id); - if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); +// /// <summary> +// /// 寮哄埗瀹屾垚 +// /// </summary> +// /// <returns></returns> +// [HttpPost("finish")] +// [UnitOfWork] +// public async Task Finish([FromBody] WmsTaskFinishInput input) +// { +// //鏌ヨ浠诲姟 +// var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == input.Id); +// if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); - // 鏌ヨ娣峰悎鏂欏簱鍖轰俊鎭� - var wmsArea = await _wmsAreaRep.FirstOrDefaultAsync(u => u.AreaName.Contains("缁濈紭绔嬪簱")); - if (wmsArea == null) throw Oops.Oh("搴撳尯涓嶅瓨鍦紒"); +// // 鏌ヨ娣峰悎鏂欏簱鍖轰俊鎭� +// var wmsArea = await _wmsAreaRep.FirstOrDefaultAsync(u => u.AreaName.Contains("缁濈紭绔嬪簱")); +// if (wmsArea == null) throw Oops.Oh("搴撳尯涓嶅瓨鍦紒"); - // 鏌ヨ鎵樼洏淇℃伅,鍛兼晳AGV鏃朵細杩涜缁勭洏鎿嶄綔 - var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode); - if (wmsContainer == null) throw Oops.Oh("鎵樼洏涓嶅瓨鍦紒"); +// // 鏌ヨ鎵樼洏淇℃伅,鍛兼晳AGV鏃朵細杩涜缁勭洏鎿嶄綔 +// var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode); +// if (wmsContainer == null) throw Oops.Oh("鎵樼洏涓嶅瓨鍦紒"); - var statusList = new List<TaskStatusEnum> { TaskStatusEnum.WEIZHIXING, TaskStatusEnum.ZHIXINGZHONG , TaskStatusEnum .DAIZHIXING}; - if (!statusList.Contains(wmsTask.TaskStatus)) throw Oops.Oh("鍙湁鏈墽琛屽拰鎵ц涓殑浠诲姟鎵嶈兘寮哄埗瀹屾垚锛�"); +// var statusList = new List<TaskStatusEnum> { TaskStatusEnum.WEIZHIXING, TaskStatusEnum.ZHIXINGZHONG , TaskStatusEnum .DAIZHIXING}; +// if (!statusList.Contains(wmsTask.TaskStatus)) throw Oops.Oh("鍙湁鏈墽琛屽拰鎵ц涓殑浠诲姟鎵嶈兘寮哄埗瀹屾垚锛�"); - if (wmsTask.TaskType == TaskType.RUKU) // 鍏ュ簱浠诲姟 - { - // 鏌ヨ搴撲綅淇℃伅 闅忔満鍒嗛厤搴撲綅 - var wmsPlace = new WmsPlace(); - if (string.IsNullOrEmpty(wmsTask.ToPlace)) - wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.AreaId == wmsArea.Id && u.Islock == YesOrNot.N && u.PlaceStatus == PlaceStatus.KONGXIAN); - else - wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.AreaId == wmsArea.Id && u.PlaceCode == wmsTask.ToPlace); - if (wmsPlace == null) throw Oops.Oh("搴撲綅涓嶅瓨鍦�!"); - if (wmsPlace.Islock == YesOrNot.Y) throw Oops.Oh("搴撲綅琚攣瀹�!"); - if (wmsPlace.PlaceStatus != PlaceStatus.KONGXIAN) throw Oops.Oh("搴撲綅宸插瓨璐�!"); - // 鏇存柊搴撲綅鐘舵�佷负鈥滃瓨璐р�� - wmsPlace.PlaceStatus = PlaceStatus.CUNHUO; - if (wmsTask.Description == "绌烘墭") wmsPlace.EmptyContainer = YesOrNot.Y; //鏄惁绌烘墭 - else wmsPlace.EmptyContainer = YesOrNot.N; +// if (wmsTask.TaskType == TaskType.RUKU) // 鍏ュ簱浠诲姟 +// { +// // 鏌ヨ搴撲綅淇℃伅 闅忔満鍒嗛厤搴撲綅 +// var wmsPlace = new WmsPlace(); +// if (string.IsNullOrEmpty(wmsTask.ToPlace)) +// wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.AreaId == wmsArea.Id && u.Islock == YesOrNot.N && u.PlaceStatus == PlaceStatus.KONGXIAN); +// else +// wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.AreaId == wmsArea.Id && u.PlaceCode == wmsTask.ToPlace); +// if (wmsPlace == null) throw Oops.Oh("搴撲綅涓嶅瓨鍦�!"); +// if (wmsPlace.Islock == YesOrNot.Y) throw Oops.Oh("搴撲綅琚攣瀹�!"); +// if (wmsPlace.PlaceStatus != PlaceStatus.KONGXIAN) throw Oops.Oh("搴撲綅宸插瓨璐�!"); +// // 鏇存柊搴撲綅鐘舵�佷负鈥滃瓨璐р�� +// wmsPlace.PlaceStatus = PlaceStatus.CUNHUO; +// if (wmsTask.Description == "绌烘墭") wmsPlace.EmptyContainer = YesOrNot.Y; //鏄惁绌烘墭 +// else wmsPlace.EmptyContainer = YesOrNot.N; - // 鍒涘缓鎵樼洏鍙峰簱浣嶅叧绯昏〃 - var wmsContainerPlaceModel = new WmsContainerPlace() - { - PlaceId = wmsPlace.Id, - PlaceCode = wmsPlace.PlaceCode, - ContainerId = wmsContainer.Id, - ContainerCode = wmsContainer.ContainerCode, - ContainerPlaceStatus = CommonStatus.ENABLE - }; - await _wmsContainerPlaceRep.InsertAsync(wmsContainerPlaceModel); +// // 鍒涘缓鎵樼洏鍙峰簱浣嶅叧绯昏〃 +// var wmsContainerPlaceModel = new WmsContainerPlace() +// { +// PlaceId = wmsPlace.Id, +// PlaceCode = wmsPlace.PlaceCode, +// ContainerId = wmsContainer.Id, +// ContainerCode = wmsContainer.ContainerCode, +// ContainerPlaceStatus = CommonStatus.ENABLE +// }; +// await _wmsContainerPlaceRep.InsertAsync(wmsContainerPlaceModel); - // 鏇存柊搴撳瓨 - var wmsMaterialContainerList = await _wmsMaterialContainerRep.DetachedEntities - .Where(p => p.OrderNo ==wmsTask.OrderNo && p.BindStatus == CommonStatus.ENABLE).ProjectToType<WmsMaterialContainer>().ToListAsync(); +// // 鏇存柊搴撳瓨 +// var wmsMaterialContainerList = await _wmsMaterialContainerRep.DetachedEntities +// .Where(p => p.OrderNo ==wmsTask.OrderNo && p.BindStatus == CommonStatus.ENABLE).ProjectToType<WmsMaterialContainer>().ToListAsync(); - foreach (var item in wmsMaterialContainerList) - { - var wmsMaterialStock = await _wmsMaterialStockRep.FirstOrDefaultAsync(p => p.ContainerCode == wmsContainer.ContainerCode - && p.MaterialBatch == item.MaterialBatch); - if (wmsMaterialStock != null) - { - wmsMaterialStock.Source = RuKuSourceEnum.KONGTUO; - wmsMaterialStock.AreaId = wmsPlace.AreaId; - wmsMaterialStock.PlaceCode = wmsPlace.PlaceCode; - wmsMaterialStock.StockNumber += item.BindQuantity; - await _wmsMaterialStockRep.UpdateAsync(wmsMaterialStock); - } - else - { - wmsMaterialStock = new WmsMaterialStock() - { - InspectionMethod = MaterialInspection.MIANJIAN, - UnitType = UnitType.ZHONGLIANG, - UnitNo = UnitNoType.T, - MaterialNo = item.MaterialNo, - MaterialType = MaterialType.CHENGPING, - MaterialName = item.MaterialName, - MaterialSpec = item.MaterialSpec, - MaterialBatch = item.MaterialBatch, - MaterialDensity = item.MaterialDensity, - StockNumber = 1, - PlaceCode = wmsPlace.PlaceCode, - ContainerId = wmsContainer.Id, - ContainerCode = wmsContainer.ContainerCode, - AreaId = wmsPlace.AreaId, - Source = RuKuSourceEnum.KONGTUO, - }; - await _wmsMaterialStockRep.InsertAsync(wmsMaterialStock); - } - } - // 绌烘枡绠卞叆搴� - if (wmsTask.OrderNo == "N/A") - { - var wmsMaterialStock = new WmsMaterialStock() - { - InspectionMethod = MaterialInspection.MIANJIAN, - UnitType = UnitType.ZHONGLIANG, - UnitNo = UnitNoType.T, - MaterialNo = "N/A", - MaterialType = MaterialType.KONGTUO, - MaterialName = "N/A", - MaterialSpec = "N/A", - MaterialBatch = "N/A", - MaterialDensity = "N/A", - StockNumber = 0, - PlaceCode = wmsPlace.PlaceCode, - ContainerId = wmsContainer.Id, - ContainerCode = wmsContainer.ContainerCode, - AreaId = wmsPlace.AreaId, - Source = RuKuSourceEnum.KONGTUO, - }; - await _wmsMaterialStockRep.InsertAsync(wmsMaterialStock); - } - // 鏇存柊浠诲姟鐘舵�併�佽澶囦换鍔$姸鎬併�佹墭鐩樼紪鍙枫�佺洰鏍囦綅缃�佸簱鍖哄悕绉� - wmsTask.TaskStatus = TaskStatusEnum.WANCHENG; - wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.W; - wmsTask.ContainerCode = wmsContainer.ContainerCode; - wmsTask.ToPlace = wmsPlace.PlaceCode; - wmsTask.AreaName = wmsPlace.WmsArea.AreaName; - wmsTask.IsRead = true; +// foreach (var item in wmsMaterialContainerList) +// { +// var wmsMaterialStock = await _wmsMaterialStockRep.FirstOrDefaultAsync(p => p.ContainerCode == wmsContainer.ContainerCode +// && p.MaterialBatch == item.MaterialBatch); +// if (wmsMaterialStock != null) +// { +// wmsMaterialStock.Source = RuKuSourceEnum.KONGTUO; +// wmsMaterialStock.AreaId = wmsPlace.AreaId; +// wmsMaterialStock.PlaceCode = wmsPlace.PlaceCode; +// wmsMaterialStock.StockNumber += item.BindQuantity; +// await _wmsMaterialStockRep.UpdateAsync(wmsMaterialStock); +// } +// else +// { +// wmsMaterialStock = new WmsMaterialStock() +// { +// InspectionMethod = MaterialInspection.MIANJIAN, +// UnitType = UnitType.ZHONGLIANG, +// UnitNo = UnitNoType.T, +// MaterialNo = item.MaterialNo, +// MaterialType = MaterialType.CHENGPING, +// MaterialName = item.MaterialName, +// MaterialSpec = item.MaterialSpec, +// MaterialBatch = item.MaterialBatch, +// MaterialDensity = item.MaterialDensity, +// StockNumber = 1, +// PlaceCode = wmsPlace.PlaceCode, +// ContainerId = wmsContainer.Id, +// ContainerCode = wmsContainer.ContainerCode, +// AreaId = wmsPlace.AreaId, +// Source = RuKuSourceEnum.KONGTUO, +// }; +// await _wmsMaterialStockRep.InsertAsync(wmsMaterialStock); +// } +// } +// // 绌烘枡绠卞叆搴� +// if (wmsTask.OrderNo == "N/A") +// { +// var wmsMaterialStock = new WmsMaterialStock() +// { +// InspectionMethod = MaterialInspection.MIANJIAN, +// UnitType = UnitType.ZHONGLIANG, +// UnitNo = UnitNoType.T, +// MaterialNo = "N/A", +// MaterialType = MaterialType.KONGTUO, +// MaterialName = "N/A", +// MaterialSpec = "N/A", +// MaterialBatch = "N/A", +// MaterialDensity = "N/A", +// StockNumber = 0, +// PlaceCode = wmsPlace.PlaceCode, +// ContainerId = wmsContainer.Id, +// ContainerCode = wmsContainer.ContainerCode, +// AreaId = wmsPlace.AreaId, +// Source = RuKuSourceEnum.KONGTUO, +// }; +// await _wmsMaterialStockRep.InsertAsync(wmsMaterialStock); +// } +// // 鏇存柊浠诲姟鐘舵�併�佽澶囦换鍔$姸鎬併�佹墭鐩樼紪鍙枫�佺洰鏍囦綅缃�佸簱鍖哄悕绉� +// wmsTask.TaskStatus = TaskStatusEnum.WANCHENG; +// wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.W; +// wmsTask.ContainerCode = wmsContainer.ContainerCode; +// wmsTask.ToPlace = wmsPlace.PlaceCode; +// wmsTask.AreaName = wmsPlace.WmsArea.AreaName; +// wmsTask.IsRead = true; - // 鏇存柊搴撲綅鐘舵�佷负瀛樿揣 - wmsPlace.PlaceStatus = PlaceStatus.CUNHUO; - await _wmsPlaceRep.UpdateAsync(wmsPlace); +// // 鏇存柊搴撲綅鐘舵�佷负瀛樿揣 +// wmsPlace.PlaceStatus = PlaceStatus.CUNHUO; +// await _wmsPlaceRep.UpdateAsync(wmsPlace); - // 鏇存柊鎵樼洏鐘舵�佷负鈥滃簱浣嶁�� - wmsContainer.ContainerStatus = ContainerStatus.KUWEI; - await _wmsContainerRep.UpdateAsync(wmsContainer); - } - else if (wmsTask.TaskType == TaskType.CHUKU) //鍑哄簱浠诲姟 - { - var wmsMaterialContainerList = new List<WmsMaterialContainer>(); - // 鏌ヨ搴撲綅淇℃伅 - var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.PlaceCode == wmsTask.SourcePlace); - if (wmsPlace == null) throw Oops.Oh("搴撲綅淇℃伅涓嶅瓨鍦�!"); - if (wmsPlace.Islock == YesOrNot.Y) throw Oops.Oh("搴撲綅琚攣瀹�!"); - //if (wmsPlace != null && wmsPlace.PlaceStatus != PlaceStatus.DAICHU) throw Oops.Oh("搴撲綅寮傚父璐�!"); +// // 鏇存柊鎵樼洏鐘舵�佷负鈥滃簱浣嶁�� +// wmsContainer.ContainerStatus = ContainerStatus.KUWEI; +// await _wmsContainerRep.UpdateAsync(wmsContainer); +// } +// else if (wmsTask.TaskType == TaskType.CHUKU) //鍑哄簱浠诲姟 +// { +// var wmsMaterialContainerList = new List<WmsMaterialContainer>(); +// // 鏌ヨ搴撲綅淇℃伅 +// var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.PlaceCode == wmsTask.SourcePlace); +// if (wmsPlace == null) throw Oops.Oh("搴撲綅淇℃伅涓嶅瓨鍦�!"); +// if (wmsPlace.Islock == YesOrNot.Y) throw Oops.Oh("搴撲綅琚攣瀹�!"); +// //if (wmsPlace != null && wmsPlace.PlaceStatus != PlaceStatus.DAICHU) throw Oops.Oh("搴撲綅寮傚父璐�!"); - // 鏌ヨ鏄惁宸插瓨鍦ㄦ墭鐩樹笌搴撲綅鐨勫叧绯� - var wmsContainerPlace = await _wmsContainerPlaceRep.FirstOrDefaultAsync(z => z.PlaceId == wmsPlace.Id && z.PlaceCode == wmsPlace.PlaceCode - && z.ContainerCode == wmsTask.ContainerCode && z.ContainerPlaceStatus == CommonStatus.ENABLE); - if (wmsContainerPlace == null) throw Oops.Oh("搴撲綅瀹瑰櫒鍏崇郴涓嶅瓨鍦�!"); +// // 鏌ヨ鏄惁宸插瓨鍦ㄦ墭鐩樹笌搴撲綅鐨勫叧绯� +// var wmsContainerPlace = await _wmsContainerPlaceRep.FirstOrDefaultAsync(z => z.PlaceId == wmsPlace.Id && z.PlaceCode == wmsPlace.PlaceCode +// && z.ContainerCode == wmsTask.ContainerCode && z.ContainerPlaceStatus == CommonStatus.ENABLE); +// if (wmsContainerPlace == null) throw Oops.Oh("搴撲綅瀹瑰櫒鍏崇郴涓嶅瓨鍦�!"); - // 涓嶆槸绌烘墭鎵嶄細鏈夌粍鐩樺叧绯� - if (wmsPlace.EmptyContainer == YesOrNot.N) - { - // 妫�鏌ョ墿鏂欎笌绌烘墭鍙峰叧绯� - wmsMaterialContainerList = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == wmsContainer.ContainerCode && p.BindStatus == CommonStatus.ENABLE).ToListAsync(); - if (wmsMaterialContainerList.Count <= 0) throw Oops.Oh("鎵樼洏鍙蜂笌鐗╂枡鍏崇郴涓嶅瓨鍦�!"); +// // 涓嶆槸绌烘墭鎵嶄細鏈夌粍鐩樺叧绯� +// if (wmsPlace.EmptyContainer == YesOrNot.N) +// { +// // 妫�鏌ョ墿鏂欎笌绌烘墭鍙峰叧绯� +// wmsMaterialContainerList = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == wmsContainer.ContainerCode && p.BindStatus == CommonStatus.ENABLE).ToListAsync(); +// if (wmsMaterialContainerList.Count <= 0) throw Oops.Oh("鎵樼洏鍙蜂笌鐗╂枡鍏崇郴涓嶅瓨鍦�!"); - } - else - { - // 鏇存柊绌烘枡绠卞簱瀛� - var wmsMaterialStock = await _wmsMaterialStockRep.FirstOrDefaultAsync(u => u.ContainerCode == wmsContainer.ContainerCode); - if (wmsMaterialStock.Source == RuKuSourceEnum.KONGTUO) - { - await _wmsMaterialStockRep.DeleteAsync(wmsMaterialStock); - } - } +// } +// else +// { +// // 鏇存柊绌烘枡绠卞簱瀛� +// var wmsMaterialStock = await _wmsMaterialStockRep.FirstOrDefaultAsync(u => u.ContainerCode == wmsContainer.ContainerCode); +// if (wmsMaterialStock.Source == RuKuSourceEnum.KONGTUO) +// { +// await _wmsMaterialStockRep.DeleteAsync(wmsMaterialStock); +// } +// } - //鏋勫缓鍑哄簱鐗╂枡鍜屽懆杞鍙峰叧绯� - var orderNo = "N/A"; - if (wmsMaterialContainerList.Count > 0) orderNo = YitIdHelper.NextId().ToString(); +// //鏋勫缓鍑哄簱鐗╂枡鍜屽懆杞鍙峰叧绯� +// var orderNo = "N/A"; +// if (wmsMaterialContainerList.Count > 0) orderNo = YitIdHelper.NextId().ToString(); - foreach (var wmsMaterialContaine in wmsMaterialContainerList) - { - //鏇存柊鐘舵�佷负鈥濆垹闄も�� - wmsMaterialContaine.BindStatus = CommonStatus.DELETED; - await _wmsMaterialContainerRep.UpdateNowAsync(wmsMaterialContaine); +// foreach (var wmsMaterialContaine in wmsMaterialContainerList) +// { +// //鏇存柊鐘舵�佷负鈥濆垹闄も�� +// wmsMaterialContaine.BindStatus = CommonStatus.DELETED; +// await _wmsMaterialContainerRep.UpdateNowAsync(wmsMaterialContaine); - //鏂板缁勭洏缁戝畾璁板綍 姝e父 - var addWmsMaterialContainer = wmsMaterialContaine; - addWmsMaterialContainer.Id = YitIdHelper.NextId(); - addWmsMaterialContainer.OrderNo = orderNo; - addWmsMaterialContainer.BindStatus = CommonStatus.ENABLE; - await _wmsMaterialContainerRep.InsertNowAsync(addWmsMaterialContainer); - // 杩欓噷娌℃湁鍒嗘嫞鎿嶄綔鐩存帴鏇存柊搴撳瓨淇℃伅 - var wmsMaterialStock = await _wmsMaterialStockRep.FirstOrDefaultAsync(u => u.ContainerCode == wmsMaterialContaine.ContainerCode); - wmsMaterialStock.PlaceCode = "N/A"; - wmsMaterialStock.StockNumber -= wmsMaterialContaine.BindQuantity; - await _wmsMaterialStockRep.UpdateAsync(wmsMaterialStock); - } +// //鏂板缁勭洏缁戝畾璁板綍 姝e父 +// var addWmsMaterialContainer = wmsMaterialContaine; +// addWmsMaterialContainer.Id = YitIdHelper.NextId(); +// addWmsMaterialContainer.OrderNo = orderNo; +// addWmsMaterialContainer.BindStatus = CommonStatus.ENABLE; +// await _wmsMaterialContainerRep.InsertNowAsync(addWmsMaterialContainer); +// // 杩欓噷娌℃湁鍒嗘嫞鎿嶄綔鐩存帴鏇存柊搴撳瓨淇℃伅 +// var wmsMaterialStock = await _wmsMaterialStockRep.FirstOrDefaultAsync(u => u.ContainerCode == wmsMaterialContaine.ContainerCode); +// wmsMaterialStock.PlaceCode = "N/A"; +// wmsMaterialStock.StockNumber -= wmsMaterialContaine.BindQuantity; +// await _wmsMaterialStockRep.UpdateAsync(wmsMaterialStock); +// } - //鏇存柊浠诲姟鐘舵�� - wmsTask.TaskStatus = TaskStatusEnum.WANCHENG; - wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.W; - wmsTask.IsRead = true; +// //鏇存柊浠诲姟鐘舵�� +// wmsTask.TaskStatus = TaskStatusEnum.WANCHENG; +// wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.W; +// wmsTask.IsRead = true; - // 绂佺敤鎵樼洏搴撲綅鍏崇郴 - wmsContainerPlace.ContainerPlaceStatus = CommonStatus.DELETED; - await _wmsContainerPlaceRep.UpdateAsync(wmsContainerPlace); +// // 绂佺敤鎵樼洏搴撲綅鍏崇郴 +// wmsContainerPlace.ContainerPlaceStatus = CommonStatus.DELETED; +// await _wmsContainerPlaceRep.UpdateAsync(wmsContainerPlace); - // 鏇存柊搴撲綅鐘舵�佷负鈥滅┖闂测�� - wmsPlace.PlaceStatus = PlaceStatus.KONGXIAN; - await _wmsPlaceRep.UpdateAsync(wmsPlace); +// // 鏇存柊搴撲綅鐘舵�佷负鈥滅┖闂测�� +// wmsPlace.PlaceStatus = PlaceStatus.KONGXIAN; +// await _wmsPlaceRep.UpdateAsync(wmsPlace); - // 鏇存柊鎵樼洏鐘舵�佷负鈥滅┖闂测�� - wmsContainer.ContainerStatus = ContainerStatus.KOUXIAN; - await _wmsContainerRep.UpdateAsync(wmsContainer); - } - else //绉诲簱浠诲姟 - { +// // 鏇存柊鎵樼洏鐘舵�佷负鈥滅┖闂测�� +// wmsContainer.ContainerStatus = ContainerStatus.KOUXIAN; +// await _wmsContainerRep.UpdateAsync(wmsContainer); +// } +// else //绉诲簱浠诲姟 +// { - } - await _wmsTaskRep.UpdateAsync(wmsTask); - } +// } +// await _wmsTaskRep.UpdateAsync(wmsTask); +// } - /// <summary> - /// 鏇存柊浼樺厛绾�(鍚戜笂) - /// </summary> - /// <returns></returns> - [HttpPost("upwardTaskLevel")] - public async Task UpwardTaskLevel([FromBody] UpdateTaskLevelInput input) - { - var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == input.Id); - if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); - if (wmsTask.TaskStatus != TaskStatusEnum.WEIZHIXING) throw Oops.Oh("鍙湁鏈墽琛岀殑浠诲姟鎵嶈兘鏇存柊浠诲姟浼樺厛绾э紒"); - if(wmsTask.TaskLevel==5) throw Oops.Oh("浠诲姟宸蹭负鏈�楂樼骇鍒紒"); - wmsTask.TaskLevel += 1; - await _wmsTaskRep.UpdateAsync(wmsTask); - } +// /// <summary> +// /// 鏇存柊浼樺厛绾�(鍚戜笂) +// /// </summary> +// /// <returns></returns> +// [HttpPost("upwardTaskLevel")] +// public async Task UpwardTaskLevel([FromBody] UpdateTaskLevelInput input) +// { +// var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == input.Id); +// if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); +// if (wmsTask.TaskStatus != TaskStatusEnum.WEIZHIXING) throw Oops.Oh("鍙湁鏈墽琛岀殑浠诲姟鎵嶈兘鏇存柊浠诲姟浼樺厛绾э紒"); +// if(wmsTask.TaskLevel==5) throw Oops.Oh("浠诲姟宸蹭负鏈�楂樼骇鍒紒"); +// wmsTask.TaskLevel += 1; +// await _wmsTaskRep.UpdateAsync(wmsTask); +// } - /// <summary> - /// 鏇存柊浼樺厛绾�(鍚戜笅) - /// </summary> - /// <returns></returns> - [HttpPost("downTaskLevel")] - public async Task DownTaskLevel([FromBody] UpdateTaskLevelInput input) - { - var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == input.Id); - if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); - if (wmsTask.TaskStatus != TaskStatusEnum.WEIZHIXING) throw Oops.Oh("鍙湁鏈墽琛岀殑浠诲姟鎵嶈兘鏇存柊浠诲姟浼樺厛绾э紒"); - if (wmsTask.TaskLevel == 1) throw Oops.Oh("浠诲姟宸蹭负鏈�浣庣骇鍒紒"); - wmsTask.TaskLevel -= 1; - await _wmsTaskRep.UpdateAsync(wmsTask); - } +// /// <summary> +// /// 鏇存柊浼樺厛绾�(鍚戜笅) +// /// </summary> +// /// <returns></returns> +// [HttpPost("downTaskLevel")] +// public async Task DownTaskLevel([FromBody] UpdateTaskLevelInput input) +// { +// var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == input.Id); +// if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); +// if (wmsTask.TaskStatus != TaskStatusEnum.WEIZHIXING) throw Oops.Oh("鍙湁鏈墽琛岀殑浠诲姟鎵嶈兘鏇存柊浠诲姟浼樺厛绾э紒"); +// if (wmsTask.TaskLevel == 1) throw Oops.Oh("浠诲姟宸蹭负鏈�浣庣骇鍒紒"); +// wmsTask.TaskLevel -= 1; +// await _wmsTaskRep.UpdateAsync(wmsTask); +// } - /// <summary> - /// 鍙栨秷 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("CancelTask")] - public async Task CancelTask([FromBody] CancelInput input) - { - var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == input.Id); - if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); +// /// <summary> +// /// 鍙栨秷 +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("CancelTask")] +// public async Task CancelTask([FromBody] CancelInput input) +// { +// var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == input.Id); +// if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); - if (wmsTask.TaskStatus != TaskStatusEnum.WEIZHIXING) throw Oops.Oh("鍙湁鏈墽琛岀殑浠诲姟鎵嶈兘鍙栨秷浠诲姟锛�"); +// if (wmsTask.TaskStatus != TaskStatusEnum.WEIZHIXING) throw Oops.Oh("鍙湁鏈墽琛岀殑浠诲姟鎵嶈兘鍙栨秷浠诲姟锛�"); - wmsTask.TaskStatus = TaskStatusEnum.QUXIAO; - wmsTask.IsRead=true; - await _wmsTaskRep.UpdateAsync(wmsTask); - } +// wmsTask.TaskStatus = TaskStatusEnum.QUXIAO; +// wmsTask.IsRead=true; +// await _wmsTaskRep.UpdateAsync(wmsTask); +// } - /// <summary> - /// 鎵归噺鍙栨秷 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("batchCancel")] - public async Task BatchCancel([FromBody] BatchCancelInput input) - { - int length = input.Id.Count; - for (int i = 0; i < length; i++) - { - long Id = input.Id[i]; - var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == Id); - if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); +// /// <summary> +// /// 鎵归噺鍙栨秷 +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("batchCancel")] +// public async Task BatchCancel([FromBody] BatchCancelInput input) +// { +// int length = input.Id.Count; +// for (int i = 0; i < length; i++) +// { +// long Id = input.Id[i]; +// var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == Id); +// if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); - if (wmsTask.TaskStatus != TaskStatusEnum.WEIZHIXING) throw Oops.Oh("鍙湁鏈墽琛岀殑浠诲姟鎵嶈兘鍙栨秷浠诲姟锛�"); +// if (wmsTask.TaskStatus != TaskStatusEnum.WEIZHIXING) throw Oops.Oh("鍙湁鏈墽琛岀殑浠诲姟鎵嶈兘鍙栨秷浠诲姟锛�"); - wmsTask.TaskStatus = TaskStatusEnum.QUXIAO; - await _wmsTaskRep.UpdateAsync(wmsTask); - } - } +// wmsTask.TaskStatus = TaskStatusEnum.QUXIAO; +// await _wmsTaskRep.UpdateAsync(wmsTask); +// } +// } - /// <summary> - /// 鎵归噺鏆傚仠 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("batchBreak")] - public async Task BatchBreak([FromBody] BatchBreakInput input) - { - int length = input.Id.Count; - for (int i = 0; i < length; i++) - { - long Id = input.Id[i]; - var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == Id); - if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); +// /// <summary> +// /// 鎵归噺鏆傚仠 +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("batchBreak")] +// public async Task BatchBreak([FromBody] BatchBreakInput input) +// { +// int length = input.Id.Count; +// for (int i = 0; i < length; i++) +// { +// long Id = input.Id[i]; +// var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == Id); +// if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); - if (wmsTask.TaskStatus != TaskStatusEnum.WEIZHIXING) throw Oops.Oh("鍙湁鏈墽琛岀殑浠诲姟鎵嶈兘鏆傚仠浠诲姟锛�"); +// if (wmsTask.TaskStatus != TaskStatusEnum.WEIZHIXING) throw Oops.Oh("鍙湁鏈墽琛岀殑浠诲姟鎵嶈兘鏆傚仠浠诲姟锛�"); - wmsTask.TaskStatus = TaskStatusEnum.ZANTING; - await _wmsTaskRep.UpdateAsync(wmsTask); - } - } +// wmsTask.TaskStatus = TaskStatusEnum.ZANTING; +// await _wmsTaskRep.UpdateAsync(wmsTask); +// } +// } - /// <summary> - /// 鎵归噺缁х画 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("batchContinue")] - public async Task BatchContinue([FromBody] BatchContinueInput input) - { - int length = input.Id.Count; - for (int i = 0; i < length; i++) - { - long Id = input.Id[i]; - var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == Id); - if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); +// /// <summary> +// /// 鎵归噺缁х画 +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("batchContinue")] +// public async Task BatchContinue([FromBody] BatchContinueInput input) +// { +// int length = input.Id.Count; +// for (int i = 0; i < length; i++) +// { +// long Id = input.Id[i]; +// var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.Id == Id); +// if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); - if (wmsTask.TaskStatus != TaskStatusEnum.ZANTING) throw Oops.Oh("鍙湁鏆傚仠鐨勪换鍔℃墠鑳界户缁换鍔★紒"); +// if (wmsTask.TaskStatus != TaskStatusEnum.ZANTING) throw Oops.Oh("鍙湁鏆傚仠鐨勪换鍔℃墠鑳界户缁换鍔★紒"); - wmsTask.TaskStatus = TaskStatusEnum.WEIZHIXING; - await _wmsTaskRep.UpdateAsync(wmsTask); - } - } +// wmsTask.TaskStatus = TaskStatusEnum.WEIZHIXING; +// await _wmsTaskRep.UpdateAsync(wmsTask); +// } +// } - /// <summary> - /// 鑾峰彇鍑哄叆搴撲换鍔$鐞� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpGet("detail")] - public async Task<TaskOutput> Get([FromQuery] QueryeWmsTaskInput input) - { - return (await _wmsTaskRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<TaskOutput>(); - } +// /// <summary> +// /// 鑾峰彇鍑哄叆搴撲换鍔$鐞� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpGet("detail")] +// public async Task<TaskOutput> Get([FromQuery] QueryeWmsTaskInput input) +// { +// return (await _wmsTaskRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<TaskOutput>(); +// } - /// <summary> - /// 鑾峰彇鍑哄叆搴撲换鍔$鐞嗗垪琛� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpGet("list")] - public async Task<List<TaskOutput>> List([FromQuery] TaskInput input) - { - return await _wmsTaskRep.DetachedEntities.ProjectToType<TaskOutput>().ToListAsync(); - } +// /// <summary> +// /// 鑾峰彇鍑哄叆搴撲换鍔$鐞嗗垪琛� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpGet("list")] +// public async Task<List<TaskOutput>> List([FromQuery] TaskInput input) +// { +// return await _wmsTaskRep.DetachedEntities.ProjectToType<TaskOutput>().ToListAsync(); +// } - /// <summary> - /// Excel妯℃澘瀵煎叆鍑哄叆搴撲换鍔$鐞嗗姛鑳� - /// </summary> - /// <param name="file">Excel妯℃澘鏂囦欢</param> - /// <param name="importExcelType">Excel瀵煎叆鏂瑰紡</param> - /// <returns>瀵煎叆鐨勮褰曟暟</returns> - [HttpPost("fromExcel")] - public async Task<int> FromExcelAsync(IFormFile file, [FromQuery] ImportExcelType importExcelType) - { - int size = 200; - var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsTask", "v2"); - if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002); - var keys = excelTemplate.UnionUniqueFields.Split(",") ?? Array.Empty<string>(); - for (var i = 0; i < keys.Length; i++) - { - keys[i] = keys[i]?.Trim() ?? string.Empty; - } - ExcelUtil.FromExcel(file, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, out List<string> headers, out List<List<object?>> data, out string sheetName); - List<TaskOutput> wmsTaskList = DataConvertUtil.ToObjectList(headers, data, sheetName, keys, excelTemplate?.DataStartLine ?? 2, out Dictionary<string, TaskOutput> dict); - List<Dictionary<string, object>> uniqueKeyValueDictList = wmsTaskList.ParseUniqueKeyValueDictList(keys.ToList(), excelTemplate?.DataStartLine ?? 2, sheetName); - var filters = DataConvertUtil.GetExpressionListByUniqueDict<WmsTask>(keys.ToList(), uniqueKeyValueDictList, size); - var selectKeys = keys.ToList(); - if (!selectKeys.Contains("Id")) selectKeys.Add("Id"); - var selector = DataConvertUtil.GetSelectExpressionListByUniqueDict<WmsTask, TaskOutput>(selectKeys); - List<WmsTask> updates = new(); - List<WmsTask> adds = new(); +// /// <summary> +// /// Excel妯℃澘瀵煎叆鍑哄叆搴撲换鍔$鐞嗗姛鑳� +// /// </summary> +// /// <param name="file">Excel妯℃澘鏂囦欢</param> +// /// <param name="importExcelType">Excel瀵煎叆鏂瑰紡</param> +// /// <returns>瀵煎叆鐨勮褰曟暟</returns> +// [HttpPost("fromExcel")] +// public async Task<int> FromExcelAsync(IFormFile file, [FromQuery] ImportExcelType importExcelType) +// { +// int size = 200; +// var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsTask", "v2"); +// if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002); +// var keys = excelTemplate.UnionUniqueFields.Split(",") ?? Array.Empty<string>(); +// for (var i = 0; i < keys.Length; i++) +// { +// keys[i] = keys[i]?.Trim() ?? string.Empty; +// } +// ExcelUtil.FromExcel(file, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, out List<string> headers, out List<List<object?>> data, out string sheetName); +// List<TaskOutput> wmsTaskList = DataConvertUtil.ToObjectList(headers, data, sheetName, keys, excelTemplate?.DataStartLine ?? 2, out Dictionary<string, TaskOutput> dict); +// List<Dictionary<string, object>> uniqueKeyValueDictList = wmsTaskList.ParseUniqueKeyValueDictList(keys.ToList(), excelTemplate?.DataStartLine ?? 2, sheetName); +// var filters = DataConvertUtil.GetExpressionListByUniqueDict<WmsTask>(keys.ToList(), uniqueKeyValueDictList, size); +// var selectKeys = keys.ToList(); +// if (!selectKeys.Contains("Id")) selectKeys.Add("Id"); +// var selector = DataConvertUtil.GetSelectExpressionListByUniqueDict<WmsTask, TaskOutput>(selectKeys); +// List<WmsTask> updates = new(); +// List<WmsTask> adds = new(); - lock (_lock) - { - foreach (var filter in filters) - { - var wmsTaskExistSubList = _wmsTaskRep.Where(filter).Select(selector).ToList(); - wmsTaskExistSubList.ForEach(x => - { - var k = DataConvertUtil.GetKey(x, keys); - if (dict.ContainsKey(k)) dict[k].Id = x.Id; - }); - } +// lock (_lock) +// { +// foreach (var filter in filters) +// { +// var wmsTaskExistSubList = _wmsTaskRep.Where(filter).Select(selector).ToList(); +// wmsTaskExistSubList.ForEach(x => +// { +// var k = DataConvertUtil.GetKey(x, keys); +// if (dict.ContainsKey(k)) dict[k].Id = x.Id; +// }); +// } - foreach (var wmsTask in wmsTaskList) - { - if (wmsTask.Id > 0) - { - if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.Add(wmsTask.Adapt<WmsTask>()); - } - else - { - adds.Add(wmsTask.Adapt<WmsTask>()); - } - } +// foreach (var wmsTask in wmsTaskList) +// { +// if (wmsTask.Id > 0) +// { +// if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.Add(wmsTask.Adapt<WmsTask>()); +// } +// else +// { +// adds.Add(wmsTask.Adapt<WmsTask>()); +// } +// } - if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.ForEach(x => _wmsTaskRep.Update(x)); +// if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.ForEach(x => _wmsTaskRep.Update(x)); - var maxId = _wmsTaskRep.DetachedEntities.OrderByDescending(x => x.Id).Select(x => x.Id).FirstOrDefault(); - adds.ForEach(x => x.Id = ++maxId); - Db.GetDbContext().Set<WmsTask>().AddRange(adds); - Db.GetDbContext().SaveChanges(); - } +// var maxId = _wmsTaskRep.DetachedEntities.OrderByDescending(x => x.Id).Select(x => x.Id).FirstOrDefault(); +// adds.ForEach(x => x.Id = ++maxId); +// Db.GetDbContext().Set<WmsTask>().AddRange(adds); +// Db.GetDbContext().SaveChanges(); +// } - await Task.CompletedTask; - return adds.Count; - } +// await Task.CompletedTask; +// return adds.Count; +// } - /// <summary> - /// 鏍规嵁鐗堟湰涓嬭浇鍑哄叆搴撲换鍔$鐞嗙殑Excel瀵煎叆妯℃澘 - /// </summary> - /// <param name="version">妯℃澘鐗堟湰</param> - /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> - [HttpGet("downloadExcelTemplate")] - public async Task<IActionResult> DownloadExcelTemplate([FromQuery] string version) - { - var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsTask", version); - if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002); - var path = Path.Combine(@"\", excelTemplate.TemplateFileName); - Stream ms = FileUtil.Download(path, excelTemplate.TemplateFileName); - var fileName = HttpUtility.UrlEncode($"{excelTemplate.Name}瀵煎叆妯℃澘.xlsx", Encoding.GetEncoding("UTF-8")); - return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; - } +// /// <summary> +// /// 鏍规嵁鐗堟湰涓嬭浇鍑哄叆搴撲换鍔$鐞嗙殑Excel瀵煎叆妯℃澘 +// /// </summary> +// /// <param name="version">妯℃澘鐗堟湰</param> +// /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> +// [HttpGet("downloadExcelTemplate")] +// public async Task<IActionResult> DownloadExcelTemplate([FromQuery] string version) +// { +// var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsTask", version); +// if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002); +// var path = Path.Combine(@"\", excelTemplate.TemplateFileName); +// Stream ms = FileUtil.Download(path, excelTemplate.TemplateFileName); +// var fileName = HttpUtility.UrlEncode($"{excelTemplate.Name}瀵煎叆妯℃澘.xlsx", Encoding.GetEncoding("UTF-8")); +// return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; +// } - /// <summary> - /// 鏍规嵁鍑哄叆搴撲换鍔$鐞嗘煡璇㈠弬鏁板鍑篍xcel - /// </summary> - /// <param name="input">鍑哄叆搴撲换鍔$鐞嗭紙鐔熷寲搴擄級鏌ヨ鍙傛暟</param> - /// <returns>瀵煎嚭鐨凟xcel鏂囦欢</returns> - [HttpGet("toExcel")] - public async Task<IActionResult> ToExcelAsync([FromQuery] WmsTaskSearchNonPage input) - { - var wmsTaskList = await ListNonPageAsync(input); - MemoryStream ms = new(); - DataConvertUtil.ToExcelData(wmsTaskList, _sysDictTypeRep, _sysDictDataRep, out List<string> headers, - out List<List<object>> data, out string sheetName); - var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsTask", "v1"); - if (excelTemplate != null) - { - ExcelUtil.ToExcel(excelTemplate.TemplateFileName, headers, data, sheetName, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, ms); - } - else - { - ExcelUtil.ToExcel(headers, data, sheetName, ms); - } - ms.Position = 0; - var fileName = HttpUtility.UrlEncode($"{sheetName}[{DateTimeOffset.Now:yyyy-MM-dd}].xlsx", Encoding.GetEncoding("UTF-8")); - return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; - } - } -} +// /// <summary> +// /// 鏍规嵁鍑哄叆搴撲换鍔$鐞嗘煡璇㈠弬鏁板鍑篍xcel +// /// </summary> +// /// <param name="input">鍑哄叆搴撲换鍔$鐞嗭紙鐔熷寲搴擄級鏌ヨ鍙傛暟</param> +// /// <returns>瀵煎嚭鐨凟xcel鏂囦欢</returns> +// [HttpGet("toExcel")] +// public async Task<IActionResult> ToExcelAsync([FromQuery] WmsTaskSearchNonPage input) +// { +// var wmsTaskList = await ListNonPageAsync(input); +// MemoryStream ms = new(); +// DataConvertUtil.ToExcelData(wmsTaskList, _sysDictTypeRep, _sysDictDataRep, out List<string> headers, +// out List<List<object>> data, out string sheetName); +// var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsTask", "v1"); +// if (excelTemplate != null) +// { +// ExcelUtil.ToExcel(excelTemplate.TemplateFileName, headers, data, sheetName, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, ms); +// } +// else +// { +// ExcelUtil.ToExcel(headers, data, sheetName, ms); +// } +// ms.Position = 0; +// var fileName = HttpUtility.UrlEncode($"{sheetName}[{DateTimeOffset.Now:yyyy-MM-dd}].xlsx", Encoding.GetEncoding("UTF-8")); +// return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; +// } +// } +//} -- Gitblit v1.9.3