| | |
| | | import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; |
| | | import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; |
| | | import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; |
| | | import org.springblade.common.utils.arg; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springblade.common.constant.AgeUtil; |
| | | import org.springblade.core.excel.util.ExcelUtil; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.modules.FTP.FtpUtil; |
| | | import org.springblade.modules.apply.entity.Apply; |
| | | import org.springblade.modules.apply.excel.ApplyImporter; |
| | | import org.springblade.modules.apply.excel.ApplyInfoExcel; |
| | | import org.springblade.modules.apply.vo.ApplyVO; |
| | | import org.springblade.modules.exam.entity.ExamPaper; |
| | | import org.springblade.modules.exam.entity.ExamScore; |
| | | import org.springblade.modules.exam.excel.ExamScoreExcel; |
| | | import org.springblade.modules.exam.service.ExamPaperService; |
| | | import org.springblade.modules.system.entity.User; |
| | | import org.springblade.modules.system.service.IUserService; |
| | | import org.springblade.modules.training.entity.TrainExam; |
| | | import org.springblade.modules.training.entity.TrainingRegistration; |
| | | import org.springblade.modules.training.excel.TrainingRegistrationExcel; |
| | | import org.springblade.modules.training.excel.TrainingRegistrationImporter; |
| | | import org.springblade.modules.training.service.TrainExamService; |
| | | import org.springblade.modules.training.service.TrainingRegistrationService; |
| | | import org.springblade.modules.training.vo.TrainingRegistrationVo; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.text.DecimalFormat; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.concurrent.atomic.AtomicInteger; |
| | | |
| | | /** |
| | | * @author zhongrj |
| | |
| | | @PostMapping("/batchTrain") |
| | | public R batchApply(@RequestBody TrainingRegistrationVo trainingRegistration){ |
| | | List<String> list = Arrays.asList(trainingRegistration.getUserIds().split(",")); |
| | | AtomicInteger count = new AtomicInteger(); |
| | | //创建年龄部分对象集合 |
| | | List<String> errorList = new ArrayList<>(); |
| | | //遍历 |
| | | list.forEach(userId ->{ |
| | | User user = userService.getById(userId); |
| | | //判断年龄 |
| | | Integer age = AgeUtil.idCardToAge(user.getCardid()); |
| | | if (age>=18 && age<=60) { |
| | | //未报名的新增,已报名的不做处理 |
| | | if (null==user.getIsTrain()) { |
| | | TrainingRegistration trainingRegistration1 = new TrainingRegistration(); |
| | |
| | | saveTrainingRegistration(trainingRegistration1,user); |
| | | } |
| | | } |
| | | }else { |
| | | //count ++ |
| | | count.getAndIncrement(); |
| | | //放入集合 |
| | | errorList.add(user.getCardid()); |
| | | } |
| | | }); |
| | | //如果存在年龄不符的,则抛出异常 |
| | | if (count.get()>0){ |
| | | String errorAccount = StringUtils.join(errorList, "\\\n"); |
| | | throw new ServiceException("保安员:[" + errorAccount + "]报名失败!年龄不符,报名年龄为[18-60]周岁!"); |
| | | } |
| | | return R.data(200,"报名成功"); |
| | | } |
| | | |