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/WmsOrder/WmsTakeMaterialOrder/WmsTakeMaterialOrderService.cs | 1168 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 584 insertions(+), 584 deletions(-) diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsOrder/WmsTakeMaterialOrder/WmsTakeMaterialOrderService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsOrder/WmsTakeMaterialOrder/WmsTakeMaterialOrderService.cs index 7eff9fe..5ad1e29 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsOrder/WmsTakeMaterialOrder/WmsTakeMaterialOrderService.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsOrder/WmsTakeMaterialOrder/WmsTakeMaterialOrderService.cs @@ -1,613 +1,613 @@ -锘縰sing Furion.DatabaseAccessor; -using Furion.DatabaseAccessor.Extensions; -using Furion.DependencyInjection; -using Furion.DynamicApiController; -using Furion.FriendlyException; -using Admin.NET.Core; -using Mapster; -using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; -using System.Linq.Dynamic.Core; -using Microsoft.AspNetCore.Http; -using System.Text; -using System.Web; -using SixLabors.ImageSharp; -using OfficeOpenXml.FormulaParsing.Excel.Functions.Information; -using Furion; -using Serilog; -using Furion.RemoteRequest.Extensions; -using HttpMethod = System.Net.Http.HttpMethod; +锘�//using Furion.DatabaseAccessor; +//using Furion.DatabaseAccessor.Extensions; +//using Furion.DependencyInjection; +//using Furion.DynamicApiController; +//using Furion.FriendlyException; +//using Admin.NET.Core; +//using Mapster; +//using Microsoft.AspNetCore.Mvc; +//using Microsoft.EntityFrameworkCore; +//using System.Linq.Dynamic.Core; +//using Microsoft.AspNetCore.Http; +//using System.Text; +//using System.Web; +//using SixLabors.ImageSharp; +//using OfficeOpenXml.FormulaParsing.Excel.Functions.Information; +//using Furion; +//using Serilog; +//using Furion.RemoteRequest.Extensions; +//using HttpMethod = System.Net.Http.HttpMethod; -namespace Admin.NET.Application -{ - /// <summary> - /// 棰嗘枡鍗曟湇鍔� - /// </summary> - [ApiDescriptionSettings("鍗曟嵁绠$悊", Name = "WmsTakeMaterialOrder", Order = 100)] - [Route("api/[Controller]")] - public class WmsTakeMaterialOrderService : IWmsTakeMaterialOrderService, IDynamicApiController, ITransient - { - private readonly IRepository<WmsTakeMaterialOrder,MasterDbContextLocator> _wmsTakeMaterialOrderRep; - private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; - private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; - private readonly ISysExcelTemplateService _sysExcelTemplateService; - private readonly static object _lock = new(); - private readonly IRepository<WmsTakeMaterialOrderDetail, MasterDbContextLocator> _wmsTakeMaterialOrderDetailRep; - private readonly IRepository<WmsOrderType, MasterDbContextLocator> _wmsOrderTypeRep; - private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; - private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; - private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; - private readonly IRepository<WmsSortOrder, MasterDbContextLocator> _wmsSortOrderRep; - private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; +//namespace Admin.NET.Application +//{ +// /// <summary> +// /// 棰嗘枡鍗曟湇鍔� +// /// </summary> +// [ApiDescriptionSettings("鍗曟嵁绠$悊", Name = "WmsTakeMaterialOrder", Order = 100)] +// [Route("api/[Controller]")] +// public class WmsTakeMaterialOrderService : IWmsTakeMaterialOrderService, IDynamicApiController, ITransient +// { +// private readonly IRepository<WmsTakeMaterialOrder,MasterDbContextLocator> _wmsTakeMaterialOrderRep; +// private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; +// private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; +// private readonly ISysExcelTemplateService _sysExcelTemplateService; +// private readonly static object _lock = new(); +// private readonly IRepository<WmsTakeMaterialOrderDetail, MasterDbContextLocator> _wmsTakeMaterialOrderDetailRep; +// private readonly IRepository<WmsOrderType, MasterDbContextLocator> _wmsOrderTypeRep; +// private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; +// private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; +// private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; +// private readonly IRepository<WmsSortOrder, MasterDbContextLocator> _wmsSortOrderRep; +// private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; - public WmsTakeMaterialOrderService( - IRepository<WmsTakeMaterialOrder,MasterDbContextLocator> wmsTakeMaterialOrderRep - ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep - ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep - ,ISysExcelTemplateService sysExcelTemplateService - ,IRepository<WmsTakeMaterialOrderDetail, MasterDbContextLocator> wmsTakeMaterialOrderDetailRep - , IRepository<WmsOrderType, MasterDbContextLocator> wmsOrderTypeRep - , IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep - , IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep - , IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep - , IRepository<WmsSortOrder, MasterDbContextLocator> wmsSortOrderRep - , IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep - ) - { - _wmsTakeMaterialOrderRep = wmsTakeMaterialOrderRep; - _sysDictTypeRep = sysDictTypeRep; - _sysDictDataRep = sysDictDataRep; - _sysExcelTemplateService = sysExcelTemplateService; - _wmsTakeMaterialOrderDetailRep = wmsTakeMaterialOrderDetailRep; - _wmsOrderTypeRep = wmsOrderTypeRep; - _wmsPlaceRep = wmsPlaceRep; - _wmsMaterialStockRep = wmsMaterialStockRep; - _wmsMaterialContainerRep = wmsMaterialContainerRep; - _wmsSortOrderRep = wmsSortOrderRep; - _wmsTaskRep = wmsTaskRep; - } +// public WmsTakeMaterialOrderService( +// IRepository<WmsTakeMaterialOrder,MasterDbContextLocator> wmsTakeMaterialOrderRep +// ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep +// ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep +// ,ISysExcelTemplateService sysExcelTemplateService +// ,IRepository<WmsTakeMaterialOrderDetail, MasterDbContextLocator> wmsTakeMaterialOrderDetailRep +// , IRepository<WmsOrderType, MasterDbContextLocator> wmsOrderTypeRep +// , IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep +// , IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep +// , IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep +// , IRepository<WmsSortOrder, MasterDbContextLocator> wmsSortOrderRep +// , IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep +// ) +// { +// _wmsTakeMaterialOrderRep = wmsTakeMaterialOrderRep; +// _sysDictTypeRep = sysDictTypeRep; +// _sysDictDataRep = sysDictDataRep; +// _sysExcelTemplateService = sysExcelTemplateService; +// _wmsTakeMaterialOrderDetailRep = wmsTakeMaterialOrderDetailRep; +// _wmsOrderTypeRep = wmsOrderTypeRep; +// _wmsPlaceRep = wmsPlaceRep; +// _wmsMaterialStockRep = wmsMaterialStockRep; +// _wmsMaterialContainerRep = wmsMaterialContainerRep; +// _wmsSortOrderRep = wmsSortOrderRep; +// _wmsTaskRep = wmsTaskRep; +// } - /// <summary> - /// 鍒嗛〉鏌ヨ棰嗘枡鍗� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpGet("page")] - public async Task<PageResult<WmsTakeMaterialOrderOutput>> Page([FromQuery] WmsTakeMaterialOrderSearch input) - { - var wmsTakeMaterialOrders = await _wmsTakeMaterialOrderRep.DetachedEntities - .Where(!string.IsNullOrEmpty(input.MoveType), u => EF.Functions.Like(u.MoveType, $"%{input.MoveType.Trim()}%")) - .Where(!string.IsNullOrEmpty(input.NO), u => EF.Functions.Like(u.NO, $"%{input.NO.Trim()}%")) - .Where(!string.IsNullOrEmpty(input.WBSElementcode), u => EF.Functions.Like(u.WBSElementcode, $"%{input.WBSElementcode.Trim()}%")) - .Where(!string.IsNullOrEmpty(input.BenefitingDepartcode), u => EF.Functions.Like(u.BenefitingDepartcode, $"%{input.BenefitingDepartcode.Trim()}%")) - .Where(!string.IsNullOrEmpty(input.CostCenterID), u => EF.Functions.Like(u.CostCenterID, $"%{input.CostCenterID.Trim()}%")) - .Where(!string.IsNullOrEmpty(input.FI_Client_Analysis_H), u => EF.Functions.Like(u.FI_Client_Analysis_H, $"%{input.FI_Client_Analysis_H.Trim()}%")) - .Where(input.IsInnerCompany != null, u => u.IsInnerCompany == input.IsInnerCompany) - .Where(!string.IsNullOrEmpty(input.PickerID), u => EF.Functions.Like(u.PickerID, $"%{input.PickerID.Trim()}%")) - .Where(!string.IsNullOrEmpty(input.WarehouseCentername), u => EF.Functions.Like(u.WarehouseCentername, $"%{input.WarehouseCentername.Trim()}%")) - .Where(!string.IsNullOrEmpty(input.Companyname), u => EF.Functions.Like(u.Companyname, $"%{input.Companyname.Trim()}%")) - .Where(input.OrderStatus != null, u => u.OrderStatus == input.OrderStatus) - .OrderBy(PageInputOrder.OrderBuilder<WmsTakeMaterialOrderSearch>(input)) - .ProjectToType<WmsTakeMaterialOrderOutput>() - .ToADPagedListAsync(input.PageNo, input.PageSize); - return wmsTakeMaterialOrders; - } +// /// <summary> +// /// 鍒嗛〉鏌ヨ棰嗘枡鍗� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpGet("page")] +// public async Task<PageResult<WmsTakeMaterialOrderOutput>> Page([FromQuery] WmsTakeMaterialOrderSearch input) +// { +// var wmsTakeMaterialOrders = await _wmsTakeMaterialOrderRep.DetachedEntities +// .Where(!string.IsNullOrEmpty(input.MoveType), u => EF.Functions.Like(u.MoveType, $"%{input.MoveType.Trim()}%")) +// .Where(!string.IsNullOrEmpty(input.NO), u => EF.Functions.Like(u.NO, $"%{input.NO.Trim()}%")) +// .Where(!string.IsNullOrEmpty(input.WBSElementcode), u => EF.Functions.Like(u.WBSElementcode, $"%{input.WBSElementcode.Trim()}%")) +// .Where(!string.IsNullOrEmpty(input.BenefitingDepartcode), u => EF.Functions.Like(u.BenefitingDepartcode, $"%{input.BenefitingDepartcode.Trim()}%")) +// .Where(!string.IsNullOrEmpty(input.CostCenterID), u => EF.Functions.Like(u.CostCenterID, $"%{input.CostCenterID.Trim()}%")) +// .Where(!string.IsNullOrEmpty(input.FI_Client_Analysis_H), u => EF.Functions.Like(u.FI_Client_Analysis_H, $"%{input.FI_Client_Analysis_H.Trim()}%")) +// .Where(input.IsInnerCompany != null, u => u.IsInnerCompany == input.IsInnerCompany) +// .Where(!string.IsNullOrEmpty(input.PickerID), u => EF.Functions.Like(u.PickerID, $"%{input.PickerID.Trim()}%")) +// .Where(!string.IsNullOrEmpty(input.WarehouseCentername), u => EF.Functions.Like(u.WarehouseCentername, $"%{input.WarehouseCentername.Trim()}%")) +// .Where(!string.IsNullOrEmpty(input.Companyname), u => EF.Functions.Like(u.Companyname, $"%{input.Companyname.Trim()}%")) +// .Where(input.OrderStatus != null, u => u.OrderStatus == input.OrderStatus) +// .OrderBy(PageInputOrder.OrderBuilder<WmsTakeMaterialOrderSearch>(input)) +// .ProjectToType<WmsTakeMaterialOrderOutput>() +// .ToADPagedListAsync(input.PageNo, input.PageSize); +// return wmsTakeMaterialOrders; +// } - /// <summary> - /// 涓嶅垎椤垫煡璇㈤鏂欏崟鍒楄〃 - /// </summary> - /// <param name="input">棰嗘枡鍗曟煡璇㈠弬鏁�</param> - /// <returns>(棰嗘枡鍗�)瀹炰緥鍒楄〃</returns> - [HttpGet("listNonPage")] - public async Task<List<WmsTakeMaterialOrderOutput>> ListNonPageAsync([FromQuery] WmsTakeMaterialOrderSearchNonPage input) - { - var pMoveType = input.MoveType?.Trim() ?? ""; - var pNO = input.NO?.Trim() ?? ""; - var pWBSElementcode = input.WBSElementcode?.Trim() ?? ""; - var pBenefitingDepartcode = input.BenefitingDepartcode?.Trim() ?? ""; - var pCostCenterID = input.CostCenterID?.Trim() ?? ""; - var pFI_Client_Analysis_H = input.FI_Client_Analysis_H?.Trim() ?? ""; - var pIsInnerCompany = input.IsInnerCompany; - var pPickerID = input.PickerID?.Trim() ?? ""; - var pWarehouseCentername = input.WarehouseCentername?.Trim() ?? ""; - var pCompanyname = input.Companyname?.Trim() ?? ""; - var pOrderStatus = input.OrderStatus; - var wmsTakeMaterialOrders = await _wmsTakeMaterialOrderRep.DetachedEntities - .Where(!string.IsNullOrEmpty(pMoveType), u => EF.Functions.Like(u.MoveType, $"%{pMoveType}%")) - .Where(!string.IsNullOrEmpty(pNO), u => EF.Functions.Like(u.NO, $"%{pNO}%")) - .Where(!string.IsNullOrEmpty(pWBSElementcode), u => EF.Functions.Like(u.WBSElementcode, $"%{pWBSElementcode}%")) - .Where(!string.IsNullOrEmpty(pBenefitingDepartcode), u => EF.Functions.Like(u.BenefitingDepartcode, $"%{pBenefitingDepartcode}%")) - .Where(!string.IsNullOrEmpty(pCostCenterID), u => EF.Functions.Like(u.CostCenterID, $"%{pCostCenterID}%")) - .Where(!string.IsNullOrEmpty(pFI_Client_Analysis_H), u => EF.Functions.Like(u.FI_Client_Analysis_H, $"%{pFI_Client_Analysis_H}%")) - .Where(pIsInnerCompany != null, u => u.IsInnerCompany == pIsInnerCompany) - .Where(!string.IsNullOrEmpty(pPickerID), u => EF.Functions.Like(u.PickerID, $"%{pPickerID}%")) - .Where(!string.IsNullOrEmpty(pWarehouseCentername), u => EF.Functions.Like(u.WarehouseCentername, $"%{pWarehouseCentername}%")) - .Where(!string.IsNullOrEmpty(pCompanyname), u => EF.Functions.Like(u.Companyname, $"%{pCompanyname}%")) - .Where(pOrderStatus != null, u => u.OrderStatus == pOrderStatus) - .OrderBy(PageInputOrder.OrderNonPageBuilder(input)) - .ProjectToType<WmsTakeMaterialOrderOutput>() - .ToListAsync(); - return wmsTakeMaterialOrders; - } +// /// <summary> +// /// 涓嶅垎椤垫煡璇㈤鏂欏崟鍒楄〃 +// /// </summary> +// /// <param name="input">棰嗘枡鍗曟煡璇㈠弬鏁�</param> +// /// <returns>(棰嗘枡鍗�)瀹炰緥鍒楄〃</returns> +// [HttpGet("listNonPage")] +// public async Task<List<WmsTakeMaterialOrderOutput>> ListNonPageAsync([FromQuery] WmsTakeMaterialOrderSearchNonPage input) +// { +// var pMoveType = input.MoveType?.Trim() ?? ""; +// var pNO = input.NO?.Trim() ?? ""; +// var pWBSElementcode = input.WBSElementcode?.Trim() ?? ""; +// var pBenefitingDepartcode = input.BenefitingDepartcode?.Trim() ?? ""; +// var pCostCenterID = input.CostCenterID?.Trim() ?? ""; +// var pFI_Client_Analysis_H = input.FI_Client_Analysis_H?.Trim() ?? ""; +// var pIsInnerCompany = input.IsInnerCompany; +// var pPickerID = input.PickerID?.Trim() ?? ""; +// var pWarehouseCentername = input.WarehouseCentername?.Trim() ?? ""; +// var pCompanyname = input.Companyname?.Trim() ?? ""; +// var pOrderStatus = input.OrderStatus; +// var wmsTakeMaterialOrders = await _wmsTakeMaterialOrderRep.DetachedEntities +// .Where(!string.IsNullOrEmpty(pMoveType), u => EF.Functions.Like(u.MoveType, $"%{pMoveType}%")) +// .Where(!string.IsNullOrEmpty(pNO), u => EF.Functions.Like(u.NO, $"%{pNO}%")) +// .Where(!string.IsNullOrEmpty(pWBSElementcode), u => EF.Functions.Like(u.WBSElementcode, $"%{pWBSElementcode}%")) +// .Where(!string.IsNullOrEmpty(pBenefitingDepartcode), u => EF.Functions.Like(u.BenefitingDepartcode, $"%{pBenefitingDepartcode}%")) +// .Where(!string.IsNullOrEmpty(pCostCenterID), u => EF.Functions.Like(u.CostCenterID, $"%{pCostCenterID}%")) +// .Where(!string.IsNullOrEmpty(pFI_Client_Analysis_H), u => EF.Functions.Like(u.FI_Client_Analysis_H, $"%{pFI_Client_Analysis_H}%")) +// .Where(pIsInnerCompany != null, u => u.IsInnerCompany == pIsInnerCompany) +// .Where(!string.IsNullOrEmpty(pPickerID), u => EF.Functions.Like(u.PickerID, $"%{pPickerID}%")) +// .Where(!string.IsNullOrEmpty(pWarehouseCentername), u => EF.Functions.Like(u.WarehouseCentername, $"%{pWarehouseCentername}%")) +// .Where(!string.IsNullOrEmpty(pCompanyname), u => EF.Functions.Like(u.Companyname, $"%{pCompanyname}%")) +// .Where(pOrderStatus != null, u => u.OrderStatus == pOrderStatus) +// .OrderBy(PageInputOrder.OrderNonPageBuilder(input)) +// .ProjectToType<WmsTakeMaterialOrderOutput>() +// .ToListAsync(); +// return wmsTakeMaterialOrders; +// } - /// <summary> - /// 鑾峰彇鍗曟嵁鏄庣粏 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpGet("PageDetail")] - public async Task<PageResult<WmsTakeMaterialOrderDetailOutput>> PageDetail([FromQuery] TakePageDetailInput input) - { - var wmsOrders = await _wmsTakeMaterialOrderDetailRep.DetachedEntities - .Where(input.Id != null, u => u.OrderId == input.Id) - .ProjectToType<WmsTakeMaterialOrderDetailOutput>() - .ToADPagedListAsync(input.PageNo, input.PageSize); - return wmsOrders; - } +// /// <summary> +// /// 鑾峰彇鍗曟嵁鏄庣粏 +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpGet("PageDetail")] +// public async Task<PageResult<WmsTakeMaterialOrderDetailOutput>> PageDetail([FromQuery] TakePageDetailInput input) +// { +// var wmsOrders = await _wmsTakeMaterialOrderDetailRep.DetachedEntities +// .Where(input.Id != null, u => u.OrderId == input.Id) +// .ProjectToType<WmsTakeMaterialOrderDetailOutput>() +// .ToADPagedListAsync(input.PageNo, input.PageSize); +// return wmsOrders; +// } - /// <summary> - /// 鍒嗛〉鏌ヨ鐗╂枡搴撳瓨 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpGet("stockPage")] - public async Task<PageResult<TakeMaterialStockOutput>> StockPage([FromQuery] TakeMaterialStockSearch input) - { - //浠庢湭鎵ц鍜屾墽琛屼腑鐨勪换鍔′腑鑾峰彇搴撲綅杩涜绛涢��(鏈啓) +// /// <summary> +// /// 鍒嗛〉鏌ヨ鐗╂枡搴撳瓨 +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpGet("stockPage")] +// public async Task<PageResult<TakeMaterialStockOutput>> StockPage([FromQuery] TakeMaterialStockSearch input) +// { +// //浠庢湭鎵ц鍜屾墽琛屼腑鐨勪换鍔′腑鑾峰彇搴撲綅杩涜绛涢��(鏈啓) - //鏌ヨ鎵�鏈夎閿佸畾搴撲綅鍜屽緟鍑虹殑搴撳瓨 - var lockPlace = await _wmsPlaceRep.DetachedEntities.Where(x => x.Islock == YesOrNot.Y || x.PlaceStatus == PlaceStatus.DAICHU).Select(x => x.PlaceCode).ToListAsync(); +// //鏌ヨ鎵�鏈夎閿佸畾搴撲綅鍜屽緟鍑虹殑搴撳瓨 +// var lockPlace = await _wmsPlaceRep.DetachedEntities.Where(x => x.Islock == YesOrNot.Y || x.PlaceStatus == PlaceStatus.DAICHU).Select(x => x.PlaceCode).ToListAsync(); - var wmsMaterialStocks = await _wmsMaterialStockRep.DetachedEntities - .Where(u => u.StockNumber != 0) - .Where(!string.IsNullOrEmpty(input.MaterialNo), u => EF.Functions.Like(u.MaterialNo, $"%{input.MaterialNo.Trim()}%")) - .Where(!string.IsNullOrEmpty(input.MaterialName), u => EF.Functions.Like(u.MaterialName, $"%{input.MaterialName.Trim()}%")) - .Where(!string.IsNullOrEmpty(input.ProjectCode), u => EF.Functions.Like(u.ProjectCode, $"%{input.ProjectCode.Trim()}%")) - .Where(!string.IsNullOrEmpty(input.ContractCode), u => EF.Functions.Like(u.ContractCode, $"%{input.ContractCode.Trim()}%")) - .Where(!string.IsNullOrEmpty(input.TACode), u => EF.Functions.Like(u.TACode, $"%{input.TACode.Trim()}%")) - .Where(input.SearchBeginTime != null && input.SearchEndTime != null, u => u.CreatedTime >= DateTime.Parse(input.SearchBeginTime.Trim()) && - u.CreatedTime <= DateTime.Parse(input.SearchEndTime.Trim())) - .Where(u => u.AreaId == 472817877401669) - .Where(u => !lockPlace.Contains(u.PlaceCode)) - .ProjectToType<TakeMaterialStockOutput>() - .ToADPagedListAsync(input.PageNo, input.PageSize); - return wmsMaterialStocks; - } +// var wmsMaterialStocks = await _wmsMaterialStockRep.DetachedEntities +// .Where(u => u.StockNumber != 0) +// .Where(!string.IsNullOrEmpty(input.MaterialNo), u => EF.Functions.Like(u.MaterialNo, $"%{input.MaterialNo.Trim()}%")) +// .Where(!string.IsNullOrEmpty(input.MaterialName), u => EF.Functions.Like(u.MaterialName, $"%{input.MaterialName.Trim()}%")) +// .Where(!string.IsNullOrEmpty(input.ProjectCode), u => EF.Functions.Like(u.ProjectCode, $"%{input.ProjectCode.Trim()}%")) +// .Where(!string.IsNullOrEmpty(input.ContractCode), u => EF.Functions.Like(u.ContractCode, $"%{input.ContractCode.Trim()}%")) +// .Where(!string.IsNullOrEmpty(input.TACode), u => EF.Functions.Like(u.TACode, $"%{input.TACode.Trim()}%")) +// .Where(input.SearchBeginTime != null && input.SearchEndTime != null, u => u.CreatedTime >= DateTime.Parse(input.SearchBeginTime.Trim()) && +// u.CreatedTime <= DateTime.Parse(input.SearchEndTime.Trim())) +// .Where(u => u.AreaId == 472817877401669) +// .Where(u => !lockPlace.Contains(u.PlaceCode)) +// .ProjectToType<TakeMaterialStockOutput>() +// .ToADPagedListAsync(input.PageNo, input.PageSize); +// return wmsMaterialStocks; +// } - /// <summary> - /// 鐗╂枡缂栫爜涓嬫媺妗� - /// </summary> - /// <returns></returns> - [HttpGet("GetMaterialNoList")] - public async Task<List<MaterialNoListOutput>> GetMaterialNoList() - { - // 鏌ヨ搴撲綅琛ㄧ姸鎬佷负瀛樿揣鐨勫簱浣嶄綔涓烘煡璇㈠簱瀛樼殑鏉′欢 鍥哄畾搴撳尯 - List<string> wmsPlaceCodes = await _wmsPlaceRep.Where(u => u.PlaceStatus == PlaceStatus.CUNHUO && u.AreaId == 472817877401669) - .Select(t => t.PlaceCode).ToListAsync(); - //浠庢湭鎵ц鍜屾墽琛屼腑鐨勪换鍔′腑鑾峰彇搴撲綅杩涜绛涢��(鏈啓) - //鏌ヨ鎵�鏈夎閿佸畾搴撲綅鍜屽緟鍑虹殑搴撳瓨 - var lockPlace = await _wmsPlaceRep.DetachedEntities.Where(x => x.Islock == YesOrNot.Y || x.PlaceStatus == PlaceStatus.DAICHU).Select(x => x.PlaceCode).ToListAsync(); - //鏌ヨ搴撳瓨 - var wmsMaterialStocks = await _wmsMaterialStockRep.DetachedEntities - .ToListAsync(); - //鏈墽琛屾垨鎵ц涓殑鏄庣粏鎵樼洏鐩稿叧搴撳瓨涓嶇户缁樉绀� - wmsMaterialStocks = wmsMaterialStocks - .Where(u => !lockPlace.Contains(u.PlaceCode)) - .GroupBy(x => x.MaterialNo).Select(x => x.First()).ToList(); - List<MaterialNoListOutput> MaterialNoListOutputLists = new List<MaterialNoListOutput>(); - foreach (var item in wmsMaterialStocks) - { - MaterialNoListOutput MaterialNoListOutput = new MaterialNoListOutput(); - MaterialNoListOutput.Code = item.MaterialNo; - MaterialNoListOutput.MaterialNo = item.MaterialNo; - MaterialNoListOutputLists.Add(MaterialNoListOutput); - } - return MaterialNoListOutputLists; - } +// /// <summary> +// /// 鐗╂枡缂栫爜涓嬫媺妗� +// /// </summary> +// /// <returns></returns> +// [HttpGet("GetMaterialNoList")] +// public async Task<List<MaterialNoListOutput>> GetMaterialNoList() +// { +// // 鏌ヨ搴撲綅琛ㄧ姸鎬佷负瀛樿揣鐨勫簱浣嶄綔涓烘煡璇㈠簱瀛樼殑鏉′欢 鍥哄畾搴撳尯 +// List<string> wmsPlaceCodes = await _wmsPlaceRep.Where(u => u.PlaceStatus == PlaceStatus.CUNHUO && u.AreaId == 472817877401669) +// .Select(t => t.PlaceCode).ToListAsync(); +// //浠庢湭鎵ц鍜屾墽琛屼腑鐨勪换鍔′腑鑾峰彇搴撲綅杩涜绛涢��(鏈啓) +// //鏌ヨ鎵�鏈夎閿佸畾搴撲綅鍜屽緟鍑虹殑搴撳瓨 +// var lockPlace = await _wmsPlaceRep.DetachedEntities.Where(x => x.Islock == YesOrNot.Y || x.PlaceStatus == PlaceStatus.DAICHU).Select(x => x.PlaceCode).ToListAsync(); +// //鏌ヨ搴撳瓨 +// var wmsMaterialStocks = await _wmsMaterialStockRep.DetachedEntities +// .ToListAsync(); +// //鏈墽琛屾垨鎵ц涓殑鏄庣粏鎵樼洏鐩稿叧搴撳瓨涓嶇户缁樉绀� +// wmsMaterialStocks = wmsMaterialStocks +// .Where(u => !lockPlace.Contains(u.PlaceCode)) +// .GroupBy(x => x.MaterialNo).Select(x => x.First()).ToList(); +// List<MaterialNoListOutput> MaterialNoListOutputLists = new List<MaterialNoListOutput>(); +// foreach (var item in wmsMaterialStocks) +// { +// MaterialNoListOutput MaterialNoListOutput = new MaterialNoListOutput(); +// MaterialNoListOutput.Code = item.MaterialNo; +// MaterialNoListOutput.MaterialNo = item.MaterialNo; +// MaterialNoListOutputLists.Add(MaterialNoListOutput); +// } +// return MaterialNoListOutputLists; +// } - /// <summary> - /// 椤圭洰缂栫爜涓嬫媺妗� - /// </summary> - /// <returns></returns> - [HttpGet("GetProjectCodeList")] - public async Task<List<ProjectCodeListOutput>> GetProjectCodeList() - { - // 鏌ヨ搴撲綅琛ㄧ姸鎬佷负瀛樿揣鐨勫簱浣嶄綔涓烘煡璇㈠簱瀛樼殑鏉′欢 鍥哄畾搴撳尯 - List<string> wmsPlaceCodes = await _wmsPlaceRep.Where(u => u.PlaceStatus == PlaceStatus.CUNHUO && u.AreaId == 472817877401669) - .Select(t => t.PlaceCode).ToListAsync(); - //浠庢湭鎵ц鍜屾墽琛屼腑鐨勪换鍔′腑鑾峰彇搴撲綅杩涜绛涢��(鏈啓) - //鏌ヨ鎵�鏈夎閿佸畾搴撲綅鍜屽緟鍑虹殑搴撳瓨 - var lockPlace = await _wmsPlaceRep.DetachedEntities.Where(x => x.Islock == YesOrNot.Y || x.PlaceStatus == PlaceStatus.DAICHU).Select(x => x.PlaceCode).ToListAsync(); - //鏌ヨ搴撳瓨 - var wmsMaterialStocks = await _wmsMaterialStockRep.DetachedEntities - .ToListAsync(); - //鏈墽琛屾垨鎵ц涓殑鏄庣粏鎵樼洏鐩稿叧搴撳瓨涓嶇户缁樉绀� - wmsMaterialStocks = wmsMaterialStocks - .Where(u => !lockPlace.Contains(u.PlaceCode)) - .GroupBy(x => x.ProjectCode).Select(x => x.First()).ToList(); - List<ProjectCodeListOutput> ProjectCodeListOutputLists = new List<ProjectCodeListOutput>(); - foreach (var item in wmsMaterialStocks) - { - ProjectCodeListOutput ProjectCodeListOutput = new ProjectCodeListOutput(); - ProjectCodeListOutput.Code = item.ProjectCode; - ProjectCodeListOutput.ProjectCode = item.ProjectCode; - ProjectCodeListOutputLists.Add(ProjectCodeListOutput); - } - return ProjectCodeListOutputLists; - } +// /// <summary> +// /// 椤圭洰缂栫爜涓嬫媺妗� +// /// </summary> +// /// <returns></returns> +// [HttpGet("GetProjectCodeList")] +// public async Task<List<ProjectCodeListOutput>> GetProjectCodeList() +// { +// // 鏌ヨ搴撲綅琛ㄧ姸鎬佷负瀛樿揣鐨勫簱浣嶄綔涓烘煡璇㈠簱瀛樼殑鏉′欢 鍥哄畾搴撳尯 +// List<string> wmsPlaceCodes = await _wmsPlaceRep.Where(u => u.PlaceStatus == PlaceStatus.CUNHUO && u.AreaId == 472817877401669) +// .Select(t => t.PlaceCode).ToListAsync(); +// //浠庢湭鎵ц鍜屾墽琛屼腑鐨勪换鍔′腑鑾峰彇搴撲綅杩涜绛涢��(鏈啓) +// //鏌ヨ鎵�鏈夎閿佸畾搴撲綅鍜屽緟鍑虹殑搴撳瓨 +// var lockPlace = await _wmsPlaceRep.DetachedEntities.Where(x => x.Islock == YesOrNot.Y || x.PlaceStatus == PlaceStatus.DAICHU).Select(x => x.PlaceCode).ToListAsync(); +// //鏌ヨ搴撳瓨 +// var wmsMaterialStocks = await _wmsMaterialStockRep.DetachedEntities +// .ToListAsync(); +// //鏈墽琛屾垨鎵ц涓殑鏄庣粏鎵樼洏鐩稿叧搴撳瓨涓嶇户缁樉绀� +// wmsMaterialStocks = wmsMaterialStocks +// .Where(u => !lockPlace.Contains(u.PlaceCode)) +// .GroupBy(x => x.ProjectCode).Select(x => x.First()).ToList(); +// List<ProjectCodeListOutput> ProjectCodeListOutputLists = new List<ProjectCodeListOutput>(); +// foreach (var item in wmsMaterialStocks) +// { +// ProjectCodeListOutput ProjectCodeListOutput = new ProjectCodeListOutput(); +// ProjectCodeListOutput.Code = item.ProjectCode; +// ProjectCodeListOutput.ProjectCode = item.ProjectCode; +// ProjectCodeListOutputLists.Add(ProjectCodeListOutput); +// } +// return ProjectCodeListOutputLists; +// } - /// <summary> - /// 澧炲姞棰嗘枡鍗� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("add")] - public async Task Add(AddWmsTakeMaterialOrderInput input) - { - // 鏌ヨ鍗曟嵁灏忕被鏄�滅敓浜у叆搴撯�濈殑Id - var wmsOrderType = await _wmsOrderTypeRep.FirstOrDefaultAsync(z => z.Name.Contains("棰嗘枡鍑哄簱")); - var wmsTakeMaterialOrder = input.Adapt<WmsTakeMaterialOrder>(); - wmsTakeMaterialOrder.SOID = 66666; - wmsTakeMaterialOrder.OrderLargeCategory = wmsOrderType != null ? wmsOrderType.Pid : 0; - wmsTakeMaterialOrder.OrderSubclass = wmsOrderType != null ? wmsOrderType.Id : 0; - wmsTakeMaterialOrder.OrderStatus = OrderStatusEnum.WEIXIAFA; - await _wmsTakeMaterialOrderRep.InsertAsync(wmsTakeMaterialOrder); - } +// /// <summary> +// /// 澧炲姞棰嗘枡鍗� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("add")] +// public async Task Add(AddWmsTakeMaterialOrderInput input) +// { +// // 鏌ヨ鍗曟嵁灏忕被鏄�滅敓浜у叆搴撯�濈殑Id +// var wmsOrderType = await _wmsOrderTypeRep.FirstOrDefaultAsync(z => z.Name.Contains("棰嗘枡鍑哄簱")); +// var wmsTakeMaterialOrder = input.Adapt<WmsTakeMaterialOrder>(); +// wmsTakeMaterialOrder.SOID = 66666; +// wmsTakeMaterialOrder.OrderLargeCategory = wmsOrderType != null ? wmsOrderType.Pid : 0; +// wmsTakeMaterialOrder.OrderSubclass = wmsOrderType != null ? wmsOrderType.Id : 0; +// wmsTakeMaterialOrder.OrderStatus = OrderStatusEnum.WEIXIAFA; +// await _wmsTakeMaterialOrderRep.InsertAsync(wmsTakeMaterialOrder); +// } - /// <summary> - /// 澧炲姞棰嗘枡鍗�(yigo绯荤粺鑾峰彇) - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("TakeOrderAdd")] - [UnitOfWork] - public async Task TakeOrderAdd() - { - //鑾峰彇棰嗘枡鐢宠鍗� - string url = App.Configuration["YiGoWebApi:QueryOutBoundNotice"]; - var Billdate_S = DateTime.Now.AddDays(-15).ToString("yyyy-MM-dd"); - var Billdate_E = DateTime.Now.AddDays(15).ToString("yyyy-MM-dd"); - //鍐欐棩蹇楁枃浠� - //Log.Error($"[TransferContainerCode][ContainerCode:{input.ContainerCode}][url:{url}]"); - var response = await url.SetHttpMethod(System.Net.Http.HttpMethod.Post) - .SetBody(new Dictionary<string, object> { - { "Billdate_S", Billdate_S }, - { "Billdate_E", Billdate_E}, - }, "application/json").PostAsStringAsync(); - var Data = response.FromJson<WmsTakeMaterialOrderOutputByYiGO>(); - var wmsOrderType = await _wmsOrderTypeRep.FirstOrDefaultAsync(z => z.Name.Contains("棰嗘枡鍑哄簱")); - foreach (var item in Data.Data) - { - item.Id = Yitter.IdGenerator.YitIdHelper.NextId(); - var wmsTakeMaterialOrder = item.Adapt<WmsTakeMaterialOrder>(); - var isExcit = await _wmsTakeMaterialOrderRep.AnyAsync(x => x.NO == item.NO); - if (!isExcit) - { - wmsTakeMaterialOrder.OrderLargeCategory = wmsOrderType != null ? wmsOrderType.Pid : 0; - wmsTakeMaterialOrder.OrderSubclass = wmsOrderType != null ? wmsOrderType.Id : 0; - await _wmsTakeMaterialOrderRep.InsertNowAsync(wmsTakeMaterialOrder); - foreach (var item1 in item.Dtls) - { - var wmsTakeMaterialDeatail = item1.Adapt<WmsTakeMaterialOrderDetail>(); - wmsTakeMaterialDeatail.OrderId = item.Id; - await _wmsTakeMaterialOrderDetailRep.InsertNowAsync(wmsTakeMaterialDeatail); - } - } - } - } - /// <summary> - /// 棰嗘枡涓嬫灦鎺ュ彛(yigo绯荤粺) - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("ReturnTakeOrder")] - [UnifyResult(typeof(object))] - [UnitOfWork] - public async Task<object> ReturnTakeOrder([FromBody] ReturnTakeOrderInput input) - { - try - { - //鍒涘缓鎸囧畾鍚嶇О鐨勮鍗曟搷浣� - string url = App.Configuration["YiGoWebApi:CreateTX211"]; - //鑾峰彇涓诲崟鎹� - var wmsTakeMaterialOrderModal = await _wmsTakeMaterialOrderRep.FirstOrDefaultAsync(x => x.Id == input.Id); - if (wmsTakeMaterialOrderModal == null) throw Oops.Oh("鍗曟嵁淇℃伅涓嶅瓨鍦�!"); - // 鍐欐棩蹇楁枃浠� - Log.Error($"[棰嗘枡涓嬫灦][鍗曟嵁鍙�:{wmsTakeMaterialOrderModal.NO}][url:{url}]"); +// /// <summary> +// /// 澧炲姞棰嗘枡鍗�(yigo绯荤粺鑾峰彇) +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("TakeOrderAdd")] +// [UnitOfWork] +// public async Task TakeOrderAdd() +// { +// //鑾峰彇棰嗘枡鐢宠鍗� +// string url = App.Configuration["YiGoWebApi:QueryOutBoundNotice"]; +// var Billdate_S = DateTime.Now.AddDays(-15).ToString("yyyy-MM-dd"); +// var Billdate_E = DateTime.Now.AddDays(15).ToString("yyyy-MM-dd"); +// //鍐欐棩蹇楁枃浠� +// //Log.Error($"[TransferContainerCode][ContainerCode:{input.ContainerCode}][url:{url}]"); +// var response = await url.SetHttpMethod(System.Net.Http.HttpMethod.Post) +// .SetBody(new Dictionary<string, object> { +// { "Billdate_S", Billdate_S }, +// { "Billdate_E", Billdate_E}, +// }, "application/json").PostAsStringAsync(); +// var Data = response.FromJson<WmsTakeMaterialOrderOutputByYiGO>(); +// var wmsOrderType = await _wmsOrderTypeRep.FirstOrDefaultAsync(z => z.Name.Contains("棰嗘枡鍑哄簱")); +// foreach (var item in Data.Data) +// { +// item.Id = Yitter.IdGenerator.YitIdHelper.NextId(); +// var wmsTakeMaterialOrder = item.Adapt<WmsTakeMaterialOrder>(); +// var isExcit = await _wmsTakeMaterialOrderRep.AnyAsync(x => x.NO == item.NO); +// if (!isExcit) +// { +// wmsTakeMaterialOrder.OrderLargeCategory = wmsOrderType != null ? wmsOrderType.Pid : 0; +// wmsTakeMaterialOrder.OrderSubclass = wmsOrderType != null ? wmsOrderType.Id : 0; +// await _wmsTakeMaterialOrderRep.InsertNowAsync(wmsTakeMaterialOrder); +// foreach (var item1 in item.Dtls) +// { +// var wmsTakeMaterialDeatail = item1.Adapt<WmsTakeMaterialOrderDetail>(); +// wmsTakeMaterialDeatail.OrderId = item.Id; +// await _wmsTakeMaterialOrderDetailRep.InsertNowAsync(wmsTakeMaterialDeatail); +// } +// } +// } +// } +// /// <summary> +// /// 棰嗘枡涓嬫灦鎺ュ彛(yigo绯荤粺) +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("ReturnTakeOrder")] +// [UnifyResult(typeof(object))] +// [UnitOfWork] +// public async Task<object> ReturnTakeOrder([FromBody] ReturnTakeOrderInput input) +// { +// try +// { +// //鍒涘缓鎸囧畾鍚嶇О鐨勮鍗曟搷浣� +// string url = App.Configuration["YiGoWebApi:CreateTX211"]; +// //鑾峰彇涓诲崟鎹� +// var wmsTakeMaterialOrderModal = await _wmsTakeMaterialOrderRep.FirstOrDefaultAsync(x => x.Id == input.Id); +// if (wmsTakeMaterialOrderModal == null) throw Oops.Oh("鍗曟嵁淇℃伅涓嶅瓨鍦�!"); +// // 鍐欐棩蹇楁枃浠� +// Log.Error($"[棰嗘枡涓嬫灦][鍗曟嵁鍙�:{wmsTakeMaterialOrderModal.NO}][url:{url}]"); - var response = await url.SetHttpMethod(HttpMethod.Post) - .SetBody(input, "application/json") - .PostAsAsync<ReturnTakeOrderOutput>(); - // 鍐欐棩蹇楁枃浠� - Log.Error($"[棰嗘枡涓嬫灦][鍗曟嵁鍙�:{wmsTakeMaterialOrderModal.NO}][response:{response.ToJson()}]"); +// var response = await url.SetHttpMethod(HttpMethod.Post) +// .SetBody(input, "application/json") +// .PostAsAsync<ReturnTakeOrderOutput>(); +// // 鍐欐棩蹇楁枃浠� +// Log.Error($"[棰嗘枡涓嬫灦][鍗曟嵁鍙�:{wmsTakeMaterialOrderModal.NO}][response:{response.ToJson()}]"); - return XnRestfulResultProvider.RESTfulResult(response); - } - catch (Exception ex) - { - throw Oops.Oh(ex.Message); - } - } +// return XnRestfulResultProvider.RESTfulResult(response); +// } +// catch (Exception ex) +// { +// throw Oops.Oh(ex.Message); +// } +// } - /// <summary> - /// 涓嬪彂棰嗘枡鍗� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("DistributeOrder")] - [UnitOfWork] - public async Task DistributeOrder(DistributeOrderInput input) - { - // 鏌ヨ鍗曟嵁灏忕被鏄�滅敓浜у叆搴撯�濈殑Id - var wmsOrderType = await _wmsOrderTypeRep.FirstOrDefaultAsync(z => z.Name.Contains("棰嗘枡鍑哄簱")); - //鑾峰彇棰嗘枡鍗曟嵁 - var wmsTakeMaterialOrder = await _wmsTakeMaterialOrderRep - .Where(x=>x.Id == input.Id && x.OrderLargeCategory == wmsOrderType.Pid && x.OrderSubclass == wmsOrderType.Id) - .ProjectToType<WmsTakeMaterialOrder>() - .FirstOrDefaultAsync(); - if (wmsTakeMaterialOrder == null) throw Oops.Oh("鍗曟嵁涓嶅瓨鍦�!"); - wmsTakeMaterialOrder.OrderStatus = OrderStatusEnum.YIXIAFA; - //鏇存敼鍗曟嵁鐘舵�佷负宸蹭笅鍙� - await _wmsTakeMaterialOrderRep.UpdateAsync(wmsTakeMaterialOrder); - //鏍规嵁棰嗘枡鍗曟槑缁嗙敓鎴愬垎鎷e崟 - foreach (var item in wmsTakeMaterialOrder.WmsTakeMaterialOrderDetail) - { - //鑾峰彇鎵�鏈変负璇ユ槑缁嗙墿鏂欑紪鐮佺殑搴撳瓨(涓嶄负瀹屾垚鐘舵�佺殑鍑哄簱浠诲姟鐨勫簱浣嶈鎺掗櫎锛屽緟寮�鍙�) - var wmsMaterialStocks = await _wmsMaterialStockRep.DetachedEntities.Where(x => x.MaterialNo == item.Materialcode) - .OrderBy(n=>n.CreatedTime) - .OrderByDescending(n => n.StockNumber) - .ToListAsync(); - List<FjStock> FjStockList = new List<FjStock>(); - //浼樺厛浠庡簱浣嶄负绌虹殑搴撳瓨杩涜鍒嗘嫞 - var fjstockModel = wmsMaterialStocks.Where(p => p.PlaceCode == "N/A").ToList(); - if (fjstockModel != null) - { - foreach (var a in fjstockModel) - { - var FjStockModal = a.Adapt<FjStock>(); - FjStockModal.FjQty = a.StockNumber; - if (item.DistributeQty + a.StockNumber > item.Qty) - { - FjStockModal.FjQty = item.Qty - item.DistributeQty; - item.DistributeQty = item.Qty; - FjStockList.Add(FjStockModal); - break; - } - else - { - item.DistributeQty += a.StockNumber; - }; - FjStockList.Add(FjStockModal); - } - } - if (item.DistributeQty < item.Qty) - { - foreach (var b in wmsMaterialStocks.Where(x=>x.PlaceCode!="N/A")) - { - var FjStockModal = b.Adapt<FjStock>(); - FjStockModal.FjQty = b.StockNumber; - if (item.DistributeQty + b.StockNumber > item.Qty) - { - FjStockModal.FjQty = item.Qty - item.DistributeQty; - item.DistributeQty = item.Qty; - FjStockList.Add(FjStockModal); - break; - } - else - { - item.DistributeQty += b.StockNumber; - }; - FjStockList.Add(FjStockModal); - } - } +// /// <summary> +// /// 涓嬪彂棰嗘枡鍗� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("DistributeOrder")] +// [UnitOfWork] +// public async Task DistributeOrder(DistributeOrderInput input) +// { +// // 鏌ヨ鍗曟嵁灏忕被鏄�滅敓浜у叆搴撯�濈殑Id +// var wmsOrderType = await _wmsOrderTypeRep.FirstOrDefaultAsync(z => z.Name.Contains("棰嗘枡鍑哄簱")); +// //鑾峰彇棰嗘枡鍗曟嵁 +// var wmsTakeMaterialOrder = await _wmsTakeMaterialOrderRep +// .Where(x=>x.Id == input.Id && x.OrderLargeCategory == wmsOrderType.Pid && x.OrderSubclass == wmsOrderType.Id) +// .ProjectToType<WmsTakeMaterialOrder>() +// .FirstOrDefaultAsync(); +// if (wmsTakeMaterialOrder == null) throw Oops.Oh("鍗曟嵁涓嶅瓨鍦�!"); +// wmsTakeMaterialOrder.OrderStatus = OrderStatusEnum.YIXIAFA; +// //鏇存敼鍗曟嵁鐘舵�佷负宸蹭笅鍙� +// await _wmsTakeMaterialOrderRep.UpdateAsync(wmsTakeMaterialOrder); +// //鏍规嵁棰嗘枡鍗曟槑缁嗙敓鎴愬垎鎷e崟 +// foreach (var item in wmsTakeMaterialOrder.WmsTakeMaterialOrderDetail) +// { +// //鑾峰彇鎵�鏈変负璇ユ槑缁嗙墿鏂欑紪鐮佺殑搴撳瓨(涓嶄负瀹屾垚鐘舵�佺殑鍑哄簱浠诲姟鐨勫簱浣嶈鎺掗櫎锛屽緟寮�鍙�) +// var wmsMaterialStocks = await _wmsMaterialStockRep.DetachedEntities.Where(x => x.MaterialNo == item.Materialcode) +// .OrderBy(n=>n.CreatedTime) +// .OrderByDescending(n => n.StockNumber) +// .ToListAsync(); +// List<FjStock> FjStockList = new List<FjStock>(); +// //浼樺厛浠庡簱浣嶄负绌虹殑搴撳瓨杩涜鍒嗘嫞 +// var fjstockModel = wmsMaterialStocks.Where(p => p.PlaceCode == "N/A").ToList(); +// if (fjstockModel != null) +// { +// foreach (var a in fjstockModel) +// { +// var FjStockModal = a.Adapt<FjStock>(); +// FjStockModal.FjQty = a.StockNumber; +// if (item.DistributeQty + a.StockNumber > item.Qty) +// { +// FjStockModal.FjQty = item.Qty - item.DistributeQty; +// item.DistributeQty = item.Qty; +// FjStockList.Add(FjStockModal); +// break; +// } +// else +// { +// item.DistributeQty += a.StockNumber; +// }; +// FjStockList.Add(FjStockModal); +// } +// } +// if (item.DistributeQty < item.Qty) +// { +// foreach (var b in wmsMaterialStocks.Where(x=>x.PlaceCode!="N/A")) +// { +// var FjStockModal = b.Adapt<FjStock>(); +// FjStockModal.FjQty = b.StockNumber; +// if (item.DistributeQty + b.StockNumber > item.Qty) +// { +// FjStockModal.FjQty = item.Qty - item.DistributeQty; +// item.DistributeQty = item.Qty; +// FjStockList.Add(FjStockModal); +// break; +// } +// else +// { +// item.DistributeQty += b.StockNumber; +// }; +// FjStockList.Add(FjStockModal); +// } +// } - if (item.DistributeQty< item.Qty) throw Oops.Oh(item.Materialname+"搴撳瓨鏁伴噺涓嶈冻!"); - //寰幆闇�瑕佸嚭搴撶殑搴撳瓨鐢熸垚浠诲姟鍜屽垎鎷e崟 - foreach (var stock in FjStockList) - { - //鑾峰彇搴撲綅淇℃伅 - var wmsPlacModal = await _wmsPlaceRep.FirstOrDefaultAsync(x => x.PlaceCode == stock.PlaceCode); - //鐗╂枡鍜屽鍣ㄧ殑鍏崇郴 - var fjcvmModelList = await _wmsMaterialContainerRep.Where(z => - z.ContainerCode == stock.ContainerCode && z.BindStatus == CommonStatus.ENABLE).ToListAsync(); - if (wmsPlacModal!=null) - { - //浠诲姟 - var takmodel = new WmsTask() - { - TaskNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(), - TaskModel = TaskModel.QUANZIDONG, - TaskType = TaskType.CHUKU, - TaskLevel = 1, - TaskStatus = TaskStatusEnum.WEIZHIXING, - OrderNo = fjcvmModelList.FirstOrDefault().OrderNo, - OrderDetailsId = item.Id, - ContainerCode = stock.ContainerCode, - SourcePlace = stock.PlaceCode, - ToPlace = wmsPlacModal.Aisle.ToString(), //鐩爣浣� - AreaName = "缁濈紭绔嬪簱", - IsRead = true, //WCS鏄惁鍙互璇诲彇 - SendTimes = 1, //鍙戦�佹鏁� - Aisle = wmsPlacModal.Aisle, - TaskDodeviceStatus = TaskDodeviceStatusEnum.W, - Description = "鐗╂枡" - }; - await _wmsTaskRep.InsertAsync(takmodel); - } - // 鏂板鍒嗘嫞 - var wmsSortOrder = new WmsSortOrder() - { - OrderNo = wmsTakeMaterialOrder.NO, - Materialcode = stock.MaterialNo, - Materialname = stock.MaterialName, - OrderDetailID = item.Id, - ContainerOrderNo = fjcvmModelList.FirstOrDefault().OrderNo, - ProjectCode = item.ProjectCode, - TACode = item.TACode, - PartCode = item.PartCode, - PlaceCode = item.PlaceCode, - ContainerCode = stock.ContainerCode, - SortQuantity = stock.FjQty, - ActualQuantity = new decimal(0.00), - SortStatus = SortStatusEnum.WEIFENJIAN - }; - await _wmsSortOrderRep.InsertNowAsync(wmsSortOrder); - } - } +// if (item.DistributeQty< item.Qty) throw Oops.Oh(item.Materialname+"搴撳瓨鏁伴噺涓嶈冻!"); +// //寰幆闇�瑕佸嚭搴撶殑搴撳瓨鐢熸垚浠诲姟鍜屽垎鎷e崟 +// foreach (var stock in FjStockList) +// { +// //鑾峰彇搴撲綅淇℃伅 +// var wmsPlacModal = await _wmsPlaceRep.FirstOrDefaultAsync(x => x.PlaceCode == stock.PlaceCode); +// //鐗╂枡鍜屽鍣ㄧ殑鍏崇郴 +// var fjcvmModelList = await _wmsMaterialContainerRep.Where(z => +// z.ContainerCode == stock.ContainerCode && z.BindStatus == CommonStatus.ENABLE).ToListAsync(); +// if (wmsPlacModal!=null) +// { +// //浠诲姟 +// var takmodel = new WmsTask() +// { +// TaskNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(), +// TaskModel = TaskModel.QUANZIDONG, +// TaskType = TaskType.CHUKU, +// TaskLevel = 1, +// TaskStatus = TaskStatusEnum.WEIZHIXING, +// OrderNo = fjcvmModelList.FirstOrDefault().OrderNo, +// OrderDetailsId = item.Id, +// ContainerCode = stock.ContainerCode, +// SourcePlace = stock.PlaceCode, +// ToPlace = wmsPlacModal.Aisle.ToString(), //鐩爣浣� +// AreaName = "缁濈紭绔嬪簱", +// IsRead = true, //WCS鏄惁鍙互璇诲彇 +// SendTimes = 1, //鍙戦�佹鏁� +// Aisle = wmsPlacModal.Aisle, +// TaskDodeviceStatus = TaskDodeviceStatusEnum.W, +// Description = "鐗╂枡" +// }; +// await _wmsTaskRep.InsertAsync(takmodel); +// } +// // 鏂板鍒嗘嫞 +// var wmsSortOrder = new WmsSortOrder() +// { +// OrderNo = wmsTakeMaterialOrder.NO, +// Materialcode = stock.MaterialNo, +// Materialname = stock.MaterialName, +// OrderDetailID = item.Id, +// ContainerOrderNo = fjcvmModelList.FirstOrDefault().OrderNo, +// ProjectCode = item.ProjectCode, +// TACode = item.TACode, +// PartCode = item.PartCode, +// PlaceCode = item.PlaceCode, +// ContainerCode = stock.ContainerCode, +// SortQuantity = stock.FjQty, +// ActualQuantity = new decimal(0.00), +// SortStatus = SortStatusEnum.WEIFENJIAN +// }; +// await _wmsSortOrderRep.InsertNowAsync(wmsSortOrder); +// } +// } - } +// } - /// <summary> - /// 鍒犻櫎棰嗘枡鍗� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("delete")] - public async Task Delete(DeleteWmsTakeMaterialOrderInput input) - { - var wmsTakeMaterialOrder = await _wmsTakeMaterialOrderRep.FirstOrDefaultAsync(u => u.Id == input.Id); - await _wmsTakeMaterialOrderRep.DeleteAsync(wmsTakeMaterialOrder); - } +// /// <summary> +// /// 鍒犻櫎棰嗘枡鍗� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("delete")] +// public async Task Delete(DeleteWmsTakeMaterialOrderInput input) +// { +// var wmsTakeMaterialOrder = await _wmsTakeMaterialOrderRep.FirstOrDefaultAsync(u => u.Id == input.Id); +// await _wmsTakeMaterialOrderRep.DeleteAsync(wmsTakeMaterialOrder); +// } - /// <summary> - /// 鏇存柊棰嗘枡鍗� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("edit")] - public async Task Update(UpdateWmsTakeMaterialOrderInput input) - { - var isExist = await _wmsTakeMaterialOrderRep.AnyAsync(u => u.Id == input.Id, false); - if (!isExist) throw Oops.Oh(ErrorCode.D3000); +// /// <summary> +// /// 鏇存柊棰嗘枡鍗� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("edit")] +// public async Task Update(UpdateWmsTakeMaterialOrderInput input) +// { +// var isExist = await _wmsTakeMaterialOrderRep.AnyAsync(u => u.Id == input.Id, false); +// if (!isExist) throw Oops.Oh(ErrorCode.D3000); - var wmsTakeMaterialOrder = input.Adapt<WmsTakeMaterialOrder>(); - await _wmsTakeMaterialOrderRep.UpdateAsync(wmsTakeMaterialOrder,ignoreNullValues:true); - } +// var wmsTakeMaterialOrder = input.Adapt<WmsTakeMaterialOrder>(); +// await _wmsTakeMaterialOrderRep.UpdateAsync(wmsTakeMaterialOrder,ignoreNullValues:true); +// } - /// <summary> - /// 鑾峰彇棰嗘枡鍗� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpGet("detail")] - public async Task<WmsTakeMaterialOrderOutput> Get([FromQuery] QueryeWmsTakeMaterialOrderInput input) - { - return (await _wmsTakeMaterialOrderRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsTakeMaterialOrderOutput>(); - } +// /// <summary> +// /// 鑾峰彇棰嗘枡鍗� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpGet("detail")] +// public async Task<WmsTakeMaterialOrderOutput> Get([FromQuery] QueryeWmsTakeMaterialOrderInput input) +// { +// return (await _wmsTakeMaterialOrderRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsTakeMaterialOrderOutput>(); +// } - /// <summary> - /// 鑾峰彇棰嗘枡鍗曞垪琛� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpGet("list")] - public async Task<List<WmsTakeMaterialOrderOutput>> List([FromQuery] WmsTakeMaterialOrderInput input) - { - return await _wmsTakeMaterialOrderRep.DetachedEntities.ProjectToType<WmsTakeMaterialOrderOutput>().ToListAsync(); - } - /// <summary> - /// Excel妯℃澘瀵煎叆棰嗘枡鍗曞姛鑳� - /// </summary> - /// <param name="file">Excel妯℃澘鏂囦欢</param> - /// <param name="importExcelType">Excel瀵煎叆鏂瑰紡</param> - /// <returns>瀵煎叆鐨勮褰曟暟</returns> - [HttpPost("fromExcel")] - public async Task<int> FromExcelAsync(IFormFile file, [FromQuery] ImportExcelType importExcelType) - { - int size = 200; - var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsTakeMaterialOrder", "v2"); - if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002); - var keys = excelTemplate.UnionUniqueFields.Split(",") ?? Array.Empty<string>(); - for (var i = 0; i < keys.Length; i++) - { - keys[i] = keys[i]?.Trim() ?? string.Empty; - } - ExcelUtil.FromExcel(file, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, out List<string> headers, out List<List<object?>> data, out string sheetName); - List<WmsTakeMaterialOrderOutput> wmsTakeMaterialOrderList = DataConvertUtil.ToObjectList(headers, data, sheetName, keys, excelTemplate?.DataStartLine ?? 2, out Dictionary<string, WmsTakeMaterialOrderOutput> dict); - List<Dictionary<string, object>> uniqueKeyValueDictList = wmsTakeMaterialOrderList.ParseUniqueKeyValueDictList(keys.ToList(), excelTemplate?.DataStartLine ?? 2, sheetName); - var filters = DataConvertUtil.GetExpressionListByUniqueDict<WmsTakeMaterialOrder>(keys.ToList(), uniqueKeyValueDictList, size); - var selectKeys = keys.ToList(); - if(!selectKeys.Contains("Id")) selectKeys.Add("Id"); - var selector = DataConvertUtil.GetSelectExpressionListByUniqueDict<WmsTakeMaterialOrder, WmsTakeMaterialOrderOutput>(selectKeys); - List<WmsTakeMaterialOrder> updates = new(); - List<WmsTakeMaterialOrder> adds = new(); +// /// <summary> +// /// 鑾峰彇棰嗘枡鍗曞垪琛� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpGet("list")] +// public async Task<List<WmsTakeMaterialOrderOutput>> List([FromQuery] WmsTakeMaterialOrderInput input) +// { +// return await _wmsTakeMaterialOrderRep.DetachedEntities.ProjectToType<WmsTakeMaterialOrderOutput>().ToListAsync(); +// } +// /// <summary> +// /// Excel妯℃澘瀵煎叆棰嗘枡鍗曞姛鑳� +// /// </summary> +// /// <param name="file">Excel妯℃澘鏂囦欢</param> +// /// <param name="importExcelType">Excel瀵煎叆鏂瑰紡</param> +// /// <returns>瀵煎叆鐨勮褰曟暟</returns> +// [HttpPost("fromExcel")] +// public async Task<int> FromExcelAsync(IFormFile file, [FromQuery] ImportExcelType importExcelType) +// { +// int size = 200; +// var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsTakeMaterialOrder", "v2"); +// if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002); +// var keys = excelTemplate.UnionUniqueFields.Split(",") ?? Array.Empty<string>(); +// for (var i = 0; i < keys.Length; i++) +// { +// keys[i] = keys[i]?.Trim() ?? string.Empty; +// } +// ExcelUtil.FromExcel(file, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, out List<string> headers, out List<List<object?>> data, out string sheetName); +// List<WmsTakeMaterialOrderOutput> wmsTakeMaterialOrderList = DataConvertUtil.ToObjectList(headers, data, sheetName, keys, excelTemplate?.DataStartLine ?? 2, out Dictionary<string, WmsTakeMaterialOrderOutput> dict); +// List<Dictionary<string, object>> uniqueKeyValueDictList = wmsTakeMaterialOrderList.ParseUniqueKeyValueDictList(keys.ToList(), excelTemplate?.DataStartLine ?? 2, sheetName); +// var filters = DataConvertUtil.GetExpressionListByUniqueDict<WmsTakeMaterialOrder>(keys.ToList(), uniqueKeyValueDictList, size); +// var selectKeys = keys.ToList(); +// if(!selectKeys.Contains("Id")) selectKeys.Add("Id"); +// var selector = DataConvertUtil.GetSelectExpressionListByUniqueDict<WmsTakeMaterialOrder, WmsTakeMaterialOrderOutput>(selectKeys); +// List<WmsTakeMaterialOrder> updates = new(); +// List<WmsTakeMaterialOrder> adds = new(); - lock (_lock) - { - foreach (var filter in filters) - { - var wmsTakeMaterialOrderExistSubList = _wmsTakeMaterialOrderRep.Where(filter).Select(selector).ToList(); - wmsTakeMaterialOrderExistSubList.ForEach(x => - { - var k = DataConvertUtil.GetKey(x, keys); - if (dict.ContainsKey(k)) dict[k].Id = x.Id; - }); - } - foreach (var wmsTakeMaterialOrder in wmsTakeMaterialOrderList) - { - if (wmsTakeMaterialOrder.Id > 0) - { - if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.Add(wmsTakeMaterialOrder.Adapt<WmsTakeMaterialOrder>()); - } - else - { - adds.Add(wmsTakeMaterialOrder.Adapt<WmsTakeMaterialOrder>()); - } - } +// lock (_lock) +// { +// foreach (var filter in filters) +// { +// var wmsTakeMaterialOrderExistSubList = _wmsTakeMaterialOrderRep.Where(filter).Select(selector).ToList(); +// wmsTakeMaterialOrderExistSubList.ForEach(x => +// { +// var k = DataConvertUtil.GetKey(x, keys); +// if (dict.ContainsKey(k)) dict[k].Id = x.Id; +// }); +// } +// foreach (var wmsTakeMaterialOrder in wmsTakeMaterialOrderList) +// { +// if (wmsTakeMaterialOrder.Id > 0) +// { +// if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.Add(wmsTakeMaterialOrder.Adapt<WmsTakeMaterialOrder>()); +// } +// else +// { +// adds.Add(wmsTakeMaterialOrder.Adapt<WmsTakeMaterialOrder>()); +// } +// } - if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.ForEach(x => _wmsTakeMaterialOrderRep.Update(x)); +// if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.ForEach(x => _wmsTakeMaterialOrderRep.Update(x)); - var maxId = _wmsTakeMaterialOrderRep.DetachedEntities.OrderByDescending(x => x.Id).Select(x => x.Id).FirstOrDefault(); - adds.ForEach(x => x.Id = ++maxId); - Db.GetDbContext().Set<WmsTakeMaterialOrder>().AddRange(adds); - Db.GetDbContext().SaveChanges(); +// var maxId = _wmsTakeMaterialOrderRep.DetachedEntities.OrderByDescending(x => x.Id).Select(x => x.Id).FirstOrDefault(); +// adds.ForEach(x => x.Id = ++maxId); +// Db.GetDbContext().Set<WmsTakeMaterialOrder>().AddRange(adds); +// Db.GetDbContext().SaveChanges(); - } - await Task.CompletedTask; - return adds.Count; - } +// } +// await Task.CompletedTask; +// return adds.Count; +// } - /// <summary> - /// 鏍规嵁鐗堟湰涓嬭浇棰嗘枡鍗曠殑Excel瀵煎叆妯℃澘 - /// </summary> - /// <param name="version">妯℃澘鐗堟湰</param> - /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> - [HttpGet("downloadExcelTemplate")] - public async Task<IActionResult> DownloadExcelTemplate([FromQuery] string version) - { - var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsTakeMaterialOrder", version); - if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002); - var path = Path.Combine(@"\", excelTemplate.TemplateFileName); - Stream ms = FileUtil.Download(path, excelTemplate.TemplateFileName); - var fileName = HttpUtility.UrlEncode($"{excelTemplate.Name}瀵煎叆妯℃澘.xlsx", Encoding.GetEncoding("UTF-8")); - return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; - } - /// <summary> - /// 鏍规嵁棰嗘枡鍗曟煡璇㈠弬鏁板鍑篍xcel - /// </summary> - /// <param name="input">棰嗘枡鍗曟煡璇㈠弬鏁�</param> - /// <returns>瀵煎嚭鐨凟xcel鏂囦欢</returns> - [HttpGet("toExcel")] - public async Task<IActionResult> ToExcelAsync([FromQuery] WmsTakeMaterialOrderSearchNonPage input) - { - var wmsTakeMaterialOrderList = await ListNonPageAsync(input); - MemoryStream ms = new(); - DataConvertUtil.ToExcelData(wmsTakeMaterialOrderList, _sysDictTypeRep, _sysDictDataRep, out List<string> headers, - out List<List<object>> data, out string sheetName); - var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsTakeMaterialOrder", "v1"); - if (excelTemplate != null) - { - ExcelUtil.ToExcel(excelTemplate.TemplateFileName, headers, data, sheetName, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, ms); - } - else - { - ExcelUtil.ToExcel(headers, data, sheetName, ms); - } - ms.Position = 0; - var fileName = HttpUtility.UrlEncode($"{sheetName}[{DateTimeOffset.Now:yyyy-MM-dd}].xlsx", Encoding.GetEncoding("UTF-8")); - return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; - } - } -} +// /// <summary> +// /// 鏍规嵁鐗堟湰涓嬭浇棰嗘枡鍗曠殑Excel瀵煎叆妯℃澘 +// /// </summary> +// /// <param name="version">妯℃澘鐗堟湰</param> +// /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> +// [HttpGet("downloadExcelTemplate")] +// public async Task<IActionResult> DownloadExcelTemplate([FromQuery] string version) +// { +// var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsTakeMaterialOrder", version); +// if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002); +// var path = Path.Combine(@"\", excelTemplate.TemplateFileName); +// Stream ms = FileUtil.Download(path, excelTemplate.TemplateFileName); +// var fileName = HttpUtility.UrlEncode($"{excelTemplate.Name}瀵煎叆妯℃澘.xlsx", Encoding.GetEncoding("UTF-8")); +// return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; +// } +// /// <summary> +// /// 鏍规嵁棰嗘枡鍗曟煡璇㈠弬鏁板鍑篍xcel +// /// </summary> +// /// <param name="input">棰嗘枡鍗曟煡璇㈠弬鏁�</param> +// /// <returns>瀵煎嚭鐨凟xcel鏂囦欢</returns> +// [HttpGet("toExcel")] +// public async Task<IActionResult> ToExcelAsync([FromQuery] WmsTakeMaterialOrderSearchNonPage input) +// { +// var wmsTakeMaterialOrderList = await ListNonPageAsync(input); +// MemoryStream ms = new(); +// DataConvertUtil.ToExcelData(wmsTakeMaterialOrderList, _sysDictTypeRep, _sysDictDataRep, out List<string> headers, +// out List<List<object>> data, out string sheetName); +// var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsTakeMaterialOrder", "v1"); +// if (excelTemplate != null) +// { +// ExcelUtil.ToExcel(excelTemplate.TemplateFileName, headers, data, sheetName, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, ms); +// } +// else +// { +// ExcelUtil.ToExcel(headers, data, sheetName, ms); +// } +// ms.Position = 0; +// var fileName = HttpUtility.UrlEncode($"{sheetName}[{DateTimeOffset.Now:yyyy-MM-dd}].xlsx", Encoding.GetEncoding("UTF-8")); +// return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; +// } +// } +//} -- Gitblit v1.9.3