| | |
| | | } |
| | | |
| | | |
| | | |
| | | [DllImport("Iphlpapi.dll")] |
| | | private static extern int SendARP(Int32 dest, Int32 host, ref Int64 mac, ref Int32 length); |
| | | |
| | |
| | | } |
| | | #endregion |
| | | #region 请假与销假 |
| | | public IActionResult AskLeave(string id="", DateTime? StratTimeName = null, DateTime? EndTimeName = null) |
| | | public IActionResult AskLeave(string id="", string StratTimeName = "", string EndTimeName = "") |
| | | { |
| | | |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | |
| | | |
| | | |
| | | |
| | | if (StratTimeName.HasValue) |
| | | if (!string.IsNullOrWhiteSpace(StratTimeName)) |
| | | { |
| | | admAskLeaveDTO.StratTimeName = StratTimeName.Value.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | DateTime StratTimeName1; |
| | | if(DateTime.TryParse(StratTimeName, out StratTimeName1)) |
| | | { |
| | | admAskLeaveDTO.StratTimeName = StratTimeName1.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | admAskLeaveDTO.StratTimeName =DateTime.Now.Date.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | } |
| | | |
| | | if (EndTimeName.HasValue) |
| | | if (!string.IsNullOrWhiteSpace(EndTimeName)) |
| | | { |
| | | admAskLeaveDTO.EndTimeName = EndTimeName.Value.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | DateTime EndTimeName1; |
| | | if (DateTime.TryParse(EndTimeName, out EndTimeName1)) |
| | | { |
| | | admAskLeaveDTO.EndTimeName = EndTimeName1.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | } |
| | | } |
| | | else |
| | | { |
| | | admAskLeaveDTO.EndTimeName = DateTime.Now.Date.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | } |
| | | |
| | | AdmAskLeaveDTO admAsk = jisianChecktime(DateTime.Parse(admAskLeaveDTO.StratTimeName), DateTime.Parse(admAskLeaveDTO.EndTimeName)); |
| | |
| | | if ((int)StratTime.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)StratTime.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd) |
| | | { |
| | | //是否节假日 |
| | | if (jiejiari.Exists(x => x.ValueStart <= StratTime.Date && x.ValueStart >= StratTime.Date)) |
| | | if (jiejiari.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)) |
| | | { |
| | | |
| | | LavehTime += 0; |
| | |
| | | { |
| | | |
| | | //是否调休日 调休日需要上班 |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueStart >= StratTime.Date)) |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)) |
| | | { |
| | | if (StratTime <= StratTimeWorkingStart) |
| | | { |
| | |
| | | if ((int)EndTime.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)EndTime.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd) |
| | | { |
| | | //是否节假日 |
| | | if (jiejiari.Exists(x => x.ValueStart <= EndTime.Date && x.ValueStart >= EndTime.Date)) |
| | | if (jiejiari.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date)) |
| | | { |
| | | |
| | | LavehTime += 0; |
| | |
| | | { |
| | | |
| | | //是否调休日 调休日需要上班 |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueStart >= EndTime.Date)) |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date)) |
| | | { |
| | | if (EndTime >= EndTimeOffworkEnd) |
| | | { |
| | |
| | | if ((int)dateTimenow.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)dateTimenow.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd) |
| | | { |
| | | //是否假期 假期不上班 |
| | | if (jiejiari.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueStart >= dateTimenow.Date)) |
| | | if (jiejiari.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueEnd >= dateTimenow.Date)) |
| | | { |
| | | LavehTime += 0; |
| | | } |
| | |
| | | { |
| | | |
| | | //是否调休日 调休日需要上班 |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueStart >= StratTime.Date)) |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)) |
| | | { |
| | | LavehTime += shangbanshijian; |
| | | } |
| | |
| | | |
| | | |
| | | if(ts.Days == 0) |
| | | { |
| | | LavehTime -= shangbanshijian; |
| | | { //是否上班日期 |
| | | if ((int)StratTime.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)StratTime.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd) |
| | | { |
| | | //是否节假日 |
| | | if (jiejiari.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)) |
| | | { |
| | | LavehTime -= 0; |
| | | } |
| | | else |
| | | { |
| | | LavehTime -= shangbanshijian; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //是否调休日 调休日需要上班 |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)) |
| | | { |
| | | LavehTime -= shangbanshijian; |
| | | } |
| | | else |
| | | { |
| | | LavehTime -= 0; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | return admAsk; |
| | | } |
| | | |
| | | public IActionResult AskLeaveOff(string id = "", DateTime? StratTimeName = null, DateTime? EndTimeName = null) |
| | | public IActionResult AskLeaveOff(string id = "", string StratTimeName = "", string EndTimeName = "") |
| | | { |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ViewData["curentuser"] = curentuser; |
| | |
| | | |
| | | |
| | | |
| | | if (StratTimeName.HasValue) |
| | | if (!string.IsNullOrWhiteSpace(StratTimeName)) |
| | | { |
| | | askLeaveOffDTO.StratTimeName = StratTimeName.Value.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | DateTime StratTimeName1; |
| | | if (DateTime.TryParse(StratTimeName, out StratTimeName1)) |
| | | { |
| | | askLeaveOffDTO.StratTimeName = StratTimeName1.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | askLeaveOffDTO.StratTimeName = DateTime.Now.Date.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | } |
| | | |
| | | if (EndTimeName.HasValue) |
| | | if (!string.IsNullOrWhiteSpace(EndTimeName)) |
| | | { |
| | | askLeaveOffDTO.EndTimeName = EndTimeName.Value.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | DateTime EndTimeName1; |
| | | if (DateTime.TryParse(EndTimeName, out EndTimeName1)) |
| | | { |
| | | askLeaveOffDTO.EndTimeName = EndTimeName1.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | } |
| | | } |
| | | else |
| | | { |
| | | askLeaveOffDTO.EndTimeName = DateTime.Now.Date.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | } |
| | | |
| | | ResultDataEntity<SysAttachmentDTO> results = new ResultDataEntity<SysAttachmentDTO>(); |
| | |
| | | ViewData["curentuser"] = curentuser; |
| | | using (TransactionScope scope = new TransactionScope()) |
| | | { |
| | | dto.FullAttendance = 0; |
| | | dto.AbsenteeismPayment2 = 0; |
| | | dto.RecStatus = "A"; |
| | | if (String.IsNullOrEmpty(dto.Id)) |
| | | { |