| | |
| | | package com.qxueyou.scc.admin.schoolRoll.impl; |
| | | |
| | | import cn.hutool.core.date.LocalDateTimeUtil; |
| | | import cn.hutool.core.util.RandomUtil; |
| | | import com.qxueyou.scc.admin.classes.model.ClsClass; |
| | | import com.qxueyou.scc.admin.schoolRoll.ISchoolRollService; |
| | | import com.qxueyou.scc.base.model.ExcelExportParam; |
| | | import com.qxueyou.scc.base.model.Pager; |
| | | import com.qxueyou.scc.base.model.Result; |
| | | import com.qxueyou.scc.base.service.impl.CommonAppService; |
| | | import com.qxueyou.scc.base.util.ClientUtils; |
| | | import com.qxueyou.scc.base.util.CollectionUtils; |
| | | import com.qxueyou.scc.base.util.ExcelExportUtils; |
| | | import com.qxueyou.scc.base.util.TraceUtils; |
| | | import com.qxueyou.scc.teach.student.model.StuStudent; |
| | | import com.qxueyou.scc.user.model.UserRegistration; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.io.FileNotFoundException; |
| | | import java.io.FileOutputStream; |
| | | import java.io.IOException; |
| | | import java.io.OutputStream; |
| | | import java.time.LocalDateTime; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | public class SchoolRollServiceImpl extends CommonAppService implements ISchoolRollService { |
| | | |
| | | |
| | | @Autowired |
| | | CommonAppService commonAppService; |
| | | |
| | | @Override |
| | | public List<StuStudent> findSchoolRollList(Integer limit, Integer pageNum, String keyword, String status) { |
| | | |
| | | StringBuffer hql=new StringBuffer("from StuStudent where name like ? and status=? and deleteFlag is false"); |
| | | |
| | | List<Object> args = CollectionUtils.newList(keyword + "%", status); |
| | |
| | | |
| | | return findCount(hql.toString(),args); |
| | | } |
| | | |
| | | @Override |
| | | public Result updateSchool(String [] studentIds, String classId) { |
| | | for (String studentId: |
| | | studentIds) { |
| | | StringBuffer hql=new StringBuffer("from StuStudent where studentId=? and deleteFlag is false"); |
| | | |
| | | List<Object> args = CollectionUtils.newList(studentId); |
| | | |
| | | StuStudent stuStudent = findUnique(hql.toString(), args, StuStudent.class); |
| | | |
| | | if(stuStudent!=null && classId!=null){ |
| | | StringBuffer ClaHql=new StringBuffer("from ClsClass where classId=? and deleteFlag is false"); |
| | | |
| | | List<Object> claArgs = CollectionUtils.newList(classId); |
| | | |
| | | ClsClass cLaClass = findUnique(ClaHql.toString(), claArgs, ClsClass.class); |
| | | |
| | | cLaClass.setStudentCount(cLaClass.getStudentCount()+1); |
| | | |
| | | stuStudent.setClassId(classId); |
| | | |
| | | save(stuStudent); |
| | | }else { |
| | | return new Result(false,"班级不存在或学生不存在"); |
| | | } |
| | | } |
| | | |
| | | return new Result(true,"分班成功"); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void deriveStudentMessage() { |
| | | StringBuffer hql=new StringBuffer("from StuStudent where status=? and deleteFlag is false"); |
| | | |
| | | List<Object> args = CollectionUtils.newList("active"); |
| | | |
| | | List<StuStudent> stuStudents = find(hql.toString(), args, StuStudent.class); |
| | | |
| | | ExcelExportUtils<StuStudent> ex = new ExcelExportUtils<StuStudent>(); |
| | | String[] headers = { "姓名", "性别" ,"手机号" ,"身份证"}; |
| | | List<StuStudent> dataset = new ArrayList<StuStudent>(); |
| | | for (StuStudent stuStudent: |
| | | stuStudents) { |
| | | StuStudent u = new StuStudent(); |
| | | u.setName(stuStudent.getName()); |
| | | u.setSex(stuStudent.getSex()); |
| | | u.setMobilePhone(stuStudent.getMobilePhone()); |
| | | u.setStudentNo(stuStudent.getStudentNo()); |
| | | dataset.add(u); |
| | | } |
| | | |
| | | ExcelExportParam<StuStudent> obj = new ExcelExportParam<StuStudent>(); |
| | | obj.setColData(dataset); |
| | | obj.setHeaders(headers); |
| | | |
| | | try { |
| | | OutputStream out = new FileOutputStream("D://Student.xls"); |
| | | obj.setOut(out); |
| | | ex.exportExcel(obj); |
| | | out.close(); |
| | | System.out.println("excel导出成功!"); |
| | | } catch (FileNotFoundException e) { |
| | | e.printStackTrace(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | try { |
| | | OutputStream out = new FileOutputStream("D://Student.xls"); |
| | | List<String> lst = new ArrayList<String>(); |
| | | lst.add("className"); |
| | | lst.add("userName"); |
| | | obj.setLstColumn(lst); |
| | | obj.setOut(out); |
| | | ex.exportExcelByColomn(obj); |
| | | out.close(); |
| | | System.out.println("excel指定列导出成功!"); |
| | | } catch (FileNotFoundException e) { |
| | | e.printStackTrace(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public Result loopStudentIds(String[] studentIds) { |
| | | for (String studentId: |
| | | studentIds) { |
| | | auditStudent(studentId); |
| | | } |
| | | return new Result(true); |
| | | } |
| | | |
| | | private Result auditStudent(String studentId) { |
| | | StuStudent student = read(StuStudent.class, studentId); |
| | | TraceUtils.setUpdateTrace(student); |
| | | String currentTime = LocalDateTimeUtil.format(LocalDateTime.now(), "yyMMddHHmmssSSS"); |
| | | |
| | | String examCardNo = currentTime.concat(RandomUtil.randomNumbers(1)); |
| | | |
| | | student.setStudentNumber(examCardNo); |
| | | student.setStatus(StuStudent.STATUS_ACTIVE); |
| | | save(student); |
| | | |
| | | return new Result(true); |
| | | } |
| | | |
| | | @Override |
| | | public List<ClsClass> findClass() { |
| | | StringBuffer hql=new StringBuffer("from ClsClass where deleteFlag is false"); |
| | | |
| | | List<Object> arg = CollectionUtils.newList(); |
| | | |
| | | List<ClsClass> clsClasses = find(hql.toString(), arg, ClsClass.class); |
| | | |
| | | return clsClasses; |
| | | } |
| | | |
| | | } |