|
@@ -125,7 +125,7 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void approvalBusinessOut(PersonInfo personInfo, String ids, String status, String approvalContent,String nextApprovalId) throws Exception {
|
|
|
+ public void approvalBusinessOut(PersonInfo personInfo, String ids, String status, String approvalContent, String nextApprovalId) throws Exception {
|
|
|
List<String> idList = Arrays.asList(ids.split(","));
|
|
|
|
|
|
if (idList.size() > 0) {
|
|
@@ -134,7 +134,7 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
BusinessOut businessOut = get(id);
|
|
|
|
|
|
String type = businessOut.getType();
|
|
|
- if ("1".equals(businessOut.getType())){
|
|
|
+ if ("1".equals(businessOut.getType())) {
|
|
|
type = "2";
|
|
|
}
|
|
|
//申请人
|
|
@@ -168,12 +168,12 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
}
|
|
|
while (parent != null && zIndex < loopNum) {
|
|
|
ApprovalConfig approvalConfig = approvalConfigService.findByCompanyIdAndType(companyInfo.getId(), type);
|
|
|
- if (approvalConfig != null){
|
|
|
+ if (approvalConfig != null) {
|
|
|
companyId = companyInfo.getId();
|
|
|
break;
|
|
|
- }else if (org.apache.commons.lang3.StringUtils.isBlank(companyInfo.getParentId())) {
|
|
|
+ } else if (org.apache.commons.lang3.StringUtils.isBlank(companyInfo.getParentId())) {
|
|
|
break;
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
parent = companyInfoService.get(parent.getParentId());
|
|
|
companyInfo = companyInfoService.get(companyInfo.getParentId());
|
|
|
zIndex++;
|
|
@@ -211,10 +211,10 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
//默认审核层级
|
|
|
int level = 2;
|
|
|
|
|
|
- if (StringUtils.isNotBlank(companyId)){
|
|
|
+ if (StringUtils.isNotBlank(companyId)) {
|
|
|
|
|
|
- ApprovalConfig approvalConfig = approvalConfigService.findByCompanyIdAndType(companyId,type);
|
|
|
- if (approvalConfig != null){
|
|
|
+ ApprovalConfig approvalConfig = approvalConfigService.findByCompanyIdAndType(companyId, type);
|
|
|
+ if (approvalConfig != null) {
|
|
|
level = Integer.valueOf(approvalConfig.getLevel());
|
|
|
}
|
|
|
|
|
@@ -222,66 +222,66 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
|
|
|
//计算当前审核的是第几级审批
|
|
|
int nowLevel = 1;
|
|
|
- if (StringUtils.isNotBlank(approvalPersonIdStr)){
|
|
|
+ if (StringUtils.isNotBlank(approvalPersonIdStr)) {
|
|
|
nowLevel = nowLevel + Arrays.asList(approvalPersonIdStr.split(",")).size();
|
|
|
}
|
|
|
//判断已审核人总数和需要审核级数
|
|
|
- if (nowLevel<level){
|
|
|
- List<PersonPopedom> dataList = personPopedomService.findApprovalList(personInfo,null,null,null);
|
|
|
- if (dataList.size()>0){
|
|
|
+ if (nowLevel < level) {
|
|
|
+ List<PersonPopedom> dataList = personPopedomService.findApprovalList(personInfo, null, null, null);
|
|
|
+ if (dataList.size() > 0) {
|
|
|
personPopedomList.add(dataList.get(0));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //判断审批人数量,审批人数据为0,审批流程走完
|
|
|
- if (personPopedomList.size() == 0) {
|
|
|
- businessOut.setApprovalTime(new Date());
|
|
|
- businessOut.setStatus(status);
|
|
|
- businessOut.setApprovalContent(approvalContent);
|
|
|
- businessOut.setUpdateBy(personInfo.getPopedom());
|
|
|
- businessOut.setUpdateTime(new Date());
|
|
|
- update(businessOut);
|
|
|
+ //判断审批人数量,审批人数据为0,审批流程走完
|
|
|
+ if (personPopedomList.size() == 0) {
|
|
|
+ businessOut.setApprovalTime(new Date());
|
|
|
+ businessOut.setStatus(status);
|
|
|
+ businessOut.setApprovalContent(approvalContent);
|
|
|
+ businessOut.setUpdateBy(personInfo.getPopedom());
|
|
|
+ businessOut.setUpdateTime(new Date());
|
|
|
+ update(businessOut);
|
|
|
+ }
|
|
|
+ //审批人数据不为0
|
|
|
+ else {
|
|
|
+ PersonPopedom personPopedom1 = personPopedomList.get(0);
|
|
|
+ if (StringUtils.isNotBlank(approvalPersonIdStr)) {
|
|
|
+ businessOut.setApprovalPersonIdStr(approvalPersonIdStr + "," + businessOut.getApprovalPersonPopedomId());
|
|
|
+ businessOut.setApprovalStatusStr(approvalStatusStr + "," + status);
|
|
|
+ businessOut.setApprovalTimeStr(approvalTimeStr + "," + DateUtil.format(new Date(), "yyyy-MM-dd HH:mm"));
|
|
|
+ businessOut.setApprovalContentStr(approvalContentStr + "," + approvalContent);
|
|
|
+ } else {
|
|
|
+ businessOut.setApprovalPersonIdStr(businessOut.getApprovalPersonPopedomId());
|
|
|
+ businessOut.setApprovalStatusStr(status);
|
|
|
+ businessOut.setApprovalTimeStr(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm"));
|
|
|
+ businessOut.setApprovalContentStr(approvalContent);
|
|
|
}
|
|
|
- //审批人数据不为0
|
|
|
- else {
|
|
|
- PersonPopedom personPopedom1 = personPopedomList.get(0);
|
|
|
- if (StringUtils.isNotBlank(approvalPersonIdStr)) {
|
|
|
- businessOut.setApprovalPersonIdStr(approvalPersonIdStr + "," + businessOut.getApprovalPersonPopedomId());
|
|
|
- businessOut.setApprovalStatusStr(approvalStatusStr + "," + status);
|
|
|
- businessOut.setApprovalTimeStr(approvalTimeStr + "," + DateUtil.format(new Date(), "yyyy-MM-dd HH:mm"));
|
|
|
- businessOut.setApprovalContentStr(approvalContentStr + "," + approvalContent);
|
|
|
- } else {
|
|
|
- businessOut.setApprovalPersonIdStr(businessOut.getApprovalPersonPopedomId());
|
|
|
- businessOut.setApprovalStatusStr(status);
|
|
|
- businessOut.setApprovalTimeStr(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm"));
|
|
|
- businessOut.setApprovalContentStr(approvalContent);
|
|
|
+
|
|
|
+ businessOut.setApprovalPersonPopedomId(personPopedom1.getId());
|
|
|
+ businessOut.setStatus("0");
|
|
|
+ businessOut.setApprovalContent("");
|
|
|
+ businessOut.setApprovalTime(null);
|
|
|
+ update(businessOut);
|
|
|
+
|
|
|
+ new Thread(() -> {
|
|
|
+ PersonInfo approvalPerson = personInfoService.get(personPopedom1.getPersonId());
|
|
|
+
|
|
|
+ String typeN = null;
|
|
|
+ String url = null;
|
|
|
+ if ("1".equals(businessOut.getType())) {
|
|
|
+ typeN = "外出";
|
|
|
+ url = "master/egress/verifyInfo";
|
|
|
+ }
|
|
|
+ if ("3".equals(businessOut.getType())) {
|
|
|
+ typeN = "出差";
|
|
|
+ url = "master/businessTravel/verifyInfo";
|
|
|
}
|
|
|
+ String accessToken = JwtUtil2.createToken(jwtSecret, approvalPerson.getId() + "", DateTime.now().plusHours(30 * 24).toDate());
|
|
|
+ WechatMessageUtil.sendEvenMessage(approvalPerson.getOpenId(), "有一条新的" + typeN + "信息待审核", person.getName(), businessOut.getApprovalNo(), "前往处理", wxConfig.getPortalUrl() + url + "?id=" + businessOut.getId() + "&exchange=1&role_id=" + personPopedom1.getId() + "&token=" + accessToken, wxConfig.getAppId(), wxConfig.getAppSecret());
|
|
|
|
|
|
- businessOut.setApprovalPersonPopedomId(personPopedom1.getId());
|
|
|
- businessOut.setStatus("0");
|
|
|
- businessOut.setApprovalContent("");
|
|
|
- businessOut.setApprovalTime(null);
|
|
|
- update(businessOut);
|
|
|
-
|
|
|
- new Thread(() -> {
|
|
|
- PersonInfo approvalPerson = personInfoService.get(personPopedom1.getPersonId());
|
|
|
-
|
|
|
- String typeN = null;
|
|
|
- String url = null;
|
|
|
- if ("1".equals(businessOut.getType())) {
|
|
|
- typeN = "外出";
|
|
|
- url = "master/egress/verifyInfo";
|
|
|
- }
|
|
|
- if ("3".equals(businessOut.getType())) {
|
|
|
- typeN = "出差";
|
|
|
- url = "master/businessTravel/verifyInfo";
|
|
|
- }
|
|
|
- String accessToken = JwtUtil2.createToken(jwtSecret, approvalPerson.getId() + "", DateTime.now().plusHours(30*24).toDate());
|
|
|
- WechatMessageUtil.sendEvenMessage(approvalPerson.getOpenId(), "有一条新的" + typeN + "信息待审核", person.getName(), businessOut.getApprovalNo(), "前往处理", wxConfig.getPortalUrl() + url+"?id=" + businessOut.getId() + "&exchange=1&role_id=" + personPopedom1.getId() + "&token=" + accessToken, wxConfig.getAppId(), wxConfig.getAppSecret());
|
|
|
-
|
|
|
- }).start();
|
|
|
- }
|
|
|
- // }
|
|
|
+ }).start();
|
|
|
+ }
|
|
|
+ // }
|
|
|
}
|
|
|
//拒绝
|
|
|
if ("2".equals(status)) {
|
|
@@ -317,8 +317,8 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
url = "master/businessTravel/info";
|
|
|
}
|
|
|
|
|
|
- String accessToken = JwtUtil2.createToken(jwtSecret, person.getId() + "", DateTime.now().plusHours(30*24).toDate());
|
|
|
- WechatMessageUtil.sendExamine(person.getOpenId(), firstMessage, person.getName(), businessOut.getStatus(), businessOut.getStatusN(), businessOut.getTypeN(), "前往查看", wxConfig.getPortalUrl() +url +"?id=" + businessOut.getId() + "&exchange=1&role_id=" + personPopedom.getId() + "&token=" + accessToken, wxConfig.getAppId(), wxConfig.getAppSecret());
|
|
|
+ String accessToken = JwtUtil2.createToken(jwtSecret, person.getId() + "", DateTime.now().plusHours(30 * 24).toDate());
|
|
|
+ WechatMessageUtil.sendExamine(person.getOpenId(), firstMessage, person.getName(), businessOut.getStatus(), businessOut.getStatusN(), businessOut.getTypeN(), "前往查看", wxConfig.getPortalUrl() + url + "?id=" + businessOut.getId() + "&exchange=1&role_id=" + personPopedom.getId() + "&token=" + accessToken, wxConfig.getAppId(), wxConfig.getAppSecret());
|
|
|
|
|
|
}).start();
|
|
|
}
|
|
@@ -330,47 +330,45 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
|
|
|
@Override
|
|
|
public void updatePersonWorkStatus(BusinessOut businessOut) {
|
|
|
- try{
|
|
|
+ try {
|
|
|
PersonPopedom personPopedom = personPopedomService.get(businessOut.getPersonPopedomId());
|
|
|
PersonInfo personInfo = personInfoService.get(personPopedom.getPersonId());
|
|
|
|
|
|
Date now = new Date();
|
|
|
|
|
|
//如果出差开始时间<=当前时间,说明是补出差记录,可能正在出差
|
|
|
- if (businessOut.getStartTime().compareTo(now) <=0){
|
|
|
+ if (businessOut.getStartTime().compareTo(now) <= 0) {
|
|
|
String workStatus = "";
|
|
|
|
|
|
- if ("1".equals(businessOut.getType())){
|
|
|
+ if ("1".equals(businessOut.getType())) {
|
|
|
workStatus = "2";
|
|
|
- }
|
|
|
- else if ("3".equals(businessOut.getType())){
|
|
|
+ } else if ("3".equals(businessOut.getType())) {
|
|
|
workStatus = "3";
|
|
|
}
|
|
|
|
|
|
personInfo.setWorkStatus(workStatus);
|
|
|
personInfoService.update(personInfo);
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
//如果出差开始开始时间>当前时间,则延时修改状态
|
|
|
- long millisecond = DateUtil.betweenMs(now,businessOut.getStartTime());
|
|
|
+ long millisecond = DateUtil.betweenMs(now, businessOut.getStartTime());
|
|
|
|
|
|
- log.warn("创建延时队列修改工作状态,id:"+businessOut.getId());
|
|
|
+ log.warn("创建延时队列修改工作状态,id:" + businessOut.getId());
|
|
|
|
|
|
rabbitTemplate.convertAndSend("businessOutDelayExchange", "businessOutSubmit",
|
|
|
- businessOut.getId(), (message)->{
|
|
|
- message.getMessageProperties().setHeader("x-delay",millisecond);
|
|
|
+ businessOut.getId(), (message) -> {
|
|
|
+ message.getMessageProperties().setHeader("x-delay", millisecond);
|
|
|
return message;
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- if(businessOut.getEndTime()!=null) {
|
|
|
+ if (businessOut.getEndTime() != null) {
|
|
|
//如果出差结束时间<=当前时间,说明已出差结束
|
|
|
if (businessOut.getEndTime().compareTo(now) <= 0) {
|
|
|
personInfo.setWorkStatus("1");
|
|
|
personInfoService.update(personInfo);
|
|
|
} else {
|
|
|
//如果出差结束时间>当前时间,则延时修改状态
|
|
|
- long millisecond = DateUtil.betweenMs(now, businessOut.getEndTime())+60000;
|
|
|
+ long millisecond = DateUtil.betweenMs(now, businessOut.getEndTime()) + 60000;
|
|
|
|
|
|
log.warn("创建延时队列修改工作状态,id:" + businessOut.getId());
|
|
|
|
|
@@ -381,8 +379,8 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
- }catch (Exception ex){
|
|
|
- log.error(ex.getMessage(),ex);
|
|
|
+ } catch (Exception ex) {
|
|
|
+ log.error(ex.getMessage(), ex);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -390,6 +388,7 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
public BusinessOut findLastActiveByPersonId(Long personId) {
|
|
|
return businessOutDAO.findLastActiveByPersonId(personId);
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
public List<BusinessOut> findByPersonPopedomAndEndTimeIsNull(String personPopedomId) {
|
|
|
return businessOutDAO.findByPersonPopedomAndEndTimeIsNull(personPopedomId);
|
|
@@ -401,13 +400,13 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public String submitBusiness(PersonPopedom personPopedom, String type, String destination, String startTime,String endTime,String days, String estimatedTime, String content,String formId,String ids,String draft) throws Exception {
|
|
|
+ public String submitBusiness(PersonPopedom personPopedom, String type, String destination, String startTime, String endTime, String days, String estimatedTime, String content, String formId, String ids, String draft) throws Exception {
|
|
|
|
|
|
BusinessOut businessOut = new BusinessOut();
|
|
|
- if(StringUtils.isNotEmpty(ids)){
|
|
|
- businessOut=businessOutDAO.get(ids);
|
|
|
+ if (StringUtils.isNotEmpty(ids)) {
|
|
|
+ businessOut = businessOutDAO.get(ids);
|
|
|
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
businessOut = new BusinessOut();
|
|
|
businessOut.setId(UUID.randomUUID().toString());
|
|
|
}
|
|
@@ -416,7 +415,7 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
businessOut.setStatus("-99");
|
|
|
businessOut.setDestination(destination);
|
|
|
businessOut.setStartTime(DateUtil.parse(startTime));
|
|
|
- // businessOut.setEstimatedTime(estimatedTime);
|
|
|
+ // businessOut.setEstimatedTime(estimatedTime);
|
|
|
/*if (estimatedTime.contains(".")){
|
|
|
Integer n = estimatedTime.indexOf(".");
|
|
|
String days = estimatedTime.substring(0,n);
|
|
@@ -426,7 +425,7 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
businessOut.setEstimatedDate(DateUtil.offsetDay(businessOut.getStartTime(),Integer.parseInt(estimatedTime)));
|
|
|
}*/
|
|
|
|
|
|
- // businessOut.setEndTime(businessOut.getEstimatedDate());
|
|
|
+ // businessOut.setEndTime(businessOut.getEstimatedDate());
|
|
|
businessOut.setEndTime(DateUtil.parse(endTime));
|
|
|
businessOut.setEstimatedTime(days);
|
|
|
businessOut.setEstimatedDate(DateUtil.parse(endTime));
|
|
@@ -434,19 +433,19 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
businessOut.setContent(content);
|
|
|
|
|
|
//判断是否有重叠时间
|
|
|
- List<BusinessOut> businessOutList = findByGreaterEndTime(new Date(),personPopedom.getId());
|
|
|
- if (businessOutList.size()>0){
|
|
|
- for (BusinessOut businessOut1 : businessOutList){
|
|
|
+ List<BusinessOut> businessOutList = findByGreaterEndTime(new Date(), personPopedom.getId());
|
|
|
+ if (businessOutList.size() > 0) {
|
|
|
+ for (BusinessOut businessOut1 : businessOutList) {
|
|
|
Date startTime1 = businessOut.getStartTime();
|
|
|
Date endTime1 = businessOut.getEndTime();
|
|
|
Date startTime2 = businessOut1.getStartTime();
|
|
|
Date endTime2 = businessOut1.getEndTime();
|
|
|
- if (startTime1.compareTo(startTime2) <=0){
|
|
|
- if (endTime1.compareTo(startTime2)>0){
|
|
|
+ if (startTime1.compareTo(startTime2) <= 0) {
|
|
|
+ if (endTime1.compareTo(startTime2) > 0) {
|
|
|
throw new Exception("与其他出差记录的申请时间重叠");
|
|
|
}
|
|
|
}
|
|
|
- if (startTime1.compareTo(startTime2)>0 && startTime1.compareTo(endTime2) <0 ){
|
|
|
+ if (startTime1.compareTo(startTime2) > 0 && startTime1.compareTo(endTime2) < 0) {
|
|
|
throw new Exception("与其他出差记录的申请时间重叠");
|
|
|
}
|
|
|
|
|
@@ -454,14 +453,14 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if(StringUtils.isNotEmpty(ids)){
|
|
|
+ if (StringUtils.isNotEmpty(ids)) {
|
|
|
update(businessOut);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
insert(businessOut);
|
|
|
}
|
|
|
|
|
|
if ("1".equals(draft)) {
|
|
|
- String procInstId = procinstService.addProcInst(businessOut.getId(), "出差", formId, personPopedom, null,null,null);
|
|
|
+ String procInstId = procinstService.addProcInst(businessOut.getId(), "出差", formId, personPopedom, null, null, null);
|
|
|
|
|
|
businessOut.setProcinstId(procInstId);
|
|
|
|
|
@@ -503,7 +502,7 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
PersonInfo personInfo = personInfoService.get(personPopedom.getPersonId());
|
|
|
|
|
|
UpdatePersonAttendanceDTO updatePersonAttendanceDTO = new UpdatePersonAttendanceDTO(
|
|
|
- personInfo.getId(), businessOut.getStartTime(),businessOut.getEndTime());
|
|
|
+ personInfo.getId(), businessOut.getStartTime(), businessOut.getEndTime());
|
|
|
|
|
|
rabbitTemplate.convertAndSend("updatePersonAttendanceQueue", updatePersonAttendanceDTO);
|
|
|
}
|
|
@@ -511,35 +510,41 @@ public class BusinessOutServiceImpl implements BusinessOutService {
|
|
|
|
|
|
@Override
|
|
|
public List<BusinessOut> listSearch(Map<String, Object> searchParams, List<Sort> sortList) {
|
|
|
- return businessOutDAO.search(searchParams,sortList);
|
|
|
+ return businessOutDAO.search(searchParams, sortList);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<BusinessOut> findByGreaterEndTime(Date date,String personPopedomId) {
|
|
|
- return businessOutDAO.findByGreaterEndTime(date,personPopedomId);
|
|
|
+ public List<BusinessOut> findByGreaterEndTime(Date date, String personPopedomId) {
|
|
|
+ return businessOutDAO.findByGreaterEndTime(date, personPopedomId);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public BigDecimal sumDaysByPersonIdAndTimeRange(Long personId, Date startDate, Date endDate){
|
|
|
+ public BigDecimal sumDaysByPersonIdAndTimeRange(Long personId, Date startDate, Date endDate) {
|
|
|
//查询时间段与出差交集部分
|
|
|
- List<BusinessOut> boList = businessOutDAO.findByPersonIdAndSEDate(personId,startDate,endDate);
|
|
|
+ List<BusinessOut> boList = businessOutDAO.findByPersonIdAndSEDate(personId, startDate, endDate);
|
|
|
BigDecimal totalAttendanceNum = BigDecimal.ZERO;
|
|
|
|
|
|
- for(BusinessOut bo : boList){
|
|
|
+ for (BusinessOut bo : boList) {
|
|
|
// if(bo.getEstimatedTime() != null) {
|
|
|
// BigDecimal et = new BigDecimal(bo.getEstimatedTime());
|
|
|
// totalAttendanceNum = totalAttendanceNum.add(et);
|
|
|
// }
|
|
|
//查询交集部分小时数
|
|
|
- Date maxStartDate = bo.getStartTime().compareTo(startDate)>0 ? bo.getStartTime() : startDate;
|
|
|
- Date minEndDate = bo.getEndTime().compareTo(endDate)<0 ? bo.getEndTime() : endDate;
|
|
|
+ Date maxStartDate = bo.getStartTime().compareTo(startDate) > 0 ? bo.getStartTime() : startDate;
|
|
|
+ Date minEndDate = bo.getEndTime().compareTo(endDate) < 0 ? bo.getEndTime() : endDate;
|
|
|
|
|
|
- int hours = Hours.hoursBetween(new DateTime(maxStartDate),new DateTime(minEndDate)).getHours();
|
|
|
- BigDecimal days = new BigDecimal(hours).divide(new BigDecimal(24),1, RoundingMode.HALF_UP);
|
|
|
+ int hours = Hours.hoursBetween(new DateTime(maxStartDate), new DateTime(minEndDate)).getHours();
|
|
|
+ BigDecimal days = new BigDecimal(hours).divide(new BigDecimal(24), 1, RoundingMode.HALF_UP);
|
|
|
|
|
|
totalAttendanceNum = totalAttendanceNum.add(days);
|
|
|
}
|
|
|
|
|
|
return totalAttendanceNum;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<BusinessOut> findByPersonIdAndSingleDate(Long personId, Date date) {
|
|
|
+ return businessOutDAO.findByPersonIdAndSingleDate(personId, date);
|
|
|
+ }
|
|
|
}
|