Я сейчас работаю над HR system
, и у него есть опция для get 10 consecutive days (working days except weekends)
отпуска в своем модуле управления отпуска. Это приложение J2EE.Получить 'N' количество последовательных будних дней с указанной даты
Все, что я хочу, чтобы get 'N' number of consecutive weekdays from the given date
ли кто-нибудь знает, как достичь этой проблемы?
P.S: Я не использую какие-либо 3-библиотеки, как JodaTime ..
Вот код моего контроллера для применения отпуска один дня. Это не имеет ничего общего с последовательностью дней. но отправляю это здесь, чтобы доказать, что я делаю что-то серьезное ..
if (action.equals("applyLeave")) {
Leave l = new Leave();
int userid = Integer.parseInt(request.getParameter("userid"));
int leavetype = Integer.parseInt(request.getParameter("leavetype"));
String from = request.getParameter("from"); // from time
String to = request.getParameter("to"); // to time
double total = Double.parseDouble(request.getParameter("total")); // total hours
String r1 = request.getParameter("rep1");
String r2 = request.getParameter("rep2");
if (r1 == null || r1.isEmpty()) {
r1 = "0";
}
if (r2 == null || r2.isEmpty()) {
r2 = "0";
}
int rep1 = Integer.parseInt(r1);
int rep2 = Integer.parseInt(r2);
String reason = request.getParameter("reason");
String date = request.getParameter("date");
l.setUser(userid);
l.setLeavetype(leavetype);
l.setDate(date);
l.setFrom(from);
l.setReason(reason);
l.setRep1(rep1);
l.setRep2(rep2);
l.setTo(to);
l.setTotal(total);
dao.saveLeave(l);
// get manager of the department
UserDao udao = (UserDao) ctx.getBean("udao");
DepartmentDao ddao = (DepartmentDao) ctx.getBean("depdao");
NotificationDao notificationDao = (NotificationDao) ctx.getBean("notificationDao");
User u = udao.getUserByUserID(userid).get(0);
int department = u.getDepartment();
Department d = ddao.getDepartmentByID(department).get(0);
int manager = d.getManager();
// save a notification for the respective manager
// insert notification
String text = u.getFirstname() + " " + u.getLastname() + " has applied for a leave";
Notification n = new Notification();
n.setUserid(manager);
n.setFk(dao.getLeaveID());
n.setType(3);
n.setText(text);
notificationDao.saveNotification(n);
PrintWriter out = res.getWriter();
res.setContentType("text/html");
Gson gson = new Gson();
JsonObject myObj = new JsonObject();
myObj.add("message", gson.toJsonTree("Successfully Inserted"));
out.println(myObj.toString());
out.close();
}
@Psioniax, я закончил большую часть вещей в приложении, но я борюсь, чтобы получить эти дни подряд. Я искал google для решения, но я не смог найти. –
Редактировать свой вопрос, чтобы включить код –
@Psioniax, отредактированный с кодом –