Commit 76e4a7e5 authored by 廖旭伟's avatar 廖旭伟

考勤汇总查询列表接口返回结果增加每日考勤打卡记录明细

parent c30180af
......@@ -2,6 +2,10 @@ package com.mortals.xhx.module.attendance.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity;
import com.mortals.xhx.module.attendance.model.AttendanceRecordQuery;
import java.util.List;
/**
* 考勤打卡记录详细信息Dao
* 考勤打卡记录详细信息 DAO接口
......@@ -18,6 +22,11 @@ public interface AttendanceRecordDetailDao extends ICRUDDao<AttendanceRecordDet
* */
int goWorkCount(Long id);
/**
* 查询每日打卡记录明细
* @param query
* @return
*/
List<AttendanceRecordDetailEntity> getListByWhere(AttendanceRecordQuery query);
}
......@@ -4,7 +4,11 @@ package com.mortals.xhx.module.attendance.dao.ibatis;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import com.mortals.xhx.module.attendance.dao.AttendanceRecordDetailDao;
import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity;
import com.mortals.xhx.module.attendance.model.AttendanceRecordQuery;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 考勤打卡记录详细信息DaoImpl DAO接口
*
......@@ -19,4 +23,11 @@ public class AttendanceRecordDetailDaoImpl extends BaseCRUDDaoMybatis<Attendance
public int goWorkCount(Long id) {
return getSqlSession().selectOne(getSqlId("goWorkCount"),id);
}
@Override
public List<AttendanceRecordDetailEntity> getListByWhere(AttendanceRecordQuery query) {
return getSqlSession().selectList(getSqlId("getListByWhere"),query);
}
}
package com.mortals.xhx.module.attendance.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity;
import com.mortals.xhx.module.attendance.model.AttendanceStaffStatEntity;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -9,6 +12,7 @@ import java.util.List;
* @author zxfei
* @date 2023-04-08
*/
@Data
public class AttendanceStaffStatVo extends BaseEntityLong {
List<AttendanceRecordDetailEntity> attendanceRecordDetail;
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.service.impl;
import com.mortals.framework.util.StringUtils;
import com.mortals.xhx.module.attendance.dao.AttendanceRecordDetailDao;
import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity;
import com.mortals.xhx.module.attendance.model.AttendanceRecordQuery;
import com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -21,6 +26,9 @@ import java.util.List;
@Service("attendanceStaffStatService")
public class AttendanceStaffStatServiceImpl extends AbstractCRUDServiceImpl<AttendanceStaffStatDao, AttendanceStaffStatEntity, Long> implements AttendanceStaffStatService {
@Autowired
private AttendanceRecordDetailDao attendanceRecordDetailDao;
@Override
public List<AttendanceStaffStatEntity> getListExt(AttendanceSummaryQuery params) throws AppException {
if(params==null){
......@@ -32,6 +40,19 @@ public class AttendanceStaffStatServiceImpl extends AbstractCRUDServiceImpl<Atte
if(StringUtils.isEmpty(params.getSummaryTimeStart())||StringUtils.isEmpty(params.getSummaryTimeEnd())){
throw new AppException("查询日期范围不能为空");
}
return dao.getListExt(params);
List<AttendanceStaffStatEntity> list = dao.getListExt(params);
if(CollectionUtils.isNotEmpty(list)){
for(AttendanceStaffStatEntity entity:list){
AttendanceRecordQuery query = new AttendanceRecordQuery();
query.setStaffId(entity.getStaffId());
String dayStr = entity.getYear()+"-"+entity.getMonth()+"-"+entity.getDay();
query.setAttendanceDateStart(dayStr);
query.setAttendanceDateEnd(dayStr);
List<AttendanceRecordDetailEntity> entityList = attendanceRecordDetailDao.getListByWhere(query);
entity.setAttendanceRecordDetail(entityList);
}
}
return list;
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.attendance.dao.ibatis.AttendanceRecordDetailDaoImpl">
<!-- 获取列表 -->
<select id="getListByWhere" parameterType="AttendanceRecordQuery" resultMap="AttendanceRecordDetailEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_attendance_record_detail as a,mortals_xhx_attendance_record r
where a.recordId = r.id
and r.staffId = #{staffId}
AND r.attendanceDate <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{attendanceDateStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
AND r.attendanceDate <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{attendanceDateEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</select>
</mapper>
\ No newline at end of file
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