cbff3bc3a629c74a3d72f5986721ed0b2716ac13..6a15d9219a9d4ebf17fa10519812029ad60239d4
2021-10-20 username@email.com
社保单独维护
6a15d9 对比 | 目录
2021-10-19 username@email.com
提交
71f004 对比 | 目录
20个文件已修改
4个文件已添加
844 ■■■■■ 已修改文件
zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/AdmAttendanceDtlDTO.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/HrShebaoDTO.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IHrJibengongziService.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/HrShebao.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/zhengcaioaContext.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/AdmAttendanceDtlService.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/AdmSigninService.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/HrJibengongziService.cs 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/HrSalaryService.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/HR/HrJibengongziController.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/HR/SalaryCheckController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/admin/AdmAttendanceController.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/AdmAttendance/Index.cshtml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/AdmAttendance/IndexDtl.cshtml 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/HrJibengongzi/Edit.cshtml 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/HrJibengongzi/EditShebao.cshtml 298 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/HrJibengongzi/Index.cshtml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/HrPosition/Edit.cshtml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/SalaryCheck/Edit.cshtml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/SalaryCheck/Index.cshtml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/Signin/Index.cshtml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/User/Index.cshtml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs
@@ -287,6 +287,10 @@
            CreateMap<ExpertTestTopicpeizhi, ExpertTestTopicpeizhiDTO>();
            CreateMap<ExpertTestTopicpeizhiDTO, ExpertTestTopicpeizhi>();
            CreateMap<HrShebao, HrShebaoDTO>();
            CreateMap<HrShebaoDTO, HrShebao>();
        }
    }
}
zhengcaioa/DTO/AdmAttendanceDtlDTO.cs
@@ -28,6 +28,15 @@
        public decimal Xiawuzaotuifenzhong { get; set; }
        public decimal Kuanggongtianshu { get; set; }
        public string Iswork { get; set; }
        public string SgninDateName { get; set; }
        public string MorningInName { get; set; }
        public string MorningOutName { get; set; }
        public string AfternoonInName { get; set; }
        public string AfternoonOutName { get; set; }
        public string OvertimeInName { get; set; }
        public string OvertimeOutName { get; set; }
    }
    public class AdmAttendanceDtlDTOSearch : SearchEntity
zhengcaioa/DTO/HrShebaoDTO.cs
New file
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace DTO
{
    public class HrShebaoDTO
    {
        public string Id { get; set; }
        public decimal? Shebaodanwei { get; set; }
        public string ShebaodanweiName { get; set; }
        public decimal? Shebaogeren { get; set; }
        public string ShebaogerenName { 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; }
    }
}
zhengcaioa/IServices/IHrJibengongziService.cs
@@ -18,5 +18,9 @@
        ResultEntity ModifyStatus(string id, string userid);
        List<HrJibengongziDTO> GetList();
        List<HrShebaoDTO> GetListShebao();
        ResultEntity saveShebao(HrShebaoDTO dto);
    }
}
zhengcaioa/Model/HrShebao.cs
New file
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
#nullable disable
namespace zhengcaioa.Models
{
    public partial class HrShebao
    {
        public string Id { get; set; }
        public decimal? Shebaodanwei { get; set; }
        public decimal? Shebaogeren { 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; }
    }
}
zhengcaioa/Model/zhengcaioaContext.cs
@@ -77,6 +77,7 @@
        public virtual DbSet<HrJixiaoticheng> HrJixiaotichengs { get; set; }
        public virtual DbSet<HrPosition> HrPositions { get; set; }
        public virtual DbSet<HrSalary> HrSalaries { get; set; }
        public virtual DbSet<HrShebao> HrShebaos { get; set; }
        public virtual DbSet<IntentionCustomer> IntentionCustomers { get; set; }
        public virtual DbSet<IntentionOrder> IntentionOrders { get; set; }
        public virtual DbSet<IntentionVisit> IntentionVisits { get; set; }
