diff --git a/Src/Dlhis.Basic/BusinessPlace/Controllers/BusinessPlacesController.cs b/Src/Dlhis.Basic/BusinessPlace/Controllers/BusinessPlacesController.cs index 63dd5b4b..557100dc 100644 --- a/Src/Dlhis.Basic/BusinessPlace/Controllers/BusinessPlacesController.cs +++ b/Src/Dlhis.Basic/BusinessPlace/Controllers/BusinessPlacesController.cs @@ -93,4 +93,14 @@ public class BusinessPlacesController : ControllerBase { return await _businessPlaceShiftService.GetShiftsByPlaceCustomCodeAsync(request.CustomCode); } + + /// + /// 根据营业点获取下面的设备 + /// + /// + /// + public async Task GetDevicesByCode(BusinessPlaceGetByCodeRequest request) + { + return await _businessPlaceShiftService.GetDevicesByCode(request); + } } diff --git a/Src/Dlhis.Basic/BusinessPlace/Request/BusinessPlaceGetByCodeRequest.cs b/Src/Dlhis.Basic/BusinessPlace/Request/BusinessPlaceGetByCodeRequest.cs new file mode 100644 index 00000000..7aaa6060 --- /dev/null +++ b/Src/Dlhis.Basic/BusinessPlace/Request/BusinessPlaceGetByCodeRequest.cs @@ -0,0 +1,13 @@ +using System.ComponentModel.DataAnnotations; + +namespace Dlhis.Basic.BusinessPlace.Request +{ + public class BusinessPlaceGetByCodeRequest + { + /// + /// 营业点号 + /// + [Required(ErrorMessage = "营业点号不能为空")] + public string Code { get; set; } + } +} diff --git a/Src/Dlhis.Basic/BusinessPlace/Response/DeviceCodeNameDetail.cs b/Src/Dlhis.Basic/BusinessPlace/Response/DeviceCodeNameDetail.cs new file mode 100644 index 00000000..fb7d0426 --- /dev/null +++ b/Src/Dlhis.Basic/BusinessPlace/Response/DeviceCodeNameDetail.cs @@ -0,0 +1,6 @@ +namespace Dlhis.Basic.BusinessPlace.Response +{ + public class DeviceCodeNameDetail + { + } +} diff --git a/Src/Dlhis.Basic/BusinessShift/Services/IBusinessPlaceShiftService.cs b/Src/Dlhis.Basic/BusinessShift/Services/IBusinessPlaceShiftService.cs index 1dc289da..70b32573 100644 --- a/Src/Dlhis.Basic/BusinessShift/Services/IBusinessPlaceShiftService.cs +++ b/Src/Dlhis.Basic/BusinessShift/Services/IBusinessPlaceShiftService.cs @@ -1,4 +1,5 @@ -using Dlhis.Basic.BusinessPlace.Response; +using Dlhis.Basic.BusinessPlace.Request; +using Dlhis.Basic.BusinessPlace.Response; using Dlhis.Basic.BusinessShift.Request; using Dlhis.Basic.BusinessShift.Response; using Kurisu.Core.DataAccess.Dto; @@ -16,4 +17,6 @@ public interface IBusinessPlaceShiftService : IScopeDependency Task SaveMealShiftsAsync(List requests); Task GetShiftsByPlaceCustomCodeAsync(string placeCustomCode); + + Task GetDevicesByCode(BusinessPlaceGetByCodeRequest request); } diff --git a/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs b/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs index 84931863..ec61ffb4 100644 --- a/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs +++ b/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs @@ -1,4 +1,5 @@ -using Dlhis.Basic.BusinessPlace.Response; +using Dlhis.Basic.BusinessPlace.Request; +using Dlhis.Basic.BusinessPlace.Response; using Dlhis.Basic.BusinessShift.Request; using Dlhis.Basic.BusinessShift.Response; using Dlhis.Entity.Basic.Entity; @@ -188,6 +189,10 @@ public class BusinessPlaceShiftService : IBusinessPlaceShiftService }; } + public async Task> GetDevicesByCode(BusinessPlaceGetByCodeRequest request) + { + + } //*********************************************** help methods ***************************************************// diff --git a/Src/Dlhis.Basic/Device/Response/DevicePageResponse.cs b/Src/Dlhis.Basic/Device/Response/DevicePageResponse.cs index d9d47179..9fe547c6 100644 --- a/Src/Dlhis.Basic/Device/Response/DevicePageResponse.cs +++ b/Src/Dlhis.Basic/Device/Response/DevicePageResponse.cs @@ -99,4 +99,9 @@ public class DevicePageResponse /// 消费人次 /// public int UserCount { get; set; } + + /// + /// 设备营业点 + /// + public List detils { get; set; } } diff --git a/Src/Dlhis.Basic/Device/Response/PlaceCodeNameDetil.cs b/Src/Dlhis.Basic/Device/Response/PlaceCodeNameDetil.cs new file mode 100644 index 00000000..9f449033 --- /dev/null +++ b/Src/Dlhis.Basic/Device/Response/PlaceCodeNameDetil.cs @@ -0,0 +1,9 @@ +namespace Dlhis.Basic.Device.Response +{ + public class PlaceCodeNameDetil + { + public string BusinessPlaceCode { get; set; } + public string BusinessPlaceName { get; set; } + + } +} diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs index 568bd507..f17f71c2 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs @@ -37,7 +37,6 @@ public class DeviceService : IDeviceService FuncsStr = d.Funcs.ToString(), Brand = dt.Brand, Type = d.Type, - }, true) .ToPageListAsync(request); @@ -59,6 +58,37 @@ public class DeviceService : IDeviceService }) .ToListAsync(); + var Registries = await _dbContext.Queryable() + .ToListAsync(); + var BusinessPlaces = await _dbContext.Queryable() + .ToListAsync(); + + foreach (var res in page.Data) + { + var list = new List(); + var regis = Registries.Where(x => x.DeviceUniqueNo == res.UniqueNo).ToList(); + if (regis!=null && regis.Count>0) + { + foreach (var re in regis) + { + var place = BusinessPlaces.Where(x => x.Code == re.BusinessPlaceCode) + .FirstOrDefault(); + + if (place != null) + { + var detil = new PlaceCodeNameDetil + { + BusinessPlaceCode = re.BusinessPlaceCode.ToString(), + BusinessPlaceName = place.Name + }; + list.Add(detil); + } + + } + } + res.detils = list; + + } page.Data.ForEach(device => { device.Amount = balanceRecords.Sum(x => x.Amount); @@ -332,7 +362,7 @@ public class DeviceService : IDeviceService { var page = await _dbContext.Queryable() .LeftJoin((d, dt) => d.TemplateCode == dt.Code) - .Where(d => d.Type == DeviceTypeEnumType.Attendance && d.Enable) + .Where(x => x.Type == DeviceTypeEnumType.Attendance || (x.Type == DeviceTypeEnumType.Door && x.AsAttendance)) .Select((d, dt) => new DevicePageResponse { FuncsStr = d.Funcs.ToString(),