|
|
using JetBrains.Annotations;using Microsoft.AspNetCore.Authorization;using Microsoft.AspNetCore.Mvc;using NPOI.SS.Formula.Functions;using Shentun.Peis.Charges;using Shentun.Peis.Enums;using Shentun.Peis.ItemTypes;using Shentun.Peis.Models;using Shentun.Peis.Patients;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using TencentCloud.Faceid.V20180301.Models;using TencentCloud.Mrs.V20200910.Models;using Volo.Abp.Application.Services;using Volo.Abp.Domain.Repositories;using Volo.Abp.Identity;using Volo.Abp.OpenIddict.Applications;using Volo.Abp.Users;
namespace Shentun.Peis.ChargeReports{ /// <summary>
/// 收费统计报表
/// </summary>
[Authorize] [ApiExplorerSettings(GroupName = "Work")] public class ChargeReportAppService : ApplicationService {
private readonly IRepository<Charge, Guid> _chargeRepository; private readonly IRepository<ChargePay> _chargePayRepository; private readonly IRepository<ChargeAsbitem, Guid> _chargeAsbitemRepository; private readonly IRepository<PayMode> _payModeRepository; private readonly IRepository<ChargeBack, Guid> _chargeBackRepository; private readonly IRepository<ChargeBackPay> _chargeBackPayRepository; private readonly IRepository<IdentityUser, Guid> _userRepository; private readonly IRepository<Asbitem, Guid> _asbitemRepository; private readonly IRepository<InvoiceItemType, Guid> _invoiceItemTypeRepository; private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository; private readonly IRepository<RegisterAsbitem, Guid> _registerAsbitemRepository; private readonly IRepository<CustomerOrgRegister, Guid> _customerOrgRegisterRepository; private readonly IRepository<CustomerOrg, Guid> _customerOrgRepository; private readonly IRepository<ItemType, Guid> _itemTypeRepository; private readonly IRepository<Patient, Guid> _patientRepository; private readonly IRepository<Sex> _sexRepository; private readonly ItemTypeManager _itemTypeManager; public ChargeReportAppService( IRepository<Charge, Guid> chargeRepository, IRepository<ChargeBack, Guid> chargeBackRepository, IRepository<ChargePay> chargePayRepository, IRepository<PayMode> payModeRepository, IRepository<ChargeBackPay> chargeBackPayRepository, IRepository<IdentityUser, Guid> userRepository, IRepository<ChargeAsbitem, Guid> chargeAsbitemRepository, IRepository<Asbitem, Guid> asbitemRepository, IRepository<InvoiceItemType, Guid> invoiceItemTypeRepository, IRepository<PatientRegister, Guid> patientRegisterRepository, IRepository<RegisterAsbitem, Guid> registerAsbitemRepository, IRepository<CustomerOrgRegister, Guid> customerOrgRegisterRepository, IRepository<CustomerOrg, Guid> customerOrgRepository, IRepository<ItemType, Guid> itemTypeRepository, ItemTypeManager itemTypeManager, IRepository<Patient, Guid> patientRepository, IRepository<Sex> sexRepository) { _chargeRepository = chargeRepository; _chargeBackRepository = chargeBackRepository; _chargePayRepository = chargePayRepository; _payModeRepository = payModeRepository; _chargeBackPayRepository = chargeBackPayRepository; _userRepository = userRepository; _chargeAsbitemRepository = chargeAsbitemRepository; _asbitemRepository = asbitemRepository; _invoiceItemTypeRepository = invoiceItemTypeRepository; _patientRegisterRepository = patientRegisterRepository; _registerAsbitemRepository = registerAsbitemRepository; _customerOrgRegisterRepository = customerOrgRegisterRepository; _customerOrgRepository = customerOrgRepository; _itemTypeRepository = itemTypeRepository; _itemTypeManager = itemTypeManager; _patientRepository = patientRepository; _sexRepository = sexRepository; }
/// <summary>
/// 收费员收费报表 按支付方式
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/charge-report/get-toll-collector-fee-report-in-pay-mode")] public async Task<GetTollCollectorFeeReportInPayModeDto> GetTollCollectorFeeReportInPayModeAsync(GetTollCollectorFeeReportInPayModeRequestDto input) { #region 收费
var chargeQuery = from a in await _chargeRepository.GetQueryableAsync() join b in await _chargePayRepository.GetQueryableAsync() on a.Id equals b.ChargeId join c in await _payModeRepository.GetQueryableAsync() on b.PayModeId equals c.Id into cc from ac in cc.DefaultIfEmpty() join d in await _userRepository.GetQueryableAsync() on a.CreatorId equals d.Id into dd from ad in dd.DefaultIfEmpty() select new { a, b, PayModeName = ac != null ? ac.DisplayName : "", UserName = ad != null ? ad.UserName : "" };
if (input.UserIds.Any()) { chargeQuery = chargeQuery.Where(m => input.UserIds.Contains(m.a.CreatorId.Value)); }
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) { chargeQuery = chargeQuery.Where(m => m.a.CreationTime >= Convert.ToDateTime(input.StartDate) && m.a.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); }
//收费归总
var chargeDetails = chargeQuery.GroupBy(g => g.a.CreatorId).Select(s => new GetChargeAndChargeBackSummary_ChargeDetail { UserName = s.FirstOrDefault().UserName, PayModeDetails = s.GroupBy(gg => gg.b.PayModeId).Select(ss => new GetChargeAndChargeBackSummary_PayModeDetail { PayModeName = ss.FirstOrDefault().PayModeName, Money = DataHelper.DecimalRetainDecimals(ss.Sum(sss => sss.b.ChargeMoney), 2) }).ToList() }); #endregion
#region 退费
var chargeBackQuery = from a in await _chargeBackRepository.GetQueryableAsync() join b in await _chargeBackPayRepository.GetQueryableAsync() on a.Id equals b.ChargeBackId join c in await _payModeRepository.GetQueryableAsync() on b.PayModeId equals c.Id into cc from ac in cc.DefaultIfEmpty() join d in await _userRepository.GetQueryableAsync() on a.CreatorId equals d.Id into dd from ad in dd.DefaultIfEmpty() select new { a, b, PayModeName = ac != null ? ac.DisplayName : "", UserName = ad != null ? ad.UserName : "" };
if (input.UserIds.Any()) { chargeBackQuery = chargeBackQuery.Where(m => input.UserIds.Contains(m.a.CreatorId.Value)); }
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) { chargeBackQuery = chargeBackQuery.Where(m => m.a.CreationTime >= Convert.ToDateTime(input.StartDate) && m.a.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); }
//收费归总
var chargeBackDetails = chargeBackQuery.GroupBy(g => g.a.CreatorId).Select(s => new GetChargeAndChargeBackSummary_ChargeBackDetail { UserName = s.FirstOrDefault().UserName, PayModeDetails = s.GroupBy(gg => gg.b.PayModeId).Select(ss => new GetChargeAndChargeBackSummary_PayModeDetail { PayModeName = ss.FirstOrDefault().PayModeName, Money = DataHelper.DecimalRetainDecimals(ss.Sum(sss => sss.b.BackMoeny), 2) }).ToList() }); #endregion
#region 拼接收费数据
List<GetTollCollectorFeeReportInPayMode_ChargeAndChargeBackDetail> chargeAndChargeBackDetails = new List<GetTollCollectorFeeReportInPayMode_ChargeAndChargeBackDetail>();
//去重所有收费员
var userNameList = chargeDetails.ToList().Select(s => s.UserName).Union(chargeBackDetails.ToList().Select(s => s.UserName));
foreach (var userName in userNameList) { //添加收费数据
foreach (var payMode in chargeDetails.Where(m => m.UserName == userName).FirstOrDefault().PayModeDetails) { chargeAndChargeBackDetails.Add(new GetTollCollectorFeeReportInPayMode_ChargeAndChargeBackDetail { ChargeName = userName, PayModeName = payMode.PayModeName, ChargeMoney = payMode.Money, ChargeBackMoney = 0 }); } //添加退费数据
foreach (var payMode in chargeBackDetails.Where(m => m.UserName == userName).FirstOrDefault().PayModeDetails) { //支付方式是否已存在
var isPayModeName = chargeAndChargeBackDetails.Where(m => m.ChargeName == userName && m.PayModeName == payMode.PayModeName).FirstOrDefault(); if (isPayModeName != null) { //收费处已存在
chargeAndChargeBackDetails.ForEach(m => { if (m.PayModeName == payMode.PayModeName && m.ChargeName == userName) { m.ChargeBackMoney = payMode.Money; m.TotalMoney = m.ChargeMoney - payMode.Money; } }); } else { chargeAndChargeBackDetails.Add(new GetTollCollectorFeeReportInPayMode_ChargeAndChargeBackDetail { ChargeName = userName, PayModeName = payMode.PayModeName, ChargeMoney = 0, ChargeBackMoney = payMode.Money, TotalMoney = 0 - payMode.Money }); }
} }
#endregion
string chargeDate = Convert.ToDateTime(input.StartDate).ToString("yyyy年MM月dd日") + "到" + Convert.ToDateTime(input.EndDate).ToString("yyyy年MM月dd日");
var tollCollectorFeeReportInPayModeDto = new GetTollCollectorFeeReportInPayModeDto { ChargeDate = chargeDate, ChargeCount = chargeQuery.GroupBy(g => g.a.Id).Count(), ChargeBackCount = chargeBackQuery.GroupBy(g => g.a.Id).Count(), ChargeDetails = chargeAndChargeBackDetails, SumTotalMoney = chargeAndChargeBackDetails.Any() ? DataHelper.DecimalRetainDecimals(chargeAndChargeBackDetails.Sum(s => s.TotalMoney), 2) : 0 };
return tollCollectorFeeReportInPayModeDto;
}
/// <summary>
/// 收费员收费报表 按发票类型
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/charge-report/get-toll-collector-fee-report-in-invoice-type")] public async Task<GetTollCollectorFeeReportInInvoiceTypeDto> GetTollCollectorFeeReportInInvoiceTypeAsync(GetTollCollectorFeeReportInInvoiceTypeRequestDto input) { #region 收费
var chargeQuery = from a in await _chargeRepository.GetQueryableAsync() join b in await _chargeAsbitemRepository.GetQueryableAsync() on a.Id equals b.ChargeId join c in await _asbitemRepository.GetQueryableAsync() on b.AsbitemId equals c.Id into cc from ac in cc.DefaultIfEmpty() join e in await _invoiceItemTypeRepository.GetQueryableAsync() on ac.InvoiceItemTypeId equals e.Id into ee from ae in ee.DefaultIfEmpty() join d in await _userRepository.GetQueryableAsync() on a.CreatorId equals d.Id into dd from ad in dd.DefaultIfEmpty() select new { a, b, ac, InvoiceItemTypeName = ae != null ? ae.DisplayName : "", UserName = ad != null ? ad.UserName : "" };
if (input.UserIds.Any()) { chargeQuery = chargeQuery.Where(m => input.UserIds.Contains(m.a.CreatorId.Value)); }
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) { chargeQuery = chargeQuery.Where(m => m.a.CreationTime >= Convert.ToDateTime(input.StartDate) && m.a.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); }
//收费归总
var chargeDetails = chargeQuery.GroupBy(g => g.ac.InvoiceItemTypeId).Select(s => new GetTollCollectorFeeReportInInvoiceType_InvoiceTypeDetail { InvoiceTypeName = s.FirstOrDefault().InvoiceItemTypeName, InvoiceTypeMoney = DataHelper.DecimalRetainDecimals(s.Sum(ss => ss.b.Amount * ss.b.ChargePrice), 2) }).ToList(); #endregion
#region 退费
var chargeBackQuery = from a in await _chargeBackRepository.GetQueryableAsync() join b in await _chargeRepository.GetQueryableAsync() on a.ChargeId equals b.Id join c in await _chargeAsbitemRepository.GetQueryableAsync() on b.Id equals c.ChargeId join d in await _asbitemRepository.GetQueryableAsync() on c.AsbitemId equals d.Id into dd from ad in dd.DefaultIfEmpty() join e in await _invoiceItemTypeRepository.GetQueryableAsync() on ad.InvoiceItemTypeId equals e.Id into ee from ae in ee.DefaultIfEmpty() join f in await _userRepository.GetQueryableAsync() on a.CreatorId equals f.Id into ff from af in ff.DefaultIfEmpty() select new { a, c, ad, InvoiceItemTypeName = ae != null ? ae.DisplayName : "", UserName = af != null ? af.UserName : "" };
if (input.UserIds.Any()) { chargeBackQuery = chargeBackQuery.Where(m => input.UserIds.Contains(m.a.CreatorId.Value)); }
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) { chargeBackQuery = chargeBackQuery.Where(m => m.a.CreationTime >= Convert.ToDateTime(input.StartDate) && m.a.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); }
//收费归总
var chargeBackDetails = chargeBackQuery.GroupBy(g => g.ad.InvoiceItemTypeId).Select(s => new GetTollCollectorFeeReportInInvoiceType_InvoiceTypeDetail { InvoiceTypeName = s.FirstOrDefault().InvoiceItemTypeName, InvoiceTypeMoney = DataHelper.DecimalRetainDecimals(s.Sum(ss => ss.c.Amount * ss.c.ChargePrice), 2) }).ToList();
#endregion
string chargeDate = Convert.ToDateTime(input.StartDate).ToString("yyyy年MM月dd日") + "到" + Convert.ToDateTime(input.EndDate).ToString("yyyy年MM月dd日");
//收款合计
decimal chargeTotalMoney = chargeDetails.Any() ? DataHelper.DecimalRetainDecimals(chargeDetails.Sum(s => s.InvoiceTypeMoney), 2) : 0;
//退费合计
decimal chargeBackTotalMoney = chargeBackDetails.Any() ? DataHelper.DecimalRetainDecimals(chargeBackDetails.Sum(s => s.InvoiceTypeMoney), 2) : 0;
var tollCollectorFeeReportInInvoiceTypeDto = new GetTollCollectorFeeReportInInvoiceTypeDto { ChargeDate = chargeDate, ChargeCount = chargeQuery.GroupBy(g => g.a.Id).Count(), ChargeBackCount = chargeBackQuery.GroupBy(g => g.a.Id).Count(), ChargeDetails = new GetTollCollectorFeeReportInInvoiceType_ChargeDetail { InvoiceTypeDetails = chargeDetails, TotalMoney = chargeTotalMoney }, ChargeBackDetails = new GetTollCollectorFeeReportInInvoiceType_ChargeBackDetail { InvoiceTypeDetails = chargeBackDetails, TotalMoney = chargeBackTotalMoney }, SumTotalMoney = chargeTotalMoney - chargeBackTotalMoney };
return tollCollectorFeeReportInInvoiceTypeDto;
}
/// <summary>
/// 收费员收费报表 按组合项目
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/charge-report/get-toll-collector-fee-report-in-asbitem")] public async Task<List<GetTollCollectorFeeReportInAsbitemDto>> GetTollCollectorFeeReportInAsbitemAsync(GetTollCollectorFeeReportInAsbitemRequestDto input) { var query = from a in await _chargeRepository.GetQueryableAsync() join b in await _chargeAsbitemRepository.GetQueryableAsync() on a.Id equals b.ChargeId join c in await _asbitemRepository.GetQueryableAsync() on b.AsbitemId equals c.Id into cc from ac in cc.DefaultIfEmpty() join d in await _itemTypeRepository.GetQueryableAsync() on ac.ItemTypeId equals d.Id into dd from ad in dd.DefaultIfEmpty() select new { a, b, AsbitemName = ac != null ? ac.DisplayName : "", ItemTypeName = ad != null ? ad.DisplayName : "" };
if (input.UserIds.Any()) { query = query.Where(m => input.UserIds.Contains(m.a.CreatorId.Value)); }
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) { query = query.Where(m => m.a.CreationTime >= Convert.ToDateTime(input.StartDate) && m.a.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); }
var asbitemGroup = query.GroupBy(g => g.b.AsbitemId).Select(s => new GetTollCollectorFeeReportInAsbitem_Detail { AsbitemName = s.FirstOrDefault().AsbitemName, ChargeMoney = DataHelper.DecimalRetainDecimals(s.Sum(ss => ss.b.ChargePrice * ss.b.Amount), 2), ItemTypeName = s.FirstOrDefault().ItemTypeName }).ToList();
var tollCollectorFeeReportInAsbitemDtos = asbitemGroup.GroupBy(g => g.ItemTypeName).Select(s => new GetTollCollectorFeeReportInAsbitemDto { Details = s.ToList(), ItemTypeName = s.FirstOrDefault().ItemTypeName, TotalMoney = DataHelper.DecimalRetainDecimals(s.Sum(ss => ss.ChargeMoney), 2)
}).ToList();
return tollCollectorFeeReportInAsbitemDtos;
}
/// <summary>
/// 个人收费明细报表 按收费明细
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/charge-report/get-Personal-Fee-Details-report-in-fee-details")] public async Task<List<GetPersonalFeeDetailsReportInFeeDetailsDto>> GetPersonalFeeDetailsReportInFeeDetailsAsync(GetPersonalFeeDetailsReportInFeeDetailsRequestDto input) { var query = from a in await _chargeRepository.GetQueryableAsync() join b in await _chargeAsbitemRepository.GetQueryableAsync() on a.Id equals b.ChargeId join c in await _patientRegisterRepository.GetQueryableAsync() on a.PatientRegisterId equals c.Id join d in await _patientRepository.GetQueryableAsync() on c.PatientId equals d.Id into dd from ad in dd.DefaultIfEmpty() join e in await _sexRepository.GetQueryableAsync() on c.SexId equals e.Id into ee from ae in ee.DefaultIfEmpty() join f in await _registerAsbitemRepository.GetQueryableAsync() on c.Id equals f.PatientRegisterId join g in await _asbitemRepository.GetQueryableAsync() on f.AsbitemId equals g.Id into gg from ag in gg.DefaultIfEmpty() join h in await _userRepository.GetQueryableAsync() on a.CreatorId equals h.Id into hh from ah in hh.DefaultIfEmpty() where c.CustomerOrgId == GuidFlag.PersonCustomerOrgId && a.ChargeFlag == ChargeFlag.Charge select new { a, b, c, f, PatientNo = ad != null ? ad.PatientNo : "", SexName = ae != null ? ae.DisplayName : "", AsbitemName = ag != null ? ag.DisplayName : "", BookKeepingName = ah != null ? ah.UserName : "" };
if (input.UserIds.Any()) { query = query.Where(m => input.UserIds.Contains(m.a.CreatorId.Value)); }
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) { query = query.Where(m => m.a.CreationTime >= Convert.ToDateTime(input.StartDate) && m.a.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); }
if (!string.IsNullOrWhiteSpace(input.PatientName)) { query = query.Where(m => m.c.PatientName == input.PatientName); }
if (!string.IsNullOrWhiteSpace(input.PatientNo)) { query = query.Where(m => m.PatientNo == input.PatientNo); }
var patientRegisterGroup = query.Select(s => new GetPersonalFeeDetailsReportInFeeDetailsDto { Age = s.c.Age, AsbitemName = s.AsbitemName, BookKeepingName = s.BookKeepingName, BookkeepingTiem = s.a.CreationTime.ToString("yyyy-MM-dd HH:mm"), CharePrice = DataHelper.DecimalRetainDecimals(s.b.ChargePrice * s.b.Amount, 2), MedicalTimes = s.c.MedicalTimes, PatientName = s.c.PatientName, PatientNo = s.PatientNo, SexName = s.SexName, StandardPrice = DataHelper.DecimalRetainDecimals(s.f.StandardPrice * s.f.Amount, 2), Discount = Math.Floor((s.b.ChargePrice * s.b.Amount) / (s.f.StandardPrice.Value * s.f.Amount.Value)) + "%" }).ToList();
return patientRegisterGroup; }
/// <summary>
/// 个人收费明细报表 按退费明细
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/charge-report/get-Personal-Fee-Details-report-in-refund-details")] public async Task<List<GetPersonalFeeDetailsReportInRefundDetailsDto>> GetPersonalFeeDetailsReportInRefundDetailsAsync(GetPersonalFeeDetailsReportInRefundDetailsRequestDto input) { var query = from a in await _chargeRepository.GetQueryableAsync() join b in await _chargeAsbitemRepository.GetQueryableAsync() on a.Id equals b.ChargeId join c in await _patientRegisterRepository.GetQueryableAsync() on a.PatientRegisterId equals c.Id join d in await _patientRepository.GetQueryableAsync() on c.PatientId equals d.Id into dd from ad in dd.DefaultIfEmpty() join e in await _sexRepository.GetQueryableAsync() on c.SexId equals e.Id into ee from ae in ee.DefaultIfEmpty() join f in await _registerAsbitemRepository.GetQueryableAsync() on c.Id equals f.PatientRegisterId join g in await _asbitemRepository.GetQueryableAsync() on f.AsbitemId equals g.Id into gg from ag in gg.DefaultIfEmpty() join h in await _userRepository.GetQueryableAsync() on a.CreatorId equals h.Id into hh from ah in hh.DefaultIfEmpty() where c.CustomerOrgId == GuidFlag.PersonCustomerOrgId && a.ChargeFlag == ChargeFlag.ChargeBack select new { a, b, c, f, PatientNo = ad != null ? ad.PatientNo : "", SexName = ae != null ? ae.DisplayName : "", AsbitemName = ag != null ? ag.DisplayName : "", BookKeepingName = ah != null ? ah.UserName : "" };
if (input.UserIds.Any()) { query = query.Where(m => input.UserIds.Contains(m.a.CreatorId.Value)); }
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) { query = query.Where(m => m.a.CreationTime >= Convert.ToDateTime(input.StartDate) && m.a.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); }
if (!string.IsNullOrWhiteSpace(input.PatientName)) { query = query.Where(m => m.c.PatientName == input.PatientName); }
if (!string.IsNullOrWhiteSpace(input.PatientNo)) { query = query.Where(m => m.PatientNo == input.PatientNo); }
var patientRegisterGroup = query.Select(s => new GetPersonalFeeDetailsReportInRefundDetailsDto { Age = s.c.Age, AsbitemName = s.AsbitemName, BookKeepingName = s.BookKeepingName, BookkeepingTiem = s.a.CreationTime.ToString("yyyy-MM-dd HH:mm"), CharePrice = DataHelper.DecimalRetainDecimals(s.b.ChargePrice * s.b.Amount, 2), MedicalTimes = s.c.MedicalTimes, PatientName = s.c.PatientName, PatientNo = s.PatientNo, SexName = s.SexName, StandardPrice = DataHelper.DecimalRetainDecimals(s.f.StandardPrice * s.f.Amount, 2), Discount = Math.Floor((s.b.ChargePrice * s.b.Amount) / (s.f.StandardPrice.Value * s.f.Amount.Value)) + "%" }).ToList();
return patientRegisterGroup; }
/// <summary>
/// 个人收费明细报表 按收费汇总
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/charge-report/get-Personal-Fee-Details-report-in-fee-summary")] public async Task<GetPersonalFeeDetailsReportInFeeSummaryDto> GetPersonalFeeDetailsReportInFeeSummaryAsync(GetPersonalFeeDetailsReportInFeeSummaryRequestDto input) {
var query = from a in await _patientRegisterRepository.GetQueryableAsync() join b in await _patientRepository.GetQueryableAsync() on a.PatientId equals b.Id into bb from ab in bb.DefaultIfEmpty() join c in await _sexRepository.GetQueryableAsync() on a.SexId equals c.Id into cc from ac in cc.DefaultIfEmpty() join d in (await _registerAsbitemRepository.GetQueryableAsync()).Where(m => m.IsCharge == 'Y') .GroupBy(g => g.PatientRegisterId) .Select(s => new { PatientRegisterId = s.Key, AsbitemChargeMoney = DataHelper.DecimalRetainDecimals(s.Sum(ss => ss.ChargePrice.Value * ss.Amount.Value), 2) }) on a.Id equals d.PatientRegisterId join e in await _chargeRepository.GetQueryableAsync() on a.Id equals e.PatientRegisterId join f in await _chargePayRepository.GetQueryableAsync() on e.Id equals f.ChargeId join g in await _payModeRepository.GetQueryableAsync() on f.PayModeId equals g.Id into gg from ag in gg.DefaultIfEmpty() join h in await _userRepository.GetQueryableAsync() on e.CreatorId equals h.Id into hh from ah in hh.DefaultIfEmpty() where a.CustomerOrgGroupId == GuidFlag.PersonCustomerOrgId select new { a, e, f, PatientName = a.PatientName, Age = a.Age, PatientNo = ab != null ? ab.PatientNo : "", SexName = ac != null ? ac.DisplayName : "", AsbitemChargeMoney = d.AsbitemChargeMoney, BookKeepingName = ah != null ? ah.UserName : "", PayModeName = ag != null ? ag.DisplayName : "" };
if (input.UserIds.Any()) { query = query.Where(m => input.UserIds.Contains(m.e.CreatorId.Value)); }
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) { query = query.Where(m => m.e.CreationTime >= Convert.ToDateTime(input.StartDate) && m.e.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); }
if (!string.IsNullOrWhiteSpace(input.PatientName)) { query = query.Where(m => m.PatientName == input.PatientName); }
if (!string.IsNullOrWhiteSpace(input.PatientNo)) { query = query.Where(m => m.PatientNo == input.PatientNo); }
var personalFeeDetailsReportInFeeSummary_Details = query.GroupBy(g => g.e.Id).Select(s => new GetPersonalFeeDetailsReportInFeeSummary_Detail { Age = s.FirstOrDefault().Age, BookKeepingName = s.FirstOrDefault().BookKeepingName, BookkeepingTiem = s.FirstOrDefault().e.CreationTime.ToString("yyyy-MM-dd HH:mm"), ChargeFlagName = s.FirstOrDefault().e.ChargeFlag == ChargeFlag.Charge ? "收费" : "退费", ChargeMoney = s.FirstOrDefault().AsbitemChargeMoney, PatientName = s.FirstOrDefault().PatientName, PatientNo = s.FirstOrDefault().PatientNo, ReceivedChargeMoney = DataHelper.DecimalRetainDecimals(s.Sum(ss => ss.f.ChargeMoney), 2), SexName = s.FirstOrDefault().SexName, DiscountMoney = s.FirstOrDefault().AsbitemChargeMoney - DataHelper.DecimalRetainDecimals(s.Sum(ss => ss.f.ChargeMoney), 2), PayModes = s.Select(ss => new GetPersonalFeeDetailsReportInFeeSummary_PayMode { PayModeName = ss.PayModeName, ReceivedChargeMoney = ss.f.ChargeMoney }).ToList() }).ToList();
decimal sumChargeMoney = personalFeeDetailsReportInFeeSummary_Details.Any() ? DataHelper.DecimalRetainDecimals(personalFeeDetailsReportInFeeSummary_Details.Sum(s => s.ChargeMoney), 2) : 0; decimal sumDiscountMoney = personalFeeDetailsReportInFeeSummary_Details.Any() ? DataHelper.DecimalRetainDecimals(personalFeeDetailsReportInFeeSummary_Details.Sum(s => s.DiscountMoney), 2) : 0; decimal sumReceivedChargeMoney = personalFeeDetailsReportInFeeSummary_Details.Any() ? DataHelper.DecimalRetainDecimals(personalFeeDetailsReportInFeeSummary_Details.Sum(s => s.ReceivedChargeMoney), 2) : 0;
var personalFeeDetailsReportInFeeSummaryDto = new GetPersonalFeeDetailsReportInFeeSummaryDto { ChargeCount = personalFeeDetailsReportInFeeSummary_Details.Count, Details = personalFeeDetailsReportInFeeSummary_Details, SumChargeMoney = sumChargeMoney, SumDiscountMoney = sumDiscountMoney, SumReceivedChargeMoney = sumReceivedChargeMoney };
return personalFeeDetailsReportInFeeSummaryDto; }
/// <summary>
/// 收费人收费汇总报表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/charge-report/get-toll-collector-fee-summary-report")] public async Task<GetTollcollectorFeeSummaryReportDto> GetTollcollectorFeeSummaryReportAsync(GetTollcollectorFeeSummaryReportRequestDto input) { #region 收费
var chargeQuery = from a in await _chargeRepository.GetQueryableAsync() join b in await _chargePayRepository.GetQueryableAsync() on a.Id equals b.ChargeId join d in await _userRepository.GetQueryableAsync() on a.CreatorId equals d.Id into dd from ad in dd.DefaultIfEmpty() select new { a, b, UserName = ad != null ? ad.UserName : "" };
if (input.UserIds.Any()) { chargeQuery = chargeQuery.Where(m => input.UserIds.Contains(m.a.CreatorId.Value)); }
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) { chargeQuery = chargeQuery.Where(m => m.a.CreationTime >= Convert.ToDateTime(input.StartDate) && m.a.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); }
//收费归总
var chargeDetails = chargeQuery.GroupBy(g => g.a.CreatorId).Select(s => new GetTollcollectorFeeSummaryReport_Detail { ChargeBackMoney = 0, ChargeMoney = DataHelper.DecimalRetainDecimals(s.Sum(ss => ss.b.ChargeMoney), 2), ChargeName = s.FirstOrDefault().UserName, TotalMoney = 0 }).ToList(); #endregion
#region 退费
var chargeBackQuery = from a in await _chargeBackRepository.GetQueryableAsync() join b in await _chargeBackPayRepository.GetQueryableAsync() on a.Id equals b.ChargeBackId join d in await _userRepository.GetQueryableAsync() on a.CreatorId equals d.Id into dd from ad in dd.DefaultIfEmpty() select new { a, b, UserName = ad != null ? ad.UserName : "" };
if (input.UserIds.Any()) { chargeBackQuery = chargeBackQuery.Where(m => input.UserIds.Contains(m.a.CreatorId.Value)); }
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) { chargeBackQuery = chargeBackQuery.Where(m => m.a.CreationTime >= Convert.ToDateTime(input.StartDate) && m.a.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); }
//收费归总
var chargeBackDetails = chargeBackQuery.GroupBy(g => g.a.CreatorId).Select(s => new GetTollcollectorFeeSummaryReport_Detail { ChargeBackMoney = DataHelper.DecimalRetainDecimals(s.Sum(ss => ss.b.BackMoeny), 2), ChargeMoney = 0, ChargeName = s.FirstOrDefault().UserName, TotalMoney = 0 }).ToList(); #endregion
#region 拼接收费数据
List<GetTollcollectorFeeSummaryReport_Detail> tollcollectorFeeSummaryReport_Detail = new List<GetTollcollectorFeeSummaryReport_Detail>();
//去重科室Id
var ChargeNameList = chargeDetails.Select(s => s.ChargeName).Union(chargeBackDetails.Select(s => s.ChargeName));
foreach (var item in ChargeNameList) {
var tempData = chargeDetails.Where(m => m.ChargeName == item).FirstOrDefault();
if (tempData != null) { var chargeBackDetail = chargeBackDetails.Where(m => m.ChargeName == item).FirstOrDefault(); if (chargeBackDetail != null) { tempData.ChargeBackMoney = chargeBackDetail.ChargeBackMoney; } } else { tempData = chargeBackDetails.Where(m => m.ChargeName == item).FirstOrDefault(); }
tempData.TotalMoney = tempData.ChargeMoney - tempData.ChargeBackMoney;
tollcollectorFeeSummaryReport_Detail.Add(tempData); }
#endregion
decimal sumChargeMoney = tollcollectorFeeSummaryReport_Detail.Any() ? DataHelper.DecimalRetainDecimals(tollcollectorFeeSummaryReport_Detail.Sum(s => s.ChargeMoney), 2) : 0; decimal sumChargeBackMoney = tollcollectorFeeSummaryReport_Detail.Any() ? DataHelper.DecimalRetainDecimals(tollcollectorFeeSummaryReport_Detail.Sum(s => s.ChargeBackMoney), 2) : 0; decimal sumTotalMoney = tollcollectorFeeSummaryReport_Detail.Any() ? DataHelper.DecimalRetainDecimals(tollcollectorFeeSummaryReport_Detail.Sum(s => s.TotalMoney), 2) : 0;
var tollcollectorFeeSummaryReportDto = new GetTollcollectorFeeSummaryReportDto { Details = tollcollectorFeeSummaryReport_Detail, SumChargeMoney = sumChargeMoney, SumChargeBackMoney = sumChargeBackMoney, SumTotalMoney = sumTotalMoney };
return tollcollectorFeeSummaryReportDto;
}
/// <summary>
/// 项目收费报表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/charge-report/get-project-fees-report")] public async Task<GetProjectFeesReportDto> GetProjectFeesReportAsync(GetProjectFeesReportRequestDto input) {
#region 查询项目类别ID
List<Guid> itmeTypeIds = new List<Guid>();
if (input.ItemTypeId != null) { itmeTypeIds = await _itemTypeManager.GetChildItemTypeIdsAsync(input.ItemTypeId.Value); }
#endregion
#region 登记
var query = from a in await _registerAsbitemRepository.GetQueryableAsync() join b in await _asbitemRepository.GetQueryableAsync() on a.AsbitemId equals b.Id into bb from ab in bb.DefaultIfEmpty() join c in await _itemTypeRepository.GetQueryableAsync() on ab.ItemTypeId equals c.Id into cc from ac in cc.DefaultIfEmpty() where a.IsCharge == 'Y' select new { a, ab, ac, AsbitemName = ab != null ? ab.DisplayName : "", ItemTypeName = ac != null ? ac.DisplayName : "" };
if (itmeTypeIds.Any()) { query = query.Where(m => itmeTypeIds.Contains(m.ab.ItemTypeId)); }
if (input.Asbitems.Any()) { query = query.Where(m => input.Asbitems.Contains(m.a.AsbitemId)); }
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) { query = query.Where(m => m.a.CreationTime >= Convert.ToDateTime(input.StartDate) && m.a.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); }
//按项目类别分组
var itemTypeGroups = query.GroupBy(g => new { g.ab.ItemTypeId, g.a.AsbitemId }).Select(s => new GetProjectFeesReport_Detail { ItemTypeId = s.Key.ItemTypeId, AsbitemId = s.Key.AsbitemId, ItemTypeName = s.FirstOrDefault().ItemTypeName, AsbitemName = s.FirstOrDefault().AsbitemName, ChargeMoney = DataHelper.DecimalRetainDecimals(s.Sum(ss => ss.a.Amount.Value * ss.a.ChargePrice.Value), 2), ReceivedChargeMoney = 0 }).ToList();
#endregion
#region 收费金额统计
var chargeQuery = from a in await _chargeAsbitemRepository.GetQueryableAsync() join d in await _chargeRepository.GetQueryableAsync() on a.ChargeId equals d.Id join b in await _asbitemRepository.GetQueryableAsync() on a.AsbitemId equals b.Id into bb from ab in bb.DefaultIfEmpty() join c in await _itemTypeRepository.GetQueryableAsync() on ab.ItemTypeId equals c.Id into cc from ac in cc.DefaultIfEmpty() where d.ChargeFlag == ChargeFlag.Charge select new { a, ab, AsbitemName = ab != null ? ab.DisplayName : "", ItemTypeName = ac != null ? ac.DisplayName : "" };
if (itmeTypeIds.Any()) { chargeQuery = chargeQuery.Where(m => itmeTypeIds.Contains(m.ab.ItemTypeId)); }
if (input.Asbitems.Any()) { query = query.Where(m => input.Asbitems.Contains(m.a.AsbitemId)); }
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) { chargeQuery = chargeQuery.Where(m => m.a.CreationTime >= Convert.ToDateTime(input.StartDate) && m.a.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); }
//按项目类别分组 收费
var itemTypeGroupCharges = chargeQuery.GroupBy(g => new { g.ab.ItemTypeId, g.a.AsbitemId }).Select(s => new GetProjectFeesReport_Detail { ItemTypeId = s.Key.ItemTypeId, AsbitemId = s.Key.AsbitemId, ItemTypeName = s.FirstOrDefault().ItemTypeName, AsbitemName = s.FirstOrDefault().AsbitemName, ReceivedChargeMoney = DataHelper.DecimalRetainDecimals(s.Sum(ss => ss.a.Amount * ss.a.ChargePrice), 2), ChargeMoney = 0 }).ToList();
#endregion
#region 拼接收费数据
List<GetProjectFeesReport_Detail> projectFeesReport_Details = new List<GetProjectFeesReport_Detail>();
//去重科室Id
var itemTypeIdList = itemTypeGroups.Select(s => new { s.ItemTypeId, s.AsbitemId }).Union(itemTypeGroupCharges.Select(s => new { s.ItemTypeId, s.AsbitemId }));
foreach (var item in itemTypeIdList) {
var tempData = itemTypeGroups.Where(m => m.ItemTypeId == item.ItemTypeId && m.AsbitemId == item.AsbitemId).FirstOrDefault();
if (tempData != null) { var itemTypeGroupCharge = itemTypeGroupCharges.Where(m => m.ItemTypeId == item.ItemTypeId && m.AsbitemId == item.AsbitemId).FirstOrDefault(); if (itemTypeGroupCharge != null) { tempData.ReceivedChargeMoney = itemTypeGroupCharge.ReceivedChargeMoney; } } else { tempData = itemTypeGroupCharges.Where(m => m.ItemTypeId == item.ItemTypeId && m.AsbitemId == item.AsbitemId).FirstOrDefault(); }
tempData.DiscountMoney = tempData.ChargeMoney - tempData.ReceivedChargeMoney;
projectFeesReport_Details.Add(tempData); }
#endregion
decimal sumChargeMoney = projectFeesReport_Details.Any() ? DataHelper.DecimalRetainDecimals(projectFeesReport_Details.Sum(s => s.ChargeMoney), 2) : 0; decimal sumDiscountMoney = projectFeesReport_Details.Any() ? DataHelper.DecimalRetainDecimals(projectFeesReport_Details.Sum(s => s.DiscountMoney), 2) : 0; decimal sumReceivedChargeMoney = projectFeesReport_Details.Any() ? DataHelper.DecimalRetainDecimals(projectFeesReport_Details.Sum(s => s.ReceivedChargeMoney), 2) : 0;
var projectFeesReportDto = new GetProjectFeesReportDto { Details = projectFeesReport_Details, SumChargeMoney = sumChargeMoney, SumDiscountMoney = sumDiscountMoney, SumReceivedChargeMoney = sumReceivedChargeMoney };
return projectFeesReportDto;
}
/// <summary>
/// 科室收费汇总表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/charge-report/get-summary-of-departmental-fees-report")] public async Task<GetSummaryOfDepartmentalFeesReportDto> GetSummaryOfDepartmentalFeesReportAsync(GetSummaryOfDepartmentalFeesReportRequestDto input) {
#region 查询项目类别ID
List<Guid> itmeTypeIds = new List<Guid>();
if (input.ItemTypeId != null) { itmeTypeIds = await _itemTypeManager.GetChildItemTypeIdsAsync(input.ItemTypeId.Value); } #endregion
#region 登记
var query = from a in await _registerAsbitemRepository.GetQueryableAsync() join b in await _asbitemRepository.GetQueryableAsync() on a.AsbitemId equals b.Id into bb from ab in bb.DefaultIfEmpty() join c in await _itemTypeRepository.GetQueryableAsync() on ab.ItemTypeId equals c.Id into cc from ac in cc.DefaultIfEmpty() where a.IsCharge == 'Y' select new { a, ab, ac, ItemTypeName = ac != null ? ac.DisplayName : "" };
if (itmeTypeIds.Any()) { query = query.Where(m => itmeTypeIds.Contains(m.ab.ItemTypeId)); }
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) { query = query.Where(m => m.a.CreationTime >= Convert.ToDateTime(input.StartDate) && m.a.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); }
//按项目类别分组
var itemTypeGroups = query.GroupBy(g => g.ab.ItemTypeId).Select(s => new GetSummaryOfDepartmentalFeesReport_Detail { ItemTypeId = s.Key, ItemTypeName = s.FirstOrDefault().ItemTypeName, ChargeMoney = DataHelper.DecimalRetainDecimals(s.Sum(ss => ss.a.Amount.Value * ss.a.ChargePrice.Value), 2), ReceivedChargeMoney = 0 }).ToList();
#endregion
#region 收费金额统计
var chargeQuery = from a in await _chargeAsbitemRepository.GetQueryableAsync() join d in await _chargeRepository.GetQueryableAsync() on a.ChargeId equals d.Id join b in await _asbitemRepository.GetQueryableAsync() on a.AsbitemId equals b.Id into bb from ab in bb.DefaultIfEmpty() join c in await _itemTypeRepository.GetQueryableAsync() on ab.ItemTypeId equals c.Id into cc from ac in cc.DefaultIfEmpty() where d.ChargeFlag == ChargeFlag.Charge select new { a, ab, ItemTypeName = ac != null ? ac.DisplayName : "" };
if (itmeTypeIds.Any()) { chargeQuery = chargeQuery.Where(m => itmeTypeIds.Contains(m.ab.ItemTypeId)); }
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) { chargeQuery = chargeQuery.Where(m => m.a.CreationTime >= Convert.ToDateTime(input.StartDate) && m.a.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); }
//按项目类别分组 收费
var itemTypeGroupCharges = chargeQuery.GroupBy(g => g.ab.ItemTypeId).Select(s => new GetSummaryOfDepartmentalFeesReport_Detail { ItemTypeId = s.Key, ItemTypeName = s.FirstOrDefault().ItemTypeName, ReceivedChargeMoney = DataHelper.DecimalRetainDecimals(s.Sum(ss => ss.a.Amount * ss.a.ChargePrice), 2), ChargeMoney = 0 }).ToList();
#endregion
#region 拼接收费数据
List<GetSummaryOfDepartmentalFeesReport_Detail> summaryOfDepartmentalFeesReport_Details = new List<GetSummaryOfDepartmentalFeesReport_Detail>();
//去重科室Id
var itemTypeIdList = itemTypeGroups.Select(s => s.ItemTypeId).Union(itemTypeGroupCharges.Select(s => s.ItemTypeId));
foreach (var itemTypeId in itemTypeIdList) {
var tempData = itemTypeGroups.Where(m => m.ItemTypeId == itemTypeId).FirstOrDefault();
if (tempData != null) { var itemTypeGroupCharge = itemTypeGroupCharges.Where(m => m.ItemTypeId == itemTypeId).FirstOrDefault(); if (itemTypeGroupCharge != null) { tempData.ReceivedChargeMoney = itemTypeGroupCharge.ReceivedChargeMoney; } } else { tempData = itemTypeGroupCharges.Where(m => m.ItemTypeId == itemTypeId).FirstOrDefault(); }
tempData.DiscountMoney = tempData.ChargeMoney - tempData.ReceivedChargeMoney;
summaryOfDepartmentalFeesReport_Details.Add(tempData); }
#endregion
decimal sumChargeMoney = summaryOfDepartmentalFeesReport_Details.Any() ? DataHelper.DecimalRetainDecimals(summaryOfDepartmentalFeesReport_Details.Sum(s => s.ChargeMoney), 2) : 0; decimal sumDiscountMoney = summaryOfDepartmentalFeesReport_Details.Any() ? DataHelper.DecimalRetainDecimals(summaryOfDepartmentalFeesReport_Details.Sum(s => s.DiscountMoney), 2) : 0; decimal sumReceivedChargeMoney = summaryOfDepartmentalFeesReport_Details.Any() ? DataHelper.DecimalRetainDecimals(summaryOfDepartmentalFeesReport_Details.Sum(s => s.ReceivedChargeMoney), 2) : 0;
var summaryOfDepartmentalFeesReportDto = new GetSummaryOfDepartmentalFeesReportDto { Details = summaryOfDepartmentalFeesReport_Details, SumChargeMoney = sumChargeMoney, SumDiscountMoney = sumDiscountMoney, SumReceivedChargeMoney = sumReceivedChargeMoney };
return summaryOfDepartmentalFeesReportDto;
}
/// <summary>
/// 体检人次汇总
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/charge-report/get-summary-of-physical-examination-personnel-report")] public async Task<GetSummaryOfPhysicalExaminationPersonnelReportDto> GetSummaryOfPhysicalExaminationPersonnelReportAsync(GetSummaryOfPhysicalExaminationPersonnelReportRequestDto input) { var query = from a in await _patientRegisterRepository.GetQueryableAsync() join b in await _registerAsbitemRepository.GetQueryableAsync() on a.Id equals b.PatientRegisterId join c in await _customerOrgRegisterRepository.GetQueryableAsync() on a.CustomerOrgRegisterId equals c.Id into cc from ac in cc.DefaultIfEmpty() join d in await _customerOrgRepository.GetQueryableAsync() on ac.CustomerOrgId equals d.Id into dd from ad in dd.DefaultIfEmpty() where a.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected select new { a, b, ac, CustomerOrgName = ad != null ? ad.DisplayName : "" };
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) { query = query.Where(m => m.a.CreationTime >= Convert.ToDateTime(input.StartDate) && m.a.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); }
//按单位分组
var customerOrgGroup = query.GroupBy(g => g.ac.CustomerOrgId).Select(s => new GetSummaryOfPhysicalExaminationPersonnelReport_Detail { CustomerOrgName = s.FirstOrDefault().CustomerOrgName, SummaryCount = s.Count(), ChargeMoney = DataHelper.DecimalRetainDecimals(s.Sum(ss => ss.b.Amount.Value * ss.b.ChargePrice.Value), 2) }).ToList();
//个人次数
int personalCount = customerOrgGroup.Where(m => m.CustomerOrgId == GuidFlag.PersonCustomerOrgId).Count(); //单位次数
int customerOrgCount = customerOrgGroup.Count - personalCount;
var summaryOfPhysicalExaminationPersonnelReportDto = new GetSummaryOfPhysicalExaminationPersonnelReportDto { CustomerOrgCount = customerOrgCount, PersonalCount = personalCount, Details = customerOrgGroup, SumCount = customerOrgCount + personalCount };
return summaryOfPhysicalExaminationPersonnelReportDto;
}
}}
|