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
5a997bdc
Commit
5a997bdc
authored
Jul 21, 2021
by
liudong1993
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/Kui2/education
parents
6a3715fa
8fe51b5c
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
490 additions
and
24 deletions
+490
-24
Config.cs
Edu.Common/Config.cs
+11
-0
ReceiptTypeEnum.cs
Edu.Common/Enum/Finance/ReceiptTypeEnum.cs
+6
-0
RB_User_ChangeLog.cs
Edu.Model/Entity/Log/RB_User_ChangeLog.cs
+1
-1
RB_Class_Check_ViewModel.cs
Edu.Model/ViewModel/Course/RB_Class_Check_ViewModel.cs
+31
-0
RB_Education_Contract_ViewModel.cs
...Model/ViewModel/Course/RB_Education_Contract_ViewModel.cs
+34
-1
ClassModule.cs
Edu.Module.Course/ClassModule.cs
+35
-9
OrderModule.cs
Edu.Module.Course/OrderModule.cs
+44
-0
StudentBillModule.cs
Edu.Module.Course/StudentBillModule.cs
+2
-0
EducationReceiptModule.cs
Edu.Module.EduTask/EducationReceiptModule.cs
+30
-1
OrderChangeModule.cs
Edu.Module.EduTask/OrderChangeModule.cs
+178
-1
FinanceModule.cs
Edu.Module.Finance/FinanceModule.cs
+34
-2
RB_Class_CheckRepository.cs
Edu.Repository/Course/RB_Class_CheckRepository.cs
+1
-0
RB_Education_ContractRepository.cs
Edu.Repository/Course/RB_Education_ContractRepository.cs
+3
-1
RB_Order_GuestRepository.cs
Edu.Repository/Course/RB_Order_GuestRepository.cs
+1
-1
RB_Education_ReceiptRepository.cs
Edu.Repository/EduTask/RB_Education_ReceiptRepository.cs
+17
-1
ClassController.cs
Edu.WebApi/Controllers/Course/ClassController.cs
+4
-4
OrderChangeController.cs
Edu.WebApi/Controllers/EduTask/OrderChangeController.cs
+41
-0
FinanceController.cs
Edu.WebApi/Controllers/Finance/FinanceController.cs
+6
-0
UserController.cs
Edu.WebApi/Controllers/User/UserController.cs
+8
-1
appsettings.json
Edu.WebApi/appsettings.json
+3
-1
No files found.
Edu.Common/Config.cs
View file @
5a997bdc
...
@@ -406,6 +406,17 @@ namespace Edu.Common
...
@@ -406,6 +406,17 @@ namespace Edu.Common
}
}
/// <summary>
/// 订单分拆流程编号
/// </summary>
public
static
int
OrderSplitClassFlowId
{
get
{
int
.
TryParse
(
ReadConfigKey
(
"OrderSplitClassFlowId"
),
out
int
OrderSplitClassFlowId
);
return
OrderSplitClassFlowId
;
}
}
/// <summary>
/// <summary>
...
...
Edu.Common/Enum/Finance/ReceiptTypeEnum.cs
View file @
5a997bdc
...
@@ -37,5 +37,11 @@ namespace Edu.Common.Enum.Finance
...
@@ -37,5 +37,11 @@ namespace Edu.Common.Enum.Finance
/// </summary>
/// </summary>
[
EnumField
(
"订单转班"
)]
[
EnumField
(
"订单转班"
)]
OrderTransClass
=
5
,
OrderTransClass
=
5
,
/// <summary>
/// 订单分拆
/// </summary>
[
EnumField
(
"订单分拆"
)]
OrderSplitClass
=
6
,
}
}
}
}
Edu.Model/Entity/Log/RB_User_ChangeLog.cs
View file @
5a997bdc
...
@@ -44,7 +44,7 @@ namespace Edu.Model.Entity.Log
...
@@ -44,7 +44,7 @@ namespace Edu.Model.Entity.Log
private
int
type
=
1
;
private
int
type
=
1
;
/// <summary>
/// <summary>
/// 类型
1日常日志 2订单
日志
/// 类型
1-日常日志;2-订单日志;3-学员
日志
/// </summary>
/// </summary>
public
int
Type
{
get
=>
type
;
set
=>
type
=
value
;
}
public
int
Type
{
get
=>
type
;
set
=>
type
=
value
;
}
...
...
Edu.Model/ViewModel/Course/RB_Class_Check_ViewModel.cs
View file @
5a997bdc
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Text
;
using
System.Text
;
using
Edu.Common.Enum.Sale
;
using
Edu.Model.Entity.Course
;
using
Edu.Model.Entity.Course
;
namespace
Edu.Model.ViewModel.Course
namespace
Edu.Model.ViewModel.Course
...
@@ -192,5 +193,35 @@ namespace Edu.Model.ViewModel.Course
...
@@ -192,5 +193,35 @@ namespace Edu.Model.ViewModel.Course
///上课时间ids
///上课时间ids
/// </summary>
/// </summary>
public
string
ClassTimeIds
{
get
;
set
;
}
public
string
ClassTimeIds
{
get
;
set
;
}
/// <summary>
/// 订单报入类型(1-正常报入,2-插班报入,3-续费订单,4-转班订单,5-分拆订单)
/// </summary>
public
OrderJoinTypeEnum
JoinType
{
get
;
set
;
}
/// <summary>
/// 原订单报入类型(1-正常报入,2-插班报入,3-续费订单,4-转班订单,5-分拆订单)
/// </summary>
public
OrderJoinTypeEnum
TargetJoinType
{
get
;
set
;
}
/// <summary>
/// 原订单编号
/// </summary>
public
int
SourceOrderId
{
get
;
set
;
}
/// <summary>
/// 原订单班级名称
/// </summary>
public
string
SourceClassName
{
get
;
set
;
}
/// <summary>
/// 目标订单编号
/// </summary>
public
int
TargetOrderId
{
get
;
set
;
}
/// <summary>
/// 目标订单班级名称
/// </summary>
public
string
TargetClassName
{
get
;
set
;
}
}
}
}
}
Edu.Model/ViewModel/Course/RB_Education_Contract_ViewModel.cs
View file @
5a997bdc
using
Edu.Model.Entity.Course
;
using
Edu.Common.Enum.Sale
;
using
Edu.Model.Entity.Course
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
...
@@ -116,6 +117,38 @@ namespace Edu.Model.ViewModel.Course
...
@@ -116,6 +117,38 @@ namespace Edu.Model.ViewModel.Course
public
decimal
UseCoursewareFee
{
get
;
set
;
}
public
decimal
UseCoursewareFee
{
get
;
set
;
}
#
endregion
#
endregion
#
region
订单相关
/// <summary>
/// 订单报入类型(1-正常报入,2-插班报入,3-续费订单,4-转班订单,5-分拆订单)
/// </summary>
public
OrderJoinTypeEnum
JoinType
{
get
;
set
;
}
/// <summary>
/// 原订单报入类型(1-正常报入,2-插班报入,3-续费订单,4-转班订单,5-分拆订单)
/// </summary>
public
OrderJoinTypeEnum
TargetJoinType
{
get
;
set
;
}
/// <summary>
/// 原订单编号
/// </summary>
public
int
SourceOrderId
{
get
;
set
;
}
/// <summary>
/// 原订单班级名称
/// </summary>
public
string
SourceClassName
{
get
;
set
;
}
/// <summary>
/// 目标订单编号
/// </summary>
public
int
TargetOrderId
{
get
;
set
;
}
/// <summary>
/// 目标订单班级名称
/// </summary>
public
string
TargetClassName
{
get
;
set
;
}
#
endregion
/// <summary>
/// <summary>
/// 是否审核(1-是)
/// 是否审核(1-是)
/// </summary>
/// </summary>
...
...
Edu.Module.Course/ClassModule.cs
View file @
5a997bdc
...
@@ -149,6 +149,11 @@ namespace Edu.Module.Course
...
@@ -149,6 +149,11 @@ namespace Edu.Module.Course
/// </summary>
/// </summary>
private
readonly
RB_Student_MakeupRepository
student_MakeupRepository
=
new
RB_Student_MakeupRepository
();
private
readonly
RB_Student_MakeupRepository
student_MakeupRepository
=
new
RB_Student_MakeupRepository
();
/// <summary>
/// 日志仓储对象
/// </summary>
private
readonly
RB_User_ChangeLogRepository
user_ChangeLogRepository
=
new
RB_User_ChangeLogRepository
();
/// <summary>
/// <summary>
/// 获取班级列表
/// 获取班级列表
/// </summary>
/// </summary>
...
@@ -682,7 +687,7 @@ namespace Edu.Module.Course
...
@@ -682,7 +687,7 @@ namespace Edu.Module.Course
}
}
}
}
List
<
RB_Class_Plan_ViewModel
>
classPlanList
=
new
List
<
RB_Class_Plan_ViewModel
>();
List
<
RB_Class_Plan_ViewModel
>
classPlanList
=
new
List
<
RB_Class_Plan_ViewModel
>();
if
(
model
.
ClassHours
>
0
)
if
(
model
.
ClassHours
>
0
&&
defaultPlanTimeList
!=
null
&&
defaultPlanTimeList
.
Count
>
0
)
{
{
var
srartDate
=
model
.
OpenTime
;
var
srartDate
=
model
.
OpenTime
;
//按周排课和按月排课
//按周排课和按月排课
...
@@ -1298,9 +1303,9 @@ namespace Edu.Module.Course
...
@@ -1298,9 +1303,9 @@ namespace Edu.Module.Course
item
.
RenewOrderId
,
item
.
RenewOrderId
,
CheckStatus
=
checkStatus
,
CheckStatus
=
checkStatus
,
item
.
JoinType
,
item
.
JoinType
,
JoinTypeName
=
item
.
JoinType
.
ToName
(),
JoinTypeName
=
item
.
JoinType
.
ToName
(),
item
.
TargetJoinType
,
item
.
TargetJoinType
,
TargetJoinTypeName
=
item
.
TargetJoinType
.
ToName
(),
TargetJoinTypeName
=
item
.
TargetJoinType
.
ToName
(),
item
.
SourceOrderId
,
item
.
SourceOrderId
,
item
.
SourceClassName
,
item
.
SourceClassName
,
item
.
TargetOrderId
,
item
.
TargetOrderId
,
...
@@ -1444,13 +1449,18 @@ namespace Edu.Module.Course
...
@@ -1444,13 +1449,18 @@ namespace Edu.Module.Course
{
{
var
guestModel
=
order_GuestRepository
.
GetEntity
(
item
.
OrderGuestId
);
var
guestModel
=
order_GuestRepository
.
GetEntity
(
item
.
OrderGuestId
);
item
.
CurrentDeductionHours
=
timeModel
?.
TimeHour
??
0
;
item
.
CurrentDeductionHours
=
timeModel
?.
TimeHour
??
0
;
decimal
currentDeductionHours
=
item
.
CurrentDeductionHours
;
if
(
item
.
CheckStatus
==
2
)
{
currentDeductionHours
=
0
;
}
if
(
item
.
ClassCheckId
>
0
)
if
(
item
.
ClassCheckId
>
0
)
{
{
Dictionary
<
string
,
object
>
fileds
=
new
Dictionary
<
string
,
object
>()
Dictionary
<
string
,
object
>
fileds
=
new
Dictionary
<
string
,
object
>()
{
{
{
nameof
(
RB_Class_Check_ViewModel
.
CheckStatus
),
item
.
CheckStatus
},
{
nameof
(
RB_Class_Check_ViewModel
.
CheckStatus
),
item
.
CheckStatus
},
{
nameof
(
RB_Class_Check_ViewModel
.
StudyNum
),
item
.
StudyNum
},
{
nameof
(
RB_Class_Check_ViewModel
.
StudyNum
),
item
.
StudyNum
},
{
nameof
(
RB_Class_Check_ViewModel
.
CurrentDeductionHours
),
item
.
C
urrentDeductionHours
},
{
nameof
(
RB_Class_Check_ViewModel
.
CurrentDeductionHours
),
c
urrentDeductionHours
},
};
};
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
{
...
@@ -1469,19 +1479,35 @@ namespace Edu.Module.Course
...
@@ -1469,19 +1479,35 @@ namespace Edu.Module.Course
if
(
flag
)
if
(
flag
)
{
{
//更新学员完成课时
//更新学员完成课时
decimal
completeHours
=
(
oldModel
?.
FinishClassHours
??
0
)
+
item
.
CurrentDeductionHours
;
var
completeHours
=
(
oldModel
?.
FinishClassHours
??
0
)
+
item
.
CurrentDeductionHours
;
Dictionary
<
string
,
object
>
orderFileds
=
new
Dictionary
<
string
,
object
>()
Dictionary
<
string
,
object
>
orderFileds
=
new
Dictionary
<
string
,
object
>()
{
{
{
nameof
(
RB_Order_Guest_ViewModel
.
CompleteHours
),
completeHours
}
{
nameof
(
RB_Order_Guest_ViewModel
.
CompleteHours
),
completeHours
}
};
};
string
LogContent
=
""
;
//已上课时>=有效课时,如果是,修改学员状态为停课,并且备注“有效课时消耗完毕,系统自动停课”
//已上课时>=有效课时,如果是,修改学员状态为停课,并且备注“有效课时消耗完毕,系统自动停课”
if
(
completeHours
>
guestModel
.
ValidClassHours
)
if
(
completeHours
>
guestModel
.
ValidClassHours
)
{
{
orderFileds
.
Add
(
nameof
(
RB_Order_Guest_ViewModel
.
GuestState
),
5
);
orderFileds
.
Add
(
nameof
(
RB_Order_Guest_ViewModel
.
GuestState
),
5
);
orderFileds
.
Add
(
nameof
(
RB_Order_Guest_ViewModel
.
ChangeEffectTime
),
System
.
DateTime
.
Now
);
orderFileds
.
Add
(
nameof
(
RB_Order_Guest_ViewModel
.
DropOutRemark
),
"有效课时消耗完毕,系统自动停课"
);
orderFileds
.
Add
(
nameof
(
RB_Order_Guest_ViewModel
.
DropOutRemark
),
"有效课时消耗完毕,系统自动停课"
);
LogContent
=
guestModel
.
GuestName
+
"有效课时消耗完毕,系统自动停课!"
;
}
}
flag
=
order_GuestRepository
.
Update
(
orderFileds
,
new
WhereHelper
(
nameof
(
RB_Order_Guest_ViewModel
.
Id
),
item
.
OrderGuestId
));
flag
=
order_GuestRepository
.
Update
(
orderFileds
,
new
WhereHelper
(
nameof
(
RB_Order_Guest_ViewModel
.
Id
),
item
.
OrderGuestId
));
if
(
flag
&&
!
string
.
IsNullOrEmpty
(
LogContent
))
{
user_ChangeLogRepository
.
Insert
(
new
Model
.
Entity
.
Log
.
RB_User_ChangeLog
()
{
Id
=
0
,
Type
=
3
,
CreateBy
=
item
.
CreateBy
,
CreateTime
=
DateTime
.
Now
,
Group_Id
=
item
.
Group_Id
,
LogContent
=
LogContent
,
School_Id
=
item
.
School_Id
,
SourceId
=
guestModel
.
Id
});
}
//缺勤和请假
//缺勤和请假
if
(
item
.
CheckStatus
==
1
||
item
.
CheckStatus
==
2
)
if
(
item
.
CheckStatus
==
1
||
item
.
CheckStatus
==
2
)
{
{
...
@@ -2667,7 +2693,7 @@ namespace Edu.Module.Course
...
@@ -2667,7 +2693,7 @@ namespace Edu.Module.Course
string
planIds
=
string
.
Join
(
","
,
list
.
Select
(
qitem
=>
qitem
.
ClassPlanId
));
string
planIds
=
string
.
Join
(
","
,
list
.
Select
(
qitem
=>
qitem
.
ClassPlanId
));
timeList
=
class_TimeRepository
.
GetClassTimeListRepository
(
new
RB_Class_Time_ViewModel
()
{
QClassIds
=
classIds
,
QClassPlanIds
=
planIds
});
timeList
=
class_TimeRepository
.
GetClassTimeListRepository
(
new
RB_Class_Time_ViewModel
()
{
QClassIds
=
classIds
,
QClassPlanIds
=
planIds
});
guestList
=
order_GuestRepository
.
GetOrderGuestListRepository
(
new
RB_Order_Guest_ViewModel
()
{
ClassIds
=
classIds
});
guestList
=
order_GuestRepository
.
GetOrderGuestListRepository
(
new
RB_Order_Guest_ViewModel
()
{
ClassIds
=
classIds
});
tempGuestList
=
order_GuestRepository
.
GetTempInvitationGuest
(
new
Model
.
ViewModel
.
EduTask
.
RB_Temporary_Invitation_ViewModel
{
ClassIds
=
classIds
,
ClassPlanIds
=
planIds
});
tempGuestList
=
order_GuestRepository
.
GetTempInvitationGuest
(
new
Model
.
ViewModel
.
EduTask
.
RB_Temporary_Invitation_ViewModel
{
ClassIds
=
classIds
,
ClassPlanIds
=
planIds
});
}
}
var
visitorList
=
new
List
<
RB_Visitor_Reserve_Extend
>();
var
visitorList
=
new
List
<
RB_Visitor_Reserve_Extend
>();
if
(
reserveList
!=
null
&&
reserveList
.
Count
>
0
)
if
(
reserveList
!=
null
&&
reserveList
.
Count
>
0
)
...
@@ -2692,7 +2718,7 @@ namespace Edu.Module.Course
...
@@ -2692,7 +2718,7 @@ namespace Edu.Module.Course
tempTimeGuestList
.
AddRange
(
guestList
.
Where
(
qitem
=>
qitem
.
ClassId
==
subItem
.
ClassId
&&
(
qitem
.
GuestState
==
1
||
qitem
.
GuestState
==
6
||
((
qitem
.
GuestState
==
5
||
qitem
.
GuestState
==
7
)
&&
qitem
.
ChangeEffectTime
.
HasValue
&&
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
FormatDate
(
qitem
.
ChangeEffectTime
))
>=
subItem
.
ClassDate
))));
tempTimeGuestList
.
AddRange
(
guestList
.
Where
(
qitem
=>
qitem
.
ClassId
==
subItem
.
ClassId
&&
(
qitem
.
GuestState
==
1
||
qitem
.
GuestState
==
6
||
((
qitem
.
GuestState
==
5
||
qitem
.
GuestState
==
7
)
&&
qitem
.
ChangeEffectTime
.
HasValue
&&
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
FormatDate
(
qitem
.
ChangeEffectTime
))
>=
subItem
.
ClassDate
))));
if
(
tempGuestList
!=
null
&&
tempGuestList
.
Any
())
if
(
tempGuestList
!=
null
&&
tempGuestList
.
Any
())
{
{
tempTimeGuestList
.
AddRange
(
tempGuestList
.
Where
(
qitem
=>
qitem
.
ClassId
==
subItem
.
ClassId
&&
subItem
.
ClassPlanId
==
qitem
.
ClassPlanId
&&
(
qitem
.
GuestState
==
1
||
qitem
.
GuestState
==
6
||
((
qitem
.
GuestState
==
5
||
qitem
.
GuestState
==
7
)
&&
qitem
.
ChangeEffectTime
.
HasValue
&&
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
FormatDate
(
qitem
.
ChangeEffectTime
))
>=
subItem
.
ClassDate
))));
tempTimeGuestList
.
AddRange
(
tempGuestList
.
Where
(
qitem
=>
qitem
.
ClassId
==
subItem
.
ClassId
&&
subItem
.
ClassPlanId
==
qitem
.
ClassPlanId
&&
(
qitem
.
GuestState
==
1
||
qitem
.
GuestState
==
6
||
((
qitem
.
GuestState
==
5
||
qitem
.
GuestState
==
7
)
&&
qitem
.
ChangeEffectTime
.
HasValue
&&
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
FormatDate
(
qitem
.
ChangeEffectTime
))
>=
subItem
.
ClassDate
))));
...
@@ -2917,7 +2943,7 @@ namespace Edu.Module.Course
...
@@ -2917,7 +2943,7 @@ namespace Edu.Module.Course
{
{
var
tempTimeList
=
timeList
?.
Where
(
qitem
=>
qitem
.
ClassPlanId
==
subItem
.
ClassPlanId
)?.
ToList
()?.
OrderBy
(
qitem
=>
qitem
.
StartTime
);
var
tempTimeList
=
timeList
?.
Where
(
qitem
=>
qitem
.
ClassPlanId
==
subItem
.
ClassPlanId
)?.
ToList
()?.
OrderBy
(
qitem
=>
qitem
.
StartTime
);
var
currentDate
=
Common
.
ConvertHelper
.
FormatDate
(
ClassDate
)
+
" "
+
(
tempTimeList
?.
FirstOrDefault
()?.
StartTime
??
""
);
var
currentDate
=
Common
.
ConvertHelper
.
FormatDate
(
ClassDate
)
+
" "
+
(
tempTimeList
?.
FirstOrDefault
()?.
StartTime
??
""
);
foreach
(
var
item
in
tempTimeList
)
foreach
(
var
item
in
tempTimeList
)
{
{
var
tempTimeGuestList
=
new
List
<
RB_Order_Guest_ViewModel
>();
var
tempTimeGuestList
=
new
List
<
RB_Order_Guest_ViewModel
>();
...
...
Edu.Module.Course/OrderModule.cs
View file @
5a997bdc
...
@@ -2479,8 +2479,36 @@ namespace Edu.Module.Course
...
@@ -2479,8 +2479,36 @@ namespace Edu.Module.Course
//用户信息
//用户信息
var
userIds
=
string
.
Join
(
","
,
list
.
Select
(
x
=>
x
.
CreateBy
).
Distinct
());
var
userIds
=
string
.
Join
(
","
,
list
.
Select
(
x
=>
x
.
CreateBy
).
Distinct
());
var
alist
=
accountRepository
.
GetAccountListExtRepository
(
new
Model
.
ViewModel
.
User
.
RB_Account_ViewModel
()
{
QIds
=
userIds
});
var
alist
=
accountRepository
.
GetAccountListExtRepository
(
new
Model
.
ViewModel
.
User
.
RB_Account_ViewModel
()
{
QIds
=
userIds
});
List
<
RB_Order_ViewModel
>
sourceTargetList
=
new
List
<
RB_Order_ViewModel
>();
List
<
int
>
idList
=
new
List
<
int
>();
var
sourceOrderIdList
=
Common
.
ConvertHelper
.
StringToList
(
string
.
Join
(
","
,
list
.
Select
(
x
=>
x
.
SourceOrderId
)));
if
(
sourceOrderIdList
!=
null
&&
sourceOrderIdList
.
Count
>
0
)
{
idList
.
AddRange
(
sourceOrderIdList
);
}
var
targetOrderIdList
=
Common
.
ConvertHelper
.
StringToList
(
string
.
Join
(
","
,
list
.
Select
(
x
=>
x
.
TargetOrderId
)));
if
(
targetOrderIdList
!=
null
&&
targetOrderIdList
.
Count
>
0
)
{
idList
.
AddRange
(
targetOrderIdList
);
}
if
(
idList
!=
null
&&
idList
.
Count
>
0
)
{
string
ids
=
string
.
Join
(
","
,
idList
);
sourceTargetList
=
orderRepository
.
GetOrderListRepository
(
new
RB_Order_ViewModel
{
QOrderIds
=
ids
});
}
foreach
(
var
item
in
list
)
foreach
(
var
item
in
list
)
{
{
if
(
item
.
SourceOrderId
>
0
)
{
item
.
SourceClassName
=
sourceTargetList
?.
Where
(
qitem
=>
qitem
.
OrderId
==
item
.
SourceOrderId
)?.
FirstOrDefault
()?.
ClassName
;
}
if
(
item
.
TargetOrderId
>
0
)
{
item
.
TargetClassName
=
sourceTargetList
?.
Where
(
qitem
=>
qitem
.
OrderId
==
item
.
TargetOrderId
)?.
FirstOrDefault
()?.
ClassName
;
}
#
region
财务单据
#
region
财务单据
item
.
FinanceList
=
flist
.
Where
(
x
=>
x
.
GuestId
==
item
.
GuestId
).
ToList
();
item
.
FinanceList
=
flist
.
Where
(
x
=>
x
.
GuestId
==
item
.
GuestId
).
ToList
();
item
.
Income
=
item
.
FinanceList
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
Finance
.
WFTempLateClassEnum
.
IN
&&
x
.
Is_Cashier
==
1
).
Sum
(
x
=>
(
x
.
Money
??
0
)
+
(
x
.
Fee
??
0
));
//出纳审核算有效金额
item
.
Income
=
item
.
FinanceList
.
Where
(
x
=>
x
.
Type
==
Common
.
Enum
.
Finance
.
WFTempLateClassEnum
.
IN
&&
x
.
Is_Cashier
==
1
).
Sum
(
x
=>
(
x
.
Money
??
0
)
+
(
x
.
Fee
??
0
));
//出纳审核算有效金额
...
@@ -2605,10 +2633,26 @@ namespace Edu.Module.Course
...
@@ -2605,10 +2633,26 @@ namespace Edu.Module.Course
{
nameof
(
RB_Order_Guest
.
ValidClassHours
),
validClassHours
}
{
nameof
(
RB_Order_Guest
.
ValidClassHours
),
validClassHours
}
};
};
//HK2021-07-19新增【有效课时大于完成课时修改学员状态为正常】
//HK2021-07-19新增【有效课时大于完成课时修改学员状态为正常】
string
LogContent
=
""
;
if
(
gmodel
.
CompleteHours
<
validClassHours
)
if
(
gmodel
.
CompleteHours
<
validClassHours
)
{
{
keyValues
.
Add
(
nameof
(
RB_Order_Guest
.
GuestState
),
1
);
keyValues
.
Add
(
nameof
(
RB_Order_Guest
.
GuestState
),
1
);
keyValues
.
Add
(
nameof
(
RB_Order_Guest
.
DropOutRemark
),
"有效课时大于完成课时,恢复学员状态!"
);
keyValues
.
Add
(
nameof
(
RB_Order_Guest
.
DropOutRemark
),
"有效课时大于完成课时,恢复学员状态!"
);
LogContent
=
gmodel
.
GuestName
+
"有效课时大于完成课时,系统恢复学员状态!"
;
}
if
(!
string
.
IsNullOrEmpty
(
LogContent
))
{
changeLogRepository
.
Insert
(
new
Model
.
Entity
.
Log
.
RB_User_ChangeLog
()
{
Id
=
0
,
Type
=
3
,
CreateBy
=
gmodel
.
CreateBy
,
CreateTime
=
DateTime
.
Now
,
Group_Id
=
gmodel
.
Group_Id
,
LogContent
=
LogContent
,
School_Id
=
gmodel
.
School_Id
,
SourceId
=
gmodel
.
Id
});
}
}
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
{
...
...
Edu.Module.Course/StudentBillModule.cs
View file @
5a997bdc
...
@@ -271,6 +271,8 @@ namespace Edu.Module.Course
...
@@ -271,6 +271,8 @@ namespace Edu.Module.Course
item
.
TeacherName
,
item
.
TeacherName
,
item
.
RoomName
,
item
.
RoomName
,
OpenTime
=
Common
.
ConvertHelper
.
FormatDate
(
item
.
OpenTime
),
OpenTime
=
Common
.
ConvertHelper
.
FormatDate
(
item
.
OpenTime
),
NewOriginalPrice
=
item
.
OriginalPrice
,
NewSellPrice
=
item
.
SellPrice
,
OriginalPrice
,
OriginalPrice
,
SellPrice
,
SellPrice
,
item
.
ClassPersion
,
item
.
ClassPersion
,
...
...
Edu.Module.EduTask/EducationReceiptModule.cs
View file @
5a997bdc
...
@@ -319,6 +319,18 @@ namespace Edu.Module.EduTask
...
@@ -319,6 +319,18 @@ namespace Edu.Module.EduTask
});
});
}
}
#
endregion
#
endregion
#
region
订单分拆
if
(
subItem
.
ReceiptType
==
Common
.
Enum
.
Finance
.
ReceiptTypeEnum
.
OrderSplitClass
)
{
string
transClassIds
=
string
.
Join
(
","
,
list
.
Where
(
qitem
=>
qitem
.
ReceiptType
==
subItem
.
ReceiptType
).
Select
(
qitem
=>
qitem
.
RelationId
));
orderTransList
=
order_ChangeRepository
.
GetOrderChangeListRepository
(
new
RB_Order_Change_ViewModel
()
{
QIds
=
transClassIds
,
ChangeType
=
2
,
});
}
#
endregion
}
}
foreach
(
var
item
in
list
)
foreach
(
var
item
in
list
)
...
@@ -401,7 +413,12 @@ namespace Edu.Module.EduTask
...
@@ -401,7 +413,12 @@ namespace Edu.Module.EduTask
//订单转班
//订单转班
if
(
item
.
ReceiptType
==
Common
.
Enum
.
Finance
.
ReceiptTypeEnum
.
OrderTransClass
)
if
(
item
.
ReceiptType
==
Common
.
Enum
.
Finance
.
ReceiptTypeEnum
.
OrderTransClass
)
{
{
DataObj
=
orderTransList
?.
Where
(
qitem
=>
qitem
.
Id
==
item
.
RelationId
)?.
FirstOrDefault
();
DataObj
=
orderTransList
?.
Where
(
qitem
=>
qitem
.
Id
==
item
.
RelationId
&&
qitem
.
ChangeType
==
1
)?.
FirstOrDefault
();
}
//订单分拆
if
(
item
.
ReceiptType
==
Common
.
Enum
.
Finance
.
ReceiptTypeEnum
.
OrderSplitClass
)
{
DataObj
=
orderTransList
?.
Where
(
qitem
=>
qitem
.
Id
==
item
.
RelationId
&&
qitem
.
ChangeType
==
2
)?.
FirstOrDefault
();
}
}
object
AuditObj
=
new
object
();
object
AuditObj
=
new
object
();
if
(
item
.
VerifyStatus
==
EduTaskRrocessStatus
.
NotAudit
||
item
.
VerifyStatus
==
EduTaskRrocessStatus
.
AuditIng
)
if
(
item
.
VerifyStatus
==
EduTaskRrocessStatus
.
NotAudit
||
item
.
VerifyStatus
==
EduTaskRrocessStatus
.
AuditIng
)
...
@@ -1129,6 +1146,18 @@ namespace Edu.Module.EduTask
...
@@ -1129,6 +1146,18 @@ namespace Edu.Module.EduTask
student_BackClassRepository
.
UpdateGuestStateRepository
(
receiptModel
,
auditModel
);
student_BackClassRepository
.
UpdateGuestStateRepository
(
receiptModel
,
auditModel
);
}
}
}
}
if
(
receiptModel
.
ReceiptType
==
Common
.
Enum
.
Finance
.
ReceiptTypeEnum
.
OrderSplitClass
)
{
if
(
auditModel
.
AuditStatus
==
2
)
{
orderChangeModule
.
UpdateOrderSplitModule
(
receiptModel
);
}
else
if
(
auditModel
.
AuditStatus
==
3
)
{
student_BackClassRepository
.
UpdateGuestStateRepository
(
receiptModel
,
auditModel
);
}
}
return
flag
;
return
flag
;
}
}
...
...
Edu.Module.EduTask/OrderChangeModule.cs
View file @
5a997bdc
...
@@ -84,7 +84,7 @@ namespace Edu.Module.EduTask
...
@@ -84,7 +84,7 @@ namespace Edu.Module.EduTask
private
readonly
RB_Class_PlanRepository
class_PlanRepository
=
new
RB_Class_PlanRepository
();
private
readonly
RB_Class_PlanRepository
class_PlanRepository
=
new
RB_Class_PlanRepository
();
/// <summary>
/// <summary>
/// 新增订单转班
、分拆
/// 新增订单转班
/// </summary>
/// </summary>
/// <param name="model"></param>
/// <param name="model"></param>
/// <returns></returns>
/// <returns></returns>
...
@@ -480,5 +480,182 @@ namespace Edu.Module.EduTask
...
@@ -480,5 +480,182 @@ namespace Edu.Module.EduTask
#
endregion
#
endregion
return
frid
;
return
frid
;
}
}
#
region
分拆订单
/// <summary>
/// 新增订单拆分申请
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[
TransactionCallHandler
]
public
virtual
bool
SetOrderSplitModule
(
RB_Order_Change_ViewModel
model
,
out
string
message
)
{
message
=
""
;
bool
flag
=
false
;
var
newId
=
order_ChangeRepository
.
Insert
(
model
);
model
.
Id
=
newId
;
flag
=
newId
>
0
;
if
(
flag
)
{
var
educationReceipt
=
new
RB_Education_Receipt
()
{
Id
=
0
,
Title
=
"订单分拆申请"
,
ReceiptType
=
Common
.
Enum
.
Finance
.
ReceiptTypeEnum
.
OrderSplitClass
,
RelationId
=
newId
,
OrderId
=
model
.
SourceOrderId
,
ClassId
=
model
.
NewClassId
,
Group_Id
=
model
.
Group_Id
,
School_Id
=
model
.
School_Id
,
CreateBy
=
model
.
CreateBy
,
CreateTime
=
model
.
CreateTime
,
UpdateBy
=
model
.
UpdateBy
,
UpdateTime
=
model
.
UpdateTime
,
VerifyStatus
=
Common
.
Enum
.
EduTask
.
EduTaskRrocessStatus
.
NotAudit
,
IsCreate
=
0
,
EffectiveDate
=
model
.
EffectiveDate
};
flag
=
education_ReceiptRepository
.
SetEducationReceiptRepository
(
educationReceipt
,
out
message
);
Dictionary
<
string
,
object
>
guestFileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Order_Guest_ViewModel
.
GuestState
),
8
}
};
if
(
flag
)
{
flag
=
guestRepository
.
Update
(
guestFileds
,
new
WhereHelper
(
nameof
(
RB_Order_Guest_ViewModel
.
Id
),
model
.
OrderGuestId
));
}
}
return
flag
;
}
/// <summary>
/// 订单分拆处理类方法
/// </summary>
/// <returns></returns>
public
bool
UpdateOrderSplitModule
(
RB_Education_Receipt
receiptModel
)
{
bool
flag
=
false
;
if
(
receiptModel
.
RelationId
>
0
)
{
var
orderChangeModel
=
order_ChangeRepository
.
GetEntity
<
RB_Order_Change_ViewModel
>(
receiptModel
.
RelationId
);
if
(
orderChangeModel
!=
null
&&
orderChangeModel
.
Id
>
0
)
{
//计算新班级课时数
var
oldOrderModel
=
orderRepository
.
GetEntity
(
orderChangeModel
.
SourceOrderId
);
var
newClassModel
=
classRepository
.
GetEntity
(
orderChangeModel
.
NewClassId
);
var
newCourseModel
=
courseRepository
.
GetEntity
(
orderChangeModel
.
NewCourseId
);
var
userInfo
=
UserReidsCache
.
GetUserLoginInfo
(
oldOrderModel
.
EnterID
);
var
guestClassHours
=
GetGuestFinishMinutesModule
(
orderChangeModel
.
OrderGuestId
.
ToString
());
var
guestModel
=
guestRepository
.
GetEntity
(
orderChangeModel
.
OrderGuestId
);
//计算课时单价
//老订单应收
//单个人员的课时单价
var
unitPrice
=
(
oldOrderModel
.
Income
+
oldOrderModel
.
PlatformTax
)
/
oldOrderModel
.
GuestNum
/
guestModel
.
TotalHours
;
//单人已完成应收
var
singleFinishPrice
=
Math
.
Round
(
guestClassHours
.
FinishClassHours
*
unitPrice
,
2
);
//单人应收
var
singlePreferPrice
=
Math
.
Round
(
guestModel
.
TotalHours
*
unitPrice
,
2
);
//原订单应收=原订单应收-单人应收+单人完成
decimal
oldPreferPrice
=
oldOrderModel
.
PreferPrice
-
singlePreferPrice
+
singleFinishPrice
;
//新订单应收和退款一致
decimal
newPreferPrice
=
singlePreferPrice
-
singleFinishPrice
;
#
region
生成新订单
var
orderModel
=
new
RB_Order_ViewModel
()
{
OrderId
=
0
,
ClassId
=
orderChangeModel
.
NewClassId
,
//班级编号
GuestNum
=
1
,
OrderSource
=
oldOrderModel
.
OrderSource
,
OrderType
=
oldOrderModel
.
OrderType
,
Class_Price
=
newCourseModel
.
SellPrice
,
//单价
Unit_Price
=
newCourseModel
.
SellPrice
,
//成交单价
PreferPrice
=
newPreferPrice
,
//应收,
Income
=
0
,
HelpEnterId
=
0
,
GeneralOccupation
=
""
,
EduOccupation
=
""
,
SaleRemark
=
orderChangeModel
.
Remarks
,
//销售备注
SourceId
=
0
,
IsLessPrice
=
0
,
LessPrice
=
0
,
OrderNature
=
oldOrderModel
.
OrderNature
,
OldPreferPrice
=
newPreferPrice
,
//应收,
CourseId
=
orderChangeModel
.
NewCourseId
,
StartClassHours
=
0
,
UpOrderId
=
0
,
VisitorReserveId
=
0
,
JoinType
=
Common
.
Enum
.
Sale
.
OrderJoinTypeEnum
.
TransOrder
,
TargetJoinType
=
Common
.
Enum
.
Sale
.
OrderJoinTypeEnum
.
Normal
,
EffectTime
=
orderChangeModel
.
EffectiveDate
,
};
orderModel
.
SourceOrderId
=
orderChangeModel
.
SourceOrderId
;
orderModel
.
Group_Id
=
userInfo
.
Group_Id
;
orderModel
.
School_Id
=
userInfo
.
School_Id
;
orderModel
.
Dept_Id
=
userInfo
.
DeptId
;
orderModel
.
OrderForm
=
OrderFormEnum
.
Computer
;
orderModel
.
EnterID
=
userInfo
.
Id
;
orderModel
.
OrderState
=
OrderStateEnum
.
Normal
;
orderModel
.
TradeWay
=
TradeWayEnum
.
OnLine
;
orderModel
.
CreateBy
=
userInfo
.
Id
;
orderModel
.
CreateTime
=
DateTime
.
Now
;
orderModel
.
UpdateBy
=
userInfo
.
Id
;
orderModel
.
UpdateTime
=
DateTime
.
Now
;
orderModel
.
OldGuestId
=
orderChangeModel
.
OrderGuestId
;
flag
=
orderModule
.
SetClassOrderCommonModule
(
orderModel
,
userInfo
,
false
,
out
string
message
);
#
endregion
if
(
flag
)
{
#
region
修改老订单
【目标订单和应收】
Dictionary
<
string
,
object
>
fileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Order_ViewModel
.
TargetOrderId
),
orderModel
.
OrderId
},
{
nameof
(
RB_Order_ViewModel
.
PreferPrice
),
oldPreferPrice
},
{
nameof
(
RB_Order_ViewModel
.
TargetJoinType
),(
int
)
Common
.
Enum
.
Sale
.
OrderJoinTypeEnum
.
TransOrder
},
};
flag
=
orderRepository
.
Update
(
fileds
,
new
WhereHelper
(
nameof
(
RB_Order_ViewModel
.
OrderId
),
orderChangeModel
.
SourceOrderId
));
#
endregion
#
region
修改老学员课时相关
Dictionary
<
string
,
object
>
guestFileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Order_Guest_ViewModel
.
TotalHours
),
guestClassHours
.
FinishClassHours
},
{
nameof
(
RB_Order_Guest_ViewModel
.
GuestState
),
7
},
};
if
(
flag
)
{
flag
=
guestRepository
.
Update
(
guestFileds
,
new
WhereHelper
(
nameof
(
RB_Order_Guest_ViewModel
.
Id
),
orderChangeModel
.
OrderGuestId
));
}
#
endregion
#
region
生成财务单据
if
(
flag
)
{
//var RelevanceFrId = CreateExpenditure(newPreferPrice, guestModel.Id, guestModel.GuestName, userInfo, oldOrderModel.ClassId, oldOrderModel.OrderId, out string msg1);
//var InCome = CreateInCome(newPreferPrice, orderModel.NewGuestId, guestModel.GuestName, userInfo, orderModel.ClassId, orderModel.OrderId, RelevanceFrId, out string msg2);
//flag = RelevanceFrId > 0 && InCome > 0;
}
#
endregion
}
if
(
flag
)
{
//Dictionary<string, object> fileds = new Dictionary<string, object>()
//{
// {nameof(RB_Education_Receipt.IsCreate),1}
//};
//flag = education_ReceiptRepository.Update(fileds, new WhereHelper(nameof(RB_Education_Receipt.Id), receiptModel.Id));
}
}
}
return
flag
;
}
#
endregion
}
}
}
}
Edu.Module.Finance/FinanceModule.cs
View file @
5a997bdc
...
@@ -3695,12 +3695,38 @@ namespace Edu.Module.Finance
...
@@ -3695,12 +3695,38 @@ namespace Edu.Module.Finance
//查询关联老师
//查询关联老师
string
teacherIds
=
string
.
Join
(
","
,
list
.
Where
(
x
=>
x
.
EnterID
!=
x
.
HelpEnterId
&&
x
.
HelpEnterId
>
0
).
Select
(
x
=>
x
.
HelpEnterId
).
Distinct
());
string
teacherIds
=
string
.
Join
(
","
,
list
.
Where
(
x
=>
x
.
EnterID
!=
x
.
HelpEnterId
&&
x
.
HelpEnterId
>
0
).
Select
(
x
=>
x
.
HelpEnterId
).
Distinct
());
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>
teacherList
=
new
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>();
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>
teacherList
=
new
List
<
Model
.
ViewModel
.
User
.
Employee_ViewModel
>();
if
(!
string
.
IsNullOrEmpty
(
teacherIds
))
{
if
(!
string
.
IsNullOrEmpty
(
teacherIds
))
{
teacherList
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
groupId
,
QIds
=
teacherIds
});
teacherList
=
accountRepository
.
GetEmployeeListRepository
(
new
Model
.
ViewModel
.
User
.
Employee_ViewModel
()
{
Group_Id
=
groupId
,
QIds
=
teacherIds
});
}
}
List
<
RB_Order_ViewModel
>
sourceTargetList
=
new
List
<
RB_Order_ViewModel
>();
List
<
int
>
idList
=
new
List
<
int
>();
var
sourceOrderIdList
=
Common
.
ConvertHelper
.
StringToList
(
string
.
Join
(
","
,
list
.
Select
(
x
=>
x
.
SourceOrderId
)));
if
(
sourceOrderIdList
!=
null
&&
sourceOrderIdList
.
Count
>
0
)
{
idList
.
AddRange
(
sourceOrderIdList
);
}
var
targetOrderIdList
=
Common
.
ConvertHelper
.
StringToList
(
string
.
Join
(
","
,
list
.
Select
(
x
=>
x
.
TargetOrderId
)));
if
(
targetOrderIdList
!=
null
&&
targetOrderIdList
.
Count
>
0
)
{
idList
.
AddRange
(
targetOrderIdList
);
}
if
(
idList
!=
null
&&
idList
.
Count
>
0
)
{
string
ids
=
string
.
Join
(
","
,
idList
);
sourceTargetList
=
orderRepository
.
GetOrderListRepository
(
new
RB_Order_ViewModel
{
QOrderIds
=
ids
});
}
foreach
(
var
item
in
list
)
foreach
(
var
item
in
list
)
{
{
if
(
item
.
SourceOrderId
>
0
)
{
item
.
SourceClassName
=
sourceTargetList
?.
Where
(
qitem
=>
qitem
.
OrderId
==
item
.
SourceOrderId
)?.
FirstOrDefault
()?.
ClassName
;
}
if
(
item
.
TargetOrderId
>
0
)
{
item
.
TargetClassName
=
sourceTargetList
?.
Where
(
qitem
=>
qitem
.
OrderId
==
item
.
TargetOrderId
)?.
FirstOrDefault
()?.
ClassName
;
}
string
SaleName
=
ulist
.
Where
(
x
=>
x
.
Id
==
item
.
EnterID
).
FirstOrDefault
()?.
EmployeeName
??
""
;
string
SaleName
=
ulist
.
Where
(
x
=>
x
.
Id
==
item
.
EnterID
).
FirstOrDefault
()?.
EmployeeName
??
""
;
string
HelpEnterName
=
""
;
string
HelpEnterName
=
""
;
if
(
item
.
EnterID
!=
item
.
HelpEnterId
&&
item
.
HelpEnterId
>
0
)
{
if
(
item
.
EnterID
!=
item
.
HelpEnterId
&&
item
.
HelpEnterId
>
0
)
{
...
@@ -3726,7 +3752,13 @@ namespace Edu.Module.Finance
...
@@ -3726,7 +3752,13 @@ namespace Edu.Module.Finance
UnitPrice
,
UnitPrice
,
XHMoney
=
Math
.
Round
(
item
.
UnitPrice
*
item
.
CurrentDeductionHours
,
6
,
MidpointRounding
.
AwayFromZero
),
XHMoney
=
Math
.
Round
(
item
.
UnitPrice
*
item
.
CurrentDeductionHours
,
6
,
MidpointRounding
.
AwayFromZero
),
SaleName
,
SaleName
,
HelpEnterName
HelpEnterName
,
item
.
JoinType
,
item
.
TargetJoinType
,
item
.
SourceOrderId
,
item
.
TargetOrderId
,
item
.
SourceClassName
,
item
.
TargetClassName
,
});
});
}
}
}
}
...
...
Edu.Repository/Course/RB_Class_CheckRepository.cs
View file @
5a997bdc
...
@@ -581,6 +581,7 @@ SELECT p.OrderGuestId,p.CurrentDeductionHours,t2.GuestName,p.TeacherId,t3.Teache
...
@@ -581,6 +581,7 @@ SELECT p.OrderGuestId,p.CurrentDeductionHours,t2.GuestName,p.TeacherId,t3.Teache
+ec.FirstBookFee + ec.SecondBookFee + ec.ThirdBookFee
+ec.FirstBookFee + ec.SecondBookFee + ec.ThirdBookFee
+ec.FirstClassFee + ec.SecondClassFee + ec.ThirdClassFee as TotalSub
+ec.FirstClassFee + ec.SecondClassFee + ec.ThirdClassFee as TotalSub
,ec.FirstClassHours + ec.SecondClassHours + ec.ThirdClassHours as ClassHours
,ec.FirstClassHours + ec.SecondClassHours + ec.ThirdClassHours as ClassHours
,o.JoinType,o.TargetJoinType,o.SourceOrderId,o.TargetOrderId
FROM rb_class_check p
FROM rb_class_check p
INNER JOIN rb_class_time t on p.ClassTimeId = t.ClassTimeId
INNER JOIN rb_class_time t on p.ClassTimeId = t.ClassTimeId
LEFT JOIN rb_order_guest t2 on p.OrderGuestId = t2.Id
LEFT JOIN rb_order_guest t2 on p.OrderGuestId = t2.Id
...
...
Edu.Repository/Course/RB_Education_ContractRepository.cs
View file @
5a997bdc
...
@@ -237,7 +237,9 @@ namespace Edu.Repository.Course
...
@@ -237,7 +237,9 @@ namespace Edu.Repository.Course
where
+=
$@" AND o.CreateTime <='
{
demodel
.
EndTime
}
23:59:59'"
;
where
+=
$@" AND o.CreateTime <='
{
demodel
.
EndTime
}
23:59:59'"
;
}
}
string
sql
=
$@" SELECT c.*,c1.ClassName,c1.ClassNo,ca.AdjustPrice FROM RB_Education_Contract c
string
sql
=
$@"
SELECT c.*,c1.ClassName,c1.ClassNo,ca.AdjustPrice,o.JoinType,o.TargetJoinType,o.SourceOrderId,o.TargetOrderId
FROM RB_Education_Contract c
left join RB_Education_ContractAdjust ca on c.Id = ca.ContractId
left join RB_Education_ContractAdjust ca on c.Id = ca.ContractId
left join rb_order o on c.OrderId = o.OrderId
left join rb_order o on c.OrderId = o.OrderId
left join rb_class c1 on o.ClassId = c1.ClassId
left join rb_class c1 on o.ClassId = c1.ClassId
...
...
Edu.Repository/Course/RB_Order_GuestRepository.cs
View file @
5a997bdc
...
@@ -572,7 +572,7 @@ WHERE {where}";
...
@@ -572,7 +572,7 @@ WHERE {where}";
/// <returns></returns>
/// <returns></returns>
public
List
<
RB_Order_Guest_ViewModel
>
GetTempInvitationGuest
(
Model
.
ViewModel
.
EduTask
.
RB_Temporary_Invitation_ViewModel
demodel
)
public
List
<
RB_Order_Guest_ViewModel
>
GetTempInvitationGuest
(
Model
.
ViewModel
.
EduTask
.
RB_Temporary_Invitation_ViewModel
demodel
)
{
{
string
where
=
$@" 1=1 and A.Status=0 and ti.Status=0
AND (B.IsChaBan=0 OR (B.IsChaBan=1 AND B.EffectStatus IN(1) ))
"
;
string
where
=
$@" 1=1 and A.Status=0 and ti.Status=0
AND (B.JoinType=1 OR (B.JoinType=2 AND B.EffectStatus IN(1) ))
"
;
if
(
demodel
.
Group_Id
>
0
)
if
(
demodel
.
Group_Id
>
0
)
{
{
where
+=
$@" and A.
{
nameof
(
Model
.
ViewModel
.
EduTask
.
RB_Temporary_Invitation_ViewModel
.
Group_Id
)}
=
{
demodel
.
Group_Id
}
"
;
where
+=
$@" and A.
{
nameof
(
Model
.
ViewModel
.
EduTask
.
RB_Temporary_Invitation_ViewModel
.
Group_Id
)}
=
{
demodel
.
Group_Id
}
"
;
...
...
Edu.Repository/EduTask/RB_Education_ReceiptRepository.cs
View file @
5a997bdc
...
@@ -125,7 +125,14 @@ WHERE 1=1
...
@@ -125,7 +125,14 @@ WHERE 1=1
}
}
if
(
query
.
VerifyStatus
>
-
1
)
if
(
query
.
VerifyStatus
>
-
1
)
{
{
builder
.
AppendFormat
(
@" AND A.{0}={1} "
,
nameof
(
RB_Education_Receipt_ViewModel
.
VerifyStatus
),
query
.
VerifyStatus
);
if
(
query
.
VerifyStatus
==
3
)
{
builder
.
AppendFormat
(
@" AND A.{0} IN(3,4) "
,
nameof
(
RB_Education_Receipt_ViewModel
.
VerifyStatus
));
}
else
{
builder
.
AppendFormat
(
@" AND A.{0}={1} "
,
nameof
(
RB_Education_Receipt_ViewModel
.
VerifyStatus
),
query
.
VerifyStatus
);
}
}
}
}
}
builder
.
AppendFormat
(
" ORDER BY A.{0} DESC "
,
nameof
(
RB_Education_Receipt_ViewModel
.
Id
));
builder
.
AppendFormat
(
" ORDER BY A.{0} DESC "
,
nameof
(
RB_Education_Receipt_ViewModel
.
Id
));
...
@@ -252,6 +259,15 @@ WHERE 1=1
...
@@ -252,6 +259,15 @@ WHERE 1=1
return
false
;
return
false
;
}
}
}
}
else
if
(
model
.
ReceiptType
==
Common
.
Enum
.
Finance
.
ReceiptTypeEnum
.
OrderSplitClass
)
{
flowModel
=
flowRepository
.
GetFlowRepository
(
Common
.
Config
.
OrderSplitClassFlowId
);
if
(
flowModel
==
null
)
{
message
=
"未配置订单分拆流程!"
;
return
false
;
}
}
if
(
flowModel
?.
FlowNodeList
?.
Count
==
0
)
if
(
flowModel
?.
FlowNodeList
?.
Count
==
0
)
{
{
message
=
"未配置审核流程!"
;
message
=
"未配置审核流程!"
;
...
...
Edu.WebApi/Controllers/Course/ClassController.cs
View file @
5a997bdc
...
@@ -809,10 +809,10 @@ namespace Edu.WebApi.Controllers.Course
...
@@ -809,10 +809,10 @@ namespace Edu.WebApi.Controllers.Course
});
});
}
}
}
}
foreach
(
var
item
in
tempGuestList
.
Where
(
x
=>
x
.
GuestState
==
1
||
x
.
GuestState
==
6
||
((
x
.
GuestState
==
5
||
x
.
GuestState
==
7
)
&&
x
.
ChangeEffectTime
.
HasValue
&&
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
FormatDate
(
x
.
ChangeEffectTime
))
>=
data
.
ClassDate
))
)
foreach
(
var
item
in
tempGuestList
)
{
{
// if ((item.IsChaBan == 1 && data.ClassDate >= Convert.ToDateTime(Common.ConvertHelper.FormatDate(item.EffectTime))
))
if
(
item
.
GuestState
==
1
||
item
.
GuestState
==
6
||
((
item
.
GuestState
==
5
||
item
.
GuestState
==
7
)
&&
item
.
ChangeEffectTime
.
HasValue
&&
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
FormatDate
(
item
.
ChangeEffectTime
))
>=
data
.
ClassDate
))
//
{
{
guestList
.
Add
(
new
guestList
.
Add
(
new
{
{
UserIcon
=
""
,
UserIcon
=
""
,
...
@@ -836,7 +836,7 @@ namespace Edu.WebApi.Controllers.Course
...
@@ -836,7 +836,7 @@ namespace Edu.WebApi.Controllers.Course
StudyNum
=
(
checkLogList
!=
null
&&
checkLogList
.
Any
())
?
checkLogList
.
Where
(
x
=>
x
.
OrderGuestId
==
item
.
Id
).
FirstOrDefault
()?.
StudyNum
??
0
:
0
,
StudyNum
=
(
checkLogList
!=
null
&&
checkLogList
.
Any
())
?
checkLogList
.
Where
(
x
=>
x
.
OrderGuestId
==
item
.
Id
).
FirstOrDefault
()?.
StudyNum
??
0
:
0
,
IsTemp
=
1
,
IsTemp
=
1
,
});
});
//
}
}
}
}
var
classMinutes
=
classModule
.
GetClassMinutesModule
(
classId
);
var
classMinutes
=
classModule
.
GetClassMinutesModule
(
classId
);
...
...
Edu.WebApi/Controllers/EduTask/OrderChangeController.cs
View file @
5a997bdc
...
@@ -106,5 +106,46 @@ namespace Edu.WebApi.Controllers.EduTask
...
@@ -106,5 +106,46 @@ namespace Edu.WebApi.Controllers.EduTask
bool
flag
=
orderChangeModule
.
SetOrderChangeModule
(
model
,
out
string
message
);
bool
flag
=
orderChangeModule
.
SetOrderChangeModule
(
model
,
out
string
message
);
return
flag
?
ApiResult
.
Success
()
:
ApiResult
.
Failed
(
message
:
message
);
return
flag
?
ApiResult
.
Success
()
:
ApiResult
.
Failed
(
message
:
message
);
}
}
/// <summary>
/// 订单拆分申请
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SetOrderSplit
()
{
var
model
=
new
RB_Order_Change_ViewModel
()
{
Id
=
base
.
ParmJObj
.
GetInt
(
"Id"
),
SourceOrderId
=
base
.
ParmJObj
.
GetInt
(
"SourceOrderId"
),
ChangeType
=
base
.
ParmJObj
.
GetInt
(
"ChangeType"
),
NewClassId
=
base
.
ParmJObj
.
GetInt
(
"NewClassId"
),
NewCourseId
=
base
.
ParmJObj
.
GetInt
(
"NewCourseId"
),
EffectiveDate
=
base
.
ParmJObj
.
GetDateTime
(
"EffectiveDate"
),
Remarks
=
base
.
ParmJObj
.
GetStringValue
(
"Remarks"
),
OrderGuestId
=
base
.
ParmJObj
.
GetInt
(
"OrderGuestId"
),
OutTime
=
base
.
ParmJObj
.
GetDateTime
(
"OutTime"
),
};
var
oldOrderModel
=
orderModule
.
GetClassOrderInfoModule
(
model
.
SourceOrderId
);
if
(
oldOrderModel
==
null
)
{
return
ApiResult
.
ParamIsNull
(
message
:
"原订单号不存在!"
);
}
if
(
oldOrderModel
.
PreferPrice
!=
(
oldOrderModel
.
Income
+
oldOrderModel
.
PlatformTax
-
oldOrderModel
.
Refund
))
{
return
ApiResult
.
ParamIsNull
(
message
:
"原订单款未收齐,不能转班!"
);
}
var
classModel
=
classModule
.
GetClassModule
(
model
.
NewClassId
);
model
.
CreateBy
=
base
.
UserInfo
.
Id
;
model
.
CreateTime
=
DateTime
.
Now
;
model
.
Group_Id
=
base
.
UserInfo
.
Group_Id
;
model
.
School_Id
=
classModel
.
School_Id
;
model
.
UpdateBy
=
base
.
UserInfo
.
Id
;
model
.
UpdateTime
=
DateTime
.
Now
;
bool
flag
=
orderChangeModule
.
SetOrderSplitModule
(
model
,
out
string
message
);
return
flag
?
ApiResult
.
Success
()
:
ApiResult
.
Failed
(
message
:
message
);
}
}
}
}
}
Edu.WebApi/Controllers/Finance/FinanceController.cs
View file @
5a997bdc
...
@@ -1048,6 +1048,12 @@ namespace Edu.WebApi.Controllers.Finance
...
@@ -1048,6 +1048,12 @@ namespace Edu.WebApi.Controllers.Finance
x
.
TotalDiscountMoney
,
x
.
TotalDiscountMoney
,
x
.
TotalMoney
,
x
.
TotalMoney
,
x
.
Status
,
x
.
Status
,
x
.
JoinType
,
x
.
TargetJoinType
,
x
.
SourceOrderId
,
x
.
SourceClassName
,
x
.
TargetOrderId
,
x
.
TargetClassName
,
IncomeList
=
x
.
FinanceList
.
Where
(
t
=>
t
.
Type
==
WFTempLateClassEnum
.
IN
).
Select
(
z
=>
new
IncomeList
=
x
.
FinanceList
.
Where
(
t
=>
t
.
Type
==
WFTempLateClassEnum
.
IN
).
Select
(
z
=>
new
{
{
z
.
FrID
,
z
.
FrID
,
...
...
Edu.WebApi/Controllers/User/UserController.cs
View file @
5a997bdc
...
@@ -1570,9 +1570,16 @@ namespace Edu.WebApi.Controllers.User
...
@@ -1570,9 +1570,16 @@ namespace Edu.WebApi.Controllers.User
{
{
var
AccountId
=
base
.
ParmJObj
.
GetInt
(
"AccountId"
);
var
AccountId
=
base
.
ParmJObj
.
GetInt
(
"AccountId"
);
var
AccountType
=
(
AccountTypeEnum
)
base
.
ParmJObj
.
GetInt
(
"AccountType"
);
var
AccountType
=
(
AccountTypeEnum
)
base
.
ParmJObj
.
GetInt
(
"AccountType"
);
var
Remark
=
base
.
ParmJObj
.
GetStringValue
(
"Remark"
);
var
Remark
=
base
.
ParmJObj
.
GetStringValue
(
"Remark"
);
var
targetAccountType
=
(
AccountTypeEnum
)
base
.
ParmJObj
.
GetInt
(
"TargetAccountType"
);
var
targetAccountType
=
(
AccountTypeEnum
)
base
.
ParmJObj
.
GetInt
(
"TargetAccountType"
);
if
(
AccountId
<=
0
||
base
.
ParmJObj
.
GetInt
(
"AccountType"
)<=
0
)
{
return
ApiResult
.
ParamIsNull
(
message
:
"请选择用户"
);
}
if
(
base
.
ParmJObj
.
GetInt
(
"TargetAccountType"
)
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
message
:
"请选择用户目标职能!"
);
}
var
flag
=
managerModule
.
SetEmployeeTypeModule
(
targetAccountType
,
AccountId
,
AccountType
,
Remark
,
base
.
UserInfo
);
var
flag
=
managerModule
.
SetEmployeeTypeModule
(
targetAccountType
,
AccountId
,
AccountType
,
Remark
,
base
.
UserInfo
);
return
flag
?
ApiResult
.
Success
()
:
ApiResult
.
Failed
();
return
flag
?
ApiResult
.
Success
()
:
ApiResult
.
Failed
();
}
}
...
...
Edu.WebApi/appsettings.json
View file @
5a997bdc
...
@@ -87,5 +87,7 @@
...
@@ -87,5 +87,7 @@
//临时上课邀请流程编号
//临时上课邀请流程编号
"TempInvitationClassFlowId"
:
4
,
"TempInvitationClassFlowId"
:
4
,
//订单转班流程编号
//订单转班流程编号
"OrderTransClassFlowId"
:
5
"OrderTransClassFlowId"
:
5
,
//订单分拆流程编号
"OrderSplitClassFlowId"
:
6
}
}
\ No newline at end of file
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