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
a5f50614
Commit
a5f50614
authored
Dec 24, 2020
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增页面
parent
4a6fc200
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
136 additions
and
68 deletions
+136
-68
RB_Student_BackClass.cs
Edu.Model/Entity/Course/RB_Student_BackClass.cs
+6
-1
StudentBillModule.cs
Edu.Module.Course/StudentBillModule.cs
+109
-62
OrderController.cs
Edu.WebApi/Controllers/Course/OrderController.cs
+2
-3
StuController.cs
Edu.WebApi/Controllers/Course/StuController.cs
+19
-2
No files found.
Edu.Model/Entity/Course/RB_Student_BackClass.cs
View file @
a5f50614
...
...
@@ -102,5 +102,10 @@ namespace Edu.Model.Entity.Course
/// 财务单据id
/// </summary>
public
int
FinanceId
;
}
/// <summary>
/// 实体退款金额
/// </summary>
public
decimal
RealityBackMoney
{
get
;
set
;
}
}
}
Edu.Module.Course/StudentBillModule.cs
View file @
a5f50614
...
...
@@ -60,11 +60,6 @@ namespace Edu.Module.Course
/// </summary>
private
readonly
RB_SchoolRepository
schoolRepository
=
new
RB_SchoolRepository
();
/// <summary>
/// 流程仓储层对象
/// </summary>
private
readonly
RB_FlowRepository
flowRepository
=
new
RB_FlowRepository
();
/// <summary>
/// 账号
/// </summary>
...
...
@@ -75,6 +70,16 @@ namespace Edu.Module.Course
/// </summary>
private
readonly
RB_User_ChangeLogRepository
changeLogRepository
=
new
RB_User_ChangeLogRepository
();
/// <summary>
/// 班级基础配置表仓储层对象
/// </summary>
private
readonly
RB_Class_ConfigRepository
class_ConfigRepository
=
new
RB_Class_ConfigRepository
();
/// <summary>
/// 学员签到仓储层对象
/// </summary>
private
readonly
RB_Class_CheckRepository
class_CheckRepository
=
new
RB_Class_CheckRepository
();
/// <summary>
/// 获取学员退课单据分页列表
/// </summary>
...
...
@@ -85,15 +90,41 @@ namespace Edu.Module.Course
/// <returns></returns>
public
List
<
RB_Student_BackClass_ViewModel
>
GetStudentBackClassPageListModule
(
int
pageIndex
,
int
pageSize
,
out
long
rowsCount
,
RB_Student_BackClass_ViewModel
query
)
{
var
list
=
student_BackClassRepository
.
GetStudentBackClassPageListRepository
(
pageIndex
,
pageSize
,
out
rowsCount
,
query
);
if
(
list
!=
null
)
{
foreach
(
var
item
in
list
)
{
return
student_BackClassRepository
.
GetStudentBackClassPageListRepository
(
pageIndex
,
pageSize
,
out
rowsCount
,
query
);
}
}
}
return
list
;
/// <summary>
/// 计算学员退课金额
/// </summary>
/// <param name="BackId"></param>
/// <returns></returns>
public
object
GetBackBillMoneyModule
(
int
BackId
)
{
var
backModel
=
student_BackClassRepository
.
GetEntity
(
BackId
);
var
guestModel
=
order_GuestRepository
.
GetEntity
(
backModel
.
GuestId
);
var
orderModel
=
orderRepository
.
GetEntity
(
backModel
.
OrderId
);
//班级实体类
var
classModel
=
classRepository
.
GetEntity
(
backModel
.
ClassId
);
//基础课时分钟数
var
BasicMinutes
=
class_ConfigRepository
.
GetClassConfigRepository
(
new
RB_Class_Config_ViewModel
()
{
Group_Id
=
backModel
.
Group_Id
})?.
BasicMinutes
??
45
;
var
stuCheckList
=
class_CheckRepository
.
GetGuestFinishMinutesRepository
(
backModel
.
GuestId
.
ToString
());
//总签到上课分钟数
var
totalFinishMinutes
=
stuCheckList
?.
Sum
(
qitem
=>
qitem
.
FinishMinutes
)
??
0
;
//完成课时数
var
FinishHours
=
Convert
.
ToInt32
(
totalFinishMinutes
)
/
BasicMinutes
;
//预计退款金额
var
backMoney
=
orderModel
.
PreferPrice
/
orderModel
.
GuestNum
-
orderModel
.
PreferPrice
/
orderModel
.
GuestNum
/
classModel
.
ClassHours
*
FinishHours
;
var
obj
=
new
{
orderModel
.
PreferPrice
,
orderModel
.
GuestNum
,
classModel
.
ClassHours
,
FinishHours
,
classHourPrice
=
Math
.
Round
(
orderModel
.
PreferPrice
/
orderModel
.
GuestNum
/
classModel
.
ClassHours
,
2
),
backMoney
=
Math
.
Round
(
backMoney
,
2
)
};
return
obj
;
}
/// <summary>
...
...
@@ -106,7 +137,7 @@ namespace Edu.Module.Course
/// <param name="message">返回提示信息</param>
/// <param name="BackMoney"></param>
/// <returns></returns>
public
virtual
bool
SetBackBillAduitModule
(
int
BackId
,
int
AuditStatus
,
string
Description
,
UserInfo
user
,
out
string
message
,
int
SpecialNode
=
0
,
decimal
BackMoney
=
0
)
public
virtual
bool
SetBackBillAduitModule
(
int
BackId
,
int
AuditStatus
,
string
Description
,
UserInfo
user
,
out
string
message
,
int
SpecialNode
=
0
,
decimal
BackMoney
=
0
,
string
RecipientIds
=
""
)
{
message
=
""
;
bool
flag
=
false
;
...
...
@@ -117,6 +148,12 @@ namespace Edu.Module.Course
message
=
"单据不存在,请核实!"
;
return
flag
;
}
//抄送人
string
newRecipientIds
=
""
;
if
(!
string
.
IsNullOrEmpty
(
RecipientIds
))
{
newRecipientIds
=
((!
string
.
IsNullOrEmpty
(
backModel
.
RecipientIds
)
?
backModel
.
RecipientIds
:
""
)
+
","
+
RecipientIds
).
TrimStart
(
','
).
TrimEnd
(
','
);
}
//获取审核记录
var
aurList
=
student_BackRecordRepository
.
GetStudentBackRecordListRepository
(
new
RB_Student_BackRecord_ViewModel
()
...
...
@@ -184,19 +221,11 @@ namespace Edu.Module.Course
}
#
region
更新订单旅客表未驳回状态
Dictionary
<
string
,
object
>
guestFileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Order_Guest_ViewModel
.
GuestState
),
4
}
};
flag
=
order_GuestRepository
.
Update
(
guestFileds
,
new
WhereHelper
(
nameof
(
RB_Order_Guest_ViewModel
.
Id
),
backModel
.
StudentId
));
flag
=
UpdateOrderGuestStatusModule
(
4
,
backModel
.
StudentId
);
#
endregion
#
region
更新退课单据为驳回状态
Dictionary
<
string
,
object
>
backFileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Student_BackClass_ViewModel
.
AuditStatus
),
(
int
)
BackClassAuditStatusEnum
.
Rejected
}
};
flag
=
student_BackClassRepository
.
Update
(
backFileds
,
new
WhereHelper
(
nameof
(
RB_Student_BackClass_ViewModel
.
BackId
),
backModel
.
BackId
));
flag
=
UpdateStuBackBillStatusModule
(
BackClassAuditStatusEnum
.
Rejected
,
newRecipientIds
,
backModel
.
BackId
,
SpecialNode
:
SpecialNode
,
BackMoney
:
BackMoney
);
#
endregion
}
//审核通过
...
...
@@ -252,17 +281,8 @@ namespace Edu.Module.Course
#
region
更新审核关联表状态
flag
=
UpdateStuRelevanceModule
(
model
.
Id
,
model
.
Stauts
,
model
.
AuditedId
);
#
endregion
//更新主表状态
Dictionary
<
string
,
object
>
backFileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Student_BackClass_ViewModel
.
AuditStatus
),
(
int
)
BackClassAuditStatusEnum
.
Pass
}
};
if
(
SpecialNode
==
1
)
{
backFileds
.
Add
(
nameof
(
RB_Student_BackClass_ViewModel
.
BackMoney
),
BackMoney
);
}
flag
=
student_BackClassRepository
.
Update
(
backFileds
,
new
WhereHelper
(
nameof
(
RB_Student_BackClass_ViewModel
.
BackId
),
backModel
.
BackId
));
flag
=
UpdateStuBackBillStatusModule
(
BackClassAuditStatusEnum
.
Pass
,
newRecipientIds
,
backModel
.
BackId
,
SpecialNode
:
SpecialNode
,
BackMoney
:
BackMoney
);
}
else
{
...
...
@@ -316,16 +336,8 @@ namespace Edu.Module.Course
flag
=
UpdateStuRecordModule
(
WFRrocessStatus
.
OtherHaveAudit
,
Description
,
user
.
Id
,
item
.
Id
);
}
}
Dictionary
<
string
,
object
>
backFileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Student_BackClass_ViewModel
.
AuditStatus
),
(
int
)
BackClassAuditStatusEnum
.
Pass
}
};
if
(
SpecialNode
==
1
)
{
backFileds
.
Add
(
nameof
(
RB_Student_BackClass_ViewModel
.
BackMoney
),
BackMoney
);
}
flag
=
student_BackClassRepository
.
Update
(
backFileds
,
new
WhereHelper
(
nameof
(
RB_Student_BackClass_ViewModel
.
BackId
),
backModel
.
BackId
));
//更新主表状态
flag
=
UpdateStuBackBillStatusModule
(
BackClassAuditStatusEnum
.
Pass
,
newRecipientIds
,
backModel
.
BackId
,
SpecialNode
:
SpecialNode
,
BackMoney
:
BackMoney
);
}
else
{
...
...
@@ -358,17 +370,9 @@ namespace Edu.Module.Course
#
region
更新审核关联表状态
flag
=
UpdateStuRelevanceModule
(
model
.
Id
,
model
.
Stauts
,
model
.
AuditedId
);
#
endregion
Dictionary
<
string
,
object
>
backFileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Student_BackClass_ViewModel
.
AuditStatus
),
(
int
)
BackClassAuditStatusEnum
.
Pass
}
};
if
(
SpecialNode
==
1
)
{
backFileds
.
Add
(
nameof
(
RB_Student_BackClass_ViewModel
.
BackMoney
),
BackMoney
);
}
flag
=
student_BackClassRepository
.
Update
(
backFileds
,
new
WhereHelper
(
nameof
(
RB_Student_BackClass_ViewModel
.
BackId
),
backModel
.
BackId
));
//更新主表状态
flag
=
UpdateStuBackBillStatusModule
(
BackClassAuditStatusEnum
.
Pass
,
newRecipientIds
,
backModel
.
BackId
,
SpecialNode
:
SpecialNode
,
BackMoney
:
BackMoney
);
}
//更新抄送人状态
//var CopyToPeopleList = copyToPeopleRepository.GetCopyToPeopleList(WorkFlowId, TemplateType);
//foreach (var item in CopyToPeopleList)
...
...
@@ -377,7 +381,6 @@ namespace Edu.Module.Course
//}
//CopyAccountList = CopyToPeopleList.Select(x => new EmAccoutIdModel { EmAccount = x.EmLoginMobile, EmployeeId = x.EmployeeId ?? 0 }).Distinct().ToList();
//copyToPeopleRepository.UpdateBatch(CopyToPeopleList, trans);
}
//同时创建下一步审核 复制审核人到审核关联表 创建审核记录表
else
...
...
@@ -537,6 +540,48 @@ namespace Edu.Module.Course
return
flag
;
}
/// <summary>
/// 更新退课主表状态
/// </summary>
/// <param name="statusEnum">审核状态</param>
/// <param name="newRecipientIds">抄送人</param>
/// <param name="BackId">退课表主键编号</param>
/// <param name="SpecialNode">是否是特殊节点(1-是)</param>
/// <param name="BackMoney">实际退款金额</param>
/// <returns></returns>
private
bool
UpdateStuBackBillStatusModule
(
BackClassAuditStatusEnum
statusEnum
,
string
newRecipientIds
,
int
BackId
,
int
SpecialNode
=
0
,
decimal
BackMoney
=
0
)
{
Dictionary
<
string
,
object
>
backFileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Student_BackClass_ViewModel
.
AuditStatus
),
(
int
)
statusEnum
}
};
if
(!
string
.
IsNullOrEmpty
(
newRecipientIds
))
{
backFileds
.
Add
(
nameof
(
RB_Student_BackClass_ViewModel
.
RecipientIds
),
newRecipientIds
);
}
//特殊节点更新时间退课金额
if
(
SpecialNode
==
1
)
{
backFileds
.
Add
(
nameof
(
RB_Student_BackClass_ViewModel
.
RealityBackMoney
),
BackMoney
);
}
bool
flag
=
student_BackClassRepository
.
Update
(
backFileds
,
new
WhereHelper
(
nameof
(
RB_Student_BackClass_ViewModel
.
BackId
),
BackId
));
return
flag
;
}
/// <summary>
/// 更新学员退课状态
/// </summary>
/// <param name="GuestState"></param>
/// <param name="guestId"></param>
/// <returns></returns>
private
bool
UpdateOrderGuestStatusModule
(
int
GuestState
,
int
guestId
)
{
Dictionary
<
string
,
object
>
guestFileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Order_Guest_ViewModel
.
GuestState
),
GuestState
}
};
return
order_GuestRepository
.
Update
(
guestFileds
,
new
WhereHelper
(
nameof
(
RB_Order_Guest_ViewModel
.
Id
),
guestId
));
}
/// <summary>
/// 更新审核记录表信息
...
...
@@ -799,8 +844,8 @@ namespace Edu.Module.Course
{
CostTypeId
=
Config
.
ReadConfigKey
(
"StuBackCostTypeId"
),
Number
=
1
,
OriginalMoney
=
backModel
.
BackMoney
,
UnitPrice
=
backModel
.
BackMoney
,
OriginalMoney
=
backModel
.
Reality
BackMoney
,
UnitPrice
=
backModel
.
Reality
BackMoney
,
Remark
=
"学员【"
+
guestModel
.
GuestName
+
"】退课"
}
};
...
...
@@ -812,7 +857,7 @@ namespace Edu.Module.Course
ClientType
=
clientType
,
ClientID
=
clientId
,
CurrencyId
,
WBMoney
=
backModel
.
BackMoney
,
WBMoney
=
backModel
.
Reality
BackMoney
,
PayDate
=
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd"
),
TemplateId
=
Config
.
ReadConfigKey
(
"StuBackTemplete"
),
OrderSource
=
17
,
...
...
@@ -848,11 +893,13 @@ namespace Edu.Module.Course
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Student_BackClass
.
FinanceId
),
frid
}
};
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
(){
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
()
{
FiledName
=
nameof
(
RB_Teaching_Perf_ViewModel
.
Id
),
FiledValue
=
backModel
.
BackId
,
OperatorEnum
=
OperatorEnum
.
Equal
FiledValue
=
backModel
.
BackId
,
OperatorEnum
=
OperatorEnum
.
Equal
}
};
bool
flag
=
student_BackClassRepository
.
Update
(
keyValues
,
wheres
);
...
...
Edu.WebApi/Controllers/Course/OrderController.cs
View file @
a5f50614
...
...
@@ -346,15 +346,14 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetClassOrderForDetail
()
{
var
userInfo
=
base
.
UserInfo
;
public
ApiResult
GetClassOrderForDetail
()
{
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
int
OrderId
=
parms
.
GetInt
(
"OrderId"
,
0
);
if
(
OrderId
<=
0
)
{
return
ApiResult
.
ParamIsNull
();
}
var
model
=
orderModule
.
GetClassOrderInfo_V2
(
OrderId
);
if
(
model
==
null
)
{
...
...
Edu.WebApi/Controllers/Course/StuController.cs
View file @
a5f50614
...
...
@@ -87,7 +87,8 @@ namespace Edu.WebApi.Controllers.Course
item
.
ApplyReason
,
item
.
OrderId
,
AuditStatusName
=
item
.
AuditStatus
.
ToName
(),
item
.
SpecialNode
item
.
SpecialNode
,
item
.
RealityBackMoney
,
});
}
pageModel
.
Count
=
rowsCount
;
...
...
@@ -112,10 +113,26 @@ namespace Edu.WebApi.Controllers.Course
decimal
BackMoney
=
base
.
ParmJObj
.
GetDecimal
(
"BackMoney"
);
//是否是特殊节点
var
SpecialNode
=
base
.
ParmJObj
.
GetInt
(
"SpecialNode"
);
var
flag
=
studentBillModule
.
SetBackBillAduitModule
(
BackId
,
AuditStatus
,
Description
,
base
.
UserInfo
,
out
string
message
,
SpecialNode
:
SpecialNode
,
BackMoney
:
BackMoney
);
//抄送人
string
RecipientIds
=
base
.
ParmJObj
.
GetStringValue
(
"RecipientIds"
);
var
flag
=
studentBillModule
.
SetBackBillAduitModule
(
BackId
,
AuditStatus
,
Description
,
base
.
UserInfo
,
out
string
message
,
SpecialNode
:
SpecialNode
,
BackMoney
:
BackMoney
,
RecipientIds
:
RecipientIds
);
return
flag
?
ApiResult
.
Success
(
message
:
message
)
:
ApiResult
.
Failed
(
message
:
message
);
}
/// <summary>
/// 获取学员预计退课金额
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetBackBillMoney
()
{
//退课单据号
var
BackId
=
base
.
ParmJObj
.
GetInt
(
"BackId"
);
var
data
=
studentBillModule
.
GetBackBillMoneyModule
(
BackId
);
return
ApiResult
.
Success
(
data
:
data
);
}
/// <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