From b3385415bb147e0aa1923b9ed0670b46e0323faf Mon Sep 17 00:00:00 2001 From: wxd <123@qq.com> Date: Fri, 23 Jan 2026 15:26:03 +0800 Subject: [PATCH] 0123 --- .../CustomerReportAppService.cs | 12 ++-- .../CustomerOrgGroupManager.cs | 55 ++++++++++++++++++- 2 files changed, 61 insertions(+), 6 deletions(-) diff --git a/src/Shentun.Peis.Application/CustomerReports/CustomerReportAppService.cs b/src/Shentun.Peis.Application/CustomerReports/CustomerReportAppService.cs index 5afbbdd8..3f1b6468 100644 --- a/src/Shentun.Peis.Application/CustomerReports/CustomerReportAppService.cs +++ b/src/Shentun.Peis.Application/CustomerReports/CustomerReportAppService.cs @@ -3437,7 +3437,7 @@ namespace Shentun.Peis.CustomerReports PatientRegisterId = s.First().patientRegister.Id, CompleteFlag = s.First().patientRegister.CompleteFlag, StandardPrice = s.Sum(ss => ss.registerCheckAsbitem.StandardPrice * ss.registerCheckAsbitem.Amount), - ChargePrice = s.Sum(ss => ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount), + ChargePrice = s.Where(m => m.registerCheckAsbitem.PayTypeFlag != PayTypeFlag.Free).Sum(ss => ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount), ReceivedPrice = s.Where(m => m.registerCheckAsbitem.IsCharge == 'Y').Sum(ss => ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount), CustomerOrgId = _cacheService.GetTopCustomerOrgIdAsync(s.First().customerOrg.Id).GetAwaiter().GetResult(), DepartmentId = s.First().customerOrg.Id, @@ -3691,6 +3691,7 @@ namespace Shentun.Peis.CustomerReports registerCheckAsbitemHaveEmpty.Amount, registerCheckAsbitemHaveEmpty.ChargePrice, registerCheckAsbitemHaveEmpty.IsCharge, + registerCheckAsbitemHaveEmpty.PayTypeFlag } : null, payModePayHaveEmpty = payModePayHaveEmpty != null ? new { @@ -3738,7 +3739,8 @@ namespace Shentun.Peis.CustomerReports if (group.Count(m => m.registerCheckAsbitemHaveEmpty != null) > 0) { entDto.StandardAmount = group.Where(m => m.registerCheckAsbitemHaveEmpty != null).GroupBy(g => g.registerCheckAsbitemHaveEmpty).Sum(s => s.Key.StandardPrice * s.Key.Amount); - entDto.ReceivableAmount = group.Where(m => m.registerCheckAsbitemHaveEmpty != null).GroupBy(g => g.registerCheckAsbitemHaveEmpty).Sum(s => s.Key.ChargePrice * s.Key.Amount); + entDto.ReceivableAmount = group.Where(m => m.registerCheckAsbitemHaveEmpty != null && m.registerCheckAsbitemHaveEmpty.PayTypeFlag != PayTypeFlag.Free) + .GroupBy(g => g.registerCheckAsbitemHaveEmpty).Sum(s => s.Key.ChargePrice * s.Key.Amount); entDto.ChargeAmount = group.Where(m => m.registerCheckAsbitemHaveEmpty != null && m.registerCheckAsbitemHaveEmpty.IsCharge == 'Y').GroupBy(g => g.registerCheckAsbitemHaveEmpty).Sum(s => s.Key.ChargePrice * s.Key.Amount); } @@ -4145,7 +4147,7 @@ namespace Shentun.Peis.CustomerReports PatientRegisterId = s.First().patientRegister.Id, CompleteFlag = s.First().patientRegister.CompleteFlag, StandardPrice = s.Sum(ss => ss.registerCheckAsbitem.StandardPrice * ss.registerCheckAsbitem.Amount), - ChargePrice = s.Sum(ss => ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount), + ChargePrice = s.Where(m => m.registerCheckAsbitem.PayTypeFlag != PayTypeFlag.Free).Sum(ss => ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount), MedicalTypeId = s.First().medicalTypeEmptyHave == null ? Guid.Empty : s.First().medicalTypeEmptyHave.Id, MedicalTypeName = s.First().medicalTypeEmptyHave == null ? "" : s.First().medicalTypeEmptyHave.DisplayName, ReceivedPrice = s.Where(m => m.registerCheckAsbitem.IsCharge == 'Y').Sum(ss => ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount) @@ -4247,7 +4249,7 @@ namespace Shentun.Peis.CustomerReports CompleteFlag = s.First().patientRegister.CompleteFlag, StandardPrice = s.Sum(ss => ss.registerCheckAsbitem.StandardPrice * ss.registerCheckAsbitem.Amount), ReceivedPrice = s.Where(m => m.registerCheckAsbitem.IsCharge == 'Y').Sum(ss => ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount), - ChargePrice = s.Sum(ss => ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount), + ChargePrice = s.Where(m => m.registerCheckAsbitem.PayTypeFlag != PayTypeFlag.Free).Sum(ss => ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount), PersonnelTypeId = s.First().personnelTypeEmptyHave == null ? Guid.Empty : s.First().personnelTypeEmptyHave.Id, PersonnelTypeName = s.First().personnelTypeEmptyHave == null ? "" : s.First().personnelTypeEmptyHave.DisplayName }); @@ -4350,7 +4352,7 @@ namespace Shentun.Peis.CustomerReports CompleteFlag = s.First().patientRegister.CompleteFlag, StandardPrice = s.Sum(ss => ss.registerCheckAsbitem.StandardPrice * ss.registerCheckAsbitem.Amount), ReceivedPrice = s.Where(m => m.registerCheckAsbitem.IsCharge == 'Y').Sum(ss => ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount), - ChargePrice = s.Sum(ss => ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount), + ChargePrice = s.Where(m => m.registerCheckAsbitem.PayTypeFlag != PayTypeFlag.Free).Sum(ss => ss.registerCheckAsbitem.ChargePrice * ss.registerCheckAsbitem.Amount), Salesman = s.First().patientRegister.Salesman }); diff --git a/src/Shentun.Peis.Domain/CustomerOrgGroups/CustomerOrgGroupManager.cs b/src/Shentun.Peis.Domain/CustomerOrgGroups/CustomerOrgGroupManager.cs index 8c6ec26d..9f510004 100644 --- a/src/Shentun.Peis.Domain/CustomerOrgGroups/CustomerOrgGroupManager.cs +++ b/src/Shentun.Peis.Domain/CustomerOrgGroups/CustomerOrgGroupManager.cs @@ -146,7 +146,60 @@ namespace Shentun.Peis.CustomerOrgGroups /// public async Task UpdateManySortAsync(Guid id, int SortType) { - await EntityHelper.UpdateManySortAsync(_repository, id, SortType); + // await EntityHelper.UpdateManySortAsync(_repository, id, SortType); + + var entity = await _repository.GetAsync(id); + + List UptList = new List(); + + + if (SortType == 2) + { + UptList = (await _repository.GetListAsync(o => o.CustomerOrgRegisterId == entity.CustomerOrgRegisterId + && o.DisplayOrder > entity.DisplayOrder)).OrderBy(o => o.DisplayOrder).ToList(); + + if (UptList.Count > 0) + { + + int indexnum = entity.DisplayOrder; //原有值 + + entity.DisplayOrder = UptList[UptList.Count - 1].DisplayOrder; //修改当前排序值为最大 + + //置顶操作,往上一行开始,逐渐替换 + foreach (var item in UptList) + { + int dqnum = item.DisplayOrder; + item.DisplayOrder = indexnum; + indexnum = dqnum; + } + } + } + else + { + UptList = (await _repository.GetListAsync(o => o.CustomerOrgRegisterId == entity.CustomerOrgRegisterId + && o.DisplayOrder < entity.DisplayOrder)).OrderByDescending(o => o.DisplayOrder).ToList(); ; + + if (UptList.Count > 0) + { + int indexnum = entity.DisplayOrder; //原有值 + + entity.DisplayOrder = UptList[UptList.Count - 1].DisplayOrder; //修改当前排序值为最小 + + //置底操作,往下一行开始,逐渐替换 + foreach (var item in UptList) + { + int dqnum = item.DisplayOrder; + item.DisplayOrder = indexnum; + indexnum = dqnum; + } + } + } + + + UptList.Add(entity); + + + await _repository.UpdateManyAsync(UptList); }