Commit 0cb7a2eb authored by 黄奎's avatar 黄奎

Merge branch 'master' of http://gitlab.oytour.com/Kui2/education

parents 8a90320e 7d6d41ae
......@@ -53,6 +53,11 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
public int ClassType { get; set; }
/// <summary>
/// 班级课时分钟数
/// </summary>
public int ClassHourMinute { get; set; }
/// <summary>
/// 老师头像
/// </summary>
......
......@@ -536,7 +536,9 @@ namespace Edu.Module.Course
var ts = Convert.ToDateTime(nowTime + " " + qitem.EndTime) - Convert.ToDateTime(nowTime + " " + qitem.StartTime);
minute += (int)ts.TotalMinutes;
}
int ksNum = minute / configModel.BasicMinutes; // 未达到一课时时间 算不算一课时
int ClassHourMinute = configModel.BasicMinutes;//课时分钟数
if (item.ClassHourMinute > 0) { ClassHourMinute = item.ClassHourMinute; }
int ksNum = minute / ClassHourMinute; // 未达到一课时时间 算不算一课时
//查询课单价
var typeModel = typeList.Where(x => x.CTypeId == item.ClassType).FirstOrDefault();
var teacherModel = teacherList.Where(x => x.TId == item.TeacherId).FirstOrDefault();
......@@ -1215,7 +1217,9 @@ namespace Edu.Module.Course
//班级课时总分钟数
int TotalClassMin = class_PlanRepository.GetClassTotalMinute(classId, classModel.Group_Id);
//总课时
int ksNum = TotalClassMin / configModel.BasicMinutes; // 未达到一课时时间 不算一课时
int ClassHourMinute = configModel.BasicMinutes;//课时分钟数
if (classModel.ClassHourMinute > 0) { ClassHourMinute = classModel.ClassHourMinute; }
int ksNum = TotalClassMin / ClassHourMinute; // 未达到一课时时间 不算一课时
//满班率
decimal FullClassRate = 0;
......
......@@ -2759,44 +2759,57 @@ namespace Edu.Module.Finance
Money = KSMoney
});
}
#region 基础课时处理
decimal DeductionMoney = 0;
if (configModel.BasicHours > 0)
{
//遍历所有老师
List<int> TeacherIdList = RList.Select(x => x.TeacherId).Distinct().ToList();
foreach (var item in TeacherIdList)
//初始化 基础课时
DateTime STime = Convert.ToDateTime(startMonth);
while (true)
{
DateTime ETime = STime.AddMonths(1).AddDays(-1);
var mlist = RList.Where(x => x.Date >= STime && x.Date <= ETime).ToList();
#region 基础课时处理
decimal DeductionMoney = 0;
if (configModel.BasicHours > 0)
{
var qblist = RList.Where(x => x.TeacherId == item).OrderBy(x => x.UnitPrice).ThenBy(x => x.Date).ToList();
decimal BasicHours = (decimal)configModel.BasicHours;
foreach (var qitem in qblist)
//遍历所有老师
List<int> TeacherIdList = mlist.Select(x => x.TeacherId).Distinct().ToList();
foreach (var item in TeacherIdList)
{
decimal CourseHour = 0, DeductionHour = 0;
if (BasicHours > qitem.KSNum)
{
DeductionHour = qitem.KSNum;
BasicHours -= qitem.KSNum;
DeductionMoney += qitem.KSNum * qitem.UnitPrice;
}
else
var qblist = mlist.Where(x => x.TeacherId == item).OrderBy(x => x.Date).ThenBy(x => x.UnitPrice).ToList();
decimal BasicHours = (decimal)configModel.BasicHours;
foreach (var qitem in qblist)
{
DeductionHour = BasicHours;
CourseHour = qitem.KSNum - BasicHours;
DeductionMoney += BasicHours * qitem.UnitPrice;
BasicHours = 0;
}
qitem.KSNum = CourseHour;
qitem.DKNum = DeductionHour;
qitem.Money = CourseHour * qitem.UnitPrice;
if (BasicHours <= 0)
{
break;
decimal CourseHour = 0, DeductionHour = 0;
if (BasicHours > qitem.KSNum)
{
DeductionHour = qitem.KSNum;
BasicHours -= qitem.KSNum;
DeductionMoney += qitem.KSNum * qitem.UnitPrice;
}
else
{
DeductionHour = BasicHours;
CourseHour = qitem.KSNum - BasicHours;
DeductionMoney += BasicHours * qitem.UnitPrice;
BasicHours = 0;
}
qitem.KSNum = CourseHour;
qitem.DKNum = DeductionHour;
qitem.Money = CourseHour * qitem.UnitPrice;
if (BasicHours <= 0)
{
break;
}
}
}
}
#endregion
if (STime.Month == Convert.ToDateTime(endMonth).Month)
{
break;
}
STime = STime.AddMonths(1);
}
#endregion
}
return RList;
}
......@@ -2859,43 +2872,57 @@ namespace Edu.Module.Finance
});
}
#region 基础课时处理
decimal DeductionMoney = 0;
if (configModel.BasicHours > 0)
//初始化 基础课时
DateTime STime = Convert.ToDateTime(startMonth);
while (true)
{
//遍历所有老师
List<int> TeacherIdList = RList.Select(x => x.TeacherId).Distinct().ToList();
foreach (var item in TeacherIdList)
DateTime ETime = STime.AddMonths(1).AddDays(-1);
var mlist = RList.Where(x => x.Date >= STime && x.Date <= ETime).ToList();
#region 基础课时处理
decimal DeductionMoney = 0;
if (configModel.BasicHours > 0)
{
var qblist = RList.Where(x => x.TeacherId == item).OrderBy(x => x.UnitPrice).ThenBy(x => x.Date).ToList();
decimal BasicHours = (decimal)configModel.BasicHours;
foreach (var qitem in qblist)
//遍历所有老师
List<int> TeacherIdList = mlist.Select(x => x.TeacherId).Distinct().ToList();
foreach (var item in TeacherIdList)
{
decimal CourseHour = 0, DeductionHour = 0;
if (BasicHours > qitem.KSNum)
var qblist = mlist.Where(x => x.TeacherId == item).OrderBy(x => x.Date).ThenBy(x => x.UnitPrice).ToList();
decimal BasicHours = (decimal)configModel.BasicHours;
foreach (var qitem in qblist)
{
DeductionHour = qitem.KSNum;
BasicHours -= qitem.KSNum;
DeductionMoney += qitem.KSNum * qitem.UnitPrice;
}
else
{
DeductionHour = BasicHours;
CourseHour = qitem.KSNum - BasicHours;
DeductionMoney += BasicHours * qitem.UnitPrice;
BasicHours = 0;
}
qitem.KSNum = CourseHour;
qitem.DKNum = DeductionHour;
qitem.Money = CourseHour * qitem.UnitPrice;
if (BasicHours <= 0)
{
break;
decimal CourseHour = 0, DeductionHour = 0;
if (BasicHours > qitem.KSNum)
{
DeductionHour = qitem.KSNum;
BasicHours -= qitem.KSNum;
DeductionMoney += qitem.KSNum * qitem.UnitPrice;
}
else
{
DeductionHour = BasicHours;
CourseHour = qitem.KSNum - BasicHours;
DeductionMoney += BasicHours * qitem.UnitPrice;
BasicHours = 0;
}
qitem.KSNum = CourseHour;
qitem.DKNum = DeductionHour;
qitem.Money = CourseHour * qitem.UnitPrice;
if (BasicHours <= 0)
{
break;
}
}
}
}
#endregion
if (STime.Month == Convert.ToDateTime(endMonth).Month)
{
break;
}
STime = STime.AddMonths(1);
}
#endregion
foreach (var item in RList) {
ExcelDataSource firstRow = new ExcelDataSource(30)
......
......@@ -240,7 +240,7 @@ WHERE ClassId={1} AND ClassDate>'{2}'
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT a.*,c.Teacher_Id,c.ClassName,c.ClassType,T.TeacherName ,cou.CourseName
SELECT a.*,c.Teacher_Id,c.ClassName,c.ClassType,c.ClassHourMinute,T.TeacherName ,cou.CourseName
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
......
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