From 2369258bc0b452cf3cab2dd5e8e2d9fde112b8d0 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期一, 26 七月 2021 16:17:25 +0800 Subject: [PATCH] 今日开发 加班申请· 统计报表:没有任何工作的人,不显示。显示人员的 部门 职位 姓名 工作时间 在计算考勤的时候只有有加班申请的加班才算加班 --- zhengcaioa/IServices/IAskService.cs | 6 zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs | 45 + zhengcaioa/Services/WfRunProcessService.cs | 349 ++++++++++++++++ zhengcaioa/IServices/IWfRunProcessService.cs | 2 zhengcaioa/zhengcaioa/Views/TongjiBaoBiao/Index.cshtml | 40 zhengcaioa/zhengcaioa/Views/TongjiBaoBiao/IndexSuoyou.cshtml | 60 +- zhengcaioa/Model/zhengcaioaContext.cs | 60 ++ zhengcaioa/zhengcaioa/Views/AdmAsk/Askovertime.cshtml | 323 +++++++++++++++ 表修改.sql | 103 ++++ zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs | 5 zhengcaioa/Services/AskService.cs | 69 +++ zhengcaioa/Model/AdmAskovertime.cs | 23 + zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs | 115 +++++ zhengcaioa/DTO/AdmAskovertimeDTO.cs | 27 + 14 files changed, 1,170 insertions(+), 57 deletions(-) diff --git a/zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs b/zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs index d3a0fc2..bb41e3b 100644 --- a/zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs +++ b/zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs @@ -233,7 +233,10 @@ CreateMap<AdmAskGood, AdmAskGoodDTO>(); CreateMap<AdmAskGoodDTO, AdmAskGood>(); - + + CreateMap<AdmAskovertime, AdmAskovertimeDTO>(); + CreateMap<AdmAskovertimeDTO, AdmAskovertime>(); + } } } diff --git a/zhengcaioa/DTO/AdmAskovertimeDTO.cs b/zhengcaioa/DTO/AdmAskovertimeDTO.cs new file mode 100644 index 0000000..40c8c69 --- /dev/null +++ b/zhengcaioa/DTO/AdmAskovertimeDTO.cs @@ -0,0 +1,27 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace DTO +{ + public class AdmAskovertimeDTO + { + public string Id { get; set; } + public decimal? Overtime { get; set; } + public string OvertimeName { get; set; } + public DateTime? Jiabantime { get; set; } + public string JiabantimeName { get; set; } + public string Remark { get; set; } + public string ShenpiStatus { get; set; } + public string RecStatus { get; set; } + public string Creater { get; set; } + public DateTime Createtime { get; set; } + public string Modifier { get; set; } + public DateTime Modifytime { get; set; } + public string CreaterName { get; set; } + public string Tittle { get; set; } + public string Content { get; set; } + public string Tongguojujue { get; set; } + public string Step { get; set; } + } +} diff --git a/zhengcaioa/IServices/IAskService.cs b/zhengcaioa/IServices/IAskService.cs index 7204b92..a5dd8f3 100644 --- a/zhengcaioa/IServices/IAskService.cs +++ b/zhengcaioa/IServices/IAskService.cs @@ -16,5 +16,11 @@ //鐗╁搧鐢抽 ResultEntity SaveAskGood(AdmAskGoodDTO admAsk); AdmAskGoodDTO GetAskGood(string Id); + + //鍔犵彮鐢宠 + ResultEntity SaveAskovertime(AdmAskovertimeDTO admAsk); + AdmAskovertimeDTO GetAskovertime(string Id); + + AdmAskovertimeDTO GetAskovertimeByUeridAndjiabantime(string Creater, DateTime Jiabantime); } } diff --git a/zhengcaioa/IServices/IWfRunProcessService.cs b/zhengcaioa/IServices/IWfRunProcessService.cs index e024d6e..1d849f2 100644 --- a/zhengcaioa/IServices/IWfRunProcessService.cs +++ b/zhengcaioa/IServices/IWfRunProcessService.cs @@ -26,5 +26,7 @@ ResultEntity WfAskcost(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version); ResultEntity WfAskGood(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version); + + ResultEntity WfAskovertime(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version); } } diff --git a/zhengcaioa/Model/AdmAskovertime.cs b/zhengcaioa/Model/AdmAskovertime.cs new file mode 100644 index 0000000..c31f6fe --- /dev/null +++ b/zhengcaioa/Model/AdmAskovertime.cs @@ -0,0 +1,23 @@ +锘縰sing System; +using System.Collections.Generic; + +#nullable disable + +namespace zhengcaioa.Models +{ + public partial class AdmAskovertime + { + public string Id { get; set; } + public decimal? Overtime { get; set; } + public DateTime? Jiabantime { get; set; } + public string Remark { get; set; } + public string ShenpiStatus { get; set; } + public string RecStatus { get; set; } + public string Creater { get; set; } + public DateTime Createtime { get; set; } + public string Modifier { get; set; } + public DateTime Modifytime { get; set; } + public string CreaterName { get; set; } + public string Tittle { get; set; } + } +} diff --git a/zhengcaioa/Model/zhengcaioaContext.cs b/zhengcaioa/Model/zhengcaioaContext.cs index 7414199..f142b9c 100644 --- a/zhengcaioa/Model/zhengcaioaContext.cs +++ b/zhengcaioa/Model/zhengcaioaContext.cs @@ -28,6 +28,7 @@ public virtual DbSet<AdmAskGood> AdmAskGoods { get; set; } public virtual DbSet<AdmAskLeave> AdmAskLeaves { get; set; } public virtual DbSet<AdmAskLeaveOff> AdmAskLeaveOffs { get; set; } + public virtual DbSet<AdmAskovertime> AdmAskovertimes { get; set; } public virtual DbSet<AdmAttendance> AdmAttendances { get; set; } public virtual DbSet<AdmAttendanceDtl> AdmAttendanceDtls { get; set; } public virtual DbSet<AdmAttendanceRule> AdmAttendanceRules { get; set; } @@ -364,6 +365,65 @@ .HasColumnName("tittle"); }); + modelBuilder.Entity<AdmAskovertime>(entity => + { + entity.ToTable("ADM_Askovertime"); + + entity.Property(e => e.Id).HasMaxLength(50); + + entity.Property(e => e.Creater) + .IsRequired() + .HasMaxLength(50) + .HasColumnName("creater") + .HasDefaultValueSql("('1')"); + + entity.Property(e => e.CreaterName) + .HasMaxLength(50) + .HasColumnName("createrName"); + + entity.Property(e => e.Createtime) + .HasColumnType("datetime") + .HasColumnName("createtime") + .HasDefaultValueSql("(getdate())"); + + entity.Property(e => e.Jiabantime) + .HasColumnType("datetime") + .HasColumnName("jiabantime"); + + entity.Property(e => e.Modifier) + .IsRequired() + .HasMaxLength(50) + .HasColumnName("modifier") + .HasDefaultValueSql("('1')"); + + entity.Property(e => e.Modifytime) + .HasColumnType("datetime") + .HasColumnName("modifytime") + .HasDefaultValueSql("(getdate())"); + + entity.Property(e => e.Overtime) + .HasColumnType("money") + .HasColumnName("overtime") + .HasDefaultValueSql("((0))"); + + entity.Property(e => e.RecStatus) + .IsRequired() + .HasMaxLength(1) + .HasColumnName("rec_status") + .HasDefaultValueSql("('A')"); + + entity.Property(e => e.Remark).HasMaxLength(500); + + entity.Property(e => e.ShenpiStatus) + .HasMaxLength(1) + .HasColumnName("shenpi_status") + .HasDefaultValueSql("('D')"); + + entity.Property(e => e.Tittle) + .HasMaxLength(50) + .HasColumnName("tittle"); + }); + modelBuilder.Entity<AdmAttendance>(entity => { entity.ToTable("ADM_Attendance"); diff --git a/zhengcaioa/Services/AskService.cs b/zhengcaioa/Services/AskService.cs index 42f3bda..5f8b81f 100644 --- a/zhengcaioa/Services/AskService.cs +++ b/zhengcaioa/Services/AskService.cs @@ -134,5 +134,74 @@ } #endregion + + #region 鍔犵彮鐢宠 + public ResultEntity SaveAskovertime(AdmAskovertimeDTO admAsk) + { + ResultEntity resultEntity = new ResultEntity(); + try + { + AdmAskovertime ask = _mapper.Map<AdmAskovertime>(admAsk); + if (string.IsNullOrEmpty(admAsk.Id)) + { + ask.Id = Guid.NewGuid().ToString(); + admAsk.Id = ask.Id; + _context.AdmAskovertimes.Add(ask); + } + else + { + var entity = _context.AdmAskovertimes.Find(admAsk.Id); + + entity.Overtime = admAsk.Overtime; + entity.Jiabantime = admAsk.Jiabantime; + entity.Remark = admAsk.Remark; + + + entity.ShenpiStatus = admAsk.ShenpiStatus; + entity.CreaterName = admAsk.CreaterName; + entity.Tittle = admAsk.Tittle; + + + + entity.Modifier = admAsk.Modifier; + entity.Modifytime = DateTime.Now; + } + _context.SaveChanges(); + resultEntity.ReturnID = ask.Id; + resultEntity.Result = true; + } + catch (Exception ex) + { + resultEntity.Result = false; + resultEntity.Message = "淇濆瓨澶辫触锛岃鑱旂郴绠$悊鍛�"; + ex.Message.ToString(); + } + + return resultEntity; + } + + public AdmAskovertimeDTO GetAskovertime(string Id) + { + var entity = _context.AdmAskovertimes.Where(e => e.RecStatus == "A" && e.Id == Id).FirstOrDefault(); + if (entity == null) + { + entity = new AdmAskovertime(); + } + var leaveDTO = _mapper.Map<AdmAskovertimeDTO>(entity); + return leaveDTO; + + } + public AdmAskovertimeDTO GetAskovertimeByUeridAndjiabantime(string Creater, DateTime Jiabantime) + { + var entity = _context.AdmAskovertimes.Where(e => e.RecStatus == "A" && e.ShenpiStatus == "A" && e.Creater == Creater && e.Jiabantime == Jiabantime).FirstOrDefault(); + if (entity == null) + { + entity = new AdmAskovertime(); + } + var leaveDTO = _mapper.Map<AdmAskovertimeDTO>(entity); + return leaveDTO; + + } + #endregion } } diff --git a/zhengcaioa/Services/WfRunProcessService.cs b/zhengcaioa/Services/WfRunProcessService.cs index 97da843..ce140df 100644 --- a/zhengcaioa/Services/WfRunProcessService.cs +++ b/zhengcaioa/Services/WfRunProcessService.cs @@ -2689,5 +2689,354 @@ return result; } + + public ResultEntity WfAskovertime(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version) + { + + ResultEntity result = new ResultEntity(); + result.Result = true; + + + WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "10").FirstOrDefault(); + if (wfRunProcessDTO != null) + { + version = wfRunProcessDTO.Version; + } + + + if (version == "v1") + { + if (step == "鎻愪氦") + { + //鏇存柊娴佺▼瀹炰緥 + // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "10").FirstOrDefault(); + if (wfRunProcessDTO == null) + { + //鎻掑叆娴佺▼瀹炰緥 + wfRunProcessDTO = new WfRunProcessDTO(); + //wfRunProcessDTO.Applyno = + wfRunProcessDTO.Applytime = DateTime.Now; + wfRunProcessDTO.Applytiye = "10"; + wfRunProcessDTO.DanjuId = DanjuId; + wfRunProcessDTO.Content = title; + wfRunProcessDTO.Step = "浜轰簨瀹℃壒"; + wfRunProcessDTO.ShenpiStatus = "D"; + wfRunProcessDTO.Version = version; + wfRunProcessDTO.RecStatus = "A"; + wfRunProcessDTO.Creater = Userid; + wfRunProcessDTO.Createtime = DateTime.Now; + wfRunProcessDTO.Modifier = Userid; + wfRunProcessDTO.Modifytime = DateTime.Now; + wfRunProcessDTO.Deelurl = "/AdmAsk/Askovertime?id=" + DanjuId; + result = this.save(wfRunProcessDTO); + if (result.Result == false) + { + return result; + } + //鏌ヨ澶勭悊浜� + var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "浜轰簨").FirstOrDefault(); + if (hrPositions == null) + { + result.Result = false; + result.Message = "鏈壘鍒拌亴浣�"; + return result; + } + var pltUsers = (from a in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A") + join b in _context.PltUserRoles.Where(x => x.RecStatus == "A" && x.RoleId == hrPositions.Id) on a.Id equals b.UserId + select a + ).ToList(); + + if (pltUsers == null || pltUsers.Count == 0) + { + result.Result = false; + result.Message = "鏈壘鍒板鐞嗕汉"; + return result; + } + foreach (var pltUser in pltUsers) + { + //鎻掑叆寰呭姙 + WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO(); + wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id; + wfNeeddeelDTO.SendUserId = Userid; + wfNeeddeelDTO.DeelUserId = pltUser.Id; + wfNeeddeelDTO.Sendtime = DateTime.Now; + wfNeeddeelDTO.Resivetime = DateTime.Now; + wfNeeddeelDTO.Step = "浜轰簨瀹℃壒"; + wfNeeddeelDTO.NeeddeelType = "1"; + wfNeeddeelDTO.ChuliStatus = "0"; + wfNeeddeelDTO.Deelurl = "/AdmAsk/Askovertime?id=" + DanjuId; + wfNeeddeelDTO.Content = ""; + wfNeeddeelDTO.Sort = 1; + wfNeeddeelDTO.RecStatus = "A"; + wfNeeddeelDTO.Creater = Userid; + wfNeeddeelDTO.Createtime = DateTime.Now; + wfNeeddeelDTO.Modifier = Userid; + wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime; + result = _wfNeeddeelService.save(wfNeeddeelDTO); + if (result.Result == false) + { + return result; + } + } + + //鎻掑叆鏂扮殑宸插姙 + WfHistory wfHistoryDTO1 = new WfHistory(); + wfHistoryDTO1.Id = Guid.NewGuid().ToString(); + wfHistoryDTO1.RunProcessId = wfRunProcessDTO.Id; + wfHistoryDTO1.SendUserId = Userid; + wfHistoryDTO1.DeelUserId = wfRunProcessDTO.Creater; + wfHistoryDTO1.Sendtime = DateTime.Now; + wfHistoryDTO1.Resivetime = DateTime.Now; + wfHistoryDTO1.Step = "鎻愪氦"; + wfHistoryDTO1.NeeddeelType = "1"; + wfHistoryDTO1.ChuliStatus = "2"; + wfHistoryDTO1.Deelurl = "/SalaryCheck/Appeal?id=" + DanjuId; + wfHistoryDTO1.Content = ""; + wfHistoryDTO1.Sort = 1; + wfHistoryDTO1.RecStatus = "A"; + wfHistoryDTO1.Creater = Userid; + wfHistoryDTO1.Createtime = DateTime.Now; + wfHistoryDTO1.Modifier = Userid; + wfHistoryDTO1.Modifytime = wfHistoryDTO1.Createtime; + _context.WfHistories.Add(wfHistoryDTO1); + _context.SaveChanges(); + } + else + { + wfRunProcessDTO.Step = "浜轰簨瀹℃壒"; + wfRunProcessDTO.Modifier = Userid; + wfRunProcessDTO.Modifytime = DateTime.Now; + result = this.save(wfRunProcessDTO); + if (result.Result == false) + { + return result; + } + + //鏇存柊寰呭姙 + List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "鎻愪氦"); + var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs); + + var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault(); + if (wfHistoryDTO == null) + { + result.Result = false; + result.Message = "鏈壘鍒颁唬鍔�"; + return result; + } + wfHistoryDTO.Content = Content; + wfHistoryDTO.ChuliStatus = "2"; + wfHistoryDTO.Modifier = Userid; + wfHistoryDTO.Modifytime = DateTime.Now; + var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs); + foreach (var wfHistory in wfHistories) + { + _context.WfHistories.Add(wfHistory); + } + var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs); + foreach (var wfNeeddeel in wfNeeddeels) + { + //_wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid); + _context.WfNeeddeels.Remove(wfNeeddeel); + } + _context.SaveChanges(); + + //鏌ヨ澶勭悊浜� + var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "浜轰簨").FirstOrDefault(); + if (hrPositions == null) + { + result.Result = false; + result.Message = "鏈壘鍒拌亴浣�"; + return result; + } + var pltUsers = (from a in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A") + join b in _context.PltUserRoles.Where(x => x.RecStatus == "A" && x.RoleId == hrPositions.Id) on a.Id equals b.UserId + select a + ).ToList(); + + if (pltUsers == null || pltUsers.Count == 0) + { + result.Result = false; + result.Message = "鏈壘鍒板鐞嗕汉"; + return result; + } + + foreach (var pltUser in pltUsers) + { + //鎻掑叆鏂扮殑寰呭姙 + WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO(); + wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id; + wfNeeddeelDTO.SendUserId = Userid; + wfNeeddeelDTO.DeelUserId = pltUser.Id; + wfNeeddeelDTO.Sendtime = DateTime.Now; + wfNeeddeelDTO.Resivetime = DateTime.Now; + wfNeeddeelDTO.Step = "浜轰簨瀹℃壒"; + wfNeeddeelDTO.NeeddeelType = "1"; + wfNeeddeelDTO.ChuliStatus = "0"; + wfNeeddeelDTO.Deelurl = "/AdmAsk/Askovertime?id=" + DanjuId; + wfNeeddeelDTO.Content = ""; + wfNeeddeelDTO.Sort = 2; + wfNeeddeelDTO.RecStatus = "A"; + wfNeeddeelDTO.Creater = Userid; + wfNeeddeelDTO.Createtime = DateTime.Now; + wfNeeddeelDTO.Modifier = Userid; + wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime; + result = _wfNeeddeelService.save(wfNeeddeelDTO); + if (result.Result == false) + { + return result; + } + } + } + + + + + } + + + if (step == "浜轰簨瀹℃壒") + { + //鏇存柊娴佺▼瀹炰緥 + //WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "10").FirstOrDefault(); + if (wfRunProcessDTO == null) + { + result.Result = false; + result.Message = "鏈壘鍒版祦绋嬪疄渚�"; + return result; + } + if (wfRunProcessDTO.Step != "浜轰簨瀹℃壒") + { + result.Result = false; + result.Message = "褰撳墠姝ラ宸茬粡澶勭悊"; + return result; + } + if (tongguojujue == "A") + { + + wfRunProcessDTO.Step = "瀹岀粨"; + wfRunProcessDTO.ShenpiStatus = "A"; + wfRunProcessDTO.Modifier = Userid; + wfRunProcessDTO.Modifytime = DateTime.Now; + result = this.save(wfRunProcessDTO); + if (result.Result == false) + { + return result; + } + //鏇存柊鍗曟嵁 + var admAskovertime = _context.AdmAskovertimes.Find(DanjuId); + if (wfRunProcessDTO == null) + { + result.Result = false; + result.Message = "鏈壘鍒板崟鎹�"; + return result; + } + admAskovertime.ShenpiStatus = "A"; + _context.SaveChanges(); + + List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "浜轰簨瀹℃壒"); + + var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs); + + var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault(); + if (wfHistoryDTO == null) + { + result.Result = false; + result.Message = "鏈壘鍒颁唬鍔�"; + return result; + } + wfHistoryDTO.Content = Content; + wfHistoryDTO.ChuliStatus = "2"; + wfHistoryDTO.Modifier = Userid; + wfHistoryDTO.Modifytime = DateTime.Now; + var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs); + foreach (var wfHistory in wfHistories) + { + _context.WfHistories.Add(wfHistory); + } + var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs); + foreach (var wfNeeddeel in wfNeeddeels) + { + // _wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid); + _context.WfNeeddeels.Remove(wfNeeddeel); + } + _context.SaveChanges(); + } + else + { + wfRunProcessDTO.Step = "鎻愪氦"; + wfRunProcessDTO.Modifier = Userid; + wfRunProcessDTO.Modifytime = DateTime.Now; + result = this.save(wfRunProcessDTO); + if (result.Result == false) + { + return result; + } + + //鏇存柊寰呭姙 + List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "浜轰簨瀹℃壒"); + var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs); + + var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault(); + if (wfHistoryDTO == null) + { + result.Result = false; + result.Message = "鏈壘鍒颁唬鍔�"; + return result; + } + wfHistoryDTO.Content = Content; + wfHistoryDTO.ChuliStatus = "1"; + wfHistoryDTO.Modifier = Userid; + wfHistoryDTO.Modifytime = DateTime.Now; + var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs); + foreach (var wfHistory in wfHistories) + { + _context.WfHistories.Add(wfHistory); + } + var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs); + foreach (var wfNeeddeel in wfNeeddeels) + { + //_wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid); + _context.WfNeeddeels.Remove(wfNeeddeel); + } + _context.SaveChanges(); + + + //鎻掑叆鏂扮殑寰呭姙 + WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO(); + wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id; + wfNeeddeelDTO.SendUserId = Userid; + wfNeeddeelDTO.DeelUserId = wfRunProcessDTO.Creater; + wfNeeddeelDTO.Sendtime = DateTime.Now; + wfNeeddeelDTO.Resivetime = DateTime.Now; + wfNeeddeelDTO.Step = "鎻愪氦"; + wfNeeddeelDTO.NeeddeelType = "1"; + wfNeeddeelDTO.ChuliStatus = "0"; + wfNeeddeelDTO.Deelurl = "/AdmAsk/Askovertime?id=" + DanjuId; + wfNeeddeelDTO.Content = ""; + wfNeeddeelDTO.Sort = 1; + wfNeeddeelDTO.RecStatus = "A"; + wfNeeddeelDTO.Creater = Userid; + wfNeeddeelDTO.Createtime = DateTime.Now; + wfNeeddeelDTO.Modifier = Userid; + wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime; + result = _wfNeeddeelService.save(wfNeeddeelDTO); + if (result.Result == false) + { + return result; + } + + } + + + + } + + + } + + + + return result; + } } } diff --git a/zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs b/zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs index 347ea6c..e668754 100644 --- a/zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs +++ b/zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs @@ -104,7 +104,7 @@ /// <summary> - /// 淇濆瓨鐢宠瘔 + /// 淇濆瓨璐圭敤鐢宠 /// </summary> /// <param name="data"></param> /// <returns></returns> @@ -215,7 +215,7 @@ /// <summary> - /// 淇濆瓨鐢宠瘔 + /// 淇濆瓨鐗╁搧鐢抽 /// </summary> /// <param name="data"></param> /// <returns></returns> @@ -272,5 +272,116 @@ } return new JsonResult(resultEntity); } + + + + public IActionResult Askovertime(string id = "") + { + AdmAskovertimeDTO dto = new AdmAskovertimeDTO(); + var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); + + + //娴佺▼鐩稿叧 + string shifoubiaoji = "A"; + string sifoudangqian = "A"; + string dangqianbuzhou = "鎻愪氦"; + var lishiyijian = new List<WfHistoryDTO>(); + + if (string.IsNullOrEmpty(id)) + { + dto.CreaterName = curentuser.UserName; + dto.Tittle = "鍔犵彮鐢宠锛�" + curentuser.UserName + "锛�"; + } + else if (dto != null) + { + dto = _askService.GetAskovertime(id); + dto.OvertimeName = dto.Overtime.Value.ToString("0.##"); + dto.JiabantimeName = dto.Jiabantime.Value.ToString("yyyy-MM-dd"); + + var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "10").FirstOrDefault(); + if (wfRunProcessDTO == null) + { + shifoubiaoji = "D"; + sifoudangqian = "D"; + } + else + { + dangqianbuzhou = wfRunProcessDTO.Step; + //鏌ヨ鍘嗗彶鎰忚 + lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id); + if (wfRunProcessDTO.Step != "鎻愪氦") + { + shifoubiaoji = "D"; + } + + //鏌ヨ寰呭姙 + var chaxundaiban = _wfNeeddeelService.GetListTracking(wfRunProcessDTO.Id, wfRunProcessDTO.Step).Where(x => x.DeelUserId == curentuser.Id).ToList(); + if (chaxundaiban != null && chaxundaiban.Count > 0) + { + sifoudangqian = "A"; + } + else + { + sifoudangqian = "D"; + } + + } + + + + + } + + ViewBag.shifoubiaoji = shifoubiaoji; + ViewBag.sifoudangqian = sifoudangqian; + ViewBag.lishiyijian = lishiyijian; + ViewBag.dangqianbuzhou = dangqianbuzhou; + + ViewData.Model = dto; + return View(); + } + + + /// <summary> + /// 淇濆瓨璐圭敤鐢宠 + /// </summary> + /// <param name="data"></param> + /// <returns></returns> + [HttpPost] + public IActionResult Askovertime(AdmAskovertimeDTO data) + { + var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); + ResultEntity resultEntity = new ResultEntity(); + using (TransactionScope scope = new TransactionScope()) + { + if (data.Step == "鎻愪氦") + { + + data.ShenpiStatus = "D"; + data.RecStatus = "A"; + data.Creater = curentuser.Id; + data.Createtime = DateTime.Now; + data.Modifier = data.Creater; + data.Modifytime = data.Createtime; + + resultEntity = _askService.SaveAskovertime(data); + if (!resultEntity.Result) + { + return new JsonResult(resultEntity); + } + } + + + //鍙戣捣娴佺▼鐩稿叧 + + resultEntity = _wfRunProcessService.WfAskovertime(data.Id, data.Step, data.Tongguojujue, curentuser.Id, data.Content, data.Tittle, "v1"); + if (!resultEntity.Result) + { + return new JsonResult(resultEntity); + } + scope.Complete(); + } + return new JsonResult(resultEntity); + } } } diff --git a/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs b/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs index 0f9bb7f..48124d5 100644 --- a/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs +++ b/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs @@ -57,7 +57,9 @@ private readonly ILiaotianService _liaotianService; private readonly IConfiguration _configuration; private readonly IHttpClientFactory _clientFactory; - + private readonly IHrPositionService _hrPositionService; + private readonly IHrDeptService _hrDeptService; + private readonly IAdmSigninService _admSigninService; public TongjiBaoBiaoController(ILogger<TongjiBaoBiaoController> logger , IAdmAttendanceRuleService attendanceRuleService @@ -82,9 +84,13 @@ , IDtChannelArticleNewsService dtChannelArticleNewsService , IProjectService projectService , ICusFangwenjiluService cusFangwenjiluService - ,ILiaotianService liaotianService - , IConfiguration configuration - , IHttpClientFactory clientFactory) + , ILiaotianService liaotianService + , IConfiguration configuration + , IHttpClientFactory clientFactory + , IHrPositionService hrPositionService + , IHrDeptService hrDeptService + , IAdmSigninService admSigninService + ) { _logger = logger; _attendanceRuleService = attendanceRuleService; @@ -112,6 +118,9 @@ _liaotianService = liaotianService; _configuration = configuration; _clientFactory = clientFactory; + _hrPositionService = hrPositionService; + _hrDeptService = hrDeptService; + _admSigninService = admSigninService; } public async Task<IActionResult> IndexAsync(string Tongjitime="") @@ -935,8 +944,8 @@ if (jijianizhucehuiyuan != null) { - //鏈湀鏁伴噺 - List<YaoQingYongHuDTO> zhucehuiyuansyue = new List<YaoQingYongHuDTO>(); + //鏈湀鏁伴噺 + List <YaoQingYongHuDTO> zhucehuiyuansyue = new List<YaoQingYongHuDTO>(); try { //var pltUserDTO = _userService.GetPltUserEntity(curentuser.Id); @@ -1802,7 +1811,7 @@ var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; - DateTime chauxnshijian = DateTime.Now; + DateTime chauxnshijian = DateTime.Now.Date; if (!string.IsNullOrEmpty(Tongjitime)) { DateTime.TryParse(Tongjitime, out chauxnshijian); @@ -1881,6 +1890,11 @@ { var userDTO = userDTOs.Where(x=>x.Id == Userid).FirstOrDefault(); string position = userDTO.HrPosition; + + var hrPositionDTO = _hrPositionService.Get(userDTO.HrPosition); + + var deptDTO = _hrDeptService.Get(userDTO.DeptId); + var admSignInDTO = _admSigninService.GetByUserAndDate(Userid, chauxnshijian); var hrJixiaotichengThis = hrJixiaotichengDTOs.Where(x => x.PostId == position).ToList(); @@ -3488,7 +3502,22 @@ tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs = ziliaoweihuDTOs; tongjibaobiaobaobiaoDTO.xiangmushishiDTOs = xiangmushishiDTOs; tongjibaobiaobaobiaoDTO.dingdanDTOsCount = dingdanDTOsCount; - tongjibaobiaobaobiaoDTO.UserName = userDTO.UserName; + tongjibaobiaobaobiaoDTO.UserName = ""; + if (deptDTO != null) + { + tongjibaobiaobaobiaoDTO.UserName += "閮ㄩ棬锛�" + deptDTO.DeptName + " "; + } + tongjibaobiaobaobiaoDTO.UserName = "濮撳悕锛�" + userDTO.UserName + " "; + if (hrPositionDTO != null) + { + tongjibaobiaobaobiaoDTO.UserName += "鑱屽姟锛�" + hrPositionDTO.PostName + " "; + } + if (admSignInDTO != null) + { + tongjibaobiaobaobiaoDTO.UserName += "鎵撳崱鏃堕棿锛氫笂鍗� " + (admSignInDTO.MorningIn.HasValue? admSignInDTO.MorningIn.Value.ToString("HH:mm:ss"):"") + "-" + (admSignInDTO.MorningOut.HasValue ? admSignInDTO.MorningOut.Value.ToString("HH:mm:ss") : "") + + "涓嬪崍 " + (admSignInDTO.AfternoonIn.HasValue ? admSignInDTO.AfternoonIn.Value.ToString("HH:mm:ss") : "") + "-" + (admSignInDTO.AfternoonOut.HasValue ? admSignInDTO.AfternoonOut.Value.ToString("HH:mm:ss") : "") + + "鍔犵彮 " + (admSignInDTO.OvertimeIn.HasValue ? admSignInDTO.OvertimeIn.Value.ToString("HH:mm:ss") : "") + "-" + (admSignInDTO.OvertimeOut.HasValue ? admSignInDTO.OvertimeOut.Value.ToString("HH:mm:ss") : ""); + } tongjibaobiaobaobiaoDTOs.Add(tongjibaobiaobaobiaoDTO); diff --git a/zhengcaioa/zhengcaioa/Views/AdmAsk/Askovertime.cshtml b/zhengcaioa/zhengcaioa/Views/AdmAsk/Askovertime.cshtml new file mode 100644 index 0000000..16ef8e0 --- /dev/null +++ b/zhengcaioa/zhengcaioa/Views/AdmAsk/Askovertime.cshtml @@ -0,0 +1,323 @@ +锘緻model AdmAskovertimeDTO; +@using DTO; +@using zhengcaioa.Models; +@{ + Layout = null; + + //娴佺▼鐩稿叧 + string shifoubiaoji = ViewBag.shifoubiaoji as string; + string sifoudangqian = ViewBag.sifoudangqian as string; + string dangqianbuzhou = ViewBag.dangqianbuzhou as string; + + List<WfHistoryDTO> lishiyijian = ViewData["lishiyijian"] as List<WfHistoryDTO>; //鍘嗗彶鎰忚 +} + +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="ThemeBucket"> + <link href="~/css/bootstrap.min.css" rel="stylesheet"> + <link href="~/css/font-awesome.min.css" rel="stylesheet"> + <link href="~/css/animate.min.css" rel="stylesheet"> + <link href="~/css/style.min.css" rel="stylesheet"> + <link href="~/css/plugins/chosen/chosen.css" rel="stylesheet"> + <link href="~/js/plugins/layer/skin/layer.css" rel="stylesheet"> + <link href="~/css/style.min.css" rel="stylesheet"> + <link href="~/css/plugins/toastr/toastr.min.css" rel="stylesheet" /> + + <!-- jqgrid--> + <script language="javascript" src="~/js/jquery.min.js" type="text/javascript"></script> + <script src="~/js/bootstrap.min.js"></script> + + <!--瀹瑰櫒--> + <script language="javascript" src="~/js/plugins/chosen/chosen.jquery.js" type="text/javascript"></script> + <script language="javascript" src="~/js/plugins/layer/layer.js" type="text/javascript"></script> + <script src="~/js/plugins/toastr/toastr.min.js" type="text/javascript"></script> + <script language="javascript" src="~/js/common-layout.js" type="text/javascript"></script> + <script src="~/js/plugins/layer/laydate/laydate.js" type="text/javascript"></script> + <script src="~/js/TUJS.js"></script> + + <style type="text/css"> + + div.clearfix > label { + padding-top: 8px; + } + + .col-md-1.control-label { + padding-right: 0px; + font-weight: 400; + } + </style> + + +</head> + +<body class="gray-bg" style="overflow:auto"> + <form id="fm" method="post"> + <div class="wrapper wrapper-content" id="ibox-content" style="padding:15px;"> + <div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div id="div_content" class="ibox-content" style="background-color:white;"> + <div class="row"> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">鍗曟嵁鍚嶇О<i class="red">*</i></label> + <div class="col-sm-2 col-md-2"> + <input type="text" class="form-control" value="@Model.Tittle" name="tittle" id="tittle" validate="RequiredField" autocomplete="off" readonly="readonly"> + + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">鐢宠浜�<i class="red">*</i></label> + <div class="col-sm-2 col-md-2"> + <input type="text" class="form-control" value="@Model.CreaterName" name="createrName" id="createrName" validate="RequiredField" autocomplete="off" readonly="readonly"> + + </div> + </div> + + + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">鍔犵彮鍘熷洜<i class="red">*</i></label> + <div class="col-sm-6 col-md-6"> + <textarea class="form-control bt" id="Remark" name="Remark" maxlength="4000" length="long" style="resize:none;overflow-y:hidden; height:80px;">@Model.Remark</textarea> + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">鍔犵彮鏃ユ湡<i class="red">*</i></label> + <div class="col-sm-2 col-md-2"> + <input class="layui-input layer-date ldate form-control" id="Jiabantime" name="Jiabantime" type="text" value="@Model.JiabantimeName" readonly="readonly"> + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">鍔犵彮鏃堕暱(灏忔椂)<i class="red">*</i></label> + <div class="col-sm-2 col-md-2"> + <input class="form-control" id="Overtime" name="Overtime" type="text" value="@Model.OvertimeName" oninput="if(value.length>10)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^[1-9]{1}[0-9]*$/)"> + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:15px;" id="shenpiyijian"> + <label class="text-right col-sm-1 col-md-1 control-label">瀹℃壒鎰忚</label> + <div class="col-sm-6 col-md-6"> + <textarea class="form-control data" id="Content" name="Content" style="resize:none;overflow-y:hidden; height:80px;" maxlength="500"></textarea> + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">鍘嗗彶鎰忚</label> + <div class="col-sm-6 col-md-6"> + <table> + @if (lishiyijian.Count > 0) + { + <tr> + <td style="border:1px solid #ccc;width:150px;">姝ラ </td> + <td style="border:1px solid #ccc;width:150px;"> 鎵瑰鐘舵��</td> + <td style="border:1px solid #ccc;width:150px;">鎵瑰鏃堕棿</td> + <td style="border:1px solid #ccc;width:300px;"> 瀹℃壒鎰忚</td> + <td style="border:1px solid #ccc;width:100px;"> 鎵瑰浜�</td> + </tr> + } + + @foreach (var wfHistory in lishiyijian) + { + <tr> + <td style="border:1px solid #ccc;width:150px;">@wfHistory.Step</td> + <td style="border:1px solid #ccc;width:150px;">@wfHistory.ChuliStatusName</td> + <td style="border:1px solid #ccc;width:150px;">@wfHistory.ModifytimeName</td> + <td style="border:1px solid #ccc;width:300px;">@wfHistory.Content</td> + <td style="border:1px solid #ccc;width:100px;">@wfHistory.DeelUserIdName</td> + </tr> + } + </table> + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:60px;"> + + </div> + </div> + </div> + </div> + </div> + </div> + </div> + <div class="ibox-content" id="top" style="z-index:100; position:fixed; height:50px; width:100%;bottom:0; text-align: right; padding-top:8px "> + <div class="" style="float:right;" data-bootstro-width="500px"> + <a class="btn btn-success" href="javascript:void(0)" onclick="_pageAutoClose();" style="margin-left:4px; border-radius:4px;"> + <i class="glyphicon glyphicon-remove"></i> <span class="bold">鍙栨秷</span> + </a> + <a class="btn btn-success" id="tijiao" href="javascript:void(0)" onclick="saveSimCost('');" style="margin-left:4px; border-radius:4px;"> + <i class="glyphicon glyphicon-ok"></i> <span class="bold">鎻愪氦</span> + </a> + + <a class="btn btn-success" id="tongyi" href="javascript:void(0)" onclick="saveSimCost('A');" style="margin-left:4px; border-radius:4px;"> + <span class="bold">鍚屾剰</span> + </a> + + <a class="btn btn-success" id="jujue" href="javascript:void(0)" onclick="saveSimCost('D');" style="margin-left:4px; border-radius:4px;"> + <span class="bold">鎷掔粷</span> + </a> + <input type="hidden" id="id" name="id" value="@Model.Id" /> + <input type="hidden" id="Tongguojujue" name="Tongguojujue" value="" /> + <input type="hidden" id="Step" name="Step" value="@dangqianbuzhou" /> + </div> + </div> + + </form> + + <script type="text/javascript"> + + var hh = document.body.clientHeight - $("#top").height() * 2 - 50; + $("#div_content").height(hh); + + toastr.options = { + "closeButton": true, + "debug": false, + "progressBar": true, + "positionClass": "toast-bottom-right", + "onclick": null, + "showDuration": "300", + "hideDuration": "600", + "timeOut": "4500", + "extendedTimeOut": "600", + "showEasing": "swing", + "hideEasing": "linear", + "showMethod": "fadeIn", + "hideMethod": "fadeOut" + }; + + + $(function () { + + + + + + if ("@shifoubiaoji" != "A") { + $("input").attr('readonly', true); + $("textarea").attr('readonly', true); + $(':radio').attr('disabled', true); + $(':checkbox').attr('disabled', true); + $(':button').attr('disabled', true); + //$('a').removeAttr('onclick'); + $('select').attr('disabled', true); + $("#fileUp").attr('disabled', true); + + $('.fujianshanchu').removeAttr('onclick'); + + + if ("@sifoudangqian" == "A") { + $("#Content").attr('readonly', false); + $('#tijiao').hide(); + } else { + $('#tongyi').hide(); + $('#jujue').hide(); + $('#tijiao').hide(); + $('#shenpiyijian').hide(); + } + + } else { + + + //瀹℃壒鐩稿叧 + $('#shenpiyijian').hide(); + if ("@sifoudangqian" == "A") { + $('#tongyi').hide(); + $('#jujue').hide(); + + $(".ldate").each(function (el) { + laydate({ + elem: "#" + $(this).attr('id'), //瀵瑰簲id + format: 'YYYY-MM-DD', //鏃ユ湡鏍煎紡 // 鍒嗛殧绗﹀彲浠ヤ换鎰忓畾涔夛紝璇ヤ緥瀛愯〃绀哄彧鏄剧ず骞存湀 + min: '2021-01-01', //璁惧畾鏈�灏忔棩鏈熶负褰撳墠鏃ユ湡 + max: '2099-06-16', //鏈�澶ф棩鏈� + type: 'datetime', + festival: false, //鏄剧ず鑺傛棩 + istime: true, 聽 //鏄惁鏄剧ず鏃跺垎绉� + istoday: true, //鏄惁鏄粖澶� + choose: function (datas) { //閫夋嫨鏃ユ湡瀹屾瘯鐨勫洖璋� + // console.log("234234234234324"); + // end.min = datas; //寮�濮嬫棩閫夊ソ鍚庯紝閲嶇疆缁撴潫鏃ョ殑鏈�灏忔棩鏈� + // end.start = datas //灏嗙粨鏉熸棩鐨勫垵濮嬪�艰瀹氫负寮�濮嬫棩 + //checktime(); + } + }); + + }); + + } else { + $('#tongyi').hide(); + $('#jujue').hide(); + $('#tijiao').hide(); + } + + + + + + + } + + }) + + + // 淇濆瓨 + function saveSimCost(tongyi) { + + + if ($.trim($("#Remark").val()) == '') { + toastr.warning("鍔犵彮鍘熷洜涓嶈兘涓虹┖"); + return; + } + if ($.trim($("#Overtime").val()) == '') { + toastr.warning("鍔犵彮鏃ユ湡涓嶈兘涓虹┖"); + return; + } + if ($.trim($("#Overtime").val()) == '') { + toastr.warning("鍔犵彮鏃堕暱涓嶈兘涓虹┖"); + return; + } + + $("#Tongguojujue").val(tongyi); + + $.ajax({ + type: "POST", + url: "/AdmAsk/Askovertime", + dataType: "json", + global: false, + data: $('#fm').serialize(), + success: function (data) { + + if (data.Result) { + parent.layer.msg('鎻愪氦鎴愬姛', { icon: 6 }); + try { + _pageAutoClose();//鑷姩鍏抽棴椤甸潰鏂规硶 + } + catch (err) { + var pathname = window.location.pathname; + var search = window.location.search; + parent._CloseTab1(pathname + search); + } + } + else { + parent.layer.msg(data.Message, { icon: 5 }); + } + + }, + error: function () { + parent.layer.msg('澶辫触', { icon: 5 }); + } + }); + } + + + function _pageAutoClose() { + parent.window._reloadPageData(); + var index = parent.layer.getFrameIndex(window.name); + parent.layer.isRefresh = true; + parent.layer.closeAll('loading'); + parent.layer.close(index); + return false; + } + </script> +</body> +</html> \ No newline at end of file diff --git a/zhengcaioa/zhengcaioa/Views/TongjiBaoBiao/Index.cshtml b/zhengcaioa/zhengcaioa/Views/TongjiBaoBiao/Index.cshtml index d498739..a035ede 100644 --- a/zhengcaioa/zhengcaioa/Views/TongjiBaoBiao/Index.cshtml +++ b/zhengcaioa/zhengcaioa/Views/TongjiBaoBiao/Index.cshtml @@ -270,11 +270,11 @@ <tr> <td>@(i+1)</td> <td>@tuiguangDTOs[i].gongzuo</td> - <td>@(tuiguangDTOs[i].benyueshuliang=="0"?"":tuiguangDTOs[i].benyueshuliang)</td> - <td>@(tuiguangDTOs[i].benyueqingkuang=="0"?"":tuiguangDTOs[i].benyueqingkuang)</td> - <td>@(tuiguangDTOs[i].benrishuliang=="0"?"":tuiguangDTOs[i].benrishuliang)</td> - <td>@(tuiguangDTOs[i].benriqingkuang=="0"?"":tuiguangDTOs[i].benriqingkuang)</td> - <td>@(tuiguangDTOs[i].dangrijixiao=="0"?"":tuiguangDTOs[i].dangrijixiao)</td> + <td>@(tuiguangDTOs[i].benyueshuliang == null || tuiguangDTOs[i].benyueshuliang=="0"?"":tuiguangDTOs[i].benyueshuliang)</td> + <td>@(tuiguangDTOs[i].benyueqingkuang == null || tuiguangDTOs[i].benyueqingkuang=="0"?"":tuiguangDTOs[i].benyueqingkuang)</td> + <td>@(tuiguangDTOs[i].benrishuliang == null || tuiguangDTOs[i].benrishuliang=="0"?"":tuiguangDTOs[i].benrishuliang)</td> + <td>@(tuiguangDTOs[i].benriqingkuang == null || tuiguangDTOs[i].benriqingkuang=="0"?"":tuiguangDTOs[i].benriqingkuang)</td> + <td>@(tuiguangDTOs[i].dangrijixiao == null || tuiguangDTOs[i].dangrijixiao=="0"?"":tuiguangDTOs[i].dangrijixiao)</td> </tr> } } @@ -333,11 +333,11 @@ <tr> <td>@(i+1)</td> <td>@baifangkehuDTOs[i].gongzuo</td> - <td>@(baifangkehuDTOs[i].benyueshuliang=="0"?"": baifangkehuDTOs[i].benyueshuliang)</td> - <td>@(baifangkehuDTOs[i].benyueqingkuang=="0"?"": baifangkehuDTOs[i].benyueqingkuang)</td> - <td>@(baifangkehuDTOs[i].benrishuliang=="0"?"": baifangkehuDTOs[i].benrishuliang)</td> - <td>@(baifangkehuDTOs[i].benriqingkuang=="0"?"": baifangkehuDTOs[i].benriqingkuang)</td> - <td>@(baifangkehuDTOs[i].dangrijixiao=="0"?"": baifangkehuDTOs[i].dangrijixiao)</td> + <td>@(baifangkehuDTOs[i].benyueshuliang == null || baifangkehuDTOs[i].benyueshuliang=="0"?"": baifangkehuDTOs[i].benyueshuliang)</td> + <td>@(baifangkehuDTOs[i].benyueqingkuang == null || baifangkehuDTOs[i].benyueqingkuang=="0"?"": baifangkehuDTOs[i].benyueqingkuang)</td> + <td>@(baifangkehuDTOs[i].benrishuliang == null || baifangkehuDTOs[i].benrishuliang=="0"?"": baifangkehuDTOs[i].benrishuliang)</td> + <td>@(baifangkehuDTOs[i].benriqingkuang == null || baifangkehuDTOs[i].benriqingkuang=="0"?"": baifangkehuDTOs[i].benriqingkuang)</td> + <td>@(baifangkehuDTOs[i].dangrijixiao == null || baifangkehuDTOs[i].dangrijixiao=="0"?"": baifangkehuDTOs[i].dangrijixiao)</td> </tr> } } @@ -398,10 +398,10 @@ <td>@(i+1)</td> <td>@dingdanDTOs[i].dingdanbianhao</td> <td>@dingdanDTOs[i].dingdanmingcheng</td> - <td>@(dingdanDTOs[i].danjia == "0"?"": dingdanDTOs[i].danjia)</td> - <td>@(dingdanDTOs[i].shuliang == "0"?"": dingdanDTOs[i].shuliang)</td> - <td>@(dingdanDTOs[i].jine == "0"?"": dingdanDTOs[i].jine)</td> - <td>@(dingdanDTOs[i].benyueleijijine == "0"?"": dingdanDTOs[i].benyueleijijine)</td> + <td>@(dingdanDTOs[i].danjia == null || dingdanDTOs[i].danjia == "0"?"": dingdanDTOs[i].danjia)</td> + <td>@(dingdanDTOs[i].shuliang == null || dingdanDTOs[i].shuliang == "0"?"": dingdanDTOs[i].shuliang)</td> + <td>@(dingdanDTOs[i].jine == null || dingdanDTOs[i].jine == "0"?"": dingdanDTOs[i].jine)</td> + <td>@(dingdanDTOs[i].benyueleijijine == null || dingdanDTOs[i].benyueleijijine == "0"?"": dingdanDTOs[i].benyueleijijine)</td> </tr> } } @@ -454,9 +454,9 @@ <tr> <td>@(i+1)</td> <td>@ziliaoweihuDTOs[i].gongzuo</td> - <td>@(ziliaoweihuDTOs[i].benyueshuliang=="0"?"": ziliaoweihuDTOs[i].benyueshuliang)</td> - <td>@(ziliaoweihuDTOs[i].benrishuliang=="0"?"": ziliaoweihuDTOs[i].benrishuliang)</td> - <td>@(ziliaoweihuDTOs[i].dangrijixiao=="0"?"": ziliaoweihuDTOs[i].dangrijixiao)</td> + <td>@(ziliaoweihuDTOs[i].benyueshuliang == null || ziliaoweihuDTOs[i].benyueshuliang=="0"?"": ziliaoweihuDTOs[i].benyueshuliang)</td> + <td>@(ziliaoweihuDTOs[i].benrishuliang == null || ziliaoweihuDTOs[i].benrishuliang=="0"?"": ziliaoweihuDTOs[i].benrishuliang)</td> + <td>@(ziliaoweihuDTOs[i].dangrijixiao == null || ziliaoweihuDTOs[i].dangrijixiao=="0"?"": ziliaoweihuDTOs[i].dangrijixiao)</td> </tr> } } @@ -512,9 +512,9 @@ <tr> <td>@(i+1)</td> <td>@xiangmushishiDTOs[i].gongzuo</td> - <td>@(xiangmushishiDTOs[i].benyueshuliang=="0"?"": xiangmushishiDTOs[i].benyueshuliang)</td> - <td>@(xiangmushishiDTOs[i].benrishuliang=="0"?"": xiangmushishiDTOs[i].benrishuliang)</td> - <td>@(xiangmushishiDTOs[i].dangrijixiao=="0"?"": xiangmushishiDTOs[i].dangrijixiao)</td> + <td>@(xiangmushishiDTOs[i].benyueshuliang == null || xiangmushishiDTOs[i].benyueshuliang=="0"?"": xiangmushishiDTOs[i].benyueshuliang)</td> + <td>@(xiangmushishiDTOs[i].benrishuliang == null || xiangmushishiDTOs[i].benrishuliang=="0"?"": xiangmushishiDTOs[i].benrishuliang)</td> + <td>@(xiangmushishiDTOs[i].dangrijixiao == null || xiangmushishiDTOs[i].dangrijixiao=="0"?"": xiangmushishiDTOs[i].dangrijixiao)</td> </tr> } } diff --git a/zhengcaioa/zhengcaioa/Views/TongjiBaoBiao/IndexSuoyou.cshtml b/zhengcaioa/zhengcaioa/Views/TongjiBaoBiao/IndexSuoyou.cshtml index 0a25a81..e224a9d 100644 --- a/zhengcaioa/zhengcaioa/Views/TongjiBaoBiao/IndexSuoyou.cshtml +++ b/zhengcaioa/zhengcaioa/Views/TongjiBaoBiao/IndexSuoyou.cshtml @@ -257,12 +257,20 @@ @foreach (var tongjibaobiaobaobiaoDTO in tongjibaobiaobaobiaoDTOs) { int aaa = 1; + @if (tongjibaobiaobaobiaoDTO.tuiguangDTOs.Count > 0 + || tongjibaobiaobaobiaoDTO.baifangkehuDTOs.Count > 0 + || tongjibaobiaobaobiaoDTO.dingdanDTOsCount > 0 + || tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs.Count > 0 + || tongjibaobiaobaobiaoDTO.xiangmushishiDTOs.Count > 0 + ) + { + <div class=""> - <div class=""> + <h3> @tongjibaobiaobaobiaoDTO.UserName </h3> - <h3> @tongjibaobiaobaobiaoDTO.UserName </h3> + </div> + } - </div> @if (tongjibaobiaobaobiaoDTO.tuiguangDTOs.Count > 0) { @@ -312,11 +320,11 @@ <tr> <td>@(i+1)</td> <td>@tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].gongzuo</td> - <td>@(tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benyueshuliang=="0"?"": tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benyueshuliang)</td> - <td>@(tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benyueqingkuang=="0"?"": tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benyueqingkuang)</td> - <td>@(tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benrishuliang=="0"?"": tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benrishuliang)</td> - <td>@(tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benriqingkuang=="0"?"": tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benriqingkuang)</td> - <td>@(tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].dangrijixiao=="0"?"": tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].dangrijixiao)</td> + <td>@(tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benyueshuliang == null || tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benyueshuliang=="0"?"": tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benyueshuliang)</td> + <td>@(tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benyueqingkuang == null || tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benyueqingkuang=="0"?"": tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benyueqingkuang)</td> + <td>@(tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benrishuliang == null || tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benrishuliang=="0"?"": tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benrishuliang)</td> + <td>@(tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benriqingkuang == null || tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benriqingkuang=="0"?"": tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].benriqingkuang)</td> + <td>@(tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].dangrijixiao == null || tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].dangrijixiao=="0"?"": tongjibaobiaobaobiaoDTO.tuiguangDTOs[i].dangrijixiao)</td> </tr> } } @@ -377,11 +385,11 @@ <tr> <td>@(i+1)</td> <td>@tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].gongzuo</td> - <td>@(tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benyueshuliang=="0"?"": tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benyueshuliang)</td> - <td>@(tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benyueqingkuang=="0"?"": tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benyueqingkuang)</td> - <td>@(tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benrishuliang=="0"?"": tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benrishuliang)</td> - <td>@(tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benriqingkuang=="0"?"": tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benriqingkuang)</td> - <td>@(tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].dangrijixiao=="0"?"": tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].dangrijixiao)</td> + <td>@(tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benyueshuliang == null || tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benyueshuliang=="0"?"": tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benyueshuliang)</td> + <td>@(tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benyueqingkuang == null || tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benyueqingkuang=="0"?"": tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benyueqingkuang)</td> + <td>@(tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benrishuliang == null || tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benrishuliang=="0"?"": tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benrishuliang)</td> + <td>@(tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benriqingkuang == null || tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benriqingkuang=="0"?"": tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].benriqingkuang)</td> + <td>@(tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].dangrijixiao == null || tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].dangrijixiao=="0"?"": tongjibaobiaobaobiaoDTO.baifangkehuDTOs[i].dangrijixiao)</td> </tr> } } @@ -442,10 +450,10 @@ <td>@(i+1)</td> <td>@tongjibaobiaobaobiaoDTO.dingdanDTOs[i].dingdanbianhao</td> <td>@tongjibaobiaobaobiaoDTO.dingdanDTOs[i].dingdanmingcheng</td> - <td>@(tongjibaobiaobaobiaoDTO.dingdanDTOs[i].danjia == "0"?"": tongjibaobiaobaobiaoDTO.dingdanDTOs[i].danjia)</td> - <td>@(tongjibaobiaobaobiaoDTO.dingdanDTOs[i].shuliang == "0"?"": tongjibaobiaobaobiaoDTO.dingdanDTOs[i].shuliang)</td> - <td>@(tongjibaobiaobaobiaoDTO.dingdanDTOs[i].jine == "0"?"": tongjibaobiaobaobiaoDTO.dingdanDTOs[i].jine)</td> - <td>@(tongjibaobiaobaobiaoDTO.dingdanDTOs[i].benyueleijijine == "0"?"": tongjibaobiaobaobiaoDTO.dingdanDTOs[i].benyueleijijine)</td> + <td>@(tongjibaobiaobaobiaoDTO.dingdanDTOs[i].danjia == null || tongjibaobiaobaobiaoDTO.dingdanDTOs[i].danjia == "0"?"": tongjibaobiaobaobiaoDTO.dingdanDTOs[i].danjia)</td> + <td>@(tongjibaobiaobaobiaoDTO.dingdanDTOs[i].shuliang == null || tongjibaobiaobaobiaoDTO.dingdanDTOs[i].shuliang == "0"?"": tongjibaobiaobaobiaoDTO.dingdanDTOs[i].shuliang)</td> + <td>@(tongjibaobiaobaobiaoDTO.dingdanDTOs[i].jine == null || tongjibaobiaobaobiaoDTO.dingdanDTOs[i].jine == "0"?"": tongjibaobiaobaobiaoDTO.dingdanDTOs[i].jine)</td> + <td>@(tongjibaobiaobaobiaoDTO.dingdanDTOs[i].benyueleijijine == null || tongjibaobiaobaobiaoDTO.dingdanDTOs[i].benyueleijijine == "0"?"": tongjibaobiaobaobiaoDTO.dingdanDTOs[i].benyueleijijine)</td> </tr> } } @@ -498,9 +506,9 @@ <tr> <td>@(i+1)</td> <td>@tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].gongzuo</td> - <td>@(tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].benyueshuliang=="0"?"": tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].benyueshuliang)</td> - <td>@(tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].benrishuliang=="0"?"": tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].benrishuliang)</td> - <td>@(tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].dangrijixiao=="0"?"": tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].dangrijixiao)</td> + <td>@(tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].benyueshuliang == null || tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].benyueshuliang=="0"?"": tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].benyueshuliang)</td> + <td>@(tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].benrishuliang == null || tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].benrishuliang=="0"?"": tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].benrishuliang)</td> + <td>@(tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].dangrijixiao == null || tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].dangrijixiao=="0"?"": tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs[i].dangrijixiao)</td> </tr> } } @@ -556,9 +564,9 @@ <tr> <td>@(i+1)</td> <td>@tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].gongzuo</td> - <td>@(tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].benyueshuliang=="0"?"": tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].benyueshuliang)</td> - <td>@(tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].benrishuliang=="0"?"": tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].benrishuliang)</td> - <td>@(tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].dangrijixiao=="0"?"": tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].dangrijixiao)</td> + <td>@(tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].benyueshuliang == null || tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].benyueshuliang=="0"?"": tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].benyueshuliang)</td> + <td>@(tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].benrishuliang == null || tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].benrishuliang=="0"?"": tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].benrishuliang)</td> + <td>@(tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].dangrijixiao == null || tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].dangrijixiao=="0"?"": tongjibaobiaobaobiaoDTO.xiangmushishiDTOs[i].dangrijixiao)</td> </tr> } } @@ -579,11 +587,11 @@ - <div class="clearfix layer-area" style="padding-bottom:15px;"> - - </div> + <div class="clearfix layer-area" style="padding-bottom:15px;"> </div> + + </div> </div> </div> </div> diff --git "a/\350\241\250\344\277\256\346\224\271.sql" "b/\350\241\250\344\277\256\346\224\271.sql" index 9b994bc..82afb5a 100644 --- "a/\350\241\250\344\277\256\346\224\271.sql" +++ "b/\350\241\250\344\277\256\346\224\271.sql" @@ -1,6 +1,109 @@ USE [zhengcaioa] GO +/****** Object: Table [dbo].[ADM_Askovertime] Script Date: 2021/7/26 8:55:14 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[ADM_Askovertime]( + [Id] [nvarchar](50) NOT NULL, + [overtime] [money] NULL, + [jiabantime] [datetime] NULL, + [Remark] [nvarchar](500) NULL, + [shenpi_status] [nvarchar](1) NULL, + [rec_status] [nvarchar](1) NOT NULL, + [creater] [nvarchar](50) NOT NULL, + [createtime] [datetime] NOT NULL, + [modifier] [nvarchar](50) NOT NULL, + [modifytime] [datetime] NOT NULL, + [createrName] [nvarchar](50) NULL, + [tittle] [nvarchar](50) NULL, + CONSTRAINT [PK__Askovertime__3214EC077AC5FA48] PRIMARY KEY CLUSTERED +( + [Id] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY] +) ON [PRIMARY] +GO + +ALTER TABLE [dbo].[ADM_Askovertime] ADD DEFAULT ((0)) FOR [overtime] +GO + +ALTER TABLE [dbo].[ADM_Askovertime] ADD DEFAULT ('D') FOR [shenpi_status] +GO + +ALTER TABLE [dbo].[ADM_Askovertime] ADD DEFAULT ('A') FOR [rec_status] +GO + +ALTER TABLE [dbo].[ADM_Askovertime] ADD DEFAULT ('1') FOR [creater] +GO + +ALTER TABLE [dbo].[ADM_Askovertime] ADD DEFAULT (getdate()) FOR [createtime] +GO + +ALTER TABLE [dbo].[ADM_Askovertime] ADD DEFAULT ('1') FOR [modifier] +GO + +ALTER TABLE [dbo].[ADM_Askovertime] ADD DEFAULT (getdate()) FOR [modifytime] +GO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +USE [zhengcaioa] +GO + /****** Object: Table [dbo].[ADM_AskGoods] Script Date: 2021/7/23 8:54:23 ******/ SET ANSI_NULLS ON GO -- Gitblit v1.9.1