@@ -3753,6 +3754,49 @@
                    .HasColumnName("yufagongziheji");
            });
            modelBuilder.Entity<HrShebao>(entity =>
            {
                entity.ToTable("hr_shebao");
                entity.Property(e => e.Id).HasMaxLength(50);
                entity.Property(e => e.Creater)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("creater")
                    .HasDefaultValueSql("('1')");
                entity.Property(e => e.Createtime)
                    .HasColumnType("datetime")
                    .HasColumnName("createtime")
                    .HasDefaultValueSql("(getdate())");
                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.RecStatus)
                    .IsRequired()
                    .HasMaxLength(1)
                    .HasColumnName("rec_status")
                    .HasDefaultValueSql("('A')");
                entity.Property(e => e.Shebaodanwei)
                    .HasColumnType("money")
                    .HasColumnName("shebaodanwei");
                entity.Property(e => e.Shebaogeren)
                    .HasColumnType("money")
                    .HasColumnName("shebaogeren");
            });
            modelBuilder.Entity<IntentionCustomer>(entity =>
            {
                entity.ToTable("IntentionCustomer");
zhengcaioa/Services/AdmAttendanceDtlService.cs
@@ -212,7 +212,15 @@
                             Shangwuzaotuifenzhong = a.Shangwuzaotuifenzhong,
                             Xiawuzaotuifenzhong = a.Xiawuzaotuifenzhong,
                             Kuanggongtianshu = a.Kuanggongtianshu,
                             Iswork = a.Iswork
                             Iswork = a.Iswork,
                             SgninDateName = a.SgninDate.HasValue? a.SgninDate.Value.ToString("yyyy-MM-dd"):"",
                             MorningInName = a.MorningIn.HasValue ? a.MorningIn.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
                             MorningOutName = a.MorningOut.HasValue ? a.MorningOut.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
                             AfternoonInName = a.AfternoonIn.HasValue ? a.AfternoonIn.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
                             AfternoonOutName = a.AfternoonOut.HasValue ? a.AfternoonOut.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
                             OvertimeInName = a.OvertimeIn.HasValue ? a.OvertimeIn.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
                             OvertimeOutName = a.OvertimeOut.HasValue ? a.OvertimeOut.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
                         }).OrderBy(x => x.SgninDate).ToList();
            //if (searchEntity.totalrows == 0)
zhengcaioa/Services/AdmSigninService.cs
@@ -38,6 +38,12 @@
                    switch (signinType)
                    {
                        case 10:
                            if (signIn.MorningIn.HasValue)
                            {
                                resultEntity.Result = false;
                                resultEntity.Message = "已经打上午上班,请不要重复打卡";
                                return resultEntity;
                            }
                            signIn.MorningIn = DateTime.Now;
                            break;
                        case 11:
@@ -45,12 +51,24 @@
                            break;
                        case 20:
                            if (signIn.AfternoonIn.HasValue)
                            {
                                resultEntity.Result = false;
                                resultEntity.Message = "已经打下午上班卡,请不要重复打卡";
                                return resultEntity;
                            }
                            signIn.AfternoonIn = DateTime.Now;
                            break;
                        case 21:
                            signIn.AfternoonOut = DateTime.Now;
                            break;
                        case 30:
                            if (signIn.AfternoonIn.HasValue)
                            {
                                resultEntity.Result = false;
                                resultEntity.Message = "已经打加班卡,请不要重复打卡";
                                return resultEntity;
                            }
                            signIn.OvertimeIn = DateTime.Now;
                            break;
                        case 31:
zhengcaioa/Services/HrJibengongziService.cs
@@ -198,5 +198,93 @@
            var list = _mapper.Map<List<HrJibengongziDTO>>(listPosition);
            return list;
        }
        /// <summary>
        /// 获取所有有效角色
        /// </summary>
        /// <returns></returns>
        public List<HrShebaoDTO> GetListShebao()
        {
            var listRole = (from a in _context.HrShebaos
                            where a.RecStatus == "A"
                            select new HrShebaoDTO
                            {
                                Id = a.Id,
                                Shebaodanwei = a.Shebaodanwei??0,
                                Shebaogeren = a.Shebaogeren?? 0,
                                ShebaodanweiName = a.Shebaodanwei.HasValue ? a.Shebaodanwei.Value.ToString("F2") : "",
                                ShebaogerenName = a.Shebaogeren.HasValue ? a.Shebaogeren.Value.ToString("F2") : "",
                                Creater = a.Creater,
                                Createtime = a.Createtime,
                                RecStatus = a.RecStatus,
                                Modifier = a.Modifier,
                                Modifytime = a.Modifytime,
                            }
                ).OrderByDescending(x => x.Createtime).ToList();
            return listRole;
        }
        public ResultEntity saveShebao(HrShebaoDTO dto)
        {
            ResultEntity resultEntity = new ResultEntity();
            try
            {
                var entity = _mapper.Map<HrShebao>(dto);
                if (String.IsNullOrEmpty(entity.Id))
                {
                    entity.Id = Guid.NewGuid().ToString();
                    dto.Id = entity.Id;
                    _context.HrShebaos.Add(entity);
                }
                else
                {
                    var updateproject = _context.HrShebaos.Find(entity.Id);
                    updateproject.Shebaodanwei = entity.Shebaodanwei;
                    updateproject.Shebaogeren = entity.Shebaogeren;
                    updateproject.RecStatus = entity.RecStatus;
                    updateproject.Modifier = entity.Modifier;
                    updateproject.Modifytime = entity.Modifytime;
                }
                _context.SaveChanges();
                resultEntity.ReturnID = entity.Id;
                resultEntity.Result = true;
            }
            catch (Exception ex)
            {
                resultEntity.Result = false;
                resultEntity.Message = "保存失败,请联系管理员";
            }
            return resultEntity;
        }
    }
}
zhengcaioa/Services/HrSalaryService.cs
@@ -143,13 +143,14 @@
                    updatepltRole.Bufagongzi = dto.Bufagongzi;
                    updatepltRole.Peichang = dto.Peichang;
                    updatepltRole.Jiucuo = dto.Jiucuo;
                    updatepltRole.Yufagongziheji = dto.Yufagongziheji;
                    //updatepltRole.Daozhanggongzi = (updatepltRole.Daozhanggongzi ?? 0) + (updatepltRole.Jiangjin ?? 0) + (updatepltRole.Bufagongzi ?? 0) + (updatepltRole.Peichang ?? 0) + (updatepltRole.Jiucuo ?? 0); 
                    //    //updatepltRole.Yufagongziheji = (updatepltRole.Yufagongziheji ?? 0) + (updatepltRole.Jiangjin ?? 0) + (updatepltRole.Bufagongzi ?? 0) + (updatepltRole.Peichang ?? 0) + (updatepltRole.Jiucuo ?? 0);
                    //var sum_f = (updatepltRole.Jibengongzi ?? 0) + (updatepltRole.Baomifei ?? 0) + (updatepltRole.Gongzuobutie ?? 0) +
                    //    (updatepltRole.Jiabangongzi ?? 0) + (updatepltRole.Shebao ?? 0) +
                    //    (updatepltRole.Quanqinjiang ?? 0) + (updatepltRole.Jiaotngbutie ?? 0) + (updatepltRole.Jixiaoticheng ?? 0);
                    //decimal dianhuafei = 0;
                    //if ((updatepltRole.Dianhuabutie ?? 0) - (updatepltRole.Dianhuafei ?? 0) <= 0)
