From b331d820b30bdff8eb868ad18837aaffe3d2158b Mon Sep 17 00:00:00 2001 From: payne <bzrlw2012@163.com> Date: 周五, 26 4月 2024 10:25:55 +0800 Subject: [PATCH] 物料ABC类型 返回枚举值名称 --- iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/WmsFactoryService.cs | 129 ++++++++++++++++++++++++++++-------------- 1 files changed, 86 insertions(+), 43 deletions(-) diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/WmsFactoryService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/WmsFactoryService.cs index 5a5328b..bb2571d 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/WmsFactoryService.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/WmsFactoryService.cs @@ -16,7 +16,7 @@ namespace Admin.NET.Application { /// <summary> - /// 宸ュ巶淇℃伅琛ㄦ湇鍔� + /// 宸ュ巶淇℃伅鏈嶅姟 /// </summary> [ApiDescriptionSettings("WmsBase", Name = "WmsFactory", Order = 100)] [Route("api")] @@ -42,7 +42,7 @@ } /// <summary> - /// 鍒嗛〉鏌ヨ宸ュ巶淇℃伅琛� + /// 鍒嗛〉鏌ヨ宸ュ巶淇℃伅 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -65,10 +65,10 @@ } /// <summary> - /// 涓嶅垎椤垫煡璇㈠伐鍘備俊鎭〃鍒楄〃 + /// 涓嶅垎椤垫煡璇㈠伐鍘備俊鎭垪琛� /// </summary> - /// <param name="input">宸ュ巶淇℃伅琛ㄦ煡璇㈠弬鏁�</param> - /// <returns>(宸ュ巶淇℃伅琛�)瀹炰緥鍒楄〃</returns> + /// <param name="input">宸ュ巶淇℃伅鏌ヨ鍙傛暟</param> + /// <returns>(宸ュ巶淇℃伅)瀹炰緥鍒楄〃</returns> [HttpGet("WmsFactory/listNonPage")] public async Task<List<WmsFactoryOutput>> ListNonPageAsync([FromQuery] WmsFactorySearchNonPage input) { @@ -96,7 +96,7 @@ } /// <summary> - /// 鑾峰彇宸ュ巶淇℃伅琛� + /// 鑾峰彇宸ュ巶淇℃伅 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -107,7 +107,7 @@ } /// <summary> - /// 鑾峰彇宸ュ巶淇℃伅琛ㄥ垪琛� + /// 鑾峰彇宸ュ巶淇℃伅鍒楄〃 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -120,7 +120,7 @@ #region 澧炪�佸垹銆佹敼 /// <summary> - /// 澧炲姞宸ュ巶淇℃伅琛� + /// 澧炲姞宸ュ巶淇℃伅 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -138,7 +138,7 @@ } /// <summary> - /// 鍒犻櫎宸ュ巶淇℃伅琛� + /// 鍒犻櫎宸ュ巶淇℃伅 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -151,7 +151,7 @@ } /// <summary> - /// 鏇存柊宸ュ巶淇℃伅琛� + /// 鏇存柊宸ュ巶淇℃伅 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -176,7 +176,7 @@ #region 瀵煎叆 /// <summary> - /// Excel妯℃澘瀵煎叆宸ュ巶淇℃伅琛ㄥ姛鑳� + /// Excel妯℃澘瀵煎叆宸ュ巶淇℃伅鍔熻兘 /// </summary> /// <param name="file">Excel妯℃澘鏂囦欢</param> /// <returns>瀵煎叆鐨勮褰曟暟</returns> @@ -229,7 +229,6 @@ var _FactoryName = "";//鍚嶇О var _FactoryAddress = "";//鍦板潃 var _IsDisabled = "";//鏄惁绂佺敤 - var _Id = "";//Id涓婚敭 #endregion @@ -238,7 +237,6 @@ _FactoryName = row["鍚嶇О"]?.ToString() ; _FactoryAddress = row["鍦板潃"]?.ToString() ; _IsDisabled = row["鏄惁绂佺敤"]?.ToString() ; - _Id = row["Id涓婚敭"]?.ToString() ; #endregion @@ -280,22 +278,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 @@ -309,7 +292,7 @@ } /// <summary> - /// 鏍规嵁鐗堟湰涓嬭浇宸ュ巶淇℃伅琛ㄧ殑Excel瀵煎叆妯℃澘 + /// 鏍规嵁鐗堟湰涓嬭浇宸ュ巶淇℃伅鐨凟xcel瀵煎叆妯℃澘 /// </summary> /// <param name="version">妯℃澘鐗堟湰</param> /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> @@ -317,7 +300,7 @@ public IActionResult DownloadExcelTemplate([FromQuery] string version) { string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsFactory{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 }; } @@ -333,9 +316,9 @@ /// <returns></returns> private async Task CheckExisit( WmsFactory input,bool isEdit=false) { - - + + string errorMsg = string.Empty; bool isExist = false; if (!isEdit)//鏂板 { @@ -343,7 +326,24 @@ isExist = await _wmsFactoryRep.AnyAsync(u => u.FactoryCode.Equals(input.FactoryCode) ,false); - } + + errorMsg = $"绯荤粺涓�,缂栧彿[{input.FactoryCode}]宸插瓨鍦�"; + if (isExist) + { + throw Oops.Oh(errorMsg); + } + + //鏁版嵁鏄惁瀛樺湪閲嶅 + isExist = await _wmsFactoryRep.AnyAsync(u => + u.FactoryName.Equals(input.FactoryName) + , false); + + errorMsg = $"绯荤粺涓�,鍚嶇О[{input.FactoryName}]宸插瓨鍦�"; + if (isExist) + { + throw Oops.Oh(errorMsg); + } + } else//缂栬緫 { @@ -354,12 +354,29 @@ u.Id != input.Id &&u.FactoryCode.Equals(input.FactoryCode) ,false); - } + + errorMsg = $"绯荤粺涓�,缂栧彿[{input.FactoryCode}]宸插瓨鍦�"; + if (isExist) + { + throw Oops.Oh(errorMsg); + } + + isExist = await _wmsFactoryRep.AnyAsync(u => + u.Id != input.Id + && u.FactoryName.Equals(input.FactoryName) + , false); + + errorMsg = $"绯荤粺涓�,鍚嶇О[{input.FactoryName}]宸插瓨鍦�"; + if (isExist) + { + throw Oops.Oh(errorMsg); + } + + } - if (isExist) throw Oops.Oh(ErrorCode.E0001); - } + } /// <summary> /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇� @@ -383,16 +400,30 @@ }).FirstOrDefault(); if (existExcelItem != null) { - var wmsFactory = existExcelItem.Adapt<WmsFactory>(); var item= existExcelItem.Adapt<WmsFactory>(); throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,缂栧彿[{item.FactoryCode}]宸插瓨鍦�"); } - + + //鏁版嵁鏄惁閲嶅 + var existExcelItem2 = inputs.GroupBy(g => new { + g.FactoryName + }) + .Where(g => g.Count() > 1) + .Select(s => new { + s.Key.FactoryName + }).FirstOrDefault(); + if (existExcelItem2 != null) + { + var item = existExcelItem2.Adapt<WmsFactory>(); + throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,鍚嶇О[{item.FactoryName}]宸插瓨鍦�"); + } - //鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� - var existDBItem = await _wmsFactoryRep.DetachedEntities.FirstOrDefaultAsync(w=> + + + //鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + var existDBItem = await _wmsFactoryRep.DetachedEntities.FirstOrDefaultAsync(w=> inputs.Select(s=>"" +s.FactoryCode ) @@ -401,10 +432,22 @@ )); if (existDBItem != null) { - var wmsFactory = existExcelItem.Adapt<WmsFactory>(); - var item= existExcelItem.Adapt<WmsFactory>(); + var item= existDBItem.Adapt<WmsFactory>(); throw Oops.Oh($"绯荤粺涓�,缂栧彿[{item.FactoryCode}]宸插瓨鍦�"); } + + var existDBItem2 = await _wmsFactoryRep.DetachedEntities.FirstOrDefaultAsync(w => + inputs.Select(s => "" + + s.FactoryName + ) + .Contains("" + + w.FactoryName + )); + if (existDBItem2 != null) + { + var item = existDBItem2.Adapt<WmsFactory>(); + throw Oops.Oh($"绯荤粺涓�,鍚嶇О[{item.FactoryName}]宸插瓨鍦�"); + } } #endregion -- Gitblit v1.9.3