From 966f1394b31670aba13698e893f8e6af83e28bde Mon Sep 17 00:00:00 2001
From: payne <bzrlw2012@163.com>
Date: 周五, 26 4月 2024 10:20:57 +0800
Subject: [PATCH] 1
---
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