@@ -157,20 +158,20 @@
                    //    dianhuafei = (updatepltRole.Dianhuafei ?? 0)-(updatepltRole.Dianhuabutie ?? 0);
                    //}
                    //var sum_k = (updatepltRole.Shebaokou ?? 0) + (updatepltRole.Geshui ?? 0) + dianhuafei +
                    //    (updatepltRole.Queqin ?? 0) + (updatepltRole.Fakuan ?? 0);
                    //updatepltRole.Daozhanggongzi = sum_f - sum_k;
                    ////计算预发工资
                    //{
                    //    //上一次的工资
                    //    var bf= _context.HrSalaries.Where(c => c.Userid == user.Id && c.Islock== "Q" && c.RecStatus=="A").
zhengcaioa/zhengcaioa/Controllers/HR/HrJibengongziController.cs
@@ -8,6 +8,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Transactions;
using zhengcaioa.IService;
using zhengcaioa.Models;
@@ -153,5 +154,79 @@
            ViewData["curentuser"] = curentuser;
            return new JsonResult(_hrJibengongziService.ModifyStatus(Id, curentuser.Id));
        }
        public IActionResult EditShebao()
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            var shebaoDTO = _hrJibengongziService.GetListShebao().FirstOrDefault();
            if (shebaoDTO == null)
            {
                shebaoDTO = new HrShebaoDTO();
                shebaoDTO.Shebaodanwei = 0;
                shebaoDTO.Shebaogeren = 0;
            }
            ViewData.Model  = shebaoDTO;
            return View();
        }
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="data">岗位实体类对象</param>
        /// <returns></returns>
        ///
        [HttpPost]
        public IActionResult SaveShebao(HrShebaoDTO data)
        {
            ResultEntity resultEntity = new ResultEntity();
            using (TransactionScope scope = new TransactionScope())
            {
                var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
                ViewData["curentuser"] = curentuser;
                data.RecStatus = "A";
                var resultDTO = _hrJibengongziService.GetListShebao().FirstOrDefault();
                if (resultDTO == null || string.IsNullOrEmpty(resultDTO.Id))
                {
                    resultDTO = new HrShebaoDTO();
                    resultDTO.Shebaodanwei = data.Shebaodanwei;
                    resultDTO.Shebaogeren = data.Shebaogeren;
                    resultDTO.Creater = curentuser.Id;
                    resultDTO.Createtime = DateTime.Now;
                }
                else
                {
                    resultDTO.Shebaodanwei = data.Shebaodanwei;
                    resultDTO.Shebaogeren = data.Shebaogeren;
                }
                resultDTO.Modifier = curentuser.Id;
                resultDTO.Modifytime = DateTime.Now;
                resultEntity = _hrJibengongziService.saveShebao(resultDTO);
                scope.Complete();
            }
            return new JsonResult(resultEntity);
        }
    }
}
zhengcaioa/zhengcaioa/Controllers/HR/SalaryCheckController.cs
@@ -106,6 +106,10 @@
            {
                dto.Jiucuo = 0;
            }
            //if (!dto.Yufagongziheji.HasValue)
            //{
            //    dto.Yufagongziheji = 0;
            //}
            ViewData.Model = dto;
            return View();
        }
