|
@@ -461,36 +461,40 @@ public class WorkOverServiceImpl implements WorkOverService {
|
|
|
try {
|
|
|
//查询当前打卡时间是否在加班时段内
|
|
|
WorkOverPerson workOverPerson = workOverPersonService.findByPersonIdAndOffsetMinute(personId, recordTime, -60, 60);
|
|
|
- WorkOver workOver = workOverService.get(workOverPerson.getWorkOverId());
|
|
|
-
|
|
|
- //记录加班人员加班完成时间
|
|
|
- if (workOverPerson != null && workOver != null && "1".equals(workOver.getStatus())) {
|
|
|
- if (workOverPerson.getBeginTime() == null) {
|
|
|
- workOverPerson.setBeginTime(recordTime);
|
|
|
- } else if (recordTime.before(workOverPerson.getBeginTime())) {
|
|
|
- workOverPerson.setBeginTime(recordTime);
|
|
|
- }
|
|
|
|
|
|
- if (workOverPerson.getFinishTime() == null) {
|
|
|
- workOverPerson.setFinishTime(recordTime);
|
|
|
- } else if (recordTime.after(workOverPerson.getFinishTime())) {
|
|
|
- workOverPerson.setFinishTime(recordTime);
|
|
|
- }
|
|
|
+ if(workOverPerson!=null) {
|
|
|
+ WorkOver workOver = workOverService.get(workOverPerson.getWorkOverId());
|
|
|
+
|
|
|
+ //记录加班人员加班完成时间
|
|
|
+ if (workOverPerson != null && workOver != null) {
|
|
|
+ if (workOverPerson.getBeginTime() == null) {
|
|
|
+ workOverPerson.setBeginTime(recordTime);
|
|
|
+ } else {
|
|
|
+ if (recordTime.before(workOverPerson.getBeginTime())) {
|
|
|
+ workOverPerson.setBeginTime(recordTime);
|
|
|
+ }
|
|
|
+ if (workOverPerson.getFinishTime() == null) {
|
|
|
+ workOverPerson.setFinishTime(recordTime);
|
|
|
+ } else if (recordTime.after(workOverPerson.getFinishTime())) {
|
|
|
+ workOverPerson.setFinishTime(recordTime);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- if (workOverPerson.getBeginTime() != null && workOverPerson.getFinishTime() != null) {
|
|
|
- int minutes = (int) Minutes.minutesBetween(new DateTime(workOverPerson.getBeginTime()), new DateTime(workOverPerson.getFinishTime())).getMinutes();
|
|
|
- workOverPerson.setDuration(minutes);
|
|
|
+ if (workOverPerson.getBeginTime() != null && workOverPerson.getFinishTime() != null) {
|
|
|
+ int minutes = (int) Minutes.minutesBetween(new DateTime(workOverPerson.getBeginTime()), new DateTime(workOverPerson.getFinishTime())).getMinutes();
|
|
|
+ workOverPerson.setDuration(minutes);
|
|
|
|
|
|
- int intHours = minutes / 60;
|
|
|
- int intMinutes = minutes % 60;
|
|
|
- workOverPerson.setDurationStr(intHours + "小时" + intMinutes + "分钟");
|
|
|
+ int intHours = minutes / 60;
|
|
|
+ int intMinutes = minutes % 60;
|
|
|
+ workOverPerson.setDurationStr(intHours + "小时" + intMinutes + "分钟");
|
|
|
+ }
|
|
|
+
|
|
|
+ workOverPerson.setUpdateTime(new Date());
|
|
|
+ workOverPersonService.update(workOverPerson);
|
|
|
}
|
|
|
|
|
|
- workOverPerson.setUpdateTime(new Date());
|
|
|
- workOverPersonService.update(workOverPerson);
|
|
|
+ result = true;
|
|
|
}
|
|
|
-
|
|
|
- result = true;
|
|
|
}
|
|
|
catch (Exception ex){
|
|
|
result = false;
|