Commit cfc25531 authored by 廖旭伟's avatar 廖旭伟

Merge remote-tracking branch 'origin/master'

parents 74714cae cceacf8c
package com.mortals.xhx.module.attendance.service; package com.mortals.xhx.module.attendance.service;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService; import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.attendance.dao.AttendanceRecordHikDao; import com.mortals.xhx.module.attendance.dao.AttendanceRecordHikDao;
...@@ -57,6 +58,6 @@ public interface AttendanceRecordHikService extends ICRUDService<AttendanceRecor ...@@ -57,6 +58,6 @@ public interface AttendanceRecordHikService extends ICRUDService<AttendanceRecor
void buildCustomHikRecord(AttendanceRecordHikQuery recordHikQuery,Context context); void buildCustomHikRecord(AttendanceRecordHikQuery recordHikQuery,Context context);
void buildSourceHikRecord(AttendanceRecordHikQuery recordHikQuery,Context context); Rest<Integer> buildSourceHikRecord(AttendanceRecordHikQuery recordHikQuery, Context context);
} }
...@@ -260,7 +260,9 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -260,7 +260,9 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
query.setStaffId(attendanceRecordEntity.getStaffId()); query.setStaffId(attendanceRecordEntity.getStaffId());
// query.setClassId(attendanceRecordEntity.getClassId()); // query.setClassId(attendanceRecordEntity.getClassId());
// query.setAttendanceGroupId(attendanceRecordEntity.getAttendanceGroupId()); // query.setAttendanceGroupId(attendanceRecordEntity.getAttendanceGroupId());
query.setAttendanceDate(attendanceRecordEntity.getAttendanceDate()); //query.setAttendanceDate(attendanceRecordEntity.getAttendanceDate());
query.setAttendanceDateStart(dateStr);
query.setAttendanceDateEnd(dateStr);
AttendanceRecordEntity recordEntity = attendanceRecordService.selectOne(query); AttendanceRecordEntity recordEntity = attendanceRecordService.selectOne(query);
if (!ObjectUtils.isEmpty(recordEntity)) { if (!ObjectUtils.isEmpty(recordEntity)) {
...@@ -726,7 +728,12 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -726,7 +728,12 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
return weekClassId; return weekClassId;
} }
/**
* 计算考勤
*
* @param recordHikQuery
* @param context
*/
@Override @Override
public void buildCustomHikRecord(AttendanceRecordHikQuery recordHikQuery, Context context) { public void buildCustomHikRecord(AttendanceRecordHikQuery recordHikQuery, Context context) {
...@@ -794,7 +801,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -794,7 +801,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
AttendanceRecordHikEntity hikEntity = this.selectOne(condition); AttendanceRecordHikEntity hikEntity = this.selectOne(condition);
if (ObjectUtils.isEmpty(hikEntity)) { if (ObjectUtils.isEmpty(hikEntity)) {
this.getDao().insert(recordHikEntity); this.getDao().insert(recordHikEntity);
}else { } else {
log.info("当天已有考勤记录,无需添加!"); log.info("当天已有考勤记录,无需添加!");
} }
...@@ -810,10 +817,10 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -810,10 +817,10 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
} }
@Override @Override
public void buildSourceHikRecord(AttendanceRecordHikQuery recordHikQuery, Context context) { public Rest<Integer> buildSourceHikRecord(AttendanceRecordHikQuery recordHikQuery, Context context) {
syncDoorEvents(recordHikQuery); syncDoorEvents(recordHikQuery);
deletFackRecord(recordHikQuery, context); deletFackRecord(recordHikQuery, context);
return Rest.ok();
} }
private void deletFackRecord(AttendanceRecordHikQuery recordHikQuery, Context context) { private void deletFackRecord(AttendanceRecordHikQuery recordHikQuery, Context context) {
...@@ -821,8 +828,8 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -821,8 +828,8 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
log.info("开始删除虚增的记录!"); log.info("开始删除虚增的记录!");
recordHikQuery.setEventSource("当日未有记录虚增考勤记录!"); recordHikQuery.setEventSource("当日未有记录虚增考勤记录!");
List<AttendanceRecordHikEntity> fackAttendlist = this.find(recordHikQuery); List<AttendanceRecordHikEntity> fackAttendlist = this.find(recordHikQuery);
if(!ObjectUtils.isEmpty(fackAttendlist)){ if (!ObjectUtils.isEmpty(fackAttendlist)) {
log.info("虚增的记录:{}",fackAttendlist.size()); log.info("虚增的记录:{}", fackAttendlist.size());
for (AttendanceRecordHikEntity recordHikEntity : fackAttendlist) { for (AttendanceRecordHikEntity recordHikEntity : fackAttendlist) {
//判断是否已经重新有新的当日数据,如果有 则删除当前虚增记录 //判断是否已经重新有新的当日数据,如果有 则删除当前虚增记录
AttendanceRecordHikQuery query = new AttendanceRecordHikQuery(); AttendanceRecordHikQuery query = new AttendanceRecordHikQuery();
...@@ -831,7 +838,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -831,7 +838,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
query.setAttendanceDateEnd(recordHikQuery.getAttendanceDateEnd()); query.setAttendanceDateEnd(recordHikQuery.getAttendanceDateEnd());
query.setIdNotList(Arrays.asList(recordHikEntity.getId())); query.setIdNotList(Arrays.asList(recordHikEntity.getId()));
int count = this.count(query, context); int count = this.count(query, context);
if(count>0){ if (count > 0) {
//删除当前虚增的记录 //删除当前虚增的记录
this.remove(recordHikEntity.getId(), context); this.remove(recordHikEntity.getId(), context);
} }
...@@ -874,7 +881,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -874,7 +881,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
doorEventsRest = hikDoorService.getDoorEvents(doorEventReq); doorEventsRest = hikDoorService.getDoorEvents(doorEventReq);
log.info("doorEventsRest:{} msg:{},page:{}", doorEventsRest.getCode(), doorEventsRest.getMsg(), doorEventReq.getPageNo()); log.info("doorEventsRest:{} msg:{},page:{}", doorEventsRest.getCode(), doorEventsRest.getMsg(), doorEventReq.getPageNo());
getDoorEvents(doorEventsRest); getDoorEvents(doorEventsRest);
}catch (Exception e){ } catch (Exception e) {
log.error("分页获取考勤数据异常:{}", e.getMessage()); log.error("分页获取考勤数据异常:{}", e.getMessage());
} }
......
...@@ -197,21 +197,7 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc ...@@ -197,21 +197,7 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
//特定节假日 //特定节假日
isReturn = true; isReturn = true;
} }
} else {
//判断是否为周末
// Calendar calendar = Calendar.getInstance();
// calendar.setTime(DateUtils.StrToDate(query.getSummaryTime()));
// int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
// if (dayOfWeek == Calendar.SATURDAY || dayOfWeek == Calendar.SUNDAY) {
// isReturn = true;
// }
} }
// Date today = DateUtils.getCurrDate();
// if (DateUtils.StrToDate(query.getSummaryTime()).compareTo(today) >= 0) {
// //当天不统计
// isReturn = true;
// }
if (isReturn) { if (isReturn) {
return; return;
} }
...@@ -362,18 +348,26 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc ...@@ -362,18 +348,26 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
if (!ObjectUtils.isEmpty(attendanceSummary)) { if (!ObjectUtils.isEmpty(attendanceSummary)) {
//todo 保存详细json信息到remark //todo 保存详细json信息到remark
AttendanceRecordQuery detailQuery = new AttendanceRecordQuery();
detailQuery.setStaffId(staffStat.getStaffId());
//格式化年月日 //格式化年月日
String date = staffStat.getYear() + "-" + StrUtil.padPre(staffStat.getMonth() + "", 2, "0")+ "-" + StrUtil.padPre(staffStat.getDay() + "", 2, "0"); String date = staffStat.getYear() + "-" + StrUtil.padPre(staffStat.getMonth() + "", 2, "0")+ "-" + StrUtil.padPre(staffStat.getDay() + "", 2, "0");
AttendanceRecordQuery attendanceRecordQuery = new AttendanceRecordQuery();
//log.info("staffId:{},date:{}",staffStat.getStaffId(),date); attendanceRecordQuery.setStaffId(staffStat.getStaffId());
detailQuery.setAttendanceDateStart(date); attendanceRecordQuery.setAttendanceDateStart(date);
detailQuery.setAttendanceDateEnd(date); attendanceRecordQuery.setAttendanceDateEnd(date);
List<AttendanceRecordDetailEntity> detailEntities = attendanceRecordDetailService.getListByWhere(detailQuery);
if (!ObjectUtils.isEmpty(detailEntities)) { AttendanceRecordEntity recordEntity = recordService.selectOne(attendanceRecordQuery);
//log.info("detailEntities size:{}",detailEntities.size()); if(!ObjectUtils.isEmpty(recordEntity)){
staffStat.setRemark(JSON.toJSONString(detailEntities)); AttendanceRecordQuery detailQuery = new AttendanceRecordQuery();
detailQuery.setStaffId(staffStat.getStaffId());
detailQuery.setId(recordEntity.getId());
//log.info("staffId:{},date:{}",staffStat.getStaffId(),date);
detailQuery.setAttendanceDateStart(date);
detailQuery.setAttendanceDateEnd(date);
List<AttendanceRecordDetailEntity> detailEntities = attendanceRecordDetailService.getListByWhere(detailQuery);
if (!ObjectUtils.isEmpty(detailEntities)) {
//log.info("detailEntities size:{}",detailEntities.size());
staffStat.setRemark(JSON.toJSONString(detailEntities));
}
} }
} }
staffStat.setStaffName(staffName); staffStat.setStaffName(staffName);
......
...@@ -72,9 +72,6 @@ public class FixWorkAttendance extends AttendanceWorkAbstract { ...@@ -72,9 +72,6 @@ public class FixWorkAttendance extends AttendanceWorkAbstract {
} }
//获取当前日期的详细班次 //获取当前日期的详细班次
Long weekClassId = this.getWeekClassId(attendanceGroupFixedworkEntity, week); Long weekClassId = this.getWeekClassId(attendanceGroupFixedworkEntity, week);
//log.info("weekClassId:{}", weekClassId);
//weekClassId为-1 则不在考勤
Boolean checkWorkByHoliday = checkWorkByHoliday(); Boolean checkWorkByHoliday = checkWorkByHoliday();
Boolean checkHolidayByWorkDay = checkHolidayByWorkDay(); Boolean checkHolidayByWorkDay = checkHolidayByWorkDay();
...@@ -90,12 +87,6 @@ public class FixWorkAttendance extends AttendanceWorkAbstract { ...@@ -90,12 +87,6 @@ public class FixWorkAttendance extends AttendanceWorkAbstract {
return; return;
} }
} }
/* if (weekClassId == -1L) {
//跳过本次循环
return;
}*/
//特殊日期考勤配置 //特殊日期考勤配置
List<AttendanceGroupFixedworkSpecialEntity> specialEntities = specialService.find(new AttendanceGroupFixedworkSpecialQuery().fixedWorkId(attendanceGroupFixedworkEntity.getId())); List<AttendanceGroupFixedworkSpecialEntity> specialEntities = specialService.find(new AttendanceGroupFixedworkSpecialQuery().fixedWorkId(attendanceGroupFixedworkEntity.getId()));
if (!ObjectUtils.isEmpty(specialEntities)) { if (!ObjectUtils.isEmpty(specialEntities)) {
...@@ -155,7 +146,6 @@ public class FixWorkAttendance extends AttendanceWorkAbstract { ...@@ -155,7 +146,6 @@ public class FixWorkAttendance extends AttendanceWorkAbstract {
} }
} }
//获取班次信息 //获取班次信息
AttendanceClassEntity attendanceClassEntity = attendanceClassService.get(weekClassId); AttendanceClassEntity attendanceClassEntity = attendanceClassService.get(weekClassId);
if (ObjectUtils.isEmpty(attendanceClassEntity)) { if (ObjectUtils.isEmpty(attendanceClassEntity)) {
......
...@@ -207,8 +207,6 @@ public class AttendanceRecordHikController extends BaseCRUDJsonBodyMappingContro ...@@ -207,8 +207,6 @@ public class AttendanceRecordHikController extends BaseCRUDJsonBodyMappingContro
} }
@PostMapping(value = "/addAttendanceHikRecordCustom") @PostMapping(value = "/addAttendanceHikRecordCustom")
@UnAuth @UnAuth
public Rest<String> addAttendanceHikRecordCustom(@RequestBody AttendanceRecordHikQuery hikEntity) { public Rest<String> addAttendanceHikRecordCustom(@RequestBody AttendanceRecordHikQuery hikEntity) {
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
a.offWorkResult, a.offWorkResult,
a.orderNum a.orderNum
from mortals_xhx_attendance_record_detail as a,mortals_xhx_attendance_record r from mortals_xhx_attendance_record_detail as a,mortals_xhx_attendance_record r
where a.recordId = r.id where a.recordId = #{id}
and r.staffId = #{staffId} and r.staffId = #{staffId}
AND r.attendanceDate <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{attendanceDateStart},' 00:00:00'),19),'%Y-%m-%d AND r.attendanceDate <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{attendanceDateStart},' 00:00:00'),19),'%Y-%m-%d
%k:%i:%s') %k:%i:%s')
......
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