Commit cc4d031f authored by liudong1993's avatar liudong1993

简易报表调整

parent 1f96fb75
using System;
using System.Collections.Generic;
using System.Linq;
using Edu.Common;
using Edu.Common.Enum.Finance;
using Edu.Common.Plugin;
using Edu.Model.CacheModel;
......@@ -1281,12 +1282,52 @@ namespace Edu.Module.Finance
{
string startTime = Year + "-" + month + "-01";
string endTime = Convert.ToDateTime(Year + "-" + month + "-01").AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd");
#region 班级
#region 最新班级
List<int> ClassIdArr = new List<int>();
//首先根据签到表 查询出所有的班级 并分页
var list = class_CheckRepository.GetAllClassNowMonthStatistics(startTime, endTime, 0, "", branchitem.SId, GroupId);
if (list.Any())
{
string classIds = string.Join(",", list.Select(x => x.ClassId));
ClassIdArr.AddRange(list.Select(x => x.ClassId));
}
//查询时间范围内 除订单外 班级下其他订单 的其他收入 + 其他成本支出
string datebaseStr = Config.ReadConfigKey("EduDateBase");//教育数据库
var financeList = RB_FinanceRepository.GetListForReportClass(new RB_Finance_Extend() { RB_Group_Id = GroupId, RB_Branch_Id = branchitem.SId, TCID = -2, sAduitDate = Convert.ToDateTime(startTime), eAduitDate = Convert.ToDateTime(endTime), FinanceType = 2, OrderSource = OrderResourceEnum.Education }, datebaseStr);
if (financeList.Any())
{
ClassIdArr.AddRange(financeList.Select(x => x.TCID ?? 0));
}
string STime = Convert.ToDateTime(startTime).AddMonths(-1).ToString("yyyy-MM-dd");
string ETime = Convert.ToDateTime(endTime).AddMonths(-1).ToString("yyyy-MM-dd");
var teacherBonusList = teaching_BonusDetailRepository.GetTeacherBonusForDate(GroupId, branchitem.SId, "", STime, ETime);//查询所有班级需要发放
if (teacherBonusList.Any())
{
ClassIdArr.AddRange(teacherBonusList.Select(x => x.ClassId));
}
var meritsProfitList = teaching_PerfRepository.GetTeacherPerfForDate(GroupId, branchitem.SId, "", startTime, endTime);
if (meritsProfitList.Any())
{
ClassIdArr.AddRange(meritsProfitList.Select(x => x.ClassId));
}
var saleList = sell_Commission_DetailsRepository.GetSellCommissionForDate(GroupId, branchitem.SId, "", STime, ETime);
if (saleList.Any())
{
ClassIdArr.AddRange(saleList.Select(x => x.ClassId));
}
ClassIdArr = ClassIdArr.Distinct().ToList();
List<RB_Class_ViewModel> CAlllist = new List<RB_Class_ViewModel>();
if (ClassIdArr.Any())
{
//再次查询所有的班级
CAlllist = classRepository.GetClassListRepository(new RB_Class_ViewModel() { Group_Id = GroupId, Q_ClassIds = string.Join(",", ClassIdArr) });
}
if (CAlllist.Any())
{
string classIds = string.Join(",", CAlllist.Select(x => x.ClassId));
//查询时间范围内 所有班级的学生上课金额
List<RB_Teaching_BonusDetail_ViewModel> StudentHoursList = new List<RB_Teaching_BonusDetail_ViewModel>();
//根据学生签到表 查询
......@@ -1315,17 +1356,8 @@ namespace Edu.Module.Finance
});
}
}
//查询时间范围内 所有班级的销售提成 , 老师课时费 , 老师绩效
string STime = Convert.ToDateTime(startTime).AddMonths(-1).ToString("yyyy-MM-dd");
string ETime = Convert.ToDateTime(endTime).AddMonths(-1).ToString("yyyy-MM-dd");
var teacherBonusList = teaching_BonusDetailRepository.GetTeacherBonusForDate(GroupId, classIds, STime, ETime);
var meritsProfitList = teaching_PerfRepository.GetTeacherPerfForDate(GroupId, classIds, startTime, endTime);
var saleList = sell_Commission_DetailsRepository.GetSellCommissionForDate(GroupId, classIds, STime, ETime);
//查询时间范围内 除订单外 班级下其他订单 的其他收入 + 其他成本支出
var financeList = RB_FinanceRepository.GetListForReport(new RB_Finance_Extend() { RB_Group_Id = GroupId, TCIDStr = classIds, sAduitDate = Convert.ToDateTime(startTime), eAduitDate = Convert.ToDateTime(endTime), FinanceType = 2, OrderSource = OrderResourceEnum.Education });
foreach (var item in list)
foreach (var item in CAlllist)
{
#region 学生课耗
var slist = StudentHoursList.Where(x => x.ClassId == item.ClassId).ToList();
......@@ -1337,10 +1369,11 @@ namespace Edu.Module.Finance
decimal SellMoney = saleList.Where(x => x.ClassId == item.ClassId).FirstOrDefault()?.CurrentPeriodMoney ?? 0;//销售提成
#endregion
#region 单据
decimal OtherIncome = financeList.Where(y => y.Type == WFTempLateClassEnum.IN && y.Is_Cashier == 1 && y.OrderID <= 0).Sum(x => x.Money ?? 0);
decimal Fee = financeList.Where(x => x.Type == WFTempLateClassEnum.IN && x.Is_Cashier == 1 && x.OrderID <= 0 && x.Fee > 0).GroupBy(x => new { x.FrID, x.Fee }).Sum(x => x.Key.Fee ?? 0);
var flist = financeList.Where(x => x.TCID == item.ClassId).ToList();
decimal OtherIncome = flist.Where(y => y.Type == WFTempLateClassEnum.IN && y.Is_Cashier == 1 && y.OrderID <= 0).Sum(x => x.Money ?? 0);
decimal Fee = flist.Where(x => x.Type == WFTempLateClassEnum.IN && x.Is_Cashier == 1 && x.OrderID <= 0 && x.Fee > 0).GroupBy(x => new { x.FrID, x.Fee }).Sum(x => x.Key.Fee ?? 0);
OtherIncome -= Fee;
decimal OtherCost = financeList.Where(y => y.Type == WFTempLateClassEnum.OUT && y.OrderID <= 0).Sum(x => x.Money ?? 0);//支出也要排除订单订单退款
decimal OtherCost = flist.Where(y => y.Type == WFTempLateClassEnum.OUT && y.OrderID <= 0).Sum(x => x.Money ?? 0);//支出也要排除订单订单退款
#endregion
UpdateClassReportDate(TotalReport, IncomeReport, OtherIncomeReport, BonusReport, PerfReport, SellReport, OtherCostReport, month, TStuMoney, BonusMoney, PerfMoney, SellMoney, OtherIncome, OtherCost);
......@@ -1348,21 +1381,34 @@ namespace Edu.Module.Finance
}
#endregion
#region 留学
#region 最新留学
//查询留学的
List<int> SourceIdArr = new List<int>();
var lxOrderList = orderRepository.GetListForReport(new RB_Order_ViewModel() { Group_Id = GroupId, School_Id = branchitem.SId, OrderType = Common.Enum.Sale.OrderTypeEnum.StudyabroadOrder, Q_OrderState = 1, ConfirmSTime = startTime, ConfirmETime = endTime });
List<RB_Finance_Extend> lxFinanceList = new List<RB_Finance_Extend>();
List<Model.ViewModel.StudyAbroad.RB_StudyAbroad_ViewModel> saList = new List<Model.ViewModel.StudyAbroad.RB_StudyAbroad_ViewModel>();
if (lxOrderList.Any())
{
string orderIds = string.Join(",", lxOrderList.Select(x => x.OrderId));
SourceIdArr.AddRange(lxOrderList.Select(x => x.SourceId).Distinct());
}
//财务单据
var lxFinanceList = RB_FinanceRepository.GetListForReportClass(new RB_Finance_Extend() { RB_Group_Id = GroupId, RB_Branch_Id = branchitem.SId, TCID = -2, sAduitDate = Convert.ToDateTime(startTime), eAduitDate = Convert.ToDateTime(endTime), FinanceType = 2, OrderSource = OrderResourceEnum.EducationStudy }, datebaseStr);
if (lxFinanceList.Any())
{
SourceIdArr.AddRange(lxFinanceList.Select(x => x.TCID ?? 0));
}
List<RB_Order_Guest_ViewModel> lxGuestList = new List<RB_Order_Guest_ViewModel>();
List<Model.ViewModel.StudyAbroad.RB_StudyAbroad_ViewModel> saList = new List<Model.ViewModel.StudyAbroad.RB_StudyAbroad_ViewModel>();
if (SourceIdArr.Any())
{
if (lxOrderList.Any())
{
string orderIds = string.Join(",", lxOrderList.Select(x => x.OrderId));
//查询学生
lxGuestList = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel() { Group_Id = GroupId, OrderIds = orderIds });
}
string saIds = string.Join(",", lxOrderList.Select(x => x.SourceId).Distinct());
string saIds = string.Join(",", SourceIdArr.Distinct());
//查询留学产品
saList = studyAbroadRepository.GetStudyAbroadListExtRepository(new Model.ViewModel.StudyAbroad.RB_StudyAbroad_ViewModel() { Group_Id = GroupId, QIds = saIds });
//查询班级下所有的财务单据
lxFinanceList = RB_FinanceRepository.GetListForReport(new RB_Finance_Extend() { RB_Group_Id = GroupId, TCIDStr = saIds, sAduitDate = Convert.ToDateTime(startTime), eAduitDate = Convert.ToDateTime(endTime), FinanceType = 2, OrderSource = OrderResourceEnum.EducationStudy });
}
foreach (var item in saList)
......@@ -1372,9 +1418,9 @@ namespace Edu.Module.Finance
decimal ShiShou = olist.Sum(item => item.Income - item.Refund + item.PlatformTax);
#endregion
#region 财务单据
var financeList = lxFinanceList.Where(x => x.TCID == item.Id).ToList();
var lxflist = lxFinanceList.Where(x => x.TCID == item.Id).ToList();
//排序订单单据
var cfinanceList = financeList.Where(x => x.OrderID == 0 && x.Type == WFTempLateClassEnum.IN).ToList();
var cfinanceList = lxflist.Where(x => x.OrderID == 0 && x.Type == WFTempLateClassEnum.IN).ToList();
decimal QTShouRu = cfinanceList.Where(y => y.Is_Cashier == 1).Sum(x => x.Money ?? 0);
QTShouRu -= cfinanceList.Where(x => x.Is_Cashier == 1 && x.Fee > 0).GroupBy(x => new { x.FrID, x.Fee }).Sum(x => x.Key.Fee ?? 0);
//支出
......@@ -1382,7 +1428,7 @@ namespace Edu.Module.Finance
decimal ClassFee = 0;//老师提成 -留学暂定
decimal JiXiaoMoney = 0;//绩效提成 -留学暂定
var ofinanceList = financeList.Where(x => x.OrderID == 0 && x.Type == WFTempLateClassEnum.OUT).ToList();// 支出包括退款
var ofinanceList = lxflist.Where(x => x.OrderID == 0 && x.Type == WFTempLateClassEnum.OUT).ToList();
decimal QTZhiChu = ofinanceList.Sum(x => x.Money ?? 0);
#endregion
......@@ -1390,6 +1436,7 @@ namespace Edu.Module.Finance
UpdateClassReportDate(TotalReport, IncomeReport, OtherIncomeReport, BonusReport, PerfReport, SellReport, OtherCostReport, month, ShiShou, ClassFee, JiXiaoMoney, TiCheng, QTShouRu, QTZhiChu);
}
#endregion
}
Console.WriteLine("班级OK");
......@@ -4052,11 +4099,44 @@ namespace Edu.Module.Finance
public object GetAllClassNowMonthStatistics(string startTime, string endTime, int classId, string classNo, int schoolId, UserInfo userInfo)
{
List<object> RList = new List<object>();
List<int> ClassIdArr = new List<int>();
//首先根据签到表 查询出所有的班级 并分页
var list = class_CheckRepository.GetAllClassNowMonthStatistics(startTime, endTime, classId, classNo, schoolId, userInfo.Group_Id);
if (list.Any())
if (list.Any()) {
ClassIdArr.AddRange(list.Select(x => x.ClassId));
}
//查询时间范围内 除订单外 班级下其他订单 的其他收入 + 其他成本支出
string datebaseStr = Config.ReadConfigKey("EduDateBase");//教育数据库
var financeList = RB_FinanceRepository.GetListForReportClass(new RB_Finance_Extend() { RB_Group_Id = userInfo.Group_Id, RB_Branch_Id = schoolId, TCID = -2, sAduitDate = Convert.ToDateTime(startTime), eAduitDate = Convert.ToDateTime(endTime), FinanceType = 2, OrderSource = OrderResourceEnum.Education }, datebaseStr);
if (financeList.Any()) {
ClassIdArr.AddRange(financeList.Select(x => x.TCID ?? 0));
}
string STime = Convert.ToDateTime(startTime).AddMonths(-1).ToString("yyyy-MM-dd");
string ETime = Convert.ToDateTime(endTime).AddMonths(-1).ToString("yyyy-MM-dd");
var teacherBonusList = teaching_BonusDetailRepository.GetTeacherBonusForDate(userInfo.Group_Id, schoolId, "", STime, ETime);//查询所有班级需要发放
if (teacherBonusList.Any()) {
ClassIdArr.AddRange(teacherBonusList.Select(x => x.ClassId));
}
var meritsProfitList = teaching_PerfRepository.GetTeacherPerfForDate(userInfo.Group_Id, schoolId, "", startTime, endTime);
if (meritsProfitList.Any()) {
ClassIdArr.AddRange(meritsProfitList.Select(x => x.ClassId));
}
var saleList = sell_Commission_DetailsRepository.GetSellCommissionForDate(userInfo.Group_Id, schoolId, "", STime, ETime);
if (saleList.Any()) {
ClassIdArr.AddRange(saleList.Select(x => x.ClassId));
}
ClassIdArr = ClassIdArr.Distinct().ToList();
List<RB_Class_ViewModel> CAlllist = new List<RB_Class_ViewModel>();
if (ClassIdArr.Any())
{
//再次查询所有的班级
CAlllist = classRepository.GetClassListRepository(new RB_Class_ViewModel() { Group_Id = userInfo.Group_Id, Q_ClassIds = string.Join(",", ClassIdArr) });
}
if (CAlllist.Any())
{
string classIds = string.Join(",", list.Select(x => x.ClassId));
string classIds = string.Join(",", CAlllist.Select(x => x.ClassId));
//查询时间范围内 所有班级的学生上课金额
List<RB_Teaching_BonusDetail_ViewModel> StudentHoursList = new List<RB_Teaching_BonusDetail_ViewModel>();
//根据学生签到表 查询
......@@ -4086,16 +4166,11 @@ namespace Edu.Module.Finance
}
}
//查询时间范围内 所有班级的销售提成 , 老师课时费 , 老师绩效
string STime = Convert.ToDateTime(startTime).AddMonths(-1).ToString("yyyy-MM-dd");
string ETime = Convert.ToDateTime(endTime).AddMonths(-1).ToString("yyyy-MM-dd");
var teacherBonusList = teaching_BonusDetailRepository.GetTeacherBonusForDate(userInfo.Group_Id, classIds, STime, ETime);
var meritsProfitList = teaching_PerfRepository.GetTeacherPerfForDate(userInfo.Group_Id, classIds, startTime, endTime);
var saleList = sell_Commission_DetailsRepository.GetSellCommissionForDate(userInfo.Group_Id, classIds, STime, ETime);
//查询时间范围内 除订单外 班级下其他订单 的其他收入 + 其他成本支出
var financeList = RB_FinanceRepository.GetListForReport(new RB_Finance_Extend() { RB_Group_Id = userInfo.Group_Id, TCIDStr = classIds, sAduitDate = Convert.ToDateTime(startTime), eAduitDate = Convert.ToDateTime(endTime), FinanceType = 2, OrderSource = OrderResourceEnum.Education });
//var teacherBonusList = teaching_BonusDetailRepository.GetTeacherBonusForDate(userInfo.Group_Id, classIds, STime, ETime);
//var meritsProfitList = teaching_PerfRepository.GetTeacherPerfForDate(userInfo.Group_Id, classIds, startTime, endTime);
//var saleList = sell_Commission_DetailsRepository.GetSellCommissionForDate(userInfo.Group_Id, classIds, STime, ETime);
foreach (var item in list) {
foreach (var item in CAlllist) {
#region 学生课耗
var slist = StudentHoursList.Where(x => x.ClassId == item.ClassId).ToList();
decimal TStuMoney = slist.Sum(x => x.Money);//上课总金额
......@@ -4114,12 +4189,15 @@ namespace Edu.Module.Finance
decimal SellMoney = saleList.Where(x => x.ClassId == item.ClassId).FirstOrDefault()?.CurrentPeriodMoney ?? 0;//销售提成
#endregion
#region 单据
decimal OtherIncome = financeList.Where(y => y.Type == WFTempLateClassEnum.IN && y.Is_Cashier == 1 && y.OrderID <= 0).Sum(x => x.Money ?? 0);
decimal Fee = financeList.Where(x => x.Type == WFTempLateClassEnum.IN && x.Is_Cashier == 1 && x.OrderID <= 0 && x.Fee > 0).GroupBy(x => new { x.FrID, x.Fee }).Sum(x => x.Key.Fee ?? 0);
var flist = financeList.Where(x => x.TCID == item.ClassId).ToList();
decimal OtherIncome = flist.Where(y => y.Type == WFTempLateClassEnum.IN && y.Is_Cashier == 1 && y.OrderID <= 0).Sum(x => x.Money ?? 0);
decimal Fee = flist.Where(x => x.Type == WFTempLateClassEnum.IN && x.Is_Cashier == 1 && x.OrderID <= 0 && x.Fee > 0).GroupBy(x => new { x.FrID, x.Fee }).Sum(x => x.Key.Fee ?? 0);
OtherIncome -= Fee;
decimal OtherCost = financeList.Where(y => y.Type == WFTempLateClassEnum.OUT && y.OrderID <= 0).Sum(x => x.Money ?? 0);//支出也要排除订单订单退款
decimal OtherCost = flist.Where(y => y.Type == WFTempLateClassEnum.OUT && y.OrderID <= 0).Sum(x => x.Money ?? 0);//支出也要排除订单订单退款
#endregion
decimal THoursNum = list.Where(x => x.ClassId == item.ClassId).FirstOrDefault()?.CurrentDeductionHours ?? 0;
object RModel = new
{
item.ClassId,
......@@ -4127,7 +4205,7 @@ namespace Edu.Module.Finance
OrderIds = "",
item.ClassName,
ClassType = 1,
THoursNum = item.CurrentDeductionHours,
THoursNum,
TStuNum,
TStuMoney,
StuList,
......@@ -4141,22 +4219,33 @@ namespace Edu.Module.Finance
}
}
//查询留学的
var lxOrderList = orderRepository.GetListForReport(new RB_Order_ViewModel() { Group_Id = userInfo.Group_Id, OrderType = Common.Enum.Sale.OrderTypeEnum.StudyabroadOrder, Q_OrderState = 1, ConfirmSTime = startTime, ConfirmETime = endTime });
List<RB_Finance_Extend> lxFinanceList = new List<RB_Finance_Extend>();
List<int> SourceIdArr = new List<int>();
var lxOrderList = orderRepository.GetListForReport(new RB_Order_ViewModel() { Group_Id = userInfo.Group_Id, School_Id = schoolId, OrderType = Common.Enum.Sale.OrderTypeEnum.StudyabroadOrder, Q_OrderState = 1, ConfirmSTime = startTime, ConfirmETime = endTime });
if (lxOrderList.Any()) {
SourceIdArr.AddRange(lxOrderList.Select(x => x.SourceId).Distinct());
}
//财务单据
var lxFinanceList = RB_FinanceRepository.GetListForReportClass(new RB_Finance_Extend() { RB_Group_Id = userInfo.Group_Id, RB_Branch_Id = schoolId, TCID = -2, sAduitDate = Convert.ToDateTime(startTime), eAduitDate = Convert.ToDateTime(endTime), FinanceType = 2, OrderSource = OrderResourceEnum.EducationStudy }, datebaseStr);
if (lxFinanceList.Any())
{
SourceIdArr.AddRange(lxFinanceList.Select(x => x.TCID ?? 0));
}
List<RB_Order_Guest_ViewModel> lxGuestList = new List<RB_Order_Guest_ViewModel>();
List<Model.ViewModel.StudyAbroad.RB_StudyAbroad_ViewModel> saList = new List<Model.ViewModel.StudyAbroad.RB_StudyAbroad_ViewModel>();
if (lxOrderList.Any())
if (SourceIdArr.Any())
{
string orderIds = string.Join(",", lxOrderList.Select(x => x.OrderId));
//查询学生
lxGuestList = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel() { Group_Id = userInfo.Group_Id, OrderIds = orderIds });
if (lxOrderList.Any())
{
string orderIds = string.Join(",", lxOrderList.Select(x => x.OrderId));
//查询学生
lxGuestList = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel() { Group_Id = userInfo.Group_Id, OrderIds = orderIds });
}
string saIds = string.Join(",", lxOrderList.Select(x => x.SourceId).Distinct());
string saIds = string.Join(",", SourceIdArr.Distinct());
//查询留学产品
saList = studyAbroadRepository.GetStudyAbroadListExtRepository(new Model.ViewModel.StudyAbroad.RB_StudyAbroad_ViewModel() { Group_Id = userInfo.Group_Id, QIds = saIds });
//查询班级下所有的财务单据
lxFinanceList = RB_FinanceRepository.GetListForReport(new RB_Finance_Extend() { RB_Group_Id = userInfo.Group_Id, TCIDStr = saIds, sAduitDate = Convert.ToDateTime(startTime), eAduitDate = Convert.ToDateTime(endTime), FinanceType = 2, OrderSource = OrderResourceEnum.EducationStudy });
}
foreach (var item in saList) {
......@@ -4171,9 +4260,9 @@ namespace Edu.Module.Finance
});
#endregion
#region 财务单据
var financeList = lxFinanceList.Where(x => x.TCID == item.Id).ToList();
var lxflist = lxFinanceList.Where(x => x.TCID == item.Id).ToList();
//排序订单单据
var cfinanceList = financeList.Where(x => x.OrderID == 0 && x.Type == WFTempLateClassEnum.IN).ToList();
var cfinanceList = lxflist.Where(x => x.OrderID == 0 && x.Type == WFTempLateClassEnum.IN).ToList();
decimal QTShouRu = cfinanceList.Where(y => y.Is_Cashier == 1).Sum(x => x.Money ?? 0);
QTShouRu -= cfinanceList.Where(x => x.Is_Cashier == 1 && x.Fee > 0).GroupBy(x => new { x.FrID, x.Fee }).Sum(x => x.Key.Fee ?? 0);
//支出
......@@ -4181,7 +4270,7 @@ namespace Edu.Module.Finance
decimal ClassFee = 0;//老师提成 -留学暂定
decimal JiXiaoMoney = 0;//绩效提成 -留学暂定
var ofinanceList = financeList.Where(x => x.OrderID == 0 && x.Type == WFTempLateClassEnum.OUT).ToList();// 支出包括退款
var ofinanceList = lxflist.Where(x => x.OrderID == 0 && x.Type == WFTempLateClassEnum.OUT).ToList();
decimal QTZhiChu = ofinanceList.Sum(x => x.Money ?? 0);
#endregion
......
......@@ -246,7 +246,7 @@ FROM rb_class_plan as a
LEFT JOIN rb_class c on a.ClassId = c.ClassId
LEFT JOIN rb_teacher AS T ON a.TeacherId=T.TId
LEFT JOIN rb_course as cou on cou.CourseId=c.CouseId
where a.`Status`=0 and c.ClassStatus=2 and c.`Status`=0");
where a.`Status`=0 and c.ClassStatus in(2,3) and c.`Status`=0");
if (query != null)
{
if (query.Group_Id > 0)
......
......@@ -258,11 +258,21 @@ LEFT JOIN rb_sell_commission_periods AS p ON r.PeriodId = p.Id where {where} ";
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
public List<RB_Sell_Commission_Details_ViewModel> GetSellCommissionForDate(int group_Id, string classIds, string startTime, string endTime)
public List<RB_Sell_Commission_Details_ViewModel> GetSellCommissionForDate(int group_Id, int schoolId, string classIds, string startTime, string endTime)
{
string where = "";
if (!string.IsNullOrEmpty(classIds)) {
where += $@" and d.ClassId in ({classIds})";
}
if (schoolId >= 0)
{
where = $@" and c.School_Id ={schoolId}";
}
string sql = $@"SELECT d.ClassId,SUM(d.CurrentPeriodMoney + d.CurrentExtraMoney + d.DeductionMoney + d.DeductionExtraMoney) AS CurrentPeriodMoney FROM rb_sell_commission_details d
INNER JOIN rb_sell_commission_periods p on d.PeriodId = p.Id
WHERE p.Group_Id ={group_Id} and d.ClassId in ({classIds}) and STR_TO_DATE(CONCAT(p.Periods,'-01'),'%Y-%m-%d') >='{startTime}' and STR_TO_DATE(CONCAT(p.Periods,'-01'),'%Y-%m-%d') <='{endTime} 23:59:59'
left join rb_class c on d.ClassId = c.ClassId
WHERE p.Group_Id ={group_Id} {where} and STR_TO_DATE(CONCAT(p.Periods,'-01'),'%Y-%m-%d') >='{startTime}' and STR_TO_DATE(CONCAT(p.Periods,'-01'),'%Y-%m-%d') <='{endTime} 23:59:59'
GROUP BY d.ClassId";
return Get<RB_Sell_Commission_Details_ViewModel>(sql).ToList();
}
......
......@@ -353,11 +353,20 @@ where {where}";
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
public List<RB_Teaching_BonusDetail_ViewModel> GetTeacherBonusForDate(int group_Id, string classIds, string startTime, string endTime)
public List<RB_Teaching_BonusDetail_ViewModel> GetTeacherBonusForDate(int group_Id, int schoolId, string classIds, string startTime, string endTime)
{
string where = "";
if (!string.IsNullOrEmpty(classIds)) {
where = $@" and d.ClassId in ({classIds})";
}
if (schoolId >= 0) {
where = $@" and c.School_Id ={schoolId}";
}
string sql = $@"SELECT d.ClassId,SUM(d.Money) AS Money FROM rb_teaching_bonusdetail d
INNER JOIN rb_teaching_bonus p on d.BonusId = p.Id
WHERE p.Group_Id ={group_Id} and d.ClassId in ({classIds}) and STR_TO_DATE(CONCAT(p.`Month`,'-01'),'%Y-%m-%d') >='{startTime}' and STR_TO_DATE(CONCAT(p.`Month`,'-01'),'%Y-%m-%d') <='{endTime} 23:59:59'
left join rb_class c on d.ClassId = c.ClassId
WHERE p.Group_Id ={group_Id} {where} and STR_TO_DATE(CONCAT(p.`Month`,'-01'),'%Y-%m-%d') >='{startTime}' and STR_TO_DATE(CONCAT(p.`Month`,'-01'),'%Y-%m-%d') <='{endTime} 23:59:59'
GROUP BY d.ClassId";
return Get<RB_Teaching_BonusDetail_ViewModel>(sql).ToList();
}
......
......@@ -258,10 +258,20 @@ where {where}";
/// <param name="sTime"></param>
/// <param name="eTime"></param>
/// <returns></returns>
public List<RB_Teaching_Perf_ViewModel> GetTeacherPerfForDate(int group_Id, string classIds, string sTime, string eTime)
public List<RB_Teaching_Perf_ViewModel> GetTeacherPerfForDate(int group_Id,int schoolId, string classIds, string sTime, string eTime)
{
string where = "";
if (!string.IsNullOrEmpty(classIds)) {
where = $@" and d.ClassId in ({classIds})";
}
if (schoolId >= 0)
{
where = $@" and c.School_Id ={schoolId}";//left join rb_class c on d.ClassId = c.ClassId
}
string sql = $@"SELECT d.ClassId,SUM(d.Money) AS Money FROM rb_teaching_perf d
WHERE d.Group_Id ={group_Id} and d.ClassId in ({classIds}) and d.ConfirmDate >='{sTime}' and d.ConfirmDate <='{eTime} 23:59:59'
left join rb_class c on d.ClassId = c.ClassId
WHERE d.Group_Id ={group_Id} {where} and d.ConfirmDate >='{sTime}' and d.ConfirmDate <='{eTime} 23:59:59'
GROUP BY d.ClassId";
return Get<RB_Teaching_Perf_ViewModel>(sql).ToList();
}
......
......@@ -235,6 +235,11 @@ WHERE {1} {2} ", TableName, where, " ORDER BY A.FrID DESC");
{
where.Append(" and IFNULL(E.TCID,0)=0");
}
if (model.TCID == -2)
{
where.Append(" and IFNULL(E.TCID,0) >0");//班级上的单据
where.Append(" and IFNULL(b.OrderID,0) =0");
}
if (model.OrderSource.HasValue)
{
where.Append(" and IFNULL(b.OrderSource,0) =" + (int)model.OrderSource);
......@@ -252,6 +257,69 @@ LEFT JOIN rb_travel_finance_relation as E ON A.FinanceId=E.FinanceId where 1=1 "
return Get<RB_Finance_Extend>(builder.ToString() + " ORDER BY b.FrID DESC ").ToList();
}
/// <summary>
/// 班级专用查询
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public List<RB_Finance_Extend> GetListForReportClass(RB_Finance_Extend model, string datebaseStr)
{
StringBuilder where = new StringBuilder();
where.Append(" and b.Status in(1,2,5) and b.Is_Auto=0 ");
StringBuilder builder = new StringBuilder();
//老徐喊修改的 2019-05-11 收款用交易日期 付款用制单日期
if (model.sAduitDate.HasValue && model.eAduitDate.HasValue)
{
where.Append(" AND case when b.Type=2 then b.CreateDate>='" + model.sAduitDate.Value.ToString("yyyy-MM-dd") + "' and b.CreateDate<='" + model.eAduitDate.Value.ToString("yyyy-MM-dd") + " 23:59:59' else b.TradeDate>='" + model.sAduitDate.Value.ToString("yyyy-MM-dd") + "' and b." + nameof(RB_Finance.TradeDate) + "<='" + model.eAduitDate.Value.ToString("yyyy-MM-dd") + " 23:59:59' end");
}
else if (model.sAduitDate.HasValue)
{
where.Append(" AND case when b.Type=2 then b." + nameof(RB_Finance.CreateDate) + ">='" + model.sAduitDate.Value.ToString("yyyy-MM-dd") + "' else b." + nameof(RB_Finance.TradeDate) + ">='" + model.sAduitDate.Value.ToString("yyyy-MM-dd") + "' end");
}
else if (model.eAduitDate.HasValue)
{
where.Append(" AND case when b.Type=2 then b." + nameof(RB_Finance.CreateDate) + "<='" + model.eAduitDate.Value.ToString("yyyy-MM-dd") + " 23:59:59' else b." + nameof(RB_Finance.TradeDate) + "<='" + model.eAduitDate.Value.ToString("yyyy-MM-dd") + " 23:59:59' end");
}
if (model.RB_Group_Id > 0)
{
where.Append(" AND b." + nameof(RB_Finance.RB_Group_Id) + "=" + model.RB_Group_Id + "");
}
if (!string.IsNullOrEmpty(model.TCIDStr))
{
where.Append(" and E.TCID in(" + model.TCIDStr + ")");
}
if (model.TCID == -1)
{
where.Append(" and IFNULL(E.TCID,0)=0");
}
if (model.TCID == -2)
{
where.Append(" and IFNULL(E.TCID,0) >0");//班级上的单据
where.Append(" and IFNULL(b.OrderID,0) =0");
}
if (model.RB_Branch_Id >= 0)
{
where.Append(" AND c.School_Id =" + model.RB_Branch_Id);
}
if (model.OrderSource.HasValue)
{
where.Append(" and IFNULL(b.OrderSource,0) =" + (int)model.OrderSource);
}
if (model.FinanceType.HasValue && model.FinanceType > 0)
{
where.Append(" AND b." + nameof(RB_Finance.FinanceType) + "=" + model.FinanceType + "");
}
builder.AppendFormat($@"select distinct b.FrID,IFNULL(b.MatchMoney,0) as MatchMoney,IFNULL(E.TCID,0)TCID,D.Name,b.Status,b.TradeDate,b.CreateDate,b.RB_Branch_Id,a.ID,a.CostTypeId,IFNULL(b.Is_Cashier,0)Is_Cashier,a.Money,IFNULL(b.OrderID,0) OrderID,b.OrderSource,b.SourceID,IFNULL(b.PayMoney,0)PayMoney,IFNULL(b.Fee,0)Fee,b.Type
from rb_financedetail a INNER JOIN rb_finance as b on a.FinanceId=b.FrID and a.`Status`=0
INNER JOIN rb_costtype AS D ON D.ID=a.CostTypeId
LEFT JOIN rb_tradeway as td ON b.FrID=td.FinanceId
LEFT JOIN rb_travel_finance_relation as E ON A.FinanceId=E.FinanceId
left join {datebaseStr}.rb_class c on c.ClassId = E.TCID
where 1=1 " + where);
return Get<RB_Finance_Extend>(builder.ToString() + " ORDER BY b.FrID DESC ").ToList();
}
/// <summary>
/// 获取资金调拨 汇兑损益
/// </summary>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment