Views/Forms/HR/GetLeaveDateTime.ashx
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<%@ WebHandler Language="C#" Class="GetLeaveDateTime" %>
using System;
using System.Web;
using MicroHRHelper;
public class GetLeaveDateTime : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string StartDateTime = context.Server.UrlDecode(context.Request.QueryString["StartDateTime"]),
LeaveDays = context.Server.UrlDecode(context.Request.QueryString["LeaveDays"]),
LeaveHour = context.Server.UrlDecode(context.Request.QueryString["LeaveHour"]),
LeaveUID = context.Server.UrlDecode(context.Request.QueryString["LeaveUID"]);
//StartDateTime = "2021-02-05";
//LeaveDays = "1.5";
//LeaveHour = "0";
//LeaveUID = "1";
context.Response.Write(GetEndDateTime(StartDateTime, LeaveDays, LeaveHour, LeaveUID));
}
/// <summary>
/// 根据开始时间、持续天数、持续小时数计算出结束时间
/// </summary>
/// <param name="StartDateTime"></param>
/// <param name="LeaveDays"></param>
/// <param name="LeaveHour"></param>
/// <returns></returns>
private string GetEndDateTime(string StartDateTime, string LeaveDays, string LeaveHour, string UID = "")
{
string flag = "0", strTemp = "\"StartTime\":\"{0}\",\"EndDateTime\":\"{1}\",\"EndDate\":\"{2}\",\"EndTime\":\"{3}\"";
if (string.IsNullOrEmpty(StartDateTime))
StartDateTime = DateTime.Now.toDateFormat();
string StartDate = StartDateTime.toDateFormat(),
StartTime = StartDateTime.toDateFormat("HH:mm"),
EndDateTime = StartDateTime,
EndDate = EndDateTime.toDateFormat(),
EndTime = EndDateTime.toDateFormat("HH:mm");
try
{
//获取休息时间,默认休息时间45分钟
int RestTime = 45;
//如果用户有排班则获取排班的RestTime数据
if (!string.IsNullOrEmpty(UID))
{
var getUserOnDuty = MicroHR.GetUserOnDuty(UID, StartDateTime);
RestTime = getUserOnDuty.RestTime.toInt(); //班次休息时间
StartTime = !string.IsNullOrEmpty(getUserOnDuty.StartTime) ? getUserOnDuty.StartTime : StartTime; //班次开始时间
int StandardOvertime = getUserOnDuty.StandardOvertime.toInt(); //班次标准上班时间 单位min
//默认先根据开始时间得到结束时间(在新增时用于根据用户班次开始时间计算出结束时间填充给控件),后续若LeaveDays>0或者LeaveHour>0时再重新计算
EndDateTime = DateTime.Parse(StartDate + " " + StartTime).AddMinutes(480 + RestTime).ToString("yyyy-MM-dd HH:mm:ss");
后面还有 55 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
