Commit 7dda5730 authored by wenqy's avatar wenqy

每日打卡纪录列修改,生成打卡记录修改

parent 58b97b27
package com.mortals.xhx.module.attendance.model.vo; package com.mortals.xhx.module.attendance.model.vo;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity; import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity;
import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -9,6 +11,9 @@ import java.util.List; ...@@ -9,6 +11,9 @@ import java.util.List;
* @author zxfei * @author zxfei
* @date 2023-04-07 * @date 2023-04-07
*/ */
@Data
public class AttendanceRecordDetailVo extends BaseEntityLong { public class AttendanceRecordDetailVo extends BaseEntityLong {
}
\ No newline at end of file private String title;
}
...@@ -51,17 +51,14 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -51,17 +51,14 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
@Autowired @Autowired
private StaffService staffService; private StaffService staffService;
@Autowired @Autowired
private UploadService uploadService;
@Autowired
private AttendanceExportRecordService attendanceExportRecordService;
@Autowired
private AttendanceRecordErrorService errorService; private AttendanceRecordErrorService errorService;
@Override @Override
public void addAttendanceRecord(AttendanceRecordHikEntity entity,Context context) throws Exception{ public void addAttendanceRecord(AttendanceRecordHikEntity entity,Context context) throws Exception{
List<AttendanceRecordHikEntity> list = entity.getList();
List<AttendanceRecordHikEntity> hikEntityList = attendanceRecordHikService.find(entity);
//对考勤数据根据考勤时间进行排序 //对考勤数据根据考勤时间进行排序
List<AttendanceRecordHikEntity> collect = list.stream().sorted(Comparator.comparing(AttendanceRecordHikEntity::getAttendanceDate)).collect(Collectors.toList()); List<AttendanceRecordHikEntity> collect = hikEntityList.stream().sorted(Comparator.comparing(AttendanceRecordHikEntity::getAttendanceDate)).collect(Collectors.toList());
//根据工号对考勤数据进行分组 //根据工号对考勤数据进行分组
Map<String, List<AttendanceRecordHikEntity>> listMap = collect.stream().collect(Collectors.groupingBy(AttendanceRecordHikEntity::getWorkNum)); Map<String, List<AttendanceRecordHikEntity>> listMap = collect.stream().collect(Collectors.groupingBy(AttendanceRecordHikEntity::getWorkNum));
//Map<String, Map<String, List<AttendanceRecordHikEntity>>> groupMap = collect.stream().collect(Collectors.groupingBy(AttendanceRecordHikEntity::getWorkNum, Collectors.groupingBy(x -> com.mortals.framework.util.DateUtils.getDateTimeStr(x.getAttendanceDate(), "yyyy-MM-dd")))); //Map<String, Map<String, List<AttendanceRecordHikEntity>>> groupMap = collect.stream().collect(Collectors.groupingBy(AttendanceRecordHikEntity::getWorkNum, Collectors.groupingBy(x -> com.mortals.framework.util.DateUtils.getDateTimeStr(x.getAttendanceDate(), "yyyy-MM-dd"))));
...@@ -104,7 +101,10 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -104,7 +101,10 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
//查询该考勤人员,如果查出来的考勤人员信息list长度为1 则该考勤人员只有一个考勤组 //查询该考勤人员,如果查出来的考勤人员信息list长度为1 则该考勤人员只有一个考勤组
if (StringUtils.isNotNull(attendanceGroupStaffEntities) && attendanceGroupStaffEntities.size()==1){ if (StringUtils.isNotNull(attendanceGroupStaffEntities) && attendanceGroupStaffEntities.size()==1){
//查询考勤组 //查询考勤组
AttendanceGroupEntity attendanceGroupEntity = attendanceGroupService.selectOne(new AttendanceGroupQuery().id(attendanceGroupStaffEntities.get(0).getGroupId())); AttendanceGroupQuery attendanceGroupQuery = new AttendanceGroupQuery();
AttendanceGroupEntity attendanceGroupEntity = attendanceGroupService.selectOne(attendanceGroupQuery.id(attendanceGroupStaffEntities.get(0).getGroupId()));
attendanceRecordEntity.setAttendanceGroupId(attendanceGroupEntity.getId());
attendanceRecordEntity.setAttendanceGroupName(attendanceGroupEntity.getGroupName());
//查询考勤组详细信息获取班次 //查询考勤组详细信息获取班次
AttendanceGroupFixedworkQuery attendanceGroupFixedworkQuery = new AttendanceGroupFixedworkQuery(); AttendanceGroupFixedworkQuery attendanceGroupFixedworkQuery = new AttendanceGroupFixedworkQuery();
AttendanceGroupFixedworkEntity attendanceGroupFixedworkEntity = attendanceGroupFixedworkService.selectOne(attendanceGroupFixedworkQuery.groupId(attendanceGroupEntity.getId())); AttendanceGroupFixedworkEntity attendanceGroupFixedworkEntity = attendanceGroupFixedworkService.selectOne(attendanceGroupFixedworkQuery.groupId(attendanceGroupEntity.getId()));
...@@ -215,6 +215,8 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -215,6 +215,8 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
//跳过本次循环 //跳过本次循环
continue; continue;
} }
attendanceRecordEntity.setAttendanceGroupId(attendanceGroupEntity.getId());
attendanceRecordEntity.setAttendanceGroupName(attendanceGroupEntity.getGroupName());
//获取班次信息 //获取班次信息
AttendanceClassQuery attendanceClassQuery = new AttendanceClassQuery(); AttendanceClassQuery attendanceClassQuery = new AttendanceClassQuery();
AttendanceClassEntity attendanceClassEntity = attendanceClassService.selectOne(attendanceClassQuery.id(weekClassId)); AttendanceClassEntity attendanceClassEntity = attendanceClassService.selectOne(attendanceClassQuery.id(weekClassId));
...@@ -368,10 +370,12 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -368,10 +370,12 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
} }
} }
if (detailEntity!=null){ if (detailEntity!=null&&detailEntity.size()>0){
if (errorEntityList!=null&&errorEntityList.size()>0){ if (errorEntityList!=null&&errorEntityList.size()>0){
errorService.save(errorEntityList,context); errorService.save(errorEntityList,context);
} }
attendanceRecordEntity.setShiftsName(detailEntity.get(0).getShiftsName());
attendanceRecordEntity.setShiftsId(attendanceClassDetailService.selectOne(new AttendanceClassDetailQuery().id(detailEntity.get(0).getShiftsId())).getClassId() );
attendanceRecordEntity.setAttendanceRecordDetailList(detailEntity); attendanceRecordEntity.setAttendanceRecordDetailList(detailEntity);
attendanceRecordService.save(attendanceRecordEntity,context); attendanceRecordService.save(attendanceRecordEntity,context);
} }
...@@ -436,7 +440,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -436,7 +440,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
} }
weekClassId = attendanceGroupFixedworkEntity.getSaturdayClassId(); weekClassId = attendanceGroupFixedworkEntity.getSaturdayClassId();
break; break;
case "星期": case "星期":
if (attendanceGroupFixedworkEntity.getSunday()==0){ if (attendanceGroupFixedworkEntity.getSunday()==0){
weekClassId = -1L; weekClassId = -1L;
return weekClassId; return weekClassId;
......
package com.mortals.xhx.module.attendance.web; package com.mortals.xhx.module.attendance.web;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
...@@ -50,7 +51,7 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle ...@@ -50,7 +51,7 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
this.addDict(model, "deptId", deptService.find(new DeptQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getDeptName()))); this.addDict(model, "deptId", deptService.find(new DeptQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getDeptName())));
this.addDict(model, "groupId", attendanceGroupService.find(new AttendanceGroupQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getGroupName()))); this.addDict(model, "groupId", attendanceGroupService.find(new AttendanceGroupQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getGroupName())));
this.addDict(model, "classId", attendanceClassService.find(new AttendanceClassQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getClassName()))); this.addDict(model, "classId", attendanceClassService.find(new AttendanceClassQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getClassName())));
this.addDict(model,"workResult" ,null);
//设置 //设置
super.init(model, context); super.init(model, context);
...@@ -67,17 +68,31 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle ...@@ -67,17 +68,31 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
.sorted(Comparator.comparingInt(AttendanceRecordDetailEntity::getOrderNum)) .sorted(Comparator.comparingInt(AttendanceRecordDetailEntity::getOrderNum))
.collect(Collectors.toList()); .collect(Collectors.toList());
List<AttDsyncColumn> dsyncColumns = new ArrayList<>(); List<AttDsyncColumn> dsyncColumns = new ArrayList<>();
List<AttResultDsyncColumn> resultDsyncColumns = new ArrayList<>();
collect.forEach(item -> { collect.forEach(item -> {
AttDsyncColumn attDsyncColumn = new AttDsyncColumn(); AttDsyncColumn attDsyncColumn = new AttDsyncColumn();
attDsyncColumn.setName(String.format("上班%s打卡时间", item.getOrderNum())); attDsyncColumn.setName(String.format("上班%s打卡时间", item.getOrderNum()));
attDsyncColumn.setProperty("goWorkDate"); attDsyncColumn.setProperty("goWorkDate");
attDsyncColumn.setOrderNum(item.getOrderNum()); attDsyncColumn.setOrderNum(item.getOrderNum());
dsyncColumns.add(attDsyncColumn); dsyncColumns.add(attDsyncColumn);
attDsyncColumn = new AttDsyncColumn();
attDsyncColumn.setName(String.format("上班%s打卡结果", item.getOrderNum()));
attDsyncColumn.setProperty("goWorkResult");
attDsyncColumn.setOrderNum(item.getOrderNum());
dsyncColumns.add(attDsyncColumn);
attDsyncColumn = new AttDsyncColumn(); attDsyncColumn = new AttDsyncColumn();
attDsyncColumn.setName(String.format("下班%s打卡时间", item.getOrderNum())); attDsyncColumn.setName(String.format("下班%s打卡时间", item.getOrderNum()));
attDsyncColumn.setProperty("offWorkDate"); attDsyncColumn.setProperty("offWorkDate");
attDsyncColumn.setOrderNum(item.getOrderNum()); attDsyncColumn.setOrderNum(item.getOrderNum());
dsyncColumns.add(attDsyncColumn); dsyncColumns.add(attDsyncColumn);
attDsyncColumn = new AttDsyncColumn();
attDsyncColumn.setName(String.format("下班%s打卡结果", item.getOrderNum()));
attDsyncColumn.setProperty("offWorkResult");
attDsyncColumn.setOrderNum(item.getOrderNum());
dsyncColumns.add(attDsyncColumn);
}); });
Set<Integer> dsyncSet = dsyncColumns.stream().map(i -> i.getOrderNum()).collect(Collectors.toSet()); Set<Integer> dsyncSet = dsyncColumns.stream().map(i -> i.getOrderNum()).collect(Collectors.toSet());
//填充空的detail 对象 //填充空的detail 对象
......
...@@ -131,7 +131,7 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont ...@@ -131,7 +131,7 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
@Override @Override
protected int editAfter(Long id, Map<String, Object> model, AttendanceRecordErrorEntity entity, Context context) throws AppException { protected int editAfter(Long id, Map<String, Object> model, AttendanceRecordErrorEntity entity, Context context) throws AppException {
this.addDict(model, "errorStatus", paramService.getParamBySecondOrganize("AttendanceRecordError","errorStatus")); this.addDict(model, "errorStatus", paramService.getParamBySecondOrganize("AttendanceRecordDetail","goWorkResult"));
return super.editAfter(id, model, entity, context); return super.editAfter(id, model, entity, context);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment