Procházet zdrojové kódy

1.考勤国内模板修改

2.导出逻辑修改
3.年假规则新增录入逻辑修改
main
wangqiang před 10 hodinami
rodič
revize
b39d4b400a

+ 16
- 13
zs-manager/src/main/java/com/ruoyi/zhushi/service/impl/DkRecordServiceImpl.java Zobrazit soubor

List<DayRecord> dayRecords = new ArrayList<>(); List<DayRecord> dayRecords = new ArrayList<>();
// 根据用户的ID查询该用户所有的打卡记录 // 根据用户的ID查询该用户所有的打卡记录
LambdaQueryWrapper<DkCheckInRecord> queryWrapper = buildQueryWrapper(dkCheckInRecordDTO, null); LambdaQueryWrapper<DkCheckInRecord> queryWrapper = buildQueryWrapper(dkCheckInRecordDTO, null);
//打过卡的
//queryWrapper.ne( DkCheckInRecord::getCheckInStatus, 0);
//queryWrapper.orderByAsc(DkCheckInRecord::getCheckInTime);
List<DkCheckInRecordDTO> dkCheckInRecordDTOS = dkMapper.selectVoList(queryWrapper); List<DkCheckInRecordDTO> dkCheckInRecordDTOS = dkMapper.selectVoList(queryWrapper);
if (dkCheckInRecordDTOS == null && dkCheckInRecordDTOS.isEmpty()){ if (dkCheckInRecordDTOS == null && dkCheckInRecordDTOS.isEmpty()){
return data; return data;
//如果只有上班没有下班 而且上班还迟到了 //如果只有上班没有下班 而且上班还迟到了
if(dk.getClockIn().isAfter(workStartTime1)){ if(dk.getClockIn().isAfter(workStartTime1)){
dayRecord.setChidao("●"); dayRecord.setChidao("●");
dayRecord.setRemark(dayRecord.getRemark()+"、迟到1次");
lateCount ++; lateCount ++;
} }
} }
//初始化天数 //初始化天数
setCellValue(sheet, rowIndex, 1, dayInfos.get(i).getDay()); setCellValue(sheet, rowIndex, 1, dayInfos.get(i).getDay());
//初始化星期 //初始化星期
String weekName = dayInfos.get(i).getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINESE);
String weekName = dayInfos.get(i).getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINESE).replace("星期","");
setCellValue(sheet, rowIndex, 2, weekName); setCellValue(sheet, rowIndex, 2, weekName);
// 星期六和星期日背景颜色设置 // 星期六和星期日背景颜色设置
if ("星期六".equals(weekName) || "星期日".equals(weekName)) {
if ("六".equals(weekName) || "日".equals(weekName)) {
Row row = sheet.getRow(rowIndex); Row row = sheet.getRow(rowIndex);
if (row == null) row = sheet.createRow(rowIndex); if (row == null) row = sheet.createRow(rowIndex);
Cell cell = row.getCell(2); Cell cell = row.getCell(2);


//3. 汇总数据区域 //3. 汇总数据区域
setCellValue(sheet, 41, 5, data.getChidaocishu()); setCellValue(sheet, 41, 5, data.getChidaocishu());
setCellValue(sheet, 41, 7, data.getExceptionCount());
setCellValue(sheet, 41, 8, formatOvertime(data.getWorkOverTime()==null?0:data.getWorkOverTime().doubleValue()));
setCellValue(sheet, 41, 9, formatOvertime(data.getRestOverTime()==null?0:data.getRestOverTime().doubleValue()));
setCellValue(sheet, 41, 6, data.getExceptionCount());
setCellValue(sheet, 41, 7, formatOvertime(data.getWorkOverTime()==null?0:data.getWorkOverTime().doubleValue()));
setCellValue(sheet, 41, 8, formatOvertime(data.getRestOverTime()==null?0:data.getRestOverTime().doubleValue()));
} }


private void fillTemplateCell(Sheet sheet, int rowIndex, DayRecord record) { private void fillTemplateCell(Sheet sheet, int rowIndex, DayRecord record) {
setCellValue(sheet, rowIndex, 3, record.getStartTime()); setCellValue(sheet, rowIndex, 3, record.getStartTime());
setCellValue(sheet, rowIndex, 4, record.getEndTime()); setCellValue(sheet, rowIndex, 4, record.getEndTime());
setCellValue(sheet, rowIndex, 5, record.getChidao()); setCellValue(sheet, rowIndex, 5, record.getChidao());
//第六列 早退 暂时不需要了
setCellValue(sheet, rowIndex, 7, record.getYichang());
setCellValue(sheet, rowIndex, 8, record.getGongzuori());
setCellValue(sheet, rowIndex, 9, record.getXiuxiri());
setCellValue(sheet, rowIndex, 10, record.getFadingjiari());
setCellValue(sheet, rowIndex, 11, record.getXiuxi());
setCellValue(sheet, rowIndex, 12, record.getQingjia());
setCellValue(sheet, rowIndex, 13, record.getRemark());
setCellValue(sheet, rowIndex, 6, record.getYichang());
setCellValue(sheet, rowIndex, 7, record.getGongzuori());
setCellValue(sheet, rowIndex, 8, record.getXiuxiri());
setCellValue(sheet, rowIndex, 9, record.getFadingjiari());
setCellValue(sheet, rowIndex, 10, record.getXiuxi());
setCellValue(sheet, rowIndex, 11, record.getQingjia());
setCellValue(sheet, rowIndex, 12, record.getRemark());
} }
//查询两个时间的时间差 以0.5为准 多的按0.5算 少的 为0 //查询两个时间的时间差 以0.5为准 多的按0.5算 少的 为0
public static Double getHalfHourDiffAsCleanString(String startTime, String endTime) { public static Double getHalfHourDiffAsCleanString(String startTime, String endTime) {

+ 2
- 2
zs-manager/src/main/java/com/ruoyi/zhushi/service/impl/NjRuleConfigServiceImpl.java Zobrazit soubor

for (DkUsers member : njRuleConfigDTO.getMembers()){ for (DkUsers member : njRuleConfigDTO.getMembers()){
NjRuleConfigAndUser njRuleConfigAndUser = new NjRuleConfigAndUser(); NjRuleConfigAndUser njRuleConfigAndUser = new NjRuleConfigAndUser();
// 根据userId 查询用户信息 // 根据userId 查询用户信息
LambdaQueryWrapper<NjRuleConfigAndUser> queryWrapper = new LambdaQueryWrapper<>();
/*LambdaQueryWrapper<NjRuleConfigAndUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(NjRuleConfigAndUser::getUserId, member.getUserId()); queryWrapper.eq(NjRuleConfigAndUser::getUserId, member.getUserId());
List<NjRuleConfigAndUserDTO> njRuleConfigAndUserDTOS = njRuleConfigAndUserMapper.selectVoList(queryWrapper, NjRuleConfigAndUserDTO.class); List<NjRuleConfigAndUserDTO> njRuleConfigAndUserDTOS = njRuleConfigAndUserMapper.selectVoList(queryWrapper, NjRuleConfigAndUserDTO.class);
if(null != njRuleConfigAndUserDTOS && njRuleConfigAndUserDTOS.size() > 0){ if(null != njRuleConfigAndUserDTOS && njRuleConfigAndUserDTOS.size() > 0){
continue; continue;
}
}*/


njRuleConfigAndUser.setNjRuleConfigId(njRuleConfig.getId()); njRuleConfigAndUser.setNjRuleConfigId(njRuleConfig.getId());
njRuleConfigAndUser.setRuleName(njRuleConfig.getRuleName()); njRuleConfigAndUser.setRuleName(njRuleConfig.getRuleName());

binární
zs-manager/src/main/resources/template/template-guonei.xlsx Zobrazit soubor


Načítá se…
Zrušit
Uložit