zhengcaioa/zhengcaioa/Controllers/admin/AdmAttendanceController.cs
@@ -17,17 +17,22 @@
        private readonly IHrDeptService _hrDeptService;
        private readonly ILogger<AdmAttendanceController> _logger;
        private readonly IAdmAttendanceService _admAttendanceService;
        private readonly IAdmAttendanceDtlService _admAttendanceDtlService;
        public AdmAttendanceController(ILogger<AdmAttendanceController> logger
            , IAdmAttendanceService admAttendanceService
            , IHrDeptService hrDeptService
            , IAdmAttendanceDtlService admAttendanceDtlService
            )
        {
            _logger = logger;
            _hrDeptService = hrDeptService;
            _admAttendanceService = admAttendanceService;
            _admAttendanceDtlService = admAttendanceDtlService;
        }
        public IActionResult Index()
        {
@@ -67,5 +72,45 @@
            return new JsonResult(_admAttendanceService.SearchByPaging(search));
        }
        public IActionResult IndexDtl(string AttendanceId)
        {
            List<ActionEntity> actionlist = new List<ActionEntity>();
            ActionEntity actionEntity = new ActionEntity();
            actionEntity.OpenType = 0;
            actionEntity.ActionUrl = "";
            actionEntity.ActionFun = "Search";
            actionEntity.PageIco = "fa fa-search";
            actionEntity.ActionName = "查询";
            actionlist.Add(actionEntity);
            ViewBag.AttendanceId = AttendanceId;
            ViewBag.editBtn = false;
            ViewData["ActionInfo"] = actionlist;
            //ViewBag.dept = _hrDeptService.GetList().Select(x => new { code = x.Id, label = x.DeptName }).ToList();
            return View();
        }
        /// <summary>
        /// 列表内容
        /// </summary>
        /// <param name="search"></param>
        /// <returns></returns>
        public IActionResult GetListDtl(AdmAttendanceDtlDTOSearch search)
        {
            return new JsonResult(_admAttendanceDtlService.SearchByPaging(search));
        }
    }
}
zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
@@ -627,7 +627,7 @@
                        //计算当天请假
                        List<DateBiJiaoDTO> qingjias = new List<DateBiJiaoDTO>();
                        var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4").ToList();
                        var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7").ToList();
                        foreach (var admAskLeave in feichuqinjia)
                        {
                            
@@ -1020,7 +1020,7 @@
                            //计算当天请假
                            List<DateBiJiaoDTO> qingjias = new List<DateBiJiaoDTO>();
                            var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4").ToList();
                            var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7").ToList();
                            foreach (var admAskLeave in feichuqinjia)
                            {
@@ -1354,12 +1354,19 @@
                //查询当前员工职务的基本工资配置
               var hrJibengongzi = hrJibengongziDTOs.Where(x=>x.PostId == userList[i].HrPosition ).OrderByDescending(x=>x.Effecttime).FirstOrDefault();
                if (hrJibengongzi == null)
                {
                    _logger.LogInformation(userList[i].UserName + ": 职务所属资本工资为空");
                    continue;
                }
                var shebaoDTO = _JibengongziService.GetListShebao().FirstOrDefault();
                if (shebaoDTO == null)
                {
                    _logger.LogInformation(userList[i].UserName + ": 社保维护为空");
                    continue;
                }
                hrSalaryDTO.Jibengongzi = Math.Round( hrJibengongzi.Jibengongzi.Value * chuqinlv, 2);
                hrSalaryDTO.Baomifei = Math.Round(hrJibengongzi.Baomifei.Value * chuqinlv, 2);
                //是否在试用期
@@ -1368,8 +1375,8 @@
                {
                    geshuiqizheng = userList[i].geshuiqizheng.Value;
                }
                var Shebaodanwei = hrJibengongzi.Shebaodanwei.HasValue ? hrJibengongzi.Shebaodanwei.Value : 0;
                var Shebaogeren = hrJibengongzi.Shebaogeren.HasValue ? hrJibengongzi.Shebaogeren.Value : 0;
                var Shebaodanwei = shebaoDTO.Shebaodanwei.HasValue ? shebaoDTO.Shebaodanwei.Value : 0;
                var Shebaogeren = shebaoDTO.Shebaogeren.HasValue ? shebaoDTO.Shebaogeren.Value : 0;
                decimal yingnashuie = 0;
                hrSalaryDTO.Queqin = 0;
                hrSalaryDTO.Fakuan = 0;
@@ -1453,7 +1460,7 @@
                    //yingnashuie = userList[i].ShiyongPrice.Value - Shebaogeren - geshuiqizheng;
@@ -1527,7 +1534,7 @@
                  
                    //yingnashuie = BasicPrice - Shebaogeren - geshuiqizheng;
                    
                }
zhengcaioa/zhengcaioa/Views/AdmAttendance/Index.cshtml
@@ -33,6 +33,12 @@
            { label: '迟到', name: 'Chidao', labtype: 'txt', hidden: false, width: 60 },
            { label: '早退', name: 'Zaotui', labtype: 'txt', hidden: false, width: 60 },
            { label: '旷工', name: 'Kuanggong', labtype: 'txt', hidden: false, width: 60 },
            {
                label: '明细', name: 'mingxi', labtype: 'txt', hidden: false, width: 60,
                formatter: function (cellvalue, options, rowObject) {
                    return "<a onclick=\"OpenWindow('" + rowObject.UserName + "','98%','100%', '/AdmAttendance/IndexDtl?AttendanceId=" + rowObject.Id + "')\"  >明细</a>";
                }
            },
             
        ];
        dataUrl = "/AdmAttendance/GetList?YearMonth222=" + getNowFormatDate();
