username@email.com
2021-06-21 83280d90d12545d36a301c437c7d9095f190aac3
算工资
27个文件已修改
21个文件已添加
4152 ■■■■■ 已修改文件
zhengcaioa/.vs/zhengcaioa/DesignTimeBuild/.dtbcache.v2 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/.vs/zhengcaioa/v16/.suo 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/FiPiecerateDTO.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/HrJibengongziDTO.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/HrJixiaotichengDTO.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/HrSalaryDTO.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/PltUserDTO.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IFiPiecerateService.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IHrJibengongziService.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IHrJixiaotichengService.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IHrSalaryService.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/HrJibengongzi.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/HrJixiaoticheng.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/HrSalary.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/PltUser.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/zhengcaioaContext.cs 374 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/FiPiecerateService.cs 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/HrJibengongziService.cs 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/HrJixiaotichengService.cs 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/HrSalaryService.cs 277 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/PltPageService.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/UserService.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/Finance/FiPiecerateController.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/HR/HrJibengongziController.cs 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/HR/HrJixiaotichengController.cs 159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/UserController.cs 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/admin/AdmPieceCheckController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Startup.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/AdmPieceCheck/Index.cshtml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/FiPiecerate/Edit.cshtml 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/FiPiecerate/Index.cshtml 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/HrJibengongzi/Edit.cshtml 452 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/HrJibengongzi/Index.cshtml 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/HrJixiaoticheng/Edit.cshtml 467 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/HrJixiaoticheng/Index.cshtml 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/Shared/_Layout_Search.cshtml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/Signin/AttendanceRule.cshtml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/User/Edit.cshtml 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/User/EditBeizhu.cshtml 354 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/User/JiBenGongZi.cshtml 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/wwwroot/js/plugins/search/search.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/zhengcaioa.csproj.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
用户表更新.sql 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
考勤计算的表.sql 120 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
表修改.sql 238 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/.vs/zhengcaioa/DesignTimeBuild/.dtbcache.v2
Binary files differ
zhengcaioa/.vs/zhengcaioa/v16/.suo
Binary files differ
zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs
@@ -187,6 +187,16 @@
            CreateMap<AdmAttendance, AdmAttendanceDTO>();
            CreateMap<AdmAttendanceDTO, AdmAttendance>();
            CreateMap<HrJibengongzi, HrJibengongziDTO>();
            CreateMap<HrJibengongziDTO, HrJibengongzi>();
            CreateMap<HrJixiaoticheng, HrJixiaotichengDTO>();
            CreateMap<HrJixiaotichengDTO, HrJixiaoticheng>();
            CreateMap<HrSalary, HrSalaryDTO>();
            CreateMap<HrSalaryDTO, HrSalary>();
        }
    }
}
zhengcaioa/DTO/FiPiecerateDTO.cs
@@ -28,5 +28,8 @@
        public string Pieceratetype { get; set; }
        public string Project { get; set; }
        public string Standard { get; set; }
    }
}
zhengcaioa/DTO/HrJibengongziDTO.cs
New file
@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace DTO
{
   public class HrJibengongziDTO
    {
        public string Id { get; set; }
        public string PostId { get; set; }
        public string PostName { get; set; }
        public decimal? Jibengongzi { get; set; }
        public string JibengongziName { get; set; }
        public decimal? Baomifei { get; set; }
        public string BaomifeiName { get; set; }
        public decimal? Shebaodanwei { get; set; }
        public string ShebaodanweiName { get; set; }
        public decimal? Shebaogeren { get; set; }
        public string ShebaogerenName { get; set; }
        public string Dianhuabutie { get; set; }
        public string DianhuabutieName { get; set; }
        public decimal? Quanqingjiang { get; set; }
        public string QuanqingjiangName { get; set; }
        public decimal? Jiaotongbutie { get; set; }
        public string JiaotongbutieName { 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 DateTime? Effecttime { get; set; }
        public string EffecttimeName { get; set; }
    }
    public class HrJibengongziDTOSearch : SearchEntity
    {
        public string PostId { get; set; }
    }
}
zhengcaioa/DTO/HrJixiaotichengDTO.cs
New file
@@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace DTO
{
    public class HrJixiaotichengDTO
    {
        public string Id { get; set; }
        public string PostId { get; set; }
        public string PostName { get; set; }
        public string PiecerateId { get; set; }
        public string PiecerateName { get; set; }
        public string Tichengstandard { get; set; }
        public string TichengstandardName { get; set; }
        public string Renwustandard { get; set; }
        public string RenwustandardName { get; set; }
        public decimal? Ticheng { get; set; }
        public string TichengName { get; set; }
        public decimal? Renwu { get; set; }
        public string RenwuName { get; set; }
        public DateTime? Effecttime { get; set; }
        public string EffecttimeName { 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 class HrJixiaotichengDTOSearch : SearchEntity
    {
        public string PostId { get; set; }
        public string PiecerateId { get; set; }
    }
}
zhengcaioa/DTO/HrSalaryDTO.cs
New file
@@ -0,0 +1,78 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace DTO
{
    public class HrSalaryDTO
    {
        public string Id { get; set; }
        public string Userid { get; set; }
        public int Year { get; set; }
        public int Month { get; set; }
        public string Usernumber { get; set; }
        public string UserName { get; set; }
        public string DeptName { get; set; }
        public decimal? Jibengongzi { get; set; }
        public decimal? Baomifei { get; set; }
        public decimal? Gongzuobutie { get; set; }
        public decimal? Jiabangongzi { get; set; }
        public decimal? Shebao { get; set; }
        public decimal? Dianhuabutie { get; set; }
        public decimal? Quanqinjiang { get; set; }
        public decimal? Jiaotngbutie { get; set; }
        public decimal? Jixiaoticheng { get; set; }
        public decimal? Jiangjin { get; set; }
        public decimal? Bufagongzi { get; set; }
        public decimal? Shebaokou { get; set; }
        public decimal? Geshui { get; set; }
        public decimal? Dianhuafei { get; set; }
        public decimal? Queqin { get; set; }
        public decimal? Fakuan { get; set; }
        public decimal? Peichang { get; set; }
        public decimal? Jiucuo { get; set; }
        public decimal? Daozhanggongzi { get; set; }
        public decimal? Yufagongzi { get; set; }
        public decimal? Yufagongziheji { get; set; }
        public string JibengongziName { get; set; }
        public string BaomifeiName { get; set; }
        public string GongzuobutieName { get; set; }
        public string JiabangongziName { get; set; }
        public string ShebaoName { get; set; }
        public string DianhuabutieName { get; set; }
        public string QuanqinjiangName { get; set; }
        public string JiaotngbutieName { get; set; }
        public string JixiaotichengName { get; set; }
        public string JiangjinName { get; set; }
        public string BufagongziName { get; set; }
        public string ShebaokouName { get; set; }
        public string GeshuiName { get; set; }
        public string DianhuafeiName { get; set; }
        public string QueqinName { get; set; }
        public string FakuanName { get; set; }
        public string PeichangName { get; set; }
        public string JiucuoName { get; set; }
        public string DaozhanggongziName { get; set; }
        public string YufagongziName { get; set; }
        public string YufagongzihejiName { get; set; }
        public string Islock { 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 partial class HrSalaryDTOSearch : SearchEntity
    {
        public string YearMonth { get; set; }
        public string Usernumber { get; set; }
        public string DeptId { get; set; }
        public string UserName { get; set; }
    }
}
zhengcaioa/DTO/PltUserDTO.cs
@@ -99,19 +99,39 @@
        /// é¢„发工资
        /// </summary>
        public decimal? advancewages { get; set; }
        public string advancewagesName { get; set; }
        /// <summary>
        /// ä¿åº•å¹´è–ª
        /// </summary>
        public decimal? miniyearsalary { get; set; }
        public string miniyearsalaryName { get; set; }
        /// <summary>
        /// å·¥é¾„工资
        /// </summary>
        public decimal? senioritywages { get; set; }
        public string senioritywagesName { get; set; }
        /// <summary>
        /// æ˜¯å¦äº¤é€šè¡¥è´´
        /// </summary>
        public string Istravelsubsidy { get; set; }
        /// <summary>
        /// æ˜¯å¦äº¤é€šè¡¥è´´
        /// </summary>
        public string IstravelsubsidyName { get; set; }
        public string Beizhu { get; set; }
        public decimal? baomisalary { get; set; }
        public string baomisalaryName { get; set; }
        public decimal? jibensalary { get; set; }
        public string jibensalaryName { get; set; }
        public decimal? jintiesalary { get; set; }
        public string jintiesalaryName { get; set; }
        public decimal? geshuiqizheng { get; set; }
        public string geshuiqizhengName { get; set; }
        public string[] JiatingchengyuanId { get; set; }
@@ -149,5 +169,7 @@
        public string UserSn { get; set; }
        public string Zhiwustatus { get; set; }
        public string Usernumber { get; set; }
    }
}
zhengcaioa/IServices/IFiPiecerateService.cs
@@ -18,5 +18,6 @@
        ResultEntity ModifyStatus(string id, string userid);
        List<FiPiecerateDTO> GetList();
        List<FiPiecerateDTO> GetListAll();
    }
}
zhengcaioa/IServices/IHrJibengongziService.cs
New file
@@ -0,0 +1,22 @@
using DTO;
using System;
using System.Collections.Generic;
using System.Text;
namespace IServices
{
    public interface IHrJibengongziService
    {
        ResultEntity save(HrJibengongziDTO dto);
        HrJibengongziDTO Get(string id);
        ResultDataEntity<HrJibengongziDTO> SearchByPaging(HrJibengongziDTOSearch searchEntity);
        ResultEntity ModifyStatus(string id, string userid);
        List<HrJibengongziDTO> GetList();
    }
}
zhengcaioa/IServices/IHrJixiaotichengService.cs
New file
@@ -0,0 +1,21 @@
using DTO;
using System;
using System.Collections.Generic;
using System.Text;
namespace IServices
{
    public interface IHrJixiaotichengService
    {
        ResultEntity save(HrJixiaotichengDTO dto);
        HrJixiaotichengDTO Get(string id);
        ResultDataEntity<HrJixiaotichengDTO> SearchByPaging(HrJixiaotichengDTOSearch searchEntity);
        ResultEntity ModifyStatus(string id, string userid);
        List<HrJixiaotichengDTO> GetList();
    }
}
zhengcaioa/IServices/IHrSalaryService.cs
New file
@@ -0,0 +1,22 @@
using DTO;
using System;
using System.Collections.Generic;
using System.Text;
namespace IServices
{
    public interface IHrSalaryService
    {
        ResultEntity save(HrSalaryDTO dto);
        HrSalaryDTO Get(string id);
        ResultDataEntity<HrSalaryDTO> SearchByPaging(HrSalaryDTOSearch searchEntity);
        ResultEntity ModifyStatus(string id, string userid);
        List<HrSalaryDTO> GetList();
    }
}
zhengcaioa/Model/HrJibengongzi.cs
New file
@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
#nullable disable
namespace zhengcaioa.Models
{
    public partial class HrJibengongzi
    {
        public string Id { get; set; }
        public string PostId { get; set; }
        public decimal? Jibengongzi { get; set; }
        public decimal? Baomifei { get; set; }
        public decimal? Shebaodanwei { get; set; }
        public decimal? Shebaogeren { get; set; }
        public string Dianhuabutie { get; set; }
        public decimal? Quanqingjiang { get; set; }
        public decimal? Jiaotongbutie { get; set; }
        public DateTime? Effecttime { 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/HrJixiaoticheng.cs
New file
@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
#nullable disable
namespace zhengcaioa.Models
{
    public partial class HrJixiaoticheng
    {
        public string Id { get; set; }
        public string PostId { get; set; }
        public string PiecerateId { get; set; }
        public string Tichengstandard { get; set; }
        public string Renwustandard { get; set; }
        public decimal? Ticheng { get; set; }
        public decimal? Renwu { get; set; }
        public DateTime? Effecttime { 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/HrSalary.cs
New file
@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
#nullable disable
namespace zhengcaioa.Models
{
    public partial class HrSalary
    {
        public string Id { get; set; }
        public string Userid { get; set; }
        public int Year { get; set; }
        public int Month { get; set; }
        public decimal? Jibengongzi { get; set; }
        public decimal? Baomifei { get; set; }
        public decimal? Gongzuobutie { get; set; }
        public decimal? Jiabangongzi { get; set; }
        public decimal? Shebao { get; set; }
        public decimal? Dianhuabutie { get; set; }
        public decimal? Quanqinjiang { get; set; }
        public decimal? Jiaotngbutie { get; set; }
        public decimal? Jixiaoticheng { get; set; }
        public decimal? Jiangjin { get; set; }
        public decimal? Bufagongzi { get; set; }
        public decimal? Shebaokou { get; set; }
        public decimal? Geshui { get; set; }
        public decimal? Dianhuafei { get; set; }
        public decimal? Queqin { get; set; }
        public decimal? Fakuan { get; set; }
        public decimal? Peichang { get; set; }
        public decimal? Jiucuo { get; set; }
        public decimal? Daozhanggongzi { get; set; }
        public decimal? Yufagongzi { get; set; }
        public decimal? Yufagongziheji { get; set; }
        public string Islock { 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/PltUser.cs
@@ -59,7 +59,6 @@
        public string JinjiPhone { get; set; }
        public string JzYoubian { get; set; }
        public string HjYoubian { get; set; }
        public string IpMac { get; set; }
        public string Usernumber { get; set; }
        public string Isxmenter { get; set; }
@@ -68,6 +67,10 @@
        public decimal? miniyearsalary { get; set; }
        public decimal? senioritywages { get; set; }
        public string Istravelsubsidy { get; set; }
        public string Beizhu { get; set; }
        public decimal? baomisalary { get; set; }
        public decimal? jibensalary { get; set; }
        public decimal? jintiesalary { get; set; }
        public decimal? geshuiqizheng { get; set; }
    }
}
zhengcaioa/Model/zhengcaioaContext.cs
@@ -50,7 +50,10 @@
        public virtual DbSet<GroupTopic> GroupTopics { get; set; }
        public virtual DbSet<GroupTuiguang> GroupTuiguangs { get; set; }
        public virtual DbSet<HrDept> HrDepts { get; set; }
        public virtual DbSet<HrJibengongzi> HrJibengongzis { get; set; }
        public virtual DbSet<HrJixiaoticheng> HrJixiaotichengs { get; set; }
        public virtual DbSet<HrPosition> HrPositions { get; set; }
        public virtual DbSet<HrSalary> HrSalaries { get; set; }
        public virtual DbSet<IntentionCustomer> IntentionCustomers { get; set; }
        public virtual DbSet<IntentionOrder> IntentionOrders { get; set; }
        public virtual DbSet<IntentionVisit> IntentionVisits { get; set; }
@@ -239,7 +242,7 @@
                entity.Property(e => e.Id).HasMaxLength(50);
                entity.Property(e => e.Chidao)
                    .HasColumnType("decimal(18, 2)")
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("chidao");
                entity.Property(e => e.Creater)
@@ -260,11 +263,11 @@
                    .HasDefaultValueSql("('D')");
                entity.Property(e => e.Jiaban)
                    .HasColumnType("decimal(18, 2)")
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("jiaban");
                entity.Property(e => e.Kuanggong)
                    .HasColumnType("decimal(18, 2)")
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("kuanggong");
                entity.Property(e => e.Modifier)
@@ -281,11 +284,11 @@
                entity.Property(e => e.Month).HasColumnName("month");
                entity.Property(e => e.Offdays)
                    .HasColumnType("decimal(18, 2)")
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("offdays");
                entity.Property(e => e.Qingjia)
                    .HasColumnType("decimal(18, 2)")
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("qingjia");
                entity.Property(e => e.RecStatus)
@@ -295,7 +298,7 @@
                    .HasDefaultValueSql("('A')");
                entity.Property(e => e.Shijichuqin)
                    .HasColumnType("decimal(18, 2)")
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("shijichuqin");
                entity.Property(e => e.Userid)
@@ -303,17 +306,17 @@
                    .HasMaxLength(50);
                entity.Property(e => e.Xiaojia)
                    .HasColumnType("decimal(18, 2)")
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("xiaojia");
                entity.Property(e => e.Year).HasColumnName("year");
                entity.Property(e => e.Yingchuqin)
                    .HasColumnType("decimal(18, 2)")
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("yingchuqin");
                entity.Property(e => e.Zaotui)
                    .HasColumnType("decimal(18, 2)")
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("zaotui");
            });
@@ -332,6 +335,10 @@
                    .HasMaxLength(50)
                    .HasColumnName("attendance_id");
                entity.Property(e => e.Chidaofenzhong)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("chidaofenzhong");
                entity.Property(e => e.Creater)
                    .IsRequired()
                    .HasMaxLength(50)
@@ -342,6 +349,10 @@
                    .HasColumnType("datetime")
                    .HasColumnName("createtime")
                    .HasDefaultValueSql("(getdate())");
                entity.Property(e => e.Kuanggongtianshu)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("kuanggongtianshu");
                entity.Property(e => e.Modifier)
                    .IsRequired()
@@ -363,7 +374,7 @@
                entity.Property(e => e.OvertimeOut).HasColumnType("datetime");
                entity.Property(e => e.Qingjia)
                    .HasColumnType("decimal(18, 2)")
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("qingjia");
                entity.Property(e => e.RecStatus)
@@ -377,8 +388,12 @@
                    .HasDefaultValueSql("(getdate())");
                entity.Property(e => e.Xiaojia)
                    .HasColumnType("decimal(18, 2)")
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("xiaojia");
                entity.Property(e => e.Zaotuifenzhong)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("zaotuifenzhong");
            });
            modelBuilder.Entity<AdmAttendanceRule>(entity =>
@@ -2468,6 +2483,140 @@
                    .HasColumnName("superior_top");
            });
            modelBuilder.Entity<HrJibengongzi>(entity =>
            {
                entity.ToTable("hr_jibengongzi");
                entity.Property(e => e.Id).HasMaxLength(50);
                entity.Property(e => e.Baomifei)
                    .HasColumnType("money")
                    .HasColumnName("baomifei");
                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.Dianhuabutie)
                    .HasMaxLength(50)
                    .HasColumnName("dianhuabutie");
                entity.Property(e => e.Effecttime)
                    .HasColumnType("datetime")
                    .HasColumnName("effecttime");
                entity.Property(e => e.Jiaotongbutie)
                    .HasColumnType("money")
                    .HasColumnName("jiaotongbutie");
                entity.Property(e => e.Jibengongzi)
                    .HasColumnType("money")
                    .HasColumnName("jibengongzi");
                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.PostId)
                    .HasMaxLength(50)
                    .HasColumnName("post_id");
                entity.Property(e => e.Quanqingjiang)
                    .HasColumnType("money")
                    .HasColumnName("quanqingjiang");
                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<HrJixiaoticheng>(entity =>
            {
                entity.ToTable("hr_jixiaoticheng");
                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.Effecttime)
                    .HasColumnType("datetime")
                    .HasColumnName("effecttime");
                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.PiecerateId)
                    .HasMaxLength(50)
                    .HasColumnName("piecerate_id");
                entity.Property(e => e.PostId)
                    .HasMaxLength(50)
                    .HasColumnName("post_id");
                entity.Property(e => e.RecStatus)
                    .IsRequired()
                    .HasMaxLength(1)
                    .HasColumnName("rec_status")
                    .HasDefaultValueSql("('A')");
                entity.Property(e => e.Renwu)
                    .HasColumnType("money")
                    .HasColumnName("renwu");
                entity.Property(e => e.Renwustandard)
                    .HasMaxLength(50)
                    .HasColumnName("renwustandard");
                entity.Property(e => e.Ticheng)
                    .HasColumnType("money")
                    .HasColumnName("ticheng");
                entity.Property(e => e.Tichengstandard)
                    .HasMaxLength(50)
                    .HasColumnName("tichengstandard");
            });
            modelBuilder.Entity<HrPosition>(entity =>
            {
                entity.ToTable("hr_position");
@@ -2511,6 +2660,139 @@
                    .HasMaxLength(1)
                    .HasColumnName("rec_status")
                    .HasDefaultValueSql("('A')");
            });
            modelBuilder.Entity<HrSalary>(entity =>
            {
                entity.ToTable("hr_salary");
                entity.Property(e => e.Id).HasMaxLength(50);
                entity.Property(e => e.Baomifei)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("baomifei");
                entity.Property(e => e.Bufagongzi)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("bufagongzi");
                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.Daozhanggongzi)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("daozhanggongzi");
                entity.Property(e => e.Dianhuabutie)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("dianhuabutie");
                entity.Property(e => e.Dianhuafei)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("dianhuafei");
                entity.Property(e => e.Fakuan)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("fakuan");
                entity.Property(e => e.Geshui)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("geshui");
                entity.Property(e => e.Gongzuobutie)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("gongzuobutie");
                entity.Property(e => e.Islock)
                    .IsRequired()
                    .HasMaxLength(1)
                    .HasColumnName("islock")
                    .HasDefaultValueSql("('D')");
                entity.Property(e => e.Jiabangongzi)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("jiabangongzi");
                entity.Property(e => e.Jiangjin)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("jiangjin");
                entity.Property(e => e.Jiaotngbutie)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("jiaotngbutie");
                entity.Property(e => e.Jibengongzi)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("jibengongzi");
                entity.Property(e => e.Jiucuo)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("jiucuo");
                entity.Property(e => e.Jixiaoticheng)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("jixiaoticheng");
                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.Month).HasColumnName("month");
                entity.Property(e => e.Peichang)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("peichang");
                entity.Property(e => e.Quanqinjiang)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("quanqinjiang");
                entity.Property(e => e.Queqin)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("queqin");
                entity.Property(e => e.RecStatus)
                    .IsRequired()
                    .HasMaxLength(1)
                    .HasColumnName("rec_status")
                    .HasDefaultValueSql("('A')");
                entity.Property(e => e.Shebao)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("shebao");
                entity.Property(e => e.Shebaokou)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("shebaokou");
                entity.Property(e => e.Userid)
                    .IsRequired()
                    .HasMaxLength(50);
                entity.Property(e => e.Year).HasColumnName("year");
                entity.Property(e => e.Yufagongzi)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("yufagongzi");
                entity.Property(e => e.Yufagongziheji)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("yufagongziheji");
            });
            modelBuilder.Entity<IntentionCustomer>(entity =>
@@ -3206,11 +3488,23 @@
                entity.Property(e => e.Id).HasMaxLength(50);
                entity.Property(e => e.advancewages)
                    .HasColumnType("decimal(10, 2)")
                    .HasColumnName("advancewages");
                entity.Property(e => e.BasicPrice)
                    .HasMaxLength(500)
                    .HasColumnName("basic_price")
                    .HasDefaultValueSql("('')")
                    .HasComment("薪资待遇");
                entity.Property(e => e.baomisalary)
                    .HasColumnType("decimal(10, 2)")
                    .HasColumnName("baomisalary");
                entity.Property(e => e.Beizhu)
                    .HasMaxLength(500)
                    .HasColumnName("beizhu");
                entity.Property(e => e.Birthday)
                    .HasColumnType("datetime")
@@ -3244,6 +3538,10 @@
                    .HasMaxLength(50)
                    .HasColumnName("email");
                entity.Property(e => e.geshuiqizheng)
                   .HasColumnType("decimal(10, 2)")
                   .HasColumnName("geshuiqizheng");
                entity.Property(e => e.HjAddress)
                    .HasMaxLength(500)
                    .HasColumnName("hj_address")
@@ -3274,6 +3572,10 @@
                    .HasDefaultValueSql("(getdate())")
                    .HasComment("启用时间");
                entity.Property(e => e.IpMac)
                    .HasMaxLength(30)
                    .HasColumnName("ipmac");
                entity.Property(e => e.IsGmsb)
                    .HasMaxLength(1)
                    .HasColumnName("is_gmsb")
@@ -3288,29 +3590,23 @@
                    .HasDefaultValueSql("('')")
                    .HasComment("已签订合同");
                entity.Property(e => e.Istravelsubsidy)
                    .HasMaxLength(1)
                    .HasColumnName("is_travelsubsidy");
                entity.Property(e => e.Iswdenter)
                    .HasMaxLength(1)
                    .HasColumnName("is_wdenter");
                entity.Property(e => e.Isxmenter)
                    .HasMaxLength(1)
                    .HasColumnName("is_xmenter");
                entity.Property(e => e.IsYwjl)
                    .HasMaxLength(1)
                    .HasColumnName("is_ywjl")
                    .HasDefaultValueSql("('')")
                    .HasComment("是业务经理");
                entity.Property(e => e.Isxmenter)
                   .HasMaxLength(1)
                   .HasColumnName("is_xmenter")
                   .HasDefaultValueSql("('')")
                   .HasComment("是项目录入");
                entity.Property(e => e.Iswdenter)
                   .HasMaxLength(1)
                   .HasColumnName("is_wdenter")
                   .HasDefaultValueSql("('')")
                   .HasComment("是问答录入");
                entity.Property(e => e.Istravelsubsidy)
                   .HasMaxLength(1)
                   .HasColumnName("is_travelsubsidy")
                   .HasDefaultValueSql("('')")
                   .HasComment("有交通补贴");
                entity.Property(e => e.Jg)
                    .HasMaxLength(500)
@@ -3318,9 +3614,17 @@
                    .HasDefaultValueSql("('')")
                    .HasComment("籍贯");
                entity.Property(e => e.jibensalary)
                    .HasColumnType("decimal(10, 2)")
                    .HasColumnName("jibensalary");
                entity.Property(e => e.Jinji).HasMaxLength(50);
                entity.Property(e => e.JinjiPhone).HasMaxLength(50);
                entity.Property(e => e.jintiesalary)
                    .HasColumnType("decimal(10, 2)")
                    .HasColumnName("jintiesalary");
                entity.Property(e => e.JzAddress)
                    .HasMaxLength(500)
@@ -3335,6 +3639,10 @@
                    .HasColumnName("length_price")
                    .HasDefaultValueSql("('')")
                    .HasComment("工龄工资,入职满一年的下一个月可享受");
                entity.Property(e => e.miniyearsalary)
                    .HasColumnType("decimal(10, 2)")
                    .HasColumnName("miniyearsalary");
                entity.Property(e => e.Modifier)
                    .IsRequired()
@@ -3397,6 +3705,10 @@
                entity.Property(e => e.School).HasMaxLength(50);
                entity.Property(e => e.senioritywages)
                    .HasColumnType("decimal(10, 2)")
                    .HasColumnName("senioritywages");
                entity.Property(e => e.Sex)
                    .HasMaxLength(1)
                    .HasColumnName("sex")
@@ -3440,6 +3752,10 @@
                    .HasMaxLength(2)
                    .HasColumnName("user_type");
                entity.Property(e => e.Usernumber)
                    .HasMaxLength(30)
                    .HasColumnName("usernumber");
                entity.Property(e => e.Weixin).HasMaxLength(50);
                entity.Property(e => e.Zhengzhi).HasMaxLength(50);
zhengcaioa/Services/FiPiecerateService.cs
@@ -127,13 +127,13 @@
            var query = (from a in _context.FiPiecerates
                         join c in listCode.Where(x => x.CodeTable == "CooperVisit" && x.CodeField == "jtype")
                         on a.Pieceratetype equals c.CodeSn
                         join d in listCode.Where(x => x.CodeTable == "fi_piecerate" && x.CodeField == "Standard")
                         on a.Standard equals d.CodeSn
                         join c in listCode.Where(x => x.CodeTable == "system" && x.CodeField == "shifou")
                         on a.Standard equals c.CodeSn
                         //join d in listCode.Where(x => x.CodeTable == "fi_piecerate" && x.CodeField == "Standard")
                         //on a.Standard equals d.CodeSn
@@ -144,20 +144,21 @@
                        
                          && (string.IsNullOrWhiteSpace(searchEntity.Pieceratetype) || a.Pieceratetype == searchEntity.Pieceratetype.Trim())
                            && (string.IsNullOrWhiteSpace(searchEntity.Standard) || a.Standard == searchEntity.Standard.Trim())
                         select new FiPiecerateDTO
                         {
                             Id = a.Id,
                             CreatedAtTime = a.CreatedAtTime,
                             Pieceratetype = a.Pieceratetype,
                             PieceratetypeName = c.Comments,
                             PieceratetypeName = "",//c.Comments,
                             Project = a.Project,
                             Amount = a.Amount,
                             Standard = a.Standard,
                             StandardName = d.Comments,
                             StandardName = c.Comments,
                             Percent = a.Percent,
                            
@@ -214,11 +215,26 @@
        {
            var listPosition = _context.FiPiecerates.Where(r => r.RecStatus == "A").ToList();
            var listPosition = _context.FiPiecerates.Where(r => r.RecStatus == "A").OrderBy(x=>x.Createtime).ToList();
            var list = _mapper.Map<List<FiPiecerateDTO>>(listPosition);
            return list;
        }
        /// <summary>
        /// èŽ·å–æ‰€æœ‰è®¡ä»¶é¡¹ç›®
        /// </summary>
        /// <returns></returns>
        public List<FiPiecerateDTO> GetListAll()
        {
            var listPosition = _context.FiPiecerates.OrderBy(x => x.Createtime).ToList();
            var list = _mapper.Map<List<FiPiecerateDTO>>(listPosition);
            return list;
        }
    }
}
zhengcaioa/Services/HrJibengongziService.cs
New file
@@ -0,0 +1,202 @@
using AutoMapper;
using DTO;
using IServices;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using zhengcaioa.Models;
namespace Services
{
    public class HrJibengongziService: IHrJibengongziService
    {
        private readonly zhengcaioaContext _context;
        private readonly IMapper _mapper;
        public HrJibengongziService(zhengcaioaContext context, IMapper mapper)
        {
            _context = context;
            _mapper = mapper;
        }
        public ResultEntity save(HrJibengongziDTO dto)
        {
            ResultEntity resultEntity = new ResultEntity();
            try
            {
                var model = _mapper.Map<HrJibengongzi>(dto);
                if (String.IsNullOrEmpty(model.Id))
                {
                    model.Id = Guid.NewGuid().ToString();
                    _context.HrJibengongzis.Add(model);
                }
                else
                {
                    var updatepltRole = _context.HrJibengongzis.Find(model.Id);
                    updatepltRole.PostId = model.PostId;
                    updatepltRole.Jibengongzi = model.Jibengongzi;
                    updatepltRole.Baomifei = model.Baomifei;
                    updatepltRole.Shebaodanwei = model.Shebaodanwei;
                    updatepltRole.Shebaogeren = model.Shebaogeren;
                    updatepltRole.Quanqingjiang = model.Quanqingjiang;
                    updatepltRole.Dianhuabutie = model.Dianhuabutie;
                    updatepltRole.Jiaotongbutie = model.Jiaotongbutie;
                    updatepltRole.Effecttime = model.Effecttime;
                    updatepltRole.RecStatus = model.RecStatus;
                    // updatepltRole.Creater = pltRole.Creater;
                    //updatepltRole.Createtime = pltRole.Createtime;
                    updatepltRole.Modifier = model.Modifier;
                    updatepltRole.Modifytime = model.Modifytime;
                }
                _context.SaveChanges();
                resultEntity.ReturnID = model.Id;
                resultEntity.Result = true;
            }
            catch (Exception ex)
            {
                resultEntity.Result = false;
                resultEntity.Message = "保存失败,请联系管理员";
            }
            return resultEntity;
        }
        public HrJibengongziDTO Get(string id)
        {
            var entity = _context.HrJibengongzis.Find(id);
            if (entity.RecStatus != "A")
            {
                entity = new HrJibengongzi();
            }
            var HrJibengongziDTO = _mapper.Map<HrJibengongziDTO>(entity);
            return HrJibengongziDTO;
        }
        public ResultDataEntity<HrJibengongziDTO> SearchByPaging(HrJibengongziDTOSearch searchEntity)
        {
            ResultDataEntity<HrJibengongziDTO> data = new ResultDataEntity<HrJibengongziDTO>();
            var listCode = (from a in _context.SysCodeDtls
                            join b in _context.SysCodes
                            on a.CodeId equals b.Id
                            where a.RecStatus == "A"
                                          && b.RecStatus == "A"
                            select new CodeDataEntity()
                            {
                                CodeId = b.Id,
                                CodeTable = b.CodeTable,
                                CodeField = b.CodeField,
                                CodeSn = a.CodeSn,
                                Comments = a.Comments,
                                Contents = a.Contents,
                                RecStatus = a.RecStatus,
                                Sort = a.Sort
                            }
                     );
            var query = (from a in _context.HrJibengongzis//.Where(x => x.RecStatus == "A")
                         join b in listCode.Where(x => x.CodeTable == "hr_jibengongzi" && x.CodeField == "dianhuabutie")
                        on a.Dianhuabutie equals b.CodeSn
                         into bsssss
                         from bbb in bsssss.DefaultIfEmpty()
                         join f in _context.HrPositions
                         on a.PostId equals f.Id
                           into fsssss
                         from fff in fsssss.DefaultIfEmpty()
                         where a.RecStatus == "A"
                          && (string.IsNullOrWhiteSpace(searchEntity.PostId) || a.PostId == searchEntity.PostId.Trim())
                         select new HrJibengongziDTO
                         {
                             Id = a.Id,
                             PostId = a.PostId,
                             PostName = fff.PostName,
                             Jibengongzi = a.Jibengongzi,
                             Baomifei = a.Baomifei,
                             Shebaodanwei = a.Shebaodanwei,
                             Shebaogeren = a.Shebaogeren,
                             Dianhuabutie = a.Dianhuabutie,
                             Quanqingjiang = a.Quanqingjiang,
                             Jiaotongbutie = a.Jiaotongbutie,
                             JibengongziName = a.Jibengongzi.HasValue? a.Jibengongzi.Value.ToString("F2"):"",
                             BaomifeiName = a.Baomifei.HasValue ? a.Baomifei.Value.ToString("F2") : "",
                             ShebaodanweiName = a.Shebaodanwei.HasValue ? a.Shebaodanwei.Value.ToString("F2") : "",
                             ShebaogerenName = a.Shebaogeren.HasValue ? a.Shebaogeren.Value.ToString("F2") : "",
                             DianhuabutieName = bbb.Comments,
                             QuanqingjiangName = a.Quanqingjiang.HasValue ? a.Quanqingjiang.Value.ToString("F2") : "",
                             JiaotongbutieName = a.Jiaotongbutie.HasValue ? a.Jiaotongbutie.Value.ToString("F2") : "",
                             Effecttime = a.Effecttime,
                             EffecttimeName = a.Effecttime.HasValue ? a.Effecttime.Value.ToString("yyyy-MM-dd") : "",
                             RecStatus = a.RecStatus,
                             Creater = a.Creater,
                             Createtime = a.Createtime,
                             Modifier = a.Modifier,
                             Modifytime = a.Modifytime,
                         }).OrderByDescending(x => x.Modifytime).ToList();
            if (searchEntity.totalrows == 0)
                searchEntity.totalrows = query.Count();
            var rolelist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
            data.LoadData(searchEntity, rolelist);
            return data;
        }
        public ResultEntity ModifyStatus(string id, string userid)
        {
            ResultEntity result = new ResultEntity();
            result.Result = true;
            var model = _context.HrJibengongzis.Find(id);
            if (model != null)
            {
                model.RecStatus = "D";
                model.Modifier = userid;
                model.Modifytime = DateTime.Now;
                _context.SaveChanges();
            }
            return result;
        }
        /// <summary>
        /// èŽ·å–æ‰€æœ‰æœ‰æ•ˆè§’è‰²
        /// </summary>
        /// <returns></returns>
        public List<HrJibengongziDTO> GetList()
        {
            var listPosition = _context.HrJibengongzis.Where(r => r.RecStatus == "A" ).ToList();
            var list = _mapper.Map<List<HrJibengongziDTO>>(listPosition);
            return list;
        }
    }
}
zhengcaioa/Services/HrJixiaotichengService.cs
New file
@@ -0,0 +1,207 @@
using AutoMapper;
using DTO;
using IServices;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using zhengcaioa.Models;
namespace Services
{
    public class HrJixiaotichengService : IHrJixiaotichengService
    {
        private readonly zhengcaioaContext _context;
        private readonly IMapper _mapper;
        public HrJixiaotichengService(zhengcaioaContext context, IMapper mapper)
        {
            _context = context;
            _mapper = mapper;
        }
        public ResultEntity save(HrJixiaotichengDTO dto)
        {
            ResultEntity resultEntity = new ResultEntity();
            try
            {
                var model = _mapper.Map<HrJixiaoticheng>(dto);
                if (String.IsNullOrEmpty(model.Id))
                {
                    model.Id = Guid.NewGuid().ToString();
                    _context.HrJixiaotichengs.Add(model);
                }
                else
                {
                    var updatepltRole = _context.HrJixiaotichengs.Find(model.Id);
                    updatepltRole.PostId = model.PostId;
                    updatepltRole.PiecerateId = model.PiecerateId;
                    updatepltRole.Tichengstandard = model.Tichengstandard;
                    updatepltRole.Renwustandard = model.Renwustandard;
                    updatepltRole.Ticheng = model.Ticheng;
                    updatepltRole.Renwu = model.Renwu;
                    updatepltRole.Effecttime = model.Effecttime;
                    updatepltRole.RecStatus = model.RecStatus;
                    // updatepltRole.Creater = pltRole.Creater;
                    //updatepltRole.Createtime = pltRole.Createtime;
                    updatepltRole.Modifier = model.Modifier;
                    updatepltRole.Modifytime = model.Modifytime;
                }
                _context.SaveChanges();
                resultEntity.ReturnID = model.Id;
                resultEntity.Result = true;
            }
            catch (Exception ex)
            {
                resultEntity.Result = false;
                resultEntity.Message = "保存失败,请联系管理员";
            }
            return resultEntity;
        }
        public HrJixiaotichengDTO Get(string id)
        {
            var entity = _context.HrJixiaotichengs.Find(id);
            if (entity.RecStatus != "A")
            {
                entity = new HrJixiaoticheng();
            }
            var HrJixiaotichengDTO = _mapper.Map<HrJixiaotichengDTO>(entity);
            return HrJixiaotichengDTO;
        }
        public ResultDataEntity<HrJixiaotichengDTO> SearchByPaging(HrJixiaotichengDTOSearch searchEntity)
        {
            ResultDataEntity<HrJixiaotichengDTO> data = new ResultDataEntity<HrJixiaotichengDTO>();
            var listCode = (from a in _context.SysCodeDtls
                            join b in _context.SysCodes
                            on a.CodeId equals b.Id
                            where a.RecStatus == "A"
                                          && b.RecStatus == "A"
                            select new CodeDataEntity()
                            {
                                CodeId = b.Id,
                                CodeTable = b.CodeTable,
                                CodeField = b.CodeField,
                                CodeSn = a.CodeSn,
                                Comments = a.Comments,
                                Contents = a.Contents,
                                RecStatus = a.RecStatus,
                                Sort = a.Sort
                            }
                     );
            var query = (from a in _context.HrJixiaotichengs//.Where(x => x.RecStatus == "A")
                         join b in listCode.Where(x => x.CodeTable == "fi_piecerate" && x.CodeField == "standard")
                        on a.Tichengstandard equals b.CodeSn
                         into bsssss
                         from bbb in bsssss.DefaultIfEmpty()
                         join c in listCode.Where(x => x.CodeTable == "hr_jixiaoticheng" && x.CodeField == "renwustandard")
                       on a.Renwustandard equals c.CodeSn
                        into csssss
                         from ccc in csssss.DefaultIfEmpty()
                         join f in _context.HrPositions
                         on a.PostId equals f.Id
                           into fsssss
                         from fff in fsssss.DefaultIfEmpty()
                         join g in _context.FiPiecerates
                        on a.PiecerateId equals g.Id
                          into gsssss
                         from ggg in gsssss.DefaultIfEmpty()
                         where a.RecStatus == "A"
                          && (string.IsNullOrWhiteSpace(searchEntity.PostId) || a.PostId == searchEntity.PostId.Trim())
                         select new HrJixiaotichengDTO
                         {
                             Id = a.Id,
                             PostId = a.PostId,
                             PostName = fff.PostName,
                             PiecerateId = a.PiecerateId,
                             PiecerateName = ggg.Project,
                             Renwustandard = a.Renwustandard,
                             RenwustandardName = ccc.Comments,
                             Tichengstandard = a.Tichengstandard,
                             TichengstandardName = bbb.Comments,
                             Ticheng = a.Ticheng,
                             Renwu = a.Renwu,
                             TichengName = a.Ticheng.HasValue ? a.Ticheng.Value.ToString("F2") : "",
                             RenwuName = a.Renwu.HasValue ? a.Renwu.Value.ToString("F2") : "",
                             Effecttime = a.Effecttime,
                             EffecttimeName = a.Effecttime.HasValue ? a.Effecttime.Value.ToString("yyyy-MM-dd") : "",
                             RecStatus = a.RecStatus,
                             Creater = a.Creater,
                             Createtime = a.Createtime,
                             Modifier = a.Modifier,
                             Modifytime = a.Modifytime,
                         }).OrderByDescending(x => x.Modifytime).ToList();
            if (searchEntity.totalrows == 0)
                searchEntity.totalrows = query.Count();
            var rolelist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
            data.LoadData(searchEntity, rolelist);
            return data;
        }
        public ResultEntity ModifyStatus(string id, string userid)
        {
            ResultEntity result = new ResultEntity();
            result.Result = true;
            var model = _context.HrJixiaotichengs.Find(id);
            if (model != null)
            {
                model.RecStatus = "D";
                model.Modifier = userid;
                model.Modifytime = DateTime.Now;
                _context.SaveChanges();
            }
            return result;
        }
        /// <summary>
        /// èŽ·å–æ‰€æœ‰æœ‰æ•ˆè§’è‰²
        /// </summary>
        /// <returns></returns>
        public List<HrJixiaotichengDTO> GetList()
        {
            var listPosition = _context.HrJixiaotichengs.Where(r => r.RecStatus == "A").ToList();
            var list = _mapper.Map<List<HrJixiaotichengDTO>>(listPosition);
            return list;
        }
    }
}
zhengcaioa/Services/HrSalaryService.cs
New file
@@ -0,0 +1,277 @@
using AutoMapper;
using DTO;
using IServices;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using zhengcaioa.Models;
namespace Services
{
    public class HrSalaryService: IHrSalaryService
    {
        private readonly zhengcaioaContext _context;
        private readonly IMapper _mapper;
        public HrSalaryService(zhengcaioaContext context, IMapper mapper)
        {
            _context = context;
            _mapper = mapper;
        }
        public ResultEntity save(HrSalaryDTO dto)
        {
            ResultEntity resultEntity = new ResultEntity();
            try
            {
                var model = _mapper.Map<HrSalary>(dto);
                if (String.IsNullOrEmpty(model.Id))
                {
                    model.Id = Guid.NewGuid().ToString();
                    _context.HrSalaries.Add(model);
                }
                else
                {
                    var updatepltRole = _context.HrSalaries.Find(model.Id);
                    updatepltRole.Userid = model.Userid;
                    updatepltRole.Year = model.Year;
                    updatepltRole.Month = model.Month;
                    updatepltRole.Jibengongzi = model.Jibengongzi;
                    updatepltRole.Baomifei = model.Baomifei;
                    updatepltRole.Gongzuobutie = model.Gongzuobutie;
                    updatepltRole.Jiabangongzi = model.Jiabangongzi;
                    updatepltRole.Shebao = model.Shebao;
                    updatepltRole.Dianhuabutie = model.Dianhuabutie;
                    updatepltRole.Quanqinjiang = model.Quanqinjiang;
                    updatepltRole.Jiaotngbutie = model.Jiaotngbutie;
                    updatepltRole.Jixiaoticheng = model.Jixiaoticheng;
                    updatepltRole.Jiangjin = model.Jiangjin;
                    updatepltRole.Bufagongzi = model.Bufagongzi;
                    updatepltRole.Shebaokou = model.Shebaokou;
                    updatepltRole.Geshui = model.Geshui;
                    updatepltRole.Dianhuafei = model.Dianhuafei;
                    updatepltRole.Queqin = model.Queqin;
                    updatepltRole.Fakuan = model.Fakuan;
                    updatepltRole.Peichang = model.Peichang;
                    updatepltRole.Jiucuo = model.Jiucuo;
                    updatepltRole.Daozhanggongzi = model.Daozhanggongzi;
                    updatepltRole.Yufagongzi = model.Yufagongzi;
                    updatepltRole.Yufagongziheji = model.Yufagongziheji;
                    updatepltRole.Islock = model.Islock;
                    updatepltRole.RecStatus = model.RecStatus;
                    // updatepltRole.Creater = pltRole.Creater;
                    //updatepltRole.Createtime = pltRole.Createtime;
                    updatepltRole.Modifier = model.Modifier;
                    updatepltRole.Modifytime = model.Modifytime;
                }
                _context.SaveChanges();
                resultEntity.ReturnID = model.Id;
                resultEntity.Result = true;
            }
            catch (Exception ex)
            {
                resultEntity.Result = false;
                resultEntity.Message = "保存失败,请联系管理员";
            }
            return resultEntity;
        }
        public HrSalaryDTO Get(string id)
        {
            var entity = _context.HrSalaries.Find(id);
            if (entity.RecStatus != "A")
            {
                entity = new HrSalary();
            }
            var HrSalaryDTO = _mapper.Map<HrSalaryDTO>(entity);
            return HrSalaryDTO;
        }
        public ResultDataEntity<HrSalaryDTO> SearchByPaging(HrSalaryDTOSearch searchEntity)
        {
            ResultDataEntity<HrSalaryDTO> data = new ResultDataEntity<HrSalaryDTO>();
            //var listCode = (from a in _context.SysCodeDtls
            //                join b in _context.SysCodes
            //                on a.CodeId equals b.Id
            //                where a.RecStatus == "A"
            //                              && b.RecStatus == "A"
            //                select new CodeDataEntity()
            //                {
            //                    CodeId = b.Id,
            //                    CodeTable = b.CodeTable,
            //                    CodeField = b.CodeField,
            //                    CodeSn = a.CodeSn,
            //                    Comments = a.Comments,
            //                    Contents = a.Contents,
            //                    RecStatus = a.RecStatus,
            //                    Sort = a.Sort
            //                }
            //         );
            int year = 0;
            int month = 0;
            if (string.IsNullOrWhiteSpace(searchEntity.YearMonth))
            {
              DateTime yearMonth =  DateTime.Parse(searchEntity.YearMonth + "-01");
                year = yearMonth.Year;
                month = yearMonth.Month;
            }
            var query = (from a in _context.HrSalaries//.Where(x => x.RecStatus == "A")
                        // join b in listCode.Where(x => x.CodeTable == "hr_jibengongzi" && x.CodeField == "dianhuabutie")
                        //on a.Dianhuabutie equals b.CodeSn
                        // into bsssss
                        // from bbb in bsssss.DefaultIfEmpty()
                         join f in _context.PltUsers
                         on a.Userid equals f.Id
                         //  into fsssss
                         //from fff in fsssss.DefaultIfEmpty()
                         join g in _context.HrDepts
                        on f.DeptId equals g.Id
                         // into gsssss
                         //from ggg in gsssss.DefaultIfEmpty()
                         where a.RecStatus == "A"
                          && (string.IsNullOrWhiteSpace(searchEntity.Usernumber) || f.Usernumber == searchEntity.Usernumber.Trim())
                            && (string.IsNullOrWhiteSpace(searchEntity.DeptId) || f.DeptId == searchEntity.DeptId.Trim())
                              && (string.IsNullOrWhiteSpace(searchEntity.UserName) || f.UserName.Contains(searchEntity.UserName.Trim()))
                              && (string.IsNullOrWhiteSpace(searchEntity.YearMonth) || ( a.Year == year && a.Month == month ))
                         select new HrSalaryDTO
                         {
                             Id = a.Id,
                             Userid = a.Userid,
                             Usernumber = f.Usernumber,
                             UserName = f.UserName,
                             DeptName = g.DeptName,
                             Year = a.Year,
                             Month = a.Month,
                             Jibengongzi = a.Jibengongzi,
                             Baomifei = a.Baomifei,
                             Gongzuobutie = a.Gongzuobutie,
                             Jiabangongzi = a.Jiabangongzi,
                             Shebao = a.Shebao,
                             Dianhuabutie = a.Dianhuabutie,
                             Quanqinjiang = a.Quanqinjiang,
                             Jiaotngbutie = a.Jiaotngbutie,
                             Jixiaoticheng = a.Jixiaoticheng,
                             Jiangjin = a.Jiangjin,
                             Bufagongzi = a.Bufagongzi,
                             Shebaokou = a.Shebaokou,
                             Geshui = a.Geshui,
                             Dianhuafei = a.Dianhuafei,
                             Queqin = a.Queqin,
                             Fakuan = a.Fakuan,
                             Peichang = a.Peichang,
                             Jiucuo = a.Jiucuo,
                             Daozhanggongzi = a.Daozhanggongzi,
                             Yufagongzi = a.Yufagongzi,
                             Yufagongziheji = a.Yufagongziheji,
                             JibengongziName = a.Jibengongzi.HasValue ? a.Jibengongzi.Value.ToString("F2") : "",
                             BaomifeiName = a.Baomifei.HasValue ? a.Baomifei.Value.ToString("F2") : "",
                             GongzuobutieName = a.Gongzuobutie.HasValue ? a.Gongzuobutie.Value.ToString("F2") : "",
                             JiabangongziName = a.Jiabangongzi.HasValue ? a.Jiabangongzi.Value.ToString("F2") : "",
                             ShebaoName = a.Shebao.HasValue ? a.Shebao.Value.ToString("F2") : "",
                             DianhuabutieName = a.Dianhuabutie.HasValue ? a.Dianhuabutie.Value.ToString("F2") : "",
                             QuanqinjiangName = a.Quanqinjiang.HasValue ? a.Quanqinjiang.Value.ToString("F2") : "",
                             JiaotngbutieName = a.Jiaotngbutie.HasValue ? a.Jiaotngbutie.Value.ToString("F2") : "",
                             JixiaotichengName = a.Jixiaoticheng.HasValue ? a.Jixiaoticheng.Value.ToString("F2") : "",
                             JiangjinName = a.Jiangjin.HasValue ? a.Jiangjin.Value.ToString("F2") : "",
                             BufagongziName = a.Bufagongzi.HasValue ? a.Bufagongzi.Value.ToString("F2") : "",
                             ShebaokouName = a.Shebaokou.HasValue ? a.Shebaokou.Value.ToString("F2") : "",
                             GeshuiName = a.Geshui.HasValue ? a.Geshui.Value.ToString("F2") : "",
                             DianhuafeiName = a.Dianhuafei.HasValue ? a.Dianhuafei.Value.ToString("F2") : "",
                             QueqinName = a.Queqin.HasValue ? a.Queqin.Value.ToString("F2") : "",
                             FakuanName = a.Fakuan.HasValue ? a.Fakuan.Value.ToString("F2") : "",
                             PeichangName = a.Peichang.HasValue ? a.Peichang.Value.ToString("F2") : "",
                             JiucuoName = a.Jiucuo.HasValue ? a.Jiucuo.Value.ToString("F2") : "",
                             DaozhanggongziName = a.Daozhanggongzi.HasValue ? a.Daozhanggongzi.Value.ToString("F2") : "",
                             YufagongziName = a.Yufagongzi.HasValue ? a.Yufagongzi.Value.ToString("F2") : "",
                             YufagongzihejiName = a.Yufagongziheji.HasValue ? a.Yufagongziheji.Value.ToString("F2") : "",
                             Islock =a.Islock,
                             RecStatus = a.RecStatus,
                             Creater = a.Creater,
                             Createtime = a.Createtime,
                             Modifier = a.Modifier,
                             Modifytime = a.Modifytime,
                         }).OrderByDescending(x => x.Modifytime).ToList();
            if (searchEntity.totalrows == 0)
                searchEntity.totalrows = query.Count();
            var rolelist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
            data.LoadData(searchEntity, rolelist);
            return data;
        }
        public ResultEntity ModifyStatus(string id, string userid)
        {
            ResultEntity result = new ResultEntity();
            result.Result = true;
            var model = _context.HrSalaries.Find(id);
            if (model != null)
            {
                model.RecStatus = "D";
                model.Modifier = userid;
                model.Modifytime = DateTime.Now;
                _context.SaveChanges();
            }
            return result;
        }
        /// <summary>
        /// èŽ·å–æ‰€æœ‰æœ‰æ•ˆè§’è‰²
        /// </summary>
        /// <returns></returns>
        public List<HrSalaryDTO> GetList()
        {
            var listPosition = _context.HrSalaries.Where(r => r.RecStatus == "A").ToList();
            var list = _mapper.Map<List<HrSalaryDTO>>(listPosition);
            return list;
        }
    }
}
zhengcaioa/Services/PltPageService.cs
@@ -332,6 +332,7 @@
                                   PageID = page.Id,
                                   SystemID = page.SystemId,
                                   PageName = page.PageName,
                                   PageShortcut = page.PageShortcut,
                                   DisplaySeq = page.DisplaySeq ?? 0,
                                   PagePath = page.PagePath,
                                   PageType = page.PageType,
zhengcaioa/Services/UserService.cs
@@ -184,6 +184,11 @@
                    updatepltUser.miniyearsalary = pltUser.miniyearsalary;
                    updatepltUser.senioritywages = pltUser.senioritywages;
                    updatepltUser.Istravelsubsidy = pltUser.Istravelsubsidy;
                    updatepltUser.Beizhu = pltUser.Beizhu;
                    updatepltUser.baomisalary = pltUser.baomisalary;
                    updatepltUser.jibensalary = pltUser.jibensalary;
                    updatepltUser.jintiesalary = pltUser.jintiesalary;
                    updatepltUser.geshuiqizheng = pltUser.geshuiqizheng;
                }
                _context.SaveChanges();
