From 072169e3c5446f94e2cf4e570e5c7952bb5b15b9 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期二, 27 七月 2021 14:47:44 +0800 Subject: [PATCH] 今日开发 考勤规则里增加 公司安排加班 调整请假时间计算 加班日考勤计算 --- zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs | 98 +++++++++++++++++++++++++++++++----------------- 1 files changed, 63 insertions(+), 35 deletions(-) diff --git a/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs b/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs index 62691b1..beae1d7 100644 --- a/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs +++ b/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs @@ -222,46 +222,47 @@ else { admAskLeaveDTO.CreaterName = curentuser.UserName; - admAskLeaveDTO.Tittle = "璇峰亣鐢宠锛�" + curentuser.UserName +"锛�"; - } + admAskLeaveDTO.Tittle = "璇峰亣鐢宠锛�" + curentuser.UserName + "锛�"; - if (!string.IsNullOrWhiteSpace(StratTimeName)) - { - DateTime StratTimeName1; - if(DateTime.TryParse(StratTimeName, out StratTimeName1)) + + if (!string.IsNullOrWhiteSpace(StratTimeName)) { - admAskLeaveDTO.StratTimeName = StratTimeName1.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"); } - } - 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 (!string.IsNullOrWhiteSpace(EndTimeName)) - { - DateTime EndTimeName1; - if (DateTime.TryParse(EndTimeName, out EndTimeName1)) + if (!string.IsNullOrWhiteSpace(EndTimeName)) { - admAskLeaveDTO.EndTimeName = EndTimeName1.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)); + + admAskLeaveDTO.LaveDay = admAsk.LaveDay; + admAskLeaveDTO.LavehHour = admAsk.LavehHour; } - 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)); - - admAskLeaveDTO.LaveDay = admAsk.LaveDay; - admAskLeaveDTO.LavehHour = admAsk.LavehHour; + ViewData.Model = admAskLeaveDTO; @@ -440,6 +441,8 @@ var tiaoxiuri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "tiaoxiuri").ToList(); + var jiabanri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiabanri").ToList(); + //姣忓ぉ鐨勮�冨嫟鏃堕棿鐐� string[] WorkingStart = admAttendanceRuleDTO.WorkingStart.Split('.'); int WorkingStarthour = int.Parse(WorkingStart[0]); @@ -550,7 +553,8 @@ { //鏄惁璋冧紤鏃� 璋冧紤鏃ラ渶瑕佷笂鐝� - if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)) + if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date) + || jiabanri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)) { if (StratTime <= StratTimeWorkingStart) { @@ -646,7 +650,8 @@ { //鏄惁璋冧紤鏃� 璋冧紤鏃ラ渶瑕佷笂鐝� - if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date)) + if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date) + || jiabanri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date)) { if (EndTime >= EndTimeOffworkEnd) { @@ -708,7 +713,8 @@ { //鏄惁璋冧紤鏃� 璋冧紤鏃ラ渶瑕佷笂鐝� - if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)) + if (tiaoxiuri.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueEnd >= dateTimenow.Date) + || jiabanri.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueEnd >= dateTimenow.Date)) { LavehTime += shangbanshijian; } @@ -737,7 +743,8 @@ else { //鏄惁璋冧紤鏃� 璋冧紤鏃ラ渶瑕佷笂鐝� - if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)) + if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date) + || jiabanri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)) { LavehTime -= shangbanshijian; } @@ -796,7 +803,7 @@ { askLeaveOffDTO.CreaterName = curentuser.UserName; askLeaveOffDTO.Tittle = "閿�鍋囩敵璇凤紙" + curentuser.UserName +"锛�"; - } + @@ -832,7 +839,7 @@ 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>(); if (!string.IsNullOrEmpty(id)) { @@ -1059,6 +1066,27 @@ } + + for (int i = 0; i < dto.jiaban_s.Length; i++) + { + if (!String.IsNullOrEmpty(dto.jiaban_s[i]) && !String.IsNullOrEmpty(dto.jiaban_e[i])) + { + AdmAttendanceRulesDtlDTO admAttendanceRulesDtlDTO = new AdmAttendanceRulesDtlDTO(); + admAttendanceRulesDtlDTO.Pid = dto.Id; + admAttendanceRulesDtlDTO.ValueStart = DateTime.Parse(dto.jiaban_s[i]); + admAttendanceRulesDtlDTO.ValueEnd = DateTime.Parse(dto.jiaban_e[i]); + admAttendanceRulesDtlDTO.Name = "jiabanri"; + admAttendanceRulesDtlDTO.RecStatus = "A"; + admAttendanceRulesDtlDTO.Creater = curentuser.Id; + admAttendanceRulesDtlDTO.Createtime = DateTime.Now; + admAttendanceRulesDtlDTO.Modifier = admAttendanceRulesDtlDTO.Creater; + admAttendanceRulesDtlDTO.Modifytime = admAttendanceRulesDtlDTO.Createtime; + resultEntity = _attendanceRuleService.saveDtl(admAttendanceRulesDtlDTO); + } + + + } + scope.Complete(); } -- Gitblit v1.9.1