zhengcaioa/zhengcaioa/Views/AdmAttendance/IndexDtl.cshtml
New file
@@ -0,0 +1,68 @@
@{
    ViewBag.Title = "工资核准";
    Layout = "~/Views/Shared/_Layout_Search.cshtml";
}
<link href="~/css/jquery-confirm.css" rel="stylesheet">
<script src="~/js/jquery-confirm.js" type="text/javascript"></script>
@section headerStyle{
    <script type="text/javascript">
        var AttendanceId = '@Html.Raw(ViewBag.AttendanceId)';
        //gridConfig = { multiselect: false, selectcol: "Id" };
        //shrinkToFit = false;
        //footerrow = false;
        dataCol = [
            { label: '序号', name: 'Id', labtype: 'txt', hidden: true },
            {
                label: '考勤日期', name: 'SgninDateName', labtype: 'txt', hidden: false, width: 80
            },
            { label: '上午上班', name: 'MorningInName', labtype: 'txt', hidden: false, width: 60 },
            { label: '上午下班', name: 'MorningOutName', labtype: 'txt', hidden: false, width: 60 },
            { label: '下午上班', name: 'AfternoonInName', labtype: 'txt', hidden: false, width: 80 },
            { label: '下午下班', name: 'AfternoonOutName', labtype: 'txt', hidden: false, width: 60 },
            { label: '加班上班', name: 'OvertimeInName', labtype: 'txt', hidden: false, width: 60 },
            { label: '加班上班', name: 'OvertimeOutName', labtype: 'txt', hidden: false, width: 60 },
            { label: '请假', name: 'Qingjia', labtype: 'txt', hidden: false, width: 60 },
            { label: '销假', name: 'Xiaojia', labtype: 'txt', hidden: false, width: 60 },
        ];
        dataUrl = "/AdmAttendance/GetListDtl?AttendanceId=" + AttendanceId;
        searchCol = [
            { label: '考勤日期', name: 'SgninDate', labtype: 'date', hidden: false},
            ////{ label: '工作部门', name: 'DeptId', labtype: 'combox', hidden: false, data: JSON.parse(dept) },
            //{ label: '职工姓名', name: 'UserName', labtype: 'txt', hidden: false },
        ];
        var _afterSave = function (result) {
            if (result) {
                toastr.success("保存成功");
            } else {
                toastr.error("保存失败");
            }
        }
        var _afterDel = function (result) {
            if (result) {
                toastr.success("删除成功");
            } else {
                /**/
                toastr.error("删除成功");
                /**/
            }
        }
    </script>
}
zhengcaioa/zhengcaioa/Views/HrJibengongzi/Edit.cshtml
@@ -133,13 +133,13 @@
                                    <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">基本工资(元)<i class="red">*</i></label>
                                    <div class="col-sm-2 col-md-2" grouptype="Vdata">
                                        <input class="form-control" label="基本工资(元)" name="Jibengongzi" id="Jibengongzi" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="number" value="@Model.JibengongziName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        <input class="form-control" label="基本工资(元)" name="Jibengongzi" id="Jibengongzi" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value="@Model.JibengongziName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </div>
                                    <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">保密费(元)<i class="red">*</i></label>
                                    <div class="col-sm-2 col-md-2" grouptype="Vdata">
                                        <input class="form-control" label="保密费(元)" name="Baomifei" id="Baomifei" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="number" value="@Model.BaomifeiName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        <input class="form-control" label="保密费(元)" name="Baomifei" id="Baomifei" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value="@Model.BaomifeiName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </div>
