From 15eb82df2d6ec539e9d4245bfe08d531e8eb6379 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期日, 27 四月 2025 14:33:26 +0800 Subject: [PATCH] 修改培训订单占多个座位 --- zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 154 insertions(+), 13 deletions(-) diff --git a/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs b/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs index 1fce48e..f02eaeb 100644 --- a/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs +++ b/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs @@ -25,10 +25,12 @@ private readonly IWfRunProcessService _wfRunProcessService; private readonly IWfHistoryService _wfHistoryService; private readonly IWfNeeddeelService _wfNeeddeelService; + private readonly IPltPageService _pltPageService; [CheckLogin] public SigninController(ILogger<SigninController> logger, IAdmSigninService signinService, ISysAttachmentService sysAttachmentService , IAdmAttendanceRuleService attendanceRuleService, ILiaotianService liaotianService, IWfRunProcessService wfRunProcessService - , IWfHistoryService wfHistoryService, IWfNeeddeelService wfNeeddeelService) + , IWfHistoryService wfHistoryService, IWfNeeddeelService wfNeeddeelService + , IPltPageService pltPageService) { _logger = logger; _signinService = signinService; @@ -38,6 +40,7 @@ _wfRunProcessService = wfRunProcessService; _wfHistoryService = wfHistoryService; _wfNeeddeelService = wfNeeddeelService; + _pltPageService = pltPageService; } #region 鑰冨嫟绛惧埌鎵撳崱 @@ -201,9 +204,64 @@ search.userId = curentuser.Id; return JsonConvert.SerializeObject(_signinService.SearchByPaging(search)); } + + + + /// <summary> + /// 鎴戠殑鑰冨嫟璁板綍 + /// </summary> + /// <returns></returns> + [CheckLogin] + public IActionResult SigninAll(string id) + { + JArray jar = new JArray(); + for (var i = 1; i <= 12; i++) + { + var jo = string.Format("\"code\":{0}, \"label\":\"{1}鏈圽" ", i, i); + jar.Add(JObject.Parse("{" + jo + "}")); + + } + ViewBag.month = jar; + JArray Year = new JArray(); + for (var i = -1; i < 2; i++) + { + var jo = string.Format("\"code\":{0}, \"label\":\"{0}骞碶" ", DateTime.Now.Year + i); + Year.Add(JObject.Parse("{" + jo + "}")); + } + ViewBag.year = Year; + ViewBag.userid = id; + List<ActionEntity> actionlist = new List<ActionEntity>(); + ActionEntity actionEntity = new ActionEntity(); + actionEntity.OpenType = 0; + actionEntity.ActionUrl = ""; + actionEntity.ActionFun = "Search"; + actionEntity.PageIco = "fa fa-search"; + actionEntity.ActionName = "鏌ヨ"; + actionlist.Add(actionEntity); + ViewData["ActionInfo"] = actionlist; + + return View(); + } + + + + /// <summary> + /// 鍙栧緱鑰冨嫟璁板綍 + /// </summary> + /// <returns></returns> + + [CheckLogin] + public string GetSigninListAll(AdmSignInDTOSearch search) + { + //var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); + //search.userId = curentuser.Id; + return JsonConvert.SerializeObject(_signinService.SearchByPaging(search)); + } + + #endregion #region 璇峰亣涓庨攢鍋� - public IActionResult AskLeave(string id="", string StratTimeName = "", string EndTimeName = "") + public IActionResult AskLeave(string id="", string StratTimeName = "", string EndTimeName = "") { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -296,8 +354,8 @@ else { dangqianbuzhou = wfRunProcessDTO.Step; - //鏌ヨ鍘嗗彶鎰忚 - lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id); + //鏌ヨ瀹℃壒杩涘害 + lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id); if(wfRunProcessDTO.Step != "鎻愪氦") { shifoubiaoji = "D"; @@ -338,8 +396,37 @@ admAsk.RecStatus = "A"; ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = false; - - if (String.IsNullOrEmpty(admAsk.Id)) + + if(admAsk.Step == "鎻愪氦") + { + //璇峰亣鏃堕棿涓嶈兘閲嶅彔 + //var qingjia = _signinService.GetAskLeaveChongdie(curentuser.Id, admAsk.StratTime.Value, admAsk.EndTime.Value); + // if (qingjia.Count > 0) + // { + // resultEntity.Result = false; + // resultEntity.Message = "璇ユ椂闂存宸茬粡鏈夎鍋囷紒"; + // return JsonConvert.SerializeObject(resultEntity); + // } + + ////璇峰亣瓒呰繃涓夊ぉ锛屽繀椤绘彁鍓嶄笁澶╀互涓婅鍋囷紒 + // if (admAsk.LaveDay.Value >= 3 && admAsk.StratTime.Value.Date < DateTime.Now.Date.AddDays(3)) + // { + // resultEntity.Result = false; + // resultEntity.Message = "璇峰亣瓒呰繃涓夊ぉ锛屽繀椤绘彁鍓嶄笁澶╀互涓婅鍋囷紒"; + // return JsonConvert.SerializeObject(resultEntity); + // } + + //璇峰亣瓒呰繃涓冨ぉ锛屽繀椤绘彁鍓嶄竷澶╀互涓婅鍋囷紒 + if (admAsk.LaveDay.Value >= 7 && admAsk.StratTime.Value.Date < DateTime.Now.Date.AddDays(7)) + { + resultEntity.Result = false; + resultEntity.Message = "璇峰亣瓒呰繃涓冨ぉ锛屽繀椤绘彁鍓嶄竷澶╀互涓婅鍋囷紒"; + return JsonConvert.SerializeObject(resultEntity); + } + } + + + if (String.IsNullOrEmpty(admAsk.Id)) { admAsk.Creater = curentuser.Id; admAsk.Createtime = DateTime.Now; @@ -440,6 +527,8 @@ var jiejiari = admAttendanceRulesDtlDTOs.Where(x=>x.Name== "jiejiari").ToList(); var tiaoxiuri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "tiaoxiuri").ToList(); + + var jiabanri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiabanri").ToList(); //姣忓ぉ鐨勮�冨嫟鏃堕棿鐐� string[] WorkingStart = admAttendanceRuleDTO.WorkingStart.Split('.'); @@ -551,7 +640,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) { @@ -647,7 +737,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) { @@ -709,7 +800,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; } @@ -738,7 +830,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; } @@ -866,7 +959,7 @@ else { dangqianbuzhou = wfRunProcessDTO.Step; - //鏌ヨ鍘嗗彶鎰忚 + //鏌ヨ瀹℃壒杩涘害 lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id); if (wfRunProcessDTO.Step != "鎻愪氦") { @@ -904,8 +997,8 @@ var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; leaveOff.RecStatus = "A"; - //鏈寕瀹℃壒娴侊紝鎻愪氦鐩存帴閫氳繃 - leaveOff.ShenpiStatus = "A"; + ////鏈寕瀹℃壒娴侊紝鎻愪氦鐩存帴閫氳繃 + //leaveOff.ShenpiStatus = "A"; if (String.IsNullOrEmpty(leaveOff.Id)) { leaveOff.Creater = curentuser.Id; @@ -915,6 +1008,27 @@ leaveOff.Modifytime = DateTime.Now; ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = false; + + if (leaveOff.Step == "鎻愪氦") + { + //璇峰亣鏃堕棿涓嶈兘閲嶅彔 + var qingjia = _signinService.GetAskLeaveOffChongdie(curentuser.Id, leaveOff.StratTime.Value, leaveOff.EndTime.Value); + if (qingjia.Count > 0) + { + resultEntity.Result = false; + resultEntity.Message = "璇ユ椂闂存宸茬粡鏈夐攢鍋囷紒"; + return JsonConvert.SerializeObject(resultEntity); + } + + ////閿�鍋囧繀椤讳笁澶╀互鍐� + //if (leaveOff.EndTime.Value.Date < DateTime.Now.Date.AddDays(-4)) + //{ + // resultEntity.Result = false; + // resultEntity.Message = "璇峰湪72灏忔椂鍐呰繘琛岄攢鍋囧鐞嗭紝瓒呰繃72灏忔椂鏃犳硶鎻愪氦"; + // return JsonConvert.SerializeObject(resultEntity); + //} + } + using (TransactionScope scope = new TransactionScope()) { if (leaveOff.Step == "鎻愪氦") @@ -974,6 +1088,12 @@ #region 鑰冨嫟瑙勫垯 public IActionResult AttendanceRule() { + var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); + ViewData["curentuser"] = curentuser; + var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/Signin/AttendanceRule/"); + var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList(); + ViewData["ActionInfo2"] = pageEntities2; + AdmAttendanceRuleDTO admAttendanceRuleDTO = _attendanceRuleService.Get(""); admAttendanceRuleDTO.admAttendanceRulesDtlDTOs = _attendanceRuleService.GetDtlList(""); @@ -1060,6 +1180,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