@@ -261,7 +266,10 @@
                         into fsssss
                         from fff in fsssss.DefaultIfEmpty()
                         join h in listCode.Where(x => x.CodeTable == "system" && x.CodeField == "shifou")
                        on a.Istravelsubsidy equals h.CodeSn
                        into hsssss
                         from hhh in hsssss.DefaultIfEmpty()
                         where a.RecStatus == "A"
@@ -276,6 +284,7 @@
                                      && (string.IsNullOrWhiteSpace(searchEntity.Phone) || a.Phone.Contains(searchEntity.Phone.Trim()))
                                       && (string.IsNullOrWhiteSpace(searchEntity.Zhiwustatus) || a.Zhiwustatus == searchEntity.Zhiwustatus.Trim())
                                        && (string.IsNullOrWhiteSpace(searchEntity.Usernumber) || a.Usernumber == searchEntity.Usernumber.Trim())
                         //select a
                         select new PltUserDTO
                         {
@@ -304,9 +313,31 @@
                             Modifier = a.Modifier,
                             Modifytime = a.Modifytime,
                             UserSn = a.UserSn,
                             Coler = (a.IsQdht!="A"?"red":((!a.Shebaodate.HasValue) && (a.IsGmsb != "D")? "Darkorange" : ""))
                             Coler = (a.IsQdht!="A"?"red":((!a.Shebaodate.HasValue) && (a.IsGmsb != "D")? "Darkorange" : "")),
                             IpMac = a.IpMac,
                             Iswdenter = a.Iswdenter,
                             Isxmenter = a.Isxmenter,
                             Usernumber = a.Usernumber,
                             advancewages = a.advancewages,
                             miniyearsalary = a.miniyearsalary,
                             senioritywages = a.senioritywages,
                             Istravelsubsidy = a.Istravelsubsidy,
                             Beizhu = a.Beizhu,
                             IstravelsubsidyName = hhh.Comments,
                             advancewagesName = a.advancewages.HasValue ? a.advancewages.Value.ToString("F2") : "",
                             miniyearsalaryName =   a.miniyearsalary.HasValue ? a.miniyearsalary.Value.ToString("F2") : "",
                             senioritywagesName =   a.senioritywages.HasValue ? a.senioritywages.Value.ToString("F2") : "",
                             jibensalary = a.jibensalary,
                             baomisalary = a.baomisalary,
                             jintiesalary = a.jintiesalary,
                             jibensalaryName = a.jibensalary.HasValue ? a.jibensalary.Value.ToString("F2") : "",
                             baomisalaryName = a.baomisalary.HasValue ? a.baomisalary.Value.ToString("F2") : "",
                             jintiesalaryName = a.jintiesalary.HasValue ? a.jintiesalary.Value.ToString("F2") : "",
                             geshuiqizheng = a.geshuiqizheng,
                             geshuiqizhengName = a.geshuiqizheng.HasValue ? a.geshuiqizheng.Value.ToString("F2") : "",
                         }
              ).OrderBy(x => x.UserSn).ToList();
              ).OrderBy(x => x.Usernumber).ToList();
 
zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs
@@ -827,6 +827,8 @@
            ViewData["curentuser"] = curentuser;
            using (TransactionScope scope = new TransactionScope())
            {
                dto.FullAttendance = 0;
                dto.AbsenteeismPayment2 = 0;
                dto.RecStatus = "A";
                if (String.IsNullOrEmpty(dto.Id))
                {
zhengcaioa/zhengcaioa/Controllers/Finance/FiPiecerateController.cs
@@ -62,10 +62,10 @@
            ViewBag.Pieceratetype = _liaotianService.GetSYScode("CooperVisit", "jtype").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
            ViewBag.Standard  = _liaotianService.GetSYScode("system", "shifou").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
            return View();
@@ -95,13 +95,13 @@
            ViewData["Pieceratetype"] = _liaotianService.GetSYScode("CooperVisit", "jtype");
            ViewData["Standard"] = _liaotianService.GetSYScode("fi_piecerate", "standard");
            //ViewData["Pieceratetype"] = _liaotianService.GetSYScode("CooperVisit", "jtype");
            //ViewData["Standard"] = _liaotianService.GetSYScode("fi_piecerate", "standard");
            ViewData["Standard"] = _liaotianService.GetSYScode("system", "shifou");
            ViewData.Model = dto;
            return View();
        }
@@ -119,6 +119,8 @@
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            data.RecStatus = "A";
            //data.Standard = "01";
            data.CreatedAtTime = DateTime.Now;
            if (String.IsNullOrEmpty(data.Id))
            {
                data.Creater = curentuser.Id;
zhengcaioa/zhengcaioa/Controllers/HR/HrJibengongziController.cs
New file
@@ -0,0 +1,157 @@
using DTO;
using IServices;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using zhengcaioa.IService;
using zhengcaioa.Models;
namespace zhengcaioa.Controllers.HR
{
    [CheckLogin]
    public class HrJibengongziController : Controller
    {
        private readonly ILogger<HrJibengongziController> _logger;
        private readonly IHrJibengongziService _hrJibengongziService;
        private readonly ILiaotianService _liaotianService;
        private readonly IHrPositionService _hrPositionService;
        public HrJibengongziController(ILogger<HrJibengongziController> logger, IHrJibengongziService hrJibengongziService, ILiaotianService liaotianService, IHrPositionService hrPositionService)
        {
            _logger = logger;
            _hrJibengongziService = hrJibengongziService;
            _liaotianService = liaotianService;
            _hrPositionService = hrPositionService;
        }
        public IActionResult Index()
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            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);
            ActionEntity actionEntity1 = new ActionEntity();
            actionEntity1.OpenType = 0;
            actionEntity1.ActionUrl = "";
            actionEntity1.ActionFun = "Add";
            actionEntity1.PageIco = "fa fa-plus";
            actionEntity1.ActionName = "新增";
            actionlist.Add(actionEntity1);
            ViewData["ActionInfo"] = actionlist;
            ViewBag.post = _hrPositionService.GetList().Select(x => new { code = x.Id, label = x.PostName }).ToList();
            return View();
        }
        public IActionResult GetList(HrJibengongziDTOSearch search)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            //JsonResult jsonResult =   new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver());
            return new JsonResult(_hrJibengongziService.SearchByPaging(search));
        }
        #region ç¼–辑
        public ActionResult Edit(string id = null)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            HrJibengongziDTO dto = new HrJibengongziDTO();
            if (!String.IsNullOrEmpty(id))
            {
                dto = _hrJibengongziService.Get(id);
            }
            dto.JibengongziName = dto.Jibengongzi.HasValue ? dto.Jibengongzi.Value.ToString("F2") : "";
            dto.BaomifeiName = dto.Baomifei.HasValue ? dto.Baomifei.Value.ToString("F2") : "";
            dto.ShebaodanweiName = dto.Shebaodanwei.HasValue ? dto.Shebaodanwei.Value.ToString("F2") : "";
            dto.ShebaogerenName = dto.Shebaogeren.HasValue ? dto.Shebaogeren.Value.ToString("F2") : "";
            dto.QuanqingjiangName = dto.Quanqingjiang.HasValue ? dto.Quanqingjiang.Value.ToString("F2") : "";
            dto.JiaotongbutieName = dto.Jiaotongbutie.HasValue ? dto.Jiaotongbutie.Value.ToString("F2") : "";
            dto.EffecttimeName = dto.Effecttime.HasValue ? dto.Effecttime.Value.ToString("yyyy-MM-dd") : DateTime.Now.ToString("yyyy-MM-dd");
            ViewBag.dianhuabutie = _liaotianService.GetSYScode("hr_jibengongzi", "dianhuabutie");
            ViewBag.post = _hrPositionService.GetList();
            ViewData.Model = dto;
            return View();
        }
        /// <summary>
        /// ä¿å­˜
        /// </summary>
        /// <param name="data">岗位实体类对象</param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult Save(HrJibengongziDTO data)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            data.RecStatus = "A";
            if (String.IsNullOrEmpty(data.Id))
            {
                data.Creater = curentuser.Id;
                data.Createtime = DateTime.Now;
            }
            data.Modifier = curentuser.Id;
            data.Modifytime = DateTime.Now;
            ResultEntity resultEntity = _hrJibengongziService.save(data);
            return new JsonResult(resultEntity);
        }
        #endregion
        /// <summary>
        /// åˆ é™¤ä¸»ä¿¡æ¯
        /// </summary>
        /// <param name="info">实体</param>
        /// <returns></returns>
        ///
        public IActionResult Nullify(string Id = "")
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            return new JsonResult(_hrJibengongziService.ModifyStatus(Id, curentuser.Id));
        }
    }
}
zhengcaioa/zhengcaioa/Controllers/HR/HrJixiaotichengController.cs
New file
@@ -0,0 +1,159 @@
using DTO;
using IServices;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using zhengcaioa.IService;
using zhengcaioa.Models;
namespace zhengcaioa.Controllers.HR
{
    [CheckLogin]
    public class HrJixiaotichengController : Controller
    {
        private readonly ILogger<HrJixiaotichengController> _logger;
        private readonly IHrJixiaotichengService _hrJixiaotichengService;
        private readonly ILiaotianService _liaotianService;
        private readonly IHrPositionService _hrPositionService;
        private readonly IFiPiecerateService _fiPiecerateService;
        public HrJixiaotichengController(ILogger<HrJixiaotichengController> logger, IHrJixiaotichengService hrJixiaotichengService, ILiaotianService liaotianService, IHrPositionService hrPositionService
            , IFiPiecerateService fiPiecerateService)
        {
            _logger = logger;
            _hrJixiaotichengService = hrJixiaotichengService;
            _liaotianService = liaotianService;
            _hrPositionService = hrPositionService;
            _fiPiecerateService = fiPiecerateService;
        }
        public IActionResult Index()
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            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);
            ActionEntity actionEntity1 = new ActionEntity();
            actionEntity1.OpenType = 0;
            actionEntity1.ActionUrl = "";
            actionEntity1.ActionFun = "Add";
            actionEntity1.PageIco = "fa fa-plus";
            actionEntity1.ActionName = "新增";
            actionlist.Add(actionEntity1);
            ViewData["ActionInfo"] = actionlist;
            ViewBag.post = _hrPositionService.GetList().Select(x => new { code = x.Id, label = x.PostName }).ToList();
            ViewBag.Project = _fiPiecerateService.GetList().Select(x => new { code = x.Id, label = x.Project }).ToList();
            return View();
        }
        public IActionResult GetList(HrJixiaotichengDTOSearch search)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            //JsonResult jsonResult =   new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver());
            return new JsonResult(_hrJixiaotichengService.SearchByPaging(search));
        }
        #region ç¼–辑
        public ActionResult Edit(string id = null)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            HrJixiaotichengDTO dto = new HrJixiaotichengDTO();
            if (!String.IsNullOrEmpty(id))
            {
                dto = _hrJixiaotichengService.Get(id);
            }
            dto.RenwuName = dto.Renwu.HasValue ? dto.Renwu.Value.ToString("F2") : "";
            dto.TichengName = dto.Ticheng.HasValue ? dto.Ticheng.Value.ToString("F2") : "";
            dto.EffecttimeName = dto.Effecttime.HasValue ? dto.Effecttime.Value.ToString("yyyy-MM-dd") : DateTime.Now.ToString("yyyy-MM-dd");
            ViewBag.Project = _fiPiecerateService.GetList();
            ViewBag.post = _hrPositionService.GetList();
            ViewBag.Tichengstandard = _liaotianService.GetSYScode("fi_piecerate", "standard");
            ViewBag.Renwustandard = _liaotianService.GetSYScode("hr_jixiaoticheng", "renwustandard");
            ViewData.Model = dto;
            return View();
        }
        /// <summary>
        /// ä¿å­˜
        /// </summary>
        /// <param name="data">岗位实体类对象</param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult Save(HrJixiaotichengDTO data)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            data.RecStatus = "A";
            if (String.IsNullOrEmpty(data.Id))
            {
                data.Creater = curentuser.Id;
                data.Createtime = DateTime.Now;
            }
            data.Modifier = curentuser.Id;
            data.Modifytime = DateTime.Now;
            ResultEntity resultEntity = _hrJixiaotichengService.save(data);
            return new JsonResult(resultEntity);
        }
        #endregion
        /// <summary>
        /// åˆ é™¤ä¸»ä¿¡æ¯
        /// </summary>
        /// <param name="info">实体</param>
        /// <returns></returns>
        ///
        public IActionResult Nullify(string Id = "")
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            return new JsonResult(_hrJixiaotichengService.ModifyStatus(Id, curentuser.Id));
        }
    }
}
zhengcaioa/zhengcaioa/Controllers/UserController.cs
@@ -423,7 +423,102 @@
            ViewData.Model = dto;
            return View();
        }
        [CheckLogin]
        public IActionResult JiBenGongZi()
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            List<ActionEntity> actionlist = new List<ActionEntity>();
            ActionEntity actionEntity = new ActionEntity();
            actionEntity.OpenType = 0;
            actionEntity.ActionUrl = "";
            actionEntity.ActionFun = "Search";
            actionEntity.PageIco = "fa fa-search";
            actionEntity.ActionName = "查询";
            actionlist.Add(actionEntity);
            ViewData["ActionInfo"] = actionlist;
            
            ViewBag.dept = _hrDeptService.GetList().Select(x => new { code = x.Id, label = x.DeptName }).ToList();
            return View();
        }
        #region ä¿®æ”¹å¤‡æ³¨
        [CheckLogin]
        public ActionResult EditBeizhu(string id = null)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            ViewBag.shifou = _liaotianService.GetSYScode("system", "shifou");//.Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
            PltUserDTO PltUserDTO = new PltUserDTO();
            PltUserDTO.Zhiwustatus = "A";
            if (!String.IsNullOrEmpty(id))
            {
                PltUserDTO = _userService.GetPltUserEntity(id);
                PltUserDTO.DeptName = _hrDeptService.Get(PltUserDTO.DeptId).DeptName;
                PltUserDTO.ShiyongDateName = PltUserDTO.ShiyongDate.HasValue?PltUserDTO.ShiyongDate.Value.ToString("yyyy-MM-dd") : "";
                PltUserDTO.ShiyongDateEndName = PltUserDTO.ShiyongDateEnd.HasValue ? PltUserDTO.ShiyongDateEnd.Value.ToString("yyyy-MM-dd") : "";
            }
            ViewData.Model = PltUserDTO;
            return View();
        }
        /// <summary>
        /// ä¿å­˜
        /// </summary>
        /// <param name="data">岗位实体类对象</param>
        /// <returns></returns>
        [HttpPost]
        [CheckLogin]
        public string SaveBeizhu(PltUserDTO userdata)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            ResultEntity resultEntity = new ResultEntity();
            resultEntity.Result = false;
            PltUserDTO dTO = _userService.GetPltUserEntity(userdata.Id);
            dTO.ShiyongDate = userdata.ShiyongDate;
            dTO.ShiyongDateEnd = userdata.ShiyongDateEnd;
            dTO.ShiyongPrice = userdata.ShiyongPrice;
            dTO.geshuiqizheng = userdata.geshuiqizheng;
            dTO.advancewages = userdata.advancewages;
            dTO.miniyearsalary = userdata.miniyearsalary;
            dTO.senioritywages = userdata.senioritywages;
            dTO.Istravelsubsidy = userdata.Istravelsubsidy;
            dTO.BasicPrice = userdata.BasicPrice;
            dTO.Modifier = curentuser.Id;
            dTO.Modifytime = DateTime.Now;
            resultEntity = _userService.savePltUser(dTO);
            return JsonConvert.SerializeObject(resultEntity);
        }
        #endregion
    }
}
zhengcaioa/zhengcaioa/Controllers/admin/AdmPieceCheckController.cs
@@ -63,7 +63,7 @@
            ViewBag.PayType = _liaotianService.GetSYScode("CooperVisit", "jtype").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
            //ViewBag.PayType = _liaotianService.GetSYScode("CooperVisit", "jtype").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
            ViewBag.DeptId = _hrDeptService.GetList().Select(x => new { code = x.Id, label = x.DeptName }).ToList();
