Commit 1225e3b7 authored by 黄奎's avatar 黄奎

页面修改

parent d75637ad
......@@ -110,5 +110,11 @@ namespace Edu.Common.Enum.Finance
/// </summary>
[EnumField("教育留学")]
EducationStudy = 18,
/// <summary>
/// 试听班级
/// </summary>
[EnumField("试听班级")]
ReserveClass =19,
}
}
......@@ -541,7 +541,7 @@ namespace Edu.Module.Duty
/// <returns></returns>
public RB_Reserve_Class_Extend GetReserveClassModule(int ReserveClassId)
{
var extModel = reserve_ClassRepository.GetEntity<RB_Reserve_Class_Extend>(ReserveClassId);
var extModel = reserve_ClassRepository.GetReserveClassListRepository(new RB_Reserve_Class_Extend() { ReserveClassId = ReserveClassId })?.FirstOrDefault();
return extModel;
}
......
......@@ -111,6 +111,10 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Reserve_Class_Extend.School_Id), query.School_Id);
}
if (query.ReserveClassId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Reserve_Class_Extend.ReserveClassId), query.ReserveClassId);
}
}
return Get<RB_Reserve_Class_Extend>(builder.ToString(),parameters).ToList();
}
......
......@@ -11,6 +11,7 @@ using Edu.Model.ViewModel.Finance;
using Edu.Model.ViewModel.Grade;
using Edu.Model.ViewModel.Sell;
using Edu.Module.Course;
using Edu.Module.Duty;
using Edu.Module.Finance;
using Edu.Module.StudyAbroad;
using Edu.WebApi.Filter;
......@@ -54,6 +55,11 @@ namespace Edu.WebApi.Controllers.Finance
/// </summary>
private readonly TeachingRewardsModule teachingRewardsModule = AOP.AOPHelper.CreateAOPObject<TeachingRewardsModule>();
/// <summary>
/// 试听班级处理类对象
/// </summary>
private readonly VisitorReserveModule visitorReserveModule = new VisitorReserveModule();
/// <summary>
/// 生成指定类型的佣金
/// </summary>
......@@ -247,7 +253,7 @@ namespace Edu.WebApi.Controllers.Finance
}
/// <summary>
/// 用户信息下载
/// 班级收支下载
/// </summary>
[HttpPost]
[Obsolete]
......@@ -565,6 +571,255 @@ namespace Edu.WebApi.Controllers.Finance
}
}
/// <summary>
/// 获取试听班级收支明细
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public ApiResult GetReserveClassBalanceSheet()
{
int ReserveClassId = base.ParmJObj.GetInt("ReserveClassId", 0);
if (ReserveClassId <= 0)
{
return ApiResult.Failed("试听班级Id不存在");
}
RB_Finance_Extend model = new RB_Finance_Extend() { TCID = ReserveClassId, OrderSource = OrderResourceEnum.ReserveClass, RB_Group_Id = base.UserInfo.Group_Id, FinanceType = 2 };
var financeList = financeModule.GetFinanceInfoList(model).Where(t => (t.Status == FinanceAuditStatus.InReview || t.Status == FinanceAuditStatus.Pass || t.Status == FinanceAuditStatus.CTemporary)).ToList();
var reserveClassModel = visitorReserveModule.GetReserveClassModule(ReserveClassId);
//支出
decimal PayReceive = 0;//应付
decimal PayActual = 0;//实付
PayReceive = (financeList != null && financeList.Any()) ? financeList.Where(x => x.Type == WFTempLateClassEnum.OUT).Sum(x => x.Money ?? 0) : 0;
PayActual = (financeList != null && financeList.Any()) ? financeList.Where(x => x.Type == WFTempLateClassEnum.OUT).Sum(x => x.PayMoney ?? 0) : 0;
var recultFiniceList = financeList.Select(x => new
{
x.FrID,
x.Type,
x.TCID,
x.OrderID,
x.Money,
x.PayMoney,
AirTotalMoney = x.AirTotalMoney ?? 0,
AirTotalPayMoney = x.AirTotalPayMoney ?? 0,
CostTypeList = x.CostTypeList.Distinct().ToList(),
x.OrderSource,
AuditList = x.AuditList.Select(t => new { t.AuditEmId, t.AuditEmName, AuditDate = t.AuditDate.HasValue ? t.AuditDate.Value.ToString("yyyy/MM/dd") : "" }),
StatusStr = EnumHelper.ToName(x.Status.Value),
x.RB_CreateByName,
CreateDate = x.CreateDate.Value.ToString("yyyy-MM-dd"),
TradeDate = x.TradeDate.HasValue ? x.TradeDate.Value.ToString("yyyy-MM-dd") : "",
TradeWayList = x.BankList?.Select(y => new { y.AccountType, y.Alias, y.BankNo, TypeName = EnumHelper.ToName(y.Type), y.CurrencyName, y.OriginalMoney, y.Money, y.Rate })
});
var obj = new
{
reserveClassModel.ReserveClassId,
ReserveClassName = reserveClassModel.ClassDateStr + " " + reserveClassModel.ClassTime + "【" + reserveClassModel.TeacherName + "】试听班",
reserveClassModel.LessonName,
reserveClassModel.RoomName,
reserveClassModel.TeacherName,
ClassTime = reserveClassModel.ClassDateStr + " " + reserveClassModel.ClassTime + "-" + reserveClassModel.EndTime,
PayReceive,
PayActual,
incomeList = recultFiniceList.Where(t => t.Type == WFTempLateClassEnum.IN),//其他收入
outList = recultFiniceList.Where(t => t.Type == WFTempLateClassEnum.OUT),//其他支出
};
return ApiResult.Success(data: obj);
}
/// <summary>
/// 试听班级收支下载
/// </summary>
[HttpPost]
[Obsolete]
public FileContentResult GetReserveClassBalanceSheetToExcel()
{
int ReserveClassId = base.ParmJObj.GetInt("ReserveClassId", 0);
List<ExcelDataSource> slist = new List<ExcelDataSource>();
string ExcelName = "试听班级收支明细" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
if (ReserveClassId <= 0)
{
var byteData1 = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData1, "application/octet-stream", ExcelName);
}
RB_Finance_Extend model = new RB_Finance_Extend() { TCID = ReserveClassId, OrderSource = OrderResourceEnum.ReserveClass, RB_Group_Id = base.UserInfo.Group_Id, FinanceType = 2 };
var financeList = financeModule.GetFinanceInfoList(model).Where(t => (t.Status == FinanceAuditStatus.InReview || t.Status == FinanceAuditStatus.Pass || t.Status == FinanceAuditStatus.CTemporary)).ToList();
var reserveClassModel = visitorReserveModule.GetReserveClassModule(ReserveClassId);
//支出
decimal PayReceive = 0;//应付
decimal PayActual = 0;//实付
PayReceive = (financeList != null && financeList.Any()) ? financeList.Where(x => x.Type == WFTempLateClassEnum.OUT).Sum(x => x.Money ?? 0) : 0;
PayActual = (financeList != null && financeList.Any()) ? financeList.Where(x => x.Type == WFTempLateClassEnum.OUT).Sum(x => x.PayMoney ?? 0) : 0;
var recultFiniceList = financeList.Select(x => new
{
x.FrID,
x.Type,
x.TCID,
x.OrderID,
x.Money,
x.PayMoney,
AirTotalMoney = x.AirTotalMoney ?? 0,
AirTotalPayMoney = x.AirTotalPayMoney ?? 0,
CostTypeList = x.CostTypeList.Distinct().ToList(),
x.OrderSource,
AuditList = x.AuditList.Select(t => new { t.AuditEmId, t.AuditEmName, AuditDate = t.AuditDate.HasValue ? t.AuditDate.Value.ToString("yyyy/MM/dd") : "" }),
StatusStr = EnumHelper.ToName(x.Status.Value),
x.RB_CreateByName,
CreateDate = x.CreateDate.Value.ToString("yyyy-MM-dd"),
TradeDate = x.TradeDate.HasValue ? x.TradeDate.Value.ToString("yyyy-MM-dd") : "",
TradeWayList = x.BankList?.Select(y => new { y.AccountType, y.Alias, y.BankNo, TypeName = EnumHelper.ToName(y.Type), y.CurrencyName, y.OriginalMoney, y.Money, y.Rate })
});
string title = "试听班级情况";
string subtitle = "试听班级名称";
string thirdTitle = "试听课程名称:";
string fourTitle = "试听开班时间:";
List<RB_Finance_Extend> financeReciveList = financeList.Where(t => t.Type == WFTempLateClassEnum.IN).ToList();
List<RB_Finance_Extend> financePayList = financeList.Where(t => t.Type == WFTempLateClassEnum.OUT).ToList();
try
{
ExcelDataSource teamBalance = new ExcelDataSource(50)
{
ExcelRows = new List<ExcelColumn>()
{
new ExcelColumn(value: title,colspan:2)
{
IsBold = true,
CellWidth=30,
HAlignmentEnum= HAlignmentEnum.LEFT,
},
new ExcelColumn(value:"收入",colspan:2)
{
IsBold = true,
CellWidth=20,
HAlignmentEnum= HAlignmentEnum.LEFT
},
}
};
slist.Add(teamBalance);
ExcelDataSource firstRow = new ExcelDataSource(30)
{
ExcelRows = new List<ExcelColumn>()
{
new ExcelColumn(value: $"{subtitle}{reserveClassModel.ClassDateStr + " " + reserveClassModel.ClassTime + "【" + reserveClassModel.TeacherName + "】试听班"}",colspan:2)
{
HAlignmentEnum= HAlignmentEnum.LEFT,
},
new ExcelColumn(value:$"应付:¥{PayReceive}",colspan:2)
{
HAlignmentEnum= HAlignmentEnum.LEFT
},
}
};
slist.Add(firstRow);
ExcelDataSource secondRow = new ExcelDataSource(30)
{
ExcelRows = new List<ExcelColumn>()
{
new ExcelColumn(value: $"{thirdTitle}{reserveClassModel.LessonName}",colspan:2)
{
HAlignmentEnum= HAlignmentEnum.LEFT,
},
new ExcelColumn(value:$"实付:¥{PayActual}",colspan:2)
{
HAlignmentEnum= HAlignmentEnum.LEFT
},
}
};
slist.Add(secondRow);
ExcelDataSource thirdRow = new ExcelDataSource(30)
{
ExcelRows = new List<ExcelColumn>()
{
new ExcelColumn(value: $"{fourTitle}{ reserveClassModel.ClassDateStr + " " + reserveClassModel.ClassTime + "-" + reserveClassModel.EndTime}",colspan:2)
{
HAlignmentEnum= HAlignmentEnum.LEFT,
},
new ExcelColumn(value:$"待付:¥{(PayReceive-PayActual)}",colspan:2)
{
HAlignmentEnum= HAlignmentEnum.LEFT
},
}
};
slist.Add(thirdRow);
ExcelDataSource fourRow = new ExcelDataSource(30)
{
ExcelRows = new List<ExcelColumn>()
{
new ExcelColumn(value: $"试讲老师:{reserveClassModel.TeacherName}",colspan:2)
{
HAlignmentEnum= HAlignmentEnum.LEFT,
},
new ExcelColumn(value:"",colspan:2)
{
HAlignmentEnum= HAlignmentEnum.LEFT
},
}
};
if (ReserveClassId > 0)
{
slist.Add(fourRow);
}
ExcelDataSource splitRow = new ExcelDataSource(40)
{
ExcelRows = new List<ExcelColumn>()
};
slist.Add(splitRow);
#region 收支列表
ExcelDataSource reciveRow = new ExcelDataSource(40)
{
ExcelRows = new List<ExcelColumn>()
{
new ExcelColumn(value: "收入",colspan:9)
{
IsBold = true,
IsSetBorder =false,
HAlignmentEnum= HAlignmentEnum.LEFT,
}
}
};
slist.Add(reciveRow);
GenerateTeamBalanceSheet(slist, financeReciveList, WFTempLateClassEnum.IN);
ExcelDataSource payRow = new ExcelDataSource(40)
{
ExcelRows = new List<ExcelColumn>()
{
new ExcelColumn(value: "支出",colspan:9)
{
IsBold = true,
IsSetBorder =false,
HAlignmentEnum= HAlignmentEnum.LEFT,
}
}
};
slist.Add(payRow);
GenerateTeamBalanceSheet(slist, financePayList, WFTempLateClassEnum.OUT);
#endregion
var byteData = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData, "application/octet-stream", ExcelName);
}
catch (Exception ex)
{
LogHelper.Write(ex, string.Format("GetFileFromWebApi_requestData: {0}", JsonHelper.Serialize(RequestParm)));
var byteData1 = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData1, "application/octet-stream", ExcelName);
}
}
/// <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