java实现请假时间判断

笔记:
需求分析:
每周上班6天
夏季
早上8:30-12:00
下午14:00-17:30
冬季
早上8:30-12:00
下午14:30-18:00

请假最低为半天

按照上午8:00-12:00,下午14:00-18:00计算,包括了夏季和冬季时间,规律分布如下在这里插入图片描述

public String getDouble(HttpServletRequest request) throws ParseException {
		//参数格式,前端使用layui框架
		//String endTime ="Wed Jan 01 2020 00:00:00 GMT+0800 (中国标准时间)";
		//String startTime ="Tue Dec 31 2019 00:00:00 GMT+0800 (中国标准时间)";

		String startTime = request.getParameter("startTime");
		String endTime = request.getParameter("endTime");
		Double num=0d;//请假天数;

		//转成date
		Date start = new Date(startTime);
		Date end = new Date(endTime);

		//调用Calendar 类
		Calendar cStart=Calendar.getInstance();
		Calendar cEnd=Calendar.getInstance();

		cStart.setTime(start);
		cEnd.setTime(end);

		//获取两个时间的毫秒值
		long endSeconds = cEnd.getTimeInMillis();
		long startSeconds = cStart.getTimeInMillis();
		//判断结束时间是否大于开始时间
		if (endSeconds<startSeconds){
			return "fail";
		}
		//计算小时差值
		double hourNum=(endSeconds-startSeconds)/1000/60/60;

		//获取开始和结束时间是一年的第几周,判断是否是同一周,
		// 如果一周跨年,则这周算新一年的第一周
		int weekEndNum = cEnd.get(Calendar.WEEK_OF_YEAR);
		int weekStartNum = cStart.get(Calendar.WEEK_OF_YEAR);

		while (true){
			if (hourNum<=24){
				if (hourNum<=4){//半天
					num=num+0.5;
					break;
				}
				if (hourNum<=24&&hourNum>4){//1天
					num=num+1;
					break;
				}
			}else if (hourNum>24){

				hourNum = hourNum - 24;
				num++;
			}
		}
		int week = weekEndNum - weekStartNum;
		num=num-week;//跨几周,减去几天
		return num+"";
	}
请假流程工作流是一种用来管理员工请假申请的流程,它能够统一规范请假的流程,提高请假审批效率和准确性。下面是一个简单的请假流程工作流的示例。 首先,在java中可以使用业务流程管理引擎如Activiti或JBPM来实现请假流程工作流。在开始请假流程之前,需要定义好请假的类型,如事假、病假、年假等。同时还需要设定请假时间范围和具体天数。 当员工需要请假时,他可以通过系统或应用提交一个请假申请。该申请包含了请假类型和请假时间等信息。系统接收到请假申请后,会创建一个请假流程实例。 接下来,申请会进入到审批环节。请假流程中通常会设置多个审批节点,每个节点对应一位领导或者上级。每个节点会依次审批申请,审批的顺序可以是串行的,也可以是并行的。 审批者可以根据具体情况对请假申请进行审核,并提出意见或建议。审批者可以通过系统中的表单输入批准或驳回的意见,并提交给下一位审批者。在每个审批节点上,系统都会记录下每一位审批者的决策和意见。 如果所有的审批者都同意申请,流程会自动进入结束节点,该申请被批准,并通知员工请假成功。如果有一位或多位审批者驳回,请假流程会中止,并通知员工请假未通过。 请假流程工作流还可以加入其他的功能,如超时判断、催促通知等,以便提高请假流程的效率和及时性。 总结起来,简单的请假流程工作流包括请假申请、审批环节和结束节点。通过合理设置请假流程,可以提高请假审批的效率和准确性,让请假流程更加规范和便捷。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值