@@ -101,7 +101,7 @@
            ViewData["UserId"] = _userService.GetList();
            ViewData["DeptId"] = _hrDeptService.GetList();
            ViewData["WorkPro"] = _fiPiecerateService.GetList();
            ViewData["WorkPro"] = _fiPiecerateService.GetList().Where(x=>x.Standard == "A").ToList();
            ViewData.Model = dto;
            return View();
zhengcaioa/zhengcaioa/Startup.cs
@@ -25,6 +25,7 @@
using zhengcaioa.Model;
using zhengcaioa.Models;
using zhengcaioa.Service;
using zhengcaioa.Timer;
namespace zhengcaioa
{
@@ -46,11 +47,12 @@
                options.AddPolicy("any", builder =>
                {
                    builder.WithMethods("GET", "POST", "HEAD", "PUT", "DELETE", "OPTIONS")
                       .AllowAnyHeader()
                    //.AllowCredentials()//指定处理cookie
                .AllowAnyOrigin(); //允许任何来源的主机访问
                });
            });
            //services.AddCors(option => option.AddPolicy("cors", policy => policy.AllowAnyHeader().AllowAnyMethod().AllowCredentials().AllowAnyOrigin()));
            services.AddSession(options =>
            {
@@ -116,6 +118,15 @@
            services.AddScoped(typeof(IAdmAttendanceDtlService), typeof(AdmAttendanceDtlService));
            services.AddScoped(typeof(IAdmAttendanceService), typeof(AdmAttendanceService));
            services.AddScoped(typeof(IHrJibengongziService), typeof(HrJibengongziService));
            services.AddScoped(typeof(IHrJixiaotichengService), typeof(HrJixiaotichengService));
            //定时执行
            services.AddHostedService<TimedBackgroundService>();
            services.AddAutoMapper(typeof(AutoMapperConfigs));
            services.AddUEditorService("ueditor.json", true, "wwwroot");
zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
New file
@@ -0,0 +1,42 @@
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
namespace zhengcaioa.Timer
{
    public class TimedBackgroundService : BackgroundService
    {
        private readonly ILogger _logger;
        public TimedBackgroundService(ILogger<TimedBackgroundService> logger)
        {
            _logger = logger;
        }
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            _logger.LogInformation("MyServiceA is starting.");
            //stoppingToken.Register(() => File.Create($"E:\\dotnetCore\\Practice\\Practice\\{DateTime.Now.Millisecond}.txt"));
            while (!stoppingToken.IsCancellationRequested)
            {
                _logger.LogInformation("MyServiceA å¼€å§‹æ‰§è¡Œ");
                await Task.Delay(TimeSpan.FromMinutes(1), stoppingToken);
                _logger.LogInformation("继续执行");
            }
            _logger.LogInformation("MyServiceA background task is stopping.");
        }
        public override void Dispose()
        {
            base.Dispose();
        }
    }
}
zhengcaioa/zhengcaioa/Views/AdmPieceCheck/Index.cshtml
@@ -4,7 +4,7 @@
}
@section headerStyle{
    <script type="text/javascript">
        var PayType = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.PayType))';
        @*var PayType = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.PayType))';*@
        var DeptId = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.DeptId))';
        loseherght = 30;
