From 0a4fdc2b4d0f5fb7d16fbd0182bef305105e3eae Mon Sep 17 00:00:00 2001 From: payne <bzrlw2012@163.com> Date: 周二, 23 4月 2024 18:44:36 +0800 Subject: [PATCH] 调整库位实体 新增容器 容器类型实体 --- iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsInWarehouse/WmsInWarehouseService.cs | 576 ++++++------ iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsArea.cs | 47 + iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsContainerType.cs | 79 + iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsContainer.cs | 168 ++- iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsPlace.cs | 84 - iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsStockReturnWarehouse/WmsStockReturnWarehouseService.cs | 576 ++++++------ iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/MaterialSorting/MaterialSortingService.cs | 394 ++++---- iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/WmsContainerService.cs | 570 ++++++------ 8 files changed, 1,300 insertions(+), 1,194 deletions(-) diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/WmsContainerService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/WmsContainerService.cs index 28707e3..db83988 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/WmsContainerService.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/WmsContainerService.cs @@ -1,303 +1,303 @@ -锘縰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 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; -namespace Admin.NET.Application -{ - /// <summary> - /// 鎵樼洏淇℃伅鏈嶅姟 - /// </summary> - [ApiDescriptionSettings("鑷繁鐨勪笟鍔�", Name = "WmsContainer", Order = 100)] - [Route("api/[Controller]")] - public class WmsContainerService : IWmsContainerService, IDynamicApiController, ITransient - { - private readonly IRepository<WmsContainer,MasterDbContextLocator> _wmsContainerRep; - private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; - private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; - private readonly ISysExcelTemplateService _sysExcelTemplateService; - private readonly static object _lock = new(); +//namespace Admin.NET.Application +//{ +// /// <summary> +// /// 鎵樼洏淇℃伅鏈嶅姟 +// /// </summary> +// [ApiDescriptionSettings("鑷繁鐨勪笟鍔�", Name = "WmsContainer", Order = 100)] +// [Route("api/[Controller]")] +// public class WmsContainerService : IWmsContainerService, IDynamicApiController, ITransient +// { +// private readonly IRepository<WmsContainer,MasterDbContextLocator> _wmsContainerRep; +// private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; +// private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; +// private readonly ISysExcelTemplateService _sysExcelTemplateService; +// private readonly static object _lock = new(); - /// <summary> - /// 鏋勯�犲嚱鏁� - /// </summary> - public WmsContainerService( - IRepository<WmsContainer,MasterDbContextLocator> wmsContainerRep - ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep - ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep - ,ISysExcelTemplateService sysExcelTemplateService - ) - { - _wmsContainerRep = wmsContainerRep; - _sysDictTypeRep = sysDictTypeRep; - _sysDictDataRep = sysDictDataRep; - _sysExcelTemplateService = sysExcelTemplateService; - } +// /// <summary> +// /// 鏋勯�犲嚱鏁� +// /// </summary> +// public WmsContainerService( +// IRepository<WmsContainer,MasterDbContextLocator> wmsContainerRep +// ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep +// ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep +// ,ISysExcelTemplateService sysExcelTemplateService +// ) +// { +// _wmsContainerRep = wmsContainerRep; +// _sysDictTypeRep = sysDictTypeRep; +// _sysDictDataRep = sysDictDataRep; +// _sysExcelTemplateService = sysExcelTemplateService; +// } - /// <summary> - /// 鍒嗛〉鏌ヨ鎵樼洏淇℃伅 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpGet("page")] - public async Task<PageResult<WmsContainerOutput>> Page([FromQuery] WmsContainerSearch input) - { - var wmsContainers = await _wmsContainerRep.DetachedEntities - .Where(!string.IsNullOrEmpty(input.ContainerCode), u => EF.Functions.Like(u.ContainerCode, $"%{input.ContainerCode.Trim()}%")) - .Where(input.ContainerType != null, u => u.ContainerType == input.ContainerType) - .Where(input.ContainerStatus != null, u => u.ContainerStatus == input.ContainerStatus) - .Where(input.SpecLength != null, u => u.SpecLength == input.SpecLength) - .Where(input.SpecWidth != null, u => u.SpecWidth == input.SpecWidth) - .Where(input.ContainerCategory != null, u => u.ContainerCategory == input.ContainerCategory) - .Where(input.WorkShopType != null, u => u.WorkShopType == input.WorkShopType) - .OrderBy(PageInputOrder.OrderBuilder<WmsContainerSearch>(input)) - .ProjectToType<WmsContainerOutput>() - .ToADPagedListAsync(input.PageNo, input.PageSize); - return wmsContainers; - } +// /// <summary> +// /// 鍒嗛〉鏌ヨ鎵樼洏淇℃伅 +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpGet("page")] +// public async Task<PageResult<WmsContainerOutput>> Page([FromQuery] WmsContainerSearch input) +// { +// var wmsContainers = await _wmsContainerRep.DetachedEntities +// .Where(!string.IsNullOrEmpty(input.ContainerCode), u => EF.Functions.Like(u.ContainerCode, $"%{input.ContainerCode.Trim()}%")) +// .Where(input.ContainerType != null, u => u.ContainerType == input.ContainerType) +// .Where(input.ContainerStatus != null, u => u.ContainerStatus == input.ContainerStatus) +// .Where(input.SpecLength != null, u => u.SpecLength == input.SpecLength) +// .Where(input.SpecWidth != null, u => u.SpecWidth == input.SpecWidth) +// .Where(input.ContainerCategory != null, u => u.ContainerCategory == input.ContainerCategory) +// .Where(input.WorkShopType != null, u => u.WorkShopType == input.WorkShopType) +// .OrderBy(PageInputOrder.OrderBuilder<WmsContainerSearch>(input)) +// .ProjectToType<WmsContainerOutput>() +// .ToADPagedListAsync(input.PageNo, input.PageSize); +// return wmsContainers; +// } - /// <summary> - /// 涓嶅垎椤垫煡璇㈡墭鐩樹俊鎭垪琛� - /// </summary> - /// <param name="input">鎵樼洏淇℃伅鏌ヨ鍙傛暟</param> - /// <returns>(鎵樼洏淇℃伅)瀹炰緥鍒楄〃</returns> - [HttpGet("listNonPage")] - public async Task<List<WmsContainerOutput>> ListNonPageAsync([FromQuery] WmsContainerSearchNonPage input) - { - var pContainerCode = input.ContainerCode?.Trim() ?? ""; - var pContainerType = input.ContainerType; - var pContainerStatus = input.ContainerStatus; - var pSpecLength = input.SpecLength; - var pSpecWidth = input.SpecWidth; - var pContainerCategory = input.ContainerCategory; - var pWorkShopType = input.WorkShopType; - var wmsContainers = await _wmsContainerRep.DetachedEntities - .Where(!string.IsNullOrEmpty(pContainerCode), u => EF.Functions.Like(u.ContainerCode, $"%{pContainerCode}%")) - .Where(pContainerType != null, u => u.ContainerType == pContainerType) - .Where(pContainerStatus != null, u => u.ContainerStatus == pContainerStatus) - .Where(pSpecLength != null, u => u.SpecLength == pSpecLength) - .Where(pSpecWidth != null, u => u.SpecWidth == pSpecWidth) - .Where(pContainerCategory != null, u => u.ContainerCategory == pContainerCategory) - .Where(pWorkShopType != null, u => u.WorkShopType == pWorkShopType) - .OrderBy(PageInputOrder.OrderNonPageBuilder(input)) - .ProjectToType<WmsContainerOutput>() - .ToListAsync(); - return wmsContainers; - } +// /// <summary> +// /// 涓嶅垎椤垫煡璇㈡墭鐩樹俊鎭垪琛� +// /// </summary> +// /// <param name="input">鎵樼洏淇℃伅鏌ヨ鍙傛暟</param> +// /// <returns>(鎵樼洏淇℃伅)瀹炰緥鍒楄〃</returns> +// [HttpGet("listNonPage")] +// public async Task<List<WmsContainerOutput>> ListNonPageAsync([FromQuery] WmsContainerSearchNonPage input) +// { +// var pContainerCode = input.ContainerCode?.Trim() ?? ""; +// var pContainerType = input.ContainerType; +// var pContainerStatus = input.ContainerStatus; +// var pSpecLength = input.SpecLength; +// var pSpecWidth = input.SpecWidth; +// var pContainerCategory = input.ContainerCategory; +// var pWorkShopType = input.WorkShopType; +// var wmsContainers = await _wmsContainerRep.DetachedEntities +// .Where(!string.IsNullOrEmpty(pContainerCode), u => EF.Functions.Like(u.ContainerCode, $"%{pContainerCode}%")) +// .Where(pContainerType != null, u => u.ContainerType == pContainerType) +// .Where(pContainerStatus != null, u => u.ContainerStatus == pContainerStatus) +// .Where(pSpecLength != null, u => u.SpecLength == pSpecLength) +// .Where(pSpecWidth != null, u => u.SpecWidth == pSpecWidth) +// .Where(pContainerCategory != null, u => u.ContainerCategory == pContainerCategory) +// .Where(pWorkShopType != null, u => u.WorkShopType == pWorkShopType) +// .OrderBy(PageInputOrder.OrderNonPageBuilder(input)) +// .ProjectToType<WmsContainerOutput>() +// .ToListAsync(); +// return wmsContainers; +// } - /// <summary> - /// 澧炲姞鎵樼洏淇℃伅 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("add")] - public async Task Add(AddWmsContainerInput input) - { - var isExist = await _wmsContainerRep.AnyAsync(u => u.ContainerCode == input.ContainerCode, false); - if (isExist) throw Oops.Oh($"褰撳墠鎵樼洏宸插瓨鍦紝鏂板澶辫触锛�"); +// /// <summary> +// /// 澧炲姞鎵樼洏淇℃伅 +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("add")] +// public async Task Add(AddWmsContainerInput input) +// { +// var isExist = await _wmsContainerRep.AnyAsync(u => u.ContainerCode == input.ContainerCode, false); +// if (isExist) throw Oops.Oh($"褰撳墠鎵樼洏宸插瓨鍦紝鏂板澶辫触锛�"); - var ContainerInfo = input.Adapt<WmsContainer>(); - ContainerInfo.ContainerStatus = ContainerStatus.KOUXIAN; - ContainerInfo.AssetNo = "N/A"; - ContainerInfo.ContainerCategory = ContainerCategory.GZP; - ContainerInfo.ErpNo = "N/A"; - ContainerInfo.IsVirtually = YesOrNot.N; - ContainerInfo.WorkShopType = LesWorkShopType.FAPAOCHEJIAN; - await _wmsContainerRep.InsertAsync(ContainerInfo); - //string ContainerCode = "ZHONGTONG"; - //if (input.SpecLength == 1250) - //{ - // ContainerCode = "YKA"; - //} - //else if (input.SpecLength == 1050) - //{ - // ContainerCode = "YKB"; - //} - //else if (input.SpecLength == 800) - //{ - // ContainerCode = "YKC"; - //} - //var wmsContainerModal = await _wmsContainerRep.DetachedEntities.Where(u => u.ContainerCode.Contains(input.ContainerCode)) - // .ProjectToType<WmsContainerOutput>() - // .OrderByDescending(u => u.ContainerCode) - // .FirstOrDefaultAsync(); - //int a = 0; - //if (wmsContainerModal != null) - //{ - // a = Convert.ToInt32(wmsContainerModal.ContainerCode.Substring(wmsContainerModal.ContainerCode.Length - 5)); - //} - //for (int i = a + 1; i <= a + input.Quantity; i++) - //{ - // var wmsContainer = input.Adapt<WmsContainer>(); - // wmsContainer.AssetNo = "N/A"; - // wmsContainer.ErpNo = "N/A"; - // wmsContainer.IsVirtually = YesOrNot.N; - // wmsContainer.IsDeleted = false;; - // wmsContainer.ContainerCode = ContainerCode + i.ToString("00000"); - // await _wmsContainerRep.InsertAsync(wmsContainer); - //} - } +// var ContainerInfo = input.Adapt<WmsContainer>(); +// ContainerInfo.ContainerStatus = ContainerStatus.KOUXIAN; +// ContainerInfo.AssetNo = "N/A"; +// ContainerInfo.ContainerCategory = ContainerCategory.GZP; +// ContainerInfo.ErpNo = "N/A"; +// ContainerInfo.IsVirtually = YesOrNot.N; +// ContainerInfo.WorkShopType = LesWorkShopType.FAPAOCHEJIAN; +// await _wmsContainerRep.InsertAsync(ContainerInfo); +// //string ContainerCode = "ZHONGTONG"; +// //if (input.SpecLength == 1250) +// //{ +// // ContainerCode = "YKA"; +// //} +// //else if (input.SpecLength == 1050) +// //{ +// // ContainerCode = "YKB"; +// //} +// //else if (input.SpecLength == 800) +// //{ +// // ContainerCode = "YKC"; +// //} +// //var wmsContainerModal = await _wmsContainerRep.DetachedEntities.Where(u => u.ContainerCode.Contains(input.ContainerCode)) +// // .ProjectToType<WmsContainerOutput>() +// // .OrderByDescending(u => u.ContainerCode) +// // .FirstOrDefaultAsync(); +// //int a = 0; +// //if (wmsContainerModal != null) +// //{ +// // a = Convert.ToInt32(wmsContainerModal.ContainerCode.Substring(wmsContainerModal.ContainerCode.Length - 5)); +// //} +// //for (int i = a + 1; i <= a + input.Quantity; i++) +// //{ +// // var wmsContainer = input.Adapt<WmsContainer>(); +// // wmsContainer.AssetNo = "N/A"; +// // wmsContainer.ErpNo = "N/A"; +// // wmsContainer.IsVirtually = YesOrNot.N; +// // wmsContainer.IsDeleted = false;; +// // wmsContainer.ContainerCode = ContainerCode + i.ToString("00000"); +// // await _wmsContainerRep.InsertAsync(wmsContainer); +// //} +// } - /// <summary> - /// 鍒犻櫎鎵樼洏淇℃伅 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("delete")] - public async Task Delete(DeleteWmsContainerInput input) - { - var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(u => u.Id == input.Id); - await _wmsContainerRep.DeleteAsync(wmsContainer); - } +// /// <summary> +// /// 鍒犻櫎鎵樼洏淇℃伅 +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("delete")] +// public async Task Delete(DeleteWmsContainerInput input) +// { +// var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(u => u.Id == input.Id); +// await _wmsContainerRep.DeleteAsync(wmsContainer); +// } - /// <summary> - /// 鏇存柊鎵樼洏淇℃伅 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("edit")] - public async Task Update(UpdateWmsContainerInput input) - { - var isExist = await _wmsContainerRep.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(UpdateWmsContainerInput input) +// { +// var isExist = await _wmsContainerRep.AnyAsync(u => u.Id == input.Id, false); +// if (!isExist) throw Oops.Oh(ErrorCode.D3000); - var wmsContainer = input.Adapt<WmsContainer>(); - await _wmsContainerRep.UpdateAsync(wmsContainer,ignoreNullValues:true); - } +// var wmsContainer = input.Adapt<WmsContainer>(); +// await _wmsContainerRep.UpdateAsync(wmsContainer,ignoreNullValues:true); +// } - /// <summary> - /// 鑾峰彇鎵樼洏淇℃伅 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpGet("detail")] - public async Task<WmsContainerOutput> Get([FromQuery] QueryeWmsContainerInput input) - { - return (await _wmsContainerRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsContainerOutput>(); - } +// /// <summary> +// /// 鑾峰彇鎵樼洏淇℃伅 +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpGet("detail")] +// public async Task<WmsContainerOutput> Get([FromQuery] QueryeWmsContainerInput input) +// { +// return (await _wmsContainerRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsContainerOutput>(); +// } - /// <summary> - /// 鑾峰彇鎵樼洏淇℃伅鍒楄〃 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpGet("list")] - public async Task<List<WmsContainerOutput>> List([FromQuery] WmsContainerInput input) - { - return await _wmsContainerRep.DetachedEntities.ProjectToType<WmsContainerOutput>().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("WmsContainer", "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<WmsContainerOutput> wmsContainerList = DataConvertUtil.ToObjectList(headers, data, sheetName, keys, excelTemplate?.DataStartLine ?? 2, out Dictionary<string, WmsContainerOutput> dict); - List<Dictionary<string, object>> uniqueKeyValueDictList = wmsContainerList.ParseUniqueKeyValueDictList(keys.ToList(), excelTemplate?.DataStartLine ?? 2, sheetName); - var filters = DataConvertUtil.GetExpressionListByUniqueDict<WmsContainer>(keys.ToList(), uniqueKeyValueDictList, size); - var selectKeys = keys.ToList(); - if(!selectKeys.Contains("Id")) selectKeys.Add("Id"); - var selector = DataConvertUtil.GetSelectExpressionListByUniqueDict<WmsContainer, WmsContainerOutput>(selectKeys); - List<WmsContainer> updates = new(); - List<WmsContainer> adds = new(); +// /// <summary> +// /// 鑾峰彇鎵樼洏淇℃伅鍒楄〃 +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpGet("list")] +// public async Task<List<WmsContainerOutput>> List([FromQuery] WmsContainerInput input) +// { +// return await _wmsContainerRep.DetachedEntities.ProjectToType<WmsContainerOutput>().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("WmsContainer", "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<WmsContainerOutput> wmsContainerList = DataConvertUtil.ToObjectList(headers, data, sheetName, keys, excelTemplate?.DataStartLine ?? 2, out Dictionary<string, WmsContainerOutput> dict); +// List<Dictionary<string, object>> uniqueKeyValueDictList = wmsContainerList.ParseUniqueKeyValueDictList(keys.ToList(), excelTemplate?.DataStartLine ?? 2, sheetName); +// var filters = DataConvertUtil.GetExpressionListByUniqueDict<WmsContainer>(keys.ToList(), uniqueKeyValueDictList, size); +// var selectKeys = keys.ToList(); +// if(!selectKeys.Contains("Id")) selectKeys.Add("Id"); +// var selector = DataConvertUtil.GetSelectExpressionListByUniqueDict<WmsContainer, WmsContainerOutput>(selectKeys); +// List<WmsContainer> updates = new(); +// List<WmsContainer> adds = new(); - lock (_lock) - { - foreach (var filter in filters) - { - var wmsContainerExistSubList = _wmsContainerRep.Where(filter).Select(selector).ToList(); - wmsContainerExistSubList.ForEach(x => - { - var k = DataConvertUtil.GetKey(x, keys); - if (dict.ContainsKey(k)) dict[k].Id = x.Id; - }); - } - foreach (var wmsContainer in wmsContainerList) - { - if (wmsContainer.Id > 0) - { - if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.Add(wmsContainer.Adapt<WmsContainer>()); - } - else - { - adds.Add(wmsContainer.Adapt<WmsContainer>()); - } - } +// lock (_lock) +// { +// foreach (var filter in filters) +// { +// var wmsContainerExistSubList = _wmsContainerRep.Where(filter).Select(selector).ToList(); +// wmsContainerExistSubList.ForEach(x => +// { +// var k = DataConvertUtil.GetKey(x, keys); +// if (dict.ContainsKey(k)) dict[k].Id = x.Id; +// }); +// } +// foreach (var wmsContainer in wmsContainerList) +// { +// if (wmsContainer.Id > 0) +// { +// if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.Add(wmsContainer.Adapt<WmsContainer>()); +// } +// else +// { +// adds.Add(wmsContainer.Adapt<WmsContainer>()); +// } +// } - if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.ForEach(x => _wmsContainerRep.Update(x)); +// if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.ForEach(x => _wmsContainerRep.Update(x)); - var maxId = _wmsContainerRep.DetachedEntities.OrderByDescending(x => x.Id).Select(x => x.Id).FirstOrDefault(); - adds.ForEach(x => x.Id = ++maxId); - Db.GetDbContext().Set<WmsContainer>().AddRange(adds); - Db.GetDbContext().SaveChanges(); +// var maxId = _wmsContainerRep.DetachedEntities.OrderByDescending(x => x.Id).Select(x => x.Id).FirstOrDefault(); +// adds.ForEach(x => x.Id = ++maxId); +// Db.GetDbContext().Set<WmsContainer>().AddRange(adds); +// Db.GetDbContext().SaveChanges(); - } - await Task.CompletedTask; - return adds.Count; - } +// } +// await Task.CompletedTask; +// return adds.Count; +// } - /// <summary> - /// 鏍规嵁鐗堟湰涓嬭浇鎵樼洏淇℃伅鐨凟xcel瀵煎叆妯℃澘 - /// </summary> - /// <param name="version">妯℃澘鐗堟湰</param> - /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> - [HttpGet("downloadExcelTemplate")] - public async Task<IActionResult> DownloadExcelTemplate([FromQuery] string version) - { - var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsContainer", version); - if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002); - var path = Path.Combine(@"\", excelTemplate.TemplateFileName); - Stream ms = FileUtil.Download(path, excelTemplate.TemplateFileName); - var fileName = HttpUtility.UrlEncode($"{excelTemplate.Name}瀵煎叆妯℃澘.xlsx", Encoding.GetEncoding("UTF-8")); - return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; - } - /// <summary> - /// 鏍规嵁鎵樼洏淇℃伅鏌ヨ鍙傛暟瀵煎嚭Excel - /// </summary> - /// <param name="input">鎵樼洏淇℃伅鏌ヨ鍙傛暟</param> - /// <returns>瀵煎嚭鐨凟xcel鏂囦欢</returns> - [HttpGet("toExcel")] - public async Task<IActionResult> ToExcelAsync([FromQuery] WmsContainerSearchNonPage input) - { - var wmsContainerList = await ListNonPageAsync(input); - MemoryStream ms = new(); - DataConvertUtil.ToExcelData(wmsContainerList, _sysDictTypeRep, _sysDictDataRep, out List<string> headers, - out List<List<object>> data, out string sheetName); - var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsContainer", "v1"); - if (excelTemplate != null) - { - ExcelUtil.ToExcel(excelTemplate.TemplateFileName, headers, data, sheetName, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, ms); - } - else - { - ExcelUtil.ToExcel(headers, data, sheetName, ms); - } - ms.Position = 0; - var fileName = HttpUtility.UrlEncode($"{sheetName}[{DateTimeOffset.Now:yyyy-MM-dd}].xlsx", Encoding.GetEncoding("UTF-8")); - return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; - } - } -} +// /// <summary> +// /// 鏍规嵁鐗堟湰涓嬭浇鎵樼洏淇℃伅鐨凟xcel瀵煎叆妯℃澘 +// /// </summary> +// /// <param name="version">妯℃澘鐗堟湰</param> +// /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> +// [HttpGet("downloadExcelTemplate")] +// public async Task<IActionResult> DownloadExcelTemplate([FromQuery] string version) +// { +// var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsContainer", version); +// if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002); +// var path = Path.Combine(@"\", excelTemplate.TemplateFileName); +// Stream ms = FileUtil.Download(path, excelTemplate.TemplateFileName); +// var fileName = HttpUtility.UrlEncode($"{excelTemplate.Name}瀵煎叆妯℃澘.xlsx", Encoding.GetEncoding("UTF-8")); +// return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; +// } +// /// <summary> +// /// 鏍规嵁鎵樼洏淇℃伅鏌ヨ鍙傛暟瀵煎嚭Excel +// /// </summary> +// /// <param name="input">鎵樼洏淇℃伅鏌ヨ鍙傛暟</param> +// /// <returns>瀵煎嚭鐨凟xcel鏂囦欢</returns> +// [HttpGet("toExcel")] +// public async Task<IActionResult> ToExcelAsync([FromQuery] WmsContainerSearchNonPage input) +// { +// var wmsContainerList = await ListNonPageAsync(input); +// MemoryStream ms = new(); +// DataConvertUtil.ToExcelData(wmsContainerList, _sysDictTypeRep, _sysDictDataRep, out List<string> headers, +// out List<List<object>> data, out string sheetName); +// var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsContainer", "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 }; +// } +// } +//} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/MaterialSorting/MaterialSortingService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/MaterialSorting/MaterialSortingService.cs index 2cf5aa4..8f86fb2 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/MaterialSorting/MaterialSortingService.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/MaterialSorting/MaterialSortingService.cs @@ -1,216 +1,216 @@ -锘縰sing Furion.DatabaseAccessor; -using Furion.DependencyInjection; -using Furion.DynamicApiController; -using Furion.FriendlyException; -using Mapster; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; -using System.Linq.Dynamic.Core; -using Admin.NET.Core; -using Yitter.IdGenerator; -using Microsoft.Extensions.Logging; -using Microsoft.AspNetCore.Mvc.RazorPages; +锘�//using Furion.DatabaseAccessor; +//using Furion.DependencyInjection; +//using Furion.DynamicApiController; +//using Furion.FriendlyException; +//using Mapster; +//using Microsoft.AspNetCore.Authorization; +//using Microsoft.AspNetCore.Mvc; +//using Microsoft.EntityFrameworkCore; +//using System.Linq.Dynamic.Core; +//using Admin.NET.Core; +//using Yitter.IdGenerator; +//using Microsoft.Extensions.Logging; +//using Microsoft.AspNetCore.Mvc.RazorPages; -namespace Admin.NET.Application -{ - /// <summary> - /// 鐗╂枡鍒嗘嫞鏈嶅姟 - /// </summary> - [ApiDescriptionSettings("Pda鍒嗘嫞", Name = "MaterialSorting", Order = 100)] - [Route("api/[Controller]")] - public class MaterialSortingService : IDynamicApiController, ITransient - { - private readonly IRepository<WmsOrder, MasterDbContextLocator> _wmsOrderRep; - private readonly IRepository<WmsOrderDetails, MasterDbContextLocator> _wmsOrderDetailsRep; - private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; - private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; - private readonly IRepository<WmsArea, MasterDbContextLocator> _wmsAreaRep; - private readonly IRepository<WmsWarehouseEntrance, MasterDbContextLocator> _wmsWarehouseEntranceRep; - private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; - private readonly IRepository<WmsContainer, MasterDbContextLocator> _wmsContainerRep; - private readonly IRepository<WmsContainerPlace, MasterDbContextLocator> _wmsContainerPlaceRep; - private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; - private readonly IRepository<WmsOrderType, MasterDbContextLocator> _wmsOrderTypeRep; - private readonly IRepository<WmsSortOrder, MasterDbContextLocator> _wmsSortOrderRep; - private readonly IRepository<WmsTakeMaterialOrder, MasterDbContextLocator> _wmsTakeMaterialOrderRep; +//namespace Admin.NET.Application +//{ +// /// <summary> +// /// 鐗╂枡鍒嗘嫞鏈嶅姟 +// /// </summary> +// [ApiDescriptionSettings("Pda鍒嗘嫞", Name = "MaterialSorting", Order = 100)] +// [Route("api/[Controller]")] +// public class MaterialSortingService : IDynamicApiController, ITransient +// { +// private readonly IRepository<WmsOrder, MasterDbContextLocator> _wmsOrderRep; +// private readonly IRepository<WmsOrderDetails, MasterDbContextLocator> _wmsOrderDetailsRep; +// private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; +// private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; +// private readonly IRepository<WmsArea, MasterDbContextLocator> _wmsAreaRep; +// private readonly IRepository<WmsWarehouseEntrance, MasterDbContextLocator> _wmsWarehouseEntranceRep; +// private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; +// private readonly IRepository<WmsContainer, MasterDbContextLocator> _wmsContainerRep; +// private readonly IRepository<WmsContainerPlace, MasterDbContextLocator> _wmsContainerPlaceRep; +// private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; +// private readonly IRepository<WmsOrderType, MasterDbContextLocator> _wmsOrderTypeRep; +// private readonly IRepository<WmsSortOrder, MasterDbContextLocator> _wmsSortOrderRep; +// private readonly IRepository<WmsTakeMaterialOrder, MasterDbContextLocator> _wmsTakeMaterialOrderRep; - /// <summary> - /// 鏋勯�犲嚱鏁� - /// </summary> - public MaterialSortingService( - IRepository<WmsOrder, MasterDbContextLocator> wmsOrderRep, - IRepository<WmsOrderDetails, MasterDbContextLocator> wmsOrderDetailsRep, - IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep, - IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep, - IRepository<WmsArea, MasterDbContextLocator> wmsAreaRep, - IRepository<WmsWarehouseEntrance, MasterDbContextLocator> wmsWarehouseEntranceRep, - IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep, - IRepository<WmsContainer, MasterDbContextLocator> wmsContainerRep, - IRepository<WmsContainerPlace, MasterDbContextLocator> wmsContainerPlaceRep, - IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep, - IRepository<WmsOrderType, MasterDbContextLocator> wmsOrderTypeRep, - IRepository<WmsSortOrder, MasterDbContextLocator> wmsSortOrderRep, - IRepository<WmsTakeMaterialOrder, MasterDbContextLocator> wmsTakeMaterialOrderRep - ) - { - _wmsOrderRep = wmsOrderRep; - _wmsOrderDetailsRep = wmsOrderDetailsRep; - _wmsTaskRep = wmsTaskRep; - _wmsPlaceRep = wmsPlaceRep; - _wmsAreaRep = wmsAreaRep; - _wmsWarehouseEntranceRep = wmsWarehouseEntranceRep; - _wmsMaterialContainerRep = wmsMaterialContainerRep; - _wmsContainerRep = wmsContainerRep; - _wmsContainerPlaceRep = wmsContainerPlaceRep; - _wmsMaterialStockRep = wmsMaterialStockRep; - _wmsOrderTypeRep = wmsOrderTypeRep; - _wmsSortOrderRep = wmsSortOrderRep; - _wmsTakeMaterialOrderRep = wmsTakeMaterialOrderRep; - } +// /// <summary> +// /// 鏋勯�犲嚱鏁� +// /// </summary> +// public MaterialSortingService( +// IRepository<WmsOrder, MasterDbContextLocator> wmsOrderRep, +// IRepository<WmsOrderDetails, MasterDbContextLocator> wmsOrderDetailsRep, +// IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep, +// IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep, +// IRepository<WmsArea, MasterDbContextLocator> wmsAreaRep, +// IRepository<WmsWarehouseEntrance, MasterDbContextLocator> wmsWarehouseEntranceRep, +// IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep, +// IRepository<WmsContainer, MasterDbContextLocator> wmsContainerRep, +// IRepository<WmsContainerPlace, MasterDbContextLocator> wmsContainerPlaceRep, +// IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep, +// IRepository<WmsOrderType, MasterDbContextLocator> wmsOrderTypeRep, +// IRepository<WmsSortOrder, MasterDbContextLocator> wmsSortOrderRep, +// IRepository<WmsTakeMaterialOrder, MasterDbContextLocator> wmsTakeMaterialOrderRep +// ) +// { +// _wmsOrderRep = wmsOrderRep; +// _wmsOrderDetailsRep = wmsOrderDetailsRep; +// _wmsTaskRep = wmsTaskRep; +// _wmsPlaceRep = wmsPlaceRep; +// _wmsAreaRep = wmsAreaRep; +// _wmsWarehouseEntranceRep = wmsWarehouseEntranceRep; +// _wmsMaterialContainerRep = wmsMaterialContainerRep; +// _wmsContainerRep = wmsContainerRep; +// _wmsContainerPlaceRep = wmsContainerPlaceRep; +// _wmsMaterialStockRep = wmsMaterialStockRep; +// _wmsOrderTypeRep = wmsOrderTypeRep; +// _wmsSortOrderRep = wmsSortOrderRep; +// _wmsTakeMaterialOrderRep = wmsTakeMaterialOrderRep; +// } - /// <summary> - /// 鎵弿鍒嗘嫞鎵樼洏 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpGet("GetSortInfo")] - public async Task<GetSortInfoOutput> GetSortInfo([FromQuery] GetSortInfoInput input) - { - //妫�鏌ユ墭鐩� - var wareContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == input.ContainerCode); - if (wareContainer == null) throw Oops.Oh("瀹瑰櫒淇℃伅涓嶅瓨鍦�!"); - if (wareContainer.ContainerStatus == ContainerStatus.JINYONG) throw Oops.Oh("瀹瑰櫒宸茬鐢�!"); - if (wareContainer.ContainerStatus == ContainerStatus.KUWEI) throw Oops.Oh("瀹瑰櫒鍦ㄥ簱浣嶄笉鍙娇鐢�!"); - if (wareContainer.ContainerStatus != ContainerStatus.FENJIAN) throw Oops.Oh("瀹瑰櫒涓嶅瓨鍦ㄥ垎鎷d俊鎭�!"); +// /// <summary> +// /// 鎵弿鍒嗘嫞鎵樼洏 +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpGet("GetSortInfo")] +// public async Task<GetSortInfoOutput> GetSortInfo([FromQuery] GetSortInfoInput input) +// { +// //妫�鏌ユ墭鐩� +// var wareContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == input.ContainerCode); +// if (wareContainer == null) throw Oops.Oh("瀹瑰櫒淇℃伅涓嶅瓨鍦�!"); +// if (wareContainer.ContainerStatus == ContainerStatus.JINYONG) throw Oops.Oh("瀹瑰櫒宸茬鐢�!"); +// if (wareContainer.ContainerStatus == ContainerStatus.KUWEI) throw Oops.Oh("瀹瑰櫒鍦ㄥ簱浣嶄笉鍙娇鐢�!"); +// if (wareContainer.ContainerStatus != ContainerStatus.FENJIAN) throw Oops.Oh("瀹瑰櫒涓嶅瓨鍦ㄥ垎鎷d俊鎭�!"); - //鍒ゆ柇鏄惁鍦ㄤ换鍔′腑 - var isExit = await _wmsTaskRep.AnyAsync(n => n.TaskStatus != TaskStatusEnum.WANCHENG && n.ContainerCode == input.ContainerCode); - if (isExit) throw Oops.Oh("瀹瑰櫒瀛樺湪鏈畬鎴愪换鍔�!"); +// //鍒ゆ柇鏄惁鍦ㄤ换鍔′腑 +// var isExit = await _wmsTaskRep.AnyAsync(n => n.TaskStatus != TaskStatusEnum.WANCHENG && n.ContainerCode == input.ContainerCode); +// if (isExit) throw Oops.Oh("瀹瑰櫒瀛樺湪鏈畬鎴愪换鍔�!"); - // 鏌ヨ鍒嗘嫞璁板綍 - var wareSortOrderList = await _wmsSortOrderRep.DetachedEntities - .Where(p => p.ContainerCode == input.ContainerCode && p.SortStatus != SortStatusEnum.FENJIANWANCHENG).ToListAsync(); +// // 鏌ヨ鍒嗘嫞璁板綍 +// var wareSortOrderList = await _wmsSortOrderRep.DetachedEntities +// .Where(p => p.ContainerCode == input.ContainerCode && p.SortStatus != SortStatusEnum.FENJIANWANCHENG).ToListAsync(); - return new GetSortInfoOutput - { - WmsContainer = wareContainer.Adapt<WmsContainerDto>(), - WmsSortOrderList = wareSortOrderList - }; - } +// return new GetSortInfoOutput +// { +// WmsContainer = wareContainer.Adapt<WmsContainerDto>(), +// WmsSortOrderList = wareSortOrderList +// }; +// } - /// <summary> - /// 鍒嗘嫞纭 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("SortSure")] - [UnitOfWork] - public async Task SortSure(GetSortInfoOutput input) - { - if (input.WmsContainer == null || input.WmsSortOrderList.Count == 0) throw Oops.Oh("浼犻�掑弬鏁板紓甯�!"); +// /// <summary> +// /// 鍒嗘嫞纭 +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("SortSure")] +// [UnitOfWork] +// public async Task SortSure(GetSortInfoOutput input) +// { +// if (input.WmsContainer == null || input.WmsSortOrderList.Count == 0) throw Oops.Oh("浼犻�掑弬鏁板紓甯�!"); - //妫�鏌ユ墭鐩� - var wareContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == input.WmsContainer.ContainerCode); - if (wareContainer == null) throw Oops.Oh("瀹瑰櫒淇℃伅涓嶅瓨鍦�!"); - if (wareContainer.ContainerStatus == ContainerStatus.JINYONG) throw Oops.Oh("瀹瑰櫒宸茬鐢�!"); - if (wareContainer.ContainerStatus == ContainerStatus.KUWEI) throw Oops.Oh("瀹瑰櫒鍦ㄥ簱浣嶄笉鍙娇鐢�!"); - if (wareContainer.ContainerStatus != ContainerStatus.FENJIAN) throw Oops.Oh("瀹瑰櫒涓嶅瓨鍦ㄥ垎鎷d俊鎭�!"); +// //妫�鏌ユ墭鐩� +// var wareContainer = await _wmsContainerRep.FirstOrDefaultAsync(z => z.ContainerCode == input.WmsContainer.ContainerCode); +// if (wareContainer == null) throw Oops.Oh("瀹瑰櫒淇℃伅涓嶅瓨鍦�!"); +// if (wareContainer.ContainerStatus == ContainerStatus.JINYONG) throw Oops.Oh("瀹瑰櫒宸茬鐢�!"); +// if (wareContainer.ContainerStatus == ContainerStatus.KUWEI) throw Oops.Oh("瀹瑰櫒鍦ㄥ簱浣嶄笉鍙娇鐢�!"); +// if (wareContainer.ContainerStatus != ContainerStatus.FENJIAN) throw Oops.Oh("瀹瑰櫒涓嶅瓨鍦ㄥ垎鎷d俊鎭�!"); - var wmsMaterialContainers = await _wmsMaterialContainerRep - .Where(p => p.ContainerCode == input.WmsContainer.ContainerCode && p.BindStatus == CommonStatus.ENABLE).ToListAsync(); - foreach (var item in input.WmsSortOrderList) - { - var wmsMaterialContainerModel = wmsMaterialContainers.FirstOrDefault(p => p.MaterialNo == item.Materialcode); - if (wmsMaterialContainerModel != null) - { - if (wmsMaterialContainerModel.BindQuantity < item.ActualQuantity) throw Oops.Oh("鍒嗘嫞缁勭洏寮傚父!"); - wmsMaterialContainerModel.BindQuantity -= item.ActualQuantity; - if (wmsMaterialContainerModel.BindQuantity <= 0) - { - wmsMaterialContainers.Remove(wmsMaterialContainerModel); - await _wmsMaterialContainerRep.DeleteAsync(wmsMaterialContainerModel); - } - else - { - await _wmsMaterialContainerRep.UpdateAsync(wmsMaterialContainerModel); - } - } - var stockModel = await _wmsMaterialStockRep.FirstOrDefaultAsync(p => p.ContainerCode == wareContainer.ContainerCode && p.MaterialNo == item.Materialcode); - if (stockModel != null) - { - if (stockModel.StockNumber < item.ActualQuantity) throw Oops.Oh("鍒嗘嫞搴撳瓨寮傚父!"); - stockModel.StockNumber -= item.ActualQuantity; - if (stockModel.StockNumber <= 0) await _wmsMaterialStockRep.DeleteAsync(stockModel); - else await _wmsMaterialStockRep.UpdateAsync(stockModel); - } +// var wmsMaterialContainers = await _wmsMaterialContainerRep +// .Where(p => p.ContainerCode == input.WmsContainer.ContainerCode && p.BindStatus == CommonStatus.ENABLE).ToListAsync(); +// foreach (var item in input.WmsSortOrderList) +// { +// var wmsMaterialContainerModel = wmsMaterialContainers.FirstOrDefault(p => p.MaterialNo == item.Materialcode); +// if (wmsMaterialContainerModel != null) +// { +// if (wmsMaterialContainerModel.BindQuantity < item.ActualQuantity) throw Oops.Oh("鍒嗘嫞缁勭洏寮傚父!"); +// wmsMaterialContainerModel.BindQuantity -= item.ActualQuantity; +// if (wmsMaterialContainerModel.BindQuantity <= 0) +// { +// wmsMaterialContainers.Remove(wmsMaterialContainerModel); +// await _wmsMaterialContainerRep.DeleteAsync(wmsMaterialContainerModel); +// } +// else +// { +// await _wmsMaterialContainerRep.UpdateAsync(wmsMaterialContainerModel); +// } +// } +// var stockModel = await _wmsMaterialStockRep.FirstOrDefaultAsync(p => p.ContainerCode == wareContainer.ContainerCode && p.MaterialNo == item.Materialcode); +// if (stockModel != null) +// { +// if (stockModel.StockNumber < item.ActualQuantity) throw Oops.Oh("鍒嗘嫞搴撳瓨寮傚父!"); +// stockModel.StockNumber -= item.ActualQuantity; +// if (stockModel.StockNumber <= 0) await _wmsMaterialStockRep.DeleteAsync(stockModel); +// else await _wmsMaterialStockRep.UpdateAsync(stockModel); +// } - // 杩欓噷杩橀渶瑕佹牴鎹疄闄呬笅鍙戞暟鏉ユ洿鏂板垎鎷g姸鎬� - var wareSortOrderModel = await _wmsSortOrderRep.FirstOrDefaultAsync(p => p.ContainerCode == wareContainer.ContainerCode - && p.SortStatus != SortStatusEnum.FENJIANWANCHENG && p.Materialcode == item.Materialcode); +// // 杩欓噷杩橀渶瑕佹牴鎹疄闄呬笅鍙戞暟鏉ユ洿鏂板垎鎷g姸鎬� +// var wareSortOrderModel = await _wmsSortOrderRep.FirstOrDefaultAsync(p => p.ContainerCode == wareContainer.ContainerCode +// && p.SortStatus != SortStatusEnum.FENJIANWANCHENG && p.Materialcode == item.Materialcode); - if (wareSortOrderModel != null) - { - wareSortOrderModel.ActualQuantity += item.ActualQuantity; +// if (wareSortOrderModel != null) +// { +// wareSortOrderModel.ActualQuantity += item.ActualQuantity; - if (wareSortOrderModel.ActualQuantity >= wareSortOrderModel.SortQuantity) - { - wareSortOrderModel.SortStatus = SortStatusEnum.FENJIANWANCHENG; - _wmsSortOrderRep.UpdateNow(wareSortOrderModel); +// if (wareSortOrderModel.ActualQuantity >= wareSortOrderModel.SortQuantity) +// { +// wareSortOrderModel.SortStatus = SortStatusEnum.FENJIANWANCHENG; +// _wmsSortOrderRep.UpdateNow(wareSortOrderModel); - // 鍒嗘嫞鍗曞畬鎴愬悗鍒ゆ柇鍑哄簱鏄庣粏鏄惁瀹屾垚 - } - else - { - wareSortOrderModel.SortStatus = SortStatusEnum.FENJIANZHONG; - _wmsSortOrderRep.UpdateNow(wareSortOrderModel); - } - } - } +// // 鍒嗘嫞鍗曞畬鎴愬悗鍒ゆ柇鍑哄簱鏄庣粏鏄惁瀹屾垚 +// } +// else +// { +// wareSortOrderModel.SortStatus = SortStatusEnum.FENJIANZHONG; +// _wmsSortOrderRep.UpdateNow(wareSortOrderModel); +// } +// } +// } - var wareSortOrderCount = await _wmsSortOrderRep - .Where(p => p.ContainerCode == input.WmsContainer.ContainerCode && p.SortStatus != SortStatusEnum.FENJIANWANCHENG).CountAsync(); +// var wareSortOrderCount = await _wmsSortOrderRep +// .Where(p => p.ContainerCode == input.WmsContainer.ContainerCode && p.SortStatus != SortStatusEnum.FENJIANWANCHENG).CountAsync(); - //鏇存柊鎵樼洏鐘舵�侊紝鍒嗘嫞瀹屾垚 - if (wareSortOrderCount == 0) - { - if (wmsMaterialContainers.Count == 0) wareContainer.ContainerStatus = ContainerStatus.KOUXIAN; - else wareContainer.ContainerStatus = ContainerStatus.ZUPANG; - // 鏇存柊瀹瑰櫒鐘舵�� - await _wmsContainerRep.UpdateAsync(wareContainer); - } - } +// //鏇存柊鎵樼洏鐘舵�侊紝鍒嗘嫞瀹屾垚 +// if (wareSortOrderCount == 0) +// { +// if (wmsMaterialContainers.Count == 0) wareContainer.ContainerStatus = ContainerStatus.KOUXIAN; +// else wareContainer.ContainerStatus = ContainerStatus.ZUPANG; +// // 鏇存柊瀹瑰櫒鐘舵�� +// await _wmsContainerRep.UpdateAsync(wareContainer); +// } +// } - /// <summary> - /// pda鍑哄簱鍗曟煡璇� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpGet("SortPdaPage")] - public async Task<PageResult<SortPdaPageOutput>> SortPdaPage([FromQuery] SortPdaPageInput input) - { - var wmsTakeMaterialOrder = await _wmsTakeMaterialOrderRep.DetachedEntities - .Where(!string.IsNullOrEmpty(input.No), u => EF.Functions.Like(u.NO, $"%{input.No.Trim()}%")) - .ProjectToType<SortPdaPageOutput>() - .ToADPagedListAsync(input.PageNo, input.PageSize); - return wmsTakeMaterialOrder; - } +// /// <summary> +// /// pda鍑哄簱鍗曟煡璇� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpGet("SortPdaPage")] +// public async Task<PageResult<SortPdaPageOutput>> SortPdaPage([FromQuery] SortPdaPageInput input) +// { +// var wmsTakeMaterialOrder = await _wmsTakeMaterialOrderRep.DetachedEntities +// .Where(!string.IsNullOrEmpty(input.No), u => EF.Functions.Like(u.NO, $"%{input.No.Trim()}%")) +// .ProjectToType<SortPdaPageOutput>() +// .ToADPagedListAsync(input.PageNo, input.PageSize); +// return wmsTakeMaterialOrder; +// } - /// <summary> - /// pda鏍规嵁鍑哄簱鍗曡幏鍙栧垎鎷e崟鏄庣粏 - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpGet("SortPdaDetailPage")] - public async Task<PageResult<SortPdaDetailPageOutput>> SortPdaDetailPage([FromQuery] SortPdaDetailPageInput input) - { - var wmsTakeMaterialOrder = await _wmsSortOrderRep.DetachedEntities - .Where(x=>x.OrderNo ==input.No) - .ProjectToType<SortPdaDetailPageOutput>() - .ToADPagedListAsync(input.PageNo, input.PageSize); - return wmsTakeMaterialOrder; - } - } -} +// /// <summary> +// /// pda鏍规嵁鍑哄簱鍗曡幏鍙栧垎鎷e崟鏄庣粏 +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpGet("SortPdaDetailPage")] +// public async Task<PageResult<SortPdaDetailPageOutput>> SortPdaDetailPage([FromQuery] SortPdaDetailPageInput input) +// { +// var wmsTakeMaterialOrder = await _wmsSortOrderRep.DetachedEntities +// .Where(x=>x.OrderNo ==input.No) +// .ProjectToType<SortPdaDetailPageOutput>() +// .ToADPagedListAsync(input.PageNo, input.PageSize); +// return wmsTakeMaterialOrder; +// } +// } +//} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsInWarehouse/WmsInWarehouseService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsInWarehouse/WmsInWarehouseService.cs index 5c239eb..386eb80 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsInWarehouse/WmsInWarehouseService.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsInWarehouse/WmsInWarehouseService.cs @@ -1,317 +1,317 @@ -锘縰sing Furion.DatabaseAccessor; -using Furion.DependencyInjection; -using Furion.DynamicApiController; -using Furion.FriendlyException; -using Mapster; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; -using System.Linq.Dynamic.Core; -using Admin.NET.Core; -using Yitter.IdGenerator; -using Microsoft.Extensions.Logging; -using Microsoft.AspNetCore.Mvc.RazorPages; +锘�//using Furion.DatabaseAccessor; +//using Furion.DependencyInjection; +//using Furion.DynamicApiController; +//using Furion.FriendlyException; +//using Mapster; +//using Microsoft.AspNetCore.Authorization; +//using Microsoft.AspNetCore.Mvc; +//using Microsoft.EntityFrameworkCore; +//using System.Linq.Dynamic.Core; +//using Admin.NET.Core; +//using Yitter.IdGenerator; +//using Microsoft.Extensions.Logging; +//using Microsoft.AspNetCore.Mvc.RazorPages; -namespace Admin.NET.Application -{ - /// <summary> - /// Pda鐗╂枡鍏ュ簱 - /// </summary> - [ApiDescriptionSettings("Pda鐗╂枡鍏ュ簱", Name = "WmsInWarehouse", Order = 100)] - [Route("api/[Controller]")] - public class WmsInWarehouseService : IDynamicApiController, ITransient - { - private readonly IRepository<WmsOrder, MasterDbContextLocator> _wmsOrderRep; - private readonly IRepository<WmsOrderDetails, MasterDbContextLocator> _wmsOrderDetailsRep; - private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; - private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; - private readonly IRepository<WmsArea, MasterDbContextLocator> _wmsAreaRep; - private readonly IRepository<WmsWarehouseEntrance, MasterDbContextLocator> _wmsWarehouseEntranceRep; - private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; - private readonly IRepository<WmsContainer, MasterDbContextLocator> _wmsContainerRep; - private readonly IRepository<WmsContainerPlace, MasterDbContextLocator> _wmsContainerPlaceRep; - private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; - private readonly IRepository<WmsOrderType, MasterDbContextLocator> _wmsOrderTypeRep; +//namespace Admin.NET.Application +//{ +// /// <summary> +// /// Pda鐗╂枡鍏ュ簱 +// /// </summary> +// [ApiDescriptionSettings("Pda鐗╂枡鍏ュ簱", Name = "WmsInWarehouse", Order = 100)] +// [Route("api/[Controller]")] +// public class WmsInWarehouseService : IDynamicApiController, ITransient +// { +// private readonly IRepository<WmsOrder, MasterDbContextLocator> _wmsOrderRep; +// private readonly IRepository<WmsOrderDetails, MasterDbContextLocator> _wmsOrderDetailsRep; +// private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; +// private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; +// private readonly IRepository<WmsArea, MasterDbContextLocator> _wmsAreaRep; +// private readonly IRepository<WmsWarehouseEntrance, MasterDbContextLocator> _wmsWarehouseEntranceRep; +// private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; +// private readonly IRepository<WmsContainer, MasterDbContextLocator> _wmsContainerRep; +// private readonly IRepository<WmsContainerPlace, MasterDbContextLocator> _wmsContainerPlaceRep; +// private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; +// private readonly IRepository<WmsOrderType, MasterDbContextLocator> _wmsOrderTypeRep; - /// <summary> - /// 鏋勯�犲嚱鏁� - /// </summary> - public WmsInWarehouseService( - IRepository<WmsOrder, MasterDbContextLocator> wmsOrderRep, - IRepository<WmsOrderDetails, MasterDbContextLocator> wmsOrderDetailsRep, - IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep, - IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep, - IRepository<WmsArea, MasterDbContextLocator> wmsAreaRep, - IRepository<WmsWarehouseEntrance, MasterDbContextLocator> wmsWarehouseEntranceRep, - IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep, - IRepository<WmsContainer, MasterDbContextLocator> wmsContainerRep, - IRepository<WmsContainerPlace, MasterDbContextLocator> wmsContainerPlaceRep, - IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep, - IRepository<WmsOrderType, MasterDbContextLocator> wmsOrderTypeRep - ) - { - _wmsOrderRep = wmsOrderRep; - _wmsOrderDetailsRep = wmsOrderDetailsRep; - _wmsTaskRep = wmsTaskRep; - _wmsPlaceRep = wmsPlaceRep; - _wmsAreaRep = wmsAreaRep; - _wmsWarehouseEntranceRep = wmsWarehouseEntranceRep; - _wmsMaterialContainerRep = wmsMaterialContainerRep; - _wmsContainerRep = wmsContainerRep; - _wmsContainerPlaceRep = wmsContainerPlaceRep; - _wmsMaterialStockRep = wmsMaterialStockRep; - _wmsOrderTypeRep = wmsOrderTypeRep; - } +// /// <summary> +// /// 鏋勯�犲嚱鏁� +// /// </summary> +// public WmsInWarehouseService( +// IRepository<WmsOrder, MasterDbContextLocator> wmsOrderRep, +// IRepository<WmsOrderDetails, MasterDbContextLocator> wmsOrderDetailsRep, +// IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep, +// IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep, +// IRepository<WmsArea, MasterDbContextLocator> wmsAreaRep, +// IRepository<WmsWarehouseEntrance, MasterDbContextLocator> wmsWarehouseEntranceRep, +// IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep, +// IRepository<WmsContainer, MasterDbContextLocator> wmsContainerRep, +// IRepository<WmsContainerPlace, MasterDbContextLocator> wmsContainerPlaceRep, +// IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep, +// IRepository<WmsOrderType, MasterDbContextLocator> wmsOrderTypeRep +// ) +// { +// _wmsOrderRep = wmsOrderRep; +// _wmsOrderDetailsRep = wmsOrderDetailsRep; +// _wmsTaskRep = wmsTaskRep; +// _wmsPlaceRep = wmsPlaceRep; +// _wmsAreaRep = wmsAreaRep; +// _wmsWarehouseEntranceRep = wmsWarehouseEntranceRep; +// _wmsMaterialContainerRep = wmsMaterialContainerRep; +// _wmsContainerRep = wmsContainerRep; +// _wmsContainerPlaceRep = wmsContainerPlaceRep; +// _wmsMaterialStockRep = wmsMaterialStockRep; +// _wmsOrderTypeRep = wmsOrderTypeRep; +// } - /// <summary> - /// 鑾峰彇鎵樼洏 - /// </summary> - /// <returns></returns> - [HttpGet("GetContainer")] - [UnifyResult(typeof(GetContainerOutput))] - public async Task<object> CheckTray([FromQuery] GetContainerInput input) - { - var containerModel = await _wmsContainerRep.DetachedEntities.Where(z => z.ContainerCode == input.ContainerCode).FirstOrDefaultAsync(); - //濡傛灉鎵樼洏涓嶅瓨鍦ㄥ垯娣诲姞涓�涓� - if (containerModel == null) { - var ContainerInfo = input.Adapt<WmsContainer>(); - ContainerInfo.ContainerStatus = ContainerStatus.KOUXIAN; - ContainerInfo.AssetNo = "N/A"; - ContainerInfo.ContainerCategory = ContainerCategory.GZP; - ContainerInfo.ErpNo = "N/A"; - ContainerInfo.IsVirtually = YesOrNot.N; - ContainerInfo.WorkShopType = LesWorkShopType.FAPAOCHEJIAN; - await _wmsContainerRep.InsertNowAsync(ContainerInfo); - containerModel = ContainerInfo; - } +// /// <summary> +// /// 鑾峰彇鎵樼洏 +// /// </summary> +// /// <returns></returns> +// [HttpGet("GetContainer")] +// [UnifyResult(typeof(GetContainerOutput))] +// public async Task<object> CheckTray([FromQuery] GetContainerInput input) +// { +// var containerModel = await _wmsContainerRep.DetachedEntities.Where(z => z.ContainerCode == input.ContainerCode).FirstOrDefaultAsync(); +// //濡傛灉鎵樼洏涓嶅瓨鍦ㄥ垯娣诲姞涓�涓� +// if (containerModel == null) { +// var ContainerInfo = input.Adapt<WmsContainer>(); +// ContainerInfo.ContainerStatus = ContainerStatus.KOUXIAN; +// ContainerInfo.AssetNo = "N/A"; +// ContainerInfo.ContainerCategory = ContainerCategory.GZP; +// ContainerInfo.ErpNo = "N/A"; +// ContainerInfo.IsVirtually = YesOrNot.N; +// ContainerInfo.WorkShopType = LesWorkShopType.FAPAOCHEJIAN; +// await _wmsContainerRep.InsertNowAsync(ContainerInfo); +// containerModel = ContainerInfo; +// } - var isExit = await _wmsTaskRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG && p.TaskStatus != TaskStatusEnum.QUXIAO); - if (isExit) return XnRestfulResultProvider.RESTfulMesaage("鎵樼洏瀛樺湪鏈畬鎴愪换鍔�!"); +// var isExit = await _wmsTaskRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG && p.TaskStatus != TaskStatusEnum.QUXIAO); +// if (isExit) return XnRestfulResultProvider.RESTfulMesaage("鎵樼洏瀛樺湪鏈畬鎴愪换鍔�!"); - isExit = await _wmsContainerPlaceRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.ContainerPlaceStatus == CommonStatus.ENABLE); - if (isExit) return XnRestfulResultProvider.RESTfulMesaage("鎵樼洏瀛樺湪搴撲綅涓�!"); +// isExit = await _wmsContainerPlaceRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.ContainerPlaceStatus == CommonStatus.ENABLE); +// if (isExit) return XnRestfulResultProvider.RESTfulMesaage("鎵樼洏瀛樺湪搴撲綅涓�!"); - var GetContainerOutputModel = new GetContainerOutput() - { - WmsContainer = containerModel.Adapt<WmsContainerDto>(), - ContainerCode = containerModel.ContainerCode, - }; - //鑾峰彇缁勭洏鏁版嵁 - GetContainerOutputModel.WmsMaterials = await _wmsMaterialContainerRep - .Where(p => p.ContainerCode == containerModel.ContainerCode && p.BindStatus == CommonStatus.ENABLE) - .OrderByDescending(p => p.CreatedTime) - .ProjectToType<WmsMaterialContainer>().ToListAsync(); - return XnRestfulResultProvider.RESTfulResult(GetContainerOutputModel); - } +// var GetContainerOutputModel = new GetContainerOutput() +// { +// WmsContainer = containerModel.Adapt<WmsContainerDto>(), +// ContainerCode = containerModel.ContainerCode, +// }; +// //鑾峰彇缁勭洏鏁版嵁 +// GetContainerOutputModel.WmsMaterials = await _wmsMaterialContainerRep +// .Where(p => p.ContainerCode == containerModel.ContainerCode && p.BindStatus == CommonStatus.ENABLE) +// .OrderByDescending(p => p.CreatedTime) +// .ProjectToType<WmsMaterialContainer>().ToListAsync(); +// return XnRestfulResultProvider.RESTfulResult(GetContainerOutputModel); +// } - /// <summary> - /// 閫氳繃鍗曟嵁鍙疯幏鍙栨槑缁� - /// </summary> - /// <returns></returns> - [HttpGet("PadGetMaterial")] - [UnifyResult(typeof(List<PadGetMaterialOutput>))] - public async Task<object> PadGetMaterial([FromQuery] PadGetMaterialInput input) - { - // 鏌ヨ鍗曟嵁灏忕被鏄�滅敓浜у叆搴撯�濈殑Id - var wmsOrderType = await _wmsOrderTypeRep.FirstOrDefaultAsync(z => z.Name.Contains("鐢熶骇鍏ュ簱")); - //鑾峰彇涓昏〃 - var wmsOrders = await _wmsOrderRep.DetachedEntities - .Where(u => u.NO == input.NO && u.OrderStatus == OrderStatusEnum.YIXIAFA && u.OrderLargeCategory == wmsOrderType.Pid && u.OrderSubclass == wmsOrderType.Id) - .FirstOrDefaultAsync(); - if (wmsOrders == null) return XnRestfulResultProvider.RESTfulMesaage("鍗曟嵁涓嶅瓨鍦ㄦ垨鏈笅鍙�!"); - var wmsOrderDetailList =await _wmsOrderDetailsRep.Where(x=>x.OrderId == wmsOrders.Id) - .ProjectToType<PadGetMaterialOutput>() - .ToADPagedListAsync(input.PageNo, input.PageSize); - return XnRestfulResultProvider.RESTfulResult(wmsOrderDetailList); - } +// /// <summary> +// /// 閫氳繃鍗曟嵁鍙疯幏鍙栨槑缁� +// /// </summary> +// /// <returns></returns> +// [HttpGet("PadGetMaterial")] +// [UnifyResult(typeof(List<PadGetMaterialOutput>))] +// public async Task<object> PadGetMaterial([FromQuery] PadGetMaterialInput input) +// { +// // 鏌ヨ鍗曟嵁灏忕被鏄�滅敓浜у叆搴撯�濈殑Id +// var wmsOrderType = await _wmsOrderTypeRep.FirstOrDefaultAsync(z => z.Name.Contains("鐢熶骇鍏ュ簱")); +// //鑾峰彇涓昏〃 +// var wmsOrders = await _wmsOrderRep.DetachedEntities +// .Where(u => u.NO == input.NO && u.OrderStatus == OrderStatusEnum.YIXIAFA && u.OrderLargeCategory == wmsOrderType.Pid && u.OrderSubclass == wmsOrderType.Id) +// .FirstOrDefaultAsync(); +// if (wmsOrders == null) return XnRestfulResultProvider.RESTfulMesaage("鍗曟嵁涓嶅瓨鍦ㄦ垨鏈笅鍙�!"); +// var wmsOrderDetailList =await _wmsOrderDetailsRep.Where(x=>x.OrderId == wmsOrders.Id) +// .ProjectToType<PadGetMaterialOutput>() +// .ToADPagedListAsync(input.PageNo, input.PageSize); +// return XnRestfulResultProvider.RESTfulResult(wmsOrderDetailList); +// } - /// <summary> - /// 鎵ц浠呮敹璐ф搷浣滐紙缁勭洏锛� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("GroupDisk")] - [UnitOfWork] - public async Task<GroupDiskOutput> GroupDisk(GroupDiskInput input) - { - //鎵樼洏淇℃伅 - var containerModel = await _wmsContainerRep.FirstOrDefaultAsync(n => n.ContainerCode == input.ContainerCode && n.ContainerStatus != ContainerStatus.JINYONG); - if (containerModel == null) throw Oops.Oh("鎵樼洏淇℃伅涓嶅瓨鍦�!"); +// /// <summary> +// /// 鎵ц浠呮敹璐ф搷浣滐紙缁勭洏锛� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("GroupDisk")] +// [UnitOfWork] +// public async Task<GroupDiskOutput> GroupDisk(GroupDiskInput input) +// { +// //鎵樼洏淇℃伅 +// var containerModel = await _wmsContainerRep.FirstOrDefaultAsync(n => n.ContainerCode == input.ContainerCode && n.ContainerStatus != ContainerStatus.JINYONG); +// if (containerModel == null) throw Oops.Oh("鎵樼洏淇℃伅涓嶅瓨鍦�!"); - if (containerModel.ContainerStatus == ContainerStatus.FENJIAN) throw Oops.Oh("瀹瑰櫒瀛樺湪鍒嗘嫞淇℃伅!"); +// if (containerModel.ContainerStatus == ContainerStatus.FENJIAN) throw Oops.Oh("瀹瑰櫒瀛樺湪鍒嗘嫞淇℃伅!"); - if (containerModel.ContainerStatus == ContainerStatus.KUWEI) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); +// if (containerModel.ContainerStatus == ContainerStatus.KUWEI) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); - var isExit = await _wmsTaskRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG && p.TaskStatus != TaskStatusEnum.QUXIAO); - if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪鏈畬鎴愪换鍔′腑!"); +// var isExit = await _wmsTaskRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG && p.TaskStatus != TaskStatusEnum.QUXIAO); +// if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪鏈畬鎴愪换鍔′腑!"); - isExit = await _wmsContainerPlaceRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.ContainerPlaceStatus == CommonStatus.ENABLE); - if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); +// isExit = await _wmsContainerPlaceRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.ContainerPlaceStatus == CommonStatus.ENABLE); +// if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); - //缁勭洏淇℃伅 - var WmsMaterialContainerList = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == input.ContainerCode && p.BindStatus == CommonStatus.ENABLE).ToListAsync(); +// //缁勭洏淇℃伅 +// var WmsMaterialContainerList = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == input.ContainerCode && p.BindStatus == CommonStatus.ENABLE).ToListAsync(); - if (WmsMaterialContainerList.Count > 0) await _wmsMaterialContainerRep.DeleteAsync(WmsMaterialContainerList); +// if (WmsMaterialContainerList.Count > 0) await _wmsMaterialContainerRep.DeleteAsync(WmsMaterialContainerList); - //淇敼鎵樼洏鐘舵�� - containerModel.ContainerStatus = ContainerStatus.ZUPANG; - await _wmsContainerRep.UpdateAsync(containerModel); +// //淇敼鎵樼洏鐘舵�� +// containerModel.ContainerStatus = ContainerStatus.ZUPANG; +// await _wmsContainerRep.UpdateAsync(containerModel); - //缁勭洏鍗曟嵁 - var orderNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(); - if (input.WmsMaterials.Count >0)//鏈夌墿鏂欑殑鎯呭喌 - { - foreach (var item in input.WmsMaterials) - { - var bindentranceModel = item.Adapt<WmsMaterialContainer>(); - bindentranceModel.MaterialName = item.Materialname; - bindentranceModel.MaterialNo = item.Materialcode; - bindentranceModel.MaterialId = 4567;//鏆傚畾 - bindentranceModel.ContainerId = containerModel.Id; - bindentranceModel.ContainerCode = containerModel.ContainerCode; - bindentranceModel.MaterialBatch = "N/A"; - bindentranceModel.MaterialSpec = "N/A"; - bindentranceModel.BindQuantity = item.Qty; - bindentranceModel.BindStatus = CommonStatus.ENABLE; - bindentranceModel.OrderNo = orderNo; - bindentranceModel.MaterialDensity = "N/A"; - bindentranceModel.Id = Yitter.IdGenerator.YitIdHelper.NextId(); - await _wmsMaterialContainerRep.InsertAsync(bindentranceModel); - } - } - //else//绌烘墭鍏ュ簱鐨勬儏鍐� - //{ - // // 鍒涘缓鏂扮粍鐩樿褰� - // var bindentranceModel = new WmsMaterialContainer(); - // bindentranceModel.MaterialName = "绌烘墭"; - // bindentranceModel.MaterialNo = containerModel.ContainerCode; - // bindentranceModel.MaterialId = 55555;//鏆傚畾 - // bindentranceModel.ContainerId = containerModel.Id; - // bindentranceModel.ContainerCode = containerModel.ContainerCode; - // bindentranceModel.MaterialBatch = "N/A"; - // bindentranceModel.MaterialSpec = containerModel.SpecLength + "*" + containerModel.SpecWidth; - // bindentranceModel.BindQuantity = 1; - // bindentranceModel.BindStatus = CommonStatus.ENABLE; - // bindentranceModel.OrderNo = orderNo; - // bindentranceModel.MaterialDensity = "N/A"; - // bindentranceModel.Id = YitIdHelper.NextId(); - // await _wmsMaterialContainerRep.InsertNowAsync(bindentranceModel); - //} - return new GroupDiskOutput() - { - Containercode = input.ContainerCode, - OrderNo = orderNo - }; - } +// //缁勭洏鍗曟嵁 +// var orderNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(); +// if (input.WmsMaterials.Count >0)//鏈夌墿鏂欑殑鎯呭喌 +// { +// foreach (var item in input.WmsMaterials) +// { +// var bindentranceModel = item.Adapt<WmsMaterialContainer>(); +// bindentranceModel.MaterialName = item.Materialname; +// bindentranceModel.MaterialNo = item.Materialcode; +// bindentranceModel.MaterialId = 4567;//鏆傚畾 +// bindentranceModel.ContainerId = containerModel.Id; +// bindentranceModel.ContainerCode = containerModel.ContainerCode; +// bindentranceModel.MaterialBatch = "N/A"; +// bindentranceModel.MaterialSpec = "N/A"; +// bindentranceModel.BindQuantity = item.Qty; +// bindentranceModel.BindStatus = CommonStatus.ENABLE; +// bindentranceModel.OrderNo = orderNo; +// bindentranceModel.MaterialDensity = "N/A"; +// bindentranceModel.Id = Yitter.IdGenerator.YitIdHelper.NextId(); +// await _wmsMaterialContainerRep.InsertAsync(bindentranceModel); +// } +// } +// //else//绌烘墭鍏ュ簱鐨勬儏鍐� +// //{ +// // // 鍒涘缓鏂扮粍鐩樿褰� +// // var bindentranceModel = new WmsMaterialContainer(); +// // bindentranceModel.MaterialName = "绌烘墭"; +// // bindentranceModel.MaterialNo = containerModel.ContainerCode; +// // bindentranceModel.MaterialId = 55555;//鏆傚畾 +// // bindentranceModel.ContainerId = containerModel.Id; +// // bindentranceModel.ContainerCode = containerModel.ContainerCode; +// // bindentranceModel.MaterialBatch = "N/A"; +// // bindentranceModel.MaterialSpec = containerModel.SpecLength + "*" + containerModel.SpecWidth; +// // bindentranceModel.BindQuantity = 1; +// // bindentranceModel.BindStatus = CommonStatus.ENABLE; +// // bindentranceModel.OrderNo = orderNo; +// // bindentranceModel.MaterialDensity = "N/A"; +// // bindentranceModel.Id = YitIdHelper.NextId(); +// // await _wmsMaterialContainerRep.InsertNowAsync(bindentranceModel); +// //} +// return new GroupDiskOutput() +// { +// Containercode = input.ContainerCode, +// OrderNo = orderNo +// }; +// } - /// <summary> - /// 鎻愪氦鍏ュ簱 - /// </summary> - /// <returns></returns> - [HttpPost("PdaInWarehouse")] - [UnitOfWork] - public async Task PdaInWarehouse([FromBody] PdaInWarehouseInput input) - { +// /// <summary> +// /// 鎻愪氦鍏ュ簱 +// /// </summary> +// /// <returns></returns> +// [HttpPost("PdaInWarehouse")] +// [UnitOfWork] +// public async Task PdaInWarehouse([FromBody] PdaInWarehouseInput input) +// { - //妫�鏌ユ墭鐩� - var containerModel = await _wmsContainerRep.FirstOrDefaultAsync(p => p.ContainerCode == input.ContainerCode && p.ContainerStatus != ContainerStatus.JINYONG); - if (containerModel == null) throw Oops.Oh("鎵樼洏涓嶅瓨鍦�!"); +// //妫�鏌ユ墭鐩� +// var containerModel = await _wmsContainerRep.FirstOrDefaultAsync(p => p.ContainerCode == input.ContainerCode && p.ContainerStatus != ContainerStatus.JINYONG); +// if (containerModel == null) throw Oops.Oh("鎵樼洏涓嶅瓨鍦�!"); - if (containerModel.ContainerStatus == ContainerStatus.FENJIAN) throw Oops.Oh("瀹瑰櫒瀛樺湪鍒嗘嫞淇℃伅!"); +// if (containerModel.ContainerStatus == ContainerStatus.FENJIAN) throw Oops.Oh("瀹瑰櫒瀛樺湪鍒嗘嫞淇℃伅!"); - var isExit = await _wmsTaskRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG && p.TaskStatus != TaskStatusEnum.QUXIAO); - if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪鏈畬鎴愪换鍔′腑!"); +// var isExit = await _wmsTaskRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG && p.TaskStatus != TaskStatusEnum.QUXIAO); +// if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪鏈畬鎴愪换鍔′腑!"); - var isInPlace = await _wmsContainerRep.FirstOrDefaultAsync(n => n.ContainerCode == input.ContainerCode && n.ContainerStatus == ContainerStatus.KUWEI); - if (isInPlace != null) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); +// var isInPlace = await _wmsContainerRep.FirstOrDefaultAsync(n => n.ContainerCode == input.ContainerCode && n.ContainerStatus == ContainerStatus.KUWEI); +// if (isInPlace != null) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); - isExit = await _wmsContainerPlaceRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.ContainerPlaceStatus == CommonStatus.ENABLE); - if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); +// isExit = await _wmsContainerPlaceRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.ContainerPlaceStatus == CommonStatus.ENABLE); +// if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); - //鍒犻櫎缁勭洏淇℃伅 - var oldwmsMaterialContainerList = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == input.ContainerCode && p.BindStatus == CommonStatus.ENABLE).ToListAsync(); +// //鍒犻櫎缁勭洏淇℃伅 +// var oldwmsMaterialContainerList = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == input.ContainerCode && p.BindStatus == CommonStatus.ENABLE).ToListAsync(); - if (oldwmsMaterialContainerList.Count > 0) await _wmsMaterialContainerRep.DeleteAsync(oldwmsMaterialContainerList); +// if (oldwmsMaterialContainerList.Count > 0) await _wmsMaterialContainerRep.DeleteAsync(oldwmsMaterialContainerList); - //缁勭洏鍗曟嵁鍙� - var orderNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(); - if (input.WmsMaterials!=null || input.WmsMaterials.Count <= 0)//鏈夌墿鏂欑殑鎯呭喌 - { - foreach (var item in input.WmsMaterials) - { - var bindentranceModel = item.Adapt<WmsMaterialContainer>(); - bindentranceModel.MaterialName = item.Materialname; - bindentranceModel.MaterialNo = item.Materialcode; - bindentranceModel.MaterialId = 4567; - bindentranceModel.ContainerId = containerModel.Id; - bindentranceModel.ContainerCode = containerModel.ContainerCode; - bindentranceModel.MaterialBatch = "N/A"; - bindentranceModel.MaterialSpec = "N/A"; - bindentranceModel.BindQuantity = item.Qty; - bindentranceModel.BindStatus = CommonStatus.ENABLE; - bindentranceModel.OrderNo = orderNo; - bindentranceModel.MaterialDensity = "N/A"; - bindentranceModel.Id = Yitter.IdGenerator.YitIdHelper.NextId(); - await _wmsMaterialContainerRep.InsertAsync(bindentranceModel); - ////鏇存敼鏄庣粏鍏ュ簱鏁伴噺 - //var wmsOrderDetailsModal = await _wmsOrderDetailsRep.FirstOrDefaultAsync(x => x.Id == item.Id); - //wmsOrderDetailsModal.InventoryQty += item.Qty; - } - } - //else//绌烘墭鍏ュ簱鐨勬儏鍐� - //{ - // // 鍒涘缓鏂扮粍鐩樿褰� - // var bindentranceModel = new WmsMaterialContainer(); - // bindentranceModel.MaterialName = "绌烘墭"; - // bindentranceModel.MaterialNo = containerModel.ContainerCode; - // bindentranceModel.MaterialId = 55555;//鏆傚畾 - // bindentranceModel.ContainerId = containerModel.Id; - // bindentranceModel.ContainerCode = containerModel.ContainerCode; - // bindentranceModel.MaterialBatch = "N/A";//鏍规嵁鐗╂枡鐮佽В鏋� - // bindentranceModel.MaterialSpec = containerModel.SpecLength + "*" + containerModel.SpecWidth; - // bindentranceModel.BindQuantity = 1; - // bindentranceModel.BindStatus = CommonStatus.ENABLE; - // bindentranceModel.OrderNo = orderNo; - // bindentranceModel.MaterialDensity = "N/A";//鏍规嵁鐗╂枡鐮佽В鏋� - // bindentranceModel.Id = YitIdHelper.NextId(); - // await _wmsMaterialContainerRep.InsertNowAsync(bindentranceModel); - //} +// //缁勭洏鍗曟嵁鍙� +// var orderNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(); +// if (input.WmsMaterials!=null || input.WmsMaterials.Count <= 0)//鏈夌墿鏂欑殑鎯呭喌 +// { +// foreach (var item in input.WmsMaterials) +// { +// var bindentranceModel = item.Adapt<WmsMaterialContainer>(); +// bindentranceModel.MaterialName = item.Materialname; +// bindentranceModel.MaterialNo = item.Materialcode; +// bindentranceModel.MaterialId = 4567; +// bindentranceModel.ContainerId = containerModel.Id; +// bindentranceModel.ContainerCode = containerModel.ContainerCode; +// bindentranceModel.MaterialBatch = "N/A"; +// bindentranceModel.MaterialSpec = "N/A"; +// bindentranceModel.BindQuantity = item.Qty; +// bindentranceModel.BindStatus = CommonStatus.ENABLE; +// bindentranceModel.OrderNo = orderNo; +// bindentranceModel.MaterialDensity = "N/A"; +// bindentranceModel.Id = Yitter.IdGenerator.YitIdHelper.NextId(); +// await _wmsMaterialContainerRep.InsertAsync(bindentranceModel); +// ////鏇存敼鏄庣粏鍏ュ簱鏁伴噺 +// //var wmsOrderDetailsModal = await _wmsOrderDetailsRep.FirstOrDefaultAsync(x => x.Id == item.Id); +// //wmsOrderDetailsModal.InventoryQty += item.Qty; +// } +// } +// //else//绌烘墭鍏ュ簱鐨勬儏鍐� +// //{ +// // // 鍒涘缓鏂扮粍鐩樿褰� +// // var bindentranceModel = new WmsMaterialContainer(); +// // bindentranceModel.MaterialName = "绌烘墭"; +// // bindentranceModel.MaterialNo = containerModel.ContainerCode; +// // bindentranceModel.MaterialId = 55555;//鏆傚畾 +// // bindentranceModel.ContainerId = containerModel.Id; +// // bindentranceModel.ContainerCode = containerModel.ContainerCode; +// // bindentranceModel.MaterialBatch = "N/A";//鏍规嵁鐗╂枡鐮佽В鏋� +// // bindentranceModel.MaterialSpec = containerModel.SpecLength + "*" + containerModel.SpecWidth; +// // bindentranceModel.BindQuantity = 1; +// // bindentranceModel.BindStatus = CommonStatus.ENABLE; +// // bindentranceModel.OrderNo = orderNo; +// // bindentranceModel.MaterialDensity = "N/A";//鏍规嵁鐗╂枡鐮佽В鏋� +// // bindentranceModel.Id = YitIdHelper.NextId(); +// // await _wmsMaterialContainerRep.InsertNowAsync(bindentranceModel); +// //} - ////淇敼鎵樼洏鐘舵�� - //containerModel.ContainerStatus = ContainerStatus.ZUPANG; - //await _wmsContainerRep.UpdateAsync(containerModel); - //鍒嗛厤宸烽亾 - var Aisle = 1; +// ////淇敼鎵樼洏鐘舵�� +// //containerModel.ContainerStatus = ContainerStatus.ZUPANG; +// //await _wmsContainerRep.UpdateAsync(containerModel); +// //鍒嗛厤宸烽亾 +// var Aisle = 1; - //浠诲姟 - var takmodel = new WmsTask() - { - TaskNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(), - TaskModel = TaskModel.QUANZIDONG, - TaskType = TaskType.RUKU, - TaskLevel = 1, - TaskStatus = TaskStatusEnum.ZHIXINGZHONG, - OrderNo = orderNo, - OrderDetailsId = 0, - ContainerCode = input.ContainerCode, - SourcePlace = "鍏ュ簱鍙�",//鐜板満鎯呭喌涓虹┖ - ToPlace = "", //鐩爣浣� - AreaName = "缁濈紭绔嬪簱", - IsRead = true, //WCS鏄惁鍙互璇诲彇 - SendTimes = 1, //鍙戦�佹鏁� - Aisle = Aisle,// 鏍规嵁搴撳尯id鑾峰彇鍑犲彿鎻愬崌鏈猴紝娴嬭瘯浣跨敤涓�鍙� - TaskDodeviceStatus = TaskDodeviceStatusEnum.W - }; - if (input.WmsMaterials == null || input.WmsMaterials.Count <= 0) { - takmodel.Description = "绌烘墭"; - } - else - { - takmodel.Description = "鐗╂枡"; - }; +// //浠诲姟 +// var takmodel = new WmsTask() +// { +// TaskNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(), +// TaskModel = TaskModel.QUANZIDONG, +// TaskType = TaskType.RUKU, +// TaskLevel = 1, +// TaskStatus = TaskStatusEnum.ZHIXINGZHONG, +// OrderNo = orderNo, +// OrderDetailsId = 0, +// ContainerCode = input.ContainerCode, +// SourcePlace = "鍏ュ簱鍙�",//鐜板満鎯呭喌涓虹┖ +// ToPlace = "", //鐩爣浣� +// AreaName = "缁濈紭绔嬪簱", +// IsRead = true, //WCS鏄惁鍙互璇诲彇 +// SendTimes = 1, //鍙戦�佹鏁� +// Aisle = Aisle,// 鏍规嵁搴撳尯id鑾峰彇鍑犲彿鎻愬崌鏈猴紝娴嬭瘯浣跨敤涓�鍙� +// TaskDodeviceStatus = TaskDodeviceStatusEnum.W +// }; +// if (input.WmsMaterials == null || input.WmsMaterials.Count <= 0) { +// takmodel.Description = "绌烘墭"; +// } +// else +// { +// takmodel.Description = "鐗╂枡"; +// }; - await _wmsTaskRep.InsertAsync(takmodel); - } - } -} +// await _wmsTaskRep.InsertAsync(takmodel); +// } +// } +//} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsStockReturnWarehouse/WmsStockReturnWarehouseService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsStockReturnWarehouse/WmsStockReturnWarehouseService.cs index 23fb9c1..a484674 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsStockReturnWarehouse/WmsStockReturnWarehouseService.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsStockReturnWarehouse/WmsStockReturnWarehouseService.cs @@ -1,317 +1,317 @@ -锘縰sing Furion.DatabaseAccessor; -using Furion.DependencyInjection; -using Furion.DynamicApiController; -using Furion.FriendlyException; -using Mapster; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; -using System.Linq.Dynamic.Core; -using Admin.NET.Core; -using Yitter.IdGenerator; -using Microsoft.Extensions.Logging; -using Microsoft.AspNetCore.Mvc.RazorPages; +锘�//using Furion.DatabaseAccessor; +//using Furion.DependencyInjection; +//using Furion.DynamicApiController; +//using Furion.FriendlyException; +//using Mapster; +//using Microsoft.AspNetCore.Authorization; +//using Microsoft.AspNetCore.Mvc; +//using Microsoft.EntityFrameworkCore; +//using System.Linq.Dynamic.Core; +//using Admin.NET.Core; +//using Yitter.IdGenerator; +//using Microsoft.Extensions.Logging; +//using Microsoft.AspNetCore.Mvc.RazorPages; -namespace Admin.NET.Application -{ - /// <summary> - /// Pda鐗╂枡閫�搴� - /// </summary> - [ApiDescriptionSettings("Pda鐗╂枡閫�搴�", Name = "WmsStockReturnWarehouse", Order = 100)] - [Route("api/[Controller]")] - public class WmsStockReturnWarehouseService : IDynamicApiController, ITransient - { - private readonly IRepository<WmsStockReturnOrder, MasterDbContextLocator> _wmsStockReturnOrderRep; - private readonly IRepository<WmsStockReturnOrderDetails, MasterDbContextLocator> _wmsStockReturnOrderDetailsRep; - private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; - private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; - private readonly IRepository<WmsArea, MasterDbContextLocator> _wmsAreaRep; - private readonly IRepository<WmsWarehouseEntrance, MasterDbContextLocator> _wmsWarehouseEntranceRep; - private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; - private readonly IRepository<WmsContainer, MasterDbContextLocator> _wmsContainerRep; - private readonly IRepository<WmsContainerPlace, MasterDbContextLocator> _wmsContainerPlaceRep; - private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; - private readonly IRepository<WmsOrderType, MasterDbContextLocator> _wmsOrderTypeRep; +//namespace Admin.NET.Application +//{ +// /// <summary> +// /// Pda鐗╂枡閫�搴� +// /// </summary> +// [ApiDescriptionSettings("Pda鐗╂枡閫�搴�", Name = "WmsStockReturnWarehouse", Order = 100)] +// [Route("api/[Controller]")] +// public class WmsStockReturnWarehouseService : IDynamicApiController, ITransient +// { +// private readonly IRepository<WmsStockReturnOrder, MasterDbContextLocator> _wmsStockReturnOrderRep; +// private readonly IRepository<WmsStockReturnOrderDetails, MasterDbContextLocator> _wmsStockReturnOrderDetailsRep; +// private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; +// private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; +// private readonly IRepository<WmsArea, MasterDbContextLocator> _wmsAreaRep; +// private readonly IRepository<WmsWarehouseEntrance, MasterDbContextLocator> _wmsWarehouseEntranceRep; +// private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; +// private readonly IRepository<WmsContainer, MasterDbContextLocator> _wmsContainerRep; +// private readonly IRepository<WmsContainerPlace, MasterDbContextLocator> _wmsContainerPlaceRep; +// private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; +// private readonly IRepository<WmsOrderType, MasterDbContextLocator> _wmsOrderTypeRep; - /// <summary> - /// 鏋勯�犲嚱鏁� - /// </summary> - public WmsStockReturnWarehouseService( - IRepository<WmsStockReturnOrder, MasterDbContextLocator> wmsStockReturnOrderRep, - IRepository<WmsStockReturnOrderDetails, MasterDbContextLocator> wmsStockReturnOrderDetailsRep, - IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep, - IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep, - IRepository<WmsArea, MasterDbContextLocator> wmsAreaRep, - IRepository<WmsWarehouseEntrance, MasterDbContextLocator> wmsWarehouseEntranceRep, - IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep, - IRepository<WmsContainer, MasterDbContextLocator> wmsContainerRep, - IRepository<WmsContainerPlace, MasterDbContextLocator> wmsContainerPlaceRep, - IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep, - IRepository<WmsOrderType, MasterDbContextLocator> wmsOrderTypeRep - ) - { - _wmsStockReturnOrderRep = wmsStockReturnOrderRep; - _wmsStockReturnOrderDetailsRep = wmsStockReturnOrderDetailsRep; - _wmsTaskRep = wmsTaskRep; - _wmsPlaceRep = wmsPlaceRep; - _wmsAreaRep = wmsAreaRep; - _wmsWarehouseEntranceRep = wmsWarehouseEntranceRep; - _wmsMaterialContainerRep = wmsMaterialContainerRep; - _wmsContainerRep = wmsContainerRep; - _wmsContainerPlaceRep = wmsContainerPlaceRep; - _wmsMaterialStockRep = wmsMaterialStockRep; - _wmsOrderTypeRep = wmsOrderTypeRep; - } +// /// <summary> +// /// 鏋勯�犲嚱鏁� +// /// </summary> +// public WmsStockReturnWarehouseService( +// IRepository<WmsStockReturnOrder, MasterDbContextLocator> wmsStockReturnOrderRep, +// IRepository<WmsStockReturnOrderDetails, MasterDbContextLocator> wmsStockReturnOrderDetailsRep, +// IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep, +// IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep, +// IRepository<WmsArea, MasterDbContextLocator> wmsAreaRep, +// IRepository<WmsWarehouseEntrance, MasterDbContextLocator> wmsWarehouseEntranceRep, +// IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep, +// IRepository<WmsContainer, MasterDbContextLocator> wmsContainerRep, +// IRepository<WmsContainerPlace, MasterDbContextLocator> wmsContainerPlaceRep, +// IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep, +// IRepository<WmsOrderType, MasterDbContextLocator> wmsOrderTypeRep +// ) +// { +// _wmsStockReturnOrderRep = wmsStockReturnOrderRep; +// _wmsStockReturnOrderDetailsRep = wmsStockReturnOrderDetailsRep; +// _wmsTaskRep = wmsTaskRep; +// _wmsPlaceRep = wmsPlaceRep; +// _wmsAreaRep = wmsAreaRep; +// _wmsWarehouseEntranceRep = wmsWarehouseEntranceRep; +// _wmsMaterialContainerRep = wmsMaterialContainerRep; +// _wmsContainerRep = wmsContainerRep; +// _wmsContainerPlaceRep = wmsContainerPlaceRep; +// _wmsMaterialStockRep = wmsMaterialStockRep; +// _wmsOrderTypeRep = wmsOrderTypeRep; +// } - /// <summary> - /// 鑾峰彇鎵樼洏 - /// </summary> - /// <returns></returns> - [HttpGet("GetContainer")] - [UnifyResult(typeof(StockReturnGetContainerOutput))] - public async Task<object> CheckTray([FromQuery] StockReturnGetContainerInput input) - { - var containerModel = await _wmsContainerRep.DetachedEntities.Where(z => z.ContainerCode == input.ContainerCode).FirstOrDefaultAsync(); - //濡傛灉鎵樼洏涓嶅瓨鍦ㄥ垯娣诲姞涓�涓� - if (containerModel == null) { - var ContainerInfo = input.Adapt<WmsContainer>(); - ContainerInfo.ContainerStatus = ContainerStatus.KOUXIAN; - ContainerInfo.AssetNo = "N/A"; - ContainerInfo.ContainerCategory = ContainerCategory.GZP; - ContainerInfo.ErpNo = "N/A"; - ContainerInfo.IsVirtually = YesOrNot.N; - ContainerInfo.WorkShopType = LesWorkShopType.FAPAOCHEJIAN; - await _wmsContainerRep.InsertNowAsync(ContainerInfo); - containerModel = ContainerInfo; - } +// /// <summary> +// /// 鑾峰彇鎵樼洏 +// /// </summary> +// /// <returns></returns> +// [HttpGet("GetContainer")] +// [UnifyResult(typeof(StockReturnGetContainerOutput))] +// public async Task<object> CheckTray([FromQuery] StockReturnGetContainerInput input) +// { +// var containerModel = await _wmsContainerRep.DetachedEntities.Where(z => z.ContainerCode == input.ContainerCode).FirstOrDefaultAsync(); +// //濡傛灉鎵樼洏涓嶅瓨鍦ㄥ垯娣诲姞涓�涓� +// if (containerModel == null) { +// var ContainerInfo = input.Adapt<WmsContainer>(); +// ContainerInfo.ContainerStatus = ContainerStatus.KOUXIAN; +// ContainerInfo.AssetNo = "N/A"; +// ContainerInfo.ContainerCategory = ContainerCategory.GZP; +// ContainerInfo.ErpNo = "N/A"; +// ContainerInfo.IsVirtually = YesOrNot.N; +// ContainerInfo.WorkShopType = LesWorkShopType.FAPAOCHEJIAN; +// await _wmsContainerRep.InsertNowAsync(ContainerInfo); +// containerModel = ContainerInfo; +// } - var isExit = await _wmsTaskRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG && p.TaskStatus != TaskStatusEnum.QUXIAO); - if (isExit) return XnRestfulResultProvider.RESTfulMesaage("鎵樼洏瀛樺湪鏈畬鎴愪换鍔�!"); +// var isExit = await _wmsTaskRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG && p.TaskStatus != TaskStatusEnum.QUXIAO); +// if (isExit) return XnRestfulResultProvider.RESTfulMesaage("鎵樼洏瀛樺湪鏈畬鎴愪换鍔�!"); - isExit = await _wmsContainerPlaceRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.ContainerPlaceStatus == CommonStatus.ENABLE); - if (isExit) return XnRestfulResultProvider.RESTfulMesaage("鎵樼洏瀛樺湪搴撲綅涓�!"); +// isExit = await _wmsContainerPlaceRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.ContainerPlaceStatus == CommonStatus.ENABLE); +// if (isExit) return XnRestfulResultProvider.RESTfulMesaage("鎵樼洏瀛樺湪搴撲綅涓�!"); - var GetContainerOutputModel = new GetContainerOutput() - { - WmsContainer = containerModel.Adapt<WmsContainerDto>(), - ContainerCode = containerModel.ContainerCode, - }; - //鑾峰彇缁勭洏鏁版嵁 - GetContainerOutputModel.WmsMaterials = await _wmsMaterialContainerRep - .Where(p => p.ContainerCode == containerModel.ContainerCode && p.BindStatus == CommonStatus.ENABLE) - .OrderByDescending(p => p.CreatedTime) - .ProjectToType<WmsMaterialContainer>().ToListAsync(); - return XnRestfulResultProvider.RESTfulResult(GetContainerOutputModel); - } +// var GetContainerOutputModel = new GetContainerOutput() +// { +// WmsContainer = containerModel.Adapt<WmsContainerDto>(), +// ContainerCode = containerModel.ContainerCode, +// }; +// //鑾峰彇缁勭洏鏁版嵁 +// GetContainerOutputModel.WmsMaterials = await _wmsMaterialContainerRep +// .Where(p => p.ContainerCode == containerModel.ContainerCode && p.BindStatus == CommonStatus.ENABLE) +// .OrderByDescending(p => p.CreatedTime) +// .ProjectToType<WmsMaterialContainer>().ToListAsync(); +// return XnRestfulResultProvider.RESTfulResult(GetContainerOutputModel); +// } - /// <summary> - /// 閫氳繃鍗曟嵁鍙疯幏鍙栨槑缁� - /// </summary> - /// <returns></returns> - [HttpGet("PadGetMaterial")] - [UnifyResult(typeof(List<StockReturnPadGetMaterialOutput>))] - public async Task<object> PadGetMaterial([FromQuery] StockReturnPadGetMaterialInput input) - { - // 鏌ヨ鍗曟嵁灏忕被鏄�滅墿鏂欓��搴撯�濈殑Id - var wmsOrderType = await _wmsOrderTypeRep.FirstOrDefaultAsync(z => z.Name.Contains("鐗╂枡閫�搴�")); - //鑾峰彇涓昏〃 - var wmsOrders = await _wmsStockReturnOrderRep.DetachedEntities - .Where(u => u.NO == input.NO && u.OrderStatus == OrderStatusEnum.YIXIAFA && u.OrderLargeCategory == wmsOrderType.Pid && u.OrderSubclass == wmsOrderType.Id) - .FirstOrDefaultAsync(); - if (wmsOrders == null) return XnRestfulResultProvider.RESTfulMesaage("鍗曟嵁涓嶅瓨鍦ㄦ垨鏈笅鍙�!"); - var wmsOrderDetailList =await _wmsStockReturnOrderDetailsRep.Where(x=>x.OrderId == wmsOrders.Id) - .ProjectToType<StockReturnPadGetMaterialOutput>() - .ToADPagedListAsync(input.PageNo, input.PageSize); - return XnRestfulResultProvider.RESTfulResult(wmsOrderDetailList); - } +// /// <summary> +// /// 閫氳繃鍗曟嵁鍙疯幏鍙栨槑缁� +// /// </summary> +// /// <returns></returns> +// [HttpGet("PadGetMaterial")] +// [UnifyResult(typeof(List<StockReturnPadGetMaterialOutput>))] +// public async Task<object> PadGetMaterial([FromQuery] StockReturnPadGetMaterialInput input) +// { +// // 鏌ヨ鍗曟嵁灏忕被鏄�滅墿鏂欓��搴撯�濈殑Id +// var wmsOrderType = await _wmsOrderTypeRep.FirstOrDefaultAsync(z => z.Name.Contains("鐗╂枡閫�搴�")); +// //鑾峰彇涓昏〃 +// var wmsOrders = await _wmsStockReturnOrderRep.DetachedEntities +// .Where(u => u.NO == input.NO && u.OrderStatus == OrderStatusEnum.YIXIAFA && u.OrderLargeCategory == wmsOrderType.Pid && u.OrderSubclass == wmsOrderType.Id) +// .FirstOrDefaultAsync(); +// if (wmsOrders == null) return XnRestfulResultProvider.RESTfulMesaage("鍗曟嵁涓嶅瓨鍦ㄦ垨鏈笅鍙�!"); +// var wmsOrderDetailList =await _wmsStockReturnOrderDetailsRep.Where(x=>x.OrderId == wmsOrders.Id) +// .ProjectToType<StockReturnPadGetMaterialOutput>() +// .ToADPagedListAsync(input.PageNo, input.PageSize); +// return XnRestfulResultProvider.RESTfulResult(wmsOrderDetailList); +// } - /// <summary> - /// 鎵ц浠呮敹璐ф搷浣滐紙缁勭洏锛� - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - [HttpPost("GroupDisk")] - [UnitOfWork] - public async Task<StockReturnGroupDiskOutput> GroupDisk(StockReturnGroupDiskInput input) - { - //鎵樼洏淇℃伅 - var containerModel = await _wmsContainerRep.FirstOrDefaultAsync(n => n.ContainerCode == input.ContainerCode && n.ContainerStatus != ContainerStatus.JINYONG); - if (containerModel == null) throw Oops.Oh("鎵樼洏淇℃伅涓嶅瓨鍦�!"); +// /// <summary> +// /// 鎵ц浠呮敹璐ф搷浣滐紙缁勭洏锛� +// /// </summary> +// /// <param name="input"></param> +// /// <returns></returns> +// [HttpPost("GroupDisk")] +// [UnitOfWork] +// public async Task<StockReturnGroupDiskOutput> GroupDisk(StockReturnGroupDiskInput input) +// { +// //鎵樼洏淇℃伅 +// var containerModel = await _wmsContainerRep.FirstOrDefaultAsync(n => n.ContainerCode == input.ContainerCode && n.ContainerStatus != ContainerStatus.JINYONG); +// if (containerModel == null) throw Oops.Oh("鎵樼洏淇℃伅涓嶅瓨鍦�!"); - if (containerModel.ContainerStatus == ContainerStatus.FENJIAN) throw Oops.Oh("瀹瑰櫒瀛樺湪鍒嗘嫞淇℃伅!"); +// if (containerModel.ContainerStatus == ContainerStatus.FENJIAN) throw Oops.Oh("瀹瑰櫒瀛樺湪鍒嗘嫞淇℃伅!"); - if (containerModel.ContainerStatus == ContainerStatus.KUWEI) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); +// if (containerModel.ContainerStatus == ContainerStatus.KUWEI) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); - var isExit = await _wmsTaskRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG && p.TaskStatus != TaskStatusEnum.QUXIAO); - if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪鏈畬鎴愪换鍔′腑!"); +// var isExit = await _wmsTaskRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG && p.TaskStatus != TaskStatusEnum.QUXIAO); +// if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪鏈畬鎴愪换鍔′腑!"); - isExit = await _wmsContainerPlaceRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.ContainerPlaceStatus == CommonStatus.ENABLE); - if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); +// isExit = await _wmsContainerPlaceRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.ContainerPlaceStatus == CommonStatus.ENABLE); +// if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); - //缁勭洏淇℃伅 - var WmsMaterialContainerList = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == input.ContainerCode && p.BindStatus == CommonStatus.ENABLE).ToListAsync(); +// //缁勭洏淇℃伅 +// var WmsMaterialContainerList = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == input.ContainerCode && p.BindStatus == CommonStatus.ENABLE).ToListAsync(); - if (WmsMaterialContainerList.Count > 0) await _wmsMaterialContainerRep.DeleteAsync(WmsMaterialContainerList); +// if (WmsMaterialContainerList.Count > 0) await _wmsMaterialContainerRep.DeleteAsync(WmsMaterialContainerList); - //淇敼鎵樼洏鐘舵�� - containerModel.ContainerStatus = ContainerStatus.ZUPANG; - await _wmsContainerRep.UpdateAsync(containerModel); +// //淇敼鎵樼洏鐘舵�� +// containerModel.ContainerStatus = ContainerStatus.ZUPANG; +// await _wmsContainerRep.UpdateAsync(containerModel); - //缁勭洏鍗曟嵁 - var orderNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(); - if (input.WmsMaterials.Count >0)//鏈夌墿鏂欑殑鎯呭喌 - { - foreach (var item in input.WmsMaterials) - { - var bindentranceModel = item.Adapt<WmsMaterialContainer>(); - bindentranceModel.MaterialName = item.Materialname; - bindentranceModel.MaterialNo = item.Materialcode; - bindentranceModel.MaterialId = 4567;//鏆傚畾 - bindentranceModel.ContainerId = containerModel.Id; - bindentranceModel.ContainerCode = containerModel.ContainerCode; - bindentranceModel.MaterialBatch = "N/A"; - bindentranceModel.MaterialSpec = "N/A"; - bindentranceModel.BindQuantity = item.Qty; - bindentranceModel.BindStatus = CommonStatus.ENABLE; - bindentranceModel.OrderNo = orderNo; - bindentranceModel.MaterialDensity = "N/A"; - bindentranceModel.Id = Yitter.IdGenerator.YitIdHelper.NextId(); - await _wmsMaterialContainerRep.InsertAsync(bindentranceModel); - } - } - //else//绌烘墭鍏ュ簱鐨勬儏鍐� - //{ - // // 鍒涘缓鏂扮粍鐩樿褰� - // var bindentranceModel = new WmsMaterialContainer(); - // bindentranceModel.MaterialName = "绌烘墭"; - // bindentranceModel.MaterialNo = containerModel.ContainerCode; - // bindentranceModel.MaterialId = 55555;//鏆傚畾 - // bindentranceModel.ContainerId = containerModel.Id; - // bindentranceModel.ContainerCode = containerModel.ContainerCode; - // bindentranceModel.MaterialBatch = "N/A"; - // bindentranceModel.MaterialSpec = containerModel.SpecLength + "*" + containerModel.SpecWidth; - // bindentranceModel.BindQuantity = 1; - // bindentranceModel.BindStatus = CommonStatus.ENABLE; - // bindentranceModel.OrderNo = orderNo; - // bindentranceModel.MaterialDensity = "N/A"; - // bindentranceModel.Id = YitIdHelper.NextId(); - // await _wmsMaterialContainerRep.InsertNowAsync(bindentranceModel); - //} - return new StockReturnGroupDiskOutput() - { - Containercode = input.ContainerCode, - OrderNo = orderNo - }; - } +// //缁勭洏鍗曟嵁 +// var orderNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(); +// if (input.WmsMaterials.Count >0)//鏈夌墿鏂欑殑鎯呭喌 +// { +// foreach (var item in input.WmsMaterials) +// { +// var bindentranceModel = item.Adapt<WmsMaterialContainer>(); +// bindentranceModel.MaterialName = item.Materialname; +// bindentranceModel.MaterialNo = item.Materialcode; +// bindentranceModel.MaterialId = 4567;//鏆傚畾 +// bindentranceModel.ContainerId = containerModel.Id; +// bindentranceModel.ContainerCode = containerModel.ContainerCode; +// bindentranceModel.MaterialBatch = "N/A"; +// bindentranceModel.MaterialSpec = "N/A"; +// bindentranceModel.BindQuantity = item.Qty; +// bindentranceModel.BindStatus = CommonStatus.ENABLE; +// bindentranceModel.OrderNo = orderNo; +// bindentranceModel.MaterialDensity = "N/A"; +// bindentranceModel.Id = Yitter.IdGenerator.YitIdHelper.NextId(); +// await _wmsMaterialContainerRep.InsertAsync(bindentranceModel); +// } +// } +// //else//绌烘墭鍏ュ簱鐨勬儏鍐� +// //{ +// // // 鍒涘缓鏂扮粍鐩樿褰� +// // var bindentranceModel = new WmsMaterialContainer(); +// // bindentranceModel.MaterialName = "绌烘墭"; +// // bindentranceModel.MaterialNo = containerModel.ContainerCode; +// // bindentranceModel.MaterialId = 55555;//鏆傚畾 +// // bindentranceModel.ContainerId = containerModel.Id; +// // bindentranceModel.ContainerCode = containerModel.ContainerCode; +// // bindentranceModel.MaterialBatch = "N/A"; +// // bindentranceModel.MaterialSpec = containerModel.SpecLength + "*" + containerModel.SpecWidth; +// // bindentranceModel.BindQuantity = 1; +// // bindentranceModel.BindStatus = CommonStatus.ENABLE; +// // bindentranceModel.OrderNo = orderNo; +// // bindentranceModel.MaterialDensity = "N/A"; +// // bindentranceModel.Id = YitIdHelper.NextId(); +// // await _wmsMaterialContainerRep.InsertNowAsync(bindentranceModel); +// //} +// return new StockReturnGroupDiskOutput() +// { +// Containercode = input.ContainerCode, +// OrderNo = orderNo +// }; +// } - /// <summary> - /// 鎻愪氦鍏ュ簱 - /// </summary> - /// <returns></returns> - [HttpPost("PdaInWarehouse")] - [UnitOfWork] - public async Task PdaInWarehouse([FromBody] StockReturnPdaInWarehouseInput input) - { +// /// <summary> +// /// 鎻愪氦鍏ュ簱 +// /// </summary> +// /// <returns></returns> +// [HttpPost("PdaInWarehouse")] +// [UnitOfWork] +// public async Task PdaInWarehouse([FromBody] StockReturnPdaInWarehouseInput input) +// { - //妫�鏌ユ墭鐩� - var containerModel = await _wmsContainerRep.FirstOrDefaultAsync(p => p.ContainerCode == input.ContainerCode && p.ContainerStatus != ContainerStatus.JINYONG); - if (containerModel == null) throw Oops.Oh("鎵樼洏涓嶅瓨鍦�!"); +// //妫�鏌ユ墭鐩� +// var containerModel = await _wmsContainerRep.FirstOrDefaultAsync(p => p.ContainerCode == input.ContainerCode && p.ContainerStatus != ContainerStatus.JINYONG); +// if (containerModel == null) throw Oops.Oh("鎵樼洏涓嶅瓨鍦�!"); - if (containerModel.ContainerStatus == ContainerStatus.FENJIAN) throw Oops.Oh("瀹瑰櫒瀛樺湪鍒嗘嫞淇℃伅!"); +// if (containerModel.ContainerStatus == ContainerStatus.FENJIAN) throw Oops.Oh("瀹瑰櫒瀛樺湪鍒嗘嫞淇℃伅!"); - var isExit = await _wmsTaskRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG && p.TaskStatus != TaskStatusEnum.QUXIAO); - if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪鏈畬鎴愪换鍔′腑!"); +// var isExit = await _wmsTaskRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.TaskStatus != TaskStatusEnum.WANCHENG && p.TaskStatus != TaskStatusEnum.QUXIAO); +// if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪鏈畬鎴愪换鍔′腑!"); - var isInPlace = await _wmsContainerRep.FirstOrDefaultAsync(n => n.ContainerCode == input.ContainerCode && n.ContainerStatus == ContainerStatus.KUWEI); - if (isInPlace != null) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); +// var isInPlace = await _wmsContainerRep.FirstOrDefaultAsync(n => n.ContainerCode == input.ContainerCode && n.ContainerStatus == ContainerStatus.KUWEI); +// if (isInPlace != null) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); - isExit = await _wmsContainerPlaceRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.ContainerPlaceStatus == CommonStatus.ENABLE); - if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); +// isExit = await _wmsContainerPlaceRep.AnyAsync(p => p.ContainerCode == containerModel.ContainerCode && p.ContainerPlaceStatus == CommonStatus.ENABLE); +// if (isExit) throw Oops.Oh("鎵樼洏瀛樺湪搴撲綅涓�!"); - //鍒犻櫎缁勭洏淇℃伅 - var oldwmsMaterialContainerList = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == input.ContainerCode && p.BindStatus == CommonStatus.ENABLE).ToListAsync(); +// //鍒犻櫎缁勭洏淇℃伅 +// var oldwmsMaterialContainerList = await _wmsMaterialContainerRep.Where(p => p.ContainerCode == input.ContainerCode && p.BindStatus == CommonStatus.ENABLE).ToListAsync(); - if (oldwmsMaterialContainerList.Count > 0) await _wmsMaterialContainerRep.DeleteAsync(oldwmsMaterialContainerList); +// if (oldwmsMaterialContainerList.Count > 0) await _wmsMaterialContainerRep.DeleteAsync(oldwmsMaterialContainerList); - //缁勭洏鍗曟嵁鍙� - var orderNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(); - if (input.WmsMaterials!=null || input.WmsMaterials.Count <= 0)//鏈夌墿鏂欑殑鎯呭喌 - { - foreach (var item in input.WmsMaterials) - { - var bindentranceModel = item.Adapt<WmsMaterialContainer>(); - bindentranceModel.MaterialName = item.Materialname; - bindentranceModel.MaterialNo = item.Materialcode; - bindentranceModel.MaterialId = 4567; - bindentranceModel.ContainerId = containerModel.Id; - bindentranceModel.ContainerCode = containerModel.ContainerCode; - bindentranceModel.MaterialBatch = "N/A"; - bindentranceModel.MaterialSpec = "N/A"; - bindentranceModel.BindQuantity = item.Qty; - bindentranceModel.BindStatus = CommonStatus.ENABLE; - bindentranceModel.OrderNo = orderNo; - bindentranceModel.MaterialDensity = "N/A"; - bindentranceModel.Id = Yitter.IdGenerator.YitIdHelper.NextId(); - await _wmsMaterialContainerRep.InsertAsync(bindentranceModel); - ////鏇存敼鏄庣粏鍏ュ簱鏁伴噺 - //var wmsOrderDetailsModal = await _wmsOrderDetailsRep.FirstOrDefaultAsync(x => x.Id == item.Id); - //wmsOrderDetailsModal.InventoryQty += item.Qty; - } - } - //else//绌烘墭鍏ュ簱鐨勬儏鍐� - //{ - // // 鍒涘缓鏂扮粍鐩樿褰� - // var bindentranceModel = new WmsMaterialContainer(); - // bindentranceModel.MaterialName = "绌烘墭"; - // bindentranceModel.MaterialNo = containerModel.ContainerCode; - // bindentranceModel.MaterialId = 55555;//鏆傚畾 - // bindentranceModel.ContainerId = containerModel.Id; - // bindentranceModel.ContainerCode = containerModel.ContainerCode; - // bindentranceModel.MaterialBatch = "N/A";//鏍规嵁鐗╂枡鐮佽В鏋� - // bindentranceModel.MaterialSpec = containerModel.SpecLength + "*" + containerModel.SpecWidth; - // bindentranceModel.BindQuantity = 1; - // bindentranceModel.BindStatus = CommonStatus.ENABLE; - // bindentranceModel.OrderNo = orderNo; - // bindentranceModel.MaterialDensity = "N/A";//鏍规嵁鐗╂枡鐮佽В鏋� - // bindentranceModel.Id = YitIdHelper.NextId(); - // await _wmsMaterialContainerRep.InsertNowAsync(bindentranceModel); - //} +// //缁勭洏鍗曟嵁鍙� +// var orderNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(); +// if (input.WmsMaterials!=null || input.WmsMaterials.Count <= 0)//鏈夌墿鏂欑殑鎯呭喌 +// { +// foreach (var item in input.WmsMaterials) +// { +// var bindentranceModel = item.Adapt<WmsMaterialContainer>(); +// bindentranceModel.MaterialName = item.Materialname; +// bindentranceModel.MaterialNo = item.Materialcode; +// bindentranceModel.MaterialId = 4567; +// bindentranceModel.ContainerId = containerModel.Id; +// bindentranceModel.ContainerCode = containerModel.ContainerCode; +// bindentranceModel.MaterialBatch = "N/A"; +// bindentranceModel.MaterialSpec = "N/A"; +// bindentranceModel.BindQuantity = item.Qty; +// bindentranceModel.BindStatus = CommonStatus.ENABLE; +// bindentranceModel.OrderNo = orderNo; +// bindentranceModel.MaterialDensity = "N/A"; +// bindentranceModel.Id = Yitter.IdGenerator.YitIdHelper.NextId(); +// await _wmsMaterialContainerRep.InsertAsync(bindentranceModel); +// ////鏇存敼鏄庣粏鍏ュ簱鏁伴噺 +// //var wmsOrderDetailsModal = await _wmsOrderDetailsRep.FirstOrDefaultAsync(x => x.Id == item.Id); +// //wmsOrderDetailsModal.InventoryQty += item.Qty; +// } +// } +// //else//绌烘墭鍏ュ簱鐨勬儏鍐� +// //{ +// // // 鍒涘缓鏂扮粍鐩樿褰� +// // var bindentranceModel = new WmsMaterialContainer(); +// // bindentranceModel.MaterialName = "绌烘墭"; +// // bindentranceModel.MaterialNo = containerModel.ContainerCode; +// // bindentranceModel.MaterialId = 55555;//鏆傚畾 +// // bindentranceModel.ContainerId = containerModel.Id; +// // bindentranceModel.ContainerCode = containerModel.ContainerCode; +// // bindentranceModel.MaterialBatch = "N/A";//鏍规嵁鐗╂枡鐮佽В鏋� +// // bindentranceModel.MaterialSpec = containerModel.SpecLength + "*" + containerModel.SpecWidth; +// // bindentranceModel.BindQuantity = 1; +// // bindentranceModel.BindStatus = CommonStatus.ENABLE; +// // bindentranceModel.OrderNo = orderNo; +// // bindentranceModel.MaterialDensity = "N/A";//鏍规嵁鐗╂枡鐮佽В鏋� +// // bindentranceModel.Id = YitIdHelper.NextId(); +// // await _wmsMaterialContainerRep.InsertNowAsync(bindentranceModel); +// //} - ////淇敼鎵樼洏鐘舵�� - //containerModel.ContainerStatus = ContainerStatus.ZUPANG; - //await _wmsContainerRep.UpdateAsync(containerModel); - //鍒嗛厤宸烽亾 - var Aisle = 1; +// ////淇敼鎵樼洏鐘舵�� +// //containerModel.ContainerStatus = ContainerStatus.ZUPANG; +// //await _wmsContainerRep.UpdateAsync(containerModel); +// //鍒嗛厤宸烽亾 +// var Aisle = 1; - //浠诲姟 - var takmodel = new WmsTask() - { - TaskNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(), - TaskModel = TaskModel.QUANZIDONG, - TaskType = TaskType.RUKU, - TaskLevel = 1, - TaskStatus = TaskStatusEnum.ZHIXINGZHONG, - OrderNo = orderNo, - OrderDetailsId = 0, - ContainerCode = input.ContainerCode, - SourcePlace = "鍏ュ簱鍙�",//鐜板満鎯呭喌涓虹┖ - ToPlace = "", //鐩爣浣� - AreaName = "缁濈紭绔嬪簱", - IsRead = true, //WCS鏄惁鍙互璇诲彇 - SendTimes = 1, //鍙戦�佹鏁� - Aisle = Aisle,// 鏍规嵁搴撳尯id鑾峰彇鍑犲彿鎻愬崌鏈猴紝娴嬭瘯浣跨敤涓�鍙� - TaskDodeviceStatus = TaskDodeviceStatusEnum.W - }; - if (input.WmsMaterials == null || input.WmsMaterials.Count <= 0) { - takmodel.Description = "绌烘墭"; - } - else - { - takmodel.Description = "鐗╂枡"; - }; +// //浠诲姟 +// var takmodel = new WmsTask() +// { +// TaskNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(), +// TaskModel = TaskModel.QUANZIDONG, +// TaskType = TaskType.RUKU, +// TaskLevel = 1, +// TaskStatus = TaskStatusEnum.ZHIXINGZHONG, +// OrderNo = orderNo, +// OrderDetailsId = 0, +// ContainerCode = input.ContainerCode, +// SourcePlace = "鍏ュ簱鍙�",//鐜板満鎯呭喌涓虹┖ +// ToPlace = "", //鐩爣浣� +// AreaName = "缁濈紭绔嬪簱", +// IsRead = true, //WCS鏄惁鍙互璇诲彇 +// SendTimes = 1, //鍙戦�佹鏁� +// Aisle = Aisle,// 鏍规嵁搴撳尯id鑾峰彇鍑犲彿鎻愬崌鏈猴紝娴嬭瘯浣跨敤涓�鍙� +// TaskDodeviceStatus = TaskDodeviceStatusEnum.W +// }; +// if (input.WmsMaterials == null || input.WmsMaterials.Count <= 0) { +// takmodel.Description = "绌烘墭"; +// } +// else +// { +// takmodel.Description = "鐗╂枡"; +// }; - await _wmsTaskRep.InsertAsync(takmodel); - } - } -} +// await _wmsTaskRep.InsertAsync(takmodel); +// } +// } +//} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsArea.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsArea.cs index 15a4491..2e8e4f1 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsArea.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsArea.cs @@ -4,7 +4,7 @@ /* * @author : 鍒樻枃濂� - * @date : 2024/4/23涓嬪崍5:33:52 + * @date : 2024/4/23涓嬪崍6:31:24 * @desc : 搴撳尯琛� */ namespace Admin.NET.Core @@ -90,6 +90,51 @@ /// <summary> + /// 闆朵欢绾х鎺� + /// </summary> + [Comment("闆朵欢绾х鎺�")] + [Required] + + public bool IsBarcodeLevelControl { get; set; } + + + /// <summary> + /// 妫�楠屽厛杩涘厛鍑� + /// </summary> + [Comment("妫�楠屽厛杩涘厛鍑�")] + [Required] + + public bool IsFIFO { get; set; } + + + /// <summary> + /// 闆朵欢绾х鎺� + /// </summary> + [Comment("闆朵欢绾х鎺�")] + [Required] + + public bool IsPartLevelControl { get; set; } + + + /// <summary> + /// 鍏佽娣锋穯 + /// </summary> + [Comment("鍏佽娣锋穯")] + [Required] + + public bool IsAllowConfusion { get; set; } + + + /// <summary> + /// 鍏佽璐熷簱瀛� + /// </summary> + [Comment("鍏佽璐熷簱瀛�")] + [Required] + + public bool IsAllowNegativeInventory { get; set; } + + + /// <summary> /// 鏄惁铏氭嫙 /// </summary> [Comment("鏄惁铏氭嫙")] diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsContainer.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsContainer.cs index fb9735a..a239405 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsContainer.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsContainer.cs @@ -1,18 +1,23 @@ -锘縰sing Furion.DatabaseAccessor; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Metadata.Builders; +锘縰sing Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +/* + * @author : 鎮ㄧ殑鍚嶅瓧 + * @date : 2024/4/23涓嬪崍6:42:15 + * @desc : 瀹瑰櫒淇℃伅琛� + */ namespace Admin.NET.Core { /// <summary> - /// 鎵樼洏淇℃伅琛� + /// 瀹瑰櫒淇℃伅琛� /// </summary> [Table("wms_container")] - [Comment("鎵樼洏淇℃伅琛�")] - public class WmsContainer : DEntityBase //, IEntityTypeBuilder<WmsContainer> + [Comment("瀹瑰櫒淇℃伅琛�")] + public class WmsContainer : DEntityBase { + + /// <summary> /// 缂栧彿 /// </summary> @@ -21,130 +26,145 @@ [MaxLength(50)] public string ContainerCode { get; set; } - /// <summary> - /// 绫诲瀷;鏁版嵁瀛楀吀 - /// </summary> - [Comment("绫诲瀷")] - [Required] - public ContainerType ContainerType { get; set; } /// <summary> - /// 鎵樼洏鐘舵��;鏁版嵁瀛楀吀 + /// 鍚嶇О /// </summary> - [Comment("鎵樼洏鐘舵��")] + [Comment("鍚嶇О")] [Required] - public ContainerStatus ContainerStatus { get; set; } + [MaxLength(50)] + public string ContainerName { get; set; } + + + /// <summary> + /// 绫诲瀷ID + /// </summary> + [Comment("绫诲瀷ID")] + [Required] + + public long ContainerTypeId { get; set; } + + + /// <summary> + /// 绫诲瀷鍚嶇О + /// </summary> + [Comment("绫诲瀷鍚嶇О")] + [Required] + [MaxLength(50)] + public string ContainerTypeName { get; set; } + + + /// <summary> + /// 瀹瑰櫒鍏崇郴ID + /// </summary> + [Comment("瀹瑰櫒鍏崇郴ID")] + + public long? PackagingId { get; set; } + /// <summary> /// 闀垮害 /// </summary> [Comment("闀垮害")] - public decimal SpecLength { get; set; } + + [Column("SpecLength", TypeName = "decimal(10,3)")] + public decimal? SpecLength { get; set; } + /// <summary> /// 瀹藉害 /// </summary> [Comment("瀹藉害")] - public decimal SpecWidth { get; set; } + + [Column("SpecWidth", TypeName = "decimal(10,3)")] + public decimal? SpecWidth { get; set; } + /// <summary> /// 楂樺害 /// </summary> [Comment("楂樺害")] - public decimal SpecHeight { get; set; } + + [Column("SpecHeight", TypeName = "decimal(10,3)")] + public decimal? SpecHeight { get; set; } + /// <summary> /// 闄愰暱 /// </summary> [Comment("闄愰暱")] - public decimal LimitLength { get; set; } + + [Column("LimitLength", TypeName = "decimal(10,3)")] + public decimal? LimitLength { get; set; } + /// <summary> /// 闄愬 /// </summary> [Comment("闄愬")] - public decimal LimitWidth { get; set; } + + [Column("LimitWidth", TypeName = "decimal(10,3)")] + public decimal? LimitWidth { get; set; } + /// <summary> /// 闄愰珮 /// </summary> [Comment("闄愰珮")] - public decimal LimitHeight { get; set; } + + [Column("LimitHeight", TypeName = "decimal(10,3)")] + public decimal? LimitHeight { get; set; } + /// <summary> /// 杞介噸涓婇檺 /// </summary> [Comment("杞介噸涓婇檺")] - public decimal MaxWeight { get; set; } + + [Column("MaxWeight", TypeName = "decimal(10,3)")] + public decimal? MaxWeight { get; set; } + /// <summary> - /// 鐖舵墭鐩業d + /// 鐖跺鍣ㄥ悕绉� /// </summary> - [Comment("鐖舵墭鐩業d")] - public long ParentContainerId { get; set; } + [Comment("鐖跺鍣ㄥ悕绉�")] + [MaxLength(255)] + public string ParentContainerName { get; set; } + /// <summary> - /// 璧勪骇缂栧彿 + /// 鐖跺鍣↖d /// </summary> - [Comment("璧勪骇缂栧彿")] - [Required] - [MaxLength(50)] - public string AssetNo { get; set; } + [Comment("鐖跺鍣↖d")] + + public long? ParentContainerId { get; set; } + /// <summary> - /// 鎵樼洏鍒嗙被 - /// </summary> - [Comment("鎵樼洏鍒嗙被")] - [Required] - public ContainerCategory ContainerCategory { get; set; } = ContainerCategory.TY; - - /// <summary> - /// Erp鍗曞彿 - /// </summary> - [Comment("Erp鍗曞彿")] - [Required] - [MaxLength(50)] - public string ErpNo { get; set; } - - /// <summary> - /// 鏄惁铏氭嫙;鏁版嵁瀛楀吀 + /// 鏄惁铏氭嫙 /// </summary> [Comment("鏄惁铏氭嫙")] [Required] - public YesOrNot IsVirtually { get; set; } = YesOrNot.N; + + public int IsVirtually { get; set; } + /// <summary> - /// 鎵�灞炶溅闂� + /// 鏄惁绂佺敤 /// </summary> - [Comment("鎵�灞炶溅闂�")] + [Comment("鏄惁绂佺敤")] [Required] - public LesWorkShopType WorkShopType { get; set; } - ///// <summary> - ///// 缁勮杞﹂棿鐗╂枡鎵樼洏鍏崇郴琛� - ///// </summary> - //public ICollection<WmsAssembleMaterialContainer> WmsAssembleMaterialContainer { get; set; } + public bool IsDisabled { get; set; } - ///// <summary> - ///// 鐗╂枡鎵樼洏鍘嗗彶琛� - ///// </summary> - //public ICollection<WmsAssembleHistoryMaterialContainer> WmsAssembleHistoryMaterialContainer { get; set; } - ///// <summary> - ///// 鏋勫缓涓�瀵瑰鐨勫叧绯� - ///// </summary> - ///// <param name="entityBuilder"></param> - ///// <param name="dbContext"></param> - ///// <param name="dbContextLocator"></param> - //public void Configure(EntityTypeBuilder<WmsContainer> entityBuilder, DbContext dbContext, Type dbContextLocator) - //{ - // entityBuilder.HasMany(x => x.WmsAssembleMaterialContainer) - // .WithOne(x => x.WmsContainer) - // .HasForeignKey(x => x.ContainerId); - // entityBuilder.HasMany(x => x.WmsAssembleHistoryMaterialContainer) - // .WithOne(x => x.WmsContainer) - // .HasForeignKey(x => x.Id).IsRequired(false); - //} + + + + + + } -} +} \ No newline at end of file diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsContainerType.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsContainerType.cs new file mode 100644 index 0000000..0837817 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsContainerType.cs @@ -0,0 +1,79 @@ +锘縰sing Microsoft.EntityFrameworkCore; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +/* + * @author : 鍒樻枃濂� + * @date : 2024/4/23涓嬪崍6:36:33 + * @desc : 瀹瑰櫒绫诲瀷 + */ +namespace Admin.NET.Core +{ + /// <summary> + /// 瀹瑰櫒绫诲瀷 + /// </summary> + [Table("wms_container_type")] + [Comment("瀹瑰櫒绫诲瀷")] + public class WmsContainerType : DEntityBase + { + + + /// <summary> + /// 绫诲瀷缂栧彿 + /// </summary> + [Comment("绫诲瀷缂栧彿")] + [MaxLength(255)] + public string TypeCode { get; set; } + + + /// <summary> + /// 绫诲瀷鍚嶇О + /// </summary> + [Comment("绫诲瀷鍚嶇О")] + [MaxLength(255)] + public string TypeName { get; set; } + + + /// <summary> + /// 鏄惁鍥炴敹 + /// </summary> + [Comment("鏄惁鍥炴敹")] + [Required] + + public bool IsAllowReclaim { get; set; } + + + /// <summary> + /// 鍗曚綅 + /// </summary> + [Comment("鍗曚綅")] + [MaxLength(50)] + public string Unit { get; set; } + + + /// <summary> + /// 浣跨敤鏈熼檺 + /// </summary> + [Comment("浣跨敤鏈熼檺")] + [MaxLength(50)] + public string UsagePeriod { get; set; } + + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + [Comment("鏄惁绂佺敤")] + [Required] + + public bool IsDisabled { get; set; } + + + + + + + + + + } +} \ No newline at end of file diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsPlace.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsPlace.cs index 7fd3bab..ce90057 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsPlace.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsPlace.cs @@ -4,7 +4,7 @@ /* * @author : 鍒樻枃濂� - * @date : 2024/4/23涓嬪崍6:13:28 + * @date : 2024/4/23涓嬪崍6:30:44 * @desc : 搴撲綅琛� */ namespace Admin.NET.Core @@ -32,7 +32,7 @@ /// </summary> [Comment("搴撲綅鍚嶇О")] [Required] - [MaxLength(255)] + [MaxLength(50)] public string PlaceName { get; set; } @@ -40,7 +40,7 @@ /// 搴撲綅鍒悕 /// </summary> [Comment("搴撲綅鍒悕")] - [MaxLength(255)] + [MaxLength(50)] public string PlaceAlias { get; set; } @@ -54,19 +54,20 @@ /// <summary> - /// 瀛樻斁鍗曚綅 - /// </summary> - [Comment("瀛樻斁鍗曚綅")] - [MaxLength(255)] - public string StockUnit { get; set; } - - - /// <summary> /// 搴撲綅绫诲瀷鍚嶇О /// </summary> [Comment("搴撲綅绫诲瀷鍚嶇О")] + [Required] [MaxLength(50)] public string PlaceTypeName { get; set; } + + + /// <summary> + /// 瀛樻斁鍗曚綅 + /// </summary> + [Comment("瀛樻斁鍗曚綅")] + [MaxLength(50)] + public string StockUnit { get; set; } /// <summary> @@ -76,46 +77,6 @@ [Required] public int PlaceStatus { get; set; } - - - /// <summary> - /// 鏉$爜绾х鎺� - /// </summary> - [Comment("鏉$爜绾х鎺�")] - - public bool? IsBarcodeLevelControl { get; set; } - - - /// <summary> - /// 鍏佽娣锋穯 - /// </summary> - [Comment("鍏佽娣锋穯")] - - public bool? IsAllowConfusion { get; set; } - - - /// <summary> - /// 鍏佽璐熷簱瀛� - /// </summary> - [Comment("鍏佽璐熷簱瀛�")] - - public bool? IsAllowNegativeInventory { get; set; } - - - /// <summary> - /// 妫�楠屽厛杩涘厛鍑� - /// </summary> - [Comment("妫�楠屽厛杩涘厛鍑�")] - - public bool? IsFIFO { get; set; } - - - /// <summary> - /// 闆朵欢绾х鎺� - /// </summary> - [Comment("闆朵欢绾х鎺�")] - - public bool? IsPartLevelControl { get; set; } /// <summary> @@ -199,6 +160,15 @@ /// <summary> + /// 搴撳尯缂栧彿 + /// </summary> + [Comment("搴撳尯缂栧彿")] + [Required] + [MaxLength(50)] + public string AreaCode { get; set; } + + + /// <summary> /// 鎵�鍦ㄥ簱鍖� /// </summary> [Comment("鎵�鍦ㄥ簱鍖�")] @@ -211,7 +181,8 @@ /// 搴撳尯鍚嶇О /// </summary> [Comment("搴撳尯鍚嶇О")] - [MaxLength(255)] + [Required] + [MaxLength(50)] public string AreaName { get; set; } @@ -317,15 +288,6 @@ [Required] [Column("MaxWeight", TypeName = "decimal(10,3)")] public decimal MaxWeight { get; set; } - - - /// <summary> - /// 搴撲綅楂樺害灞炴�� - /// </summary> - [Comment("搴撲綅楂樺害灞炴��")] - [Required] - - public int HeightLevel { get; set; } /// <summary> -- Gitblit v1.9.3