|
@@ -284,29 +284,49 @@ public class ApportionController {
|
|
|
|
|
|
try {
|
|
|
//读取等待派位人员信息列表
|
|
|
+ Map<String,Object> bzSearchParams = new HashMap<>();
|
|
|
Map<String,Object> searchParams = new HashMap<>();
|
|
|
searchParams.put("status","60");
|
|
|
+ bzSearchParams.put("status","60");
|
|
|
if (StringUtils.isNotEmpty(schoolId)) {
|
|
|
searchParams.put("schoolId",schoolId);
|
|
|
+ bzSearchParams.put("schoolId",schoolId);
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(grade)) {
|
|
|
searchParams.put("grade",grade);
|
|
|
+ bzSearchParams.put("grade",grade);
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(type)) {
|
|
|
DataDictionary dataDictionary = dataDictionaryService.findByCatalogNameAndValue("C类生证明",type);
|
|
|
searchParams.put("categoryId",dataDictionary.getId());
|
|
|
+ bzSearchParams.put("categoryId",dataDictionary.getId());
|
|
|
}
|
|
|
List<Sort> sortList = new ArrayList<>();
|
|
|
sortList.add(new Sort("a.create_time","desc"));
|
|
|
+
|
|
|
+ //必中
|
|
|
+ bzSearchParams.put("hit","1");
|
|
|
+ bzSearchParams.put("delFlag","0");
|
|
|
+ Page<ApplicationPrimary> bzPage = applicationPrimaryService.pageSearch(bzSearchParams,1,100000,false,sortList);
|
|
|
+ //随机
|
|
|
+ searchParams.put("hit","0");
|
|
|
+ searchParams.put("delFlag","0");
|
|
|
Page<ApplicationPrimary> applicationPrimaryPage = applicationPrimaryService.pageSearch(searchParams,1,100000,false,sortList);
|
|
|
|
|
|
+ //学位数-必中的人数=剩余的数量
|
|
|
+ Integer syAmount = amount - bzPage.size();
|
|
|
+ if(syAmount < 0){
|
|
|
+ syAmount = 0;
|
|
|
+ }
|
|
|
+
|
|
|
//随机抽取
|
|
|
if(amount > applicationPrimaryPage.size()){
|
|
|
amount = applicationPrimaryPage.size();
|
|
|
}
|
|
|
+
|
|
|
List<Integer> integerList = new ArrayList<>();
|
|
|
Random random = new Random();
|
|
|
- for(int i=0;i<amount;i++){
|
|
|
+ for(int i=0;i<syAmount;i++){
|
|
|
for(int j=0;j>-1;j++) {
|
|
|
Integer ran = random.nextInt(applicationPrimaryPage.size());
|
|
|
if (!integerList.contains(ran)) {
|
|
@@ -335,6 +355,31 @@ public class ApportionController {
|
|
|
return msgResult;
|
|
|
}
|
|
|
|
|
|
+ //必中
|
|
|
+ for(int i=0;i<bzPage.size();i++){
|
|
|
+ ApplicationPrimary applicationPrimary = bzPage.get(i);
|
|
|
+ ApportionDetail apportionDetail = new ApportionDetail();
|
|
|
+ apportionDetail.setId(UUID.randomUUID().toString());
|
|
|
+ apportionDetail.setApportionId(apportion.getId());
|
|
|
+ apportionDetail.setApplicationId(applicationPrimary.getId());
|
|
|
+ apportionDetail.setStudentId(applicationPrimary.getStudentId());
|
|
|
+ apportionDetail.setPersonId(applicationPrimary.getPersonId());
|
|
|
+ apportionDetail.setSchoolId(schoolId);
|
|
|
+ apportionDetail.setWinner(true);
|
|
|
+ apportionDetail.setDelFlag(false);
|
|
|
+ apportionDetail.setCreateBy(subject);
|
|
|
+ apportionDetail.setCreateTime(new Date());
|
|
|
+ apportionDetail.setUpdateBy(subject);
|
|
|
+ apportionDetail.setUpdateTime(new Date());
|
|
|
+ apportionDetailService.insert(apportionDetail);
|
|
|
+
|
|
|
+ applicationPrimary.setStatus(String.valueOf(Integer.parseInt(applicationPrimary.getStatus()) + 10));
|
|
|
+ applicationPrimary.setOfferId(schoolId);
|
|
|
+ applicationPrimary.setUpdateBy(subject);
|
|
|
+ applicationPrimary.setUpdateTime(new Date());
|
|
|
+ applicationPrimaryService.update(applicationPrimary);
|
|
|
+ }
|
|
|
+
|
|
|
//写入派位列表
|
|
|
for(int i=0;i<applicationPrimaryPage.size();i++){
|
|
|
ApplicationPrimary applicationPrimary = applicationPrimaryPage.get(i);
|