Browse Source

单位费用结算

master
wxd 1 year ago
parent
commit
f77e5aa249
  1. 22
      src/Shentun.Peis.Application/CustomerReports/CustomerReportAppService.cs
  2. 8
      src/Shentun.Peis.Domain.Shared/Enums/RegisterAsbitemPayTypeFlag.cs

22
src/Shentun.Peis.Application/CustomerReports/CustomerReportAppService.cs

@ -16,6 +16,7 @@ using Shentun.Peis.InternalReports;
using Shentun.Peis.Models; using Shentun.Peis.Models;
using Shentun.Peis.PeisReports; using Shentun.Peis.PeisReports;
using Shentun.Peis.ReportTemplates; using Shentun.Peis.ReportTemplates;
using SqlSugar;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
@ -2279,6 +2280,8 @@ namespace Shentun.Peis.CustomerReports
/// <summary> /// <summary>
/// 获取单位费用汇总报表 /// 获取单位费用汇总报表
/// 项目只统计单位支付的
/// 实检项目 不是检查项目的不用检索已检条件
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
@ -2347,14 +2350,17 @@ namespace Shentun.Peis.CustomerReports
var queryAsbitemList = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync() var queryAsbitemList = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId
join registerCheckAsbitem in await _registerAsbitemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId join registerCheckAsbitem in await _registerAsbitemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId
join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id
where customerOrgRegisterList.Select(s => s.customerOrgRegisterId).Contains(patientRegister.CustomerOrgRegisterId) where customerOrgRegisterList.Select(s => s.customerOrgRegisterId).Contains(patientRegister.CustomerOrgRegisterId)
&& registerCheckAsbitem.PayTypeFlag == RegisterCheckAsbitemPayTypeFlag.UnitPayment
select new select new
{ {
patientRegister, patientRegister,
completeFlag = registerCheck.CompleteFlag, completeFlag = registerCheck.CompleteFlag,
standardPrice = registerCheckAsbitem.StandardPrice, standardPrice = registerCheckAsbitem.StandardPrice,
chargePrice = registerCheckAsbitem.ChargePrice, chargePrice = registerCheckAsbitem.ChargePrice,
amount = registerCheckAsbitem.Amount
amount = registerCheckAsbitem.Amount,
isCheck = asbitem.IsCheck,
}).ToList(); }).ToList();
var customerOrgRegisterGroup = queryAsbitemList.GroupBy(g => g.patientRegister.CustomerOrgRegisterId); var customerOrgRegisterGroup = queryAsbitemList.GroupBy(g => g.patientRegister.CustomerOrgRegisterId);
@ -2389,13 +2395,15 @@ namespace Shentun.Peis.CustomerReports
|| m.patientRegister.CompleteFlag == PatientRegisterCompleteFlag.SumCheck).Sum(s => s.chargePrice * s.amount); || m.patientRegister.CompleteFlag == PatientRegisterCompleteFlag.SumCheck).Sum(s => s.chargePrice * s.amount);
entDto.CheckItemStandardAmount = item.Where(m => m.patientRegister.CompleteFlag == PatientRegisterCompleteFlag.PartCheck
|| m.patientRegister.CompleteFlag == PatientRegisterCompleteFlag.SumCheck
&& m.completeFlag != RegisterCheckCompleteFlag.UnChecked).Sum(s => s.standardPrice * s.amount);
entDto.CheckItemStandardAmount = item.Where(m => (m.patientRegister.CompleteFlag == PatientRegisterCompleteFlag.PartCheck
|| m.patientRegister.CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
&& (m.completeFlag != RegisterCheckCompleteFlag.UnChecked
|| m.isCheck == 'N')).Sum(s => s.standardPrice * s.amount);
entDto.CheckItemChargeAmount = item.Where(m => m.patientRegister.CompleteFlag == PatientRegisterCompleteFlag.PartCheck
|| m.patientRegister.CompleteFlag == PatientRegisterCompleteFlag.SumCheck
&& m.completeFlag != RegisterCheckCompleteFlag.UnChecked).Sum(s => s.chargePrice * s.amount);
entDto.CheckItemChargeAmount = item.Where(m => (m.patientRegister.CompleteFlag == PatientRegisterCompleteFlag.PartCheck
|| m.patientRegister.CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
&& (m.completeFlag != RegisterCheckCompleteFlag.UnChecked
|| m.isCheck == 'N')).Sum(s => s.chargePrice * s.amount);
entListDto.Add(entDto); entListDto.Add(entDto);
} }

8
src/Shentun.Peis.Domain.Shared/Enums/RegisterAsbitemPayTypeFlag.cs

@ -6,23 +6,23 @@ using System.Text;
namespace Shentun.Peis.Enums namespace Shentun.Peis.Enums
{ {
public static class RegisterAsbitemPayTypeFlag
public static class RegisterCheckAsbitemPayTypeFlag
{ {
/// <summary> /// <summary>
/// 个人支付 0 /// 个人支付 0
/// </summary> /// </summary>
[Description("个人支付")] [Description("个人支付")]
public const string PersonalPayment = "0";
public const char PersonalPayment = '0';
/// <summary> /// <summary>
/// 单位支付 1 /// 单位支付 1
/// </summary> /// </summary>
[Description("单位支付")] [Description("单位支付")]
public const string UnitPayment = "1";
public const char UnitPayment = '1';
/// <summary> /// <summary>
/// 免费 2 /// 免费 2
/// </summary> /// </summary>
[Description("免费")] [Description("免费")]
public const string Free = "2";
public const char Free = '2';
} }
} }
Loading…
Cancel
Save