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