@@ -147,26 +147,26 @@
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                @*<div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">社保公司(元)<i class="red">*</i></label>
                                    <div class="col-sm-2 col-md-2" grouptype="Vdata">
                                        <input class="form-control" label="社保公司(元)" name="Shebaodanwei" id="Shebaodanwei" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="number" value="@Model.ShebaodanweiName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        <input class="form-control" label="社保公司(元)" name="Shebaodanwei" id="Shebaodanwei" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value="@Model.ShebaodanweiName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </div>
                                    <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">社保个人(元)<i class="red">*</i></label>
                                    <div class="col-sm-2 col-md-2" grouptype="Vdata">
                                        <input class="form-control" label="社保个人(元)" name="Shebaogeren" id="Shebaogeren" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="number" value="@Model.ShebaogerenName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        <input class="form-control" label="社保个人(元)" name="Shebaogeren" id="Shebaogeren" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value="@Model.ShebaogerenName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </div>
                                </div>
                                </div>*@
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
@@ -198,12 +198,12 @@
                                    <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">全勤奖(元)<i class="red">*</i></label>
                                    <div class="col-sm-2 col-md-2" grouptype="Vdata">
                                        <input class="form-control" label="全勤奖(元)" name="Quanqingjiang" id="Quanqingjiang" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="number" value="@Model.QuanqingjiangName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        <input class="form-control" label="全勤奖(元)" name="Quanqingjiang" id="Quanqingjiang" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value="@Model.QuanqingjiangName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </div>
                                    <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">交通补贴(元)<i class="red">*</i></label>
                                    <div class="col-sm-2 col-md-2" grouptype="Vdata">
                                        <input class="form-control" label="交通补贴(元)" name="Jiaotongbutie" id="Jiaotongbutie" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="number" value="@Model.JiaotongbutieName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        <input class="form-control" label="交通补贴(元)" name="Jiaotongbutie" id="Jiaotongbutie" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value="@Model.JiaotongbutieName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </div>
