提交 c3743977 编写于 作者: O o2null

Merge branch 'feature/etag' into 'wrdp'

工作时间增加判断是否是工作日

See merge request o2oa/o2oa!2149
......@@ -85,4 +85,12 @@ public class WorkTime extends BaseWorkTime {
return false;
}
public boolean isWorkDay(Date d) {
return !this.isHoliday(DateUtils.toCalendar(d));
}
public boolean isWorkDay(Calendar c) {
return !this.isHoliday(c);
}
}
package com.x.general.assemble.control.jaxrs.worktime;
import java.util.Date;
import com.x.base.core.project.config.Config;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
import com.x.base.core.project.jaxrs.WrapString;
import com.x.base.core.project.tools.DateTools;
public class ActionForwardDays extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, String start, long days) throws Exception {
ActionResult<Wo> result = new ActionResult<>();
Date dateOfStart = DateTools.parse(start);
Wo wo = new Wo();
wo.setValue(DateTools
.format(Config.workTime().forwardMinutes(dateOfStart, days * Config.workTime().minutesOfWorkDay())));
result.setData(wo);
return result;
}
public static class Wo extends WrapString {
}
}
package com.x.general.assemble.control.jaxrs.worktime;
import java.util.Date;
import com.x.base.core.project.config.Config;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
import com.x.base.core.project.jaxrs.WrapBoolean;
import com.x.base.core.project.tools.DateTools;
public class ActionIsWorkDay extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, String date) throws Exception {
ActionResult<Wo> result = new ActionResult<>();
Date dateObject = DateTools.parse(date);
Wo wo = new Wo();
wo.setValue(Config.workTime().isWorkDay(dateObject));
result.setData(wo);
return result;
}
public static class Wo extends WrapBoolean {
}
}
......@@ -66,6 +66,25 @@ public class WorkTimeAction extends StandardJaxrsAction {
asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
}
@JaxrsMethodDescribe(value = "计算开始时间前进指定工作天数后的工作时间.", action = ActionForwardMinutes.class)
@GET
@Path("forwarddays/start/{start}/days/{days}")
@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
@Consumes(MediaType.APPLICATION_JSON)
public void forwardDays(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
@JaxrsParameterDescribe("开始时间") @PathParam("start") String start,
@JaxrsParameterDescribe("前进工作天数") @PathParam("days") int days) {
ActionResult<ActionForwardMinutes.Wo> result = new ActionResult<>();
EffectivePerson effectivePerson = this.effectivePerson(request);
try {
result = new ActionForwardMinutes().execute(effectivePerson, start, days);
} catch (Exception e) {
logger.error(e, effectivePerson, request, null);
result.error(e);
}
asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
}
@JaxrsMethodDescribe(value = "返回一个工作日的工作分钟数.", action = ActionMinutesOfWorkDay.class)
@GET
@Path("minutesofworkday")
......@@ -85,7 +104,7 @@ public class WorkTimeAction extends StandardJaxrsAction {
@JaxrsMethodDescribe(value = "返回指定时间是否是工作时间.", action = ActionIsWorkTime.class)
@GET
@Path("isworktime/date/{date}")
@Path("isworktime/{date}")
@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
@Consumes(MediaType.APPLICATION_JSON)
public void isWorkTime(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
......@@ -101,4 +120,22 @@ public class WorkTimeAction extends StandardJaxrsAction {
asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
}
@JaxrsMethodDescribe(value = "返回指定时间是否是工作日.", action = ActionIsWorkDay.class)
@GET
@Path("isworkday/{date}")
@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
@Consumes(MediaType.APPLICATION_JSON)
public void isWorkDay(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
@JaxrsParameterDescribe("指定日期") @PathParam("date") String date) {
ActionResult<ActionIsWorkDay.Wo> result = new ActionResult<>();
EffectivePerson effectivePerson = this.effectivePerson(request);
try {
result = new ActionIsWorkDay().execute(effectivePerson, date);
} catch (Exception e) {
logger.error(e, effectivePerson, request, null);
result.error(e);
}
asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册