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/Common/ExWarehouse/ExWarehouseService.cs | 576 ++++++++++++++++++++++++++++---------------------------- 1 files changed, 288 insertions(+), 288 deletions(-) diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/ExWarehouse/ExWarehouseService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/ExWarehouse/ExWarehouseService.cs index 9eddb3e..c932ea0 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/ExWarehouse/ExWarehouseService.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/ExWarehouse/ExWarehouseService.cs @@ -1,323 +1,323 @@ -锘縰sing Furion.DatabaseAccessor; -using Furion.DependencyInjection; -using Furion.DynamicApiController; -using Furion.FriendlyException; -using Mapster; -using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; -using Yitter.IdGenerator; -using Admin.NET.Core; +锘�//using Furion.DatabaseAccessor; +//using Furion.DependencyInjection; +//using Furion.DynamicApiController; +//using Furion.FriendlyException; +//using Mapster; +//using Microsoft.AspNetCore.Mvc; +//using Microsoft.EntityFrameworkCore; +//using Yitter.IdGenerator; +//using Admin.NET.Core; -namespace Admin.NET.Application -{ - /// <summary> - /// 鍑哄簱绠$悊鏈嶅姟 - /// </summary> - [ApiDescriptionSettings("鑷繁鐨勪笟鍔�", Name = "ExWarehouse", Order = 100)] - [Route("api/[Controller]")] - public class ExWarehouseService : IDynamicApiController, ITransient - { - private readonly IRepository<WmsArea, MasterDbContextLocator> _wmsAreaRep; - private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; - private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; - private readonly IRepository<WmsContainer, MasterDbContextLocator> _wmsContainerRep; - private readonly IRepository<WmsContainerPlace, MasterDbContextLocator> _wmsContainerPlaceRep; - private readonly IRepository<WmsMaterial, MasterDbContextLocator> _wmsMaterialRep; - private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; - private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; +//namespace Admin.NET.Application +//{ +// /// <summary> +// /// 鍑哄簱绠$悊鏈嶅姟 +// /// </summary> +// [ApiDescriptionSettings("鑷繁鐨勪笟鍔�", Name = "ExWarehouse", Order = 100)] +// [Route("api/[Controller]")] +// public class ExWarehouseService : IDynamicApiController, ITransient +// { +// private readonly IRepository<WmsArea, MasterDbContextLocator> _wmsAreaRep; +// private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; +// private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; +// private readonly IRepository<WmsContainer, MasterDbContextLocator> _wmsContainerRep; +// private readonly IRepository<WmsContainerPlace, MasterDbContextLocator> _wmsContainerPlaceRep; +// private readonly IRepository<WmsMaterial, MasterDbContextLocator> _wmsMaterialRep; +// private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; +// private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; - /// <summary> - /// 鏋勯�犲嚱鏁� - /// </summary> - public ExWarehouseService( - IRepository<WmsArea, MasterDbContextLocator> wmsAreaRep, - IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep, - IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep, - IRepository<WmsContainer, MasterDbContextLocator> wmsContainerRep, - IRepository<WmsContainerPlace, MasterDbContextLocator> wmsContainerPlaceRep, - IRepository<WmsMaterial, MasterDbContextLocator> wmsMaterialRep, - IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep, - IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep - ) - { - this._wmsAreaRep = wmsAreaRep; - this._wmsPlaceRep = wmsPlaceRep; - this._wmsTaskRep = wmsTaskRep; - this._wmsContainerRep = wmsContainerRep; - this._wmsContainerPlaceRep = wmsContainerPlaceRep; - this._wmsMaterialRep = wmsMaterialRep; - this._wmsMaterialStockRep = wmsMaterialStockRep; - this._wmsMaterialContainerRep = wmsMaterialContainerRep; - } +// /// <summary> +// /// 鏋勯�犲嚱鏁� +// /// </summary> +// public ExWarehouseService( +// IRepository<WmsArea, MasterDbContextLocator> wmsAreaRep, +// IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep, +// IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep, +// IRepository<WmsContainer, MasterDbContextLocator> wmsContainerRep, +// IRepository<WmsContainerPlace, MasterDbContextLocator> wmsContainerPlaceRep, +// IRepository<WmsMaterial, MasterDbContextLocator> wmsMaterialRep, +// IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep, +// IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep +// ) +// { +// this._wmsAreaRep = wmsAreaRep; +// this._wmsPlaceRep = wmsPlaceRep; +// this._wmsTaskRep = wmsTaskRep; +// this._wmsContainerRep = wmsContainerRep; +// this._wmsContainerPlaceRep = wmsContainerPlaceRep; +// this._wmsMaterialRep = wmsMaterialRep; +// this._wmsMaterialStockRep = wmsMaterialStockRep; +// this._wmsMaterialContainerRep = wmsMaterialContainerRep; +// } - /// <summary> - /// 鍒嗛〉鏌ヨ鐗╂枡鍑哄簱绠$悊淇℃伅 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpGet("page")] - public async Task<PageResult<ExWareHouseOutput>> Page([FromQuery] ExWarehouseSearch input) - { - var wmsMaterialStocks = await _wmsMaterialStockRep.DetachedEntities - .Where (!string.IsNullOrEmpty(input.MaterialName), u => EF.Functions.Like(u.MaterialName, $"%{input.MaterialName.Trim()}%")) - .ProjectToType<ExWareHouseOutput>() - .ToListAsync(); - return wmsMaterialStocks.ToADPagedList(input.PageNo, input.PageSize); - } +// /// <summary> +// /// 鍒嗛〉鏌ヨ鐗╂枡鍑哄簱绠$悊淇℃伅 +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpGet("page")] +// public async Task<PageResult<ExWareHouseOutput>> Page([FromQuery] ExWarehouseSearch input) +// { +// var wmsMaterialStocks = await _wmsMaterialStockRep.DetachedEntities +// .Where (!string.IsNullOrEmpty(input.MaterialName), u => EF.Functions.Like(u.MaterialName, $"%{input.MaterialName.Trim()}%")) +// .ProjectToType<ExWareHouseOutput>() +// .ToListAsync(); +// return wmsMaterialStocks.ToADPagedList(input.PageNo, input.PageSize); +// } - /// <summary> - /// 鑷姩鍑哄簱 - /// </summary> - /// <param name="inputs"></param> - /// <returns></returns> - [HttpPost("AutoExWarehouse")] - [UnitOfWork] - public async Task AutoExWarehouse(List<ExWarehouseInput> inputs) - { - // 鏍规嵁鎵樼洏鍙枫�佸簱浣嶇紪鍙峰幓閲� - var containerCodeDistinct = inputs.Select(u => new { u.ContainerCode, u.PlaceCode }).Distinct().ToList(); - if (containerCodeDistinct.Count <= 0) throw Oops.Oh("鏆傛棤搴撳瓨鍑哄簱"); +// /// <summary> +// /// 鑷姩鍑哄簱 +// /// </summary> +// /// <param name="inputs"></param> +// /// <returns></returns> +// [HttpPost("AutoExWarehouse")] +// [UnitOfWork] +// public async Task AutoExWarehouse(List<ExWarehouseInput> inputs) +// { +// // 鏍规嵁鎵樼洏鍙枫�佸簱浣嶇紪鍙峰幓閲� +// var containerCodeDistinct = inputs.Select(u => new { u.ContainerCode, u.PlaceCode }).Distinct().ToList(); +// if (containerCodeDistinct.Count <= 0) 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("搴撳尯涓嶅瓨鍦�"); - foreach (var item in containerCodeDistinct) - { - var wmsMaterialContainerList = new List<WmsMaterialContainer>(); - // 鍒ゆ柇浠诲姟 - var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(p => p.ContainerCode == item.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG); - if (wmsTask != null) throw Oops.Oh("鍛ㄨ浆绠卞彿瀛樺湪鏈畬鎴愮殑浠诲姟!"); +// foreach (var item in containerCodeDistinct) +// { +// var wmsMaterialContainerList = new List<WmsMaterialContainer>(); +// // 鍒ゆ柇浠诲姟 +// var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(p => p.ContainerCode == item.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG); +// if (wmsTask != null) throw Oops.Oh("鍛ㄨ浆绠卞彿瀛樺湪鏈畬鎴愮殑浠诲姟!"); - // 妫�鏌ュ懆杞鍙蜂俊鎭� - var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(n => n.ContainerCode == item.ContainerCode); - if (wmsContainer == null) throw Oops.Oh("搴撳瓨涓病鏈夎锛�" + wmsContainer.ContainerCode + "鎵樼洏!"); +// // 妫�鏌ュ懆杞鍙蜂俊鎭� +// var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(n => n.ContainerCode == item.ContainerCode); +// if (wmsContainer == null) throw Oops.Oh("搴撳瓨涓病鏈夎锛�" + wmsContainer.ContainerCode + "鎵樼洏!"); - // 妫�鏌ュ簱浣嶄俊鎭� - var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(p => p.PlaceCode == item.PlaceCode); - if (wmsPlace == null) throw Oops.Oh("搴撲綅涓嶅瓨鍦�!"); - if (wmsPlace.Islock == YesOrNot.Y) throw Oops.Oh("搴撲綅琚攣瀹�!"); +// // 妫�鏌ュ簱浣嶄俊鎭� +// var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(p => p.PlaceCode == item.PlaceCode); +// if (wmsPlace == null) throw Oops.Oh("搴撲綅涓嶅瓨鍦�!"); +// if (wmsPlace.Islock == YesOrNot.Y) throw Oops.Oh("搴撲綅琚攣瀹�!"); - // 鏇存柊鐘舵�佷负鈥滃緟鍑衡�� - wmsPlace.PlaceStatus = PlaceStatus.DAICHU; - await _wmsPlaceRep.UpdateAsync(wmsPlace); +// // 鏇存柊鐘舵�佷负鈥滃緟鍑衡�� +// wmsPlace.PlaceStatus = PlaceStatus.DAICHU; +// await _wmsPlaceRep.UpdateAsync(wmsPlace); - // 妫�鏌ュ簱瀛� - var wmsMaterialStockList = inputs.Where(u => u.ContainerCode == wmsContainer.ContainerCode && u.PlaceCode == wmsPlace.PlaceCode).ToList(); - if (wmsMaterialStockList.Count <= 0) throw Oops.Oh("搴撳瓨鏁版嵁寮傚父!"); +// // 妫�鏌ュ簱瀛� +// var wmsMaterialStockList = inputs.Where(u => u.ContainerCode == wmsContainer.ContainerCode && u.PlaceCode == wmsPlace.PlaceCode).ToList(); +// if (wmsMaterialStockList.Count <= 0) throw Oops.Oh("搴撳瓨鏁版嵁寮傚父!"); - // 妫�鏌ュ簱浣嶄笌鍛ㄨ浆绠卞彿鍏崇郴 - var wmsContainerPlace = await _wmsContainerPlaceRep.FirstOrDefaultAsync(p => p.ContainerCode == wmsContainer.ContainerCode && p.ContainerId == wmsContainer.Id - && p.PlaceCode == wmsPlace.PlaceCode && p.PlaceId == wmsPlace.Id && p.ContainerPlaceStatus == CommonStatus.ENABLE); - if (wmsContainerPlace == null) throw Oops.Oh("鎵樼洏鍙蜂笌搴撲綅鍏崇郴涓嶅瓨鍦�!"); +// // 妫�鏌ュ簱浣嶄笌鍛ㄨ浆绠卞彿鍏崇郴 +// var wmsContainerPlace = await _wmsContainerPlaceRep.FirstOrDefaultAsync(p => p.ContainerCode == wmsContainer.ContainerCode && p.ContainerId == wmsContainer.Id +// && p.PlaceCode == wmsPlace.PlaceCode && p.PlaceId == wmsPlace.Id && p.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("鍛ㄨ浆绠卞彿涓庣墿鏂欏叧绯讳笉瀛樺湪!"); - } - else - { - // 鏇存柊绌烘枡绠卞簱瀛� - var wmsMaterialStock = await _wmsMaterialStockRep.FirstOrDefaultAsync(u => u.ContainerCode == wmsContainer.ContainerCode); - if (wmsMaterialStock.Source == RuKuSourceEnum.KONGTUO) - { - wmsMaterialStock.PlaceCode = "N/A"; - await _wmsMaterialStockRep.UpdateAsync(wmsMaterialStock); - } - } - if (wmsTask == null) - { - string taskNo = "CHUKU" + DateTime.Today.ToString("yyyyMMdd"); - var wmsTaskModel = await _wmsTaskRep.DetachedEntities.FirstOrDefaultAsync(u => EF.Functions.Like(u.TaskNo, $"%{taskNo}%")); - if (wmsTaskModel == null) - { - taskNo = taskNo + "0001"; - } - else - { - //鑾峰彇娴佹按鍙锋渶澶х殑鏁版嵁 - var maxSerialNumber = await _wmsTaskRep.MaxAsync(t => t.TaskNo); - taskNo = Comm.GenerateNewInvoiceNumber(maxSerialNumber, 1); - } +// // 涓嶆槸绌烘枡绠辨墠浼氭湁缁勭洏鍏崇郴 +// 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) +// { +// wmsMaterialStock.PlaceCode = "N/A"; +// await _wmsMaterialStockRep.UpdateAsync(wmsMaterialStock); +// } +// } +// if (wmsTask == null) +// { +// string taskNo = "CHUKU" + DateTime.Today.ToString("yyyyMMdd"); +// var wmsTaskModel = await _wmsTaskRep.DetachedEntities.FirstOrDefaultAsync(u => EF.Functions.Like(u.TaskNo, $"%{taskNo}%")); +// if (wmsTaskModel == null) +// { +// taskNo = taskNo + "0001"; +// } +// else +// { +// //鑾峰彇娴佹按鍙锋渶澶х殑鏁版嵁 +// var maxSerialNumber = await _wmsTaskRep.MaxAsync(t => t.TaskNo); +// taskNo = Comm.GenerateNewInvoiceNumber(maxSerialNumber, 1); +// } - // 鏂板浠诲姟 - var takmodel = new WmsTask() - { - TaskNo = taskNo,//YitIdHelper.NextId().ToString(), - TaskModel = TaskModel.QUANZIDONG, - TaskType = TaskType.CHUKU, - TaskLevel = 1, - TaskStatus = TaskStatusEnum.WEIZHIXING, - ContainerCode = wmsContainer.ContainerCode, - SourcePlace = wmsPlace.PlaceCode, - Aisle = wmsPlace.Aisle, - ToPlace = "鍑哄簱鍙�", - AreaName = wmsArea.AreaName, - Description = wmsPlace.EmptyContainer == YesOrNot.Y ? "绌烘墭" : "鐗╂枡", - OrderNo = wmsMaterialContainerList.Count <= 0 ? "N/A" : wmsMaterialContainerList.FirstOrDefault().OrderNo, - TaskDodeviceStatus = TaskDodeviceStatusEnum.W, - IsRead = true - }; - await _wmsTaskRep.InsertAsync(takmodel); - } - } - } +// // 鏂板浠诲姟 +// var takmodel = new WmsTask() +// { +// TaskNo = taskNo,//YitIdHelper.NextId().ToString(), +// TaskModel = TaskModel.QUANZIDONG, +// TaskType = TaskType.CHUKU, +// TaskLevel = 1, +// TaskStatus = TaskStatusEnum.WEIZHIXING, +// ContainerCode = wmsContainer.ContainerCode, +// SourcePlace = wmsPlace.PlaceCode, +// Aisle = wmsPlace.Aisle, +// ToPlace = "鍑哄簱鍙�", +// AreaName = wmsArea.AreaName, +// Description = wmsPlace.EmptyContainer == YesOrNot.Y ? "绌烘墭" : "鐗╂枡", +// OrderNo = wmsMaterialContainerList.Count <= 0 ? "N/A" : wmsMaterialContainerList.FirstOrDefault().OrderNo, +// TaskDodeviceStatus = TaskDodeviceStatusEnum.W, +// IsRead = true +// }; +// await _wmsTaskRep.InsertAsync(takmodel); +// } +// } +// } - /// <summary> - /// 浜哄伐鍑哄簱 - /// </summary> - /// <param name="inputs"></param> - /// <returns></returns> - [HttpPost("manualExWarehouse")] - [UnitOfWork] - public async Task ManualExWarehouse(List<ExWarehouseInput> inputs) - { - // 鏍规嵁鎵樼洏鍙枫�佸簱浣嶇紪鍙峰幓閲� - var containerCodeDistinct = inputs.Select(u => new { u.ContainerCode, u.PlaceCode }).Distinct().ToList(); - if (containerCodeDistinct.Count <= 0) throw Oops.Oh("鏆傛棤搴撳瓨鍑哄簱"); +// /// <summary> +// /// 浜哄伐鍑哄簱 +// /// </summary> +// /// <param name="inputs"></param> +// /// <returns></returns> +// [HttpPost("manualExWarehouse")] +// [UnitOfWork] +// public async Task ManualExWarehouse(List<ExWarehouseInput> inputs) +// { +// // 鏍规嵁鎵樼洏鍙枫�佸簱浣嶇紪鍙峰幓閲� +// var containerCodeDistinct = inputs.Select(u => new { u.ContainerCode, u.PlaceCode }).Distinct().ToList(); +// if (containerCodeDistinct.Count <= 0) 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("搴撳尯涓嶅瓨鍦�"); - foreach (var item in containerCodeDistinct) - { - var wmsMaterialContainerList = new List<WmsMaterialContainer>(); - // 鍒ゆ柇浠诲姟 - var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(p => p.ContainerCode == item.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG); - if (wmsTask != null) throw Oops.Oh("鎵樼洏鍙峰瓨鍦ㄦ湭瀹屾垚鐨勪换鍔�!"); +// foreach (var item in containerCodeDistinct) +// { +// var wmsMaterialContainerList = new List<WmsMaterialContainer>(); +// // 鍒ゆ柇浠诲姟 +// var wmsTask = await _wmsTaskRep.FirstOrDefaultAsync(p => p.ContainerCode == item.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG); +// if (wmsTask != null) throw Oops.Oh("鎵樼洏鍙峰瓨鍦ㄦ湭瀹屾垚鐨勪换鍔�!"); - // 妫�鏌ユ墭鐩樺彿淇℃伅 - var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(n => n.ContainerCode == item.ContainerCode); - if (wmsContainer == null) throw Oops.Oh("鍛ㄨ浆绠卞彿涓嶅瓨鍦�!"); +// // 妫�鏌ユ墭鐩樺彿淇℃伅 +// var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(n => n.ContainerCode == item.ContainerCode); +// if (wmsContainer == null) throw Oops.Oh("鍛ㄨ浆绠卞彿涓嶅瓨鍦�!"); - // 妫�鏌ュ簱浣嶄俊鎭� - var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(p => p.PlaceCode == item.PlaceCode); - if (wmsPlace == null) throw Oops.Oh("搴撲綅涓嶅瓨鍦�!"); - if (wmsPlace.Islock == YesOrNot.Y) throw Oops.Oh("搴撲綅琚攣瀹�!"); +// // 妫�鏌ュ簱浣嶄俊鎭� +// var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(p => p.PlaceCode == item.PlaceCode); +// if (wmsPlace == null) throw Oops.Oh("搴撲綅涓嶅瓨鍦�!"); +// if (wmsPlace.Islock == YesOrNot.Y) throw Oops.Oh("搴撲綅琚攣瀹�!"); - // 妫�鏌ュ簱瀛� - var wmsMaterialStockList = inputs.Where(u => u.ContainerCode == wmsContainer.ContainerCode && u.PlaceCode == wmsPlace.PlaceCode).ToList(); - if (wmsMaterialStockList.Count <= 0) throw Oops.Oh("搴撳瓨鏁版嵁寮傚父!"); +// // 妫�鏌ュ簱瀛� +// var wmsMaterialStockList = inputs.Where(u => u.ContainerCode == wmsContainer.ContainerCode && u.PlaceCode == wmsPlace.PlaceCode).ToList(); +// if (wmsMaterialStockList.Count <= 0) throw Oops.Oh("搴撳瓨鏁版嵁寮傚父!"); - // 妫�鏌ュ簱浣嶄笌鎵樼洏鍙峰叧绯� - var wmsContainerPlace = await _wmsContainerPlaceRep.FirstOrDefaultAsync(p => p.ContainerCode == wmsContainer.ContainerCode && p.ContainerId == wmsContainer.Id - && p.PlaceCode == wmsPlace.PlaceCode && p.PlaceId == wmsPlace.Id && p.ContainerPlaceStatus == CommonStatus.ENABLE); - if (wmsContainerPlace == null) throw Oops.Oh("鎵樼洏鍙蜂笌搴撲綅鍏崇郴涓嶅瓨鍦�!"); +// // 妫�鏌ュ簱浣嶄笌鎵樼洏鍙峰叧绯� +// var wmsContainerPlace = await _wmsContainerPlaceRep.FirstOrDefaultAsync(p => p.ContainerCode == wmsContainer.ContainerCode && p.ContainerId == wmsContainer.Id +// && p.PlaceCode == wmsPlace.PlaceCode && p.PlaceId == wmsPlace.Id && p.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("鎵樼洏鍙蜂笌鐗╂枡鍏崇郴涓嶅瓨鍦�!"); - } - else - { - // 鏇存柊绌烘枡绠卞簱瀛� - var wmsMaterialStock = await _wmsMaterialStockRep.FirstOrDefaultAsync(u => u.ContainerCode == wmsContainer.ContainerCode); - if (wmsMaterialStock.Source == RuKuSourceEnum.KONGTUO) - { - await _wmsMaterialStockRep.DeleteAsync(wmsMaterialStock); - } - } +// // 涓嶆槸绌烘墭鎵嶄細鏈夌粍鐩樺叧绯� +// 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); +// } +// } - if (wmsTask == null) - { - //鏋勫缓鍑哄簱鐗╂枡鍜屽懆杞鍙峰叧绯� - var orderNo = "N/A"; - if (wmsMaterialContainerList.Count > 0) orderNo = YitIdHelper.NextId().ToString(); +// if (wmsTask == null) +// { +// //鏋勫缓鍑哄簱鐗╂枡鍜屽懆杞鍙峰叧绯� +// 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); +// } - string taskNo = "CHUKU" + DateTime.Today.ToString("yyyyMMdd"); - var wmsTaskModel = await _wmsTaskRep.DetachedEntities.FirstOrDefaultAsync(u => EF.Functions.Like(u.TaskNo, $"%{taskNo}%")); - if (wmsTaskModel == null) - { - taskNo = taskNo + "0001"; - } - else - { - //鑾峰彇娴佹按鍙锋渶澶х殑鏁版嵁 - var maxSerialNumber = await _wmsTaskRep.MaxAsync(t => t.TaskNo); - taskNo = Comm.GenerateNewInvoiceNumber(maxSerialNumber, 1); - } - // 鏂板浠诲姟 - var addWmsTask = new WmsTask() - { - TaskNo = taskNo,//YitIdHelper.NextId().ToString(), - TaskModel = TaskModel.SHOUDONG, - TaskType = TaskType.CHUKU, - TaskLevel = 1, - TaskStatus = TaskStatusEnum.WANCHENG, - ContainerCode = wmsContainer.ContainerCode, - SourcePlace = wmsPlace.PlaceCode, - Aisle = wmsPlace.Aisle, - ToPlace = "鍑哄簱鍙�", - AreaName = wmsArea.AreaName, - Description = wmsPlace.EmptyContainer == YesOrNot.Y ? "绌烘墭" : "鐗╂枡", - OrderNo = orderNo, - TaskDodeviceStatus=TaskDodeviceStatusEnum.W, - UpdatedTime = DateTime.Now, - }; - await _wmsTaskRep.InsertAsync(addWmsTask); +// string taskNo = "CHUKU" + DateTime.Today.ToString("yyyyMMdd"); +// var wmsTaskModel = await _wmsTaskRep.DetachedEntities.FirstOrDefaultAsync(u => EF.Functions.Like(u.TaskNo, $"%{taskNo}%")); +// if (wmsTaskModel == null) +// { +// taskNo = taskNo + "0001"; +// } +// else +// { +// //鑾峰彇娴佹按鍙锋渶澶х殑鏁版嵁 +// var maxSerialNumber = await _wmsTaskRep.MaxAsync(t => t.TaskNo); +// taskNo = Comm.GenerateNewInvoiceNumber(maxSerialNumber, 1); +// } +// // 鏂板浠诲姟 +// var addWmsTask = new WmsTask() +// { +// TaskNo = taskNo,//YitIdHelper.NextId().ToString(), +// TaskModel = TaskModel.SHOUDONG, +// TaskType = TaskType.CHUKU, +// TaskLevel = 1, +// TaskStatus = TaskStatusEnum.WANCHENG, +// ContainerCode = wmsContainer.ContainerCode, +// SourcePlace = wmsPlace.PlaceCode, +// Aisle = wmsPlace.Aisle, +// ToPlace = "鍑哄簱鍙�", +// AreaName = wmsArea.AreaName, +// Description = wmsPlace.EmptyContainer == YesOrNot.Y ? "绌烘墭" : "鐗╂枡", +// OrderNo = orderNo, +// TaskDodeviceStatus=TaskDodeviceStatusEnum.W, +// UpdatedTime = DateTime.Now, +// }; +// await _wmsTaskRep.InsertAsync(addWmsTask); - // 鏇存柊搴撲綅涓庡懆杞鍙峰叧绯昏〃鐘舵�佷负鈥滃垹闄も�� - wmsContainerPlace.ContainerPlaceStatus = CommonStatus.DELETED; - await _wmsContainerPlaceRep.UpdateAsync(wmsContainerPlace); +// // 鏇存柊搴撲綅涓庡懆杞鍙峰叧绯昏〃鐘舵�佷负鈥滃垹闄も�� +// wmsContainerPlace.ContainerPlaceStatus = CommonStatus.DELETED; +// await _wmsContainerPlaceRep.UpdateAsync(wmsContainerPlace); - // 鏇存柊搴撲綅涓衡�滅┖闂测�� - 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); - // 鏇存柊鍛ㄨ浆绠卞彿鐘舵�佷负鈥滅┖闂测�� - wmsContainer.ContainerStatus = ContainerStatus.KOUXIAN; - await _wmsContainerRep.UpdateAsync(wmsContainer); - } - } - } +// // 鏇存柊鍛ㄨ浆绠卞彿鐘舵�佷负鈥滅┖闂测�� +// wmsContainer.ContainerStatus = ContainerStatus.KOUXIAN; +// await _wmsContainerRep.UpdateAsync(wmsContainer); +// } +// } +// } - /// <summary> - /// 鍛煎彨绌烘墭 - /// </summary> - /// <returns></returns> - [HttpPost("callairflare")] - [UnitOfWork] - public async Task CallAirflare(CallAirflareInput input) - { - //鑾峰彇搴撲綅涓瓨璐ф槸绌烘墭鐨勫簱浣� - var wmsPlace = await _wmsPlaceRep.Where(u => u.PlaceStatus == PlaceStatus.CUNHUO && u.EmptyContainer== YesOrNot.Y).ToListAsync(); - if (wmsPlace.Count > 0) - { +// /// <summary> +// /// 鍛煎彨绌烘墭 +// /// </summary> +// /// <returns></returns> +// [HttpPost("callairflare")] +// [UnitOfWork] +// public async Task CallAirflare(CallAirflareInput input) +// { +// //鑾峰彇搴撲綅涓瓨璐ф槸绌烘墭鐨勫簱浣� +// var wmsPlace = await _wmsPlaceRep.Where(u => u.PlaceStatus == PlaceStatus.CUNHUO && u.EmptyContainer== YesOrNot.Y).ToListAsync(); +// if (wmsPlace.Count > 0) +// { - } - } - } -} \ No newline at end of file +// } +// } +// } +//} \ No newline at end of file -- Gitblit v1.9.3