@@ -31,7 +31,7 @@
        dataUrl = "/AdmPieceCheck/GetList";
        searchCol = [
            { label: '工作时间', name: 'WorkTime', labtype: 'datearea', hidden: false },
            { label: '类别', name: 'PayType', labtype: 'combox', hidden: false, data: JSON.parse(PayType), cwidth: '5%', cccwidth: '8%' },
            //{ label: '类别', name: 'PayType', labtype: 'combox', hidden: false, data: JSON.parse(PayType), cwidth: '5%', cccwidth: '8%' },
            { label: '部门', name: 'DeptId', labtype: 'combox', hidden: false, data: JSON.parse(DeptId), cwidth: '5%', cccwidth: '8%' },
            { label: '姓名', name: 'UserName', labtype: 'txt', hidden: false },
           
zhengcaioa/zhengcaioa/Views/FiPiecerate/Edit.cshtml
@@ -3,14 +3,14 @@
@using zhengcaioa.Models;
@{
    List<SysCodeDtl> Pieceratetype = ViewData["Pieceratetype"] as List<SysCodeDtl>; //行业分类
//List<SysCodeDtl> Pieceratetype = ViewData["Pieceratetype"] as List<SysCodeDtl>; //行业分类
    List<SysCodeDtl> Standard = ViewData["Standard"] as List<SysCodeDtl>; //提成标准
List<SysCodeDtl> Standard = ViewData["Standard"] as List<SysCodeDtl>; //提成标准
}
@{
@@ -101,12 +101,12 @@
                        </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">启用时间<i class="red">*</i></label>
                                    <div class="col-sm-2 col-md-2">
                                        <input id="CreatedAtTime" class="form-control" label="启用时间" name="CreatedAtTime" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value="@Model.CreatedAtTime.ToString("yyyy/MM/dd")" readonly="readonly">
                                        <input type="hidden" id="Id" name="Id" value="@Model.Id" />
                                    </div>
@@ -142,24 +142,49 @@
                                  
                                </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" label="服务项目" name="Project" id="Project" labtype="txt" addvisible="true" editvisible="true" maxlength="500" reg="" ismust="true" type="text" value="@Model.Project">
                                        <input type="hidden" id="Id" name="Id" value="@Model.Id" />
                                    </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">
                                        <select id="Standard" class="form-control" name="Standard" data-placeholder="选择 åºåˆ— ...">
                                            <option value="" hassubinfo="true">请选择</option>
                                            @foreach (var item in Standard)
                                            {
                                            @if (!item.CodeSn.Equals(Model.Standard))
                                                {
                                            <option value="@item.CodeSn" hassubinfo="true">
                                                @item.Comments
                                            </option>
                                                }
                                                else
                                                {
                                            <option value="@item.CodeSn" hassubinfo="true" selected="selected">
                                                @item.Comments
                                            </option>
                                                }
                                            }
                                            }
                                        </select>
                                    </div>
                                    @*<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" label="项目价格" name="Amount" id="Amount" labtype="txt" addvisible="true" editvisible="true"  reg="" ismust="true" type="number" value="@Model.Amount" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
        </div>*@
                                    <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" label="项目价格" name="Amount" id="Amount" labtype="txt" addvisible="true" editvisible="true"  reg="" ismust="true" type="number" value="@Model.Amount" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </div>
                                </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">提成标准</label>
@@ -191,7 +216,7 @@
                                    <div class="col-sm-2 col-md-2">
                                        <input class="form-control" label="提成额度" name="Percent" id="Percent" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="number" value="@Model.Percent" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </div>
                                </div>
                                </div>*@
@@ -241,7 +266,7 @@
            "hideMethod": "fadeOut"
        };
        laydate({ elem: "#CreatedAtTime", format: 'YYYY/MM/DD', istime: false, event: "focus" });
        //laydate({ elem: "#CreatedAtTime", format: 'YYYY/MM/DD', istime: false, event: "focus" });
          var id = '@Model.Id';
@@ -287,14 +312,14 @@
        // ä¿å­˜å²—位信息
        var savePosition = function () {
            if ($("#CreatedAtTime").val() == '') {
                toastr.warning("启用时间不能为空");
                return;
            }
            if ($("#Pieceratetype").val() == '') {
                toastr.warning("类别不能为空");
                return;
            }
            //if ($("#CreatedAtTime").val() == '') {
            //    toastr.warning("启用时间不能为空");
            //    return;
            //}
            //if ($("#Pieceratetype").val() == '') {
            //    toastr.warning("类别不能为空");
            //    return;
            //}
@@ -302,18 +327,19 @@
                toastr.warning("服务项目不能为空");
                return;
            }
            if ($.trim($("#Amount").val()) == '') {
                toastr.warning("项目价格不能为空");
             if ($.trim($("#Standard").val()) == '') {
                 toastr.warning("是否计件登记不能为空");
                return;
            }
            if ($.trim($("#Standard").val()) == '') {
                toastr.warning("提成标准不能为空");
                return;
            }
            if ($.trim($("#Percent").val()) == '') {
                toastr.warning("提成额度不能为空");
                return;
            }
            //if ($.trim($("#Amount").val()) == '') {
            //    toastr.warning("项目价格不能为空");
            //    return;
            //}
            //if ($.trim($("#Percent").val()) == '') {
            //    toastr.warning("提成额度不能为空");
            //    return;
            //}
           
            //var data = { id: $("#Id").val(), StartTime:$("#StartTime").val(), Sheng: $("#Sheng").val(), job_level: $("#Job_level").val().toString(), ExistsAttachment: fileId != "" }
            $.ajax({
zhengcaioa/zhengcaioa/Views/FiPiecerate/Index.cshtml
@@ -4,16 +4,16 @@
}
@section headerStyle{
    <script type="text/javascript">
        var Pieceratetype = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.Pieceratetype))';
        var Standard = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.Standard))';
        //loseherght = 60;
        dataCol = [
            { label: 'id', name: 'Id', labtype: 'txt', hidden: true },
            { label: '类别', name: 'PieceratetypeName', labtype: 'txt', hidden: false, width: 100 },
            { label: '类别', name: 'PieceratetypeName', labtype: 'txt', hidden: true, width: 100 },
            {
                label: '服务项目', name: 'Project', labtype: 'txt', hidden: false, width: 100,
                formatter: function (cellvalue, options, rowObject) {
@@ -21,13 +21,13 @@
                }
            },
            { label: '提成标准', name: 'StandardName', labtype: 'txt', hidden: false, width: 100 },
            { label: '提成额度', name: 'Percent', labtype: 'txt', hidden: false, width: 100 },
            {
                label: '启用时间', name: 'CreatedAtTimeName', labtype: 'txt', hidden: false, width: 100  },
            { label: '是否计件登记', name: 'StandardName', labtype: 'txt', hidden: false, width: 100 },
            { label: '提成额度', name: 'Percent', labtype: 'txt', hidden: true, width: 100 },
            {
                label: '启用时间', name: 'CreatedAtTimeName', labtype: 'txt', hidden: true, width: 100  },
        ];
