1.监控器分管领导,请假流程根据部门判断全改为副所长

2.请假判断由天数判断改为通过时间搓计算天数
This commit is contained in:
zty 2024-08-08 12:31:00 +08:00
parent d08f11e72a
commit 05dc9a97de
2 changed files with 22 additions and 6 deletions

View File

@ -417,6 +417,7 @@ public class MyTaskListener implements TaskListener {
private String setBranchLeader(activitiEnum.activitiClass aClass, String name, Long id) { private String setBranchLeader(activitiEnum.activitiClass aClass, String name, Long id) {
AdminDocumentManagement management = documentManagementService.selectById(id); AdminDocumentManagement management = documentManagementService.selectById(id);
switch (aClass) { switch (aClass) {
case leave:
case leaveMin: case leaveMin:
case leaveCountry: //婚丧/育儿假分管领导是副所长与请假天数无关 case leaveCountry: //婚丧/育儿假分管领导是副所长与请假天数无关
case postDocumentCgPj: //公文管理(发文管理)->成果评价->分管领导由所长改为副所长且删除所长节点 case postDocumentCgPj: //公文管理(发文管理)->成果评价->分管领导由所长改为副所长且删除所长节点
@ -514,7 +515,7 @@ public class MyTaskListener implements TaskListener {
} }
} }
break; break;
case leave: // case leave:
case foreignVisit: case foreignVisit:
case abroad: case abroad:
PersonalEvents personalEvents = personalEventsService.selectById(id); PersonalEvents personalEvents = personalEventsService.selectById(id);

View File

@ -18,6 +18,7 @@ import com.xqopen.kehui.personal.entity.PersonalEvents;
import com.xqopen.kehui.personal.entity.PersonalMember; import com.xqopen.kehui.personal.entity.PersonalMember;
import com.xqopen.kehui.personal.service.IPersonalEventsService; import com.xqopen.kehui.personal.service.IPersonalEventsService;
import com.xqopen.kehui.personal.service.IPersonalMemberService; import com.xqopen.kehui.personal.service.IPersonalMemberService;
import com.xqopen.kehui.personal.util.personalEnum;
import com.xqopen.kehui.util.ApiResponse; import com.xqopen.kehui.util.ApiResponse;
import com.xqopen.kehui.util.JacksonUtil; import com.xqopen.kehui.util.JacksonUtil;
import com.xqopen.kehui.util.MailUtil; import com.xqopen.kehui.util.MailUtil;
@ -27,10 +28,12 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.xml.crypto.Data;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime; import java.time.LocalTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
@ -146,6 +149,7 @@ public class PersonalEventsController implements PersonalEventsApi {
} }
if(flag){ if(flag){
aType = activitiEnum.activitiType.leaveLeader; aType = activitiEnum.activitiType.leaveLeader;
// aClass=activitiEnum.activitiClass.leaveLeader;
break; break;
} }
} }
@ -157,6 +161,7 @@ public class PersonalEventsController implements PersonalEventsApi {
case "marriageLeave": //婚丧假 case "marriageLeave": //婚丧假
case "maternityLeave": //产假 case "maternityLeave": //产假
aType = activitiEnum.activitiType.leaveCountry; aType = activitiEnum.activitiType.leaveCountry;
// aClass=activitiEnum.activitiClass.leaveCountry;
break; break;
case "leave"://事假 case "leave"://事假
case "annualLeave"://年休假 case "annualLeave"://年休假
@ -167,31 +172,41 @@ public class PersonalEventsController implements PersonalEventsApi {
LocalDate end = LocalDate.parse(formatter.format(endDate)); LocalDate end = LocalDate.parse(formatter.format(endDate));
LocalTime beginTime = LocalTime.parse(beginM); LocalTime beginTime = LocalTime.parse(beginM);
LocalTime endTime = LocalTime.parse(endM); LocalTime endTime = LocalTime.parse(endM);
LocalDateTime startDateTime = LocalDateTime.of(start, beginTime); // LocalDateTime startDateTime = LocalDateTime.of(start, beginTime);
LocalDateTime endDateTime = LocalDateTime.of(end, endTime); // LocalDateTime endDateTime = LocalDateTime.of(end, endTime);
long days = ChronoUnit.DAYS.between(startDateTime, endDateTime); // long days = ChronoUnit.DAYS.between(startDateTime, endDateTime);
beginDate = Date.from(LocalDateTime.of(start, beginTime).atZone(ZoneId.systemDefault()).toInstant());
endDate = Date.from(LocalDateTime.of(end,endTime).atZone(ZoneId.systemDefault()).toInstant());
long msNum = endDate.getTime() - beginDate.getTime();
// long days=msNum/(24*60*60*1000);
long days=msNum%(24*60*60*1000)==0?msNum/(24*60*60*1000):msNum/(24*60*60*1000)+1;
if(!"sickLeave".equals(leaveType)){ if(!"sickLeave".equals(leaveType)){
if(days>=1){ if(days>1){
aType = activitiEnum.activitiType.leaveCountry; aType = activitiEnum.activitiType.leaveCountry;
// aClass = Enum.valueOf(activitiEnum.activitiClass.class, personalEnum.Events.leaveCountry.name());
break; break;
} }
else{ else{
aType = activitiEnum.activitiType.leaveMin; aType = activitiEnum.activitiType.leaveMin;
// aClass=activitiEnum.activitiClass.leaveMin;
break; break;
} }
} }
else{ else{
if(days>=3){ if(days>3){
aType = activitiEnum.activitiType.leaveCountry; aType = activitiEnum.activitiType.leaveCountry;
// aClass=activitiEnum.activitiClass.leaveCountry;
break; break;
} }
else{ else{
aType = activitiEnum.activitiType.leaveMin; aType = activitiEnum.activitiType.leaveMin;
// aClass=activitiEnum.activitiClass.leaveMin;
break; break;
} }
} }
default: default:
aType = activitiEnum.activitiType.leave; aType = activitiEnum.activitiType.leave;
// aClass=activitiEnum.activitiClass.leave;
break; break;
} }
} }