diff --git a/Src/Dlhis.Canteen/Order/Controllers/BalancesController.cs b/Src/Dlhis.Canteen/Order/Controllers/BalancesController.cs index b4fc36b5..c2fbc53b 100644 --- a/Src/Dlhis.Canteen/Order/Controllers/BalancesController.cs +++ b/Src/Dlhis.Canteen/Order/Controllers/BalancesController.cs @@ -82,8 +82,8 @@ public class BalancesController : ControllerBase /// /// /// - [HttpGet("recordByCostI")] - public async Task> RecordByCostIdAsync([FromQuery] BalanceRecordPageByCostIdRequest request) + [HttpGet("recordByCostId")] + public async Task> RecordByCostIdAsync([FromQuery] BalanceRecordPageByCostIdRequest request) { return await _balanceService.RecordByCostIdAsync(request); } @@ -105,7 +105,7 @@ public class BalancesController : ControllerBase /// /// [HttpGet("recordSummaryByNo")] - public async Task> BalanceRecordSummaryByNoAsync([FromQuery] BalanceRecordSummaryRequest request) + public async Task> BalanceRecordSummaryByNoAsync([FromQuery] BalanceRecordSummaryRequest request) { return await _balanceService.BalanceRecordSummaryByNoAsync(request); } @@ -116,7 +116,7 @@ public class BalancesController : ControllerBase /// /// [HttpGet("recordSummaryByTid")] - public async Task> BalanceRecordSummaryByTidAsync([FromQuery] BalanceRecordSummaryRequest request) + public async Task> BalanceRecordSummaryByTidAsync([FromQuery] BalanceRecordSummaryRequest request) { return await _balanceService.BalanceRecordSummaryByTidAsync(request); } @@ -128,7 +128,7 @@ public class BalancesController : ControllerBase /// /// [HttpGet("BalanceRecordSummaryAsync")] - public async Task> BalanceRecordAnalysisAsync([FromQuery] BalanceRecordAnalysisRequest request) + public async Task> BalanceRecordAnalysisAsync([FromQuery] BalanceRecordAnalysisRequest request) { return await _balanceService.BalanceRecordAnalysisAsync(request); } diff --git a/Src/Dlhis.Canteen/Order/Request/BalanceRecordAnalysisRequest.cs b/Src/Dlhis.Canteen/Order/Request/BalanceRecordAnalysisRequest.cs index 93ee0d3f..ca02c0a9 100644 --- a/Src/Dlhis.Canteen/Order/Request/BalanceRecordAnalysisRequest.cs +++ b/Src/Dlhis.Canteen/Order/Request/BalanceRecordAnalysisRequest.cs @@ -1,8 +1,9 @@ -using SqlSugar; +using Kurisu.Core.DataAccess.Dto; +using SqlSugar; namespace Dlhis.Canteen.Order.Request { - public class BalanceRecordAnalysisRequest + public class BalanceRecordAnalysisRequest : PageDto { /// /// 开始日期 diff --git a/Src/Dlhis.Canteen/Order/Services/IBalanceService.cs b/Src/Dlhis.Canteen/Order/Services/IBalanceService.cs index 3e4b672c..8a12f2c4 100644 --- a/Src/Dlhis.Canteen/Order/Services/IBalanceService.cs +++ b/Src/Dlhis.Canteen/Order/Services/IBalanceService.cs @@ -14,13 +14,13 @@ public interface IBalanceService : IScopeDependency Task ObsoluteAsync(BalanceRecordObsoluteRequest request); - Task> RecordByCostIdAsync(BalanceRecordPageByCostIdRequest request); + Task> RecordByCostIdAsync(BalanceRecordPageByCostIdRequest request); Task> RecordPageDetailsAsync(BalanceRecordPageDetailsRequest request); - Task> BalanceRecordSummaryByNoAsync(BalanceRecordSummaryRequest request); + Task> BalanceRecordSummaryByNoAsync(BalanceRecordSummaryRequest request); - Task> BalanceRecordSummaryByTidAsync(BalanceRecordSummaryRequest request); + Task> BalanceRecordSummaryByTidAsync(BalanceRecordSummaryRequest request); - Task> BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request); + Task> BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request); } diff --git a/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs b/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs index 7ea10886..da3ff105 100644 --- a/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs +++ b/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs @@ -76,7 +76,7 @@ public class BalanceService : IBalanceService /// /// /// - public async Task> RecordByCostIdAsync(BalanceRecordPageByCostIdRequest request) + public async Task> RecordByCostIdAsync(BalanceRecordPageByCostIdRequest request) { var shiftCodeDict = await GetShiftCode(); @@ -85,10 +85,10 @@ public class BalanceService : IBalanceService .WhereIF(!request.DepartmentNo.IsEmpty(), record => record.DepartmentNo == request.DepartmentNo) .WhereIF(!request.OriginTenantId.IsEmpty(), record => record.OriginTenantId == request.OriginTenantId) .WhereIF(!request.CostId.IsEmpty(), record => record.CostId == request.CostId) - .WhereIF(request.StartDatetime.HasValue, record => record.CostDateTime >= request.StartDatetime) + .WhereIF(request.StartDatetime.HasValue, record => record.CostDateTime >= request.StartDatetime) .WhereIF(request.EndDatetime.HasValue, record => record.CostDateTime <= request.EndDatetime) .Where(record => record.Type == BalanceRecordTypeEnumType.Out) - .OrderBy(record => record.CreateTime, OrderByType.Desc) + .OrderBy(record => record.CreateTime, OrderByType.Desc) .ToListAsync(); var lst = new List(); @@ -102,20 +102,14 @@ public class BalanceService : IBalanceService // 每个餐次人数 obj.BreakfastNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]); - obj.LunchNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]); - obj.DinnerNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]); - obj.LateNightNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]); //餐次金额 obj.BreakfastAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount); - obj.LunchAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount); - obj.DinnerAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount); - obj.LateNightAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount); // 每个餐次单价 @@ -127,9 +121,23 @@ public class BalanceService : IBalanceService // 总人数 总金额 obj.TotalNumberOfPeople = obj.BreakfastNumberOfPeople + obj.LunchNumberOfPeople + obj.DinnerNumberOfPeople + obj.LateNightNumberOfPeople; obj.TotalAmount = obj.BreakfastAmount + obj.LunchAmount + obj.DinnerAmount + obj.LateNightAmount; + lst.Add(obj); } - return lst; + + // 分页操作 + var startIndex = (request.PageIndex - 1) * request.PageSize; + var pagedData = lst.Skip(startIndex).Take(request.PageSize).ToList(); + + var pagination = new Pagination + { + PageIndex = request.PageIndex, + PageSize = request.PageSize, + Total = lst.Count, // 使用原始列表的总数进行分页 + Data = pagedData + }; + + return pagination; } /// @@ -188,7 +196,7 @@ public class BalanceService : IBalanceService /// /// /// - public async Task> BalanceRecordSummaryByNoAsync(BalanceRecordSummaryRequest request) + public async Task> BalanceRecordSummaryByNoAsync(BalanceRecordSummaryRequest request) { var shiftCodeDict = await GetShiftCode(); @@ -245,7 +253,19 @@ public class BalanceService : IBalanceService lst.Add(obj); } - return lst; + // 分页操作 + var startIndex = (request.PageIndex - 1) * request.PageSize; + var pagedData = lst.Skip(startIndex).Take(request.PageSize).ToList(); + + var pagination = new Pagination + { + PageIndex = request.PageIndex, + PageSize = request.PageSize, + Total = lst.Count, // 使用原始列表的总数进行分页 + Data = pagedData + }; + + return pagination; } /// @@ -253,7 +273,7 @@ public class BalanceService : IBalanceService /// /// /// - public async Task> BalanceRecordSummaryByTidAsync(BalanceRecordSummaryRequest request) + public async Task> BalanceRecordSummaryByTidAsync(BalanceRecordSummaryRequest request) { var shiftCodeDict = await GetShiftCode(); @@ -309,7 +329,19 @@ public class BalanceService : IBalanceService obj.TotalAmount = obj.BreakfastAmount + obj.LunchAmount + obj.DinnerAmount + obj.LateNightAmount; lst.Add(obj); } - return lst; + // 分页操作 + var startIndex = (request.PageIndex - 1) * request.PageSize; + var pagedData = lst.Skip(startIndex).Take(request.PageSize).ToList(); + + var pagination = new Pagination + { + PageIndex = request.PageIndex, + PageSize = request.PageSize, + Total = lst.Count, // 使用原始列表的总数进行分页 + Data = pagedData + }; + + return pagination; } /// @@ -317,7 +349,7 @@ public class BalanceService : IBalanceService /// /// /// - public async Task> BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request) + public async Task> BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request) { var shiftCodeDict = await GetShiftCode(); @@ -348,7 +380,19 @@ public class BalanceService : IBalanceService obj.TotalNumberOfPeople = obj.BreakfastNumberOfPeople + obj.LunchNumberOfPeople + obj.DinnerNumberOfPeople + obj.LateNightNumberOfPeople; lst.Add(obj); } - return lst; + // 分页操作 + var startIndex = (request.PageIndex - 1) * request.PageSize; + var pagedData = lst.Skip(startIndex).Take(request.PageSize).ToList(); + + var pagination = new Pagination + { + PageIndex = request.PageIndex, + PageSize = request.PageSize, + Total = lst.Count, // 使用原始列表的总数进行分页 + Data = pagedData + }; + + return pagination; } diff --git a/Src/Dlhis.Common/.config/dotnet-tools.json b/Src/Dlhis.Common/.config/dotnet-tools.json new file mode 100644 index 00000000..fd9a39d8 --- /dev/null +++ b/Src/Dlhis.Common/.config/dotnet-tools.json @@ -0,0 +1,12 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-ef": { + "version": "8.0.1", + "commands": [ + "dotnet-ef" + ] + } + } +} \ No newline at end of file diff --git a/Src/Dlhis.Common/Controllers/ApkFileController.cs b/Src/Dlhis.Common/Controllers/ApkFileController.cs index c6ffdc27..dec27e89 100644 --- a/Src/Dlhis.Common/Controllers/ApkFileController.cs +++ b/Src/Dlhis.Common/Controllers/ApkFileController.cs @@ -3,6 +3,7 @@ using Dlhis.Common.Response; using Dlhis.Common.Services; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using Org.BouncyCastle.Asn1.Ocsp; namespace Dlhis.Common.Controllers; @@ -51,19 +52,30 @@ public class ApkFileController : ControllerBase [HttpPost("local")] [RequestSizeLimit(100_000_0000)] - public async Task FormLocalFileUpload([FromForm] ApkRequest request) + public async Task FormLocalFileUpload([FromForm] ApkRequest request) { return await _apkFIileService.FormLocalFileUpload(request); } + /// + /// 查看最新版本 + /// + /// + /// + [HttpGet("latestFile")] + public async Task LatestFile(string fileName) + { + return await _apkFIileService.LatestFile(fileName); + } + /// /// 本地文件下载 /// - /// + /// /// [HttpGet("local")] - public IActionResult FormLocalDownloadFile(string filePath) + public IActionResult FormLocalDownloadFile(string fileName) { - return _apkFIileService.FormLocalDownloadFile(filePath); + return _apkFIileService.FormLocalDownloadFile(fileName); } } diff --git a/Src/Dlhis.Common/Properties/PublishProfiles/FolderProfile.pubxml b/Src/Dlhis.Common/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 00000000..c012208d --- /dev/null +++ b/Src/Dlhis.Common/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,17 @@ + + + + + false + false + true + Release + Any CPU + FileSystem + D:\新建下载\迪联科技\common + FileSystem + <_TargetId>Folder + + \ No newline at end of file diff --git a/Src/Dlhis.Common/Request/ApkRequest.cs b/Src/Dlhis.Common/Request/ApkRequest.cs index 18dc4282..3665dafb 100644 --- a/Src/Dlhis.Common/Request/ApkRequest.cs +++ b/Src/Dlhis.Common/Request/ApkRequest.cs @@ -12,6 +12,11 @@ /// public int VersionCode { get; set; } + /// + /// 版本名称 + /// + public int VersionName { get; set; } + /// /// 修改信息 /// diff --git a/Src/Dlhis.Common/Response/ApkFileFormLocalResponse.cs b/Src/Dlhis.Common/Response/ApkFileFormLocalResponse.cs new file mode 100644 index 00000000..6d91bf30 --- /dev/null +++ b/Src/Dlhis.Common/Response/ApkFileFormLocalResponse.cs @@ -0,0 +1,25 @@ +namespace Dlhis.Common.Response +{ + public class ApkFileFormLocalResponse + { + /// + /// 文件名称 + /// + public string Name { get; set; } + + /// + /// 版本号 + /// + public int VersionCode { get; set; } + + /// + /// 版本名称 + /// + public int VersionName { get; set; } + + /// + /// 修改信息 + /// + public string UpdateMessage { get; set; } + } +} diff --git a/Src/Dlhis.Common/Response/ApkFileResponse.cs b/Src/Dlhis.Common/Response/ApkFileResponse.cs index f1529c84..f102220f 100644 --- a/Src/Dlhis.Common/Response/ApkFileResponse.cs +++ b/Src/Dlhis.Common/Response/ApkFileResponse.cs @@ -19,6 +19,11 @@ namespace Dlhis.Common.Response /// public int VersionCode { get; set; } + /// + /// 版本名称 + /// + public int VersionName { get; set; } + /// /// 修改信息 /// diff --git a/Src/Dlhis.Common/Services/IApkFIileService.cs b/Src/Dlhis.Common/Services/IApkFIileService.cs index 1a31d859..af881edb 100644 --- a/Src/Dlhis.Common/Services/IApkFIileService.cs +++ b/Src/Dlhis.Common/Services/IApkFIileService.cs @@ -24,13 +24,16 @@ namespace Dlhis.Common.Services; /// /// /// - Task FormLocalFileUpload(ApkRequest request); + Task FormLocalFileUpload(ApkRequest request); + + Task LatestFile(string fileName); + /// /// 本地下载 /// - /// + /// /// - IActionResult FormLocalDownloadFile(string filePath); + IActionResult FormLocalDownloadFile(string fileName); } diff --git a/Src/Dlhis.Common/Services/Implements/ApkFIileService.cs b/Src/Dlhis.Common/Services/Implements/ApkFIileService.cs index 0a19cb7f..f96fa496 100644 --- a/Src/Dlhis.Common/Services/Implements/ApkFIileService.cs +++ b/Src/Dlhis.Common/Services/Implements/ApkFIileService.cs @@ -70,7 +70,7 @@ public class ApkFIileService : IApkFIileService /// /// /// - public async Task FormLocalFileUpload(ApkRequest request) + public async Task FormLocalFileUpload(ApkRequest request) { //上传 var completeFilePath = FormSingleFileUpload(request.formFile); @@ -88,6 +88,7 @@ public class ApkFIileService : IApkFIileService Name = fileName, Url = completeFilePath, VersionCode = request.VersionCode, + VersionName = request.VersionName, UpdateMessage = request.UpdateMessage, }; await _dbContext.InsertAsync(info); @@ -96,11 +97,12 @@ public class ApkFIileService : IApkFIileService { entity.Url = completeFilePath; entity.VersionCode = request.VersionCode; + entity.VersionName = request.VersionName; entity.UpdateMessage = request.UpdateMessage; await _dbContext.UpdateAsync(entity); } var newEntity = await _dbContext.Queryable().Where(x => x.Name == fileName).FirstAsync(); - var res = newEntity.Adapt(); + var res = newEntity.Adapt(); return res; } @@ -143,17 +145,32 @@ public class ApkFIileService : IApkFIileService throw; } } - + /// + /// 返回最新版本信息 + /// + /// + /// + public async Task LatestFile(string fileName) + { + var info = await _dbContext.Queryable() + .Where(x => x.Name == fileName) + .OrderByDescending(x => x.VersionCode) + .FirstAsync(); + info.ThrowIfNull($"没有{fileName}信息"); + var res = info.Adapt(); + return res; + } /// /// 本地下载 /// - /// + /// /// - public IActionResult FormLocalDownloadFile(string filePath) + public IActionResult FormLocalDownloadFile(string fileName) { - string fileName = Path.GetFileName(filePath); - return new FileStreamResult(new FileStream(filePath, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName }; + var filePath = "D:\\apk\\"; + string path = filePath + fileName; + return new FileStreamResult(new FileStream(path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName }; } } diff --git a/Src/Dlhis.Entity/Common/ApkFileEntity.cs b/Src/Dlhis.Entity/Common/ApkFileEntity.cs index 0e2b42db..7a6c7ce2 100644 --- a/Src/Dlhis.Entity/Common/ApkFileEntity.cs +++ b/Src/Dlhis.Entity/Common/ApkFileEntity.cs @@ -32,6 +32,12 @@ public class ApkFileEntity : SugarBaseEntity [SugarColumn(ColumnDescription = "版本号")] public int VersionCode { get; set; } + /// + /// 版本名称 + /// + [SugarColumn(ColumnDescription = "版本名称")] + public int VersionName { get; set; } + /// /// 修改信息 ///