From 4d14b84903bf0277c5e8b9b3138c5e1d981e95db Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周四, 25 4月 2024 11:01:31 +0800 Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/iWare_RawMaterialWarehouse --- iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/BaseCustomer/BaseCustomerService.cs | 211 +++++++++++++++++++++------------------------------- 1 files changed, 87 insertions(+), 124 deletions(-) diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/BaseCustomer/BaseCustomerService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/BaseCustomer/BaseCustomerService.cs index b8be889..0f9c112 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/BaseCustomer/BaseCustomerService.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/BaseCustomer/BaseCustomerService.cs @@ -16,7 +16,7 @@ namespace Admin.NET.Application { /// <summary> - /// 瀹㈡埛妗f鏈嶅姟 + /// 寰�鏉ュ叧绯绘湇鍔� /// </summary> [ApiDescriptionSettings("WmsBase", Name = "BaseCustomer", Order = 100)] [Route("api")] @@ -42,7 +42,7 @@ } /// <summary> - /// 鍒嗛〉鏌ヨ瀹㈡埛妗f + /// 鍒嗛〉鏌ヨ寰�鏉ュ叧绯� /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -51,11 +51,10 @@ { var baseCustomers = await _baseCustomerRep.DetachedEntities .Where(!string.IsNullOrEmpty(input.CustCode), u => u.CustCode == input.CustCode) - .Where(!string.IsNullOrEmpty(input.CustChinaName), u => EF.Functions.Like(u.CustChinaName, $"%{input.CustChinaName.Trim()}%")) + .Where(!string.IsNullOrEmpty(input.CustChinaName), u => u.CustChinaName == input.CustChinaName) .Where(!string.IsNullOrEmpty(input.CustEnglishName), u => u.CustEnglishName == input.CustEnglishName) .Where(!string.IsNullOrEmpty(input.MnemonicCode), u => u.MnemonicCode == input.MnemonicCode) .Where(input.CustType != null, u => u.CustType == input.CustType) - .Where(!string.IsNullOrEmpty(input.CustTypeName), u => u.CustTypeName == input.CustTypeName) .Where(!string.IsNullOrEmpty(input.LinkMan), u => u.LinkMan == input.LinkMan) .Where(!string.IsNullOrEmpty(input.Phone), u => u.Phone == input.Phone) .Where(!string.IsNullOrEmpty(input.Email), u => u.Email == input.Email) @@ -75,10 +74,10 @@ } /// <summary> - /// 涓嶅垎椤垫煡璇㈠鎴锋。妗堝垪琛� + /// 涓嶅垎椤垫煡璇㈠線鏉ュ叧绯诲垪琛� /// </summary> - /// <param name="input">瀹㈡埛妗f鏌ヨ鍙傛暟</param> - /// <returns>(瀹㈡埛妗f)瀹炰緥鍒楄〃</returns> + /// <param name="input">寰�鏉ュ叧绯绘煡璇㈠弬鏁�</param> + /// <returns>(寰�鏉ュ叧绯�)瀹炰緥鍒楄〃</returns> [HttpGet("BaseCustomer/listNonPage")] public async Task<List<BaseCustomerOutput>> ListNonPageAsync([FromQuery] BaseCustomerSearchNonPage input) { @@ -87,7 +86,6 @@ var pCustEnglishName = input.CustEnglishName?.Trim() ?? ""; var pMnemonicCode = input.MnemonicCode?.Trim() ?? ""; var pCustType = input.CustType; - var pCustTypeName = input.CustTypeName?.Trim() ?? ""; var pLinkMan = input.LinkMan?.Trim() ?? ""; var pPhone = input.Phone?.Trim() ?? ""; var pEmail = input.Email?.Trim() ?? ""; @@ -102,11 +100,10 @@ var pUpdatedUserName = input.UpdatedUserName?.Trim() ?? ""; var baseCustomers = await _baseCustomerRep.DetachedEntities .Where(!string.IsNullOrEmpty(pCustCode), u => u.CustCode == pCustCode) - .Where(!string.IsNullOrEmpty(pCustChinaName), u => EF.Functions.Like(u.CustChinaName, $"%{pCustChinaName}%")) + .Where(!string.IsNullOrEmpty(pCustChinaName), u => u.CustChinaName == pCustChinaName) .Where(!string.IsNullOrEmpty(pCustEnglishName), u => u.CustEnglishName == pCustEnglishName) .Where(!string.IsNullOrEmpty(pMnemonicCode), u => u.MnemonicCode == pMnemonicCode) .Where(pCustType != null, u => u.CustType == pCustType) - .Where(!string.IsNullOrEmpty(pCustTypeName), u => u.CustTypeName == pCustTypeName) .Where(!string.IsNullOrEmpty(pLinkMan), u => u.LinkMan == pLinkMan) .Where(!string.IsNullOrEmpty(pPhone), u => u.Phone == pPhone) .Where(!string.IsNullOrEmpty(pEmail), u => u.Email == pEmail) @@ -126,7 +123,7 @@ } /// <summary> - /// 鑾峰彇瀹㈡埛妗f + /// 鑾峰彇寰�鏉ュ叧绯� /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -137,7 +134,7 @@ } /// <summary> - /// 鑾峰彇瀹㈡埛妗f鍒楄〃 + /// 鑾峰彇寰�鏉ュ叧绯诲垪琛� /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -150,7 +147,7 @@ #region 澧炪�佸垹銆佹敼 /// <summary> - /// 澧炲姞瀹㈡埛妗f + /// 澧炲姞寰�鏉ュ叧绯� /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -158,9 +155,11 @@ public async Task Add(AddBaseCustomerInput input) { var baseCustomer = input.Adapt<BaseCustomer>(); - //楠岃瘉 - await CheckExisit(baseCustomer); + baseCustomer.CustCode = Yitter.IdGenerator.YitIdHelper.NextId().ToString();//TODO 瑕佽皟鐢ㄧ敓鎴� 缂栧彿鐨勬柟娉� 鍏堢敤闆姳ID + baseCustomer.CustTypeName = baseCustomer.CustType.ToString(); + //楠岃瘉 + await CheckExisit(baseCustomer); baseCustomer.CreatedUserId = baseCustomer.UpdatedUserId = SysHelper.GetUserId(); baseCustomer.CreatedUserName = baseCustomer.UpdatedUserName = SysHelper.GetUserName(); baseCustomer.CreatedTime = baseCustomer.UpdatedTime = SysHelper.GetNowTime(); @@ -168,7 +167,7 @@ } /// <summary> - /// 鍒犻櫎瀹㈡埛妗f + /// 鍒犻櫎寰�鏉ュ叧绯� /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -181,7 +180,7 @@ } /// <summary> - /// 鏇存柊瀹㈡埛妗f + /// 鏇存柊寰�鏉ュ叧绯� /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -206,7 +205,7 @@ #region 瀵煎叆 /// <summary> - /// Excel妯℃澘瀵煎叆瀹㈡埛妗f鍔熻兘 + /// Excel妯℃澘瀵煎叆寰�鏉ュ叧绯诲姛鑳� /// </summary> /// <param name="file">Excel妯℃澘鏂囦欢</param> /// <returns>瀵煎叆鐨勮褰曟暟</returns> @@ -247,20 +246,20 @@ var addItem = new BaseCustomer() { + CustCode = Yitter.IdGenerator.YitIdHelper.NextId().ToString(),//TODO 瑕佽皟鐢ㄧ敓鎴� 缂栧彿鐨勬柟娉� 鍏堢敤闆姳ID CreatedTime = SysHelper.GetNowTime(), CreatedUserId = SysHelper.GetUserId(), CreatedUserName = SysHelper.GetUserName(), UpdatedTime = SysHelper.GetNowTime(), UpdatedUserId = SysHelper.GetUserId(), UpdatedUserName = SysHelper.GetUserName() + }; #region 瀹氫箟鍙橀噺 - var _CustCode = "";//瀹㈡埛缂栧彿 var _CustChinaName = "";//瀹㈡埛涓枃鍚嶇О var _CustEnglishName = "";//瀹㈡埛鑻辨枃鍚嶇О var _MnemonicCode = "";//鍔╄鐮� var _CustType = "";//绫诲瀷 - var _CustTypeName = "";//绫诲瀷鍚嶇О var _LinkMan = "";//鑱旂郴浜� var _Phone = "";//鐢佃瘽 var _Email = "";//鐢靛瓙閭欢 @@ -269,17 +268,14 @@ var _City = "";//鍩庡競 var _Address = "";//鍦板潃 var _IsDisabled = "";//鏄惁绂佺敤 - var _Id = "";//Id涓婚敭 #endregion #region 鍙栧�� - _CustCode = row["瀹㈡埛缂栧彿"]?.ToString() ; _CustChinaName = row["瀹㈡埛涓枃鍚嶇О"]?.ToString() ; _CustEnglishName = row["瀹㈡埛鑻辨枃鍚嶇О"]?.ToString() ; _MnemonicCode = row["鍔╄鐮�"]?.ToString() ; _CustType = row["绫诲瀷"]?.ToString() ; - _CustTypeName = row["绫诲瀷鍚嶇О"]?.ToString() ; _LinkMan = row["鑱旂郴浜�"]?.ToString() ; _Phone = row["鐢佃瘽"]?.ToString() ; _Email = row["鐢靛瓙閭欢"]?.ToString() ; @@ -287,22 +283,11 @@ _Province = row["鐪佷唤"]?.ToString() ; _City = row["鍩庡競"]?.ToString() ; _Address = row["鍦板潃"]?.ToString() ; - _IsDisabled = row["鏄惁绂佺敤"]?.ToString() ; - _Id = row["Id涓婚敭"]?.ToString() ; + #endregion #region 楠岃瘉 - - if (string.IsNullOrEmpty(_CustCode)) - { - throw Oops.Oh($"绗瑊index}琛孾瀹㈡埛缂栧彿]{_CustCode}涓嶈兘涓虹┖锛�"); - } - - if(!string.IsNullOrEmpty(_CustCode)) - { - addItem.CustCode = (string)_CustCode; - } if (string.IsNullOrEmpty(_CustChinaName)) { @@ -329,23 +314,18 @@ if(!string.IsNullOrEmpty(_CustType)) { - if (!int.TryParse(_CustType, out int outCustType)&&!string.IsNullOrEmpty(_CustType)) + Admin.NET.Core.BaseCustomerTypeEnum enumCustType = default(Admin.NET.Core.BaseCustomerTypeEnum); + + if(!Enum.TryParse<Admin.NET.Core.BaseCustomerTypeEnum>(_CustType, out enumCustType)&&!string.IsNullOrEmpty(_CustType)) { - throw Oops.Oh($"绗瑊index}琛孾绫诲瀷]{_CustType}鍊间笉姝g‘锛�"); - } - if (outCustType <= 0&&!string.IsNullOrEmpty(_CustType)) - { - throw Oops.Oh($"绗瑊index}琛孾绫诲瀷]{_CustType}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + throw Oops.Oh($"绗瑊index}琛孾绫诲瀷]{_CustType}鍊间笉姝g‘锛�"); } else { - addItem.CustType = outCustType; + addItem.CustType = enumCustType; + addItem.CustTypeName = addItem.CustType.ToString(); } - } - if(!string.IsNullOrEmpty(_CustTypeName)) - { - addItem.CustTypeName = (string)_CustTypeName; } if(!string.IsNullOrEmpty(_LinkMan)) { @@ -386,24 +366,9 @@ bool outIsDisabled = _IsDisabled.Equals("鏄�") ? true : false; addItem.IsDisabled = outIsDisabled; } - } + } - 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 @@ -417,7 +382,7 @@ } /// <summary> - /// 鏍规嵁鐗堟湰涓嬭浇瀹㈡埛妗f鐨凟xcel瀵煎叆妯℃澘 + /// 鏍规嵁鐗堟湰涓嬭浇寰�鏉ュ叧绯荤殑Excel瀵煎叆妯℃澘 /// </summary> /// <param name="version">妯℃澘鐗堟湰</param> /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> @@ -425,7 +390,7 @@ public IActionResult DownloadExcelTemplate([FromQuery] string version) { string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\BaseCustomer{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx"; - var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(瀹㈡埛妗f).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 }; } @@ -439,80 +404,78 @@ /// <param name="input"></param> /// <param name="isEdit"></param> /// <returns></returns> - private async Task CheckExisit( BaseCustomer input,bool isEdit=false) + private async Task CheckExisit(BaseCustomer input, bool isEdit = false) { - - - bool isExist = false; - if (!isEdit)//鏂板 - { - //鏁版嵁鏄惁瀛樺湪閲嶅 - isExist = await _baseCustomerRep.AnyAsync(u => - u.CustCode.Equals(input.CustCode) - ,false); - } - else//缂栬緫 - { - - - //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅 - isExist = await _baseCustomerRep.AnyAsync(u => - u.Id != input.Id - &&u.CustCode.Equals(input.CustCode) - ,false); - } - - + + bool isExist = false; + if (!isEdit)//鏂板 + { + //鏁版嵁鏄惁瀛樺湪閲嶅 + isExist = await _baseCustomerRep.AnyAsync(u => + u.CustChinaName.Equals(input.CustChinaName) + , false); + } + else//缂栬緫 + { + + + + //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅 + isExist = await _baseCustomerRep.AnyAsync(u => + u.Id != input.Id + && u.CustChinaName.Equals(input.CustChinaName) + , false); + } + + if (isExist) throw Oops.Oh(ErrorCode.E0001); - } - + } + /// <summary> /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇� /// </summary> /// <param name="inputs"></param> /// <returns></returns> private async Task CheckExisitForImport(List<BaseCustomer> inputs) - { + { //鏍规嵁鑱斿悎涓婚敭楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� - if (inputs?.Count <= 0) - { - throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖"); - } - //鏁版嵁鏄惁閲嶅 - var existExcelItem = inputs.GroupBy(g => new { - g.CustCode - }) - .Where(g => g.Count() > 1) - .Select(s => new { - s.Key.CustCode - }).FirstOrDefault(); - if (existExcelItem != null) - { - var baseCustomer = existExcelItem.Adapt<BaseCustomer>(); - var item= existExcelItem.Adapt<BaseCustomer>(); - throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,瀹㈡埛缂栧彿[{item.CustCode}]宸插瓨鍦�"); - } - + if (inputs?.Count <= 0) + { + throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖"); + } + //鏁版嵁鏄惁閲嶅 + var existExcelItem = inputs.GroupBy(g => new { + g.CustChinaName + }) + .Where(g => g.Count() > 1) + .Select(s => new { + s.Key.CustChinaName + }).FirstOrDefault(); + if (existExcelItem != null) + { + var item = existExcelItem.Adapt<BaseCustomer>(); + throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,瀹㈡埛涓枃鍚嶇О[{item.CustChinaName}]宸插瓨鍦�"); + } - //鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� - var existDBItem = await _baseCustomerRep.DetachedEntities.FirstOrDefaultAsync(w=> - inputs.Select(s=>"" - +s.CustCode - ) - .Contains("" - +w.CustCode - )); - if (existDBItem != null) - { - var baseCustomer = existExcelItem.Adapt<BaseCustomer>(); - var item= existExcelItem.Adapt<BaseCustomer>(); - throw Oops.Oh($"绯荤粺涓�,瀹㈡埛缂栧彿[{item.CustCode}]宸插瓨鍦�"); - } + + //鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + var existDBItem = await _baseCustomerRep.DetachedEntities.FirstOrDefaultAsync(w => + inputs.Select(s => "" + + s.CustChinaName + ) + .Contains("" + + w.CustChinaName + )); + if (existDBItem != null) + { + var item = existDBItem.Adapt<BaseCustomer>(); + throw Oops.Oh($"绯荤粺涓�,瀹㈡埛涓枃鍚嶇О[{item.CustChinaName}]宸插瓨鍦�"); + } } #endregion -- Gitblit v1.9.3