瀏覽代碼

获取所有厂商数据

jeremy 8 月之前
父節點
當前提交
675b2adc02

+ 32 - 0
src/VitalMixtureService/DBService/Service/FacturyUserDBService.cs

@@ -6,6 +6,7 @@ using WingInterfaceLibrary.Request.DBVitalRequest;
 using WingInterfaceLibrary.DTO.Vital;
 using WingInterfaceLibrary.Request;
 using WingInterfaceLibrary.Interface.DBVitalInterface;
+using WingInterfaceLibrary.DTO.Region;
 
 namespace VitalService.Service
 {
@@ -124,6 +125,37 @@ namespace VitalService.Service
             return result.MappingTo<List<FacturyUserDTO>>();
         }
 
+        /// <summary>
+        /// 获取所有厂商数据
+        /// </summary>
+        /// <returns></returns>
+        public async Task<List<RegionDataItemDTO>> GetFacturyTreeDBAsync(GetFacturyTreeDBDBRequest request)
+        {
+            var resultData = new List<RegionDataItemDTO>();
+            var filter = Builders<FacturyUserEntity>.Filter.Where(f => f.IsDelete == false);
+            var entities = await _facturyUserDBRepository.FindAllAsync(filter);
+            if (entities?.Any() ?? false)
+            {
+                var orgEntities = entities.Where(x => string.IsNullOrWhiteSpace(x.FatherCode))?.ToList() ?? new List<FacturyUserEntity>();
+                foreach (var org in orgEntities)
+                {
+                    var orgInfo = new RegionDataItemDTO
+                    {
+                        Key = org.Code,
+                        Value = org.FacturyName,
+                    };
+                    var userEntities = entities.Where(x => x.FatherCode == org.Code)?.ToList() ?? new List<FacturyUserEntity>();
+                    orgInfo.Children = userEntities.Select(u => new WingInterfaceLibrary.DTO.Common.DataItemDTO
+                    {
+                        Key = u.Code,
+                        Value = u.FacturyName,
+                    }).ToList();
+                    resultData.Add(orgInfo);
+                }
+            }
+            return resultData;
+        }
+
         /// <summary>
         /// 删除数据
         /// </summary>

+ 4 - 0
src/VitalMixtureService/DBService/Service/UserDBService.cs

@@ -202,6 +202,10 @@ namespace VitalService.Service
             {
                 updates.Add(Builders<UserEntity>.Update.Set(f => f.Signature, request.Signature));
             }
+            if (request.FacturyUserCode != "-1")
+            {
+                updates.Add(Builders<UserEntity>.Update.Set(f => f.FacturyUserCode, request.FacturyUserCode));
+            }
             var update = Builders<UserEntity>.Update.Combine(updates);
             return await _userDBRepository.UpdateOneAsync(filter, update) > 0;
         }

+ 10 - 0
src/VitalMixtureService/FrontService/Service/FacturyUserService.cs

@@ -7,6 +7,7 @@ using WingInterfaceLibrary.Request;
 using WingInterfaceLibrary.Enum;
 using Newtonsoft.Json;
 using VitalService.Factury;
+using WingInterfaceLibrary.DTO.Region;
 
 namespace VitalService.Service
 {
@@ -119,6 +120,15 @@ namespace VitalService.Service
             return await _vitalFacturyUserDBService.GetFacturyUserInfosDBAsync(dbRequest);
         }
 
+        /// <summary>
+        /// 获取所有厂商数据
+        /// </summary>
+        /// <returns></returns>
+        public async Task<List<RegionDataItemDTO>> GetFacturyTreeAsync(GetFacturyTreeRequest request)
+        {
+            return await _vitalFacturyUserDBService.GetFacturyTreeDBAsync(new GetFacturyTreeDBDBRequest { });
+        }
+
         /// <summary>
         /// 删除数据
         /// </summary>