Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
Education
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄奎
Education
Commits
1225e3b7
Commit
1225e3b7
authored
Dec 29, 2021
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
d75637ad
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
267 additions
and
2 deletions
+267
-2
OrderResourceEnum.cs
Edu.Common/Enum/Finance/OrderResourceEnum.cs
+6
-0
VisitorReserveModule.cs
Edu.Module.Duty/VisitorReserveModule.cs
+1
-1
RB_Reserve_ClassRepository.cs
Edu.Repository/Reserve/RB_Reserve_ClassRepository.cs
+4
-0
FinanceController.cs
Edu.WebApi/Controllers/Finance/FinanceController.cs
+256
-1
No files found.
Edu.Common/Enum/Finance/OrderResourceEnum.cs
View file @
1225e3b7
...
...
@@ -110,5 +110,11 @@ namespace Edu.Common.Enum.Finance
/// </summary>
[
EnumField
(
"教育留学"
)]
EducationStudy
=
18
,
/// <summary>
/// 试听班级
/// </summary>
[
EnumField
(
"试听班级"
)]
ReserveClass
=
19
,
}
}
Edu.Module.Duty/VisitorReserveModule.cs
View file @
1225e3b7
...
...
@@ -541,7 +541,7 @@ namespace Edu.Module.Duty
/// <returns></returns>
public
RB_Reserve_Class_Extend
GetReserveClassModule
(
int
ReserveClassId
)
{
var
extModel
=
reserve_ClassRepository
.
Get
Entity
<
RB_Reserve_Class_Extend
>(
ReserveClassId
);
var
extModel
=
reserve_ClassRepository
.
Get
ReserveClassListRepository
(
new
RB_Reserve_Class_Extend
()
{
ReserveClassId
=
ReserveClassId
})?.
FirstOrDefault
(
);
return
extModel
;
}
...
...
Edu.Repository/Reserve/RB_Reserve_ClassRepository.cs
View file @
1225e3b7
...
...
@@ -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
();
}
...
...
Edu.WebApi/Controllers/Finance/FinanceController.cs
View file @
1225e3b7
...
...
@@ -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>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment