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 {
|
|
|
|
@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);
|
|
hql.append(" order by createTime desc");
|
|
List<StuStudent> list = findList(hql.toString(), new Pager(limit, pageNum), args, StuStudent.class);
|
|
return list;
|
}
|
|
@Override
|
public int findSchoolRollListCount(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){
|
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;
|
}
|
|
}
|