Commit 11bedae8 authored by 赵啸非's avatar 赵啸非

修改考勤汇总

parent 607a63da
package com.mortals.xhx.module.attendance.web; package com.mortals.xhx.module.attendance.web;
import com.mortals.framework.annotation.UnAuth; import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest; import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
...@@ -19,8 +20,10 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -19,8 +20,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
...@@ -28,20 +31,22 @@ import com.mortals.framework.util.StringUtils; ...@@ -28,20 +31,22 @@ import com.mortals.framework.util.StringUtils;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*; import static com.mortals.framework.ap.SysConstains.*;
/** /**
* * 考勤打卡记录异常信息
* 考勤打卡记录异常信息 *
* * @author zxfei
* @author zxfei * @date 2023-04-08
* @date 2023-04-08 */
*/
@RestController @RestController
@RequestMapping("attendance/record/error") @RequestMapping("attendance/record/error")
public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingController<AttendanceRecordErrorService,AttendanceRecordErrorEntity,Long> { public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingController<AttendanceRecordErrorService, AttendanceRecordErrorEntity, Long> {
@Autowired @Autowired
private ParamService paramService; private ParamService paramService;
...@@ -67,17 +72,17 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont ...@@ -67,17 +72,17 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
@Autowired @Autowired
private AttendanceRecordErrorService errorService; private AttendanceRecordErrorService errorService;
public AttendanceRecordErrorController(){ public AttendanceRecordErrorController() {
super.setModuleDesc( "考勤打卡记录异常信息"); super.setModuleDesc("考勤打卡记录异常信息");
} }
@Override @Override
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "errorStatus", ErrorStatusEnum.getEnumMap()); this.addDict(model, "errorStatus", ErrorStatusEnum.getEnumMap());
this.addDict(model, "processStatus", paramService.getParamBySecondOrganize("AttendanceRecordError","processStatus")); this.addDict(model, "processStatus", paramService.getParamBySecondOrganize("AttendanceRecordError", "processStatus"));
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())));
super.init(model, context); super.init(model, context);
} }
...@@ -92,11 +97,11 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont ...@@ -92,11 +97,11 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
query.setProcessResult("已撤销处理"); query.setProcessResult("已撤销处理");
errorService.update(query); errorService.update(query);
DateUtils.convertTime2Str(query.getErrorDateTime().getTime(),DateUtils.P_yyyy_MM_dd); DateUtils.convertTime2Str(query.getErrorDateTime().getTime(), DateUtils.P_yyyy_MM_dd);
AttendanceRecordQuery attendanceRecordQuery = new AttendanceRecordQuery(); AttendanceRecordQuery attendanceRecordQuery = new AttendanceRecordQuery();
attendanceRecordQuery.setStaffId(query.getStaffId()); attendanceRecordQuery.setStaffId(query.getStaffId());
attendanceRecordQuery.setAttendanceDateStart(DateUtils.convertTime2Str(query.getErrorDateTime().getTime(),DateUtils.P_yyyy_MM_dd)); attendanceRecordQuery.setAttendanceDateStart(DateUtils.convertTime2Str(query.getErrorDateTime().getTime(), DateUtils.P_yyyy_MM_dd));
attendanceRecordQuery.setAttendanceDateEnd(DateUtils.convertTime2Str(query.getErrorDateTime().getTime(),DateUtils.P_yyyy_MM_dd)); attendanceRecordQuery.setAttendanceDateEnd(DateUtils.convertTime2Str(query.getErrorDateTime().getTime(), DateUtils.P_yyyy_MM_dd));
AttendanceRecordEntity attendanceRecordEntity = attendanceRecordService.selectOne(attendanceRecordQuery); AttendanceRecordEntity attendanceRecordEntity = attendanceRecordService.selectOne(attendanceRecordQuery);
AttendanceRecordDetailQuery detailQuery = new AttendanceRecordDetailQuery(); AttendanceRecordDetailQuery detailQuery = new AttendanceRecordDetailQuery();
detailQuery.setRecordId(attendanceRecordEntity.getId()); detailQuery.setRecordId(attendanceRecordEntity.getId());
...@@ -104,25 +109,25 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont ...@@ -104,25 +109,25 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
List<AttendanceRecordDetailEntity> attendanceRecordDetailEntity = attendanceRecordDetailService.find(detailQuery); List<AttendanceRecordDetailEntity> attendanceRecordDetailEntity = attendanceRecordDetailService.find(detailQuery);
for (AttendanceRecordDetailEntity recordDetailEntity : attendanceRecordDetailEntity) { for (AttendanceRecordDetailEntity recordDetailEntity : attendanceRecordDetailEntity) {
if (query.getGoOrOff().equals("上班")){ if (query.getGoOrOff().equals("上班")) {
if (query.getErrorStatus()==0){ if (query.getErrorStatus() == 0) {
recordDetailEntity.setGoWorkResult(3); recordDetailEntity.setGoWorkResult(3);
} }
if (query.getErrorStatus()==2){ if (query.getErrorStatus() == 2) {
recordDetailEntity.setGoWorkResult(4); recordDetailEntity.setGoWorkResult(4);
} }
} }
if (query.getGoOrOff().equals("下班")){ if (query.getGoOrOff().equals("下班")) {
if (query.getErrorStatus()==0){ if (query.getErrorStatus() == 0) {
recordDetailEntity.setOffWorkResult(3); recordDetailEntity.setOffWorkResult(3);
} }
if (query.getErrorStatus()==1){ if (query.getErrorStatus() == 1) {
recordDetailEntity.setOffWorkResult(5); recordDetailEntity.setOffWorkResult(5);
} }
} }
} }
return Rest.ok(); return Rest.ok();
} }
...@@ -139,11 +144,11 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont ...@@ -139,11 +144,11 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
this.batchSave(entity.getRecordErrorEntities()); this.batchSave(entity.getRecordErrorEntities());
for (AttendanceRecordErrorEntity item : entity.getRecordErrorEntities()) { for (AttendanceRecordErrorEntity item : entity.getRecordErrorEntities()) {
DateUtils.convertTime2Str(item.getErrorDateTime().getTime(),DateUtils.P_yyyy_MM_dd); DateUtils.convertTime2Str(item.getErrorDateTime().getTime(), DateUtils.P_yyyy_MM_dd);
AttendanceRecordQuery attendanceRecordQuery = new AttendanceRecordQuery(); AttendanceRecordQuery attendanceRecordQuery = new AttendanceRecordQuery();
attendanceRecordQuery.setStaffId(item.getStaffId()); attendanceRecordQuery.setStaffId(item.getStaffId());
attendanceRecordQuery.setAttendanceDateStart(DateUtils.convertTime2Str(item.getErrorDateTime().getTime(),DateUtils.P_yyyy_MM_dd)); attendanceRecordQuery.setAttendanceDateStart(DateUtils.convertTime2Str(item.getErrorDateTime().getTime(), DateUtils.P_yyyy_MM_dd));
attendanceRecordQuery.setAttendanceDateEnd(DateUtils.convertTime2Str(item.getErrorDateTime().getTime(),DateUtils.P_yyyy_MM_dd)); attendanceRecordQuery.setAttendanceDateEnd(DateUtils.convertTime2Str(item.getErrorDateTime().getTime(), DateUtils.P_yyyy_MM_dd));
AttendanceRecordEntity attendanceRecordEntity = attendanceRecordService.selectOne(attendanceRecordQuery); AttendanceRecordEntity attendanceRecordEntity = attendanceRecordService.selectOne(attendanceRecordQuery);
AttendanceRecordDetailQuery detailQuery = new AttendanceRecordDetailQuery(); AttendanceRecordDetailQuery detailQuery = new AttendanceRecordDetailQuery();
detailQuery.setRecordId(attendanceRecordEntity.getId()); detailQuery.setRecordId(attendanceRecordEntity.getId());
...@@ -153,46 +158,46 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont ...@@ -153,46 +158,46 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
for (AttendanceRecordDetailEntity recordDetailEntity : attendanceRecordDetailEntity) { for (AttendanceRecordDetailEntity recordDetailEntity : attendanceRecordDetailEntity) {
Date goWorkDate = recordDetailEntity.getGoWorkDate(); Date goWorkDate = recordDetailEntity.getGoWorkDate();
Date offWorkDate = recordDetailEntity.getOffWorkDate(); Date offWorkDate = recordDetailEntity.getOffWorkDate();
if (item.getProcessResult().contains("正常")){ if (item.getProcessResult().contains("正常")) {
if (!ObjectUtils.isEmpty(goWorkDate)){ if (!ObjectUtils.isEmpty(goWorkDate)) {
if (goWorkDate.getTime()==item.getGoOffDateTime().getTime()){ if (goWorkDate.getTime() == item.getGoOffDateTime().getTime()) {
recordDetailEntity.setGoWorkResult(1); recordDetailEntity.setGoWorkResult(1);
} }
}else { } else {
if (item.getGoOrOff().equals("上班")){ if (item.getGoOrOff().equals("上班")) {
recordDetailEntity.setGoWorkResult(1); recordDetailEntity.setGoWorkResult(1);
} }
} }
if (!ObjectUtils.isEmpty(offWorkDate)){ if (!ObjectUtils.isEmpty(offWorkDate)) {
if (offWorkDate.getTime()==item.getGoOffDateTime().getTime()){ if (offWorkDate.getTime() == item.getGoOffDateTime().getTime()) {
recordDetailEntity.setOffWorkResult(1); recordDetailEntity.setOffWorkResult(1);
} }
}else { } else {
if (item.getGoOrOff().equals("下班")){ if (item.getGoOrOff().equals("下班")) {
recordDetailEntity.setOffWorkResult(1); recordDetailEntity.setOffWorkResult(1);
} }
} }
} }
if (item.getProcessResult().contains("早退")){ if (item.getProcessResult().contains("早退")) {
if (!ObjectUtils.isEmpty(offWorkDate)){ if (!ObjectUtils.isEmpty(offWorkDate)) {
if (offWorkDate.getTime()==item.getGoOffDateTime().getTime()){ if (offWorkDate.getTime() == item.getGoOffDateTime().getTime()) {
recordDetailEntity.setOffWorkResult(5); recordDetailEntity.setOffWorkResult(5);
} }
}else{ } else {
if (item.getGoOrOff().equals("下班")){ if (item.getGoOrOff().equals("下班")) {
recordDetailEntity.setOffWorkResult(5); recordDetailEntity.setOffWorkResult(5);
} }
} }
} }
if (item.getProcessResult().contains("迟到")){ if (item.getProcessResult().contains("迟到")) {
if (!ObjectUtils.isEmpty(goWorkDate)){ if (!ObjectUtils.isEmpty(goWorkDate)) {
if (goWorkDate.getTime()==item.getGoOffDateTime().getTime()){ if (goWorkDate.getTime() == item.getGoOffDateTime().getTime()) {
recordDetailEntity.setGoWorkResult(4); recordDetailEntity.setGoWorkResult(4);
} }
}else { } else {
if (item.getGoOrOff().equals("上班")){ if (item.getGoOrOff().equals("上班")) {
recordDetailEntity.setGoWorkResult(4); recordDetailEntity.setGoWorkResult(4);
} }
} }
...@@ -205,7 +210,7 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont ...@@ -205,7 +210,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("AttendanceRecordDetail","goWorkResult")); this.addDict(model, "errorStatus", paramService.getParamBySecondOrganize("AttendanceRecordDetail", "goWorkResult"));
return super.editAfter(id, model, entity, context); return super.editAfter(id, model, entity, context);
} }
...@@ -214,11 +219,13 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont ...@@ -214,11 +219,13 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
for (AttendanceRecordErrorEntity errorEntity : list) { for (AttendanceRecordErrorEntity errorEntity : list) {
Long shiftsId = errorEntity.getShiftsId(); Long shiftsId = errorEntity.getShiftsId();
AttendanceClassDetailEntity attendanceClassDetailEntity = classDetailService.selectOne(new AttendanceClassDetailQuery().id(shiftsId)); AttendanceClassDetailEntity attendanceClassDetailEntity = classDetailService.selectOne(new AttendanceClassDetailQuery().id(shiftsId));
if (errorEntity.getGoOffDateTime().getTime()==attendanceClassDetailEntity.getGoWorkDate().getTime()){ if (!ObjectUtils.isEmpty(attendanceClassDetailEntity)) {
errorEntity.setGoOrOff("上班"); if (errorEntity.getGoOffDateTime().getTime() == attendanceClassDetailEntity.getGoWorkDate().getTime()) {
} errorEntity.setGoOrOff("上班");
if (errorEntity.getGoOffDateTime().getTime()==attendanceClassDetailEntity.getOffWorkDate().getTime()){ }
errorEntity.setGoOrOff("下班"); if (errorEntity.getGoOffDateTime().getTime() == attendanceClassDetailEntity.getOffWorkDate().getTime()) {
errorEntity.setGoOrOff("下班");
}
} }
} }
super.doListAfter(query, list, context); super.doListAfter(query, list, 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