28 changed files with 2539 additions and 3 deletions
-
69src/Shentun.Peis.Application.Contracts/ChargeReports/GetPersonalFeeDetailsReportInFeeDetailsDto.cs
-
37src/Shentun.Peis.Application.Contracts/ChargeReports/GetPersonalFeeDetailsReportInFeeDetailsRequestDto.cs
-
115src/Shentun.Peis.Application.Contracts/ChargeReports/GetPersonalFeeDetailsReportInFeeSummaryDto.cs
-
37src/Shentun.Peis.Application.Contracts/ChargeReports/GetPersonalFeeDetailsReportInFeeSummaryRequestDto.cs
-
68src/Shentun.Peis.Application.Contracts/ChargeReports/GetPersonalFeeDetailsReportInRefundDetailsDto.cs
-
37src/Shentun.Peis.Application.Contracts/ChargeReports/GetPersonalFeeDetailsReportInRefundDetailsRequestDto.cs
-
72src/Shentun.Peis.Application.Contracts/ChargeReports/GetProjectFeesReportDto.cs
-
32src/Shentun.Peis.Application.Contracts/ChargeReports/GetProjectFeesReportRequestDto.cs
-
60src/Shentun.Peis.Application.Contracts/ChargeReports/GetSummaryOfDepartmentalFeesReportDto.cs
-
27src/Shentun.Peis.Application.Contracts/ChargeReports/GetSummaryOfDepartmentalFeesReportRequestDto.cs
-
54src/Shentun.Peis.Application.Contracts/ChargeReports/GetSummaryOfPhysicalExaminationPersonnelReportDto.cs
-
22src/Shentun.Peis.Application.Contracts/ChargeReports/GetSummaryOfPhysicalExaminationPersonnelReportRequestDto.cs
-
42src/Shentun.Peis.Application.Contracts/ChargeReports/GetTollCollectorFeeReportInAsbitemDto.cs
-
27src/Shentun.Peis.Application.Contracts/ChargeReports/GetTollCollectorFeeReportInAsbitemRequestDto.cs
-
84src/Shentun.Peis.Application.Contracts/ChargeReports/GetTollCollectorFeeReportInInvoiceTypeDto.cs
-
27src/Shentun.Peis.Application.Contracts/ChargeReports/GetTollCollectorFeeReportInInvoiceTypeRequestDto.cs
-
63src/Shentun.Peis.Application.Contracts/ChargeReports/GetTollCollectorFeeReportInPayModeDto.cs
-
27src/Shentun.Peis.Application.Contracts/ChargeReports/GetTollCollectorFeeReportInPayModeRequestDto.cs
-
56src/Shentun.Peis.Application.Contracts/ChargeReports/GetTollcollectorFeeSummaryReportDto.cs
-
27src/Shentun.Peis.Application.Contracts/ChargeReports/GetTollcollectorFeeSummaryReportRequestDto.cs
-
25src/Shentun.Peis.Application.Contracts/Charges/ChargeAndChargeBackSettlementRequestDto.cs
-
58src/Shentun.Peis.Application.Contracts/Charges/GetChargeAndChargeBackSummaryDto.cs
-
24src/Shentun.Peis.Application.Contracts/Charges/GetChargeAndChargeBackSummaryRequestDto.cs
-
1183src/Shentun.Peis.Application/ChargeReports/ChargeReportAppService.cs
-
203src/Shentun.Peis.Application/Charges/ChargeAppService.cs
-
24src/Shentun.Peis.Domain.Shared/Enums/ChargeFlag.cs
-
18src/Shentun.Peis.Domain/DataHelper.cs
-
24src/Shentun.Peis.Domain/ItemTypes/ItemTypeManager.cs
@ -0,0 +1,69 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.ComponentModel.DataAnnotations.Schema; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetPersonalFeeDetailsReportInFeeDetailsDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 档案号
|
||||
|
/// </summary>
|
||||
|
public string PatientNo { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 体检次数
|
||||
|
/// </summary>
|
||||
|
public short MedicalTimes { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 姓名
|
||||
|
/// </summary>
|
||||
|
public string PatientName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 性别
|
||||
|
/// </summary>
|
||||
|
public string SexName { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 年龄
|
||||
|
/// </summary>
|
||||
|
public short? Age { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 组合项目名称
|
||||
|
/// </summary>
|
||||
|
public string AsbitemName { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 标准金额
|
||||
|
/// </summary>
|
||||
|
public decimal StandardPrice { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 实收金额
|
||||
|
/// </summary>
|
||||
|
public decimal CharePrice { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 折扣
|
||||
|
/// </summary>
|
||||
|
public string Discount { get; set;} |
||||
|
|
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 记账人
|
||||
|
/// </summary>
|
||||
|
public string BookKeepingName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 记账时间
|
||||
|
/// </summary>
|
||||
|
public string BookkeepingTiem { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,37 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetPersonalFeeDetailsReportInFeeDetailsRequestDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费员ID 集合
|
||||
|
/// </summary>
|
||||
|
public List<Guid> UserIds { get; set; } = new List<Guid>(); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 档案号
|
||||
|
/// </summary>
|
||||
|
public string PatientNo { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 姓名
|
||||
|
/// </summary>
|
||||
|
public string PatientName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 开始日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "开始日期不能为空")] |
||||
|
public string StartDate { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 结束日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "结束日期不能为空")] |
||||
|
public string EndDate { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,115 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetPersonalFeeDetailsReportInFeeSummaryDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 应收总金额
|
||||
|
/// </summary>
|
||||
|
public decimal SumChargeMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 折扣总金额
|
||||
|
/// </summary>
|
||||
|
public decimal SumDiscountMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 实收总金额
|
||||
|
/// </summary>
|
||||
|
public decimal SumReceivedChargeMoney { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 收费人数
|
||||
|
/// </summary>
|
||||
|
public int ChargeCount { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 明细
|
||||
|
/// </summary>
|
||||
|
public List<GetPersonalFeeDetailsReportInFeeSummary_Detail> Details { get; set; } |
||||
|
} |
||||
|
|
||||
|
public class GetPersonalFeeDetailsReportInFeeSummary_Detail |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 档案号
|
||||
|
/// </summary>
|
||||
|
public string PatientNo { get; set; } |
||||
|
|
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 姓名
|
||||
|
/// </summary>
|
||||
|
public string PatientName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 性别
|
||||
|
/// </summary>
|
||||
|
public string SexName { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 年龄
|
||||
|
/// </summary>
|
||||
|
public short? Age { get; set; } |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 应收金额
|
||||
|
/// </summary>
|
||||
|
public decimal ChargeMoney { get; set; } |
||||
|
|
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 折扣金额
|
||||
|
/// </summary>
|
||||
|
public decimal DiscountMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 实收金额
|
||||
|
/// </summary>
|
||||
|
public decimal ReceivedChargeMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 收费人
|
||||
|
/// </summary>
|
||||
|
public string BookKeepingName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 收费时间
|
||||
|
/// </summary>
|
||||
|
public string BookkeepingTiem { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 记账模式 收费/退费
|
||||
|
/// </summary>
|
||||
|
public string ChargeFlagName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 支付方式明细
|
||||
|
/// </summary>
|
||||
|
public List<GetPersonalFeeDetailsReportInFeeSummary_PayMode> PayModes { get; set; } |
||||
|
} |
||||
|
|
||||
|
public class GetPersonalFeeDetailsReportInFeeSummary_PayMode |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 支付方式
|
||||
|
/// </summary>
|
||||
|
public string PayModeName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 实收金额
|
||||
|
/// </summary>
|
||||
|
public decimal ReceivedChargeMoney { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,37 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetPersonalFeeDetailsReportInFeeSummaryRequestDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费员ID 集合
|
||||
|
/// </summary>
|
||||
|
public List<Guid> UserIds { get; set; } = new List<Guid>(); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 档案号
|
||||
|
/// </summary>
|
||||
|
public string PatientNo { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 姓名
|
||||
|
/// </summary>
|
||||
|
public string PatientName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 开始日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "开始日期不能为空")] |
||||
|
public string StartDate { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 结束日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "结束日期不能为空")] |
||||
|
public string EndDate { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,68 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetPersonalFeeDetailsReportInRefundDetailsDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 档案号
|
||||
|
/// </summary>
|
||||
|
public string PatientNo { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 体检次数
|
||||
|
/// </summary>
|
||||
|
public short MedicalTimes { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 姓名
|
||||
|
/// </summary>
|
||||
|
public string PatientName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 性别
|
||||
|
/// </summary>
|
||||
|
public string SexName { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 年龄
|
||||
|
/// </summary>
|
||||
|
public short? Age { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 组合项目名称
|
||||
|
/// </summary>
|
||||
|
public string AsbitemName { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 标准金额
|
||||
|
/// </summary>
|
||||
|
public decimal StandardPrice { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 实收金额
|
||||
|
/// </summary>
|
||||
|
public decimal CharePrice { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 折扣
|
||||
|
/// </summary>
|
||||
|
public string Discount { get; set; } |
||||
|
|
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 记账人
|
||||
|
/// </summary>
|
||||
|
public string BookKeepingName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 记账时间
|
||||
|
/// </summary>
|
||||
|
public string BookkeepingTiem { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,37 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetPersonalFeeDetailsReportInRefundDetailsRequestDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费员ID 集合
|
||||
|
/// </summary>
|
||||
|
public List<Guid> UserIds { get; set; } = new List<Guid>(); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 档案号
|
||||
|
/// </summary>
|
||||
|
public string PatientNo { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 姓名
|
||||
|
/// </summary>
|
||||
|
public string PatientName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 开始日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "开始日期不能为空")] |
||||
|
public string StartDate { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 结束日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "结束日期不能为空")] |
||||
|
public string EndDate { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,72 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
|
||||
|
public class GetProjectFeesReportDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 应收总金额
|
||||
|
/// </summary>
|
||||
|
public decimal SumChargeMoney { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 折扣金额
|
||||
|
/// </summary>
|
||||
|
public decimal SumDiscountMoney { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 实收总金额
|
||||
|
/// </summary>
|
||||
|
public decimal SumReceivedChargeMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 明细
|
||||
|
/// </summary>
|
||||
|
public List<GetProjectFeesReport_Detail> Details { get; set; } |
||||
|
} |
||||
|
|
||||
|
public class GetProjectFeesReport_Detail |
||||
|
{ |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 项目类别Id 前端不需要
|
||||
|
/// </summary>
|
||||
|
public Guid ItemTypeId { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 项目类别名称==科室
|
||||
|
/// </summary>
|
||||
|
public string ItemTypeName { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 组合项目Id 前端不需要
|
||||
|
/// </summary>
|
||||
|
public Guid AsbitemId { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 组合项目名称
|
||||
|
/// </summary>
|
||||
|
public string AsbitemName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 应收金额
|
||||
|
/// </summary>
|
||||
|
public decimal ChargeMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 折扣金额
|
||||
|
/// </summary>
|
||||
|
public decimal DiscountMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 实收金额
|
||||
|
/// </summary>
|
||||
|
public decimal ReceivedChargeMoney { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,32 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetProjectFeesReportRequestDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 项目类别ID
|
||||
|
/// </summary>
|
||||
|
public Guid? ItemTypeId { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 组合项目 可以多个
|
||||
|
/// </summary>
|
||||
|
public List<Guid> Asbitems { get; set; } = new List<Guid>(); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 开始日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "开始日期不能为空")] |
||||
|
public string StartDate { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 结束日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "结束日期不能为空")] |
||||
|
public string EndDate { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,60 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetSummaryOfDepartmentalFeesReportDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 应收总金额
|
||||
|
/// </summary>
|
||||
|
public decimal SumChargeMoney { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 折扣金额
|
||||
|
/// </summary>
|
||||
|
public decimal SumDiscountMoney { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 实收总金额
|
||||
|
/// </summary>
|
||||
|
public decimal SumReceivedChargeMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 明细
|
||||
|
/// </summary>
|
||||
|
public List<GetSummaryOfDepartmentalFeesReport_Detail> Details { get; set; } |
||||
|
} |
||||
|
|
||||
|
public class GetSummaryOfDepartmentalFeesReport_Detail |
||||
|
{ |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 项目类别Id 前端不需要
|
||||
|
/// </summary>
|
||||
|
public Guid ItemTypeId { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 项目类别名称==科室
|
||||
|
/// </summary>
|
||||
|
public string ItemTypeName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 应收金额
|
||||
|
/// </summary>
|
||||
|
public decimal ChargeMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 折扣金额
|
||||
|
/// </summary>
|
||||
|
public decimal DiscountMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 实收金额
|
||||
|
/// </summary>
|
||||
|
public decimal ReceivedChargeMoney { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,27 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetSummaryOfDepartmentalFeesReportRequestDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 项目类别ID
|
||||
|
/// </summary>
|
||||
|
public Guid? ItemTypeId { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 开始日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "开始日期不能为空")] |
||||
|
public string StartDate { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 结束日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "结束日期不能为空")] |
||||
|
public string EndDate { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,54 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetSummaryOfPhysicalExaminationPersonnelReportDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 体检总人次
|
||||
|
/// </summary>
|
||||
|
public int SumCount { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 个人次数
|
||||
|
/// </summary>
|
||||
|
public int PersonalCount { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 单位次数
|
||||
|
/// </summary>
|
||||
|
public int CustomerOrgCount { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 明细
|
||||
|
/// </summary>
|
||||
|
public List<GetSummaryOfPhysicalExaminationPersonnelReport_Detail> Details { get; set; } |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public class GetSummaryOfPhysicalExaminationPersonnelReport_Detail |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 单位ID
|
||||
|
/// </summary>
|
||||
|
public Guid CustomerOrgId { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 单位名称
|
||||
|
/// </summary>
|
||||
|
public string CustomerOrgName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 总检人数
|
||||
|
/// </summary>
|
||||
|
public int SummaryCount { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 应收总金额 ChargePrice*Amout
|
||||
|
/// </summary>
|
||||
|
public decimal ChargeMoney { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,22 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetSummaryOfPhysicalExaminationPersonnelReportRequestDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 开始日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "开始日期不能为空")] |
||||
|
public string StartDate { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 结束日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "结束日期不能为空")] |
||||
|
public string EndDate { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,42 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetTollCollectorFeeReportInAsbitemDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 项目类别==科室名字
|
||||
|
/// </summary>
|
||||
|
public string ItemTypeName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 小计
|
||||
|
/// </summary>
|
||||
|
public decimal TotalMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 明细
|
||||
|
/// </summary>
|
||||
|
public List<GetTollCollectorFeeReportInAsbitem_Detail> Details { get; set; } |
||||
|
} |
||||
|
|
||||
|
public class GetTollCollectorFeeReportInAsbitem_Detail |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 项目类别==科室名字
|
||||
|
/// </summary>
|
||||
|
public string ItemTypeName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 组合项目名称
|
||||
|
/// </summary>
|
||||
|
public string AsbitemName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 收款金额
|
||||
|
/// </summary>
|
||||
|
public decimal ChargeMoney { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,27 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetTollCollectorFeeReportInAsbitemRequestDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费员ID 集合
|
||||
|
/// </summary>
|
||||
|
public List<Guid> UserIds { get; set; } = new List<Guid>(); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 开始日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "开始日期不能为空")] |
||||
|
public string StartDate { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 结束日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "结束日期不能为空")] |
||||
|
public string EndDate { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,84 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetTollCollectorFeeReportInInvoiceTypeDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费票据数量
|
||||
|
/// </summary>
|
||||
|
public int ChargeCount { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 退费票据数量
|
||||
|
/// </summary>
|
||||
|
public int ChargeBackCount { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 收费日期
|
||||
|
/// </summary>
|
||||
|
public string ChargeDate { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 收费明细
|
||||
|
/// </summary>
|
||||
|
public GetTollCollectorFeeReportInInvoiceType_ChargeDetail ChargeDetails { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 退费明细
|
||||
|
/// </summary>
|
||||
|
public GetTollCollectorFeeReportInInvoiceType_ChargeBackDetail ChargeBackDetails { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 总合计金额
|
||||
|
/// </summary>
|
||||
|
public decimal SumTotalMoney { get; set; } |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 收费
|
||||
|
/// </summary>
|
||||
|
public class GetTollCollectorFeeReportInInvoiceType_ChargeDetail |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 小计金额
|
||||
|
/// </summary>
|
||||
|
public decimal TotalMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 明细
|
||||
|
/// </summary>
|
||||
|
public List<GetTollCollectorFeeReportInInvoiceType_InvoiceTypeDetail> InvoiceTypeDetails { get; set; } |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 退费
|
||||
|
/// </summary>
|
||||
|
public class GetTollCollectorFeeReportInInvoiceType_ChargeBackDetail |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 小计金额
|
||||
|
/// </summary>
|
||||
|
public decimal TotalMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 明细
|
||||
|
/// </summary>
|
||||
|
public List<GetTollCollectorFeeReportInInvoiceType_InvoiceTypeDetail> InvoiceTypeDetails { get; set; } |
||||
|
} |
||||
|
|
||||
|
public class GetTollCollectorFeeReportInInvoiceType_InvoiceTypeDetail |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 发票类型
|
||||
|
/// </summary>
|
||||
|
public string InvoiceTypeName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 金额
|
||||
|
/// </summary>
|
||||
|
public decimal InvoiceTypeMoney { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,27 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetTollCollectorFeeReportInInvoiceTypeRequestDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费员ID 集合
|
||||
|
/// </summary>
|
||||
|
public List<Guid> UserIds { get; set; } = new List<Guid>(); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 开始日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "开始日期不能为空")] |
||||
|
public string StartDate { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 结束日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "结束日期不能为空")] |
||||
|
public string EndDate { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,63 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetTollCollectorFeeReportInPayModeDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费票据数量
|
||||
|
/// </summary>
|
||||
|
public int ChargeCount { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 退费票据数量
|
||||
|
/// </summary>
|
||||
|
public int ChargeBackCount { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 收费日期
|
||||
|
/// </summary>
|
||||
|
public string ChargeDate { get; set;} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 收费明细
|
||||
|
/// </summary>
|
||||
|
public List<GetTollCollectorFeeReportInPayMode_ChargeAndChargeBackDetail> ChargeDetails { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 总合计金额
|
||||
|
/// </summary>
|
||||
|
public decimal SumTotalMoney { get; set; } |
||||
|
} |
||||
|
|
||||
|
public class GetTollCollectorFeeReportInPayMode_ChargeAndChargeBackDetail |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费员
|
||||
|
/// </summary>
|
||||
|
public string ChargeName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 支付方式名称
|
||||
|
/// </summary>
|
||||
|
public string PayModeName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 收费金额
|
||||
|
/// </summary>
|
||||
|
public decimal ChargeMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 退费金额
|
||||
|
/// </summary>
|
||||
|
public decimal ChargeBackMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 合计金额
|
||||
|
/// </summary>
|
||||
|
public decimal TotalMoney { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,27 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetTollCollectorFeeReportInPayModeRequestDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费员ID 集合
|
||||
|
/// </summary>
|
||||
|
public List<Guid> UserIds { get; set; } = new List<Guid>(); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 开始日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "开始日期不能为空")] |
||||
|
public string StartDate { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 结束日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "结束日期不能为空")] |
||||
|
public string EndDate { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,56 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetTollcollectorFeeSummaryReportDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 实收总金额
|
||||
|
/// </summary>
|
||||
|
public decimal SumChargeMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 退费总金额
|
||||
|
/// </summary>
|
||||
|
public decimal SumChargeBackMoney { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 合计总金额
|
||||
|
/// </summary>
|
||||
|
public decimal SumTotalMoney { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 明细
|
||||
|
/// </summary>
|
||||
|
public List<GetTollcollectorFeeSummaryReport_Detail> Details { get; set; } |
||||
|
} |
||||
|
|
||||
|
|
||||
|
public class GetTollcollectorFeeSummaryReport_Detail |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费员
|
||||
|
/// </summary>
|
||||
|
public string ChargeName { get; set; } |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 收费金额
|
||||
|
/// </summary>
|
||||
|
public decimal ChargeMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 退费金额
|
||||
|
/// </summary>
|
||||
|
public decimal ChargeBackMoney { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 合计金额
|
||||
|
/// </summary>
|
||||
|
public decimal TotalMoney { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,27 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.ChargeReports |
||||
|
{ |
||||
|
public class GetTollcollectorFeeSummaryReportRequestDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费员ID 集合
|
||||
|
/// </summary>
|
||||
|
public List<Guid> UserIds { get; set; } = new List<Guid>(); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 开始日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "开始日期不能为空")] |
||||
|
public string StartDate { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 结束日期
|
||||
|
/// </summary>
|
||||
|
[Required(ErrorMessage = "结束日期不能为空")] |
||||
|
public string EndDate { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,25 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.Charges |
||||
|
{ |
||||
|
public class ChargeAndChargeBackSettlementRequestDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费员ID 集合
|
||||
|
/// </summary>
|
||||
|
public List<Guid> UserIds { get; set; } = new List<Guid>(); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 开始日期
|
||||
|
/// </summary>
|
||||
|
public string StartDate { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 结束日期
|
||||
|
/// </summary>
|
||||
|
public string EndDate { get; set; } |
||||
|
} |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,58 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.Charges |
||||
|
{ |
||||
|
public class GetChargeAndChargeBackSummaryDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费汇总
|
||||
|
/// </summary>
|
||||
|
public List<GetChargeAndChargeBackSummary_ChargeDetail> ChargeDetails { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 退费汇总
|
||||
|
/// </summary>
|
||||
|
public List<GetChargeAndChargeBackSummary_ChargeBackDetail> ChargeBackDetails { get; set; } |
||||
|
} |
||||
|
|
||||
|
public class GetChargeAndChargeBackSummary_ChargeDetail |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费员
|
||||
|
/// </summary>
|
||||
|
public string UserName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 收费明细
|
||||
|
/// </summary>
|
||||
|
public List<GetChargeAndChargeBackSummary_PayModeDetail> PayModeDetails { get; set; } |
||||
|
} |
||||
|
|
||||
|
public class GetChargeAndChargeBackSummary_ChargeBackDetail |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 退费员
|
||||
|
/// </summary>
|
||||
|
public string UserName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 退费明细
|
||||
|
/// </summary>
|
||||
|
public List<GetChargeAndChargeBackSummary_PayModeDetail> PayModeDetails { get; set; } |
||||
|
} |
||||
|
|
||||
|
public class GetChargeAndChargeBackSummary_PayModeDetail |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 支付方式
|
||||
|
/// </summary>
|
||||
|
public string PayModeName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 收费或退费金额
|
||||
|
/// </summary>
|
||||
|
public decimal Money { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,24 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.Charges |
||||
|
{ |
||||
|
public class GetChargeAndChargeBackSummaryRequestDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费员ID 集合
|
||||
|
/// </summary>
|
||||
|
public List<Guid> UserIds { get; set; } = new List<Guid>(); |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 开始日期
|
||||
|
/// </summary>
|
||||
|
public string StartDate { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 结束日期
|
||||
|
/// </summary>
|
||||
|
public string EndDate { get; set; } |
||||
|
} |
||||
|
} |
||||
1183
src/Shentun.Peis.Application/ChargeReports/ChargeReportAppService.cs
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1,17 +1,218 @@ |
|||||
using Microsoft.AspNetCore.Authorization; |
using Microsoft.AspNetCore.Authorization; |
||||
using Microsoft.AspNetCore.Mvc; |
using Microsoft.AspNetCore.Mvc; |
||||
|
using Shentun.Peis.Books; |
||||
|
using Shentun.Peis.Models; |
||||
using System; |
using System; |
||||
using System.Collections.Generic; |
using System.Collections.Generic; |
||||
|
using System.Collections.Immutable; |
||||
using System.Linq; |
using System.Linq; |
||||
using System.Text; |
using System.Text; |
||||
using System.Threading.Tasks; |
using System.Threading.Tasks; |
||||
using Volo.Abp.Application.Services; |
using Volo.Abp.Application.Services; |
||||
|
using Volo.Abp.Domain.Repositories; |
||||
|
using Volo.Abp.Identity; |
||||
|
using Volo.Abp.Users; |
||||
|
|
||||
namespace Shentun.Peis.Charges |
namespace Shentun.Peis.Charges |
||||
{ |
{ |
||||
|
/// <summary>
|
||||
|
/// 收费
|
||||
|
/// </summary>
|
||||
[ApiExplorerSettings(GroupName = "Work")] |
[ApiExplorerSettings(GroupName = "Work")] |
||||
[Authorize] |
[Authorize] |
||||
public class ChargeAppService : ApplicationService |
public class ChargeAppService : ApplicationService |
||||
{ |
{ |
||||
|
|
||||
|
private readonly IRepository<Charge, Guid> _chargeRepository; |
||||
|
private readonly IRepository<ChargePay> _chargePayRepository; |
||||
|
private readonly IRepository<PayMode> _payModeRepository; |
||||
|
private readonly IRepository<ChargeBack, Guid> _chargeBackRepository; |
||||
|
private readonly IRepository<ChargeBackPay> _chargeBackPayRepository; |
||||
|
private readonly IRepository<IdentityUser, Guid> _userRepository; |
||||
|
private readonly ICurrentUser _currentUser; |
||||
|
|
||||
|
|
||||
|
public ChargeAppService( |
||||
|
IRepository<Charge, Guid> chargeRepository, |
||||
|
IRepository<ChargeBack, Guid> chargeBackRepository, |
||||
|
IRepository<ChargePay> chargePayRepository, |
||||
|
IRepository<PayMode> payModeRepository, |
||||
|
IRepository<ChargeBackPay> chargeBackPayRepository, |
||||
|
IRepository<IdentityUser, Guid> userRepository, |
||||
|
ICurrentUser currentUser) |
||||
|
{ |
||||
|
_chargeRepository = chargeRepository; |
||||
|
_chargeBackRepository = chargeBackRepository; |
||||
|
_chargePayRepository = chargePayRepository; |
||||
|
_payModeRepository = payModeRepository; |
||||
|
_chargeBackPayRepository = chargeBackPayRepository; |
||||
|
_userRepository = userRepository; |
||||
|
_currentUser = currentUser; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 查询收费、退费信息汇总 结算钱展示
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
[HttpPost("api/app/charge/get-charge-and-charge-back-summary")] |
||||
|
public async Task<GetChargeAndChargeBackSummaryDto> GetChargeAndChargeBackSummaryAsync(GetChargeAndChargeBackSummaryRequestDto 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 = Math.Round(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 = Math.Round(ss.Sum(sss => sss.b.BackMoeny), 2) |
||||
|
}).ToList() |
||||
|
}); |
||||
|
#endregion
|
||||
|
|
||||
|
var chargeAndChargeBackSummaryDto = new GetChargeAndChargeBackSummaryDto |
||||
|
{ |
||||
|
ChargeBackDetails = ChargeBackDetails.ToList(), |
||||
|
ChargeDetails = ChargeDetails.ToList() |
||||
|
}; |
||||
|
|
||||
|
return chargeAndChargeBackSummaryDto; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 财务结算接口
|
||||
|
/// </summary>
|
||||
|
/// <returns></returns>
|
||||
|
[HttpPost("api/app/charge/charge-and-charge-back-settlement")] |
||||
|
public async Task ChargeAndChargeBackSettlementAsync(ChargeAndChargeBackSettlementRequestDto input) |
||||
|
{ |
||||
|
if (_currentUser.Id != null && _currentUser.Id != Guid.Empty) |
||||
|
{ |
||||
|
#region 收费
|
||||
|
var chargeQuery = (await _chargeRepository.GetQueryableAsync()).Where(m => m.SettleAccountId == null || m.SettleAccountId == Guid.Empty); |
||||
|
|
||||
|
if (input.UserIds.Any()) |
||||
|
{ |
||||
|
chargeQuery = chargeQuery.Where(m => input.UserIds.Contains(m.CreatorId.Value)); |
||||
|
} |
||||
|
|
||||
|
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) |
||||
|
{ |
||||
|
chargeQuery = chargeQuery.Where(m => m.CreationTime >= Convert.ToDateTime(input.StartDate) |
||||
|
&& m.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); |
||||
|
} |
||||
|
|
||||
|
var chargeList = chargeQuery.ToList(); |
||||
|
if (chargeList.Any()) |
||||
|
{ |
||||
|
foreach (var charge in chargeList) |
||||
|
{ |
||||
|
charge.SettleAccountId = _currentUser.Id; |
||||
|
charge.SettleTime = DateTime.Now; |
||||
|
} |
||||
|
} |
||||
|
#endregion
|
||||
|
|
||||
|
#region 退费
|
||||
|
var chargeBackQuery = (await _chargeBackRepository.GetQueryableAsync()).Where(m => m.SettleAccountId == null || m.SettleAccountId == Guid.Empty); |
||||
|
|
||||
|
if (input.UserIds.Any()) |
||||
|
{ |
||||
|
chargeBackQuery = chargeBackQuery.Where(m => input.UserIds.Contains(m.CreatorId.Value)); |
||||
|
} |
||||
|
|
||||
|
if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate)) |
||||
|
{ |
||||
|
chargeBackQuery = chargeBackQuery.Where(m => m.CreationTime >= Convert.ToDateTime(input.StartDate) |
||||
|
&& m.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1)); |
||||
|
} |
||||
|
|
||||
|
var chargeBackList = chargeBackQuery.ToList(); |
||||
|
if (chargeBackList.Any()) |
||||
|
{ |
||||
|
foreach (var chargeBack in chargeBackList) |
||||
|
{ |
||||
|
chargeBack.SettleAccountId = _currentUser.Id; |
||||
|
chargeBack.SettleTime = DateTime.Now; |
||||
|
} |
||||
|
} |
||||
|
#endregion
|
||||
|
|
||||
|
await _chargeRepository.UpdateManyAsync(chargeList); |
||||
|
|
||||
|
await _chargeBackRepository.UpdateManyAsync(chargeBackList); |
||||
|
} |
||||
|
|
||||
|
} |
||||
} |
} |
||||
} |
|
||||
|
} |
||||
@ -0,0 +1,24 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.ComponentModel; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace Shentun.Peis.Enums |
||||
|
{ |
||||
|
|
||||
|
public static class ChargeFlag |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 收费
|
||||
|
/// </summary>
|
||||
|
[Description("收费")] |
||||
|
public const char Charge = '0'; |
||||
|
|
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 退费
|
||||
|
/// </summary>
|
||||
|
[Description("退费")] |
||||
|
public const char ChargeBack = '1'; |
||||
|
} |
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue