Browse Source

1.考勤国内模板修改

2.导出逻辑修改
3.年假规则新增录入逻辑修改
main
wangqiang 14 hours ago
parent
commit
b39d4b400a

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

@@ -301,6 +301,9 @@ public class DkRecordServiceImpl implements DkRecordService {
List<DayRecord> dayRecords = new ArrayList<>();
// 根据用户的ID查询该用户所有的打卡记录
LambdaQueryWrapper<DkCheckInRecord> queryWrapper = buildQueryWrapper(dkCheckInRecordDTO, null);
//打过卡的
//queryWrapper.ne( DkCheckInRecord::getCheckInStatus, 0);
//queryWrapper.orderByAsc(DkCheckInRecord::getCheckInTime);
List<DkCheckInRecordDTO> dkCheckInRecordDTOS = dkMapper.selectVoList(queryWrapper);
if (dkCheckInRecordDTOS == null && dkCheckInRecordDTOS.isEmpty()){
return data;
@@ -368,6 +371,7 @@ public class DkRecordServiceImpl implements DkRecordService {
//如果只有上班没有下班 而且上班还迟到了
if(dk.getClockIn().isAfter(workStartTime1)){
dayRecord.setChidao("●");
dayRecord.setRemark(dayRecord.getRemark()+"、迟到1次");
lateCount ++;
}
}
@@ -437,10 +441,10 @@ public class DkRecordServiceImpl implements DkRecordService {
//初始化天数
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);
// 星期六和星期日背景颜色设置
if ("星期六".equals(weekName) || "星期日".equals(weekName)) {
if ("六".equals(weekName) || "日".equals(weekName)) {
Row row = sheet.getRow(rowIndex);
if (row == null) row = sheet.createRow(rowIndex);
Cell cell = row.getCell(2);
@@ -465,23 +469,22 @@ public class DkRecordServiceImpl implements DkRecordService {

//3. 汇总数据区域
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) {
setCellValue(sheet, rowIndex, 3, record.getStartTime());
setCellValue(sheet, rowIndex, 4, record.getEndTime());
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
public static Double getHalfHourDiffAsCleanString(String startTime, String endTime) {

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

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

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

BIN
zs-manager/src/main/resources/template/template-guonei.xlsx View File


Loading…
Cancel
Save