From de04aec9646c29f3995965fcc0ae7f0e4dfe960b Mon Sep 17 00:00:00 2001
From: liuying <1427574514@qq.com>
Date: 周二, 10 12月 2024 14:18:14 +0800
Subject: [PATCH] 首页
---
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigDeviceWarning/WmsConfigDeviceWarningService.cs | 323 ++++++++++++++++++++++++++++-------------------------
1 files changed, 171 insertions(+), 152 deletions(-)
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigDeviceWarning/WmsConfigDeviceWarningService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigDeviceWarning/WmsConfigDeviceWarningService.cs
index bd5093b..3ba8cfb 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigDeviceWarning/WmsConfigDeviceWarningService.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigDeviceWarning/WmsConfigDeviceWarningService.cs
@@ -92,7 +92,7 @@
var entity = input.Adapt<WmsConfigDeviceWarning>();
//閲嶅鎬ч獙璇�
- await CheckExist(entity,true);
+ await CheckExist(entity, true);
await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
}
@@ -115,7 +115,7 @@
#region 瀵煎叆
-
+
/// <summary>
/// Excel妯℃澘瀵煎叆閰嶇疆璁惧鎶ヨ鍔熻兘
/// </summary>
@@ -125,15 +125,15 @@
[ApiDescriptionSettings(Name = "ImportExcel")]
[Description("WmsConfigDeviceWarning/ImportExcel")]
public async Task<int> ImportExcelAsync(IFormFile file)
- {
+ {
int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕
int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁
DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
- var addList =await CommonImport(importDataTable, _DataStartLine);
+ var addList = await CommonImport(importDataTable, _DataStartLine);
await _rep.InsertRangeAsync(addList);
return addList.Count;
}
-
+
/// <summary>
/// DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
/// </summary>
@@ -144,79 +144,97 @@
{
var details = new List<WmsConfigDeviceWarning>();
int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+ decimal offset = 0.0M;
+ decimal intValue = 0.0M;
+ string my_DeviceAreaCode = "";
foreach (System.Data.DataRow row in dataTable.Rows)
{
index++;
//瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
-
- var addItem = new WmsConfigDeviceWarning();
- #region 瀹氫箟鍙橀噺
- var _DeviceAreaCode = "";//璁惧鍖哄煙
- var _DeviceWarningType = "";//鎶ヨ绫诲瀷
- var _WarningCode = "";//鎶ヨ浠g爜
- var _WarningContent = "";//鎶ヨ鍐呭
- #endregion
-
-
- #region 鍙栧��
- _DeviceAreaCode = row["璁惧鍖哄煙"]?.ToString() ;
- _DeviceWarningType = row["鎶ヨ绫诲瀷"]?.ToString() ;
- _WarningCode = row["鎶ヨ浠g爜"]?.ToString() ;
- _WarningContent = row["鎶ヨ鍐呭"]?.ToString() ;
- #endregion
-
-
- #region 楠岃瘉
-
- if (string.IsNullOrEmpty(_DeviceAreaCode))
- {
- throw Oops.Oh($"绗瑊index}琛孾璁惧鍖哄煙]{_DeviceAreaCode}涓嶈兘涓虹┖锛�");
- }
-
- if(!string.IsNullOrEmpty(_DeviceAreaCode))
- {
- Admin.NET.Application.DeviceAreaCodeEnum enumDeviceAreaCode = default(Admin.NET.Application.DeviceAreaCodeEnum);
-
- if(!Enum.TryParse<Admin.NET.Application.DeviceAreaCodeEnum>(_DeviceAreaCode, out enumDeviceAreaCode)&&!string.IsNullOrEmpty(_DeviceAreaCode))
- {
- throw Oops.Oh($"绗瑊index}琛孾璁惧鍖哄煙]{_DeviceAreaCode}鍊间笉姝g‘锛�");
- }
- else
- {
- addItem.DeviceAreaCode = enumDeviceAreaCode;
- }
-
- }
-
- if (string.IsNullOrEmpty(_DeviceWarningType))
- {
- throw Oops.Oh($"绗瑊index}琛孾鎶ヨ绫诲瀷]{_DeviceWarningType}涓嶈兘涓虹┖锛�");
- }
-
- if(!string.IsNullOrEmpty(_DeviceWarningType))
- {
- Admin.NET.Application.DeviceWarningTypeEnum enumDeviceWarningType = default(Admin.NET.Application.DeviceWarningTypeEnum);
-
- if(!Enum.TryParse<Admin.NET.Application.DeviceWarningTypeEnum>(_DeviceWarningType, out enumDeviceWarningType)&&!string.IsNullOrEmpty(_DeviceWarningType))
- {
- throw Oops.Oh($"绗瑊index}琛孾鎶ヨ绫诲瀷]{_DeviceWarningType}鍊间笉姝g‘锛�");
- }
- else
- {
- addItem.DeviceWarningType = enumDeviceWarningType;
- }
-
- }
- if(!string.IsNullOrEmpty(_WarningCode))
- {
- addItem.WarningCode = (string)(_WarningCode.Trim());
- }
- if(!string.IsNullOrEmpty(_WarningContent))
- {
- addItem.WarningContent = (string)(_WarningContent.Trim());
- }
- #endregion
-
+
+ var addItem = new WmsConfigDeviceWarning();
+ #region 瀹氫箟鍙橀噺
+ var _DeviceAreaCode = "";//璁惧鍖哄煙
+ var _DeviceWarningType = "";//鎶ヨ绫诲瀷
+ var _WarningCode = "";//鎶ヨ浠g爜
+ var _WarningContent = "";//鎶ヨ鍐呭
+ #endregion
+
+
+ #region 鍙栧��
+ _DeviceAreaCode = row["璁惧鍖哄煙"]?.ToString();
+ _DeviceWarningType = row["鎶ヨ绫诲瀷"]?.ToString();
+ _WarningCode = row["鎶ヨ浠g爜"]?.ToString();
+ _WarningContent = row["鎶ヨ鍐呭"]?.ToString();
+ #endregion
+
+ if (!string.IsNullOrEmpty(my_DeviceAreaCode) && _DeviceAreaCode != my_DeviceAreaCode)
+ {
+ throw Oops.Oh($"绗瑊index}琛屼竴娆″彧鑳藉鍏ヤ竴涓澶囧尯鍩燂紒");
+ }
+ my_DeviceAreaCode = _DeviceAreaCode;
+
+ #region 楠岃瘉
+
+ if (string.IsNullOrEmpty(_DeviceAreaCode))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾璁惧鍖哄煙]{_DeviceAreaCode}涓嶈兘涓虹┖锛�");
+ }
+
+ if (!string.IsNullOrEmpty(_DeviceAreaCode))
+ {
+ Admin.NET.Application.DeviceAreaCodeEnum enumDeviceAreaCode = default(Admin.NET.Application.DeviceAreaCodeEnum);
+
+ if (!Enum.TryParse<Admin.NET.Application.DeviceAreaCodeEnum>(_DeviceAreaCode, out enumDeviceAreaCode) && !string.IsNullOrEmpty(_DeviceAreaCode))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾璁惧鍖哄煙]{_DeviceAreaCode}鍊间笉姝g‘锛�");
+ }
+ else
+ {
+ addItem.DeviceAreaCode = enumDeviceAreaCode;
+ }
+
+ }
+
+ if (string.IsNullOrEmpty(_DeviceWarningType))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾鎶ヨ绫诲瀷]{_DeviceWarningType}涓嶈兘涓虹┖锛�");
+ }
+
+ if (!string.IsNullOrEmpty(_DeviceWarningType))
+ {
+ Admin.NET.Application.DeviceWarningTypeEnum enumDeviceWarningType = default(Admin.NET.Application.DeviceWarningTypeEnum);
+
+ if (!Enum.TryParse<Admin.NET.Application.DeviceWarningTypeEnum>(_DeviceWarningType, out enumDeviceWarningType) && !string.IsNullOrEmpty(_DeviceWarningType))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾鎶ヨ绫诲瀷]{_DeviceWarningType}鍊间笉姝g‘锛�");
+ }
+ else
+ {
+ addItem.DeviceWarningType = enumDeviceWarningType;
+ }
+
+ }
+
+ if (!string.IsNullOrEmpty(_WarningContent))
+ {
+ addItem.WarningContent = (string)(_WarningContent.Trim());
+ }
+ #endregion
+
+ addItem.WarningCode = SysHelper.GetDBForDeviceWarning(_DeviceAreaCode) + "|" + intValue.ToString("0.0");
+
+ if (offset == 0.7M)
+ {
+ offset = 0.0M;
+ intValue += 0.3M;
+ }
+ else
+ {
+ offset += 0.1M;
+ intValue += 0.1M;
+ }
+
details.Add(addItem);
}
@@ -224,7 +242,7 @@
await CheckExisitForImport(details);
return details;
}
-
+
/// <summary>
/// 鏍规嵁鐗堟湰涓嬭浇閰嶇疆璁惧鎶ヨ鐨凟xcel瀵煎叆妯℃澘
/// </summary>
@@ -238,7 +256,7 @@
var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(閰嶇疆璁惧鎶ヨ).xlsx", Encoding.GetEncoding("UTF-8"));
return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
}
-
+
#endregion
#region 绉佹湁鏂规硶
@@ -262,89 +280,90 @@
.WhereIF(!string.IsNullOrWhiteSpace(input.WarningCode), u => u.WarningCode.Contains(input.WarningCode.Trim()))
.WhereIF(!string.IsNullOrWhiteSpace(input.WarningContent), u => u.WarningContent.Contains(input.WarningContent.Trim()))
.Select<WmsConfigDeviceWarningOutput>();
- if(input.CreateTimeRange != null && input.CreateTimeRange.Count >0)
+ if (input.CreateTimeRange != null && input.CreateTimeRange.Count > 0)
{
- DateTime? start= input.CreateTimeRange[0].Value;
+ DateTime? start = input.CreateTimeRange[0].Value;
query = query.WhereIF(start.HasValue, u => u.CreateTime >= start);
- if (input.CreateTimeRange.Count >1 && input.CreateTimeRange[1].HasValue)
+ if (input.CreateTimeRange.Count > 1 && input.CreateTimeRange[1].HasValue)
{
var end = input.CreateTimeRange[1].Value;
query = query.Where(u => u.CreateTime <= end);
}
- }
- return query;
- }
-
- /// <summary>
- /// 閲嶅鎬ч獙璇�
- /// </summary>
- /// <param name="input">楠岃瘉瀵硅薄</param>
- /// <param name="isEdit">鏄惁鏄紪杈�</param>
- /// <returns></returns>
- private async Task CheckExist( WmsConfigDeviceWarning input,bool isEdit=false)
- {
-
-
-
- //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
-
-
- bool isExistForSingle_WarningCode = false;
- if (!isEdit)//鏂板
- {
- //鏁版嵁鏄惁鍗曠嫭瀛樺湪閲嶅-鎶ヨ浠g爜
- isExistForSingle_WarningCode = await _rep.AsQueryable().AnyAsync(u =>
- u.WarningCode.Equals(input.WarningCode));
- }
- else//缂栬緫
- {
- //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁鍗曠嫭瀛樺湪閲嶅-鎶ヨ浠g爜
- isExistForSingle_WarningCode = await _rep.AsQueryable().AnyAsync(u =>
- u.Id != input.Id
- && u.WarningCode.Equals(input.WarningCode));
- }
- if (isExistForSingle_WarningCode) throw Oops.Oh($"楠岃瘉澶辫触,鎶ヨ浠g爜[" + input.WarningCode + "]宸插瓨鍦�");
-
- }
-
- /// <summary>
- /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
- /// </summary>
- /// <param name="inputs"></param>
- /// <returns></returns>
- private async Task CheckExisitForImport(List<WmsConfigDeviceWarning> inputs)
- {
- if (inputs?.Count <= 0)
- {
- throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
- }
- //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
-
-
-
-
-
-
-
-
- //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
- var existExcelItemForSingle_WarningCode = inputs.GroupBy(g => new { g.WarningCode}).Where(g => g.Count() > 1).ToList();
- if(existExcelItemForSingle_WarningCode != null && existExcelItemForSingle_WarningCode.Count > 0){
- var item= existExcelItemForSingle_WarningCode.First().ToList().First();
- throw Oops.Oh($"楠岃瘉澶辫触,瀵煎叆鐨勮〃鏍间腑,鎶ヨ浠g爜[" + item.WarningCode + "]宸查噸澶嶅瓨鍦�");
- }
-
- //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
- var existDBItemList = await _rep.GetListAsync(w=>
- inputs.Select(s=>s.WarningCode).ToList().Contains(w.WarningCode)
- );
- var db_ForSingle_WarningCode = existDBItemList.FirstOrDefault(g => inputs.Select(s=>s.WarningCode).ToList().Contains(g.WarningCode));
- if(db_ForSingle_WarningCode != null) throw Oops.Oh($"楠岃瘉澶辫触,绯荤粺涓�,鎶ヨ浠g爜[" + db_ForSingle_WarningCode.WarningCode + "]宸查噸澶嶅瓨鍦�");
-
-
-
}
- #endregion
+ return query;
+ }
+
+ /// <summary>
+ /// 閲嶅鎬ч獙璇�
+ /// </summary>
+ /// <param name="input">楠岃瘉瀵硅薄</param>
+ /// <param name="isEdit">鏄惁鏄紪杈�</param>
+ /// <returns></returns>
+ private async Task CheckExist(WmsConfigDeviceWarning input, bool isEdit = false)
+ {
+
+
+
+ //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+
+ bool isExistForSingle_WarningCode = false;
+ if (!isEdit)//鏂板
+ {
+ //鏁版嵁鏄惁鍗曠嫭瀛樺湪閲嶅-鎶ヨ浠g爜
+ isExistForSingle_WarningCode = await _rep.AsQueryable().AnyAsync(u =>
+ u.WarningCode.Equals(input.WarningCode));
+ }
+ else//缂栬緫
+ {
+ //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁鍗曠嫭瀛樺湪閲嶅-鎶ヨ浠g爜
+ isExistForSingle_WarningCode = await _rep.AsQueryable().AnyAsync(u =>
+ u.Id != input.Id
+ && u.WarningCode.Equals(input.WarningCode));
+ }
+ if (isExistForSingle_WarningCode) throw Oops.Oh($"楠岃瘉澶辫触,鎶ヨ浠g爜[" + input.WarningCode + "]宸插瓨鍦�");
+
+ }
+
+ /// <summary>
+ /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+ /// </summary>
+ /// <param name="inputs"></param>
+ /// <returns></returns>
+ private async Task CheckExisitForImport(List<WmsConfigDeviceWarning> inputs)
+ {
+ if (inputs?.Count <= 0)
+ {
+ throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+ }
+ //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+
+
+
+
+
+
+
+
+ //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+ var existExcelItemForSingle_WarningCode = inputs.GroupBy(g => new { g.WarningCode }).Where(g => g.Count() > 1).ToList();
+ if (existExcelItemForSingle_WarningCode != null && existExcelItemForSingle_WarningCode.Count > 0)
+ {
+ var item = existExcelItemForSingle_WarningCode.First().ToList().First();
+ throw Oops.Oh($"楠岃瘉澶辫触,瀵煎叆鐨勮〃鏍间腑,鎶ヨ浠g爜[" + item.WarningCode + "]宸查噸澶嶅瓨鍦�");
+ }
+
+ //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+ var existDBItemList = await _rep.GetListAsync(w =>
+ inputs.Select(s => s.WarningCode).ToList().Contains(w.WarningCode)
+ );
+ var db_ForSingle_WarningCode = existDBItemList.FirstOrDefault(g => inputs.Select(s => s.WarningCode).ToList().Contains(g.WarningCode));
+ if (db_ForSingle_WarningCode != null) throw Oops.Oh($"楠岃瘉澶辫触,绯荤粺涓�,鎶ヨ浠g爜[" + db_ForSingle_WarningCode.WarningCode + "]宸查噸澶嶅瓨鍦�");
+
+
+
+ }
+ #endregion
}
--
Gitblit v1.9.3