From 174f05a6e0f2312f3bdcafcf837f2534ecdaea15 Mon Sep 17 00:00:00 2001 From: payne <bzrlw2012@163.com> Date: 周二, 23 4月 2024 17:22:02 +0800 Subject: [PATCH] 增加库区 --- iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WcsToWms/WareWcsToWmsService.cs | 1992 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 996 insertions(+), 996 deletions(-) diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WcsToWms/WareWcsToWmsService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WcsToWms/WareWcsToWmsService.cs index 350bde1..1acc2a9 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WcsToWms/WareWcsToWmsService.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WcsToWms/WareWcsToWmsService.cs @@ -1,1059 +1,1059 @@ -锘縰sing Furion; -using Furion.DatabaseAccessor; -using Furion.DependencyInjection; -using Furion.DynamicApiController; -using Furion.FriendlyException; -using Mapster; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; -using Admin.NET.Core; -using Yitter.IdGenerator; -using StackExchange.Redis; +锘�//using Furion; +//using Furion.DatabaseAccessor; +//using Furion.DependencyInjection; +//using Furion.DynamicApiController; +//using Furion.FriendlyException; +//using Mapster; +//using Microsoft.AspNetCore.Authorization; +//using Microsoft.AspNetCore.Mvc; +//using Microsoft.EntityFrameworkCore; +//using Admin.NET.Core; +//using Yitter.IdGenerator; +//using StackExchange.Redis; -namespace Admin.NET.Application -{ - /// <summary> - /// WCS璋冪敤鏈嶅姟 - /// </summary> - [ApiDescriptionSettings("WCS璋冪敤鏈嶅姟", Name = "WareWcsToWmsService", Order = 100)] - [Route("api/[Controller]")] - public class WareWcsToWmsService : IDynamicApiController, ITransient - { - private readonly IRepository<WmsOrder, MasterDbContextLocator> _wmsOrderRep; - private readonly IRepository<WmsOrderDetails, MasterDbContextLocator> _wmsOrderDetailsRep; - private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; - private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; - private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; - private readonly IRepository<WmsContainerPlace, MasterDbContextLocator> _wmsContainerPlaceRep; - private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; - private readonly IRepository<WmsContainer, MasterDbContextLocator> _wmsContainerRep; - private readonly IRepository<LesPackWarehouse, MasterDbContextLocator> _lesPackWarehouseRep; - private readonly IRepository<LesDeviceWaring, MasterDbContextLocator> _lesDeviceWaringRep; +//namespace Admin.NET.Application +//{ +// /// <summary> +// /// WCS璋冪敤鏈嶅姟 +// /// </summary> +// [ApiDescriptionSettings("WCS璋冪敤鏈嶅姟", Name = "WareWcsToWmsService", Order = 100)] +// [Route("api/[Controller]")] +// public class WareWcsToWmsService : IDynamicApiController, ITransient +// { +// private readonly IRepository<WmsOrder, MasterDbContextLocator> _wmsOrderRep; +// private readonly IRepository<WmsOrderDetails, MasterDbContextLocator> _wmsOrderDetailsRep; +// private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; +// private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; +// private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; +// private readonly IRepository<WmsContainerPlace, MasterDbContextLocator> _wmsContainerPlaceRep; +// private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; +// private readonly IRepository<WmsContainer, MasterDbContextLocator> _wmsContainerRep; +// private readonly IRepository<LesPackWarehouse, MasterDbContextLocator> _lesPackWarehouseRep; +// private readonly IRepository<LesDeviceWaring, MasterDbContextLocator> _lesDeviceWaringRep; - /// <summary> - /// 鏋勯�犲嚱鏁� - /// </summary> - public WareWcsToWmsService( - IRepository<WmsOrder, MasterDbContextLocator> wmsOrderRep, - IRepository<WmsOrderDetails, MasterDbContextLocator> wmsOrderDetailsRep, - IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep, - IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep, - IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep, - IRepository<WmsContainerPlace, MasterDbContextLocator> wmsContainerPlaceRep, - IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep, - IRepository<WmsContainer, MasterDbContextLocator> wmsContainerRep, - IRepository<LesPackWarehouse, MasterDbContextLocator> lesPackWarehouseRep, - IRepository<LesDeviceWaring, MasterDbContextLocator> lesDeviceWaringRep - ) - { - _wmsOrderRep = wmsOrderRep; - _wmsOrderDetailsRep = wmsOrderDetailsRep; - _wmsTaskRep = wmsTaskRep; - _wmsMaterialContainerRep = wmsMaterialContainerRep; - _wmsPlaceRep = wmsPlaceRep; - _wmsContainerPlaceRep = wmsContainerPlaceRep; - _wmsMaterialStockRep = wmsMaterialStockRep; - _wmsContainerRep = wmsContainerRep; - _lesPackWarehouseRep = lesPackWarehouseRep; - _lesDeviceWaringRep = lesDeviceWaringRep; - } +// /// <summary> +// /// 鏋勯�犲嚱鏁� +// /// </summary> +// public WareWcsToWmsService( +// IRepository<WmsOrder, MasterDbContextLocator> wmsOrderRep, +// IRepository<WmsOrderDetails, MasterDbContextLocator> wmsOrderDetailsRep, +// IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep, +// IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep, +// IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep, +// IRepository<WmsContainerPlace, MasterDbContextLocator> wmsContainerPlaceRep, +// IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep, +// IRepository<WmsContainer, MasterDbContextLocator> wmsContainerRep, +// IRepository<LesPackWarehouse, MasterDbContextLocator> lesPackWarehouseRep, +// IRepository<LesDeviceWaring, MasterDbContextLocator> lesDeviceWaringRep +// ) +// { +// _wmsOrderRep = wmsOrderRep; +// _wmsOrderDetailsRep = wmsOrderDetailsRep; +// _wmsTaskRep = wmsTaskRep; +// _wmsMaterialContainerRep = wmsMaterialContainerRep; +// _wmsPlaceRep = wmsPlaceRep; +// _wmsContainerPlaceRep = wmsContainerPlaceRep; +// _wmsMaterialStockRep = wmsMaterialStockRep; +// _wmsContainerRep = wmsContainerRep; +// _lesPackWarehouseRep = lesPackWarehouseRep; +// _lesDeviceWaringRep = lesDeviceWaringRep; +// } - /// <summary> - /// 瀹氭椂鏌ヨWCS鍙互涓嬪彂鐨勫嚭鍏ュ簱浠诲姟(10鏉�) - /// </summary> - /// <returns></returns> - [HttpGet("GetSendTask")] - [AllowAnonymous] - public async Task<List<SendTaskDetailOutput>> GetSendTask() - { - var outputList = new List<SendTaskDetailOutput>(); - var alllist = await _wmsTaskRep.DetachedEntities - .Where(z => z.IsRead == true) - .Take(10) - .OrderByDescending(n => n.TaskLevel) - .OrderBy(p => p.CreatedTime).ToListAsync(); - foreach (var item in alllist) - { - var sendTaskDetail = new SendTaskDetailOutput(); //浠诲姟璇︽儏 - sendTaskDetail.TaskNo = item.TaskNo; - if (item.TaskType == TaskType.RUKU) sendTaskDetail.SourcePlace = item.ToPlace; - else sendTaskDetail.SourcePlace = item.SourcePlace; - sendTaskDetail.Aisle = item.Aisle; - sendTaskDetail.TaskType = item.TaskType; - sendTaskDetail.TaskLevel = item.TaskLevel; - sendTaskDetail.ContainerCode = item.ContainerCode; - sendTaskDetail.TaskStatus = item.TaskStatus; - outputList.Add(sendTaskDetail); +// /// <summary> +// /// 瀹氭椂鏌ヨWCS鍙互涓嬪彂鐨勫嚭鍏ュ簱浠诲姟(10鏉�) +// /// </summary> +// /// <returns></returns> +// [HttpGet("GetSendTask")] +// [AllowAnonymous] +// public async Task<List<SendTaskDetailOutput>> GetSendTask() +// { +// var outputList = new List<SendTaskDetailOutput>(); +// var alllist = await _wmsTaskRep.DetachedEntities +// .Where(z => z.IsRead == true) +// .Take(10) +// .OrderByDescending(n => n.TaskLevel) +// .OrderBy(p => p.CreatedTime).ToListAsync(); +// foreach (var item in alllist) +// { +// var sendTaskDetail = new SendTaskDetailOutput(); //浠诲姟璇︽儏 +// sendTaskDetail.TaskNo = item.TaskNo; +// if (item.TaskType == TaskType.RUKU) sendTaskDetail.SourcePlace = item.ToPlace; +// else sendTaskDetail.SourcePlace = item.SourcePlace; +// sendTaskDetail.Aisle = item.Aisle; +// sendTaskDetail.TaskType = item.TaskType; +// sendTaskDetail.TaskLevel = item.TaskLevel; +// sendTaskDetail.ContainerCode = item.ContainerCode; +// sendTaskDetail.TaskStatus = item.TaskStatus; +// outputList.Add(sendTaskDetail); - //item.IsRead=false; - //item.TaskStatus = TaskStatusEnum.DAIZHIXING; - //await _wmsTaskRep.UpdateAsync(item); - } - return outputList; - } +// //item.IsRead=false; +// //item.TaskStatus = TaskStatusEnum.DAIZHIXING; +// //await _wmsTaskRep.UpdateAsync(item); +// } +// return outputList; +// } - /// <summary> - /// 鏇存柊浠诲姟淇℃伅 - /// </summary> - /// <returns></returns> - [HttpPost("UpdateTask")] - [UnitOfWork] - [AllowAnonymous] - public async Task UpdateTask([FromBody] UpdateTaskInput input) - { - //鏍规嵁浠诲姟鍙锋煡璇换鍔′俊鎭� - var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(z => z.TaskNo == input.TaskNo); - if (wmsTask == null) throw Oops.Oh(errorMessage: "浠诲姟涓嶅瓨鍦紒"); - wmsTask.TaskDodeviceStatus = input.TaskDodeviceStatus; - wmsTask.TaskStatus = TaskStatusEnum.ZHIXINGZHONG; - wmsTask.IsRead = false; +// /// <summary> +// /// 鏇存柊浠诲姟淇℃伅 +// /// </summary> +// /// <returns></returns> +// [HttpPost("UpdateTask")] +// [UnitOfWork] +// [AllowAnonymous] +// public async Task UpdateTask([FromBody] UpdateTaskInput input) +// { +// //鏍规嵁浠诲姟鍙锋煡璇换鍔′俊鎭� +// var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(z => z.TaskNo == input.TaskNo); +// if (wmsTask == null) throw Oops.Oh(errorMessage: "浠诲姟涓嶅瓨鍦紒"); +// wmsTask.TaskDodeviceStatus = input.TaskDodeviceStatus; +// wmsTask.TaskStatus = TaskStatusEnum.ZHIXINGZHONG; +// wmsTask.IsRead = false; - WmsPlace wmsPlace = new WmsPlace(); - //鍒ゆ柇鍏ュ簱杩樻槸鍑哄簱 - if (wmsTask.TaskType == TaskType.RUKU) - { - //搴撲綅淇℃伅 - wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(z => z.PlaceCode == wmsTask.ToPlace); - } - else if (wmsTask.TaskType == TaskType.CHUKU) - { - //搴撲綅淇℃伅 - wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(z => z.PlaceCode == wmsTask.SourcePlace); - } - if (wmsPlace == null) throw Oops.Oh(errorMessage: "搴撲綅涓嶅瓨鍦紒"); +// WmsPlace wmsPlace = new WmsPlace(); +// //鍒ゆ柇鍏ュ簱杩樻槸鍑哄簱 +// if (wmsTask.TaskType == TaskType.RUKU) +// { +// //搴撲綅淇℃伅 +// wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(z => z.PlaceCode == wmsTask.ToPlace); +// } +// else if (wmsTask.TaskType == TaskType.CHUKU) +// { +// //搴撲綅淇℃伅 +// wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(z => z.PlaceCode == wmsTask.SourcePlace); +// } +// if (wmsPlace == null) throw Oops.Oh(errorMessage: "搴撲綅涓嶅瓨鍦紒"); - // 鏌ヨ鎵樼洏淇℃伅 - var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode); - if (wmsContainer == null) throw Oops.Oh("鎵樼洏涓嶅瓨鍦紒"); +// // 鏌ヨ鎵樼洏淇℃伅 +// var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode); +// if (wmsContainer == null) throw Oops.Oh("鎵樼洏涓嶅瓨鍦紒"); - //鍏ュ簱绉伴噸 - //if (wmsTask.TaskType == TaskType.RUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.ZX_RKCZ) - //{ - //} - //鍏ュ簱杈撻�佺嚎寮�濮� - //if (wmsTask.TaskType == TaskType.RUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.ZX_RSSX) - //{ - //} - //鍏ュ簱杈撻�佺嚎缁撴潫 - //if (wmsTask.TaskType == TaskType.RUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.WC_RSSX) - //{ - //} - //鍏ュ簱RGV寮�濮� - //if (wmsTask.TaskType == TaskType.RUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.ZX_RGV) - //{ - //} - //鍏ュ簱RGV缁撴潫 - //if (wmsTask.TaskType == TaskType.RUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.WC_RGV) - //{ - //} - //鍏ュ簱寮�濮� - if (wmsTask.TaskType == TaskType.RUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.ZX_DDJ) - { - // 鏇存柊搴撲綅鐘舵�� - wmsPlace.PlaceStatus = PlaceStatus.DAIRU; - await _wmsPlaceRep.UpdateAsync(wmsPlace); - } - //鍏ュ簱瀹屾垚 - if (wmsTask.TaskType == TaskType.RUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.WC_DDJ) - { - //棣栧厛鏇存柊浠诲姟鐘舵�佸畬鎴� - wmsTask.TaskStatus = TaskStatusEnum.WANCHENG; - //鏇存柊璁惧鐘舵�� - wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.W; +// //鍏ュ簱绉伴噸 +// //if (wmsTask.TaskType == TaskType.RUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.ZX_RKCZ) +// //{ +// //} +// //鍏ュ簱杈撻�佺嚎寮�濮� +// //if (wmsTask.TaskType == TaskType.RUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.ZX_RSSX) +// //{ +// //} +// //鍏ュ簱杈撻�佺嚎缁撴潫 +// //if (wmsTask.TaskType == TaskType.RUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.WC_RSSX) +// //{ +// //} +// //鍏ュ簱RGV寮�濮� +// //if (wmsTask.TaskType == TaskType.RUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.ZX_RGV) +// //{ +// //} +// //鍏ュ簱RGV缁撴潫 +// //if (wmsTask.TaskType == TaskType.RUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.WC_RGV) +// //{ +// //} +// //鍏ュ簱寮�濮� +// if (wmsTask.TaskType == TaskType.RUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.ZX_DDJ) +// { +// // 鏇存柊搴撲綅鐘舵�� +// wmsPlace.PlaceStatus = PlaceStatus.DAIRU; +// await _wmsPlaceRep.UpdateAsync(wmsPlace); +// } +// //鍏ュ簱瀹屾垚 +// if (wmsTask.TaskType == TaskType.RUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.WC_DDJ) +// { +// //棣栧厛鏇存柊浠诲姟鐘舵�佸畬鎴� +// wmsTask.TaskStatus = TaskStatusEnum.WANCHENG; +// //鏇存柊璁惧鐘舵�� +// wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.W; - // 鏇存柊鎵樼洏鐘舵�佷负鈥滃簱浣嶁�� - wmsContainer.ContainerStatus = ContainerStatus.KUWEI; - await _wmsContainerRep.UpdateAsync(wmsContainer); +// // 鏇存柊鎵樼洏鐘舵�佷负鈥滃簱浣嶁�� +// wmsContainer.ContainerStatus = ContainerStatus.KUWEI; +// await _wmsContainerRep.UpdateAsync(wmsContainer); - //搴撲綅淇℃伅 - if (wmsPlace == null) throw Oops.Oh("搴撲綅涓嶅瓨鍦�!"); - if (wmsPlace.Islock == YesOrNot.Y) throw Oops.Oh("搴撲綅琚攣瀹�!"); +// //搴撲綅淇℃伅 +// if (wmsPlace == null) throw Oops.Oh("搴撲綅涓嶅瓨鍦�!"); +// if (wmsPlace.Islock == YesOrNot.Y) throw Oops.Oh("搴撲綅琚攣瀹�!"); - // 鏇存柊搴撲綅鐘舵�佷负鈥滃瓨璐р�� - wmsPlace.PlaceStatus = PlaceStatus.CUNHUO; - if (wmsTask.Description == "绌烘墭") wmsPlace.EmptyContainer = YesOrNot.Y; - else wmsPlace.EmptyContainer = YesOrNot.N; - await _wmsPlaceRep.UpdateAsync(wmsPlace); +// // 鏇存柊搴撲綅鐘舵�佷负鈥滃瓨璐р�� +// wmsPlace.PlaceStatus = PlaceStatus.CUNHUO; +// if (wmsTask.Description == "绌烘墭") wmsPlace.EmptyContainer = YesOrNot.Y; +// else wmsPlace.EmptyContainer = YesOrNot.N; +// await _wmsPlaceRep.UpdateAsync(wmsPlace); - // 鍒涘缓鎵樼洏鍙峰簱浣嶅叧绯昏〃 - 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.WULIAO; - 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 = item.BindQuantity, - PlaceCode = wmsPlace.PlaceCode, - ContainerId = wmsContainer.Id, - ContainerCode = wmsContainer.ContainerCode, - AreaId = wmsPlace.AreaId, - Source = RuKuSourceEnum.WULIAO - }; - await _wmsMaterialStockRep.InsertAsync(wmsMaterialStock); - } - } - // 绌烘枡绠卞叆搴� - if (wmsTask.Description == "绌烘墭") - { - 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); - } - } - //鍑哄簱鍫嗗灈鏈哄畬鎴�,鎵ц搴撳瓨锛屽簱浣嶏紝鎵樼洏瀵瑰簲鍏崇郴杩涜鏇存柊 - else if (wmsTask.TaskType == TaskType.CHUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.WC_DDJ) - { +// 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.WULIAO; +// 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 = item.BindQuantity, +// PlaceCode = wmsPlace.PlaceCode, +// ContainerId = wmsContainer.Id, +// ContainerCode = wmsContainer.ContainerCode, +// AreaId = wmsPlace.AreaId, +// Source = RuKuSourceEnum.WULIAO +// }; +// await _wmsMaterialStockRep.InsertAsync(wmsMaterialStock); +// } +// } +// // 绌烘枡绠卞叆搴� +// if (wmsTask.Description == "绌烘墭") +// { +// 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); +// } +// } +// //鍑哄簱鍫嗗灈鏈哄畬鎴�,鎵ц搴撳瓨锛屽簱浣嶏紝鎵樼洏瀵瑰簲鍏崇郴杩涜鏇存柊 +// else if (wmsTask.TaskType == TaskType.CHUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.WC_DDJ) +// { - if (wmsPlace == null) throw Oops.Oh("搴撲綅涓嶅瓨鍦�!"); - if (wmsPlace.PlaceStatus != PlaceStatus.DAICHU) throw Oops.Oh("搴撲綅寮傚父璐�!"); +// if (wmsPlace == null) throw Oops.Oh("搴撲綅涓嶅瓨鍦�!"); +// if (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("搴撲綅瀹瑰櫒鍏崇郴涓嶅瓨鍦�!"); - // 鏌ヨ搴撳瓨淇℃伅 - var wmsMaterialStockList = await _wmsMaterialStockRep.DetachedEntities.Where(u => u.ContainerCode == wmsTask.ContainerCode).ToListAsync(); - if (wmsMaterialStockList.Count <= 0) throw Oops.Oh("搴撳瓨鏁版嵁寮傚父!"); +// // 鏌ヨ搴撳瓨淇℃伅 +// var wmsMaterialStockList = await _wmsMaterialStockRep.DetachedEntities.Where(u => u.ContainerCode == wmsTask.ContainerCode).ToListAsync(); +// if (wmsMaterialStockList.Count <= 0) throw Oops.Oh("搴撳瓨鏁版嵁寮傚父!"); - ////鏌ヨ鐗╂枡涓庢墭鐩樼粍鐩樺叧绯伙紙鐘舵�侊細姝e父锛� - var wmsMaterialContainerList = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == wmsTask.ContainerCode - && p.BindStatus == CommonStatus.ENABLE && p.OrderNo == wmsTask.OrderNo).ToListAsync(); - //鍒ゆ柇鐗╂枡鏄惁鏄┖鎵橈紝濡傛灉鏄┖鎵樼洿鎺ュ垹闄わ紝涓嶆槸绌烘墭鏌ヨ鐗╂枡 - if (wmsMaterialContainerList.Count == 0) - { - //鍒犻櫎搴撳瓨 - foreach (var item in wmsMaterialStockList) - { - await _wmsMaterialStockRep.DeleteAsync(item); - } - // 鏇存柊鎵樼洏鐘舵�佷负鈥滅┖闂测�� - wmsContainer.ContainerStatus = ContainerStatus.KOUXIAN; +// ////鏌ヨ鐗╂枡涓庢墭鐩樼粍鐩樺叧绯伙紙鐘舵�侊細姝e父锛� +// var wmsMaterialContainerList = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == wmsTask.ContainerCode +// && p.BindStatus == CommonStatus.ENABLE && p.OrderNo == wmsTask.OrderNo).ToListAsync(); +// //鍒ゆ柇鐗╂枡鏄惁鏄┖鎵橈紝濡傛灉鏄┖鎵樼洿鎺ュ垹闄わ紝涓嶆槸绌烘墭鏌ヨ鐗╂枡 +// if (wmsMaterialContainerList.Count == 0) +// { +// //鍒犻櫎搴撳瓨 +// foreach (var item in wmsMaterialStockList) +// { +// await _wmsMaterialStockRep.DeleteAsync(item); +// } +// // 鏇存柊鎵樼洏鐘舵�佷负鈥滅┖闂测�� +// wmsContainer.ContainerStatus = ContainerStatus.KOUXIAN; - } - else - { - //鏋勫缓鍑哄簱鐗╂枡鍜屽懆杞鍙峰叧绯� - var orderNo = "N/A"; - if (wmsMaterialContainerList.Count > 0) orderNo = YitIdHelper.NextId().ToString(); - foreach (var item in wmsMaterialContainerList) - { - //鏇存柊鐘舵�佷负鈥濆垹闄も�� - item.BindStatus = CommonStatus.DELETED; - await _wmsMaterialContainerRep.UpdateNowAsync(item); +// } +// else +// { +// //鏋勫缓鍑哄簱鐗╂枡鍜屽懆杞鍙峰叧绯� +// var orderNo = "N/A"; +// if (wmsMaterialContainerList.Count > 0) orderNo = YitIdHelper.NextId().ToString(); +// foreach (var item in wmsMaterialContainerList) +// { +// //鏇存柊鐘舵�佷负鈥濆垹闄も�� +// item.BindStatus = CommonStatus.DELETED; +// await _wmsMaterialContainerRep.UpdateNowAsync(item); - //鏂板缁勭洏缁戝畾璁板綍 姝e父 - var wmsMaterialContainer = item; - wmsMaterialContainer.Id = YitIdHelper.NextId(); - wmsMaterialContainer.OrderNo = orderNo; - wmsMaterialContainer.BindStatus = CommonStatus.ENABLE; - await _wmsMaterialContainerRep.InsertNowAsync(wmsMaterialContainer); - //鏇存敼搴撳瓨鐨勫簱浣嶅彿涓篘/A - foreach (var stock in wmsMaterialStockList) - { - stock.PlaceCode = "N/A"; - await _wmsMaterialStockRep.UpdateAsync(stock); - } - } - wmsContainer.ContainerStatus = ContainerStatus.FENJIAN; - } - await _wmsContainerRep.UpdateAsync(wmsContainer); +// //鏂板缁勭洏缁戝畾璁板綍 姝e父 +// var wmsMaterialContainer = item; +// wmsMaterialContainer.Id = YitIdHelper.NextId(); +// wmsMaterialContainer.OrderNo = orderNo; +// wmsMaterialContainer.BindStatus = CommonStatus.ENABLE; +// await _wmsMaterialContainerRep.InsertNowAsync(wmsMaterialContainer); +// //鏇存敼搴撳瓨鐨勫簱浣嶅彿涓篘/A +// foreach (var stock in wmsMaterialStockList) +// { +// stock.PlaceCode = "N/A"; +// await _wmsMaterialStockRep.UpdateAsync(stock); +// } +// } +// wmsContainer.ContainerStatus = ContainerStatus.FENJIAN; +// } +// await _wmsContainerRep.UpdateAsync(wmsContainer); - //鏇存柊搴撲綅鐘舵�佷负鈥滅┖闂测�� - wmsPlace.PlaceStatus = PlaceStatus.KONGXIAN; - wmsPlace.Islock = YesOrNot.N; - wmsPlace.EmptyContainer = YesOrNot.N; - await _wmsPlaceRep.UpdateAsync(wmsPlace); +// //鏇存柊搴撲綅鐘舵�佷负鈥滅┖闂测�� +// wmsPlace.PlaceStatus = PlaceStatus.KONGXIAN; +// wmsPlace.Islock = YesOrNot.N; +// wmsPlace.EmptyContainer = YesOrNot.N; +// await _wmsPlaceRep.UpdateAsync(wmsPlace); - //鏇存柊鍛ㄨ浆绠卞彿涓庡簱浣嶅叧绯讳负鈥滃垹闄も�� - wmsContainerPlace.ContainerPlaceStatus = CommonStatus.DELETED; - await _wmsContainerPlaceRep.UpdateAsync(wmsContainerPlace); - } - if (wmsTask.TaskType == TaskType.CHUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.WC_CSSX) - { - wmsTask.TaskStatus = TaskStatusEnum.WANCHENG; - wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.W; - } - else //绉诲簱 - { - if (wmsTask.TaskType == TaskType.YIKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.WC_DDJ) - { - wmsTask.TaskStatus = TaskStatusEnum.WANCHENG; - wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.W; - // 璧风偣搴撲綅淇℃伅 - var SourcePlace = await _wmsPlaceRep.Where(z => z.PlaceCode == wmsTask.SourcePlace).FirstOrDefaultAsync(); - SourcePlace.PlaceStatus = PlaceStatus.KONGXIAN; - await _wmsPlaceRep.UpdateAsync(SourcePlace); - //鐩爣搴撲綅淇℃伅 - var ToPlace = await _wmsPlaceRep.Where(z => z.PlaceCode == wmsTask.ToPlace).FirstOrDefaultAsync(); - ToPlace.PlaceStatus = PlaceStatus.CUNHUO; - await _wmsPlaceRep.UpdateAsync(ToPlace); - //鎵樼洏搴撲綅鍏崇郴琛� - var wmsContainerPlace = await _wmsContainerPlaceRep.FirstOrDefaultAsync(z => z.PlaceId == SourcePlace.Id && z.PlaceCode == SourcePlace.PlaceCode - && z.ContainerCode == wmsTask.ContainerCode && z.ContainerPlaceStatus == CommonStatus.ENABLE); - wmsContainerPlace.ContainerPlaceStatus = CommonStatus.DELETED; - await _wmsContainerPlaceRep.UpdateAsync(wmsContainerPlace); - await _wmsContainerPlaceRep.InsertAsync(new WmsContainerPlace() - { - PlaceId = ToPlace.Id, - PlaceCode = ToPlace.PlaceCode, - ContainerId = wmsContainer.Id, - ContainerCode = wmsContainer.ContainerCode, - ContainerPlaceStatus = CommonStatus.ENABLE - }); - //搴撳瓨搴撲綅鏇存柊 - var stockModel = await _wmsMaterialStockRep.Where(p => p.ContainerCode == wmsTask.ContainerCode && p.PlaceCode == SourcePlace.PlaceCode).FirstOrDefaultAsync(); - if (stockModel != null) - { - stockModel.PlaceCode = ToPlace.PlaceCode; - } - } - } - await _wmsTaskRep.UpdateAsync(wmsTask); - } +// //鏇存柊鍛ㄨ浆绠卞彿涓庡簱浣嶅叧绯讳负鈥滃垹闄も�� +// wmsContainerPlace.ContainerPlaceStatus = CommonStatus.DELETED; +// await _wmsContainerPlaceRep.UpdateAsync(wmsContainerPlace); +// } +// if (wmsTask.TaskType == TaskType.CHUKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.WC_CSSX) +// { +// wmsTask.TaskStatus = TaskStatusEnum.WANCHENG; +// wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.W; +// } +// else //绉诲簱 +// { +// if (wmsTask.TaskType == TaskType.YIKU && input.TaskDodeviceStatus == TaskDodeviceStatusEnum.WC_DDJ) +// { +// wmsTask.TaskStatus = TaskStatusEnum.WANCHENG; +// wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.W; +// // 璧风偣搴撲綅淇℃伅 +// var SourcePlace = await _wmsPlaceRep.Where(z => z.PlaceCode == wmsTask.SourcePlace).FirstOrDefaultAsync(); +// SourcePlace.PlaceStatus = PlaceStatus.KONGXIAN; +// await _wmsPlaceRep.UpdateAsync(SourcePlace); +// //鐩爣搴撲綅淇℃伅 +// var ToPlace = await _wmsPlaceRep.Where(z => z.PlaceCode == wmsTask.ToPlace).FirstOrDefaultAsync(); +// ToPlace.PlaceStatus = PlaceStatus.CUNHUO; +// await _wmsPlaceRep.UpdateAsync(ToPlace); +// //鎵樼洏搴撲綅鍏崇郴琛� +// var wmsContainerPlace = await _wmsContainerPlaceRep.FirstOrDefaultAsync(z => z.PlaceId == SourcePlace.Id && z.PlaceCode == SourcePlace.PlaceCode +// && z.ContainerCode == wmsTask.ContainerCode && z.ContainerPlaceStatus == CommonStatus.ENABLE); +// wmsContainerPlace.ContainerPlaceStatus = CommonStatus.DELETED; +// await _wmsContainerPlaceRep.UpdateAsync(wmsContainerPlace); +// await _wmsContainerPlaceRep.InsertAsync(new WmsContainerPlace() +// { +// PlaceId = ToPlace.Id, +// PlaceCode = ToPlace.PlaceCode, +// ContainerId = wmsContainer.Id, +// ContainerCode = wmsContainer.ContainerCode, +// ContainerPlaceStatus = CommonStatus.ENABLE +// }); +// //搴撳瓨搴撲綅鏇存柊 +// var stockModel = await _wmsMaterialStockRep.Where(p => p.ContainerCode == wmsTask.ContainerCode && p.PlaceCode == SourcePlace.PlaceCode).FirstOrDefaultAsync(); +// if (stockModel != null) +// { +// stockModel.PlaceCode = ToPlace.PlaceCode; +// } +// } +// } +// await _wmsTaskRep.UpdateAsync(wmsTask); +// } - /// <summary> - /// 鑾峰彇搴撲綅淇℃伅 - /// </summary> - /// <returns></returns> - [HttpPost("GetPlace")] - [AllowAnonymous] - public async Task<GetPlaceOutput> GetPlace([FromBody] GetPlaceInput input) - { - //1.鍒� 浼樺厛1鎺掑拰4鎺� 灞備紭鍏堜粠涓嬪埌涓� - //2.淇濈暀10涓唴渚хЩ搴撳簱浣� - var taskModel = await _wmsTaskRep.Where(p => p.TaskNo == input.TaskNo).FirstOrDefaultAsync(); - if (taskModel == null) return new GetPlaceOutput() { TaskIsExist = false }; - if (taskModel.TaskStatus == TaskStatusEnum.CHEHUI || taskModel.TaskStatus == TaskStatusEnum.QUXIAO || taskModel.TaskStatus == TaskStatusEnum.WANCHENG || taskModel.TaskStatus == TaskStatusEnum.ZANTING) - { - throw Oops.Oh("浠诲姟鐘舵�佹湭婊¤冻鑾峰彇鐨勫簱浣嶆潯浠�"); - } - taskModel.TaskStatus = TaskStatusEnum.ZHIXINGZHONG; - //瀹氫箟鍏ュ簱瀵硅薄,绉诲簱瀵硅薄 - var ToPlace = new WmsPlace(); - var SourcePlace = new WmsPlace(); - var rowNumber = 0; +// /// <summary> +// /// 鑾峰彇搴撲綅淇℃伅 +// /// </summary> +// /// <returns></returns> +// [HttpPost("GetPlace")] +// [AllowAnonymous] +// public async Task<GetPlaceOutput> GetPlace([FromBody] GetPlaceInput input) +// { +// //1.鍒� 浼樺厛1鎺掑拰4鎺� 灞備紭鍏堜粠涓嬪埌涓� +// //2.淇濈暀10涓唴渚хЩ搴撳簱浣� +// var taskModel = await _wmsTaskRep.Where(p => p.TaskNo == input.TaskNo).FirstOrDefaultAsync(); +// if (taskModel == null) return new GetPlaceOutput() { TaskIsExist = false }; +// if (taskModel.TaskStatus == TaskStatusEnum.CHEHUI || taskModel.TaskStatus == TaskStatusEnum.QUXIAO || taskModel.TaskStatus == TaskStatusEnum.WANCHENG || taskModel.TaskStatus == TaskStatusEnum.ZANTING) +// { +// throw Oops.Oh("浠诲姟鐘舵�佹湭婊¤冻鑾峰彇鐨勫簱浣嶆潯浠�"); +// } +// taskModel.TaskStatus = TaskStatusEnum.ZHIXINGZHONG; +// //瀹氫箟鍏ュ簱瀵硅薄,绉诲簱瀵硅薄 +// var ToPlace = new WmsPlace(); +// var SourcePlace = new WmsPlace(); +// var rowNumber = 0; - //鍏ュ簱娴佺▼ - if (taskModel.TaskType == TaskType.RUKU) - { - //闃查噸鎿嶄綔 - if (taskModel != null && !string.IsNullOrEmpty(taskModel.ToPlace)) - { - ToPlace = await _wmsPlaceRep.Where(p => p.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN && p.PlaceCode == taskModel.ToPlace).FirstOrDefaultAsync(); - if (ToPlace.RowNo == GetOneRowByAisle(taskModel.Aisle) || ToPlace.RowNo == GetFourRowByAisle(taskModel.Aisle)) - { - if (ToPlace.RowNo == GetOneRowByAisle(taskModel.Aisle)) - rowNumber = GetTwoRowByAisle(taskModel.Aisle); - else - rowNumber = GetThreeRowByAisle(taskModel.Aisle); - SourcePlace = await _wmsPlaceRep.Where(p => p.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN && p.Aisle == taskModel.Aisle && p.RowNo == rowNumber && p.ColumnNo == ToPlace.ColumnNo && p.LayerNo == ToPlace.LayerNo).FirstOrDefaultAsync(); - if (SourcePlace != null && SourcePlace.PlaceStatus == PlaceStatus.CUNHUO) - return new GetPlaceOutput() { ToPlace = ToPlace.PlaceCode, SourcePlace = SourcePlace.PlaceCode }; - } - return new GetPlaceOutput() { ToPlace = ToPlace.PlaceCode }; - } - //鑾峰彇绔嬩綋搴撳彲鐢ㄥ簱浣� - var placeList = await _wmsPlaceRep.DetachedEntities.Where(z => z.PlaceStatus == PlaceStatus.KONGXIAN - && z.Islock == YesOrNot.N && z.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN - && z.WmsArea.AreaType == AreaType.LITIKU && z.Aisle == taskModel.Aisle).ProjectToType<WmsPlace>().ToListAsync(); +// //鍏ュ簱娴佺▼ +// if (taskModel.TaskType == TaskType.RUKU) +// { +// //闃查噸鎿嶄綔 +// if (taskModel != null && !string.IsNullOrEmpty(taskModel.ToPlace)) +// { +// ToPlace = await _wmsPlaceRep.Where(p => p.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN && p.PlaceCode == taskModel.ToPlace).FirstOrDefaultAsync(); +// if (ToPlace.RowNo == GetOneRowByAisle(taskModel.Aisle) || ToPlace.RowNo == GetFourRowByAisle(taskModel.Aisle)) +// { +// if (ToPlace.RowNo == GetOneRowByAisle(taskModel.Aisle)) +// rowNumber = GetTwoRowByAisle(taskModel.Aisle); +// else +// rowNumber = GetThreeRowByAisle(taskModel.Aisle); +// SourcePlace = await _wmsPlaceRep.Where(p => p.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN && p.Aisle == taskModel.Aisle && p.RowNo == rowNumber && p.ColumnNo == ToPlace.ColumnNo && p.LayerNo == ToPlace.LayerNo).FirstOrDefaultAsync(); +// if (SourcePlace != null && SourcePlace.PlaceStatus == PlaceStatus.CUNHUO) +// return new GetPlaceOutput() { ToPlace = ToPlace.PlaceCode, SourcePlace = SourcePlace.PlaceCode }; +// } +// return new GetPlaceOutput() { ToPlace = ToPlace.PlaceCode }; +// } +// //鑾峰彇绔嬩綋搴撳彲鐢ㄥ簱浣� +// var placeList = await _wmsPlaceRep.DetachedEntities.Where(z => z.PlaceStatus == PlaceStatus.KONGXIAN +// && z.Islock == YesOrNot.N && z.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN +// && z.WmsArea.AreaType == AreaType.LITIKU && z.Aisle == taskModel.Aisle).ProjectToType<WmsPlace>().ToListAsync(); - //鑾峰彇褰撳墠绔嬩綋搴撻渶瑕佸嚭搴撳簱浣嶉泦鍚� - var placeCodeList = await _wmsTaskRep.DetachedEntities.Where(p => p.IsRead == true - && p.TaskType == TaskType.CHUKU && p.Aisle == taskModel.Aisle).Select(n => n.SourcePlace).ToListAsync(); +// //鑾峰彇褰撳墠绔嬩綋搴撻渶瑕佸嚭搴撳簱浣嶉泦鍚� +// var placeCodeList = await _wmsTaskRep.DetachedEntities.Where(p => p.IsRead == true +// && p.TaskType == TaskType.CHUKU && p.Aisle == taskModel.Aisle).Select(n => n.SourcePlace).ToListAsync(); - var ckPlaceModelList = await _wmsPlaceRep.DetachedEntities.Where(z => placeCodeList.Contains(z.PlaceCode) - && z.Islock == YesOrNot.N && z.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN - && z.WmsArea.AreaType == AreaType.LITIKU && z.Aisle == taskModel.Aisle).ToListAsync(); +// var ckPlaceModelList = await _wmsPlaceRep.DetachedEntities.Where(z => placeCodeList.Contains(z.PlaceCode) +// && z.Islock == YesOrNot.N && z.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN +// && z.WmsArea.AreaType == AreaType.LITIKU && z.Aisle == taskModel.Aisle).ToListAsync(); - //閰嶇疆鏂囦欢涓缃槸鍚﹀紑鍚寚瀹氬簱浣嶅叆搴撳拰绉诲簱鎿嶄綔 - //if (Convert.ToBoolean(App.Configuration["YiKuTestPalce:IsStart"])) - //{ - // var rukuPoint = App.Configuration["YiKuTestPalce:rukuPoint"].Split('.'); //鍏ュ簱璧风偣 - // var yikuPoint = App.Configuration["YiKuTestPalce:yikuPoint"].Split('.'); //绉诲簱璧风偣 - // ToPlace = placeList.Where(p => p.RowNo == Convert.ToInt32(rukuPoint[0]) - // && p.ColumnNo == Convert.ToInt32(rukuPoint[1]) && p.LayerNo == Convert.ToInt32(rukuPoint[2])).FirstOrDefault(); - // if (ToPlace != null) - // { - // ToPlace.PlaceStatus = PlaceStatus.DAIRU; - // await _wmsPlaceRep.UpdateAsync(ToPlace); - // taskModel.ToPlace = ToPlace.PlaceCode; - // taskModel.AreaName = ToPlace.WmsArea.AreaName; - // await _wmsTaskRep.UpdateAsync(taskModel); - // if (yikuPoint.Length > 1) - // { - // SourcePlace = await _wmsPlaceRep.FirstOrDefaultAsync(p => p.RowNo == Convert.ToInt32(yikuPoint[0]) - // && p.ColumnNo == Convert.ToInt32(yikuPoint[1]) && p.LayerNo == Convert.ToInt32(yikuPoint[2]) - // && p.Aisle == taskModel.Aisle && p.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN - // && p.WmsArea.AreaType == AreaType.LITIKU - // ); - // } - // return new GetPlaceOutput() { ToPlace = ToPlace.PlaceCode, SourcePlace = SourcePlace.PlaceCode }; - // } - //} - var maxColumn = placeList.Max(selector: n => n.ColumnNo); - var maxLayerNo = 0; +// //閰嶇疆鏂囦欢涓缃槸鍚﹀紑鍚寚瀹氬簱浣嶅叆搴撳拰绉诲簱鎿嶄綔 +// //if (Convert.ToBoolean(App.Configuration["YiKuTestPalce:IsStart"])) +// //{ +// // var rukuPoint = App.Configuration["YiKuTestPalce:rukuPoint"].Split('.'); //鍏ュ簱璧风偣 +// // var yikuPoint = App.Configuration["YiKuTestPalce:yikuPoint"].Split('.'); //绉诲簱璧风偣 +// // ToPlace = placeList.Where(p => p.RowNo == Convert.ToInt32(rukuPoint[0]) +// // && p.ColumnNo == Convert.ToInt32(rukuPoint[1]) && p.LayerNo == Convert.ToInt32(rukuPoint[2])).FirstOrDefault(); +// // if (ToPlace != null) +// // { +// // ToPlace.PlaceStatus = PlaceStatus.DAIRU; +// // await _wmsPlaceRep.UpdateAsync(ToPlace); +// // taskModel.ToPlace = ToPlace.PlaceCode; +// // taskModel.AreaName = ToPlace.WmsArea.AreaName; +// // await _wmsTaskRep.UpdateAsync(taskModel); +// // if (yikuPoint.Length > 1) +// // { +// // SourcePlace = await _wmsPlaceRep.FirstOrDefaultAsync(p => p.RowNo == Convert.ToInt32(yikuPoint[0]) +// // && p.ColumnNo == Convert.ToInt32(yikuPoint[1]) && p.LayerNo == Convert.ToInt32(yikuPoint[2]) +// // && p.Aisle == taskModel.Aisle && p.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN +// // && p.WmsArea.AreaType == AreaType.LITIKU +// // ); +// // } +// // return new GetPlaceOutput() { ToPlace = ToPlace.PlaceCode, SourcePlace = SourcePlace.PlaceCode }; +// // } +// //} +// var maxColumn = placeList.Max(selector: n => n.ColumnNo); +// var maxLayerNo = 0; - //鍏堜互鍒椾负杩涜寰幆鍒ゆ柇 - for (int j = 1; j <= maxColumn; j++) - { - //鑾峰彇璇ュ垪鐨勬渶澶у眰 - if (placeList.Where(p => p.ColumnNo == j).Count() <= 1) continue; - maxLayerNo = placeList.Where(p => p.ColumnNo == j).Max(selector: n => n.LayerNo); - //寰幆姣忓垪姣忓眰鐨勪腑鍒� - //鍒嗛厤搴撲綅闇�瑕佽�冭檻澶栦晶鏄惁鏈夊嚭搴撲换鍔★紝鏈夌殑璇濆氨娌℃湁鎵ц - for (int f = 1; f <= maxLayerNo; f++) - { +// //鍏堜互鍒椾负杩涜寰幆鍒ゆ柇 +// for (int j = 1; j <= maxColumn; j++) +// { +// //鑾峰彇璇ュ垪鐨勬渶澶у眰 +// if (placeList.Where(p => p.ColumnNo == j).Count() <= 1) continue; +// maxLayerNo = placeList.Where(p => p.ColumnNo == j).Max(selector: n => n.LayerNo); +// //寰幆姣忓垪姣忓眰鐨勪腑鍒� +// //鍒嗛厤搴撲綅闇�瑕佽�冭檻澶栦晶鏄惁鏈夊嚭搴撲换鍔★紝鏈夌殑璇濆氨娌℃湁鎵ц +// for (int f = 1; f <= maxLayerNo; f++) +// { - var model = placeList.FirstOrDefault(p => p.RowNo == GetOneRowByAisle(taskModel.Aisle) && p.ColumnNo == j && p.LayerNo == f); - var ckmodel = ckPlaceModelList.FirstOrDefault(p => p.RowNo == GetTwoRowByAisle(taskModel.Aisle) && p.ColumnNo == j && p.LayerNo == f); - if (model != null && ckmodel == null) - { - ToPlace = model; - break; - } - } - if (!string.IsNullOrEmpty(ToPlace.PlaceCode)) break; - } - if (string.IsNullOrEmpty(ToPlace.PlaceCode)) throw Oops.Oh("鏆傛棤鍙互搴撲綅!"); +// var model = placeList.FirstOrDefault(p => p.RowNo == GetOneRowByAisle(taskModel.Aisle) && p.ColumnNo == j && p.LayerNo == f); +// var ckmodel = ckPlaceModelList.FirstOrDefault(p => p.RowNo == GetTwoRowByAisle(taskModel.Aisle) && p.ColumnNo == j && p.LayerNo == f); +// if (model != null && ckmodel == null) +// { +// ToPlace = model; +// break; +// } +// } +// if (!string.IsNullOrEmpty(ToPlace.PlaceCode)) break; +// } +// if (string.IsNullOrEmpty(ToPlace.PlaceCode)) throw Oops.Oh("鏆傛棤鍙互搴撲綅!"); - //杩涜搴撲綅鍜屼换鍔$殑鏇存柊 - ToPlace.PlaceStatus = PlaceStatus.DAIRU; - await _wmsPlaceRep.UpdateAsync(ToPlace); - taskModel.ToPlace = ToPlace.PlaceCode; - taskModel.AreaName = ToPlace.WmsArea.AreaName; - await _wmsTaskRep.UpdateAsync(taskModel); - if (SourcePlace == null || string.IsNullOrEmpty(SourcePlace.PlaceCode)) return new GetPlaceOutput() { ToPlace = ToPlace.PlaceCode }; - else return new GetPlaceOutput() { ToPlace = ToPlace.PlaceCode, SourcePlace = SourcePlace.PlaceCode }; - } - //鍑哄簱娴佺▼ - if (taskModel.TaskType == TaskType.CHUKU) - { - //闇�瑕佸垽鏂笅搴撲綅鏄惁宸茬粡杩涜绉诲簱鎿嶄綔锛岄渶瑕侀�氳繃鎵樼洏缂栧彿杩涜閲嶆柊鏌ユ壘 - var containerPlace = await _wmsContainerPlaceRep.FirstOrDefaultAsync(p => p.ContainerCode == taskModel.ContainerCode - && p.ContainerPlaceStatus == CommonStatus.ENABLE); - if (containerPlace != null && containerPlace.PlaceCode != taskModel.SourcePlace) - { - ToPlace = await _wmsPlaceRep.FirstOrDefaultAsync(p => p.PlaceCode == containerPlace.PlaceCode); - taskModel.SourcePlace = containerPlace.PlaceCode; - } - else - { - ToPlace = await _wmsPlaceRep.FirstOrDefaultAsync(p => p.PlaceCode == taskModel.SourcePlace); - } - //杩涜搴撲綅鍜屼换鍔$殑鏇存柊 - ToPlace.PlaceStatus = PlaceStatus.DAICHU; - await _wmsPlaceRep.UpdateAsync(ToPlace); - taskModel.ToPlace = taskModel.Aisle.ToString(); - await _wmsTaskRep.UpdateAsync(taskModel); - if (SourcePlace == null || string.IsNullOrEmpty(SourcePlace.PlaceCode)) return new GetPlaceOutput() { ToPlace = ToPlace.PlaceCode }; - else return new GetPlaceOutput() { ToPlace = ToPlace.PlaceCode, SourcePlace = SourcePlace.PlaceCode }; - } - else - { - throw Oops.Oh("浠诲姟寮傚父" + taskModel.TaskNo); - } - } +// //杩涜搴撲綅鍜屼换鍔$殑鏇存柊 +// ToPlace.PlaceStatus = PlaceStatus.DAIRU; +// await _wmsPlaceRep.UpdateAsync(ToPlace); +// taskModel.ToPlace = ToPlace.PlaceCode; +// taskModel.AreaName = ToPlace.WmsArea.AreaName; +// await _wmsTaskRep.UpdateAsync(taskModel); +// if (SourcePlace == null || string.IsNullOrEmpty(SourcePlace.PlaceCode)) return new GetPlaceOutput() { ToPlace = ToPlace.PlaceCode }; +// else return new GetPlaceOutput() { ToPlace = ToPlace.PlaceCode, SourcePlace = SourcePlace.PlaceCode }; +// } +// //鍑哄簱娴佺▼ +// if (taskModel.TaskType == TaskType.CHUKU) +// { +// //闇�瑕佸垽鏂笅搴撲綅鏄惁宸茬粡杩涜绉诲簱鎿嶄綔锛岄渶瑕侀�氳繃鎵樼洏缂栧彿杩涜閲嶆柊鏌ユ壘 +// var containerPlace = await _wmsContainerPlaceRep.FirstOrDefaultAsync(p => p.ContainerCode == taskModel.ContainerCode +// && p.ContainerPlaceStatus == CommonStatus.ENABLE); +// if (containerPlace != null && containerPlace.PlaceCode != taskModel.SourcePlace) +// { +// ToPlace = await _wmsPlaceRep.FirstOrDefaultAsync(p => p.PlaceCode == containerPlace.PlaceCode); +// taskModel.SourcePlace = containerPlace.PlaceCode; +// } +// else +// { +// ToPlace = await _wmsPlaceRep.FirstOrDefaultAsync(p => p.PlaceCode == taskModel.SourcePlace); +// } +// //杩涜搴撲綅鍜屼换鍔$殑鏇存柊 +// ToPlace.PlaceStatus = PlaceStatus.DAICHU; +// await _wmsPlaceRep.UpdateAsync(ToPlace); +// taskModel.ToPlace = taskModel.Aisle.ToString(); +// await _wmsTaskRep.UpdateAsync(taskModel); +// if (SourcePlace == null || string.IsNullOrEmpty(SourcePlace.PlaceCode)) return new GetPlaceOutput() { ToPlace = ToPlace.PlaceCode }; +// else return new GetPlaceOutput() { ToPlace = ToPlace.PlaceCode, SourcePlace = SourcePlace.PlaceCode }; +// } +// else +// { +// throw Oops.Oh("浠诲姟寮傚父" + taskModel.TaskNo); +// } +// } - /// <summary> - /// 鍒涘缓绉诲簱浠诲姟 - /// </summary> - /// <returns></returns> - [HttpPost("CreateYKTask")] - [UnitOfWork] - [AllowAnonymous] - public async Task<GetYiKuPlaceOutput> CreateRelocation(CreateRelocationInput input) - { - var placeModel = await _wmsPlaceRep.Where(p => p.PlaceCode == input.SourcePlace).ProjectToType<WmsPlace>().FirstOrDefaultAsync(); - if (placeModel == null) throw Oops.Oh("搴撲綅鏁版嵁寮傚父!"); - placeModel.PlaceStatus = PlaceStatus.DAICHU; - await _wmsPlaceRep.UpdateAsync(placeModel); - //鏌ヨ缁勭洏鍗曟嵁 - var containerPlaceModel = await _wmsContainerPlaceRep.Where(p => p.PlaceCode == input.SourcePlace && p.ContainerPlaceStatus == CommonStatus.ENABLE).FirstOrDefaultAsync(); - if (containerPlaceModel == null) throw Oops.Oh("绉诲簱搴撲綅鎵樼洏鏁版嵁寮傚父!"); - var materialContainer = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == containerPlaceModel.ContainerCode && p.BindStatus == CommonStatus.ENABLE).FirstOrDefaultAsync(); - if (materialContainer == null) throw Oops.Oh("缁勭洏鏁版嵁寮傚父!"); +// /// <summary> +// /// 鍒涘缓绉诲簱浠诲姟 +// /// </summary> +// /// <returns></returns> +// [HttpPost("CreateYKTask")] +// [UnitOfWork] +// [AllowAnonymous] +// public async Task<GetYiKuPlaceOutput> CreateRelocation(CreateRelocationInput input) +// { +// var placeModel = await _wmsPlaceRep.Where(p => p.PlaceCode == input.SourcePlace).ProjectToType<WmsPlace>().FirstOrDefaultAsync(); +// if (placeModel == null) throw Oops.Oh("搴撲綅鏁版嵁寮傚父!"); +// placeModel.PlaceStatus = PlaceStatus.DAICHU; +// await _wmsPlaceRep.UpdateAsync(placeModel); +// //鏌ヨ缁勭洏鍗曟嵁 +// var containerPlaceModel = await _wmsContainerPlaceRep.Where(p => p.PlaceCode == input.SourcePlace && p.ContainerPlaceStatus == CommonStatus.ENABLE).FirstOrDefaultAsync(); +// if (containerPlaceModel == null) throw Oops.Oh("绉诲簱搴撲綅鎵樼洏鏁版嵁寮傚父!"); +// var materialContainer = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == containerPlaceModel.ContainerCode && p.BindStatus == CommonStatus.ENABLE).FirstOrDefaultAsync(); +// if (materialContainer == null) throw Oops.Oh("缁勭洏鏁版嵁寮傚父!"); - //鑾峰彇绌洪棽搴撲綅闆嗗悎 - var placeList = await _wmsPlaceRep.DetachedEntities.Where(z => z.PlaceStatus == PlaceStatus.KONGXIAN - && z.Islock == YesOrNot.N && z.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN - && z.WmsArea.AreaType == AreaType.LITIKU && z.Aisle == input.Aisle).ToListAsync(); - if (placeList.Count == 0) throw Oops.Oh("鏃犲彲绉诲簱搴撲綅!"); +// //鑾峰彇绌洪棽搴撲綅闆嗗悎 +// var placeList = await _wmsPlaceRep.DetachedEntities.Where(z => z.PlaceStatus == PlaceStatus.KONGXIAN +// && z.Islock == YesOrNot.N && z.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN +// && z.WmsArea.AreaType == AreaType.LITIKU && z.Aisle == input.Aisle).ToListAsync(); +// if (placeList.Count == 0) throw Oops.Oh("鏃犲彲绉诲簱搴撲綅!"); - //瀹氫箟鐩爣鐐� - var ToPlaceModel = new WmsPlace(); - var rowNumber = 0; - //1.鎺ㄨ崘澶栦晶搴撲綅 - var wcPlaceList = placeList.Where(p => (p.RowNo == GetOneRowByAisle(placeModel.Aisle) || p.RowNo == GetFourRowByAisle(placeModel.Aisle))).ToList(); - if (placeModel.Aisle == 11) - { - wcPlaceList = placeList.Where(p => (p.RowNo == GetOneRowByAisle(placeModel.Aisle) || p.RowNo == GetThreeRowByAisle(placeModel.Aisle))).ToList(); - } - //瀹氫箟鏈�浼樺簱浣嶉泦鍚� - var zyPlaceList = new List<WmsPlace>(); - //寰幆鍒ゆ柇瀵瑰簲鐨�2,3鏄湁璐� - foreach (var item in wcPlaceList) - { - if (placeModel.Aisle == 11) - { - if (item.RowNo == GetOneRowByAisle(placeModel.Aisle)) - { - zyPlaceList.Add(item); - } - if (item.RowNo == GetThreeRowByAisle(placeModel.Aisle)) - { - rowNumber = GetTwoRowByAisle(placeModel.Aisle); - var dypalceModel = placeList.Where(p => p.RowNo == rowNumber && p.ColumnNo == item.ColumnNo && p.LayerNo == item.LayerNo).FirstOrDefault(); - if (dypalceModel != null) - zyPlaceList.Add(item); - } - } - else - { - if (item.RowNo == GetOneRowByAisle(placeModel.Aisle) || item.RowNo == GetFourRowByAisle(placeModel.Aisle)) - { - if (item.RowNo == GetOneRowByAisle(placeModel.Aisle)) - rowNumber = GetTwoRowByAisle(placeModel.Aisle); - else - rowNumber = GetThreeRowByAisle(placeModel.Aisle); - var dypalceModel = placeList.Where(p => p.RowNo == rowNumber && p.ColumnNo == item.ColumnNo && p.LayerNo == item.LayerNo).FirstOrDefault(); - if (dypalceModel != null) - zyPlaceList.Add(item); - } - } - } - if (zyPlaceList.Count != 0) - { - //鑾峰彇璺緞鏈�鐭殑搴撲綅 浣跨敤浜屽垎娉� - var mindModel = zyPlaceList.Where(p => p.ColumnNo == placeModel.ColumnNo).FirstOrDefault(); - var leftModel = zyPlaceList.Where(p => p.ColumnNo < placeModel.ColumnNo).OrderByDescending(p => p.ColumnNo).FirstOrDefault(); - var rightModel = zyPlaceList.Where(p => p.ColumnNo > placeModel.ColumnNo).OrderBy(p => p.ColumnNo).FirstOrDefault(); +// //瀹氫箟鐩爣鐐� +// var ToPlaceModel = new WmsPlace(); +// var rowNumber = 0; +// //1.鎺ㄨ崘澶栦晶搴撲綅 +// var wcPlaceList = placeList.Where(p => (p.RowNo == GetOneRowByAisle(placeModel.Aisle) || p.RowNo == GetFourRowByAisle(placeModel.Aisle))).ToList(); +// if (placeModel.Aisle == 11) +// { +// wcPlaceList = placeList.Where(p => (p.RowNo == GetOneRowByAisle(placeModel.Aisle) || p.RowNo == GetThreeRowByAisle(placeModel.Aisle))).ToList(); +// } +// //瀹氫箟鏈�浼樺簱浣嶉泦鍚� +// var zyPlaceList = new List<WmsPlace>(); +// //寰幆鍒ゆ柇瀵瑰簲鐨�2,3鏄湁璐� +// foreach (var item in wcPlaceList) +// { +// if (placeModel.Aisle == 11) +// { +// if (item.RowNo == GetOneRowByAisle(placeModel.Aisle)) +// { +// zyPlaceList.Add(item); +// } +// if (item.RowNo == GetThreeRowByAisle(placeModel.Aisle)) +// { +// rowNumber = GetTwoRowByAisle(placeModel.Aisle); +// var dypalceModel = placeList.Where(p => p.RowNo == rowNumber && p.ColumnNo == item.ColumnNo && p.LayerNo == item.LayerNo).FirstOrDefault(); +// if (dypalceModel != null) +// zyPlaceList.Add(item); +// } +// } +// else +// { +// if (item.RowNo == GetOneRowByAisle(placeModel.Aisle) || item.RowNo == GetFourRowByAisle(placeModel.Aisle)) +// { +// if (item.RowNo == GetOneRowByAisle(placeModel.Aisle)) +// rowNumber = GetTwoRowByAisle(placeModel.Aisle); +// else +// rowNumber = GetThreeRowByAisle(placeModel.Aisle); +// var dypalceModel = placeList.Where(p => p.RowNo == rowNumber && p.ColumnNo == item.ColumnNo && p.LayerNo == item.LayerNo).FirstOrDefault(); +// if (dypalceModel != null) +// zyPlaceList.Add(item); +// } +// } +// } +// if (zyPlaceList.Count != 0) +// { +// //鑾峰彇璺緞鏈�鐭殑搴撲綅 浣跨敤浜屽垎娉� +// var mindModel = zyPlaceList.Where(p => p.ColumnNo == placeModel.ColumnNo).FirstOrDefault(); +// var leftModel = zyPlaceList.Where(p => p.ColumnNo < placeModel.ColumnNo).OrderByDescending(p => p.ColumnNo).FirstOrDefault(); +// var rightModel = zyPlaceList.Where(p => p.ColumnNo > placeModel.ColumnNo).OrderBy(p => p.ColumnNo).FirstOrDefault(); - if (mindModel != null) ToPlaceModel = mindModel; - else if (leftModel == null) ToPlaceModel = rightModel; - else if (rightModel == null) ToPlaceModel = leftModel; - else if ((placeModel.ColumnNo - leftModel.ColumnNo) > (rightModel.ColumnNo - placeModel.ColumnNo)) ToPlaceModel = rightModel; - else ToPlaceModel = leftModel; - } - if (string.IsNullOrEmpty(ToPlaceModel.PlaceCode)) - { - //2.娆′紭搴撲綅闆嗗悎 - //娆′紭2,3鎺掑簱浣� - var cyPlace = placeList.Where(p => (p.RowNo == GetTwoRowByAisle(placeModel.Aisle) || p.RowNo == GetThreeRowByAisle(placeModel.Aisle))).OrderByDescending(p => p.ColumnNo).OrderBy(p => p.LayerNo).ToList(); - if (placeModel.Aisle == 11) - { - cyPlace = placeList.Where(p => p.RowNo == GetTwoRowByAisle(placeModel.Aisle)).OrderByDescending(p => p.ColumnNo).OrderBy(p => p.LayerNo).ToList(); - } - if (cyPlace.Count > 0) - { - //鑾峰彇璺緞鏈�鐭殑搴撲綅 浣跨敤浜屽垎娉� - var mindModel = cyPlace.Where(p => p.ColumnNo == placeModel.ColumnNo).OrderByDescending(p => p.ColumnNo).FirstOrDefault(); - var leftModel = cyPlace.Where(p => p.ColumnNo < placeModel.ColumnNo).OrderByDescending(p => p.ColumnNo).FirstOrDefault(); - var rightModel = cyPlace.Where(p => p.ColumnNo > placeModel.ColumnNo).OrderBy(p => p.ColumnNo).FirstOrDefault(); +// if (mindModel != null) ToPlaceModel = mindModel; +// else if (leftModel == null) ToPlaceModel = rightModel; +// else if (rightModel == null) ToPlaceModel = leftModel; +// else if ((placeModel.ColumnNo - leftModel.ColumnNo) > (rightModel.ColumnNo - placeModel.ColumnNo)) ToPlaceModel = rightModel; +// else ToPlaceModel = leftModel; +// } +// if (string.IsNullOrEmpty(ToPlaceModel.PlaceCode)) +// { +// //2.娆′紭搴撲綅闆嗗悎 +// //娆′紭2,3鎺掑簱浣� +// var cyPlace = placeList.Where(p => (p.RowNo == GetTwoRowByAisle(placeModel.Aisle) || p.RowNo == GetThreeRowByAisle(placeModel.Aisle))).OrderByDescending(p => p.ColumnNo).OrderBy(p => p.LayerNo).ToList(); +// if (placeModel.Aisle == 11) +// { +// cyPlace = placeList.Where(p => p.RowNo == GetTwoRowByAisle(placeModel.Aisle)).OrderByDescending(p => p.ColumnNo).OrderBy(p => p.LayerNo).ToList(); +// } +// if (cyPlace.Count > 0) +// { +// //鑾峰彇璺緞鏈�鐭殑搴撲綅 浣跨敤浜屽垎娉� +// var mindModel = cyPlace.Where(p => p.ColumnNo == placeModel.ColumnNo).OrderByDescending(p => p.ColumnNo).FirstOrDefault(); +// var leftModel = cyPlace.Where(p => p.ColumnNo < placeModel.ColumnNo).OrderByDescending(p => p.ColumnNo).FirstOrDefault(); +// var rightModel = cyPlace.Where(p => p.ColumnNo > placeModel.ColumnNo).OrderBy(p => p.ColumnNo).FirstOrDefault(); - if (mindModel != null) ToPlaceModel = mindModel; - else if (leftModel == null) ToPlaceModel = rightModel; - else if (rightModel == null) ToPlaceModel = leftModel; - else if ((placeModel.ColumnNo - leftModel.ColumnNo) > (rightModel.ColumnNo - placeModel.ColumnNo)) ToPlaceModel = rightModel; - else ToPlaceModel = leftModel; - } - } - ToPlaceModel.PlaceStatus = PlaceStatus.DAIRU; - await _wmsPlaceRep.UpdateAsync(ToPlaceModel); +// if (mindModel != null) ToPlaceModel = mindModel; +// else if (leftModel == null) ToPlaceModel = rightModel; +// else if (rightModel == null) ToPlaceModel = leftModel; +// else if ((placeModel.ColumnNo - leftModel.ColumnNo) > (rightModel.ColumnNo - placeModel.ColumnNo)) ToPlaceModel = rightModel; +// else ToPlaceModel = leftModel; +// } +// } +// ToPlaceModel.PlaceStatus = PlaceStatus.DAIRU; +// await _wmsPlaceRep.UpdateAsync(ToPlaceModel); - //鍒涘缓绉诲簱浠诲姟 - var newWmsTask = new WmsTask() - { - //TaskNo = _commonOrderServiceRep.GetFYKOrderNo(), - TaskNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(), - TaskModel = TaskModel.QUANZIDONG, - TaskType = TaskType.YIKU, - TaskLevel = 5, - TaskStatus = TaskStatusEnum.WEIZHIXING, - OrderNo = materialContainer.OrderNo, - OrderDetailsId = materialContainer.OrderDetailsId, - ContainerCode = materialContainer.ContainerCode, - SourcePlace = placeModel.PlaceCode, - ToPlace = ToPlaceModel.PlaceCode, - AreaName = placeModel.WmsArea.AreaName, - IsRead = true, //WCS鏄惁鍙互璇诲彇 - SendTimes = 1, //鍙戦�佹鏁� - Aisle = placeModel.Aisle, - Dodevicetype = DodeviceType.AGV, - TaskDodeviceStatus = TaskDodeviceStatusEnum.WZX, - }; - await _wmsTaskRep.InsertAsync(newWmsTask); +// //鍒涘缓绉诲簱浠诲姟 +// var newWmsTask = new WmsTask() +// { +// //TaskNo = _commonOrderServiceRep.GetFYKOrderNo(), +// TaskNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(), +// TaskModel = TaskModel.QUANZIDONG, +// TaskType = TaskType.YIKU, +// TaskLevel = 5, +// TaskStatus = TaskStatusEnum.WEIZHIXING, +// OrderNo = materialContainer.OrderNo, +// OrderDetailsId = materialContainer.OrderDetailsId, +// ContainerCode = materialContainer.ContainerCode, +// SourcePlace = placeModel.PlaceCode, +// ToPlace = ToPlaceModel.PlaceCode, +// AreaName = placeModel.WmsArea.AreaName, +// IsRead = true, //WCS鏄惁鍙互璇诲彇 +// SendTimes = 1, //鍙戦�佹鏁� +// Aisle = placeModel.Aisle, +// Dodevicetype = DodeviceType.AGV, +// TaskDodeviceStatus = TaskDodeviceStatusEnum.WZX, +// }; +// await _wmsTaskRep.InsertAsync(newWmsTask); - return new GetYiKuPlaceOutput() - { - ToPlace = ToPlaceModel.PlaceCode, - TaskNo = newWmsTask.TaskNo, - }; - } +// return new GetYiKuPlaceOutput() +// { +// ToPlace = ToPlaceModel.PlaceCode, +// TaskNo = newWmsTask.TaskNo, +// }; +// } - ///// <summary> - ///// 寮哄埗瀹屾垚 - ///// </summary> - ///// <returns></returns> - //[HttpPost("Finish")] - //[UnitOfWork] - //[AllowAnonymous] - //public async Task Finish([FromBody] FinishTaskInput input) - //{ - // var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.TaskNo == input.TaskNo); - // if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); - // if (wmsTask.TaskStatus == TaskStatusEnum.WANCHENG) throw Oops.Oh("浠诲姟宸插畬鎴愶紝寮哄埗瀹屾垚澶辫触锛�"); - // var statusList = new List<TaskStatusEnum> { TaskStatusEnum.WEIZHIXING, TaskStatusEnum.ZHIXINGZHONG }; - // if (!statusList.Contains(wmsTask.TaskStatus)) throw Oops.Oh("鍙湁鏈墽琛屽拰鎵ц涓殑浠诲姟鎵嶈兘寮哄埗瀹屾垚锛�"); +// ///// <summary> +// ///// 寮哄埗瀹屾垚 +// ///// </summary> +// ///// <returns></returns> +// //[HttpPost("Finish")] +// //[UnitOfWork] +// //[AllowAnonymous] +// //public async Task Finish([FromBody] FinishTaskInput input) +// //{ +// // var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.TaskNo == input.TaskNo); +// // if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); +// // if (wmsTask.TaskStatus == TaskStatusEnum.WANCHENG) throw Oops.Oh("浠诲姟宸插畬鎴愶紝寮哄埗瀹屾垚澶辫触锛�"); +// // var statusList = new List<TaskStatusEnum> { TaskStatusEnum.WEIZHIXING, TaskStatusEnum.ZHIXINGZHONG }; +// // if (!statusList.Contains(wmsTask.TaskStatus)) throw Oops.Oh("鍙湁鏈墽琛屽拰鎵ц涓殑浠诲姟鎵嶈兘寮哄埗瀹屾垚锛�"); - // if (wmsTask.TaskType == TaskType.RUKU) // 鍏ュ簱浠诲姟 - // { - // var taskStatusList = new List<TaskDodeviceStatusEnum> { TaskDodeviceStatusEnum.ZX_DDJ, TaskDodeviceStatusEnum.WC_DDJ }; - // if (!taskStatusList.Contains(wmsTask.TaskDodeviceStatus)) throw Oops.Oh("鍙湁鍫嗗灈鏈烘墽琛�,鍫嗗灈鏈哄畬鎴愭墠鑳藉己鍒跺畬鎴愶紒"); - // //鏌ヨ搴撲綅 - // var wmsPlace = await _wmsPlaceRep.DetachedEntities.Where(u => u.PlaceCode == wmsTask.ToPlace - // && u.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN).ProjectToType<WmsPlace>().FirstOrDefaultAsync(); - // // 鏌ヨ鎵樼洏 - // var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode); - // if (wmsContainer == null) throw Oops.Oh("鎵樼洏淇℃伅涓嶅瓨鍦�!"); - // // 鏇存柊浠诲姟鐘舵�� - // wmsTask.TaskStatus = TaskStatusEnum.WANCHENG; - // wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.W; - // wmsTask.IsRead = false; - // await _wmsTaskRep.UpdateAsync(wmsTask); +// // if (wmsTask.TaskType == TaskType.RUKU) // 鍏ュ簱浠诲姟 +// // { +// // var taskStatusList = new List<TaskDodeviceStatusEnum> { TaskDodeviceStatusEnum.ZX_DDJ, TaskDodeviceStatusEnum.WC_DDJ }; +// // if (!taskStatusList.Contains(wmsTask.TaskDodeviceStatus)) throw Oops.Oh("鍙湁鍫嗗灈鏈烘墽琛�,鍫嗗灈鏈哄畬鎴愭墠鑳藉己鍒跺畬鎴愶紒"); +// // //鏌ヨ搴撲綅 +// // var wmsPlace = await _wmsPlaceRep.DetachedEntities.Where(u => u.PlaceCode == wmsTask.ToPlace +// // && u.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN).ProjectToType<WmsPlace>().FirstOrDefaultAsync(); +// // // 鏌ヨ鎵樼洏 +// // var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode); +// // if (wmsContainer == null) throw Oops.Oh("鎵樼洏淇℃伅涓嶅瓨鍦�!"); +// // // 鏇存柊浠诲姟鐘舵�� +// // wmsTask.TaskStatus = TaskStatusEnum.WANCHENG; +// // wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.W; +// // wmsTask.IsRead = false; +// // await _wmsTaskRep.UpdateAsync(wmsTask); - // // 鏇存柊鍗曟嵁鏄庣粏鐘舵�佷负瀹屾垚銆佹洿鏂版墭鐩樼紪鍙枫�佹洿鏂板簱浣嶇紪鍙� - // var wmsOrderDetails = await _wmsOrderDetailsRep.Where(z => z.Id == wmsTask.OrderDetailsId).ProjectToType<WmsOrderDetails>().FirstOrDefaultAsync(); - // if (wmsOrderDetails != null) - // { - // wmsOrderDetails.ContainerCode = wmsTask.ContainerCode; - // wmsOrderDetails.PlaceCode = wmsPlace.PlaceCode; - // wmsOrderDetails.OrderStatus = OrderDetailsStatusEnum.WANCHENG; - // await _wmsOrderDetailsRep.UpdateNowAsync(wmsOrderDetails); - // } - // // 鍗曟嵁鏄庣粏瀹屾垚鎬绘暟 - // var orderDetailsCount = (await _wmsOrderDetailsRep.DetachedEntities - // .Where(z => z.OrderId == wmsOrderDetails.WareOrder.Id && z.OrderStatus == OrderDetailsStatusEnum.WANCHENG).ToListAsync()).Count; +// // // 鏇存柊鍗曟嵁鏄庣粏鐘舵�佷负瀹屾垚銆佹洿鏂版墭鐩樼紪鍙枫�佹洿鏂板簱浣嶇紪鍙� +// // var wmsOrderDetails = await _wmsOrderDetailsRep.Where(z => z.Id == wmsTask.OrderDetailsId).ProjectToType<WmsOrderDetails>().FirstOrDefaultAsync(); +// // if (wmsOrderDetails != null) +// // { +// // wmsOrderDetails.ContainerCode = wmsTask.ContainerCode; +// // wmsOrderDetails.PlaceCode = wmsPlace.PlaceCode; +// // wmsOrderDetails.OrderStatus = OrderDetailsStatusEnum.WANCHENG; +// // await _wmsOrderDetailsRep.UpdateNowAsync(wmsOrderDetails); +// // } +// // // 鍗曟嵁鏄庣粏瀹屾垚鎬绘暟 +// // var orderDetailsCount = (await _wmsOrderDetailsRep.DetachedEntities +// // .Where(z => z.OrderId == wmsOrderDetails.WareOrder.Id && z.OrderStatus == OrderDetailsStatusEnum.WANCHENG).ToListAsync()).Count; - // if (orderDetailsCount == wmsOrderDetails.WareOrder.OrderQuantityTotal) - // { - // wmsOrderDetails.WareOrder.OrderStatus = OrderStatusEnum.WANCHENG; - // await _wmsOrderRep.UpdateAsync(wmsOrderDetails.WareOrder); - // } +// // if (orderDetailsCount == wmsOrderDetails.WareOrder.OrderQuantityTotal) +// // { +// // wmsOrderDetails.WareOrder.OrderStatus = OrderStatusEnum.WANCHENG; +// // await _wmsOrderRep.UpdateAsync(wmsOrderDetails.WareOrder); +// // } - // // 鏇存柊搴撲綅鐘舵�佷负瀛樿揣 - // wmsPlace.PlaceStatus = PlaceStatus.CUNHUO; - // await _wmsPlaceRep.UpdateAsync(wmsPlace); +// // // 鏇存柊搴撲綅鐘舵�佷负瀛樿揣 +// // wmsPlace.PlaceStatus = PlaceStatus.CUNHUO; +// // await _wmsPlaceRep.UpdateAsync(wmsPlace); - // // 鏇存柊鎵樼洏鐘舵�佷负鈥滃簱浣嶁�� - // wmsContainer.ContainerStatus = ContainerStatus.KUWEI; - // await _wmsContainerRep.UpdateAsync(wmsContainer); +// // // 鏇存柊鎵樼洏鐘舵�佷负鈥滃簱浣嶁�� +// // wmsContainer.ContainerStatus = ContainerStatus.KUWEI; +// // await _wmsContainerRep.UpdateAsync(wmsContainer); - // // 鐗╂枡涓庢墭鐩樺叧绯� - // var wmsMaterialContainer = await _wmsMaterialContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode - // && z.MaterialNo == wmsOrderDetails.MaterialNo && z.BindStatus == CommonStatus.ENABLE); +// // // 鐗╂枡涓庢墭鐩樺叧绯� +// // var wmsMaterialContainer = await _wmsMaterialContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode +// // && z.MaterialNo == wmsOrderDetails.MaterialNo && z.BindStatus == CommonStatus.ENABLE); - // // 鎵樼洏涓庡簱浣嶅叧绯� - // var wmsContainerPlace = new WmsContainerPlace() - // { - // PlaceId = wmsPlace.Id, - // PlaceCode = wmsPlace.PlaceCode, - // ContainerId = wmsContainer.Id, - // ContainerCode = wmsContainer.ContainerCode, - // ContainerPlaceStatus = CommonStatus.ENABLE - // }; - // await _wmsContainerPlaceRep.InsertAsync(wmsContainerPlace); +// // // 鎵樼洏涓庡簱浣嶅叧绯� +// // var wmsContainerPlace = new WmsContainerPlace() +// // { +// // PlaceId = wmsPlace.Id, +// // PlaceCode = wmsPlace.PlaceCode, +// // ContainerId = wmsContainer.Id, +// // ContainerCode = wmsContainer.ContainerCode, +// // ContainerPlaceStatus = CommonStatus.ENABLE +// // }; +// // await _wmsContainerPlaceRep.InsertAsync(wmsContainerPlace); - // // 娣诲姞搴撳瓨 - // var StockModel = await _wmsMaterialStockRep.Where(p => p.ContainerCode == wmsTask.ContainerCode - // && p.MaterialNo == wmsOrderDetails.MaterialNo && p.MaterialBatch == wmsOrderDetails.Batch).FirstOrDefaultAsync(); - // if (StockModel != null) - // { - // StockModel.MaterialDensity = wmsOrderDetails.MaterialDensity; - // StockModel.PlaceCode = wmsTask.ToPlace; - // StockModel.AreaId = wmsPlace.AreaId; - // StockModel.StockNumber = wmsOrderDetails.OrderQuantity; - // await _wmsMaterialStockRep.UpdateAsync(StockModel); - // } - // else - // { - // StockModel = new WmsMaterialStock() - // { - // MaterialNo = wmsOrderDetails.MaterialNo, - // MaterialType = wmsOrderDetails.MaterialType, - // MaterialName = "N/A", - // Long = wmsOrderDetails.Long, - // Wide = wmsOrderDetails.Wide, - // High = wmsOrderDetails.High, - // MaterialSpec = wmsOrderDetails.Long + "*" + wmsOrderDetails.Wide + "*" + wmsOrderDetails.High, - // MaterialBatch = wmsOrderDetails.Batch, - // MaterialDensity = wmsOrderDetails.MaterialDensity, - // //InspectionMethod = item.WmsMaterial.InspectionMethod, - // //UnitType = item.WmsMaterial.UnitType, - // //UnitNo = item.WmsMaterial.UnitNo, - // StockNumber = wmsOrderDetails.OrderQuantity, - // PlaceCode = wmsTask.ToPlace, - // ContainerId = wmsContainer.Id, - // ContainerCode = wmsContainer.ContainerCode, - // AreaId = wmsPlace.AreaId, - // }; - // await _wmsMaterialStockRep.InsertAsync(StockModel); - // } - // } - // else if (wmsTask.TaskType == TaskType.CHUKU) //鍑哄簱浠诲姟 - // { - // var taskStatusList = new List<TaskDodeviceStatusEnum> { TaskDodeviceStatusEnum.ZX_DDJ, TaskDodeviceStatusEnum.WC_DDJ }; - // if (!taskStatusList.Contains(wmsTask.TaskDodeviceStatus)) throw Oops.Oh("鍙湁鍫嗗灈鏈烘墽琛�,鍫嗗灈鏈哄畬鎴愭墠鑳藉己鍒跺畬鎴愶紒"); - // // 鏌ヨ鎵樼洏淇℃伅 - // var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode); - // if (wmsContainer == null) throw Oops.Oh("鎵樼洏淇℃伅涓嶅瓨鍦�!"); +// // // 娣诲姞搴撳瓨 +// // var StockModel = await _wmsMaterialStockRep.Where(p => p.ContainerCode == wmsTask.ContainerCode +// // && p.MaterialNo == wmsOrderDetails.MaterialNo && p.MaterialBatch == wmsOrderDetails.Batch).FirstOrDefaultAsync(); +// // if (StockModel != null) +// // { +// // StockModel.MaterialDensity = wmsOrderDetails.MaterialDensity; +// // StockModel.PlaceCode = wmsTask.ToPlace; +// // StockModel.AreaId = wmsPlace.AreaId; +// // StockModel.StockNumber = wmsOrderDetails.OrderQuantity; +// // await _wmsMaterialStockRep.UpdateAsync(StockModel); +// // } +// // else +// // { +// // StockModel = new WmsMaterialStock() +// // { +// // MaterialNo = wmsOrderDetails.MaterialNo, +// // MaterialType = wmsOrderDetails.MaterialType, +// // MaterialName = "N/A", +// // Long = wmsOrderDetails.Long, +// // Wide = wmsOrderDetails.Wide, +// // High = wmsOrderDetails.High, +// // MaterialSpec = wmsOrderDetails.Long + "*" + wmsOrderDetails.Wide + "*" + wmsOrderDetails.High, +// // MaterialBatch = wmsOrderDetails.Batch, +// // MaterialDensity = wmsOrderDetails.MaterialDensity, +// // //InspectionMethod = item.WmsMaterial.InspectionMethod, +// // //UnitType = item.WmsMaterial.UnitType, +// // //UnitNo = item.WmsMaterial.UnitNo, +// // StockNumber = wmsOrderDetails.OrderQuantity, +// // PlaceCode = wmsTask.ToPlace, +// // ContainerId = wmsContainer.Id, +// // ContainerCode = wmsContainer.ContainerCode, +// // AreaId = wmsPlace.AreaId, +// // }; +// // await _wmsMaterialStockRep.InsertAsync(StockModel); +// // } +// // } +// // else if (wmsTask.TaskType == TaskType.CHUKU) //鍑哄簱浠诲姟 +// // { +// // var taskStatusList = new List<TaskDodeviceStatusEnum> { TaskDodeviceStatusEnum.ZX_DDJ, TaskDodeviceStatusEnum.WC_DDJ }; +// // if (!taskStatusList.Contains(wmsTask.TaskDodeviceStatus)) throw Oops.Oh("鍙湁鍫嗗灈鏈烘墽琛�,鍫嗗灈鏈哄畬鎴愭墠鑳藉己鍒跺畬鎴愶紒"); +// // // 鏌ヨ鎵樼洏淇℃伅 +// // var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode); +// // if (wmsContainer == null) throw Oops.Oh("鎵樼洏淇℃伅涓嶅瓨鍦�!"); - // // 鏌ヨ搴撲綅淇℃伅 - // var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.PlaceCode == wmsTask.SourcePlace); - // if (wmsPlace == 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) - // { - // // 绂佺敤鎵樼洏搴撲綅鍏崇郴 - // wmsContainerPlace.ContainerPlaceStatus = CommonStatus.DELETED; - // await _wmsContainerPlaceRep.UpdateAsync(wmsContainerPlace); - // } - // // 鏍规嵁浠诲姟琛ㄤ腑鐨勫崟鎹槑缁咺d鏌ヨ鍗曟嵁鏄庣粏淇℃伅 - // var wmsOrderDetails = await _wmsOrderDetailsRep.FirstOrDefaultAsync(z => z.Id == wmsTask.OrderDetailsId); +// // // 鏌ヨ搴撲綅淇℃伅 +// // var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.PlaceCode == wmsTask.SourcePlace); +// // if (wmsPlace == 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) +// // { +// // // 绂佺敤鎵樼洏搴撲綅鍏崇郴 +// // wmsContainerPlace.ContainerPlaceStatus = CommonStatus.DELETED; +// // await _wmsContainerPlaceRep.UpdateAsync(wmsContainerPlace); +// // } +// // // 鏍规嵁浠诲姟琛ㄤ腑鐨勫崟鎹槑缁咺d鏌ヨ鍗曟嵁鏄庣粏淇℃伅 +// // var wmsOrderDetails = await _wmsOrderDetailsRep.FirstOrDefaultAsync(z => z.Id == wmsTask.OrderDetailsId); - // wmsTask.TaskStatus = TaskStatusEnum.ZHIXINGZHONG; - // wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.ZX_RGV; - // wmsTask.IsRead = false; - // await _wmsTaskRep.UpdateAsync(wmsTask); +// // wmsTask.TaskStatus = TaskStatusEnum.ZHIXINGZHONG; +// // wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.ZX_RGV; +// // wmsTask.IsRead = false; +// // await _wmsTaskRep.UpdateAsync(wmsTask); - // // 鏌ヨ鏄惁宸插瓨鍦ㄧ墿鏂欎笌鎵樼洏鍏崇郴 - // var wmsMaterialContainer = await _wmsMaterialContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode - // && z.MaterialNo == wmsOrderDetails.MaterialNo && z.BindStatus == CommonStatus.ENABLE); - // //鍏ュ簱鏃剁粍鐩樹俊鎭�昏緫鍒犻櫎 - // if (wmsMaterialContainer != null) - // { - // wmsMaterialContainer.BindStatus = CommonStatus.DELETED; - // await _wmsMaterialContainerRep.UpdateAsync(wmsMaterialContainer); - // //鏂板鍑哄簱缁戝畾璁板綍 姝e父 - // var enable = new WmsMaterialContainer() - // { - // ContainerId = wmsContainer.Id, - // ContainerCode = wmsContainer.ContainerCode, - // MaterialId = YitIdHelper.NextId(), //绯荤粺鐢熸垚鐨処d - // MaterialName = "N/A", - // MaterialNo = wmsMaterialContainer.MaterialNo, - // MaterialBatch = wmsMaterialContainer.MaterialBatch, - // MaterialDensity = wmsMaterialContainer.MaterialDensity, - // MaterialSpec = wmsOrderDetails.Long + "*" + wmsOrderDetails.Wide + "*" + wmsOrderDetails.High, - // BindQuantity = 1, //涓�涓簱浣嶅彧鏈変竴涓墿鏂� - // OrderNo = wmsMaterialContainer.OrderNo, - // OrderDetailsId = wmsMaterialContainer.OrderDetailsId, - // BindStatus = CommonStatus.ENABLE - // }; - // await _wmsMaterialContainerRep.InsertAsync(enable); - // } - // //鏇存柊搴撳瓨 - // var stockModel = await _wmsMaterialStockRep.Where(p => p.ContainerCode == wmsTask.ContainerCode && p.PlaceCode == wmsTask.SourcePlace - // && p.MaterialNo == wmsOrderDetails.MaterialNo && p.MaterialBatch == wmsOrderDetails.Batch).FirstOrDefaultAsync(); - // if (stockModel != null) - // { - // await _wmsMaterialStockRep.DeleteAsync(stockModel); - // } - // // 鏇存柊搴撲綅鐘舵�佷负鈥滅┖闂测�� - // wmsPlace.PlaceStatus = PlaceStatus.KONGXIAN; - // await _wmsPlaceRep.UpdateAsync(wmsPlace); +// // // 鏌ヨ鏄惁宸插瓨鍦ㄧ墿鏂欎笌鎵樼洏鍏崇郴 +// // var wmsMaterialContainer = await _wmsMaterialContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode +// // && z.MaterialNo == wmsOrderDetails.MaterialNo && z.BindStatus == CommonStatus.ENABLE); +// // //鍏ュ簱鏃剁粍鐩樹俊鎭�昏緫鍒犻櫎 +// // if (wmsMaterialContainer != null) +// // { +// // wmsMaterialContainer.BindStatus = CommonStatus.DELETED; +// // await _wmsMaterialContainerRep.UpdateAsync(wmsMaterialContainer); +// // //鏂板鍑哄簱缁戝畾璁板綍 姝e父 +// // var enable = new WmsMaterialContainer() +// // { +// // ContainerId = wmsContainer.Id, +// // ContainerCode = wmsContainer.ContainerCode, +// // MaterialId = YitIdHelper.NextId(), //绯荤粺鐢熸垚鐨処d +// // MaterialName = "N/A", +// // MaterialNo = wmsMaterialContainer.MaterialNo, +// // MaterialBatch = wmsMaterialContainer.MaterialBatch, +// // MaterialDensity = wmsMaterialContainer.MaterialDensity, +// // MaterialSpec = wmsOrderDetails.Long + "*" + wmsOrderDetails.Wide + "*" + wmsOrderDetails.High, +// // BindQuantity = 1, //涓�涓簱浣嶅彧鏈変竴涓墿鏂� +// // OrderNo = wmsMaterialContainer.OrderNo, +// // OrderDetailsId = wmsMaterialContainer.OrderDetailsId, +// // BindStatus = CommonStatus.ENABLE +// // }; +// // await _wmsMaterialContainerRep.InsertAsync(enable); +// // } +// // //鏇存柊搴撳瓨 +// // var stockModel = await _wmsMaterialStockRep.Where(p => p.ContainerCode == wmsTask.ContainerCode && p.PlaceCode == wmsTask.SourcePlace +// // && p.MaterialNo == wmsOrderDetails.MaterialNo && p.MaterialBatch == wmsOrderDetails.Batch).FirstOrDefaultAsync(); +// // if (stockModel != null) +// // { +// // await _wmsMaterialStockRep.DeleteAsync(stockModel); +// // } +// // // 鏇存柊搴撲綅鐘舵�佷负鈥滅┖闂测�� +// // wmsPlace.PlaceStatus = PlaceStatus.KONGXIAN; +// // await _wmsPlaceRep.UpdateAsync(wmsPlace); - // //鏇存柊鎵樼洏鐘舵�佷负鈥滅┖闂测�� - // wmsContainer.ContainerStatus = ContainerStatus.KOUXIAN; - // await _wmsContainerRep.UpdateAsync(wmsContainer); - // } - // else //绉诲簱浠诲姟 - // { - // var taskStatusList = new List<TaskDodeviceStatusEnum> { TaskDodeviceStatusEnum.ZX_DDJ, TaskDodeviceStatusEnum.WC_DDJ }; - // if (!taskStatusList.Contains(wmsTask.TaskDodeviceStatus)) throw Oops.Oh("鍙湁鍫嗗灈鏈烘墽琛�,鍫嗗灈鏈哄畬鎴愭墠鑳藉己鍒跺畬鎴愶紒"); - // // 鏌ヨ鎵樼洏 - // var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode); - // if (wmsContainer == null) throw Oops.Oh("鎵樼洏淇℃伅涓嶅瓨鍦�!"); +// // //鏇存柊鎵樼洏鐘舵�佷负鈥滅┖闂测�� +// // wmsContainer.ContainerStatus = ContainerStatus.KOUXIAN; +// // await _wmsContainerRep.UpdateAsync(wmsContainer); +// // } +// // else //绉诲簱浠诲姟 +// // { +// // var taskStatusList = new List<TaskDodeviceStatusEnum> { TaskDodeviceStatusEnum.ZX_DDJ, TaskDodeviceStatusEnum.WC_DDJ }; +// // if (!taskStatusList.Contains(wmsTask.TaskDodeviceStatus)) throw Oops.Oh("鍙湁鍫嗗灈鏈烘墽琛�,鍫嗗灈鏈哄畬鎴愭墠鑳藉己鍒跺畬鎴愶紒"); +// // // 鏌ヨ鎵樼洏 +// // var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode); +// // if (wmsContainer == null) throw Oops.Oh("鎵樼洏淇℃伅涓嶅瓨鍦�!"); - // wmsTask.TaskStatus = TaskStatusEnum.WANCHENG; - // wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.W; - // wmsTask.IsRead = false; - // // 璧风偣搴撲綅淇℃伅 - // var SourcePlace = await _wmsPlaceRep.Where(z => z.PlaceCode == wmsTask.SourcePlace).FirstOrDefaultAsync(); - // SourcePlace.PlaceStatus = PlaceStatus.KONGXIAN; - // await _wmsPlaceRep.UpdateAsync(SourcePlace); - // //鐩爣搴撲綅淇℃伅 - // var ToPlace = await _wmsPlaceRep.Where(z => z.PlaceCode == wmsTask.ToPlace).FirstOrDefaultAsync(); - // ToPlace.PlaceStatus = PlaceStatus.CUNHUO; - // await _wmsPlaceRep.UpdateAsync(ToPlace); - // //鎵樼洏搴撲綅鍏崇郴琛� - // var wmsContainerPlace = await _wmsContainerPlaceRep.FirstOrDefaultAsync(z => z.PlaceId == SourcePlace.Id && z.PlaceCode == SourcePlace.PlaceCode - // && z.ContainerCode == wmsTask.ContainerCode && z.ContainerPlaceStatus == CommonStatus.ENABLE); - // wmsContainerPlace.ContainerPlaceStatus = CommonStatus.DELETED; - // await _wmsContainerPlaceRep.UpdateAsync(wmsContainerPlace); - // await _wmsContainerPlaceRep.InsertAsync(new WmsContainerPlace() - // { - // PlaceId = ToPlace.Id, - // PlaceCode = ToPlace.PlaceCode, - // ContainerId = wmsContainer.Id, - // ContainerCode = wmsContainer.ContainerCode, - // ContainerPlaceStatus = CommonStatus.ENABLE - // }); - // //搴撳瓨搴撲綅鏇存柊 - // var stockModel = await _wmsMaterialStockRep.Where(p => p.ContainerCode == wmsTask.ContainerCode && p.PlaceCode == SourcePlace.PlaceCode).FirstOrDefaultAsync(); - // if (stockModel != null) - // { - // stockModel.PlaceCode = ToPlace.PlaceCode; - // } - // } - //} +// // wmsTask.TaskStatus = TaskStatusEnum.WANCHENG; +// // wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.W; +// // wmsTask.IsRead = false; +// // // 璧风偣搴撲綅淇℃伅 +// // var SourcePlace = await _wmsPlaceRep.Where(z => z.PlaceCode == wmsTask.SourcePlace).FirstOrDefaultAsync(); +// // SourcePlace.PlaceStatus = PlaceStatus.KONGXIAN; +// // await _wmsPlaceRep.UpdateAsync(SourcePlace); +// // //鐩爣搴撲綅淇℃伅 +// // var ToPlace = await _wmsPlaceRep.Where(z => z.PlaceCode == wmsTask.ToPlace).FirstOrDefaultAsync(); +// // ToPlace.PlaceStatus = PlaceStatus.CUNHUO; +// // await _wmsPlaceRep.UpdateAsync(ToPlace); +// // //鎵樼洏搴撲綅鍏崇郴琛� +// // var wmsContainerPlace = await _wmsContainerPlaceRep.FirstOrDefaultAsync(z => z.PlaceId == SourcePlace.Id && z.PlaceCode == SourcePlace.PlaceCode +// // && z.ContainerCode == wmsTask.ContainerCode && z.ContainerPlaceStatus == CommonStatus.ENABLE); +// // wmsContainerPlace.ContainerPlaceStatus = CommonStatus.DELETED; +// // await _wmsContainerPlaceRep.UpdateAsync(wmsContainerPlace); +// // await _wmsContainerPlaceRep.InsertAsync(new WmsContainerPlace() +// // { +// // PlaceId = ToPlace.Id, +// // PlaceCode = ToPlace.PlaceCode, +// // ContainerId = wmsContainer.Id, +// // ContainerCode = wmsContainer.ContainerCode, +// // ContainerPlaceStatus = CommonStatus.ENABLE +// // }); +// // //搴撳瓨搴撲綅鏇存柊 +// // var stockModel = await _wmsMaterialStockRep.Where(p => p.ContainerCode == wmsTask.ContainerCode && p.PlaceCode == SourcePlace.PlaceCode).FirstOrDefaultAsync(); +// // if (stockModel != null) +// // { +// // stockModel.PlaceCode = ToPlace.PlaceCode; +// // } +// // } +// //} - /// <summary> - /// 鍙栨秷浠诲姟 - /// </summary> - /// <returns></returns> - [HttpPost("CancelTask")] - [UnitOfWork] - [AllowAnonymous] - public async Task CancelTask([FromBody] FinishTaskInput input) - { - var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.TaskNo == input.TaskNo); - if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); - if (wmsTask.TaskStatus == TaskStatusEnum.WANCHENG) throw Oops.Oh("浠诲姟宸插畬鎴愶紝鍙栨秷澶辫触锛�"); - if (wmsTask.TaskType == TaskType.RUKU) // 鍏ュ簱浠诲姟 - { - //var statusList = new List<TaskDodeviceStatusEnum> {TaskDodeviceStatusEnum.ZX_RSSX, TaskDodeviceStatusEnum.WC_RSSX,TaskDodeviceStatusEnum.WZX }; - //if (!statusList.Contains(wmsTask.TaskDodeviceStatus)) throw Oops.Oh("鍙湁鍏ュ簱杈撻�佺嚎鎵ц,鍏ュ簱杈撻�佺嚎瀹屾垚鎴栬�呰澶囨湭鎵ц鎵嶈兘寮哄埗鍙栨秷锛�"); - //鏇存柊鍗曟嵁鏄庣粏鐘舵�佷负鏈墽琛屻�佹洿鏂版墭鐩樼紪鍙枫�佹洿鏂板簱浣嶇紪鍙� - var wmsOrderDetails = await _wmsOrderDetailsRep.Where(z => z.Id == wmsTask.OrderDetailsId).ProjectToType<WmsOrderDetails>().FirstOrDefaultAsync(); - if (wmsOrderDetails != null) - { - wmsOrderDetails.OrderStatus = OrderDetailsStatusEnum.WEIZHIXING; - await _wmsOrderDetailsRep.UpdateNowAsync(wmsOrderDetails); - } - //鏌ヨ搴撲綅 - var wmsPlace = await _wmsPlaceRep.DetachedEntities.Where(u => u.PlaceCode == wmsTask.ToPlace && u.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN).ProjectToType<WmsPlace>().FirstOrDefaultAsync(); - if (wmsPlace != null) - { - // 鏇存柊搴撲綅鐘舵�佷负绌洪棽 - wmsPlace.PlaceStatus = PlaceStatus.KONGXIAN; - await _wmsPlaceRep.UpdateAsync(wmsPlace); - } - var materialContainer = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == wmsTask.ContainerCode && p.BindStatus == CommonStatus.ENABLE).FirstOrDefaultAsync(); - if (materialContainer != null) - { - await _wmsMaterialContainerRep.DeleteNowAsync(materialContainer); - } - // 鏌ヨ鎵樼洏 - var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode); - if (wmsContainer != null) - { - wmsContainer.ContainerStatus = ContainerStatus.KOUXIAN; - await _wmsContainerRep.UpdateAsync(wmsContainer); - } - // 鏇存柊浠诲姟鐘舵�� - wmsTask.TaskStatus = TaskStatusEnum.WEIZHIXING; - wmsTask.IsRead = false; - wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.WZX; - wmsTask.ToPlace = ""; - await _wmsTaskRep.UpdateAsync(wmsTask); - } - else if (wmsTask.TaskType == TaskType.CHUKU) //鍑哄簱浠诲姟 - { - var statusList = new List<TaskDodeviceStatusEnum> { TaskDodeviceStatusEnum.WZX, TaskDodeviceStatusEnum.ZX_DDJ }; - if (!statusList.Contains(wmsTask.TaskDodeviceStatus)) throw Oops.Oh("鍙湁鍫嗗灈鏈烘墽琛屼腑鎴栬澶囨湭鎵ц鎵嶈兘寮哄埗鍙栨秷锛�"); - // 鏌ヨ搴撲綅淇℃伅 - var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.PlaceCode == wmsTask.SourcePlace); - if (wmsPlace == 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("搴撲綅瀹瑰櫒鍏崇郴涓嶅瓨鍦�!"); - // 鏍规嵁浠诲姟琛ㄤ腑鐨勫崟鎹槑缁咺d鏌ヨ鍗曟嵁鏄庣粏淇℃伅 - var wmsOrderDetails = await _wmsOrderDetailsRep.FirstOrDefaultAsync(z => z.Id == wmsTask.OrderDetailsId); - //淇敼鍗曟嵁鏄庣粏,浠诲姟鐘舵��,璁惧浠诲姟鐘舵�佷负鏈墽琛� - wmsOrderDetails.OrderStatus = OrderDetailsStatusEnum.WEIZHIXING; - await _wmsOrderDetailsRep.UpdateNowAsync(wmsOrderDetails); - wmsTask.TaskStatus = TaskStatusEnum.WEIZHIXING; - wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.WZX; - await _wmsTaskRep.UpdateAsync(wmsTask); - // 鏇存柊搴撲綅鐘舵�佷负瀛樿揣 - wmsPlace.PlaceStatus = PlaceStatus.CUNHUO; - await _wmsPlaceRep.UpdateAsync(wmsPlace); - } - else //绉诲簱浠诲姟 - { - var statusList = new List<TaskDodeviceStatusEnum> { TaskDodeviceStatusEnum.WZX, TaskDodeviceStatusEnum.ZX_DDJ }; - if (!statusList.Contains(wmsTask.TaskDodeviceStatus)) throw Oops.Oh("鍙湁鍫嗗灈鏈烘墽琛屼腑锛岃澶囨湭鎵ц鎵嶈兘寮哄埗鍙栨秷锛�"); - // 鏌ヨ鎵樼洏 - var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode); - if (wmsContainer == null) throw Oops.Oh("鎵樼洏淇℃伅涓嶅瓨鍦�!"); - //鍒犻櫎浠诲姟 - await _wmsTaskRep.DeleteAsync(wmsTask); - // 璧风偣搴撲綅淇℃伅 - var SourcePlace = await _wmsPlaceRep.Where(z => z.PlaceCode == wmsTask.SourcePlace).FirstOrDefaultAsync(); - SourcePlace.PlaceStatus = PlaceStatus.CUNHUO; - await _wmsPlaceRep.UpdateAsync(SourcePlace); - //鐩爣搴撲綅淇℃伅 - var ToPlace = await _wmsPlaceRep.Where(z => z.PlaceCode == wmsTask.ToPlace).FirstOrDefaultAsync(); - ToPlace.PlaceStatus = PlaceStatus.KONGXIAN; - await _wmsPlaceRep.UpdateAsync(ToPlace); - } - } +// /// <summary> +// /// 鍙栨秷浠诲姟 +// /// </summary> +// /// <returns></returns> +// [HttpPost("CancelTask")] +// [UnitOfWork] +// [AllowAnonymous] +// public async Task CancelTask([FromBody] FinishTaskInput input) +// { +// var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(u => u.TaskNo == input.TaskNo); +// if (wmsTask == null) throw Oops.Oh("浠诲姟涓嶅瓨鍦紒"); +// if (wmsTask.TaskStatus == TaskStatusEnum.WANCHENG) throw Oops.Oh("浠诲姟宸插畬鎴愶紝鍙栨秷澶辫触锛�"); +// if (wmsTask.TaskType == TaskType.RUKU) // 鍏ュ簱浠诲姟 +// { +// //var statusList = new List<TaskDodeviceStatusEnum> {TaskDodeviceStatusEnum.ZX_RSSX, TaskDodeviceStatusEnum.WC_RSSX,TaskDodeviceStatusEnum.WZX }; +// //if (!statusList.Contains(wmsTask.TaskDodeviceStatus)) throw Oops.Oh("鍙湁鍏ュ簱杈撻�佺嚎鎵ц,鍏ュ簱杈撻�佺嚎瀹屾垚鎴栬�呰澶囨湭鎵ц鎵嶈兘寮哄埗鍙栨秷锛�"); +// //鏇存柊鍗曟嵁鏄庣粏鐘舵�佷负鏈墽琛屻�佹洿鏂版墭鐩樼紪鍙枫�佹洿鏂板簱浣嶇紪鍙� +// var wmsOrderDetails = await _wmsOrderDetailsRep.Where(z => z.Id == wmsTask.OrderDetailsId).ProjectToType<WmsOrderDetails>().FirstOrDefaultAsync(); +// if (wmsOrderDetails != null) +// { +// wmsOrderDetails.OrderStatus = OrderDetailsStatusEnum.WEIZHIXING; +// await _wmsOrderDetailsRep.UpdateNowAsync(wmsOrderDetails); +// } +// //鏌ヨ搴撲綅 +// var wmsPlace = await _wmsPlaceRep.DetachedEntities.Where(u => u.PlaceCode == wmsTask.ToPlace && u.WmsArea.WorkShopType == LesWorkShopType.FAPAOCHEJIAN).ProjectToType<WmsPlace>().FirstOrDefaultAsync(); +// if (wmsPlace != null) +// { +// // 鏇存柊搴撲綅鐘舵�佷负绌洪棽 +// wmsPlace.PlaceStatus = PlaceStatus.KONGXIAN; +// await _wmsPlaceRep.UpdateAsync(wmsPlace); +// } +// var materialContainer = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == wmsTask.ContainerCode && p.BindStatus == CommonStatus.ENABLE).FirstOrDefaultAsync(); +// if (materialContainer != null) +// { +// await _wmsMaterialContainerRep.DeleteNowAsync(materialContainer); +// } +// // 鏌ヨ鎵樼洏 +// var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode); +// if (wmsContainer != null) +// { +// wmsContainer.ContainerStatus = ContainerStatus.KOUXIAN; +// await _wmsContainerRep.UpdateAsync(wmsContainer); +// } +// // 鏇存柊浠诲姟鐘舵�� +// wmsTask.TaskStatus = TaskStatusEnum.WEIZHIXING; +// wmsTask.IsRead = false; +// wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.WZX; +// wmsTask.ToPlace = ""; +// await _wmsTaskRep.UpdateAsync(wmsTask); +// } +// else if (wmsTask.TaskType == TaskType.CHUKU) //鍑哄簱浠诲姟 +// { +// var statusList = new List<TaskDodeviceStatusEnum> { TaskDodeviceStatusEnum.WZX, TaskDodeviceStatusEnum.ZX_DDJ }; +// if (!statusList.Contains(wmsTask.TaskDodeviceStatus)) throw Oops.Oh("鍙湁鍫嗗灈鏈烘墽琛屼腑鎴栬澶囨湭鎵ц鎵嶈兘寮哄埗鍙栨秷锛�"); +// // 鏌ヨ搴撲綅淇℃伅 +// var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.PlaceCode == wmsTask.SourcePlace); +// if (wmsPlace == 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("搴撲綅瀹瑰櫒鍏崇郴涓嶅瓨鍦�!"); +// // 鏍规嵁浠诲姟琛ㄤ腑鐨勫崟鎹槑缁咺d鏌ヨ鍗曟嵁鏄庣粏淇℃伅 +// var wmsOrderDetails = await _wmsOrderDetailsRep.FirstOrDefaultAsync(z => z.Id == wmsTask.OrderDetailsId); +// //淇敼鍗曟嵁鏄庣粏,浠诲姟鐘舵��,璁惧浠诲姟鐘舵�佷负鏈墽琛� +// wmsOrderDetails.OrderStatus = OrderDetailsStatusEnum.WEIZHIXING; +// await _wmsOrderDetailsRep.UpdateNowAsync(wmsOrderDetails); +// wmsTask.TaskStatus = TaskStatusEnum.WEIZHIXING; +// wmsTask.TaskDodeviceStatus = TaskDodeviceStatusEnum.WZX; +// await _wmsTaskRep.UpdateAsync(wmsTask); +// // 鏇存柊搴撲綅鐘舵�佷负瀛樿揣 +// wmsPlace.PlaceStatus = PlaceStatus.CUNHUO; +// await _wmsPlaceRep.UpdateAsync(wmsPlace); +// } +// else //绉诲簱浠诲姟 +// { +// var statusList = new List<TaskDodeviceStatusEnum> { TaskDodeviceStatusEnum.WZX, TaskDodeviceStatusEnum.ZX_DDJ }; +// if (!statusList.Contains(wmsTask.TaskDodeviceStatus)) throw Oops.Oh("鍙湁鍫嗗灈鏈烘墽琛屼腑锛岃澶囨湭鎵ц鎵嶈兘寮哄埗鍙栨秷锛�"); +// // 鏌ヨ鎵樼洏 +// var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == wmsTask.ContainerCode); +// if (wmsContainer == null) throw Oops.Oh("鎵樼洏淇℃伅涓嶅瓨鍦�!"); +// //鍒犻櫎浠诲姟 +// await _wmsTaskRep.DeleteAsync(wmsTask); +// // 璧风偣搴撲綅淇℃伅 +// var SourcePlace = await _wmsPlaceRep.Where(z => z.PlaceCode == wmsTask.SourcePlace).FirstOrDefaultAsync(); +// SourcePlace.PlaceStatus = PlaceStatus.CUNHUO; +// await _wmsPlaceRep.UpdateAsync(SourcePlace); +// //鐩爣搴撲綅淇℃伅 +// var ToPlace = await _wmsPlaceRep.Where(z => z.PlaceCode == wmsTask.ToPlace).FirstOrDefaultAsync(); +// ToPlace.PlaceStatus = PlaceStatus.KONGXIAN; +// await _wmsPlaceRep.UpdateAsync(ToPlace); +// } +// } - /// <summary> - /// wcs璇诲彇鎺ュ彛鍒ゆ柇鐗╂枡鏄惁缁勭洏鍑哄簱 true浠h〃宸茬粡缁勭洏鍑哄簱 - /// </summary> - /// <returns></returns> - [HttpGet("CheckPack")] - [AllowAnonymous] - [NonAction] - public async Task<bool> CheckPack() - { - var packList = await _lesPackWarehouseRep.Where(p => p.LesPackState == LesPackState.WEICHUKU).Select(n => n.OrderNo).Distinct().ToListAsync(); - if (packList.Count >= 2) return false; - else return true; - } +// /// <summary> +// /// wcs璇诲彇鎺ュ彛鍒ゆ柇鐗╂枡鏄惁缁勭洏鍑哄簱 true浠h〃宸茬粡缁勭洏鍑哄簱 +// /// </summary> +// /// <returns></returns> +// [HttpGet("CheckPack")] +// [AllowAnonymous] +// [NonAction] +// public async Task<bool> CheckPack() +// { +// var packList = await _lesPackWarehouseRep.Where(p => p.LesPackState == LesPackState.WEICHUKU).Select(n => n.OrderNo).Distinct().ToListAsync(); +// if (packList.Count >= 2) return false; +// else return true; +// } - /// <summary> - /// 璁惧鎶ヨ淇℃伅 - /// </summary> - /// <returns></returns> - [HttpPost("AddDeviceWaring")] - [AllowAnonymous] - [NonAction] - public async Task AddDeviceWaring(AddDeviceWaringInput input) - { - //鍒ゆ柇wcsid鏄惁瀛樺湪 - var lesDeviceWaring = await _lesDeviceWaringRep.FirstOrDefaultAsync(u => u.WcsId == input.WcsId); - if (lesDeviceWaring != null) - { - await _lesDeviceWaringRep.UpdateAsync(lesDeviceWaring); - } - else - { - lesDeviceWaring = input.Adapt<LesDeviceWaring>(); - await _lesDeviceWaringRep.InsertAsync(lesDeviceWaring); - } - } +// /// <summary> +// /// 璁惧鎶ヨ淇℃伅 +// /// </summary> +// /// <returns></returns> +// [HttpPost("AddDeviceWaring")] +// [AllowAnonymous] +// [NonAction] +// public async Task AddDeviceWaring(AddDeviceWaringInput input) +// { +// //鍒ゆ柇wcsid鏄惁瀛樺湪 +// var lesDeviceWaring = await _lesDeviceWaringRep.FirstOrDefaultAsync(u => u.WcsId == input.WcsId); +// if (lesDeviceWaring != null) +// { +// await _lesDeviceWaringRep.UpdateAsync(lesDeviceWaring); +// } +// else +// { +// lesDeviceWaring = input.Adapt<LesDeviceWaring>(); +// await _lesDeviceWaringRep.InsertAsync(lesDeviceWaring); +// } +// } - #region 鍏敤鏂规硶 - /// <summary> - /// 鏍规嵁宸烽亾鑾峰彇澶栦晶绗竴鎺� - /// </summary> - /// <param name="Aisle"></param> - /// <returns></returns> - [NonAction] - public int GetOneRowByAisle(int Aisle) - { - if (Aisle >= 7) - { - return 1; - } - return (Aisle - 1) * 4 + 1; - } - /// <summary> - /// 鏍规嵁宸烽亾鑾峰彇鍐呬晶绗簩鎺� - /// </summary> - /// <param name="Aisle"></param> - /// <returns></returns> - [NonAction] - public int GetTwoRowByAisle(int Aisle) - { - if (Aisle >= 7) - { - return 2; - } - return (Aisle - 1) * 4 + 2; - } - /// <summary> - /// 鏍规嵁宸烽亾鑾峰彇澶栦晶绗簩鎺� - /// </summary> - /// <param name="Aisle"></param> - /// <returns></returns> - [NonAction] - public int GetThreeRowByAisle(int Aisle) - { - if (Aisle >= 7) - { - return 3; - } - return (Aisle - 1) * 4 + 3; - } - /// <summary> - /// 鏍规嵁宸烽亾鑾峰彇澶栦晶绗竴鎺� - /// </summary> - /// <param name="Aisle"></param> - /// <returns></returns> - [NonAction] - public int GetFourRowByAisle(int Aisle) - { - if (Aisle >= 7) - { - return 4; - } - return (Aisle - 1) * 4 + 4; - } - #endregion - } -} +// #region 鍏敤鏂规硶 +// /// <summary> +// /// 鏍规嵁宸烽亾鑾峰彇澶栦晶绗竴鎺� +// /// </summary> +// /// <param name="Aisle"></param> +// /// <returns></returns> +// [NonAction] +// public int GetOneRowByAisle(int Aisle) +// { +// if (Aisle >= 7) +// { +// return 1; +// } +// return (Aisle - 1) * 4 + 1; +// } +// /// <summary> +// /// 鏍规嵁宸烽亾鑾峰彇鍐呬晶绗簩鎺� +// /// </summary> +// /// <param name="Aisle"></param> +// /// <returns></returns> +// [NonAction] +// public int GetTwoRowByAisle(int Aisle) +// { +// if (Aisle >= 7) +// { +// return 2; +// } +// return (Aisle - 1) * 4 + 2; +// } +// /// <summary> +// /// 鏍规嵁宸烽亾鑾峰彇澶栦晶绗簩鎺� +// /// </summary> +// /// <param name="Aisle"></param> +// /// <returns></returns> +// [NonAction] +// public int GetThreeRowByAisle(int Aisle) +// { +// if (Aisle >= 7) +// { +// return 3; +// } +// return (Aisle - 1) * 4 + 3; +// } +// /// <summary> +// /// 鏍规嵁宸烽亾鑾峰彇澶栦晶绗竴鎺� +// /// </summary> +// /// <param name="Aisle"></param> +// /// <returns></returns> +// [NonAction] +// public int GetFourRowByAisle(int Aisle) +// { +// if (Aisle >= 7) +// { +// return 4; +// } +// return (Aisle - 1) * 4 + 4; +// } +// #endregion +// } +//} -- Gitblit v1.9.3