@@ -362,15 +362,15 @@
                return;
            }
            if ($("#Shebaodanwei").val() == '') {
                toastr.warning("社保公司不能为空");
                return;
            }
            //if ($("#Shebaodanwei").val() == '') {
            //    toastr.warning("社保公司不能为空");
            //    return;
            //}
            if ($("#Shebaogeren").val() == '') {
                toastr.warning("社保个人不能为空");
                return;
            }
            //if ($("#Shebaogeren").val() == '') {
            //    toastr.warning("社保个人不能为空");
            //    return;
            //}
            if ($.trim($("#Dianhuabutie").val() )== '') {
                toastr.warning("电话补贴不能为空");
zhengcaioa/zhengcaioa/Views/HrJibengongzi/EditShebao.cshtml
New file
@@ -0,0 +1,298 @@
@model DTO.HrShebaoDTO
@using DTO;
@using zhengcaioa.Models;
@{
}
@{
    Layout = null;
}
<!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">
    <title>@(SiteConfig.SiteName)</title>
    <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/plugins/iCheck/custom.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/plugins/datapicker/datepicker3.css" rel="stylesheet">*@
    <link href="~/css/style.min.css" rel="stylesheet">
    <link href="~/css/plugins/toastr/toastr.min.css" rel="stylesheet" />
    <link href="~/css/plugins/webuploader/webuploader.css" rel="stylesheet" />
    <style type="text/css">
        .webuploader-pick {
            position: relative;
            display: inline-block;
            cursor: pointer;
            background: #00b7ee;
            padding: 8px 14px 7px 14px;
            color: #fff;
            text-align: center;
            border-radius: 3px;
            overflow: hidden;
        }
        div.clearfix > label {
            padding-top: 8px;
        }
        .chosen-container {
            border-radius: 1px;
            border: 1px solid #e5e6e7;
        }
        .col-md-1.control-label {
            padding-right: 0px;
            font-weight: 400;
        }
    </style>
    <!-- jqgrid-->
    @*<link href="~/css/plugins/jqgrid/ui.jqgrid.css" rel="stylesheet">*@
    <script language="javascript" src="~/js/jquery.min.js" type="text/javascript"></script>
    <script src="~/js/bootstrap.min.js"></script>
    @*<script src="~/js/plugins/bootstro/bootstro.js"></script>*@
    <!--容器-->
    @*<script language="javascript" src="~/js/datehelper.js" type="text/javascript"></script>*@
    @*<script language="javascript" src="~/js/plugins/query/jquery.query-object.js" type="text/javascript"></script>*@
    @*<script language="javascript" src="~/js/plugins/iCheck/icheck.min.js" type="text/javascript"></script>*@
    <script language="javascript" src="~/js/plugins/chosen/chosen.jquery.js" type="text/javascript"></script>
    @*<script language="javascript" src="~/js/plugins/datapicker/bootstrap-datepicker.js" type="text/javascript"></script>*@
    <script language="javascript" src="~/js/plugins/layer/layer.js" type="text/javascript"></script>
    @*<script src="~/js/plugins/jqgrid/jquery.jqGrid.min.js" type="text/javascript"></script>*@
    @*<script src="~/js/plugins/jqgrid/i18n/grid.locale-cn.js" type="text/javascript"></script>*@
    <script src="~/js/plugins/toastr/toastr.min.js" type="text/javascript"></script>
    <script src="~/js/plugins/webuploader/webuploader.min.js"></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/plugins/iTexbox/itextbox.js" type="text/javascript"></script>*@
    @*<script src="~/js/plugins/iuploader/iuploader.js"></script>*@
    <script src="~/js/TUJS.js"></script>
</head>
<body class="gray-bg" style="overflow:auto">
    <form id="formtest">
        <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 class="ibox-title">
                            <h5>                            <i class="fa fa-list"></i>&nbsp;基本信息</h5>
                        </div>
                        <div id="div_content" class="ibox-content" style="background-color:white;">
                            <div class="row">
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <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-2 col-md-2">
                                            <input class="form-control" label="社保公司" id="Shebaodanwei" name="Shebaodanwei" labtype="txt" addvisible="true" editvisible="true" reg="" maxlength="50" ismust="true" type="text" value="@Model.ShebaodanweiName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                            <input type="hidden" name="Id" value="@Model.Id" />
                                        </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-2 col-md-2">
                                            <input class="form-control" label="社保个人" id="Shebaogeren" name="Shebaogeren" labtype="txt" addvisible="true" editvisible="true" maxlength="100" reg="" ismust="flase" type="text" value="@Model.ShebaogerenName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        </div>
                                    </div>
                                    </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="wrapper wrapper-content" style="margin-top:0px"></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" data-bootstro-content="功能按钮:“保存”,“删除”">
                <a class="btn btn-success" href="javascript:void(0)" onclick="savePosition();" style="margin-left:4px; border-radius:4px;">
                    <i class="glyphicon glyphicon-ok"></i>&nbsp;&nbsp;<span class="bold">提交</span>
                </a>
            </div>
        </div>
    </form>
    <script type="text/javascript">
        var hh = document.body.clientHeight - $('.ibox-title').height() - $("#top").height() * 2;
        $("#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"
        };
        @*var id = '@Model.Id';*@
        // 保存岗位信息
        var savePosition = function () {
            if ($("#Shebaodanwei").val() == '') {
                toastr.warning("社保公司不能为空");
                return;
            }
            if ($("#Shebaogeren").val() == '') {
                toastr.warning("社保个人不能为空");
                return;
            }
           // var data = { id: $("#Id").val(), DocType: $("#DocType").val(), DocDept: $("#DocDept").val(), PublishTime: $("#PublishTime").val(), DocNo: $("#DocNo").val(), DocTitle: $("#DocTitle").val(), DocContent: ueue, DocZtc: $("#DocZtc").val(), Printtimes: $("#Printtimes").val(), DocCsdw: $("#DocCsdw").val(), PrintStatus: $("#PrintStatus").val()}
            $.ajax({
                type: "POST",
                url: "/HrJibengongzi/SaveShebao",
                dataType: "json",
                global: false,
                data: $('form').serializeArray(),
                success: function (data) {
                        if (data.Result) {
                            //  parent._afterSave(true);
                            parent.layer.msg('成功保存', { icon: 6 });
                            var Topictype = $("#Topictype").val();
                            var Zhishitype = $("#Zhishitype").val();
                            var Area = $("#Area").val();
                            window.location = "/HrJibengongzi/EditShebao";
                            //try {
                            //    _pageAutoClose();//自动关闭页面方法
                            //}
                            //catch (err) {
                            //    parent._CloseTab1("/HrJibengongzi/Edit/");
                            //}
                        }
                        else {
                            // toastr.error("失败");
                            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/HrJibengongzi/Index.cshtml
@@ -25,9 +25,9 @@
                label: '保密费', name: 'BaomifeiName', labtype: 'txt', hidden: false, width: 100
               
            },
            { label: '社保公司', name: 'ShebaodanweiName', labtype: 'txt', hidden: false, width: 100 },
            //{ label: '社保公司', name: 'ShebaodanweiName', labtype: 'txt', hidden: false, width: 100 },
            { label: '社保个人', name: 'ShebaogerenName', labtype: 'txt', hidden: false, width: 100 },
            //{ label: '社保个人', name: 'ShebaogerenName', labtype: 'txt', hidden: false, width: 100 },
            { label: '电话补贴', name: 'DianhuabutieName', labtype: 'txt', hidden: false, width: 100 },
            { label: '全勤奖', name: 'QuanqingjiangName', labtype: 'txt', hidden: false, width: 100 },
zhengcaioa/zhengcaioa/Views/HrPosition/Edit.cshtml
@@ -7,7 +7,7 @@
@section headerStyle{
    <script language="javascript" type="text/javascript">
        controllist = [
        {   label: '职位信息', name: 'data', labtype: 'panel',islist:'false', data: [
        {   label: '职位信息(维护职位信息请同时维护职位基本工资和职位提成标准)', name: 'data', labtype: 'panel',islist:'false', data: [
               {label:' 用户id ', name: 'Id', labtype: 'txt', addvisible: false, editvisible: false ,reg:''}
            , { label: ' 职位名称 ', name: 'PostName', labtype: 'txt', addvisible: true, editvisible: true ,   reg:'',ismust:true }
zhengcaioa/zhengcaioa/Views/SalaryCheck/Edit.cshtml
@@ -93,7 +93,14 @@
                                    <input class="form-control" id="Jiucuo" name="Jiucuo" labtype="txt" addvisible="true" maxlength="500" editvisible="true" reg="" ismust="true" type="text" value="@Model.Jiucuo" oninput="if(value.length>10)value=value.slice(0,10)" onkeyup="CheckNum(this);">
                                </div>
                            </div>
                            <div class="clearfix layer-area" style="padding-bottom:15px;">
                                <label class="text-right col-sm-3 col-md-3 control-label">预发工资合计</label>
                                <div class="col-sm-9 col-md-9">
                                    <input class="form-control" id="Yufagongziheji" name="Yufagongziheji" labtype="txt" addvisible="true" maxlength="500" editvisible="true" reg="" ismust="true" type="text" value="@Model.Yufagongziheji" oninput="if(value.length>10)value=value.slice(0,10)" onkeyup="CheckNum(this);">
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
zhengcaioa/zhengcaioa/Views/SalaryCheck/Index.cshtml
@@ -104,6 +104,20 @@
          
        });
        var _pageSearch = function () {
            $("#jqGrid").jqGrid('setGridParam', {
                url: '/SalaryCheck/GetList', postData: jsons, page: 1
            }); //重新载入
            var jsons = GetSearchEnd();
            if (jsons == false) {
                msg.info("请录入查询条件");
                return false;
            }
            LoadGrid(jsons);
        }
        function getNowFormatDate() {
            var date = new Date();
            var seperator1 = "-";
zhengcaioa/zhengcaioa/Views/Signin/Index.cshtml
@@ -229,7 +229,7 @@
                        toastr.success("打卡成功");
                    }
                    else {
                        toastr.success("打卡失败");
                        toastr.success(data.Message);
                    }
                },
                error: function () {
zhengcaioa/zhengcaioa/Views/User/Index.cshtml
@@ -118,7 +118,7 @@
                    return "<span style='color:" + rowObject.Coler + ";'>" + cellvalue+"</span>";
                }},
        ];
        dataUrl = "/User/GetUserList";
        dataUrl = "/User/GetUserList?Zhiwustatus=A";
        searchCol = [
            { label: '入职时间', name: 'Indate', labtype: 'datearea', hidden: false },
            { label: '部门', name: 'DeptId', labtype: 'combox', hidden: false, data: JSON.parse(dept) },
@@ -139,6 +139,24 @@
            OpenWindow("新增用户", "98%", "90%", "/User/Edit/");
        }
        var _pageSearch = function () {
            $("#jqGrid").jqGrid('setGridParam', {
                url: '/User/GetUserList', postData: jsons, page: 1
            }); //重新载入
            var jsons = GetSearchEnd();
            if (jsons == false) {
                msg.info("请录入查询条件");
                return false;
            }
            LoadGrid(jsons);
        }
        $(function () {
            $("#PBSZhiwustatus").val("A");
            $("#PBSZhiwustatus").trigger('chosen:updated');//更新选项
        });
        var _afterSave = function (result) {
            if (result) {
                toastr.success("保存成功");
@@ -157,23 +175,10 @@
    }
        }
        function sendZhiwustatus() {
            var msg = $("#PBSZhiwustatus");
            if (msg.length > 0) {
                $("#PBSZhiwustatus").val("A");
                $("#PBSZhiwustatus").trigger('chosen:updated');//更新选项
                _pageSearch();
            } else {
                setTimeout(sendZhiwustatus, 100);
            }
        }
        sendZhiwustatus();