Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
V
volunteer_service
Project
Project
Details
Activity
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
licc
volunteer_service
Commits
968e413d
Commit
968e413d
authored
Apr 25, 2021
by
cy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
方案查询添加本科专科选择、方案列表进行专业、分数排序
parent
2ebaa084
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
114 additions
and
108 deletions
+114
-108
VolunteerMapper.xml
...ergy-mapper/src/main/resources/mapper/VolunteerMapper.xml
+9
-1
GradeType.java
...del/src/main/java/cn/wisenergy/model/enums/GradeType.java
+37
-0
SchemeVo.java
...y-model/src/main/java/cn/wisenergy/model/vo/SchemeVo.java
+6
-0
SchemeRecordServiceImpl.java
...n/wisenergy/service/app/impl/SchemeRecordServiceImpl.java
+1
-1
SchemeServiceImpl.java
...java/cn/wisenergy/service/app/impl/SchemeServiceImpl.java
+61
-106
No files found.
wisenergy-mapper/src/main/resources/mapper/VolunteerMapper.xml
View file @
968e413d
...
...
@@ -116,6 +116,12 @@
<if
test=
"type != null"
>
and type =#{type}
</if>
<if
test=
"classNames != null"
>
and
<foreach
collection=
"classNames"
index=
"index"
item=
"id"
separator=
"or"
open=
"("
close=
")"
>
course_demand LIKE CONCAT('%',#{id},'%')
</foreach>
</if>
<if
test=
"volunteerIds != null and volunteerIds.size > 0 "
>
and id NOT IN
<foreach
collection=
"volunteerIds"
index=
"index"
item=
"id"
separator=
","
open=
"("
close=
")"
>
...
...
@@ -129,7 +135,8 @@
<select
id=
"getListByIds"
resultType=
"cn.wisenergy.model.app.Volunteer"
>
select
<include
refid=
"cols_all"
/>
id, type,scheme_id,substring(major_name,3) major_name,academy, course_demand,nature,year_limit,plan_num,
cast_archives_num,launch_num,lowest_mark, lowest_rank,is_delete,create_time,update_time
from
<include
refid=
"table"
/>
<where>
...
...
@@ -138,6 +145,7 @@
#{id}
</foreach>
</where>
order BY major_name , lowest_mark desc
</select>
<select
id=
"getVolunteerList"
resultType=
"cn.wisenergy.model.app.Volunteer"
>
...
...
wisenergy-model/src/main/java/cn/wisenergy/model/enums/GradeType.java
0 → 100644
View file @
968e413d
package
cn
.
wisenergy
.
model
.
enums
;
public
enum
GradeType
{
//本科
UNDERGRADUATE
(
0
,
"本科"
),
//专科
SPECIALTY
(
1
,
"专科"
);
private
Integer
code
;
private
String
desc
;
GradeType
(
Integer
code
,
String
desc
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
String
getDescription
()
{
return
desc
;
}
public
Integer
getCode
()
{
return
code
;
}
public
static
String
getNameByCode
(
Integer
code
)
{
if
(
null
==
code
)
{
return
null
;
}
for
(
SceneType
type
:
SceneType
.
values
())
{
if
(
type
.
getCode
().
intValue
()
==
code
.
intValue
())
{
return
type
.
name
();
}
}
return
null
;
}
}
wisenergy-model/src/main/java/cn/wisenergy/model/vo/SchemeVo.java
View file @
968e413d
...
...
@@ -54,5 +54,11 @@ public class SchemeVo implements Serializable {
@ApiModelProperty
(
value
=
"是否展示全部 0:否 1:是"
,
name
=
"isShowAll"
)
private
Integer
isShowAll
;
/**
* 类型(专科、本科)
*/
@ApiModelProperty
(
value
=
"类型(专科、本科)"
,
name
=
"gradeType"
)
private
String
gradeType
;
}
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/SchemeRecordServiceImpl.java
View file @
968e413d
...
...
@@ -123,7 +123,7 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch
for
(
Volunteer
volunteer
:
result
)
{
volunteer
.
setQueryTime
(
schemeQueryRecord
.
getCreateTime
());
}
result
.
sort
(
Comparator
.
comparing
(
Volunteer:
:
getLowestMark
).
reversed
());
//
result.sort(Comparator.comparing(Volunteer::getLowestMark).reversed());
//最低位次为空,则用--代替
for
(
Volunteer
info
:
result
){
if
(
info
.
getLowestRank
()
==
null
){
...
...
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/SchemeServiceImpl.java
View file @
968e413d
...
...
@@ -5,13 +5,12 @@ import cn.wisenergy.common.utils.R;
import
cn.wisenergy.common.utils.StringUtil
;
import
cn.wisenergy.mapper.*
;
import
cn.wisenergy.model.app.*
;
import
cn.wisenergy.model.enums.GradeType
;
import
cn.wisenergy.model.enums.SchemeTypeEnums
;
import
cn.wisenergy.model.enums.StudentClassEnum
;
import
cn.wisenergy.model.enums.StudentType
;
import
cn.wisenergy.model.vo.*
;
import
cn.wisenergy.service.app.SchemeService
;
import
cn.wisenergy.service.app.UserLimitService
;
import
cn.wisenergy.service.app.UserVolunteerService
;
import
cn.wisenergy.service.common.VolunteerManager
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
...
...
@@ -22,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.stream.Collectors
;
...
...
@@ -46,9 +46,6 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
@Autowired
private
VolunteerMapper
volunteerMapper
;
@Autowired
private
SchemeRecordMapper
schemeRecordMapper
;
@Autowired
private
UserVolunteerMapper
userVolunteerMapper
;
...
...
@@ -58,13 +55,9 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
@Autowired
private
ProfessionMapper
professionMapper
;
@Autowired
private
UserVolunteerService
userVolunteerService
;
@Autowired
private
VolunteerManager
volunteerManager
;
@Autowired
private
UserLimitService
userLimitService
;
@Autowired
private
UserLimitMapper
userLimitMapper
;
/**
...
...
@@ -109,6 +102,8 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
if
(
CollectionUtils
.
isEmpty
(
professionName
))
{
return
R
.
error
(
"未选择专业!"
);
}
//本科or专科
String
gradeType
=
queryVo
.
getGradeType
()
==
null
?
null
:
queryVo
.
getGradeType
();
//(1)判断考生类型 文化课考生
//初始化返回数据总条数
...
...
@@ -147,7 +142,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
}
totalResult
=
firstRule
.
getNumber
();
list
=
getCultureList
(
scoreInfo
,
firstRule
,
secondRule
,
className
,
professionName
,
firstCulture
,
secondCultur
e
);
list
=
getCultureList
(
firstRule
,
secondRule
,
className
,
professionName
,
firstCulture
,
secondCulture
,
gradeTyp
e
);
}
//(2)美术考生
...
...
@@ -175,7 +170,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
}
totalResult
=
firstRule
.
getNumber
();
list
=
getArtsList
(
queryVo
,
firstRule
,
secondRule
,
className
,
professionName
);
list
=
getArtsList
(
queryVo
,
firstRule
,
secondRule
,
className
,
professionName
,
gradeType
);
}
//(3)文学编导考生
...
...
@@ -203,7 +198,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
}
totalResult
=
firstRule
.
getNumber
();
list
=
getLiteratureList
(
queryVo
,
firstRule
,
secondRule
,
className
,
professionName
);
list
=
getLiteratureList
(
queryVo
,
firstRule
,
secondRule
,
className
,
professionName
,
gradeType
);
}
//(4)体育考生
...
...
@@ -233,7 +228,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
}
totalResult
=
firstRule
.
getNumber
();
list
=
getSportsList
(
total
,
firstRule
,
secondRule
,
className
,
professionName
);
list
=
getSportsList
(
total
,
firstRule
,
secondRule
,
className
,
professionName
,
gradeType
);
}
//4、判断返回的结果数据是否大于totalResult
...
...
@@ -314,7 +309,6 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
if
(
null
==
schemeInfo
)
{
return
R
.
error
(
"方案信息不存在!"
);
}
//更新方案状态为 :1 删除
schemeInfo
.
setIsDelete
(
1
);
...
...
@@ -389,9 +383,9 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
return
R
.
error
(
"入参为空!"
);
}
//综合成绩
Integer
totalMax
=
null
==
schemeVo
.
getTotalMax
()
?
null
:
schemeVo
.
getTotalMax
();
Integer
totalMin
=
null
==
schemeVo
.
getTotalMin
()
?
null
:
schemeVo
.
getTotalMin
();
//综合成绩
区间
Integer
totalMax
=
schemeVo
.
getTotalMax
();
Integer
totalMin
=
schemeVo
.
getTotalMin
();
//地区
List
<
String
>
locals
=
StringUtil
.
strToArrayStr
(
schemeVo
.
getLocal
());
...
...
@@ -402,7 +396,6 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
return
R
.
error
(
"请先添加vip客户信息!"
);
}
//2、获取考生成绩
QueryWrapper
<
ScoreInfo
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"user_id"
,
schemeVo
.
getUserId
());
...
...
@@ -442,7 +435,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
if
(
cultureGrade
<
secondRule
.
getCultureMin
())
{
return
R
.
error
(
"很抱歉,客户的成绩不满足报考条件,无法查询!"
);
}
list
=
getCultureVipList
(
firstRule
,
secondRule
,
cultureGrade
,
totalMax
,
totalMin
,
locals
,
nameByIds
);
list
=
getCultureVipList
(
firstRule
,
cultureGrade
,
totalMax
,
totalMin
,
locals
,
nameByIds
);
}
//(2)美术考生
...
...
@@ -462,7 +455,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
if
(
majorGrade
<
secondRule
.
getProfessionMin
())
{
return
R
.
error
(
"很抱歉,客户的成绩不满足报考条件,无法查询!"
);
}
list
=
getArtsVipList
(
firstRule
,
secondRule
,
cultureGrade
,
majorGrade
,
totalMax
,
totalMin
,
locals
,
nameByIds
);
list
=
getArtsVipList
(
firstRule
,
cultureGrade
,
majorGrade
,
totalMax
,
totalMin
,
locals
,
nameByIds
);
}
//(3)文学编导考生
...
...
@@ -479,11 +472,10 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
return
R
.
error
(
"无文学编导专科录取规则!"
);
}
if
(
majorGrade
<
secondRule
.
getProfessionMin
())
{
return
R
.
error
(
"很抱歉,客户的成绩不满足报考条件,无法查询!"
);
}
list
=
getLiteratureVipList
(
firstRule
,
secondRule
,
cultureGrade
,
majorGrade
,
totalMax
,
totalMin
,
locals
,
nameByIds
);
list
=
getLiteratureVipList
(
firstRule
,
cultureGrade
,
majorGrade
,
totalMax
,
totalMin
,
locals
,
nameByIds
);
}
//(4)体育考生
...
...
@@ -499,12 +491,12 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
if
(
null
==
secondRule
)
{
return
R
.
error
(
"无体育专科录取规则!"
);
}
double
total
=
majorGrade
*
750
/
100
*
0.7
+
cultureGrade
*
0.3
;
double
total
=
majorGrade
*
750
/
100
*
0.7
+
cultureGrade
*
0.3
;
if
(
total
<
secondRule
.
getCultureMin
())
{
return
R
.
error
(
"很抱歉,客户的成绩不满足报考条件,无法查询!"
);
}
list
=
getSportsVipList
(
firstRule
,
secondRule
,
cultureGrade
,
majorGrade
,
totalMax
,
totalMin
,
locals
,
nameByIds
);
list
=
getSportsVipList
(
firstRule
,
cultureGrade
,
majorGrade
,
totalMax
,
totalMin
,
locals
,
nameByIds
);
}
//4判断是否展示全部方案
...
...
@@ -540,12 +532,12 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
* @param professionNames 专业名称
* @return vip文化生志愿列表
*/
private
List
<
Volunteer
>
getCultureVipList
(
AdmissionRule
firstRule
,
AdmissionRule
secondRule
,
D
ouble
cultureGrade
,
Integer
totalMax
,
Integer
totalMin
,
List
<
String
>
locals
,
List
<
String
>
professionNames
)
{
private
List
<
Volunteer
>
getCultureVipList
(
AdmissionRule
firstRule
,
d
ouble
cultureGrade
,
Integer
totalMax
,
Integer
totalMin
,
List
<
String
>
locals
,
List
<
String
>
professionNames
)
{
double
cultureMax
=
firstRule
.
getCultureMax
();
double
cultureMin
=
firstRule
.
getCultureMin
();
//考生的分数在本科一批中
List
<
Volunteer
>
list
=
new
ArrayList
<>()
;
List
<
Volunteer
>
list
;
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
16
);
map
.
put
(
"professionNames"
,
professionNames
);
map
.
put
(
"locals"
,
locals
);
...
...
@@ -554,8 +546,8 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
map
.
put
(
"totalMax"
,
totalMax
);
map
.
put
(
"totalMin"
,
totalMin
);
list
=
volunteerMapper
.
getVolunteerListVip
(
map
);
}
else
{
//获取专科方案
map
.
put
(
"type"
,
SchemeTypeEnums
.
JUNIOR_COLLEGE_MAJOR
.
getCode
());
map
.
put
(
"totalMax"
,
totalMax
);
map
.
put
(
"totalMin"
,
totalMin
);
...
...
@@ -568,34 +560,28 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
* 获取vip美术生志愿方案
*
* @param firstRule 本科规则
* @param secondRule 专科规则
* @param professionNames 专业名称
* @return 志愿方案列表
*/
private
List
<
Volunteer
>
getArtsVipList
(
AdmissionRule
firstRule
,
AdmissionRule
secondRule
,
Double
cultureGrade
,
D
ouble
majorGrade
,
Integer
totalMax
,
Integer
totalMin
,
List
<
String
>
locals
,
private
List
<
Volunteer
>
getArtsVipList
(
AdmissionRule
firstRule
,
double
cultureGrade
,
d
ouble
majorGrade
,
Integer
totalMax
,
Integer
totalMin
,
List
<
String
>
locals
,
List
<
String
>
professionNames
)
{
//本科类比分 = 本年录取分 -去年录取分 + 考生分数
/*double culture = firstRule.getCurrentYearCulture() - firstRule.getCultureMin() + Double.parseDouble(schemeVo.getCultureGrade());
double major = firstRule.getCurrentYearMajor() - firstRule.getProfessionMin() + Double.parseDouble(schemeVo.getMajorGrade());*/
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
16
);
map
.
put
(
"professionNames"
,
professionNames
);
map
.
put
(
"locals"
,
locals
);
//1、考生是否能报取美术本科
List
<
Volunteer
>
list
=
new
ArrayList
<>()
;
List
<
Volunteer
>
list
;
if
(
cultureGrade
>=
firstRule
.
getCultureMin
()
&&
majorGrade
>=
firstRule
.
getProfessionMin
())
{
map
.
put
(
"type"
,
SchemeTypeEnums
.
UNDERGRADUATE_ARTS
.
getCode
());
map
.
put
(
"totalMax"
,
totalMax
);
map
.
put
(
"totalMin"
,
totalMin
);
list
=
volunteerMapper
.
getVolunteerListVip
(
map
);
return
list
;
}
else
{
//获取专科方案
map
.
put
(
"type"
,
SchemeTypeEnums
.
JUNIOR_COLLEGE_ARTS
.
getCode
());
map
.
put
(
"totalMax"
,
totalMax
);
map
.
put
(
"totalMin"
,
totalMin
);
list
=
volunteerMapper
.
getVolunteerListVip
(
map
);
}
return
list
;
}
...
...
@@ -603,17 +589,16 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
* 获取vip文学编导生志愿方案
*
* @param firstRule 本科规则
* @param secondRule 专科规则
* @param professionNames 专业名称
* @return 志愿方案列表
*/
private
List
<
Volunteer
>
getLiteratureVipList
(
AdmissionRule
firstRule
,
AdmissionRule
secondRule
,
Double
cultureGrade
,
D
ouble
majorGrade
,
Integer
totalMax
,
Integer
totalMin
,
List
<
String
>
locals
,
private
List
<
Volunteer
>
getLiteratureVipList
(
AdmissionRule
firstRule
,
double
cultureGrade
,
d
ouble
majorGrade
,
Integer
totalMax
,
Integer
totalMin
,
List
<
String
>
locals
,
List
<
String
>
professionNames
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
16
);
map
.
put
(
"professionNames"
,
professionNames
);
map
.
put
(
"locals"
,
locals
);
//1、考生是否能报取美术本科
List
<
Volunteer
>
list
=
new
ArrayList
<>()
;
List
<
Volunteer
>
list
;
if
(
cultureGrade
>=
firstRule
.
getCultureMin
()
&&
majorGrade
>=
firstRule
.
getProfessionMin
())
{
map
.
put
(
"type"
,
SchemeTypeEnums
.
UNDERGRADUATE_LITERATURE
.
getCode
());
...
...
@@ -621,15 +606,14 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
map
.
put
(
"totalMin"
,
totalMin
);
map
.
put
(
"locals"
,
locals
);
list
=
volunteerMapper
.
getVolunteerListVip
(
map
);
return
list
;
}
else
{
//获取专科方案
map
.
put
(
"type"
,
SchemeTypeEnums
.
JUNIOR_COLLEGE_LITERATURE
.
getCode
());
map
.
put
(
"totalMax"
,
totalMax
);
map
.
put
(
"totalMin"
,
totalMin
);
map
.
put
(
"locals"
,
locals
);
list
=
volunteerMapper
.
getVolunteerListVip
(
map
);
}
return
list
;
}
...
...
@@ -638,25 +622,24 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
*
* @param totalMax 考生综合成绩最高分
* @param firstRule 本科规则
* @param secondRule 专科规
* @param professionNames 专业名称
* @return 志愿方案列表
*/
private
List
<
Volunteer
>
getSportsVipList
(
AdmissionRule
firstRule
,
AdmissionRule
secondRule
,
Double
cultureGrade
,
D
ouble
majorGrade
,
Integer
totalMax
,
Integer
totalMin
,
List
<
String
>
locals
,
private
List
<
Volunteer
>
getSportsVipList
(
AdmissionRule
firstRule
,
double
cultureGrade
,
d
ouble
majorGrade
,
Integer
totalMax
,
Integer
totalMin
,
List
<
String
>
locals
,
List
<
String
>
professionNames
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
16
);
map
.
put
(
"professionNames"
,
professionNames
);
map
.
put
(
"locals"
,
locals
);
//1、考生是否能报取体育本科
List
<
Volunteer
>
list
=
new
ArrayList
<>()
;
List
<
Volunteer
>
list
;
if
(
cultureGrade
>=
firstRule
.
getCultureMin
()
&&
majorGrade
>
firstRule
.
getProfessionMin
())
{
map
.
put
(
"type"
,
SchemeTypeEnums
.
UNDERGRADUATE_SPORTS
.
getCode
());
map
.
put
(
"totalMax"
,
totalMax
);
map
.
put
(
"totalMin"
,
totalMin
);
map
.
put
(
"locals"
,
locals
);
list
=
volunteerMapper
.
getVolunteerListVip
(
map
);
}
else
{
//获取专科方案
map
.
put
(
"type"
,
SchemeTypeEnums
.
JUNIOR_COLLEGE_SPORTS
.
getCode
());
map
.
put
(
"totalMax"
,
totalMax
);
map
.
put
(
"totalMin"
,
totalMin
);
...
...
@@ -671,24 +654,25 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
/**
* 获取文化生志愿列表
*
* @param scoreInfo 成绩
* @param firstRule 录取规则
* @param classNames 副科名称
* @param professionNames 专业名称
* @return 文化生志愿列表
*/
private
List
<
Volunteer
>
getCultureList
(
ScoreInfo
scoreInfo
,
AdmissionRule
firstRule
,
AdmissionRule
secondRule
,
private
List
<
Volunteer
>
getCultureList
(
AdmissionRule
firstRule
,
AdmissionRule
secondRule
,
List
<
String
>
classNames
,
List
<
String
>
professionNames
,
double
firstCulture
,
double
secondCulture
)
{
double
firstCulture
,
double
secondCulture
,
String
gradeType
)
{
double
cultureMax
=
firstRule
.
getCultureMax
();
double
cultureMin
=
firstRule
.
getCultureMin
();
//考生的分数在本科一批中
List
<
Volunteer
>
list
=
new
ArrayList
<>()
;
List
<
Volunteer
>
list
;
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
16
);
map
.
put
(
"classNames"
,
classNames
);
map
.
put
(
"professionNames"
,
professionNames
);
if
(
firstCulture
<
cultureMax
&&
firstCulture
>=
cultureMin
)
{
boolean
type
=
!
StringUtils
.
isBlank
(
gradeType
)
&&
GradeType
.
UNDERGRADUATE
.
getDescription
().
equals
(
gradeType
);
boolean
grade
=
StringUtils
.
isBlank
(
gradeType
)
&&
firstCulture
<
cultureMax
&&
firstCulture
>=
cultureMin
;
if
(
type
||
grade
)
{
double
upGrade
=
firstCulture
+
firstRule
.
getUpMark
();
double
downGrade
=
firstCulture
-
firstRule
.
getDownMark
();
map
.
put
(
"upGrade"
,
upGrade
);
...
...
@@ -697,7 +681,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
list
=
volunteerMapper
.
getVolunteerList
(
map
);
if
(
list
.
size
()
<
firstRule
.
getNumber
())
{
List
<
Volunteer
>
fillList
=
fillUpVolunteer
(
list
,
firstRule
.
getNumber
(),
upGrade
,
downGrade
,
SchemeTypeEnums
.
UNDERGRADUATE_CULTURE
.
getCode
());
SchemeTypeEnums
.
UNDERGRADUATE_CULTURE
.
getCode
()
,
classNames
);
list
.
addAll
(
fillList
);
}
}
else
{
...
...
@@ -712,7 +696,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
//如果数据不满足最大数量,取不限专业最低分补充
if
(
list
.
size
()
<
secondRule
.
getNumber
())
{
List
<
Volunteer
>
fillList
=
fillUpVolunteer
(
list
,
secondRule
.
getNumber
(),
upGrade
,
downGrade
,
SchemeTypeEnums
.
JUNIOR_COLLEGE_MAJOR
.
getCode
());
SchemeTypeEnums
.
JUNIOR_COLLEGE_MAJOR
.
getCode
()
,
classNames
);
list
.
addAll
(
fillList
);
}
}
...
...
@@ -730,7 +714,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
* @return 志愿方案列表
*/
private
List
<
Volunteer
>
getArtsList
(
SchemeVo
queryVo
,
AdmissionRule
firstRule
,
AdmissionRule
secondRule
,
List
<
String
>
classNames
,
List
<
String
>
professionNames
)
{
List
<
String
>
classNames
,
List
<
String
>
professionNames
,
String
gradeType
)
{
//本科类比分 = 本年录取分 -去年录取分 + 考生分数
double
culture
=
firstRule
.
getCurrentYearCulture
()
-
firstRule
.
getCultureMin
()
+
Double
.
parseDouble
(
queryVo
.
getCultureGrade
());
double
major
=
firstRule
.
getCurrentYearMajor
()
-
firstRule
.
getProfessionMin
()
+
Double
.
parseDouble
(
queryVo
.
getMajorGrade
());
...
...
@@ -745,7 +729,9 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
//1、考生是否能报取美术本科
List
<
Volunteer
>
list
=
new
ArrayList
<>();
if
(
culture
>=
firstRule
.
getCultureMin
()
&&
major
>=
firstRule
.
getProfessionMin
())
{
boolean
type
=
!
StringUtils
.
isBlank
(
gradeType
)
&&
GradeType
.
UNDERGRADUATE
.
getDescription
().
equals
(
gradeType
);
boolean
grade
=
StringUtils
.
isBlank
(
gradeType
)
&&
culture
>=
firstRule
.
getCultureMin
()
&&
major
>=
firstRule
.
getProfessionMin
();
if
(
type
||
grade
)
{
//浮动分数
double
upGrade
=
total
+
firstRule
.
getUpMark
();
double
downGrade
=
total
-
firstRule
.
getDownMark
();
...
...
@@ -757,7 +743,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
//如果数据不满足最大数量,取不限专业最低分补充
if
(
list
.
size
()
<
secondRule
.
getNumber
())
{
List
<
Volunteer
>
fillList
=
fillUpVolunteer
(
list
,
firstRule
.
getNumber
(),
upGrade
,
downGrade
,
SchemeTypeEnums
.
UNDERGRADUATE_ARTS
.
getCode
());
SchemeTypeEnums
.
UNDERGRADUATE_ARTS
.
getCode
()
,
classNames
);
list
.
addAll
(
fillList
);
}
return
list
;
...
...
@@ -792,7 +778,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
//如果数据不满足最大数量,取不限专业最低分补充
if
(
list
.
size
()
<
secondRule
.
getNumber
())
{
List
<
Volunteer
>
fillList
=
fillUpVolunteer
(
list
,
secondRule
.
getNumber
(),
upGrade
,
downGrade
,
SchemeTypeEnums
.
JUNIOR_COLLEGE_ARTS
.
getCode
());
SchemeTypeEnums
.
JUNIOR_COLLEGE_ARTS
.
getCode
()
,
classNames
);
list
.
addAll
(
fillList
);
}
}
...
...
@@ -810,7 +796,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
* @return 志愿方案列表
*/
private
List
<
Volunteer
>
getLiteratureList
(
SchemeVo
queryVo
,
AdmissionRule
firstRule
,
AdmissionRule
secondRule
,
List
<
String
>
classNames
,
List
<
String
>
professionNames
)
{
List
<
String
>
classNames
,
List
<
String
>
professionNames
,
String
gradeType
)
{
//本科类比分 = 本年录取分 -去年录取分 + 考生分数
double
culture
=
firstRule
.
getCurrentYearCulture
()
-
firstRule
.
getCultureMin
()
+
Double
.
parseDouble
(
queryVo
.
getCultureGrade
());
double
major
=
firstRule
.
getCurrentYearMajor
()
-
firstRule
.
getProfessionMin
()
+
Double
.
parseDouble
(
queryVo
.
getMajorGrade
());
...
...
@@ -822,9 +808,11 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
map
.
put
(
"classNames"
,
classNames
);
map
.
put
(
"professionNames"
,
professionNames
);
//1、考生是否能报取美术本科
List
<
Volunteer
>
list
=
new
ArrayList
<>();
if
(
culture
>=
firstRule
.
getCultureMin
()
&&
major
>=
firstRule
.
getProfessionMin
())
{
//1、考生是否能报取编导专科本科
List
<
Volunteer
>
list
;
boolean
type
=
!
StringUtils
.
isBlank
(
gradeType
)
&&
GradeType
.
UNDERGRADUATE
.
getDescription
().
equals
(
gradeType
);
boolean
grade
=
StringUtils
.
isBlank
(
gradeType
)
&&
culture
>=
firstRule
.
getCultureMin
()
&&
major
>=
firstRule
.
getProfessionMin
();
if
(
type
||
grade
)
{
//浮动分数
double
upGrade
=
total
+
firstRule
.
getUpMark
();
double
downGrade
=
total
-
firstRule
.
getDownMark
();
...
...
@@ -836,49 +824,13 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
//如果数据不满足最大数量,取不限专业最低分补充
if
(
list
.
size
()
<
secondRule
.
getNumber
())
{
List
<
Volunteer
>
fillList
=
fillUpVolunteer
(
list
,
secondRule
.
getNumber
(),
upGrade
,
downGrade
,
SchemeTypeEnums
.
UNDERGRADUATE_LITERATURE
.
getCode
());
SchemeTypeEnums
.
UNDERGRADUATE_LITERATURE
.
getCode
()
,
classNames
);
list
.
addAll
(
fillList
);
}
return
list
;
}
//专科类比分 = 本年录取分 -去年录取分 + 考生分数
double
cultureSecond
=
firstRule
.
getCurrentYearCulture
()
-
firstRule
.
getCultureMin
()
+
Double
.
parseDouble
(
queryVo
.
getCultureGrade
());
double
majorSecond
=
firstRule
.
getCurrentYearMajor
()
-
firstRule
.
getProfessionMin
()
+
Double
.
parseDouble
(
queryVo
.
getMajorGrade
());
//计算综合成绩
double
totalSecond
=
majorSecond
*
750
/
300
*
0.3
+
cultureSecond
*
0.7
;
//判断文化成绩大于本科文化成绩最低分但专业成绩小于本科文化成绩最低分时进行文化成绩降分处理查询
if
(
cultureSecond
>
firstRule
.
getCultureMin
()
&&
majorSecond
<
firstRule
.
getProfessionMin
())
{
List
<
Volunteer
>
volunteers
=
new
ArrayList
<>();
volunteers
=
volunteerMapper
.
getVolunteerByType
(
SchemeTypeEnums
.
JUNIOR_COLLEGE_LITERATURE
.
getCode
());
totalSecond
=
Double
.
valueOf
(
volunteers
.
get
(
0
).
getLowestMark
())
-
secondRule
.
getUpMark
()
+
1
;
}
log
.
info
(
classNames
.
toString
());
//2、考生是否能报取美术专科
if
(
cultureSecond
>=
secondRule
.
getCultureMin
()
&&
majorSecond
>=
secondRule
.
getProfessionMin
())
{
//浮动分数
// double upGrade = totalSecond + secondRule.getUpMark();
// double downGrade = totalSecond - secondRule.getDownMark();
// map.put("upGrade", upGrade);
// map.put("downGrade", downGrade);
// map.put("type", SchemeTypeEnums.JUNIOR_COLLEGE_LITERATURE.getCode());
// list = volunteerMapper.getVolunteerList(map);
//
// log.info(Integer.toString(list.size()));
// //如果数据不满足最大数量,取不限专业最低分补充
// if (list.size() < secondRule.getNumber()) {
// List<Volunteer> fillList = fillUpVolunteer(list, secondRule.getNumber(), upGrade, downGrade,
// SchemeTypeEnums.JUNIOR_COLLEGE_LITERATURE.getCode());
// list.addAll(fillList);
// }
}
else
{
//文学编导专科一批返回全部数据
list
=
volunteerMapper
.
getVolunteerByType
(
SchemeTypeEnums
.
JUNIOR_COLLEGE_LITERATURE
.
getCode
());
}
return
list
;
}
...
...
@@ -894,7 +846,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
* @return 志愿方案列表
*/
private
List
<
Volunteer
>
getSportsList
(
double
total
,
AdmissionRule
firstRule
,
AdmissionRule
secondRule
,
List
<
String
>
classNames
,
List
<
String
>
professionNames
)
{
List
<
String
>
classNames
,
List
<
String
>
professionNames
,
String
gradeType
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
16
);
map
.
put
(
"number"
,
firstRule
.
getNumber
());
map
.
put
(
"classNames"
,
classNames
);
...
...
@@ -902,7 +854,9 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
//1、考生是否能报取体育本科
List
<
Volunteer
>
list
=
new
ArrayList
<>();
if
(
total
>=
firstRule
.
getCultureMin
())
{
boolean
type
=
!
StringUtils
.
isBlank
(
gradeType
)
&&
GradeType
.
UNDERGRADUATE
.
getDescription
().
equals
(
gradeType
);
boolean
grade
=
StringUtils
.
isBlank
(
gradeType
)
&&
total
>=
firstRule
.
getCultureMin
();
if
(
type
||
grade
)
{
//浮动分数
double
upGrade
=
total
+
firstRule
.
getUpMark
();
double
downGrade
=
total
-
firstRule
.
getDownMark
();
...
...
@@ -917,7 +871,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
//如果数据不满足最大数量,取不限专业最低分补充
if
(
list
.
size
()
<
secondRule
.
getNumber
())
{
List
<
Volunteer
>
fillList
=
fillUpVolunteer
(
list
,
secondRule
.
getNumber
(),
upGrade
,
downGrade
,
SchemeTypeEnums
.
UNDERGRADUATE_SPORTS
.
getCode
());
SchemeTypeEnums
.
UNDERGRADUATE_SPORTS
.
getCode
()
,
classNames
);
list
.
addAll
(
fillList
);
}
return
list
;
...
...
@@ -989,7 +943,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
* @param min 最低分
* @return 集合
*/
private
List
<
Volunteer
>
fillUpVolunteer
(
List
<
Volunteer
>
list
,
Integer
number
,
double
max
,
double
min
,
Integer
type
)
{
private
List
<
Volunteer
>
fillUpVolunteer
(
List
<
Volunteer
>
list
,
Integer
number
,
double
max
,
double
min
,
Integer
type
,
List
<
String
>
classNames
)
{
//已存在的志愿ids
List
<
Integer
>
volunteerIds
=
list
.
stream
().
map
(
Volunteer:
:
getId
).
collect
(
Collectors
.
toList
());
...
...
@@ -1002,6 +956,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
map
.
put
(
"upGrade"
,
max
);
map
.
put
(
"downGrade"
,
min
);
map
.
put
(
"type"
,
type
);
map
.
put
(
"classNames"
,
classNames
);
List
<
Volunteer
>
fillList
=
volunteerMapper
.
getFillList
(
map
);
List
<
Volunteer
>
resultList
=
new
ArrayList
<>();
...
...
@@ -1086,8 +1041,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
List
<
Volunteer
>
otherList
=
new
ArrayList
<>();
//分组,每组数量大于2的,取2条,小于等于则全取
Map
<
Double
,
List
<
Volunteer
>>
map
=
list
.
stream
().
collect
(
Collectors
.
groupingBy
(
Volunteer:
:
getLowestMark
));
Map
<
Double
,
List
<
Volunteer
>>
map
=
list
.
stream
().
collect
(
Collectors
.
groupingBy
(
Volunteer:
:
getLowestMark
));
for
(
Map
.
Entry
<
Double
,
List
<
Volunteer
>>
entry
:
map
.
entrySet
())
{
List
<
Volunteer
>
volunteers
=
entry
.
getValue
();
...
...
@@ -1164,4 +1118,5 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
}
}
}
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