From 8d341db9d2d5699d527c88c935f0c4ce255a57a4 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期二, 10 十二月 2024 16:38:12 +0800 Subject: [PATCH] 代码提交 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs | 98 +++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 91 insertions(+), 7 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs" index 469aaf4..effa323 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs" @@ -1,5 +1,6 @@ 锘縰sing Newtonsoft.Json; using OfficeOpenXml.FormulaParsing.Excel.Functions.Information; +using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; using System; using System.Collections.Generic; using System.ComponentModel; @@ -19,7 +20,9 @@ using WIDESEA_Core.DB; using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; +using WIDESEA_Core.Utilities; using WIDESEA_DTO.System; +using WIDESEA_IBasicRepository; using WIDESEA_ISystemRepository; using WIDESEA_ISystemService; using WIDESEA_Model.Models; @@ -30,19 +33,31 @@ { private readonly IUnitOfWorkManage _unitOfWorkManage; private readonly ICacheService _cacheService; + private readonly IBasicRepository _basicRepository; + private readonly ISys_RoleDataPermissionRepository _roleDataPermissionRepository; - public Sys_DictionaryService(ISys_DictionaryRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService) : base(BaseDal) + public Sys_DictionaryService(ISys_DictionaryRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService, IBasicRepository basicRepository, ISys_RoleDataPermissionRepository roleDataPermissionRepository) : base(BaseDal) { _unitOfWorkManage = unitOfWorkManage; _cacheService = cacheService; + _basicRepository = basicRepository; + _roleDataPermissionRepository = roleDataPermissionRepository; } public ISys_DictionaryRepository Repository => BaseDal; public override WebResponseContent AddData(SaveModel saveModel) { + string validResult = typeof(Sys_Dictionary).ValidateDicInEntity(saveModel.MainData, true, TProperties); + + if (!string.IsNullOrEmpty(validResult)) + { + return WebResponseContent.Instance.Error(validResult); + } + Sys_Dictionary dictionary = saveModel.MainData.DicToModel<Sys_Dictionary>(); - _cacheService.Remove(dictionary.DicNo); + if (!string.IsNullOrEmpty(_cacheService.Get(dictionary.DicNo))) + _cacheService.Remove(dictionary.DicNo); return base.AddData(saveModel); } @@ -80,12 +95,13 @@ DicNo = s.DicNo, Config = s.Config, //dbSql = s.Sql, - Data = s.DicList.OrderByDescending(o => o.OrderNo).Select(list => new { key = list.DicValue, value = list.DicName }) + Data = s.DicList.OrderByDescending(o => o.OrderNo).Select(list => new { key = list.DicValue, value = list.DicName }), + SaveCache = false }).ToList(); foreach (var item in selectDics) { - if (!_cacheService.Exists(item.DicNo)) + if (!_cacheService.Exists(item.DicNo) && item.SaveCache) { _cacheService.Add(item.DicNo, item.Serialize()); } @@ -122,8 +138,11 @@ foreach (var item in dics) { - dicList.Remove(item); - cusDics.Add(item); + if (dicNos.Contains(item) && !cacheDicNos.Contains(item)) + { + dicList.Remove(item); + cusDics.Add(item); + } } foreach (var item in cusDics) @@ -132,7 +151,7 @@ if (vueDictionaryDTO != null) { vueDictionaryDTOs.Add(vueDictionaryDTO); - if (!_cacheService.Exists(item)) + if (!_cacheService.Exists(item) && vueDictionaryDTO.SaveCache) { _cacheService.Add(item, vueDictionaryDTO.Serialize()); } @@ -564,6 +583,71 @@ result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; + case "receiveOrderTypeEnum": + { + List<object> data = new List<object>(); + + { + Type type = typeof(ReceiveOrderTypeEnum); + List<int> enums = Enum.GetValues(typeof(ReceiveOrderTypeEnum)).Cast<int>().ToList(); + int index = 0; + foreach (var item in enums) + { + FieldInfo? fieldInfo = typeof(ReceiveOrderTypeEnum).GetField(((ReceiveOrderTypeEnum)item).ToString()); + DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); + if (description != null) + { + data.Add(new { key = item.ToString(), value = description.Description }); + } + else + { + data.Add(new { key = item.ToString(), value = item.ToString() }); + } + index++; + } + } + + result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; + } + break; + case "authorityScope": + { + if (App.User.IsSuperAdmin) + { + List<Dt_Warehouse> warehouses = _basicRepository.WarehouseRepository.QueryData(x => true); + var data = warehouses.Select(x => new { key = x.WarehouseId, value = x.WarehouseName }); + result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; + } + else + { + List<Sys_RoleDataPermission> roleDataPermissions = _roleDataPermissionRepository.QueryData(x => x.RoleId == App.User.RoleId); + var data = roleDataPermissions.Select(x => new { key = x.WarehouseId, value = x.WarehouseName }); + result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; + } + } + break; + case "authorityScopes": + { + List<Sys_Role> roles = Repository.Db.Queryable<Sys_Role>().ToList(); + List<object> data = new List<object>(); + foreach (var item in roles) + { + List<Sys_RoleDataPermission> roleDataPermissions = _roleDataPermissionRepository.QueryData(x => x.RoleId == item.RoleId); + string value = ""; + foreach (var roleDataPermission in roleDataPermissions) + { + value += (roleDataPermission.WarehouseName + ","); + } + if (roleDataPermissions.Count > 0) + data.Add(new { key = item.RoleId, value = value.Substring(0, value.Length - 1) }); + else + data.Add(new { key = item.RoleId, value = "鏃犳潈闄�" }); + } + data.Add(new { key = -1, value = "鏃犳潈闄�" }); + result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data, SaveCache = false }; + } + + break; } return result; } -- Gitblit v1.9.3