今日开发   加班申请·
统计报表:没有任何工作的人,不显示。显示人员的 部门 职位 姓名 工作时间
在计算考勤的时候只有有加班申请的加班才算加班
11个文件已修改
3个文件已添加
1227 ■■■■■ 已修改文件
zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/AdmAskovertimeDTO.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IAskService.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IWfRunProcessService.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/AdmAskovertime.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/zhengcaioaContext.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/AskService.cs 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/WfRunProcessService.cs 349 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/AdmAsk/Askovertime.cshtml 323 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/TongjiBaoBiao/Index.cshtml 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/TongjiBaoBiao/IndexSuoyou.cshtml 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
表修改.sql 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs
@@ -233,7 +233,10 @@
            CreateMap<AdmAskGood, AdmAskGoodDTO>();
            CreateMap<AdmAskGoodDTO, AdmAskGood>();
            CreateMap<AdmAskovertime, AdmAskovertimeDTO>();
            CreateMap<AdmAskovertimeDTO, AdmAskovertime>();
        }
    }
}
zhengcaioa/DTO/AdmAskovertimeDTO.cs
New file
@@ -0,0 +1,27 @@
using 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; }
    }
}
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);
    }
}
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);
    }
}
zhengcaioa/Model/AdmAskovertime.cs
New file
@@ -0,0 +1,23 @@
using 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; }
    }
}
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");
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
    }
}
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;
        }
    }
}
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);
        }
    }
}
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);
zhengcaioa/zhengcaioa/Views/AdmAsk/Askovertime.cshtml
New file
@@ -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>&nbsp;&nbsp;<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>&nbsp;&nbsp;<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>
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>
                                                            }
                                                        }
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>
±íÐÞ¸Ä.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