|
@@ -12,6 +12,7 @@ import com.koobietech.eas.common.utils.SecurityUtils;
|
|
|
import com.koobietech.eas.dao.Pojo.EasArcTlsAttendancePojo;
|
|
|
import com.koobietech.eas.dao.Pojo.EasArcTlsScoresPojo;
|
|
|
import com.koobietech.eas.dao.dto.ArchivesDto;
|
|
|
+import com.koobietech.eas.dao.mapper.AttendanceQueryMapper;
|
|
|
import com.koobietech.eas.mbg.mapper.*;
|
|
|
import com.koobietech.eas.mbg.model.*;
|
|
|
import com.koobietech.eas.service.EasArcTlsAttendanceService;
|
|
@@ -52,6 +53,9 @@ public class EasArcTlsAttendanceServiceImpl implements EasArcTlsAttendanceServic
|
|
|
@Resource
|
|
|
EasArcArchivesMapper arcArchivesMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ AttendanceQueryMapper attendanceQueryMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public PageData query(EasArcTlsAttendance attendance) {
|
|
|
EasArcTlsAttendanceExample easArcTlsAttendanceExample = new EasArcTlsAttendanceExample();
|
|
@@ -91,8 +95,8 @@ public class EasArcTlsAttendanceServiceImpl implements EasArcTlsAttendanceServic
|
|
|
}
|
|
|
|
|
|
List<EasArcTlsAttendance> easArcTlsAttendances =
|
|
|
- easArcTlsAttendanceMapper.selectByExample(easArcTlsAttendanceExample);
|
|
|
- long l = easArcTlsAttendanceMapper.countByExample(easArcTlsAttendanceExample);
|
|
|
+ attendanceQueryMapper.selectByExample(easArcTlsAttendanceExample);
|
|
|
+ long l = attendanceQueryMapper.countByExample(easArcTlsAttendanceExample);
|
|
|
PageData ret = new PageData();
|
|
|
ret.setData(easArcTlsAttendances);
|
|
|
ret.setTotal(l);
|
|
@@ -186,20 +190,34 @@ public class EasArcTlsAttendanceServiceImpl implements EasArcTlsAttendanceServic
|
|
|
@Override
|
|
|
public Boolean importExcelAttendance(InputStream inputStream) {
|
|
|
ImportParams importParams = new ImportParams();
|
|
|
+ //设置标题行数
|
|
|
importParams.setTitleRows(1);
|
|
|
+ //设置标头行数
|
|
|
importParams.setHeadRows(1);
|
|
|
try {
|
|
|
+ //调用工具类导入excel
|
|
|
List<EasArcTlsAttendancePojo> attendance = ExcelImportUtil.importExcel(inputStream,
|
|
|
EasArcTlsAttendancePojo.class, importParams);
|
|
|
+ EasArcTlsAttendance easArcTlsAttendance = null;
|
|
|
+ //遍历存储考勤信息
|
|
|
for (EasArcTlsAttendancePojo attendancePojo : attendance) {
|
|
|
- attendancePojo.setCreateTime(new Date());
|
|
|
- EasArcTlsAttendance easArcTlsAttendance = new EasArcTlsAttendance();
|
|
|
+ if ( !StringUtils.hasText(attendancePojo.getStudentNumber()) ) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ easArcTlsAttendance = new EasArcTlsAttendance();
|
|
|
+ //拷贝考勤信息
|
|
|
BeanUtil.copyProperties(attendancePojo, easArcTlsAttendance);
|
|
|
+ easArcTlsAttendance.setCreateUid( SecurityUtils.getLoginUid().intValue() );
|
|
|
+ easArcTlsAttendance.setModifyTime(new Date());
|
|
|
+ easArcTlsAttendance.setCreateTime(new Date());
|
|
|
+ easArcTlsAttendance.setMonth(attendancePojo.getCheckinDate().getMonth());
|
|
|
+ //将excel信息存入数据库
|
|
|
easArcTlsAttendanceMapper.insert(easArcTlsAttendance);
|
|
|
+ }
|
|
|
+ if ( Objects.nonNull (easArcTlsAttendance) ) {
|
|
|
+ //考勤信息不为空,存入学生档案
|
|
|
saveStudentAttendanceArchive(easArcTlsAttendance);
|
|
|
}
|
|
|
- } catch (FileNotFoundException e) {
|
|
|
- throw new EasException(e.getMessage());
|
|
|
} catch (Exception e) {
|
|
|
throw new EasException(e.getMessage());
|
|
|
} finally {
|
|
@@ -217,7 +235,6 @@ public class EasArcTlsAttendanceServiceImpl implements EasArcTlsAttendanceServic
|
|
|
EasArcTlsAttendanceExample easArcTlsAttendanceExample = new EasArcTlsAttendanceExample();
|
|
|
EasArcTlsAttendanceExample.Criteria criteria = easArcTlsAttendanceExample.createCriteria();
|
|
|
criteria.andStudentNumberEqualTo(attendance.getStudentNumber());
|
|
|
- //criteria.andScheduleIdEqualTo(attendance.getScheduleId());
|
|
|
List<EasArcTlsAttendance> easArcTlsAttendances = easArcTlsAttendanceMapper.selectByExample(easArcTlsAttendanceExample);
|
|
|
ArchivesDto archivesDto = saveEasArcTlsAttendanceToExcel(easArcTlsAttendances, attendance.getStudentNumber());
|
|
|
EasArcArchives easArcArchives = new EasArcArchives();
|
|
@@ -235,16 +252,26 @@ public class EasArcTlsAttendanceServiceImpl implements EasArcTlsAttendanceServic
|
|
|
return insert == 1;
|
|
|
}
|
|
|
|
|
|
- private ArchivesDto saveEasArcTlsAttendanceToExcel(List<EasArcTlsAttendance> easArcTlsAttendances, String studentNumber) {
|
|
|
+ private ArchivesDto saveEasArcTlsAttendanceToExcel
|
|
|
+ (List<EasArcTlsAttendance> easArcTlsAttendances, String studentNumber) {
|
|
|
List<EasArcTlsAttendancePojo> arcTlsAttendanceList = new ArrayList<>();
|
|
|
for (EasArcTlsAttendance tlsAttendance : easArcTlsAttendances) {
|
|
|
EasArcTlsAttendancePojo easArcTlsAttendancePojo = new EasArcTlsAttendancePojo();
|
|
|
BeanUtil.copyProperties(tlsAttendance, easArcTlsAttendancePojo);
|
|
|
+ EasArcTlsAttendancePojo tlsAttendancePojo = attendanceQueryMapper.importExcel(studentNumber);
|
|
|
+ if ( Objects.nonNull(tlsAttendancePojo) ) {
|
|
|
+ easArcTlsAttendancePojo.setCategory(tlsAttendancePojo.getCategory());
|
|
|
+ easArcTlsAttendancePojo.setSubject(tlsAttendancePojo.getSubject());
|
|
|
+ easArcTlsAttendancePojo.setStudentId(tlsAttendancePojo.getStudentId());
|
|
|
+ easArcTlsAttendancePojo.setStartTime(tlsAttendancePojo.getStartTime());
|
|
|
+ easArcTlsAttendancePojo.setEndTime(tlsAttendancePojo.getEndTime());
|
|
|
+ }
|
|
|
arcTlsAttendanceList.add(easArcTlsAttendancePojo);
|
|
|
}
|
|
|
+ System.out.println( arcTlsAttendanceList );
|
|
|
ExportParams params = new ExportParams("学员签到表", "签到");
|
|
|
Workbook workbook = ExcelExportUtil.exportExcel(params,
|
|
|
- EasArcTlsScoresPojo.class, arcTlsAttendanceList);
|
|
|
+ EasArcTlsAttendancePojo.class, arcTlsAttendanceList);
|
|
|
ArchivesDto archivesDto = easArchivesFilesService.saveArchiveFile(studentNumber, workbook);
|
|
|
return archivesDto;
|
|
|
}
|