@@ -38,10 +38,12 @@
            { label: '启用时间', name: 'CreatedAtTime', labtype: 'datearea', hidden: false },
            { label: '类别', name: 'Pieceratetype', labtype: 'combox', hidden: false, data: JSON.parse(Pieceratetype), cwidth: '5%', cccwidth: '8%' },
            //{ label: '启用时间', name: 'CreatedAtTime', labtype: 'datearea', hidden: false },
            //{ label: '类别', name: 'Pieceratetype', labtype: 'combox', hidden: false, data: JSON.parse(Pieceratetype), cwidth: '5%', cccwidth: '8%' },
            { label: '服务项目', name: 'Project', labtype: 'txt', hidden: false },
            { label: '是否计件登记', name: 'Standard', labtype: 'combox', hidden: false, data: JSON.parse(Standard), cwidth: '5%', cccwidth: '8%' },
        ];
        var _pageAdd = function () {
            OpenWindow("新增计件标准", "98%", "90%", "/FiPiecerate/Edit/");
zhengcaioa/zhengcaioa/Views/HrJibengongzi/Edit.cshtml
New file
@@ -0,0 +1,452 @@
@model DTO.HrJibengongziDTO
@using DTO;
@using zhengcaioa.Models;
@{
    List<SysCodeDtl> dianhuabutie = ViewData["dianhuabutie"] as List<SysCodeDtl>; //物品状态
    List<HrPositionDTO> PostId = ViewData["post"] as List<HrPositionDTO>; //物品类型
}
@{
    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;">
                                    <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">
                                        <select id="PostId" class="form-control" name="PostId" data-placeholder="选择 åºåˆ— ...">
                                            <option value="" hassubinfo="true">请选择</option>
                                            @foreach (var item in PostId)
                                            {
                                                @if (!item.Id.Equals(Model.PostId))
                                                {
                                                    <option value="@item.Id" hassubinfo="true">
                                                        @item.PostName
                                                    </option>
                                                }
                                                else
                                                {
                                                    <option value="@item.Id" hassubinfo="true" selected="selected">
                                                        @item.PostName
                                                    </option>
                                                }
                                            }
                                        </select>
                                        <input type="hidden" id="Id" name="Id" value="@Model.Id" />
                                    </div>
                                </div>
                                <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="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})?/)">
                                    </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})?/)">
                                    </div>
                                </div>
                                <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})?/)">
                                    </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})?/)">
                                    </div>
                                </div>
                                <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">
                                        <select id="Dianhuabutie" class="form-control" name="Dianhuabutie" data-placeholder="选择 åºåˆ— ...">
                                            <option value="" hassubinfo="true">请选择</option>
                                            @foreach (var item in dianhuabutie)
                                            {
                                                @if (!item.CodeSn.Equals(Model.Dianhuabutie))
                                                {
                                                    <option value="@item.CodeSn" hassubinfo="true">
                                                        @item.Comments
                                                    </option>
                                                }
                                                else
                                                {
                                                    <option value="@item.CodeSn" hassubinfo="true" selected="selected">
                                                        @item.Comments
                                                    </option>
                                                }
                                            }
                                        </select>
                                    </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="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})?/)">
                                    </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})?/)">
                                    </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 id="Effecttime" class="form-control" label="生效日期" name="Effecttime" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value="@Model.EffecttimeName" readonly="readonly">
                                    </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="delPosition();" 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" 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" src="/js/ueditor/ueditor.config.js?v=10"></script>
    <!-- ç¼–辑器源码文件 -->
    <script type="text/javascript" src="/js/ueditor/ueditor.all.min.js?v=2"></script>
    <!-- å®žä¾‹åŒ–编辑器 -->
    <script type="text/javascript">
        var ue4 = UE.getEditor('DocContent', {
            initialFrameHeight: 500
        });
        @*ue4.ready(function () {
            //设置编辑器的内容
            ue4.setContent('@Html.Raw(Model.DocContent)');
            ////获取html内容,返回: <p>hello</p>
            //var html = ue.getContent();
            ////获取纯文本内容,返回: hello
            //var txt = ue.getContentTxt();
        });*@
    </script>
    <script type="text/javascript">
        var hh = document.body.clientHeight - $('.ibox-title').height() - $("#top").height() * 2 - 95;
        $("#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"
        };
        $("#PostId").chosen();
        laydate({ elem: "#Effecttime", format: 'YYYY-MM-DD', istime: true, event: "focus" });
         var id = '@Model.Id';
        var delPosition = function () {
            if (id == null || id == '') {
                toastr.warning("请先保存");
                return;
            }
            $.ajax({
                type: "GET",
                url: "/HrJibengongzi/Nullify?id=" + id,
                dataType: "json",
                global: false,
                data: '',
                success: function (data) {
                    if (data.Result) {
                        //  parent._afterSave(true);
                        parent.layer.msg('删除成功', { icon: 6 });
                        _pageAutoClose();//自动关闭页面方法
                    }
                    else {
                        // toastr.error("");
                        parent.layer.msg('删除失败', { icon: 5 });
                    }
                },
                error: function () {
                    if ($.isNumber(imgLoad)) {
                        parent.layer.close(imgLoad);
                    }
                    //toastr.error("保存失败");
                    parent.layer.msg('保存失败', { icon: 5 });
                }
            });
        }
        // ä¿å­˜å²—位信息
        var savePosition = function () {
            if ($("#PostId").val() == '') {
                toastr.warning("岗位不能为空");
                return;
            }
            if ($("#Jibengongzi").val() == '') {
                toastr.warning("基本工资不能为空");
                return;
            }
            if ($("#Baomifei").val() == '') {
                toastr.warning("保密费不能为空");
                return;
            }
            if ($("#Shebaodanwei").val() == '') {
                toastr.warning("社保公司不能为空");
                return;
            }
            if ($("#Shebaogeren").val() == '') {
                toastr.warning("社保个人不能为空");
                return;
            }
            if ($.trim($("#Dianhuabutie").val() )== '') {
                toastr.warning("电话补贴不能为空");
                return;
            }
            if ($.trim($("#Quanqingjiang").val()) == '') {
                toastr.warning("全勤奖不能为空");
                return;
            }
            if ($.trim($("#Jiaotongbutie").val()) == '') {
                toastr.warning("交通补贴不能为空");
                return;
            }
            if ($.trim($("#Effecttime").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/Save",
                dataType: "json",
                global: false,
                data: $('form').serializeArray(),
                success: function (data) {
                        if (data.Result) {
                            //  parent._afterSave(true);
                            parent.layer.msg('成功保存', { icon: 6 });
                            //window.location = "/Project/add?id=" + data.ReturnID;
                            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
New file
@@ -0,0 +1,87 @@
@{
    ViewBag.Title = "HrJibengongzi";
    Layout = "~/Views/Shared/_Layout_Search.cshtml";
}
@section headerStyle{
    <script type="text/javascript">
        var post = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.post))';
        dataCol = [
            { label: 'id', name: 'Id', labtype: 'txt', hidden: true },
            {
                label: '职务', name: 'PostName', labtype: 'txt', hidden: false, width: 100,
                formatter: function (cellvalue, options, rowObject) {
                    return "<a onclick=\"OpenWindow('" + cellvalue.replace(/'/g, '') + "','98%','100%', '/HrJibengongzi/Edit?id=" + rowObject.Id + "')\"  >" + cellvalue + "</a>";
                }
            },
            {
                label: '基本工资', name: 'JibengongziName', labtype: 'txt', hidden: false, width: 100
            },
            {
                label: '保密费', name: 'BaomifeiName', 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: 'DianhuabutieName', labtype: 'txt', hidden: false, width: 100 },
            { label: '全勤奖', name: 'QuanqingjiangName', labtype: 'txt', hidden: false, width: 100 },
            { label: '交通补贴', name: 'JiaotongbutieName', labtype: 'txt', hidden: false, width: 100 },
            { label: '生效日期', name: 'EffecttimeName', labtype: 'txt', hidden: false, width: 100 },
        ];
        dataUrl = "/HrJibengongzi/GetList";
        searchCol = [
            { label: '职务', name: 'PostId', labtype: 'combox', hidden: false, data: JSON.parse(post), cwidth: '5%', cccwidth: '8%' },
        ];
        var _pageAdd = function () {
            OpenWindow("新增基本工资", "98%", "100%", "/HrJibengongzi/Edit/");
        }
        var _afterSave = function (result) {
            if (result) {
                toastr.success("保存成功");
            } else {
                toastr.error("保存失败");
            }
        }
        var _afterDel = function (result) {
            if (result) {
                toastr.success("删除成功");
            } else {
                /**/
                toastr.error("删除成功");
        /**/
    }
}
    </script>
}
@section footerScripts{
    <script type="text/javascript">
    </script>
}
zhengcaioa/zhengcaioa/Views/HrJixiaoticheng/Edit.cshtml
New file
@@ -0,0 +1,467 @@
@model DTO.HrJixiaotichengDTO
@using DTO;
@using zhengcaioa.Models;
@{
    List<SysCodeDtl> Tichengstandard = ViewData["Tichengstandard"] as List<SysCodeDtl>; //物品状态
    List<SysCodeDtl> Renwustandard = ViewData["Renwustandard"] as List<SysCodeDtl>; //物品状态
    List<HrPositionDTO> PostId = ViewData["post"] as List<HrPositionDTO>; //职务
    List<FiPiecerateDTO> Project = ViewData["Project"] as List<FiPiecerateDTO>; //物品类型
}
@{
    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;">
                                    <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">
                                        <select id="PostId" class="form-control" name="PostId" data-placeholder="选择 åºåˆ— ...">
                                            <option value="" hassubinfo="true">请选择</option>
                                            @foreach (var item in PostId)
                                            {
                                                @if (!item.Id.Equals(Model.PostId))
                                                {
                                                    <option value="@item.Id" hassubinfo="true">
                                                        @item.PostName
                                                    </option>
                                                }
                                                else
                                                {
                                                    <option value="@item.Id" hassubinfo="true" selected="selected">
                                                        @item.PostName
                                                    </option>
                                                }
                                            }
                                        </select>
                                        <input type="hidden" id="Id" name="Id" value="@Model.Id" />
                                    </div>
                                    <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">
                                        <select id="PiecerateId" class="form-control" name="PiecerateId" data-placeholder="选择 åºåˆ— ...">
                                            <option value="" hassubinfo="true">请选择</option>
                                            @foreach (var item in Project)
                                            {
                                                @if (!item.Id.Equals(Model.PiecerateId))
                                                {
                                                    <option value="@item.Id" hassubinfo="true">
                                                        @item.Project
                                                    </option>
                                                }
                                                else
                                                {
                                                    <option value="@item.Id" hassubinfo="true" selected="selected">
                                                        @item.Project
                                                    </option>
                                                }
                                            }
                                        </select>
                                    </div>
                                </div>
                                <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">
                                        <select id="Tichengstandard" class="form-control" name="Tichengstandard" data-placeholder="选择 åºåˆ— ...">
                                            <option value="" hassubinfo="true">请选择</option>
                                            @foreach (var item in Tichengstandard)
                                            {
                                                @if (!item.CodeSn.Equals(Model.Tichengstandard))
                                                {
                                                    <option value="@item.CodeSn" hassubinfo="true">
                                                        @item.Comments
                                                    </option>
                                                }
                                                else
                                                {
                                                    <option value="@item.CodeSn" hassubinfo="true" selected="selected">
                                                        @item.Comments
                                                    </option>
                                                }
                                            }
                                        </select>
                                    </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="Ticheng" id="Ticheng" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="number" value="@Model.TichengName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </div>
                                </div>
                                <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">
                                        <select id="Renwustandard" class="form-control" name="Renwustandard" data-placeholder="选择 åºåˆ— ...">
                                            <option value="" hassubinfo="true">请选择</option>
                                            @foreach (var item in Renwustandard)
                                            {
                                                @if (!item.CodeSn.Equals(Model.Renwustandard))
                                                {
                                                    <option value="@item.CodeSn" hassubinfo="true">
                                                        @item.Comments
                                                    </option>
                                                }
                                                else
                                                {
                                                    <option value="@item.CodeSn" hassubinfo="true" selected="selected">
                                                        @item.Comments
                                                    </option>
                                                }
                                            }
                                        </select>
                                    </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="Renwu" id="Renwu" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="number" value="@Model.RenwuName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </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 id="Effecttime" class="form-control" label="生效日期" name="Effecttime" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value="@Model.EffecttimeName" readonly="readonly">
                                    </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="delPosition();" 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" 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" src="/js/ueditor/ueditor.config.js?v=10"></script>
    <!-- ç¼–辑器源码文件 -->
    <script type="text/javascript" src="/js/ueditor/ueditor.all.min.js?v=2"></script>
    <!-- å®žä¾‹åŒ–编辑器 -->
    <script type="text/javascript">
        var ue4 = UE.getEditor('DocContent', {
            initialFrameHeight: 500
        });
        @*ue4.ready(function () {
            //设置编辑器的内容
            ue4.setContent('@Html.Raw(Model.DocContent)');
            ////获取html内容,返回: <p>hello</p>
            //var html = ue.getContent();
            ////获取纯文本内容,返回: hello
            //var txt = ue.getContentTxt();
        });*@
    </script>
    <script type="text/javascript">
        var hh = document.body.clientHeight - $('.ibox-title').height() - $("#top").height() * 2 - 95;
        $("#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"
        };
        $("#PostId").chosen();
        $("#PiecerateId").chosen();
        laydate({ elem: "#Effecttime", format: 'YYYY-MM-DD', istime: true, event: "focus" });
         var id = '@Model.Id';
        var delPosition = function () {
            if (id == null || id == '') {
                toastr.warning("请先保存");
                return;
            }
            $.ajax({
                type: "GET",
                url: "/HrJixiaoticheng/Nullify?id=" + id,
                dataType: "json",
                global: false,
                data: '',
                success: function (data) {
                    if (data.Result) {
                        //  parent._afterSave(true);
                        parent.layer.msg('删除成功', { icon: 6 });
                        _pageAutoClose();//自动关闭页面方法
                    }
                    else {
                        // toastr.error("");
                        parent.layer.msg('删除失败', { icon: 5 });
                    }
                },
                error: function () {
                    if ($.isNumber(imgLoad)) {
                        parent.layer.close(imgLoad);
                    }
                    //toastr.error("保存失败");
                    parent.layer.msg('保存失败', { icon: 5 });
                }
            });
        }
        // ä¿å­˜å²—位信息
        var savePosition = function () {
            if ($("#PostId").val() == '') {
                toastr.warning("岗位不能为空");
                return;
            }
            if ($("#PiecerateId").val() == '') {
                toastr.warning("计件项目不能为空");
                return;
            }
            if ($("#Tichengstandard").val() == '') {
                toastr.warning("提成标准不能为空");
                return;
            }
            if ($("#Ticheng").val() == '') {
                toastr.warning("提成不能为空");
                return;
            }
            if ($("#Renwustandard").val() == '') {
                toastr.warning("任务标准不能为空");
                return;
            }
            if ($.trim($("#Renwu").val() )== '') {
                toastr.warning("任务基数不能为空");
                return;
            }
            if ($.trim($("#Effecttime").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: "/HrJixiaoticheng/Save",
                dataType: "json",
                global: false,
                data: $('form').serializeArray(),
                success: function (data) {
                        if (data.Result) {
                            //  parent._afterSave(true);
                            parent.layer.msg('成功保存', { icon: 6 });
                            //window.location = "/Project/add?id=" + data.ReturnID;
                            try {
                                _pageAutoClose();//自动关闭页面方法
                            }
                            catch (err) {
                                parent._CloseTab1("/HrJixiaoticheng/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/HrJixiaoticheng/Index.cshtml
New file
@@ -0,0 +1,87 @@
@{
    ViewBag.Title = "HrJixiaoticheng";
    Layout = "~/Views/Shared/_Layout_Search.cshtml";
}
@section headerStyle{
    <script type="text/javascript">
        var post = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.post))';
        var Project = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.Project))';
        dataCol = [
            { label: 'id', name: 'Id', labtype: 'txt', hidden: true },
            {
                label: '职务', name: 'PostName', labtype: 'txt', hidden: false, width: 100,
                formatter: function (cellvalue, options, rowObject) {
                    return "<a onclick=\"OpenWindow('" + cellvalue.replace(/'/g, '') + "','98%','100%', '/HrJixiaoticheng/Edit?id=" + rowObject.Id + "')\"  >" + cellvalue + "</a>";
                }
            },
            {
                label: '计件项目', name: 'PiecerateName', labtype: 'txt', hidden: false, width: 100
            },
            {
                label: '提成标准', name: 'TichengstandardName', labtype: 'txt', hidden: false, width: 100
            },
            {
                label: '提成', name: 'TichengName', labtype: 'txt', hidden: false, width: 100
            },
            { label: '任务标准', name: 'RenwustandardName', labtype: 'txt', hidden: false, width: 100 },
            { label: '任务基数', name: 'RenwuName', labtype: 'txt', hidden: false, width: 100 },
            { label: '生效日期', name: 'EffecttimeName', labtype: 'txt', hidden: false, width: 100 },
        ];
        dataUrl = "/HrJixiaoticheng/GetList";
        searchCol = [
            { label: '职务', name: 'PostId', labtype: 'combox', hidden: false, data: JSON.parse(post), cwidth: '5%', cccwidth: '8%' },
            { label: '计件项目', name: 'PiecerateId', labtype: 'combox', hidden: false, data: JSON.parse(Project), cwidth: '5%', cccwidth: '8%' },
        ];
        var _pageAdd = function () {
            OpenWindow("新增绩效提成标准", "98%", "100%", "/HrJixiaoticheng/Edit/");
        }
        var _afterSave = function (result) {
            if (result) {
                toastr.success("保存成功");
            } else {
                toastr.error("保存失败");
            }
        }
        var _afterDel = function (result) {
            if (result) {
                toastr.success("删除成功");
            } else {
                /**/
                toastr.error("删除成功");
        /**/
    }
}
    </script>
}
@section footerScripts{
    <script type="text/javascript">
    </script>
}
zhengcaioa/zhengcaioa/Views/Shared/_Layout_Search.cshtml
@@ -36,7 +36,7 @@
    </script>
    <script src="~/js/datehelper.js"></script>
    <!-- jqgrid-->
    <link href="~/css/plugins/jqgrid/ui.jqgrid.css" rel="stylesheet">
    <link href="~/css/plugins/jqgrid/ui.jqgrid.css?v=111111111" rel="stylesheet">
    <link href="~/css/animate.min.css" rel="stylesheet">
    <link href="~/css/style.min.css" rel="stylesheet">
    <link href="~/css/plugins/toastr/toastr.min.css" rel="stylesheet" />
@@ -57,7 +57,7 @@
    <script src="~/js/plugins/search/searchtoolbar.js?v=17"></script>
    <script src="~/js/plugins/chosen/chosen.jquery.js"></script>
    <script src="~/js/plugins/iCheck/icheck.min.js"></script>
    <script src="~/js/plugins/search/search.js?v=1"></script>
    <script src="~/js/plugins/search/search.js?v=111111111"></script>
    <script src="~/js/plugins/datapicker/bootstrap-datepicker.js"></script>
    <script type="text/javascript" src="~/js/plugins/treeview/bootstrap-treeview.js"></script>
    <script src="~/js/TUJS.js"></script>
@@ -69,14 +69,14 @@
    <style type="text/css">
        label {
            font-weight:normal;
            font-weight: normal;
        }
        th {
            font-weight: normal;
        }
    </style>
        @RenderSection("headerStyle", false)
    @RenderSection("headerStyle", false)
</head>
<body class="gray-bg" style="padding-top:0px; padding-left:0px; padding-right:0px; ">
zhengcaioa/zhengcaioa/Views/Signin/AttendanceRule.cshtml
@@ -134,12 +134,12 @@
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                @*<div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <div class="col-sm-6 col-md-6">
                                        <span>全勤奖</span>
                                        <input type="number" value="@Model.FullAttendance" name="FullAttendance" id="FullAttendance" style="width:150px" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">元
                                    </div>
                                </div>
                                </div>*@
                                <h5 style="color:cornflowerblue;">迟到扣款:</h5>
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
@@ -156,8 +156,8 @@
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <div class="col-sm-6 col-md-6">
                                        <span>迟到</span><input style="width:150px" type="number" min="0" step="1" max="999999" value="@Model.Absenteeism" name="Absenteeism" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">分钟记为旷工
                                        <span>半天</span><input style="width:150px" type="number" min="0.01" step="0.01" max="999999" value="@Model.AbsenteeismPayment1" name="AbsenteeismPayment1" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">元
                                        <span>1天</span><input style="width:150px" type="number" min="0.01" step="0.01" max="999999" value="@Model.AbsenteeismPayment2" name="AbsenteeismPayment2" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">元
                                                       <span>旷工扣款</span><input style="width:150px" type="number" min="0.01" step="0.01" max="999999" value="@Model.AbsenteeismPayment1" name="AbsenteeismPayment1" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">倍工资
                                        @*<span>1天</span><input style="width:150px" type="number" min="0.01" step="0.01" max="999999" value="@Model.AbsenteeismPayment2" name="AbsenteeismPayment2" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">元*@
                                    </div>
                                </div>
zhengcaioa/zhengcaioa/Views/User/Edit.cshtml
@@ -140,7 +140,7 @@
                <div class="col-sm-12">
                    <div class="ibox float-e-margins">
                        <div class="ibox-title">
                            <h5><i class="fa fa-list"></i>&nbsp;项目录入</h5>
                            <h5><i class="fa fa-list"></i>&nbsp;人员录入</h5>
                        </div>
                        <div id="div_content" class="ibox-content" style="background-color:white;">
                            <div class="row">
@@ -367,7 +367,7 @@
                                    <label class="text-right col-sm-1 col-md-1 control-label">薪资待遇 </label>
                                    <div class="col-sm-2 col-md-2">
                                        <input id="BasicPrice" class="form-control" label="薪资待遇" name="BasicPrice" labtype="txt" addvisible="true" maxlength="500" editvisible="true" reg="" ismust="true" type="text" value="@Model.BasicPrice" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        <input id="BasicPrice" class="form-control" label="薪资待遇" name="BasicPrice" labtype="txt" addvisible="true" maxlength="500" editvisible="true" reg="" ismust="true" type="text" value="@Model.BasicPrice" oninput="if(value.length>8)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </div>
                                    <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">是否购买社保 </label>
@@ -408,7 +408,7 @@
                                    </div>
                                    <label class="text-right col-sm-1 col-md-1 control-label">试用期待遇</label>
                                    <div class="col-sm-2 col-md-2">
                                        <input id="ShiyongPrice" class="form-control" label="试用期待遇" name="ShiyongPrice" labtype="txt" addvisible="true" maxlength="500" editvisible="true" reg="" ismust="true" type="text" value="@Model.ShiyongPrice" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        <input id="ShiyongPrice" class="form-control" label="试用期待遇" name="ShiyongPrice" labtype="txt" addvisible="true" maxlength="500" editvisible="true" reg="" ismust="true" type="text" value="@Model.ShiyongPrice" oninput="if(value.length>8)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </div>
                                    <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">是否签订合同 </label>
@@ -475,6 +475,41 @@
                                    </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">
                                        <div class="col-sm-9 col-md-9" style="padding:0">
                                            <input class="form-control" label="基本工资" name="jibensalary" labtype="txt" addvisible="true" maxlength="20" editvisible="true" reg="" ismust="true" type="text" value="@Model.jibensalary" oninput="if(value.length>8)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        </div>
                                        <div class="col-sm-3 col-md-3" style="padding:0 0 0 10px">
                                            <label class="text-left control-label">元/月</label>
                                        </div>
                                    </div>
                                    <label class="text-right col-sm-1 col-md-1 control-label">保密费</label>
                                    <div class="col-sm-2 col-md-2">
                                        <div class="col-sm-9 col-md-9" style="padding:0">
                                            <input class="form-control" label="保密费" name="baomisalary" labtype="txt" addvisible="true" maxlength="20" editvisible="true" reg="" ismust="true" type="text" value="@Model.baomisalary" oninput="if(value.length>8)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        </div>
                                        <div class="col-sm-3 col-md-3" style="padding:0 0 0 10px">
                                            <label class="text-left control-label">元/月</label>
                                        </div>
                                    </div>
                                    <label class="text-right col-sm-1 col-md-1 control-label">工作补贴</label>
                                    <div class="col-sm-2 col-md-2">
                                        <div class="col-sm-9 col-md-9" style="padding:0">
                                            <input class="form-control" label="工作补贴" name="jintiesalary" labtype="txt" addvisible="true" maxlength="20" editvisible="true" reg="" ismust="true" type="text" value="@Model.jintiesalary" oninput="if(value.length>8)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        </div>
                                        <div class="col-sm-3 col-md-3" style="padding:0 0 0 10px">
                                            <label class="text-left control-label">元/å¹´</label>
                                        </div>
                                    </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">
@@ -483,13 +518,13 @@
                                        </div>
                                        <div class="col-sm-3 col-md-3" style="padding:0 0 0 10px">
                                            <label class="text-left control-label">元/月</label>
                                        </div>
                                    </div>
                                        </div>
                                    </div>
                                    <label class="text-right col-sm-1 col-md-1 control-label">保底年薪</label>
                                    <div class="col-sm-2 col-md-2">
                                        <div class="col-sm-9 col-md-9" style="padding:0">
                                        <div class="col-sm-9 col-md-9" style="padding:0">
                                            <input class="form-control" label="保底年薪" name="miniyearsalary" labtype="txt" addvisible="true" maxlength="20" editvisible="true" reg="" ismust="true" type="text" value="@Model.miniyearsalary" oninput="if(value.length>8)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        </div>
                                        <div class="col-sm-3 col-md-3" style="padding:0 0 0 10px">
@@ -504,7 +539,7 @@
                                        <div class="col-sm-3 col-md-3" style="padding:0 0 0 10px">
                                            <label class="text-left control-label">元/å¹´</label>
                                        </div>
                                    </div>
                                    <label class="text-right col-sm-1 col-md-1 control-label">是否交通补贴</label>
@@ -530,6 +565,7 @@
                                    </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">
@@ -543,7 +579,10 @@
                                    <div class="col-sm-2 col-md-2">
                                        <input id="Email" class="form-control" label="电子邮箱" name="Email" labtype="txt" addvisible="true" maxlength="50" editvisible="true" reg="" ismust="true" type="text" value="@Model.Email">
                                    </div>
                                    <label class="text-right col-sm-1 col-md-1 control-label">专项扣除</label>
                                    <div class="col-sm-2 col-md-2">
                                        <input id="geshuiqizheng" class="form-control" label="专项扣除" name="geshuiqizheng" labtype="txt" addvisible="true" maxlength="500" editvisible="true" reg="" ismust="true" type="text" value="@Model.geshuiqizheng" oninput="if(value.length>8)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
zhengcaioa/zhengcaioa/Views/User/EditBeizhu.cshtml
New file
@@ -0,0 +1,354 @@
@model DTO.PltUserDTO
@using DTO;
@using zhengcaioa.Models;
@{
    List<SysCodeDtl> shifou = ViewBag.shifou as List<SysCodeDtl>; //是否
}
@{
    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>
    <link rel="stylesheet" href="~/viewerjs-master/dist/viewer.min.css">
    <script src="~/viewerjs-master/dist/viewer.min.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;">
                                    <label class="text-right col-sm-1 col-md-1 control-label">工号</label>
                                    <div class="col-sm-2 col-md-2">
                                        <div class="col-sm-12 col-md-12" style="padding:0 0 0 10px">
                                            <label class="text-left control-label">@Model.Usernumber</label>
                                        </div>
                                        <input type="hidden" id="Id" name="Id" value="@Model.Id" />
                                    </div>
                                    <label class="text-right col-sm-1 col-md-1 control-label">姓名</label>
                                    <div class="col-sm-2 col-md-2">
                                        <div class="col-sm-12 col-md-12" style="padding:0 0 0 10px">
                                            <label class="text-left control-label">@Model.UserName</label>
                                        </div>
                                    </div>
                                    <label class="text-right col-sm-1 col-md-1 control-label">部门</label>
                                    <div class="col-sm-2 col-md-2">
                                        <div class="col-sm-12 col-md-12" style="padding:0 0 0 10px">
                                            <label class="text-left control-label">@Model.DeptName</label>
                                        </div>
                                    </div>
                                    <label class="text-right col-sm-1 col-md-1 control-label">薪资待遇 </label>
                                    <div class="col-sm-2 col-md-2">
                                        <input id="BasicPrice" class="form-control" label="薪资待遇" name="BasicPrice" labtype="txt" addvisible="true" maxlength="500" editvisible="true" reg="" ismust="true" type="text" value="@Model.BasicPrice" oninput="if(value.length>8)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </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 id="ShiyongDate" class="form-control" label="试用期限" name="ShiyongDate" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value='@Model.ShiyongDateName ' readonly="readonly">
                                    </div>
                                    <div class="col-sm-1 col-md-1">
                                        è‡³
                                    </div>
                                    <div class="col-sm-2 col-md-2">
                                        <input id="ShiyongDateEnd" class="form-control" label="试用期限" name="ShiyongDateEnd" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value='@Model.ShiyongDateEndName ' readonly="readonly">
                                    </div>
                                    <label class="text-right col-sm-1 col-md-1 control-label">试用期待遇</label>
                                    <div class="col-sm-2 col-md-2">
                                        <input id="ShiyongPrice" class="form-control" label="试用期待遇" name="ShiyongPrice" labtype="txt" addvisible="true" maxlength="500" editvisible="true" reg="" ismust="true" type="text" value="@Model.ShiyongPrice" oninput="if(value.length>8)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </div>
                                    <label class="text-right col-sm-1 col-md-1 control-label">专项扣除</label>
                                    <div class="col-sm-2 col-md-2">
                                        <input id="geshuiqizheng" class="form-control" label="专项扣除" name="geshuiqizheng" labtype="txt" addvisible="true" maxlength="500" editvisible="true" reg="" ismust="true" type="text" value="@Model.geshuiqizheng" oninput="if(value.length>8)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </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">
                                        <div class="col-sm-9 col-md-9" style="padding:0">
                                            <input class="form-control" label="预发工资" name="advancewages" labtype="txt" addvisible="true" maxlength="20" editvisible="true" reg="" ismust="true" type="text" value="@Model.advancewages" oninput="if(value.length>8)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        </div>
                                        <div class="col-sm-3 col-md-3" style="padding:0 0 0 10px">
                                            <label class="text-left control-label">元/月</label>
                                        </div>
                                    </div>
                                    <label class="text-right col-sm-1 col-md-1 control-label">保底年薪</label>
                                    <div class="col-sm-2 col-md-2">
                                        <div class="col-sm-9 col-md-9" style="padding:0">
                                            <input class="form-control" label="保底年薪" name="miniyearsalary" labtype="txt" addvisible="true" maxlength="20" editvisible="true" reg="" ismust="true" type="text" value="@Model.miniyearsalary" oninput="if(value.length>8)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        </div>
                                        <div class="col-sm-3 col-md-3" style="padding:0 0 0 10px">
                                            <label class="text-left control-label">元/å¹´</label>
                                        </div>
                                    </div>
                                    <label class="text-right col-sm-1 col-md-1 control-label">工龄工资</label>
                                    <div class="col-sm-2 col-md-2">
                                        <div class="col-sm-9 col-md-9" style="padding:0">
                                            <input class="form-control" label="工龄工资" name="senioritywages" labtype="txt" addvisible="true" maxlength="20" editvisible="true" reg="" ismust="true" type="text" value="@Model.senioritywages" oninput="if(value.length>8)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                        </div>
                                        <div class="col-sm-3 col-md-3" style="padding:0 0 0 10px">
                                            <label class="text-left control-label">元/å¹´</label>
                                        </div>
                                    </div>
                                    <label class="text-right col-sm-1 col-md-1 control-label">是否交通补贴</label>
                                    <div class="col-sm-2 col-md-2" grouptype="Vdata">
                                        <select class="form-control" name="Istravelsubsidy" data-placeholder="选择 åºåˆ— ...">
                                            <option value="" hassubinfo="true">请选择</option>
                                            @foreach (var item in shifou)
                                            {
                                                @if (!item.CodeSn.Equals(Model.Istravelsubsidy))
                                                {
                                                    <option value="@item.CodeSn" hassubinfo="true">
                                                        @item.Comments
                                                    </option>
                                                }
                                                else
                                                {
                                                    <option value="@item.CodeSn" hassubinfo="true" selected="selected">
                                                        @item.Comments
                                                    </option>
                                                }
                                            }
                                        </select>
                                    </div>
                                </div>
                                @*<div class="clearfix layer-area" style="padding-bottom:15px;">
            <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">工资备注</label>
            <div class="col-sm-11 col-md-11">
                <textarea class="form-control bt" id="Beizhu" name="Beizhu" title="工资备注" isempty="" maxlength="4000" length="long" style="resize:none;overflow-y:hidden; min-height:80px;" onpropertychange="this.style.height=this.scrollHeight + 'px'" oninput="this.style.height=this.scrollHeight + 'px'">@Model.Beizhu</textarea>
            </div>
        </div>*@
                                <div class="clearfix layer-area" style="padding-bottom:15px;height:60px;">
                                </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 - 45;
        $("#div_content").height(hh);
        $("#ZhuanjiaList").chosen();
        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"
        };
        laydate({ elem: "#ShiyongDate", format: 'YYYY-MM-DD', istime: false, event: "focus" });
        laydate({ elem: "#ShiyongDateEnd", format: 'YYYY-MM-DD', istime: false, event: "focus" });
        var id = '@Model.Id';
        //var remark = document.getElementById("Beizhu");
        //remark.style.height = remark.scrollHeight + 'px';
        // ä¿å­˜å²—位信息
        var savePosition = function () {
            //if ($.trim($("#Beizhu").val()) == '') {
            //    toastr.warning("工资备注不能为空");
            //    return;
            //}
            $.ajax({
                type: "POST",
                url: "/User/SaveBeizhu",
                dataType: "json",
                global: false,
                data: $('form').serializeArray(),
                success: function (data) {
                        if (data.Result) {
                            //  parent._afterSave(true);
                            parent.layer.msg('成功保存', { icon: 6 });
                            //window.location = "/Project/add?id=" + data.ReturnID;
                            try {
                                _pageAutoClose();//自动关闭页面方法
                            }
                            catch (err) {
                                parent._CloseTab1("/Project/Add");
                            }
                        }
                        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/User/JiBenGongZi.cshtml
New file
@@ -0,0 +1,131 @@
@{
    ViewBag.Title = "User";
    Layout = "~/Views/Shared/_Layout_Search.cshtml";
}
@section headerStyle{
    <script type="text/javascript">
        var zhiwustatusDropDown = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.zhiwustatus))';
        var dept = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.dept))';
        var post = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.post))';
        var shifou = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.shifou))';
        var sex = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.sex))';
        var isMaryed = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.isMaryed))';
        dataCol = [
            { label: 'id', name: 'Id', labtype: 'txt', hidden: true },
            {
                label: '工号', name: 'Usernumber', labtype: 'txt', hidden: false, width: 100
            },
            {
                label: '姓名', name: 'UserName', labtype: 'txt', hidden: false, width: 100,
                formatter: function (cellvalue, options, rowObject) {
                    return "<a onclick=\"OpenWindow('" + cellvalue + "','100%','98%', '/User/EditBeizhu?id=" + rowObject.Id + "')\"  >" + cellvalue + "</a>";
                }
            },
            {
                label: '工作部门', name: 'DeptName', labtype: 'txt', hidden: false, width: 100
            },
            {
                label: '职务', name: 'HrPositionName', labtype: 'txt', hidden: false, width: 100
            },
            {
                label: '薪资待遇', name: 'BasicPrice', labtype: 'txt', hidden: false, width: 100
            },
            //{
            //    label: '基本工资', name: 'jibensalaryName', labtype: 'txt', hidden: false, width: 100
            //},
            //{
            //    label: '保密费', name: 'baomisalaryName', labtype: 'txt', hidden: false, width: 100
            //},
            //{
            //    label: '工作补贴', name: 'jintiesalaryName', labtype: 'txt', hidden: false, width: 100
            //},
            {
                label: '试用期', name: 'ShiyongDateName', labtype: 'txt', hidden: false, width: 200
            },
            {
                label: '试用期工资', name: 'ShiyongPriceName', labtype: 'txt', hidden: false, width: 100
            },
            {
                label: '预发工资', name: 'advancewagesName', labtype: 'txt', hidden: false, width: 100
            },
            {
                label: '保底年薪', name: 'miniyearsalaryName', labtype: 'txt', hidden: false, width: 100
            },
            {
                label: '工龄工资', name: 'senioritywagesName', labtype: 'txt', hidden: false, width: 100
            },
            {
                label: '是否交通补贴', name: 'IstravelsubsidyName', labtype: 'txt', hidden: false, width: 100
            },
            {
                label: '专项扣除', name: 'geshuiqizhengName', labtype: 'txt', hidden: false, width: 100
            },
            { label: '状态', name: 'RecStatus', labtype: 'txt', hidden: true },
            { label: '创建人', name: 'Creater', labtype: 'txt', hidden: true },
            { label: '创建时间', name: 'Createtimetxt', labtype: 'txt', hidden: true },
            { label: '修改人', name: 'Modifier', labtype: 'txt', hidden: true },
            { label: '修改时间', name: 'Modifytimetxt', labtype: 'txt', hidden: true },
            {
                label: '颜色', name: 'Coler', labtype: 'txt', hidden: true,
                formatter: function (cellvalue, options, rowObject) {
                    return "<span style='color:" + rowObject.Coler + ";'>" + cellvalue+"</span>";
                }},
        ];
        dataUrl = "/User/GetUserList";
        searchCol = [
            { label: '工号', name: 'Usernumber', labtype: 'txt', 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/wwwroot/js/plugins/search/search.js
@@ -217,6 +217,12 @@
          , beforeRequest: BeforeRequest
    });
    //$("#jqGrid").jqGrid('setGroupHeaders', {
    //    useColSpanStyle: true,
    //    groupHeaders: [
    //        { startColumnName: 'jibensalaryName', numberOfColumns: 3, titleText: '薪资待遇' }
    //    ]
    //});
    jQuery("#jqGrid").jqGrid('navGrid', "#jqGridPager", { edit: false, add: false, del: false, search: false, refresh: true });
    doResize();
});
zhengcaioa/zhengcaioa/zhengcaioa.csproj.user
@@ -15,6 +15,6 @@
    <WebStackScaffolding_IsPartialViewSelected>False</WebStackScaffolding_IsPartialViewSelected>
    <WebStackScaffolding_IsReferencingScriptLibrariesSelected>False</WebStackScaffolding_IsReferencingScriptLibrariesSelected>
    <WebStackScaffolding_LayoutPageFile />
    <ShowAllFiles>false</ShowAllFiles>
    <ShowAllFiles>true</ShowAllFiles>
  </PropertyGroup>
