From 09542900534645e28c23f16caa94aa8a2c20cc5b Mon Sep 17 00:00:00 2001 From: payne <bzrlw2012@163.com> Date: 周五, 03 5月 2024 16:10:02 +0800 Subject: [PATCH] 往来单位助记码功能调整为 中文名称输入立即调用接口实现 --- iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/WmsContainerPackagingService.cs | 105 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 64 insertions(+), 41 deletions(-) diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/WmsContainerPackagingService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/WmsContainerPackagingService.cs index 75de536..958d0a1 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/WmsContainerPackagingService.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/WmsContainerPackagingService.cs @@ -13,10 +13,12 @@ using System.Web; using System.ComponentModel; using System.Data; +using NetTopologySuite.Algorithm; +using Pipelines.Sockets.Unofficial.Arenas; namespace Admin.NET.Application { /// <summary> - /// 鍖呰鍏崇郴鍩虹琛ㄦ湇鍔� + /// 瀹瑰櫒鍏崇郴鏈嶅姟 /// </summary> [ApiDescriptionSettings("WmsBase", Name = "WmsContainerPackaging", Order = 100)] [Route("api")] @@ -27,22 +29,27 @@ private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; private readonly ISysExcelTemplateService _sysExcelTemplateService; private readonly static object _lock = new(); - + private readonly IRepository<WmsMaterialType, MasterDbContextLocator> _wmsMaterialTypeRep; + private readonly IRepository<WmsContainerType, MasterDbContextLocator> _wmsContainerTypeRep; public WmsContainerPackagingService( IRepository<WmsContainerPackaging,MasterDbContextLocator> wmsContainerPackagingRep ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep ,ISysExcelTemplateService sysExcelTemplateService + , IRepository<WmsMaterialType, MasterDbContextLocator> wmsMaterialTypeRep + , IRepository<WmsContainerType, MasterDbContextLocator> wmsContainerTypeRep ) { _wmsContainerPackagingRep = wmsContainerPackagingRep; _sysDictTypeRep = sysDictTypeRep; _sysDictDataRep = sysDictDataRep; _sysExcelTemplateService = sysExcelTemplateService; + _wmsMaterialTypeRep = wmsMaterialTypeRep; + _wmsContainerTypeRep = wmsContainerTypeRep; } /// <summary> - /// 鍒嗛〉鏌ヨ鍖呰鍏崇郴鍩虹琛� + /// 鍒嗛〉鏌ヨ瀹瑰櫒鍏崇郴 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -67,10 +74,10 @@ } /// <summary> - /// 涓嶅垎椤垫煡璇㈠寘瑁呭叧绯诲熀纭�琛ㄥ垪琛� + /// 涓嶅垎椤垫煡璇㈠鍣ㄥ叧绯诲垪琛� /// </summary> - /// <param name="input">鍖呰鍏崇郴鍩虹琛ㄦ煡璇㈠弬鏁�</param> - /// <returns>(鍖呰鍏崇郴鍩虹琛�)瀹炰緥鍒楄〃</returns> + /// <param name="input">瀹瑰櫒鍏崇郴鏌ヨ鍙傛暟</param> + /// <returns>(瀹瑰櫒鍏崇郴)瀹炰緥鍒楄〃</returns> [HttpGet("WmsContainerPackaging/listNonPage")] public async Task<List<WmsContainerPackagingOutput>> ListNonPageAsync([FromQuery] WmsContainerPackagingSearchNonPage input) { @@ -102,7 +109,7 @@ } /// <summary> - /// 鑾峰彇鍖呰鍏崇郴鍩虹琛� + /// 鑾峰彇瀹瑰櫒鍏崇郴 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -113,7 +120,7 @@ } /// <summary> - /// 鑾峰彇鍖呰鍏崇郴鍩虹琛ㄥ垪琛� + /// 鑾峰彇瀹瑰櫒鍏崇郴鍒楄〃 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -126,7 +133,7 @@ #region 澧炪�佸垹銆佹敼 /// <summary> - /// 澧炲姞鍖呰鍏崇郴鍩虹琛� + /// 澧炲姞瀹瑰櫒鍏崇郴 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -134,7 +141,29 @@ public async Task Add(AddWmsContainerPackagingInput input) { var wmsContainerPackaging = input.Adapt<WmsContainerPackaging>(); - //楠岃瘉 + + var wmsMaterialType=(await _wmsMaterialTypeRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.MaterialTypeId&&u.IsDeleted==false)).Adapt<WmsMaterialTypeOutput>(); + if (wmsMaterialType == null) + { + throw Oops.Oh($"鐗╂枡绫诲瀷涓嶅瓨鍦�"); + } + if (wmsMaterialType.IsDisabled == true) + { + throw Oops.Oh($"鐗╂枡绫诲瀷宸茬鐢�"); + } + var wmsContainerType=(await _wmsContainerTypeRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.ContainerTypeId&& u.IsDeleted == false)).Adapt<WmsContainerTypeOutput>(); + if (wmsContainerType == null) + { + throw Oops.Oh($"瀹瑰櫒绫诲瀷涓嶅瓨鍦�"); + } + if (wmsContainerType.IsDisabled == true) + { + throw Oops.Oh($"瀹瑰櫒绫诲瀷宸茬鐢�"); + } + wmsContainerPackaging.ContainerTypeName = wmsContainerType.TypeName; + wmsContainerPackaging.MaterialTypeName= wmsMaterialType.MaterialTypeName; + wmsContainerPackaging.MaterialTypeCode = wmsMaterialType.MaterialTypeCode; + //楠岃瘉 await CheckExisit(wmsContainerPackaging); wmsContainerPackaging.CreatedUserId = wmsContainerPackaging.UpdatedUserId = SysHelper.GetUserId(); @@ -144,7 +173,7 @@ } /// <summary> - /// 鍒犻櫎鍖呰鍏崇郴鍩虹琛� + /// 鍒犻櫎瀹瑰櫒鍏崇郴 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -157,7 +186,7 @@ } /// <summary> - /// 鏇存柊鍖呰鍏崇郴鍩虹琛� + /// 鏇存柊瀹瑰櫒鍏崇郴 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -182,7 +211,7 @@ #region 瀵煎叆 /// <summary> - /// Excel妯℃澘瀵煎叆鍖呰鍏崇郴鍩虹琛ㄥ姛鑳� + /// Excel妯℃澘瀵煎叆瀹瑰櫒鍏崇郴鍔熻兘 /// </summary> /// <param name="file">Excel妯℃澘鏂囦欢</param> /// <returns>瀵煎叆鐨勮褰曟暟</returns> @@ -237,7 +266,6 @@ var _MaterialTypeCode = "";//鐗╂枡绫诲瀷缂栧彿 var _MaterialTypeName = "";//鐗╂枡绫诲瀷鍚嶇О var _BoxQty = "";//鐗╂枡瀹瑰櫒瀹归噺 - var _Id = "";//Id涓婚敭 #endregion @@ -248,7 +276,6 @@ _MaterialTypeCode = row["鐗╂枡绫诲瀷缂栧彿"]?.ToString() ; _MaterialTypeName = row["鐗╂枡绫诲瀷鍚嶇О"]?.ToString() ; _BoxQty = row["鐗╂枡瀹瑰櫒瀹归噺"]?.ToString() ; - _Id = row["Id涓婚敭"]?.ToString() ; #endregion @@ -349,22 +376,7 @@ } } - if(!string.IsNullOrEmpty(_Id)) - { - if (!long.TryParse(_Id, out long outId)&&!string.IsNullOrEmpty(_Id)) - { - throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉姝g‘锛�"); - } - if (outId <= 0&&!string.IsNullOrEmpty(_Id)) - { - throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); - } - else - { - addItem.Id = outId; - } - - } + #endregion @@ -378,7 +390,7 @@ } /// <summary> - /// 鏍规嵁鐗堟湰涓嬭浇鍖呰鍏崇郴鍩虹琛ㄧ殑Excel瀵煎叆妯℃澘 + /// 鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒鍏崇郴鐨凟xcel瀵煎叆妯℃澘 /// </summary> /// <param name="version">妯℃澘鐗堟湰</param> /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> @@ -386,7 +398,7 @@ public IActionResult DownloadExcelTemplate([FromQuery] string version) { string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsContainerPackaging{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx"; - var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(鍖呰鍏崇郴鍩虹琛�).xlsx", Encoding.GetEncoding("UTF-8")); + var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(瀹瑰櫒鍏崇郴).xlsx", Encoding.GetEncoding("UTF-8")); return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName }; } @@ -402,17 +414,23 @@ /// <returns></returns> private async Task CheckExisit( WmsContainerPackaging input,bool isEdit=false) { - - - bool isExist = false; + + string erorMsg = string.Empty; + bool isExist = false; if (!isEdit)//鏂板 { //鏁版嵁鏄惁瀛樺湪閲嶅 isExist = await _wmsContainerPackagingRep.AnyAsync(u => u.ContainerTypeId.Equals(input.ContainerTypeId) + &&u.MaterialTypeId.Equals(input.MaterialTypeId) ,false); - } + if (isExist) + { + erorMsg = $"绯荤粺涓�,瀹瑰櫒绫诲瀷[{input.ContainerTypeName}]-鐗╂枡绫诲瀷[{input.MaterialTypeName}]鍏崇郴宸插瓨鍦�"; + throw Oops.Oh(erorMsg); + } + } else//缂栬緫 { @@ -421,13 +439,18 @@ //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅 isExist = await _wmsContainerPackagingRep.AnyAsync(u => u.Id != input.Id - &&u.ContainerTypeId.Equals(input.ContainerTypeId) - ,false); - } + &&u.ContainerTypeId.Equals(input.ContainerTypeId) + && u.MaterialTypeId.Equals(input.MaterialTypeId) + , false); + if (isExist) + { + erorMsg = $"绯荤粺涓�,瀹瑰櫒绫诲瀷[{input.ContainerTypeName}]-鐗╂枡绫诲瀷[{input.MaterialTypeName}]鍏崇郴宸插瓨鍦�"; + throw Oops.Oh(erorMsg); + } + } - if (isExist) throw Oops.Oh(ErrorCode.E0001); } /// <summary> -- Gitblit v1.9.3