</Project>
Óû§±í¸üÐÂ.sql
@@ -10,4 +10,36 @@
miniyearsalary decimal(10,2) null,
senioritywages decimal(10,2) null,
is_travelsubsidy nvarchar(1) null
go
go
alter table plt_user add
[beizhu] [nvarchar](500) NULL
go
alter table plt_user add
jibensalary decimal(10,2) null,
baomisalary decimal(10,2) null,
jintiesalary decimal(10,2) null
go
alter table plt_user add
geshuiqizheng decimal(10,2) null
go
INSERT [dbo].[plt_page] ([Id], [system_id], [page_name], [page_shortcut], [display_seq], [page_path], [page_method], [page_type], [page_superior], [page_ico], [open_type], [rec_status], [creater], [createtime], [modifier], [modifytime]) VALUES (N'd3f04c50-72d8-46c8-8537-b0b5b2e66a00', N'1', N'职工基本工资', NULL, 1, N'/User/JiBenGongZi', N'01', N'M', N'6a13cb10-35d9-4176-a231-8887948e059e', NULL, 0, N'A', N'e4c93811-b9b1-4998-89f5-c416ebab0c07', CAST(N'2021-06-15T13:53:24.527' AS DateTime), N'e4c93811-b9b1-4998-89f5-c416ebab0c07', CAST(N'2021-06-15T13:54:47.280' AS DateTime))
go
INSERT [dbo].[plt_page] ([Id], [system_id], [page_name], [page_shortcut], [display_seq], [page_path], [page_method], [page_type], [page_superior], [page_ico], [open_type], [rec_status], [creater], [createtime], [modifier], [modifytime]) VALUES (N'4c7fae29-974b-48e9-9519-1736af5f4d17', N'1', N'职务基本工资', N'', 2, N'/HrJibengongzi/Index', N'01', N'M', N'6a13cb10-35d9-4176-a231-8887948e059e', N'', 0, N'A', N'e4c93811-b9b1-4998-89f5-c416ebab0c07', CAST(N'2021-06-17T10:38:16.583' AS DateTime), N'e4c93811-b9b1-4998-89f5-c416ebab0c07', CAST(N'2021-06-17T10:38:16.583' AS DateTime))
go
INSERT [dbo].[plt_page] ([Id], [system_id], [page_name], [page_shortcut], [display_seq], [page_path], [page_method], [page_type], [page_superior], [page_ico], [open_type], [rec_status], [creater], [createtime], [modifier], [modifytime]) VALUES (N'e7e0363d-8215-433e-8c63-df902088b160', N'1', N'绩效提成标准', NULL, 3, N'/HrJixiaoticheng/Index', N'01', N'M', N'6a13cb10-35d9-4176-a231-8887948e059e', NULL, 0, N'A', N'e4c93811-b9b1-4998-89f5-c416ebab0c07', CAST(N'2021-06-17T14:53:30.890' AS DateTime), N'e4c93811-b9b1-4998-89f5-c416ebab0c07', CAST(N'2021-06-17T14:54:01.643' AS DateTime))
go
¿¼ÇÚ¼ÆËãµÄ±í.sql
@@ -1,27 +1,113 @@
USE [zhengcaioa]
GO
/****** Object:  Table [dbo].[hr_salary]    Script Date: 2021/6/10 12:54:34 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF EXISTS(Select 1 From Sysobjects Where Name='hr_salary')  --查询表名costSeparateConfig是否存在
drop  TABLE [dbo].[hr_salary]
GO
CREATE TABLE [dbo].[hr_salary](
    [Id] [nvarchar](50) NOT NULL,
    [Userid] [nvarchar](50) NOT NULL,
    [year] [int] NOT NULL DEFAULT ((0)),
    [month] [int] NOT NULL DEFAULT ((0)),
    [jibengongzi]   [decimal](18, 4)  NULL ,
    [baomifei] [decimal](18, 4)  NULL  ,
    [gongzuobutie]   [decimal](18, 4)  NULL ,
    [jiabangongzi]   [decimal](18, 4)  NULL ,
    [shebao]   [decimal](18, 4)  NULL  ,
    [dianhuabutie]   [decimal](18, 4)  NULL  ,
    [quanqinjiang] [decimal](18, 4)  NULL  ,
    [jiaotngbutie] [decimal](18, 4)  NULL  ,
    [jixiaoticheng] [decimal](18, 4)  NULL  ,
    [jiangjin] [decimal](18, 4)  NULL  ,
    [bufagongzi] [decimal](18, 4)  NULL  ,
    [shebaokou] [decimal](18, 4)  NULL  ,
    [geshui] [decimal](18, 4)  NULL  ,
    [dianhuafei] [decimal](18, 4)  NULL  ,
    [queqin] [decimal](18, 4)  NULL  ,
    [fakuan] [decimal](18, 4)  NULL  ,
    [peichang] [decimal](18, 4)  NULL  ,
    [jiucuo] [decimal](18, 4)  NULL  ,
    [daozhanggongzi] [decimal](18, 4)  NULL  ,
    [yufagongzi] [decimal](18, 4)  NULL  ,
    [yufagongziheji] [decimal](18, 4)  NULL  ,
    [islock] [nvarchar](1) NOT 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,
 CONSTRAINT [PK__hr_salary] PRIMARY KEY CLUSTERED
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[hr_salary] ADD  DEFAULT ('D') FOR [islock]
GO
ALTER TABLE [dbo].[hr_salary] ADD  DEFAULT ('A') FOR [rec_status]
GO
ALTER TABLE [dbo].[hr_salary] ADD  DEFAULT ('1') FOR [creater]
GO
ALTER TABLE [dbo].[hr_salary] ADD  DEFAULT (getdate()) FOR [createtime]
GO
ALTER TABLE [dbo].[hr_salary] ADD  DEFAULT ('1') FOR [modifier]
GO
ALTER TABLE [dbo].[hr_salary] ADD  DEFAULT (getdate()) FOR [modifytime]
GO
USE [zhengcaioa]
GO
/****** Object:  Table [dbo].[ADM_Attendance]    Script Date: 2021/6/10 12:54:34 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF EXISTS(Select 1 From Sysobjects Where Name='ADM_Attendance')  --查询表名costSeparateConfig是否存在
drop  TABLE [dbo].[ADM_Attendance]
GO
CREATE TABLE [dbo].[ADM_Attendance](
    [Id] [nvarchar](50) NOT NULL,
    [Userid] [nvarchar](50) NOT NULL,
    [year] [int] NOT NULL DEFAULT ((0)),
    [month] [int] NOT NULL DEFAULT ((0)),
    [yingchuqin]   [decimal](18, 2) NOT NULL DEFAULT ((0)),
    [offdays] [decimal](18, 2) NOT NULL DEFAULT ((0)),
    [shijichuqin]   [decimal](18, 2) NOT NULL DEFAULT ((0)),
    [qingjia]   [decimal](18, 2) NOT NULL DEFAULT ((0)),
    [jiaban]   [decimal](18, 2) NOT NULL DEFAULT ((0)),
    [xiaojia] [decimal](18, 2) NOT NULL DEFAULT ((0)),
    [chidao] [decimal](18, 2) NOT NULL DEFAULT ((0)),
    [zaotui] [decimal](18, 2) NOT NULL DEFAULT ((0)),
    [kuanggong] [decimal](18, 2) NOT NULL DEFAULT ((0)),
    [yingchuqin]   [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [offdays] [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [shijichuqin]   [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [qingjia]   [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [jiaban]   [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [xiaojia] [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [chidao] [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [zaotui] [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [kuanggong] [decimal](18, 4) NOT NULL DEFAULT ((0)),
    
    [islock] [nvarchar](1) NOT NULL,
    [rec_status] [nvarchar](1) NOT NULL,
@@ -65,7 +151,9 @@
SET QUOTED_IDENTIFIER ON
GO
IF EXISTS(Select 1 From Sysobjects Where Name='ADM_Attendance_dtl')  --查询表名costSeparateConfig是否存在
drop  TABLE [dbo].[ADM_Attendance_dtl]
GO
CREATE TABLE [dbo].[ADM_Attendance_dtl](
    [Id] [nvarchar](50) NOT NULL,
    [attendance_id] [nvarchar](50) NOT NULL,
@@ -76,16 +164,16 @@
    [AfternoonOut] [datetime] NULL,
    [OvertimeIn] [datetime] NULL,
    [OvertimeOut] [datetime] NULL,
    [qingjia]   [decimal](18, 2) NOT NULL DEFAULT ((0)),
    [xiaojia] [decimal](18, 2) NOT NULL DEFAULT ((0)),
    [qingjia]   [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [xiaojia] [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [rec_status] [nvarchar](1) NOT NULL,
    [creater] [nvarchar](50) NOT NULL,
    [createtime] [datetime] NOT NULL,
    [modifier] [nvarchar](50) NOT NULL,
    [modifytime] [datetime] NOT NULL,
    [chidaofenzhong] [decimal](18, 2) NOT NULL DEFAULT ((0)),
    [zaotuifenzhong] [decimal](18, 2) NOT NULL DEFAULT ((0)),
    [kuanggongtianshu] [decimal](18, 2) NOT NULL DEFAULT ((0)),
    [chidaofenzhong] [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [zaotuifenzhong] [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [kuanggongtianshu] [decimal](18, 4) NOT NULL DEFAULT ((0)),
 CONSTRAINT [PK__ADM_Attendance_dtl] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
±íÐÞ¸Ä.sql
@@ -1,12 +1,178 @@
USE [zhengcaioa]
GO
/****** Object:  Table [dbo].[hr_jixiaoticheng]    Script Date: 2021/6/9 14:15:04 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF EXISTS(Select 1 From Sysobjects Where Name='hr_jixiaoticheng')  --查询表名costSeparateConfig是否存在
drop table  [hr_jixiaoticheng]
GO
CREATE TABLE [dbo].[hr_jixiaoticheng](
    [Id] [nvarchar](50) NOT NULL,
    [post_id] [nvarchar](50) NULL,
    [piecerate_id] [nvarchar](50) NULL,
    [tichengstandard] [nvarchar](50)   NULL,
    [renwustandard] [nvarchar](50)   NULL,
    [ticheng] [money]   NULL,
    [renwu] [money]  NULL,
    [effecttime] [datetime]  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,
 CONSTRAINT [PK_hr_jixiaoticheng] PRIMARY KEY CLUSTERED
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[hr_jixiaoticheng] ADD  DEFAULT ('A') FOR [rec_status]
GO
ALTER TABLE [dbo].[hr_jixiaoticheng] ADD  DEFAULT ('1') FOR [creater]
GO
ALTER TABLE [dbo].[hr_jixiaoticheng] ADD  DEFAULT (getdate()) FOR [createtime]
GO
ALTER TABLE [dbo].[hr_jixiaoticheng] ADD  DEFAULT ('1') FOR [modifier]
GO
ALTER TABLE [dbo].[hr_jixiaoticheng] ADD  DEFAULT (getdate()) FOR [modifytime]
GO
USE [zhengcaioa]
GO
/****** Object:  Table [dbo].[hr_jibengongzi]    Script Date: 2021/6/9 14:15:04 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF EXISTS(Select 1 From Sysobjects Where Name='hr_jibengongzi')  --查询表名costSeparateConfig是否存在
drop table  [hr_jibengongzi]
GO
CREATE TABLE [dbo].[hr_jibengongzi](
    [Id] [nvarchar](50) NOT NULL,
    [post_id] [nvarchar](50) NULL,
    [jibengongzi] [money]  NULL,
    [baomifei] [money]   NULL,
    [shebaodanwei] [money]  NULL,
    [shebaogeren] [money]  NULL,
    [dianhuabutie] [nvarchar](50)  NULL,
    [quanqingjiang] [money]  NULL,
    [jiaotongbutie] [money]  NULL,
    [effecttime] [datetime]  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,
 CONSTRAINT [PK_hr_jibengongzi] PRIMARY KEY CLUSTERED
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[hr_jibengongzi] ADD  DEFAULT ('A') FOR [rec_status]
GO
ALTER TABLE [dbo].[hr_jibengongzi] ADD  DEFAULT ('1') FOR [creater]
GO
ALTER TABLE [dbo].[hr_jibengongzi] ADD  DEFAULT (getdate()) FOR [createtime]
GO
ALTER TABLE [dbo].[hr_jibengongzi] ADD  DEFAULT ('1') FOR [modifier]
GO
ALTER TABLE [dbo].[hr_jibengongzi] ADD  DEFAULT (getdate()) FOR [modifytime]
GO
USE [zhengcaioa]
GO
/****** Object:  Table [dbo].[ADM_AttendanceRules_dtl]    Script Date: 2021/6/9 14:15:04 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF EXISTS(Select 1 From Sysobjects Where Name='ADM_AttendanceRules_dtl')  --查询表名costSeparateConfig是否存在
drop table  [ADM_AttendanceRules_dtl] 
GO
@@ -45,26 +211,6 @@
USE [zhengcaioa]
GO
@@ -74,6 +220,7 @@
SET QUOTED_IDENTIFIER ON
GO
IF EXISTS(Select 1 From Sysobjects Where Name='fi_account_record')  --查询表名costSeparateConfig是否存在
drop table  [fi_account_record] 
GO
@@ -129,6 +276,7 @@
SET QUOTED_IDENTIFIER ON
GO
IF EXISTS(Select 1 From Sysobjects Where Name='ADM_AskLeave')  --查询表名costSeparateConfig是否存在
drop table  [ADM_AskLeave] 
GO
CREATE TABLE [dbo].[ADM_AskLeave](
@@ -225,7 +373,7 @@
SET QUOTED_IDENTIFIER ON
GO
IF EXISTS(Select 1 From Sysobjects Where Name='ADM_AskLeaveOff')  --查询表名costSeparateConfig是否存在
drop table  [ADM_AskLeaveOff] 
GO
@@ -313,7 +461,7 @@
SET QUOTED_IDENTIFIER ON
GO
IF EXISTS(Select 1 From Sysobjects Where Name='ADM_AttendanceRules')  --查询表名costSeparateConfig是否存在
drop table  [ADM_AttendanceRules] 
GO
@@ -441,50 +589,6 @@
USE [zhengcaioa]
GO
/****** Object:  Table [dbo].[ADM_AttendanceRules_dtl]    Script Date: 2021/6/7 16:55:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
drop table  [ADM_AttendanceRules_dtl]
GO
CREATE TABLE [dbo].[ADM_AttendanceRules_dtl](
    [Id] [nvarchar](50) NOT NULL,
    [pid] [nvarchar](50) NULL,
    [value_start] [nvarchar](50) NULL,
    [value_end] [nvarchar](50) NULL,
    [Name] [nvarchar](200) 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,
 CONSTRAINT [PK_ADM_AttendanceRules_dtl] PRIMARY KEY CLUSTERED
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ADM_AttendanceRules_dtl] ADD  DEFAULT ('A') FOR [rec_status]
GO
ALTER TABLE [dbo].[ADM_AttendanceRules_dtl] ADD  DEFAULT ('1') FOR [creater]
GO
ALTER TABLE [dbo].[ADM_AttendanceRules_dtl] ADD  DEFAULT (getdate()) FOR [createtime]
GO
ALTER TABLE [dbo].[ADM_AttendanceRules_dtl] ADD  DEFAULT ('1') FOR [modifier]
GO
ALTER TABLE [dbo].[ADM_AttendanceRules_dtl] ADD  DEFAULT (getdate()) FOR [modifytime]
GO