LR-20210131IOQH\Administrator
2021-06-27 3262eb334953a1b208aa4a50584442a3804912d9
Merge branch 'master' of http://47.108.235.38:8080/r/zhengcaioa
47个文件已修改
3452 ■■■■■ 已修改文件
zhengcaioa/DTO/AdmAttendanceDtlDTO.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/AdmSignInDTO.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/PltUserDTO.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/ProjectDTO.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IAdmAttendanceDtlService.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IAdmAttendanceService.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IAdmBreakPrecedentService.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IAdmPieceCheckService.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IAdmSigninService.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/ICooperOrderService.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/ICooperVisitService.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/ICooperatecustomCustomerService.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IDailyManagementService.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IGroupTopicService.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IHrSalaryService.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/ISimService.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IUserService.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/AdmAttendanceDtl.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/zhengcaioaContext.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/AdmAttendanceDtlService.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/AdmAttendanceService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/AdmBreakPrecedentService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/AdmPieceCheckService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/AdmSigninService.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/CooperOrderService.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/CooperVisitService.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/CooperatecustomCustomerService.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/DailyManagementService.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/GroupTopicService.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/HrSalaryService.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/ProjectService.cs 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/SimService.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/UserService.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/HR/HrJixiaotichengController.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/ProjectController.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/UserController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs 2729 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/CooperOrder/Index.cshtml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/Liaotian/Edit.cshtml 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/Liaotian/Indexcheck.cshtml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/Project/Select.cshtml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/User/Edit.cshtml 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/zhengcaioa.csproj.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
用户表更新.sql 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
申诉记录表.sql 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
考勤计算的表.sql 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/AdmAttendanceDtlDTO.cs
@@ -22,9 +22,12 @@
        public DateTime Createtime { get; set; }
        public string Modifier { get; set; }
        public DateTime Modifytime { get; set; }
        public decimal Chidaofenzhong { get; set; }
        public decimal Zaotuifenzhong { get; set; }
        public decimal Shangwuchidaofenzhong { get; set; }
        public decimal Xiawuchidaofenzhong { get; set; }
        public decimal Shangwuzaotuifenzhong { get; set; }
        public decimal Xiawuzaotuifenzhong { get; set; }
        public decimal Kuanggongtianshu { get; set; }
        public string Iswork { get; set; }
    }
    public class AdmAttendanceDtlDTOSearch : SearchEntity
zhengcaioa/DTO/AdmSignInDTO.cs
@@ -113,4 +113,10 @@
        public string Tittle { get; set; }
    }
    public partial class DateBiJiaoDTO
    {
        public DateTime? StartTime { get; set; }
        public DateTime? EndTime { get; set; }
    }
}
zhengcaioa/DTO/PltUserDTO.cs
@@ -56,6 +56,7 @@
        public DateTime? Indate { get; set; }
        public string IndateName { get; set; }
        public DateTime? Outdate { get; set; }
        public string OutdateName { get; set; }
        public string Gongling { get; set; }
        public string Sex { get; set; }
zhengcaioa/DTO/ProjectDTO.cs
@@ -96,8 +96,10 @@
        public string fblx { get; set; }
        public string  Reasonname { get; set; }
        public string ShiFouyReasonname { get; set; }
    }
}
zhengcaioa/IServices/IAdmAttendanceDtlService.cs
@@ -11,6 +11,8 @@
        AdmAttendanceDtlDTO Get(string id);
        AdmAttendanceDtlDTO GetByUserAndDate(string Attendanceid, DateTime SgninDate);
        List<AdmAttendanceDtlDTO> GetList(AdmAttendanceDtlDTOSearch searchEntity);
        ResultEntity ModifyStatus(string id, string userid);
zhengcaioa/IServices/IAdmAttendanceService.cs
@@ -11,6 +11,8 @@
        AdmAttendanceDTO Get(string id);
        AdmAttendanceDTO GetByUserAndDate(string userid, int year,int month);
        ResultDataEntity<AdmAttendanceDTO> SearchByPaging(AdmAttendanceDTOSearch searchEntity);
        ResultEntity ModifyStatus(string id, string userid);
zhengcaioa/IServices/IAdmBreakPrecedentService.cs
@@ -16,5 +16,8 @@
        ResultDataEntity<AdmBreakPrecedentDTO> SearchByPaging(AdmBreakPrecedentDTOSearch searchEntity);
        ResultEntity ModifyStatus(string id, string userid);
        List<AdmBreakPrecedentDTO> GetList (string userid, DateTime datemin, DateTime datemax);
    }
}
zhengcaioa/IServices/IAdmPieceCheckService.cs
@@ -16,5 +16,7 @@
        ResultDataEntity<AdmPieceCheckDTO> SearchByPaging(AdmPieceCheckDTOSearch searchEntity);
        ResultEntity ModifyStatus(string id, string userid);
        List<AdmPieceCheckDTO> GetList(string userid, DateTime datemin, DateTime datemax);
    }
}
zhengcaioa/IServices/IAdmSigninService.cs
@@ -11,6 +11,8 @@
        AdmSignInDTO Get(string id);
        AdmSignInDTO GetByUserAndDate(string userid,DateTime sgninDate);
        AdmSignInDTO GetTodaySignin(string userId);
        ResultDataEntity<SigninListDTO> SearchByPaging(AdmSignInDTOSearch searchEntity);
@@ -20,10 +22,15 @@
        //请假
        ResultEntity SaveAskLeave(AdmAskLeaveDTO admAsk);
        AdmAskLeaveDTO GetAskLeave(string Id);
        List<AdmAskLeaveDTO> GetAskLeaveByUserId(string UserId);
        //销假
        ResultEntity SaveAskLeaveOff(AdmAskLeaveOffDTO leaveOff);
        AdmAskLeaveOffDTO GetAskLeaveOff(string Id);
        List<AdmAskLeaveOffDTO> GetAskLeaveOffByUserId(string UserId);
        #region è€ƒå‹¤è§„则
        ResultEntity SaveAttendanceRlues(string attRlues);
zhengcaioa/IServices/ICooperOrderService.cs
@@ -30,5 +30,8 @@
        ResultEntity pingjia(CooperOrderDTO dto);
        CooperOrderDTO Getprint(string id);
        List<CooperOrderDTO> GetList(string userid, DateTime datemin, DateTime datemax);
    }
}
zhengcaioa/IServices/ICooperVisitService.cs
@@ -18,5 +18,7 @@
        ResultEntity ModifyStatus(string id, string userid);
        List<CooperatecustomCustomerDTO> GetList(string[] id);
        List<CooperVisitDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax);
    }
}
zhengcaioa/IServices/ICooperatecustomCustomerService.cs
@@ -18,5 +18,9 @@
        ResultEntity ModifyStatus(string id, string userid);
        List<CooperatecustomCustomerDTO> GetList();
        List<CooperatecustomCustomerDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax);
        List<CooperatecustomCustomerDTO> GetListsalaryqiandan(string userid, DateTime datemin, DateTime datemax);
    }
}
zhengcaioa/IServices/IDailyManagementService.cs
@@ -22,5 +22,7 @@
        AdmMemoBookDTO GetMemoBook(string id);
        int GetRemind(string userid);
        List<AdmMemoBookDTO> GetRemindsalary(string userid, DateTime datemin, DateTime datemax,string KaoHe);
    }
}
zhengcaioa/IServices/IGroupTopicService.cs
@@ -16,5 +16,7 @@
        ResultEntity ModifyStatus(string id, string userid);
        List<GroupTopicDTO> GetList();
        List<GroupTopicDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax);
    }
}
zhengcaioa/IServices/IHrSalaryService.cs
@@ -18,6 +18,9 @@
        List<HrSalaryDTO> GetList();
        HrSalaryDTO GetListByUser(string Userid,int year,int month);
        List<HrSalaryDTO> GetSalary(string userid, int year, int month);
        ResultEntity CheckOk(string id, string user);
zhengcaioa/IServices/ISimService.cs
@@ -23,5 +23,7 @@
        SimCost GetSimCost(int id);
        ResultDataEntity<SimCostView> SearchSimCostByPage(SimCostDTOSearch searchEntity);
        SimCostView GetSimCost(string userid , int  bill_year, int bill_month);
    }
}
zhengcaioa/IServices/IUserService.cs
@@ -26,5 +26,8 @@
        List<PltUserDTO> GetList(string DeptId = null ,string IsYwjl = null);
        List<PltUserDTO> GetListjisuankaoqin(DateTime dateminkaoqin, DateTime datemaxkaoqin);
    }
}
zhengcaioa/Model/AdmAttendanceDtl.cs
@@ -23,8 +23,12 @@
        public DateTime Createtime { get; set; }
        public string Modifier { get; set; }
        public DateTime Modifytime { get; set; }
        public decimal Chidaofenzhong { get; set; }
        public decimal Zaotuifenzhong { get; set; }
        public decimal Shangwuchidaofenzhong { get; set; }
        public decimal Xiawuchidaofenzhong { get; set; }
        public decimal Shangwuzaotuifenzhong { get; set; }
        public decimal Xiawuzaotuifenzhong { get; set; }
        public decimal Kuanggongtianshu { get; set; }
        public string Iswork { get; set; }
    }
}
zhengcaioa/Model/zhengcaioaContext.cs
@@ -342,10 +342,6 @@
                    .HasMaxLength(50)
                    .HasColumnName("attendance_id");
                entity.Property(e => e.Chidaofenzhong)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("chidaofenzhong");
                entity.Property(e => e.Creater)
                    .IsRequired()
                    .HasMaxLength(50)
@@ -356,6 +352,10 @@
                    .HasColumnType("datetime")
                    .HasColumnName("createtime")
                    .HasDefaultValueSql("(getdate())");
                entity.Property(e => e.Iswork)
                   .HasMaxLength(1)
                   .HasColumnName("iswork");
                entity.Property(e => e.Kuanggongtianshu)
                    .HasColumnType("decimal(18, 4)")
@@ -394,13 +394,25 @@
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("(getdate())");
                entity.Property(e => e.Shangwuchidaofenzhong)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("shangwuchidaofenzhong");
                entity.Property(e => e.Shangwuzaotuifenzhong)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("shangwuzaotuifenzhong");
                entity.Property(e => e.Xiaojia)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("xiaojia");
                entity.Property(e => e.Zaotuifenzhong)
                entity.Property(e => e.Xiawuchidaofenzhong)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("zaotuifenzhong");
                    .HasColumnName("xiawuchidaofenzhong");
                entity.Property(e => e.Xiawuzaotuifenzhong)
                    .HasColumnType("decimal(18, 4)")
                    .HasColumnName("xiawuzaotuifenzhong");
            });
            modelBuilder.Entity<AdmAttendanceRule>(entity =>
zhengcaioa/Services/AdmAttendanceDtlService.cs
@@ -52,9 +52,12 @@
                        updatepltRole.Createtime = AdmAttendanceDtl.Createtime;
                        updatepltRole.Modifier = AdmAttendanceDtl.Modifier;
                        updatepltRole.Modifytime = AdmAttendanceDtl.Modifytime;
                        updatepltRole.Chidaofenzhong = AdmAttendanceDtl.Chidaofenzhong;
                        updatepltRole.Zaotuifenzhong = AdmAttendanceDtl.Zaotuifenzhong;
                        updatepltRole.Shangwuchidaofenzhong = AdmAttendanceDtl.Shangwuchidaofenzhong;
                        updatepltRole.Xiawuchidaofenzhong = AdmAttendanceDtl.Xiawuchidaofenzhong;
                        updatepltRole.Shangwuzaotuifenzhong = AdmAttendanceDtl.Shangwuzaotuifenzhong;
                        updatepltRole.Xiawuzaotuifenzhong = AdmAttendanceDtl.Xiawuzaotuifenzhong;
                        updatepltRole.Kuanggongtianshu = AdmAttendanceDtl.Kuanggongtianshu;
                        updatepltRole.Iswork = AdmAttendanceDtl.Iswork;
                    }
                }
@@ -84,7 +87,21 @@
            return AdmAttendanceDtlDTO;
        }
        public AdmAttendanceDtlDTO GetByUserAndDate(string Attendanceid, DateTime SgninDate)
        {
            var entity = _context.AdmAttendanceDtls.Where(x => x.RecStatus == "A" && x.AttendanceId == Attendanceid && x.SgninDate == SgninDate ).FirstOrDefault();
            AdmAttendanceDtlDTO dto = null;
            if (entity != null)
            {
                dto = _mapper.Map<AdmAttendanceDtlDTO>(entity);
            }
            return dto;
        }
        public ResultEntity ModifyStatus(string id, string userid)
        {
@@ -140,9 +157,12 @@
                             Modifier = a.Modifier,
                             Modifytime = a.Modifytime,
                             Chidaofenzhong = a.Chidaofenzhong,
                             Zaotuifenzhong = a.Zaotuifenzhong,
                             Shangwuchidaofenzhong = a.Shangwuchidaofenzhong,
                             Xiawuchidaofenzhong = a.Xiawuchidaofenzhong,
                             Shangwuzaotuifenzhong = a.Shangwuzaotuifenzhong,
                             Xiawuzaotuifenzhong = a.Xiawuzaotuifenzhong,
                             Kuanggongtianshu = a.Kuanggongtianshu,
                             Iswork = a.Iswork
                         }).OrderByDescending(x => x.Createtime).ToList();
            return query;
zhengcaioa/Services/AdmAttendanceService.cs
@@ -87,6 +87,19 @@
            return AdmAttendanceDTO;
        }
        public AdmAttendanceDTO GetByUserAndDate(string userid, int year, int month)
        {
            var entity = _context.AdmAttendances.Where(x=>x.RecStatus=="A" &&  x.Userid == userid && x.Year == year && x.Month == month).FirstOrDefault();
            AdmAttendanceDTO dto = null;
            if (entity != null)
            {
                dto  = _mapper.Map<AdmAttendanceDTO>(entity);
            }
            return dto;
        }
        public ResultDataEntity<AdmAttendanceDTO> SearchByPaging(AdmAttendanceDTOSearch searchEntity)
        {
            ResultDataEntity<AdmAttendanceDTO> data = new ResultDataEntity<AdmAttendanceDTO>();
zhengcaioa/Services/AdmBreakPrecedentService.cs
@@ -200,5 +200,18 @@
            return result;
        }
        public List<AdmBreakPrecedentDTO> GetList(string userid, DateTime datemin, DateTime datemax)
        {
            var entity = _context.AdmBreakPrecedents.Where(x=>x.RecStatus=="A" && x.UserId == userid && x.BreakTime >= datemin && x.BreakTime < datemax);
            var result = _mapper.Map<List<AdmBreakPrecedentDTO>>(entity);
            return result;
        }
    }
}
zhengcaioa/Services/AdmPieceCheckService.cs
@@ -231,5 +231,18 @@
            return result;
        }
        public List<AdmPieceCheckDTO> GetList(string userid, DateTime datemin, DateTime datemax)
        {
            var entity = _context.AdmPieceChecks.Where(x=> x.RecStatus == "A" && x.UserId == userid && x.WorkTime >= datemin && x.WorkTime < datemax).ToList();
            var result = _mapper.Map<List<AdmPieceCheckDTO>>(entity);
            return result;
        }
    }
}
zhengcaioa/Services/AdmSigninService.cs
@@ -85,6 +85,20 @@
            return signin;
        }
        public AdmSignInDTO GetByUserAndDate(string userid, DateTime sgninDate)
        {
            AdmSignIn entity = _context.AdmSignIns.Where(x=>x.RecStatus == "A" &&  x.UserId == userid && x.SgninDate == sgninDate).FirstOrDefault();
            AdmSignInDTO signin = null;
            if (entity != null)
            {
                signin = _mapper.Map<AdmSignInDTO>(entity);
            }
            return signin;
        }
        public AdmSignInDTO GetTodaySignin(string userId)
        {
            ResultEntity resultEntity = new ResultEntity();
@@ -345,7 +359,25 @@
            return leaveDTO;
        }
        public List<AdmAskLeaveDTO> GetAskLeaveByUserId(string UserId)
        {
            List<AdmAskLeave> admAskLeaveDTOs = _context.AdmAskLeaves.Where(e => e.RecStatus == "A" && e.ShenpiStatus == "A" && e.Creater == UserId).ToList();
            List<AdmAskLeaveDTO> leaveDTOs = _mapper.Map< List <AdmAskLeaveDTO>  >(admAskLeaveDTOs);
            return leaveDTOs;
        }
        public List<AdmAskLeaveOffDTO> GetAskLeaveOffByUserId(string UserId)
        {
            List<AdmAskLeaveOff> admAskLeaveOffs = _context.AdmAskLeaveOffs.Where(e => e.RecStatus == "A" && e.ShenpiStatus == "A" && e.Creater == UserId).ToList();
            List<AdmAskLeaveOffDTO> leaveDTOs = _mapper.Map<List<AdmAskLeaveOffDTO>>(admAskLeaveOffs);
            return leaveDTOs;
        }
        public AdmAskLeaveOffDTO GetAskLeaveOff(string Id)
        {
            AdmAskLeaveOff entity = _context.AdmAskLeaveOffs.Where(e => e.RecStatus == "A" && e.Id == Id ).FirstOrDefault();
zhengcaioa/Services/CooperOrderService.cs
@@ -690,5 +690,19 @@
            }
            return query;
        }
        public List<CooperOrderDTO> GetList(string userid, DateTime datemin, DateTime datemax)
        {
            var entity = _context.CooperOrders.Where(x => x.RecStatus == "A" && x.Creater == userid && x.Shoulitime >= datemin && x.Shoulitime < datemax).ToList();
            var result = _mapper.Map<List<CooperOrderDTO>>(entity);
            return result;
        }
    }
}
zhengcaioa/Services/CooperVisitService.cs
@@ -248,5 +248,22 @@
            return result;
        }
        public List<CooperVisitDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax)
        {
                // var listCooperVisits = _context.CooperVisits.Where(r => id.Contains(r.Id) && r.RecStatus == "A").Select(x => x.Viscustomer).ToList();
                var listCooperatecustomCustomers = _context.CooperVisits.Where(r =>  r.RecStatus == "A"&& r.Creater == userid && r.Vistime >= datemin && r.Vistime < datemax).ToList();
               var result = _mapper.Map<List<CooperVisitDTO>>(listCooperatecustomCustomers);
            return result;
        }
    }
}
zhengcaioa/Services/CooperatecustomCustomerService.cs
@@ -301,5 +301,30 @@
            var list = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
            return list;
        }
        public List<CooperatecustomCustomerDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax)
        {
            var listPosition = _context.CooperatecustomCustomers.Where(r => r.RecStatus == "A" && r.Creater == userid && r.Createtime >= datemin && r.Createtime < datemax).ToList();
            var list = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
            return list;
        }
        public List<CooperatecustomCustomerDTO> GetListsalaryqiandan(string userid, DateTime datemin, DateTime datemax)
        {
            var listPosition =( from a in _context.CooperatecustomCustomers.Where(r => r.RecStatus == "A" && r.Creater == userid)
                                join b in _context.CooperOrders.Where(x => x.RecStatus == "A" && x.Shoulitime >= datemin && x.Shoulitime < datemax)
                                on a.Id equals b.Khdw
                                select a
                                ).Distinct().ToList();
            var list = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
            return list;
        }
    }
}
zhengcaioa/Services/DailyManagementService.cs
@@ -323,6 +323,33 @@
            //          }).ToList();
            return query.Count;
        }
        /// <summary>
        /// æŸä¸€ä¸ªäººçš„工作提醒
        /// </summary>
        /// <param name="userid">用户ID</param>
        /// <returns></returns>
        public List<AdmMemoBookDTO> GetRemindsalary(string userid, DateTime datemin, DateTime datemax, string KaoHe)
        {
            var query = _context.AdmMemoBooks
               .Where(e => e.RecStatus == "A" && e.ToUserId == userid  && e.KaoHe == KaoHe && e.Modifytime >= datemin && e.Modifytime < datemax)
               .ToList();
            //var dt = (from a in query
            //          join b in _context.PltUsers.Where(e => e.RecStatus == "A")
            //             on a.Creater equals b.Id
            //          select new AdmMemoBookDTO
            //          {
            //              Id = a.Id,
            //              Rtype = a.Rtype,
            //              Creater = b.UserName,
            //              Time = a.Time,
            //              Context = a.Context,
            //              Createtime = a.Createtime
            //          }).ToList();
            var list = _mapper.Map<List<AdmMemoBookDTO>>(query);
            return list;
        }
        public ResultEntity SaveMemoBook(AdmMemoBookDTO mbDTO)
        {
            ResultEntity resultEntity = new ResultEntity();
zhengcaioa/Services/GroupTopicService.cs
@@ -133,5 +133,15 @@
            var list = _mapper.Map<List<GroupTopicDTO>>(listRole);
            return list;
        }
        public List<GroupTopicDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax)
        {
            var listRole = _context.GroupTopics.Where(r => r.RecStatus == "A" && r.Creater == userid && r.Createtime >= datemin && r.Createtime < datemax ).ToList();
            var list = _mapper.Map<List<GroupTopicDTO>>(listRole);
            return list;
        }
    }
}
zhengcaioa/Services/HrSalaryService.cs
@@ -546,6 +546,26 @@
            return list;
        }
        /// <summary>
        /// èŽ·å–æ‰€æœ‰æœ‰æ•ˆè§’è‰²
        /// </summary>
        /// <returns></returns>
        public HrSalaryDTO GetListByUser(string Userid, int year, int month)
        {
            var listPosition = _context.HrSalaries.Where(r => r.RecStatus == "A" && r.Userid == Userid && r.Year == year && r.Month == month).FirstOrDefault();
            HrSalaryDTO hrSalaryDTO = null;
            if (listPosition != null)
            {
                hrSalaryDTO = _mapper.Map<HrSalaryDTO>(listPosition);
            }
            return hrSalaryDTO;
        }
        /// <summary>
        /// å·¥èµ„核对
        /// </summary>
zhengcaioa/Services/ProjectService.cs
@@ -301,8 +301,30 @@
                sql.Append(" )");
            }
                  if (!string.IsNullOrWhiteSpace(searchEntity.fblx))
            if (!string.IsNullOrWhiteSpace(searchEntity.Reasonname))
            {
                sql.Append(" and  exists (select b.[ProjectId] from [Projectreason] b  where  a.[Id]=b.[ProjectId] and   b.[reasonname] like '%" + searchEntity.Reasonname + "%') ");
            }
            if (!string.IsNullOrWhiteSpace(searchEntity.ShiFouyReasonname))
            {
                if (searchEntity.ShiFouyReasonname == "A")
                {
                    sql.Append(" and  exists (select b.[ProjectId] from [Projectreason] b  where  a.[Id]=b.[ProjectId] ) ");
                }
                else
                {
                    sql.Append(" and not  exists (select b.[ProjectId] from [Projectreason] b  where  a.[Id]=b.[ProjectId] ) ");
                }
            }
            if (!string.IsNullOrWhiteSpace(searchEntity.fblx))
            {
                if (searchEntity.fblx == "A")
                {
@@ -316,16 +338,31 @@
            }
            DateTime StartTimestarstart = DateTime.Now;
            DateTime StartTimestarend = DateTime.Now;
            if (!string.IsNullOrWhiteSpace(searchEntity.StartTimestar))
            {
                sql.Append(" and a.start_time >='"+ searchEntity.StartTimestar.Trim().Replace("'","''") + "'");
                string[] StartTimestars = searchEntity.StartTimestar.Split("|");
                DateTime.TryParse(StartTimestars[0], out StartTimestarstart);
                DateTime.TryParse(StartTimestars[1], out StartTimestarend);
                //Createtimeend = Createtimeend.AddDays(1);
            }
            if (!string.IsNullOrWhiteSpace(searchEntity.StartTimeend))
            if (!string.IsNullOrWhiteSpace(searchEntity.StartTimestar))
            {
                sql.Append(" and a.start_time <='" + DateTime.Parse(searchEntity.StartTimeend.Trim().Replace("'", "''")).AddDays(1).ToString("yyyy-MM-dd") + "'"); ;
                sql.Append(" and a.start_time >='" + StartTimestarstart.ToString("yyyy-MM-dd") + "'");
            }
            if (!string.IsNullOrWhiteSpace(searchEntity.StartTimestar))
            {
                sql.Append(" and a.start_time <='" + StartTimestarend.AddDays(1).ToString("yyyy-MM-dd") + "'");
            }
            if (!string.IsNullOrWhiteSpace(searchEntity.Sheng))
            {
zhengcaioa/Services/SimService.cs
@@ -338,6 +338,17 @@
            return data;
        }
        public SimCostView GetSimCost(string userid, int bill_year, int bill_month)
        {
            var entity = _context.SimCostView.Where(x => x.user_id == userid && x.bill_year == bill_year && x.bill_month  == bill_month).FirstOrDefault();
            return entity;
        }
        #endregion
    }
}
zhengcaioa/Services/UserService.cs
@@ -393,6 +393,20 @@
            var list = _mapper.Map<List<PltUserDTO>>(listUser.ToList());
            return list;
        }
        /// <summary>
        /// èŽ·å–æ‰€æœ‰æ´»åŠ¨çŠ¶æ€çš„äººå‘˜
        /// </summary>
        /// <returns></returns>
        public List<PltUserDTO> GetListjisuankaoqin(DateTime dateminkaoqin, DateTime datemaxkaoqin)
        {
            var listUser = _context.PltUsers.Where(u => u.RecStatus == "A" && ( u.Zhiwustatus == "A" || ( u.Zhiwustatus =="D" && u.Outdate>= dateminkaoqin && u.Outdate < datemaxkaoqin )));
            var list = _mapper.Map<List<PltUserDTO>>(listUser.ToList());
            return list;
        }
    }
}
                                                         
zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs
@@ -417,7 +417,7 @@
                    if ((int)StratTime.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)StratTime.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
                    {
                        //是否节假日
                        if (jiejiari.Exists(x => x.ValueStart <= StratTime.Date && x.ValueStart >= StratTime.Date))
                        if (jiejiari.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
                        {
                            LavehTime += 0;
@@ -466,7 +466,7 @@
                    {
                        //是否调休日  è°ƒä¼‘日需要上班
                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueStart >= StratTime.Date))
                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
                        {
                            if (StratTime <= StratTimeWorkingStart)
                            {
@@ -512,7 +512,7 @@
                    if ((int)EndTime.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)EndTime.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
                    {
                        //是否节假日
                        if (jiejiari.Exists(x => x.ValueStart <= EndTime.Date && x.ValueStart >= EndTime.Date))
                        if (jiejiari.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date))
                        {
                            LavehTime += 0;
@@ -562,7 +562,7 @@
                    {
                        //是否调休日  è°ƒä¼‘日需要上班
                        if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueStart >= EndTime.Date))
                        if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date))
                        {
                            if (EndTime >= EndTimeOffworkEnd)
                            {
@@ -611,7 +611,7 @@
                    if ((int)dateTimenow.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)dateTimenow.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
                    {
                        //是否假期 å‡æœŸä¸ä¸Šç­
                        if (jiejiari.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueStart >= dateTimenow.Date))
                        if (jiejiari.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueEnd >= dateTimenow.Date))
                        {
                            LavehTime += 0;
                        }
@@ -624,7 +624,7 @@
                    {
                        //是否调休日  è°ƒä¼‘日需要上班
                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueStart >= StratTime.Date))
                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
                        {
                            LavehTime += shangbanshijian;
                        }
@@ -637,8 +637,32 @@
                if(ts.Days == 0)
                {
                    LavehTime -= shangbanshijian;
                { //是否上班日期
                    if ((int)StratTime.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)StratTime.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
                    {
                        //是否节假日
                        if (jiejiari.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
                        {
                            LavehTime -= 0;
                        }
                        else
                        {
                            LavehTime -= shangbanshijian;
                        }
                    }
                    else
                    {
                        //是否调休日  è°ƒä¼‘日需要上班
                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
                        {
                            LavehTime -= shangbanshijian;
                        }
                        else
                        {
                            LavehTime -= 0;
                        }
                    }
                }
               
            }
zhengcaioa/zhengcaioa/Controllers/HR/HrJixiaotichengController.cs
@@ -124,6 +124,19 @@
        public IActionResult Save(HrJixiaotichengDTO data)
        {
            ResultEntity resultEntity = new ResultEntity();
            if ( (data.Renwustandard == "01" || data.Renwustandard == "02") && data.Tichengstandard != "01")
            {
                resultEntity.Result = false;
                resultEntity.Message = "任务标准(个)只能对应提成标准(定额)!";
                return new JsonResult(resultEntity);
            }
            if ((data.Renwustandard == "03" || data.Renwustandard == "04") && data.Tichengstandard != "02")
            {
                resultEntity.Result = false;
                resultEntity.Message = "任务标准(元)只能对应提成标准(浮动)!";
                return new JsonResult(resultEntity);
            }
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            data.RecStatus = "A";
@@ -135,7 +148,7 @@
            data.Modifier = curentuser.Id;
            data.Modifytime = DateTime.Now;
            ResultEntity resultEntity = _hrJixiaotichengService.save(data);
             resultEntity = _hrJixiaotichengService.save(data);
            return new JsonResult(resultEntity);
        }
zhengcaioa/zhengcaioa/Controllers/ProjectController.cs
@@ -243,6 +243,7 @@
            ViewBag.Creater = _userService.GetList().Select(x => new { code = x.Id, label = x.UserName }).ToList();
            ViewBag.flbx = _liaotianService.GetSYScode("system", "shifou").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
            ViewBag.ShiFouyReasonname = _liaotianService.GetSYScode("Project", "ShiFouyReasonname").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
            return View();
        }
zhengcaioa/zhengcaioa/Controllers/UserController.cs
@@ -151,6 +151,10 @@
            {
                PltUserDTO.ShiyongDateName = PltUserDTO.ShiyongDate.Value.ToString("yyyy-MM-dd");
            }
            if (PltUserDTO.Outdate.HasValue)
            {
                PltUserDTO.OutdateName = PltUserDTO.Outdate.Value.ToString("yyyy-MM-dd");
            }
            if (pltJiatingchengyuanDTOs.Count == 0)
            {
zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
@@ -1,20 +1,62 @@
using Microsoft.Extensions.Hosting;
using DTO;
using IServices;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Transactions;
using zhengcaioa.IService;
using zhengcaioa.Models;
namespace zhengcaioa.Timer
{
    public class TimedBackgroundService : BackgroundService
    {
        private readonly ILogger _logger;
        private readonly IAdmAttendanceRuleService _attendanceRuleService;
        private readonly IUserService _userService;
        private readonly IAdmSigninService _signinService;
        private readonly IAdmAttendanceService _admAttendanceService;
        private readonly IAdmAttendanceDtlService _admAttendanceDtlService;
        private readonly IHrSalaryService _hrSalaryService;
        private readonly IHrJibengongziService _JibengongziService;
        private readonly ISimService _simService;
        private readonly IDailyManagementService _DailyManageService;
        private readonly IAdmBreakPrecedentService _admBreakPrecedentService;
        private readonly IHrJixiaotichengService _hrJixiaotichengService;
        private readonly IFiPiecerateService _fiPiecerateService;
        private readonly IAdmPieceCheckService _admPieceCheckService;
        private readonly ICooperOrderService _cooperOrderService;
        private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService;
        private readonly IGroupTopicService _groupTopicService;
        private readonly ICooperVisitService _cooperVisitService;
        public TimedBackgroundService(ILogger<TimedBackgroundService> logger)
        private readonly decimal jiabangongzibiaozhun = new decimal(21.5);
        public TimedBackgroundService(ILogger<TimedBackgroundService> logger, IServiceScopeFactory factory)
        {
            _logger = logger;
            _attendanceRuleService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmAttendanceRuleService>();
            _userService = factory.CreateScope().ServiceProvider.GetRequiredService<IUserService>();
            _signinService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmSigninService>();
            _admAttendanceService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmAttendanceService>();
            _admAttendanceDtlService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmAttendanceDtlService>();
            _hrSalaryService = factory.CreateScope().ServiceProvider.GetRequiredService<IHrSalaryService>();
            _JibengongziService = factory.CreateScope().ServiceProvider.GetRequiredService<IHrJibengongziService>();
            _simService = factory.CreateScope().ServiceProvider.GetRequiredService<ISimService>();
            _DailyManageService = factory.CreateScope().ServiceProvider.GetRequiredService<IDailyManagementService>();
            _admBreakPrecedentService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmBreakPrecedentService>();
            _hrJixiaotichengService = factory.CreateScope().ServiceProvider.GetRequiredService<IHrJixiaotichengService>();
            _fiPiecerateService = factory.CreateScope().ServiceProvider.GetRequiredService<IFiPiecerateService>();
            _admPieceCheckService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmPieceCheckService>();
            _cooperOrderService = factory.CreateScope().ServiceProvider.GetRequiredService<ICooperOrderService>();
            _cooperatecustomCustomerService = factory.CreateScope().ServiceProvider.GetRequiredService<ICooperatecustomCustomerService>();
            _groupTopicService = factory.CreateScope().ServiceProvider.GetRequiredService<IGroupTopicService>();
            _cooperVisitService = factory.CreateScope().ServiceProvider.GetRequiredService<ICooperVisitService>();
        }
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
@@ -25,8 +67,43 @@
            while (!stoppingToken.IsCancellationRequested)
            {
                _logger.LogInformation("MyServiceA å¼€å§‹æ‰§è¡Œ");
                //每天的0点开始计算
                if (DateTime.Now.Hour == 0)
                //if (true)
                {
                    try
                    {
                        DateTime diwutian = this.diwugongzuori();
                        //第五个工作日结束后开始计算
                        if (DateTime.Now.Date == diwutian.AddDays(1))
                        //if (true)
                        {
                            try
                            {
                                //using (TransactionScope scope = new TransactionScope())
                                //{
                                    this.jisuankaoqin();
                                    this.jisuangongzi();
                                    //scope.Complete();
                                //}
                await Task.Delay(TimeSpan.FromMinutes(1), stoppingToken);
                            }
                            catch (Exception ex)
                            {
                                _logger.LogInformation(ex.ToString());
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        _logger.LogInformation(ex.ToString());
                    }
                }
                await Task.Delay(TimeSpan.FromMinutes(59), stoppingToken);
                _logger.LogInformation("继续执行");
            }
@@ -38,5 +115,2649 @@
        {
            base.Dispose();
        }
        //计算第五个工作日
        public DateTime diwugongzuori()
        {
            var admAttendanceRulesDtlDTOs = _attendanceRuleService.GetDtlList("");
            AdmAttendanceRuleDTO admAttendanceRuleDTO = _attendanceRuleService.Get("");
            var jiejiari = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiejiari").ToList();
            var tiaoxiuri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "tiaoxiuri").ToList();
            //获取本月的第五个工作日日期。
            DateTime datemin = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
            DateTime datemax = datemin.AddMonths(1);
            _logger.LogInformation("datemin" + datemin);
            _logger.LogInformation("datemax" + datemax);
            DateTime diwutian = DateTime.MinValue;
            int i = 0;
            while (datemin < datemax)
            {
                //是否上班日期
                if ((int)datemin.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)datemin.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
                {
                    //是否节假日
                    if (jiejiari.Exists(x => x.ValueStart <= datemin && x.ValueEnd >= datemin))
                    {
                    }
                    else
                    {
                        i += 1;
                    }
                }
                else
                {
                    //是否调休日  è°ƒä¼‘日需要上班
                    if (tiaoxiuri.Exists(x => x.ValueStart <= datemin && x.ValueEnd >= datemin))
                    {
                        i += 1;
                    }
                    else
                    {
                    }
                }
                if (i == 5)
                {
                    diwutian = datemin;
                    break;
                }
                datemin = datemin.AddDays(1);
            }
            _logger.LogInformation("diwutian" + diwutian);
            _logger.LogInformation("DateTime.Now" + DateTime.Now.Date);
            return diwutian;
        }
        //计算考勤
        public void jisuankaoqin()
        {
            var admAttendanceRulesDtlDTOs = _attendanceRuleService.GetDtlList("");
            AdmAttendanceRuleDTO admAttendanceRuleDTO = _attendanceRuleService.Get("");
            var jiejiari = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiejiari").ToList();
            var tiaoxiuri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "tiaoxiuri").ToList();
            //每天的考勤时间点
            string[] WorkingStart = admAttendanceRuleDTO.WorkingStart.Split('.');
            int WorkingStarthour = int.Parse(WorkingStart[0]);
            int WorkingStartmin = int.Parse(WorkingStart[1]);
            string[] WorkingEnd = admAttendanceRuleDTO.WorkingEnd.Split('.');
            int WorkingEndhour = int.Parse(WorkingEnd[0]);
            int WorkingEndmin = int.Parse(WorkingEnd[1]);
            string[] OffworkStart = admAttendanceRuleDTO.OffworkStart.Split('.');
            int OffworkStarthour = int.Parse(OffworkStart[0]);
            int OffworkStartmin = int.Parse(OffworkStart[1]);
            string[] OffworkEnd = admAttendanceRuleDTO.OffworkEnd.Split('.');
            int OffworkEndhour = int.Parse(OffworkEnd[0]);
            int OffworkEndmin = int.Parse(OffworkEnd[1]);
            ResultEntity resultEntity = new ResultEntity();
            resultEntity.Result = false;
            //查询所有的有效人员
            List<PltUserDTO> userList = _userService.GetListjisuankaoqin(new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, 1), new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, 1).AddMonths(1));//.Where(x => x.UserSn == "yang").ToList();
            for (int a = 0; a < userList.Count; a++)
            {
                _logger.LogInformation("开始计算" + userList[a].UserName + "考勤");
                //开始计算考勤
                DateTime dateminkaoqin = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, 1);
                DateTime datemaxkaoqin = dateminkaoqin.AddMonths(1);
                List<AdmAskLeaveDTO> admAskLeaveDTOs = _signinService.GetAskLeaveByUserId(userList[a].Id);
                List<AdmAskLeaveOffDTO> admAskLeaveOffDTOs = _signinService.GetAskLeaveOffByUserId(userList[a].Id);
                //插入考勤主表
                AdmAttendanceDTO admAttendanceDTO = _admAttendanceService.GetByUserAndDate(userList[a].Id, dateminkaoqin.Year, dateminkaoqin.Month);
                if (admAttendanceDTO == null)
                {
                    admAttendanceDTO = new AdmAttendanceDTO();
                    admAttendanceDTO.Userid = userList[a].Id;
                    admAttendanceDTO.Year = dateminkaoqin.Year;
                    admAttendanceDTO.Month = dateminkaoqin.Month;
                    admAttendanceDTO.Yingchuqin = 0;
                    admAttendanceDTO.Offdays = 0;
                    admAttendanceDTO.Shijichuqin = 0;
                    admAttendanceDTO.Qingjia = 0;
                    admAttendanceDTO.Jiaban = 0;
                    admAttendanceDTO.Xiaojia = 0;
                    admAttendanceDTO.Chidao = 0;
                    admAttendanceDTO.Zaotui = 0;
                    admAttendanceDTO.Kuanggong = 0;
                    admAttendanceDTO.Islock = "D";
                    admAttendanceDTO.RecStatus = "A";
                    admAttendanceDTO.Creater = "1";
                    admAttendanceDTO.Modifier = "1";
                    admAttendanceDTO.Createtime = DateTime.Now;
                    admAttendanceDTO.Modifytime = admAttendanceDTO.Createtime;
                     resultEntity   =   _admAttendanceService.save(admAttendanceDTO);
                    if(resultEntity.Result == false)
                    {
                        throw new Exception("计算失败");
                    }
                }
                int Yingchuqin = 0;
                int Offdays = 0;
                decimal Shijichuqin = 0;
                decimal Qingjia = 0;
                decimal Jiaban = 0;
                decimal Chidao = 0;
                decimal Zaotui = 0;
                decimal Kuanggong = 0;
                decimal Xiaojia = 0;
                while (dateminkaoqin < datemaxkaoqin)
                {
                    _logger.LogInformation("dateminkaoqin " + dateminkaoqin);
                    bool iswork = false;
                    //是否上班日期
                    if ((int)dateminkaoqin.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)dateminkaoqin.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
                    {
                        //是否节假日
                        if (jiejiari.Exists(x => x.ValueStart <= dateminkaoqin && x.ValueEnd >= dateminkaoqin))
                        {
                            Offdays += 1;
                        }
                        else
                        {
                            Yingchuqin += 1;
                            iswork = true;
                        }
                    }
                    else
                    {
                        //是否调休日  è°ƒä¼‘日需要上班
                        if (tiaoxiuri.Exists(x => x.ValueStart <= dateminkaoqin.Date && x.ValueEnd >= dateminkaoqin.Date))
                        {
                            Yingchuqin += 1;
                            iswork = true;
                        }
                        else
                        {
                            Offdays += 1;
                        }
                    }
                    if(userList[a].Outdate.HasValue && dateminkaoqin >=userList[a].Outdate   )
                    {
                        dateminkaoqin = dateminkaoqin.AddDays(1);
                        continue;
                    }
                    if (userList[a].Indate.HasValue && dateminkaoqin < userList[a].Indate)
                    {
                        dateminkaoqin = dateminkaoqin.AddDays(1);
                        continue;
                    }
                    //判断考勤状态
                    AdmSignInDTO admSignInDTO = _signinService.GetByUserAndDate(userList[a].Id, dateminkaoqin);
                    if (admSignInDTO == null)
                    {
                        admSignInDTO = new AdmSignInDTO();
                    }
                    //查询请假   è¯·å‡æ—¶é—´ä¸èƒ½é‡å 
                    List<AdmAskLeaveDTO> admAskLeaveDTOMin = admAskLeaveDTOs.Where(x =>x.Lavetype != "2" &&  x.StratTime < dateminkaoqin.AddDays(1) && x.EndTime > dateminkaoqin).OrderByDescending(x=>x.Createtime).ToList();
                    //查询销假   é”€å‡æ—¶é—´ä¸èƒ½é‡å 
                    List<AdmAskLeaveOffDTO> admAskLeaveOffDTOMin = admAskLeaveOffDTOs.Where(x => x.StratTime < dateminkaoqin.AddDays(1) && x.EndTime > dateminkaoqin).OrderByDescending(x => x.Createtime).ToList();
                    //请假开始时间上班时间
                    DateTime StratTimeWorkingStart = dateminkaoqin.Date.AddHours(WorkingStarthour).AddMinutes(WorkingStartmin);
                    DateTime StratTimeWorkingEnd = dateminkaoqin.Date.AddHours(WorkingEndhour).AddMinutes(WorkingEndmin);
                    DateTime StratTimeOffworkStart = dateminkaoqin.Date.AddHours(OffworkStarthour).AddMinutes(OffworkStartmin);
                    DateTime StratTimeOffworkEnd = dateminkaoqin.Date.AddHours(OffworkEndhour).AddMinutes(OffworkEndmin);
                    //上班时间
                    TimeSpan shangwu = StratTimeWorkingEnd.Subtract(StratTimeWorkingStart);
                    TimeSpan xiawu = StratTimeOffworkEnd.Subtract(StratTimeOffworkStart);
                    int shangbanshijian = shangwu.Hours * 60 + shangwu.Minutes + xiawu.Hours * 60 + xiawu.Minutes;
                     decimal Shangwuchidaofenzhong = 0;
                    decimal Xiawuchidaofenzhong = 0;
                    decimal Shangwuzaotuifenzhong = 0;
                    decimal Xiawuzaotuifenzhong = 0;
                    decimal Kuanggongtianshu = 0;
                    decimal dangtianqingjia = 0;
                    decimal dangtianxiaojia = 0;
                    string Iswork = "D";
                    if (iswork)
                    {
                        Iswork = "A";
                    }
                    //是否是工作日
                    if (iswork)
                    {
                        //判断考勤时间的连续性
                        //判断早上是否迟到,判断早上是否早退,早退矿工处理
                        DateTime? starttime = null;
                        DateTime? endttime = null;
                        bool kuanggong = false;
                        List<DateBiJiaoDTO> dateBiJiaoDTOs = new List<DateBiJiaoDTO>();
                        if (admSignInDTO != null && admSignInDTO.MorningIn.HasValue && admSignInDTO.MorningOut.HasValue)
                        {
                            DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
                            dateBiJiaoDTO.StartTime = admSignInDTO.MorningIn;
                            dateBiJiaoDTO.EndTime = admSignInDTO.MorningOut;
                            dateBiJiaoDTOs.Add(dateBiJiaoDTO);
                        }
                        foreach (var admAskLeave in admAskLeaveDTOMin)
                        {
                            if(admAskLeave.StratTime< StratTimeWorkingEnd)
                            {
                                DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
                                dateBiJiaoDTO.StartTime = admAskLeave.StratTime;
                                dateBiJiaoDTO.EndTime = admAskLeave.EndTime;
                                dateBiJiaoDTOs.Add(dateBiJiaoDTO);
                            }
                        }
                        foreach (var admAskLeaveOff in admAskLeaveOffDTOMin)
                        {
                            if (admAskLeaveOff.StratTime < StratTimeWorkingEnd)
                            {
                                DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
                                dateBiJiaoDTO.StartTime = admAskLeaveOff.StratTime;
                                dateBiJiaoDTO.EndTime = admAskLeaveOff.EndTime;
                                dateBiJiaoDTOs.Add(dateBiJiaoDTO);
                            }
                        }
                        dateBiJiaoDTOs = dateBiJiaoDTOs.OrderBy(x => x.StartTime).ToList();
                        if (dateBiJiaoDTOs.Count == 0)
                        {
                            Kuanggong += new decimal(0.5);
                            Kuanggongtianshu += new decimal(0.5);
                        }
                        else
                        {
                            //判断上午考勤时间是否全覆盖
                            for (int i = 0; i < dateBiJiaoDTOs.Count; i++)
                            {
                                if (i == 0)
                                {
                                    starttime = dateBiJiaoDTOs[i].StartTime;
                                    endttime = dateBiJiaoDTOs[i].EndTime;
                                }
                                else
                                {
                                    if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
                                    {
                                        kuanggong = true;
                                        break;
                                    }
                                    else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
                                    {
                                        endttime = dateBiJiaoDTOs[i].EndTime;
                                    }
                                }
                            }
                            if (kuanggong)
                            {
                                Kuanggong += new decimal(0.5);
                                Kuanggongtianshu += new decimal(0.5);
                            }
                            else
                            {
                                decimal shangwukuanggong = 0;
                                if(starttime> StratTimeWorkingStart)
                                {
                                    TimeSpan chidao = starttime.Value.Subtract(StratTimeWorkingStart);
                                    if(chidao.Days>0 ||  ( chidao.Hours*60+ chidao.Minutes) > admAttendanceRuleDTO.Absenteeism)
                                    {
                                        if (shangwukuanggong == 0)
                                        {
                                            shangwukuanggong += new decimal(0.5);
                                            Kuanggong += new decimal(0.5);
                                        }
                                    }
                                    else
                                    {
                                        Chidao += 1;
                                        Shangwuchidaofenzhong = chidao.Hours * 60 + chidao.Minutes;
                                    }
                                }
                                if(shangwukuanggong ==0 && endttime < StratTimeWorkingEnd)
                                {
                                    TimeSpan zaotui = StratTimeWorkingEnd.Subtract(endttime.Value);
                                    if (zaotui.Days > 0 || (zaotui.Hours * 60 + zaotui.Minutes) > admAttendanceRuleDTO.Absenteeism)
                                    {
                                        if (shangwukuanggong == 0)
                                        {
                                            shangwukuanggong += new decimal(0.5);
                                            Kuanggong += new decimal(0.5);
                                        }
                                    }
                                    else
                                    {
                                        Zaotui += 1;
                                        Shangwuzaotuifenzhong = zaotui.Hours * 60 + zaotui.Minutes;
                                    }
                                }
                                Kuanggongtianshu += shangwukuanggong;
                            }
                        }
                        //判断下午是否迟到,判断下午是否早退,早退矿工处理
                        starttime = null;
                        endttime = null;
                        kuanggong = false;
                       dateBiJiaoDTOs = new List<DateBiJiaoDTO>();
                        if (admSignInDTO != null && admSignInDTO.AfternoonIn.HasValue && admSignInDTO.AfternoonOut.HasValue)
                        {
                            DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
                            dateBiJiaoDTO.StartTime = admSignInDTO.AfternoonIn;
                            dateBiJiaoDTO.EndTime = admSignInDTO.AfternoonOut;
                            dateBiJiaoDTOs.Add(dateBiJiaoDTO);
                        }
                        foreach (var admAskLeave in admAskLeaveDTOMin)
                        {
                            if (admAskLeave.EndTime > StratTimeOffworkStart)
                            {
                                DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
                                dateBiJiaoDTO.StartTime = admAskLeave.StratTime;
                                dateBiJiaoDTO.EndTime = admAskLeave.EndTime;
                                dateBiJiaoDTOs.Add(dateBiJiaoDTO);
                            }
                        }
                        foreach (var admAskLeaveOff in admAskLeaveOffDTOMin)
                        {
                            if (admAskLeaveOff.EndTime > StratTimeOffworkStart)
                            {
                                DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
                                dateBiJiaoDTO.StartTime = admAskLeaveOff.StratTime;
                                dateBiJiaoDTO.EndTime = admAskLeaveOff.EndTime;
                                dateBiJiaoDTOs.Add(dateBiJiaoDTO);
                            }
                        }
                        dateBiJiaoDTOs = dateBiJiaoDTOs.OrderBy(x => x.StartTime).ToList();
                        if (dateBiJiaoDTOs.Count == 0)
                        {
                            Kuanggong += new decimal(0.5);
                            Kuanggongtianshu += new decimal(0.5);
                        }
                        else
                        {
                            //判断上午考勤时间是否全覆盖
                            for (int i = 0; i < dateBiJiaoDTOs.Count; i++)
                            {
                                if (i == 0)
                                {
                                    starttime = dateBiJiaoDTOs[i].StartTime;
                                    endttime = dateBiJiaoDTOs[i].EndTime;
                                }
                                else
                                {
                                    if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
                                    {
                                        kuanggong = true;
                                        break;
                                    }
                                    else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
                                    {
                                        endttime = dateBiJiaoDTOs[i].EndTime;
                                    }
                                }
                            }
                            if (kuanggong)
                            {
                                Kuanggong += new decimal(0.5);
                                Kuanggongtianshu += new decimal(0.5);
                            }
                            else
                            {
                                decimal xiawuwukuanggong = 0;
                                if (starttime > StratTimeOffworkStart)
                                {
                                    TimeSpan chidao = starttime.Value.Subtract(StratTimeOffworkStart);
                                    if (chidao.Days > 0 || (chidao.Hours * 60 + chidao.Minutes) > admAttendanceRuleDTO.Absenteeism)
                                    {
                                        if (xiawuwukuanggong == 0)
                                        {
                                            xiawuwukuanggong += new decimal(0.5);
                                            Kuanggong += new decimal(0.5);
                                        }
                                    }
                                    else
                                    {
                                        Chidao += 1;
                                        Xiawuchidaofenzhong = chidao.Hours * 60 + chidao.Minutes;
                                    }
                                }
                                if (xiawuwukuanggong == 0 && endttime < StratTimeOffworkEnd)
                                {
                                    TimeSpan zaotui = StratTimeOffworkEnd.Subtract(endttime.Value);
                                    if (zaotui.Days > 0 || (zaotui.Hours * 60 + zaotui.Minutes) > admAttendanceRuleDTO.Absenteeism)
                                    {
                                        if (xiawuwukuanggong == 0)
                                        {
                                            xiawuwukuanggong += new decimal(0.5);
                                            Kuanggong += new decimal(0.5);
                                        }
                                    }
                                    else
                                    {
                                        Zaotui += 1;
                                        Xiawuzaotuifenzhong = zaotui.Hours * 60 + zaotui.Minutes;
                                    }
                                }
                                Kuanggongtianshu += xiawuwukuanggong;
                            }
                        }
                        //计算当天请假
                        List<DateBiJiaoDTO> qingjias = new List<DateBiJiaoDTO>();
                        var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4").ToList();
                        foreach (var admAskLeave in feichuqinjia)
                        {
                                DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
                                dateBiJiaoDTO.StartTime = admAskLeave.StratTime;
                                dateBiJiaoDTO.EndTime = admAskLeave.EndTime;
                                qingjias.Add(dateBiJiaoDTO);
                        }
                        var feichuqinxiaojia = admAskLeaveOffDTOMin.Where(x => x.Lavetype == "2").ToList();
                        foreach (var admAskLeaveOff in feichuqinxiaojia)
                        {
                                DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
                                dateBiJiaoDTO.StartTime = admAskLeaveOff.StratTime;
                                dateBiJiaoDTO.EndTime = admAskLeaveOff.EndTime;
                                qingjias.Add(dateBiJiaoDTO);
                        }
                        foreach(var  qingjia in qingjias)
                        {
                            if(qingjia.StartTime< StratTimeWorkingStart)
                            {
                                qingjia.StartTime = StratTimeWorkingStart;
                            }
                            if (qingjia.StartTime > StratTimeWorkingEnd && qingjia.StartTime < StratTimeOffworkStart)
                            {
                                qingjia.StartTime = StratTimeOffworkStart;
                            }
                            if (qingjia.EndTime > StratTimeWorkingEnd && qingjia.EndTime < StratTimeOffworkStart)
                            {
                                qingjia.EndTime = StratTimeWorkingEnd;
                            }
                            if (qingjia.EndTime > StratTimeOffworkEnd)
                            {
                                qingjia.EndTime = StratTimeOffworkEnd;
                            }
                            TimeSpan qingjiashiijan = qingjia.EndTime.Value.Subtract(qingjia.StartTime.Value);
                            if(qingjia.StartTime<= StratTimeWorkingEnd && qingjia.EndTime>= StratTimeOffworkStart)
                            {
                                TimeSpan wuxiushijian = StratTimeOffworkStart.Subtract(StratTimeWorkingEnd);
                                dangtianqingjia += Math.Round(((decimal)(qingjiashiijan.Hours * 60 + qingjiashiijan.Minutes- wuxiushijian.Hours * 60- wuxiushijian.Minutes)) / ((decimal)shangbanshijian), 2);
                            }
                            else
                            {
                                dangtianqingjia += Math.Round(((decimal)(qingjiashiijan.Hours * 60 + qingjiashiijan.Minutes)) / ((decimal)shangbanshijian), 2);
                            }
                        }
                        Qingjia += dangtianqingjia;
                        //计算当天出勤天数
                        Shijichuqin += (1 - Kuanggongtianshu - dangtianqingjia);
                        //计算销假(出差,补卡)
                        List<DateBiJiaoDTO> xiaojias = new List<DateBiJiaoDTO>();
                        var xiaojiala = admAskLeaveOffDTOMin.Where(x => x.Lavetype != "2").ToList();
                        foreach (var admAskLeaveOff in xiaojiala)
                        {
                            DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
                            dateBiJiaoDTO.StartTime = admAskLeaveOff.StratTime;
                            dateBiJiaoDTO.EndTime = admAskLeaveOff.EndTime;
                            xiaojias.Add(dateBiJiaoDTO);
                        }
                        foreach (var xiaojia in xiaojias)
                        {
                            if (xiaojia.StartTime < StratTimeWorkingStart)
                            {
                                xiaojia.StartTime = StratTimeWorkingStart;
                            }
                            if (xiaojia.StartTime > StratTimeWorkingEnd && xiaojia.StartTime < StratTimeOffworkStart)
                            {
                                xiaojia.StartTime = StratTimeOffworkStart;
                            }
                            if (xiaojia.EndTime > StratTimeWorkingEnd && xiaojia.EndTime < StratTimeOffworkStart)
                            {
                                xiaojia.EndTime = StratTimeWorkingEnd;
                            }
                            if (xiaojia.EndTime > StratTimeOffworkEnd)
                            {
                                xiaojia.EndTime = StratTimeOffworkEnd;
                            }
                            TimeSpan qingjiashiijan = xiaojia.EndTime.Value.Subtract(xiaojia.StartTime.Value);
                            if (xiaojia.StartTime <= StratTimeWorkingEnd && xiaojia.EndTime >= StratTimeOffworkStart)
                            {
                                TimeSpan wuxiushijian = StratTimeOffworkStart.Subtract(StratTimeWorkingEnd);
                                dangtianxiaojia += Math.Round(((decimal)(qingjiashiijan.Hours * 60 + qingjiashiijan.Minutes - wuxiushijian.Hours * 60 - wuxiushijian.Minutes)) / ((decimal)shangbanshijian), 2);
                            }
                            else
                            {
                                dangtianxiaojia += Math.Round(((decimal)(qingjiashiijan.Hours * 60 + qingjiashiijan.Minutes)) / ((decimal)shangbanshijian), 2);
                            }
                        }
                        Xiaojia += dangtianxiaojia;
                        //计算加班时间
                        if (admSignInDTO != null && admSignInDTO.OvertimeIn.HasValue && admSignInDTO.OvertimeOut.HasValue)
                        {
                            DateTime overdate = admSignInDTO.OvertimeIn.Value;
                            if (admSignInDTO.OvertimeIn.Value< StratTimeOffworkEnd)
                            {
                                overdate = StratTimeOffworkEnd;
                            }
                            TimeSpan jiaban = admSignInDTO.OvertimeOut.Value.Subtract(overdate);
                            Jiaban += Math.Round((decimal)(jiaban.Hours * 60) / (decimal)shangbanshijian, 2);
                        }
                    }
                    else
                    {
                        //加班
                        //计算加班时间
                        if (admSignInDTO != null && admSignInDTO.OvertimeIn.HasValue && admSignInDTO.OvertimeOut.HasValue)
                        {
                            TimeSpan jiaban = admSignInDTO.OvertimeOut.Value.Subtract(admSignInDTO.OvertimeIn.Value);
                            Jiaban += Math.Round((decimal)(jiaban.Hours * 60+ jiaban.Minutes) / (decimal)shangbanshijian, 2);
                        }
                    }
                    //插入考勤明细表
                    AdmAttendanceDtlDTO admAttendanceDtlDTO = _admAttendanceDtlService.GetByUserAndDate(admAttendanceDTO.Id, dateminkaoqin);
                    if (admAttendanceDtlDTO == null)
                    {
                        admAttendanceDtlDTO = new AdmAttendanceDtlDTO();
                        admAttendanceDtlDTO.AttendanceId = admAttendanceDTO.Id;
                        admAttendanceDtlDTO.SgninDate = dateminkaoqin;
                        admAttendanceDtlDTO.MorningIn = admSignInDTO.MorningIn;
                        admAttendanceDtlDTO.MorningOut = admSignInDTO.MorningOut;
                        admAttendanceDtlDTO.AfternoonIn = admSignInDTO.AfternoonIn;
                        admAttendanceDtlDTO.AfternoonOut = admSignInDTO.AfternoonOut;
                        admAttendanceDtlDTO.OvertimeIn = admSignInDTO.OvertimeIn;
                        admAttendanceDtlDTO.OvertimeOut = admSignInDTO.OvertimeOut;
                        admAttendanceDtlDTO.Qingjia = dangtianqingjia;
                        admAttendanceDtlDTO.Xiaojia = dangtianxiaojia;
                        admAttendanceDtlDTO.RecStatus = "A";
                        admAttendanceDtlDTO.Creater = "1";
                        admAttendanceDtlDTO.Modifier = "1";
                        admAttendanceDtlDTO.Createtime = DateTime.Now;
                        admAttendanceDtlDTO.Modifytime = admAttendanceDTO.Createtime;
                        admAttendanceDtlDTO.Shangwuchidaofenzhong = Shangwuchidaofenzhong;
                        admAttendanceDtlDTO.Xiawuchidaofenzhong = Xiawuchidaofenzhong;
                        admAttendanceDtlDTO.Shangwuzaotuifenzhong = Shangwuzaotuifenzhong;
                        admAttendanceDtlDTO.Xiawuzaotuifenzhong = Xiawuzaotuifenzhong;
                        admAttendanceDtlDTO.Kuanggongtianshu = Kuanggongtianshu;
                        admAttendanceDtlDTO.Iswork = Iswork;
                        resultEntity = _admAttendanceDtlService.save(admAttendanceDtlDTO);
                        if (resultEntity.Result == false)
                        {
                            throw new Exception("计算失败");
                        }
                    }
                    else
                    {
                        admAttendanceDtlDTO.AttendanceId = admAttendanceDTO.Id;
                        admAttendanceDtlDTO.SgninDate = dateminkaoqin;
                        admAttendanceDtlDTO.MorningIn = admSignInDTO.MorningIn;
                        admAttendanceDtlDTO.MorningOut = admSignInDTO.MorningOut;
                        admAttendanceDtlDTO.AfternoonIn = admSignInDTO.AfternoonIn;
                        admAttendanceDtlDTO.AfternoonOut = admSignInDTO.AfternoonOut;
                        admAttendanceDtlDTO.OvertimeIn = admSignInDTO.OvertimeIn;
                        admAttendanceDtlDTO.OvertimeOut = admSignInDTO.OvertimeOut;
                        admAttendanceDtlDTO.Qingjia = dangtianqingjia;
                        admAttendanceDtlDTO.Xiaojia = dangtianxiaojia;
                        admAttendanceDtlDTO.RecStatus = "A";
                        admAttendanceDtlDTO.Creater = "1";
                        admAttendanceDtlDTO.Modifier = "1";
                        admAttendanceDtlDTO.Createtime = DateTime.Now;
                        admAttendanceDtlDTO.Modifytime = admAttendanceDTO.Createtime;
                        admAttendanceDtlDTO.Shangwuchidaofenzhong = Shangwuchidaofenzhong;
                        admAttendanceDtlDTO.Xiawuchidaofenzhong = Xiawuchidaofenzhong;
                        admAttendanceDtlDTO.Shangwuzaotuifenzhong = Shangwuzaotuifenzhong;
                        admAttendanceDtlDTO.Xiawuzaotuifenzhong = Xiawuzaotuifenzhong;
                        admAttendanceDtlDTO.Kuanggongtianshu = Kuanggongtianshu;
                        admAttendanceDtlDTO.Iswork = Iswork;
                        resultEntity = _admAttendanceDtlService.save(admAttendanceDtlDTO);
                        if (resultEntity.Result == false)
                        {
                            throw new Exception("计算失败");
                        }
                    }
                    dateminkaoqin = dateminkaoqin.AddDays(1);
                }
                if(Shijichuqin< Yingchuqin)
                {
                    if((Yingchuqin -Shijichuqin)< Jiaban)
                    {
                        Jiaban = Jiaban - (Yingchuqin - Shijichuqin);
                        Shijichuqin = Yingchuqin;
                    }
                    else
                    {
                        Shijichuqin += Jiaban;
                        Jiaban = 0;
                    }
                }
                admAttendanceDTO.Yingchuqin = Yingchuqin;
                admAttendanceDTO.Offdays = Offdays;
                admAttendanceDTO.Shijichuqin = Shijichuqin;
                admAttendanceDTO.Jiaban = Jiaban;
                admAttendanceDTO.Zaotui = Zaotui;
                admAttendanceDTO.Kuanggong = Kuanggong;
                admAttendanceDTO.Qingjia = Qingjia;
                admAttendanceDTO.Xiaojia = Xiaojia;
                admAttendanceDTO.Chidao = Chidao;
                admAttendanceDTO.Islock = "A";
                resultEntity = _admAttendanceService.save(admAttendanceDTO);
                if (resultEntity.Result == false)
                {
                    throw new Exception("计算失败");
                }
            }
        }
        //计算工资
        public void jisuangongzi()
        {
            //查询所有的有效人员
            DateTime dateminkaoqin = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, 1);
            DateTime datemaxkaoqin = dateminkaoqin.AddMonths(1);
            List<PltUserDTO> userList = _userService.GetListjisuankaoqin(dateminkaoqin, datemaxkaoqin);//.Where(x => x.UserSn == "yang").ToList();
            List<HrJibengongziDTO> hrJibengongziDTOs = _JibengongziService.GetList().Where(x=>  x.Effecttime < datemaxkaoqin).ToList();
            List<SimBindView>  simBindViews  = _simService.GetBindSim().Where(x=>x.simstatus == "A").ToList();
            AdmAttendanceRuleDTO admAttendanceRuleDTO = _attendanceRuleService.Get("");
            //每天的考勤时间点
            string[] WorkingStart = admAttendanceRuleDTO.WorkingStart.Split('.');
            int WorkingStarthour = int.Parse(WorkingStart[0]);
            int WorkingStartmin = int.Parse(WorkingStart[1]);
            string[] WorkingEnd = admAttendanceRuleDTO.WorkingEnd.Split('.');
            int WorkingEndhour = int.Parse(WorkingEnd[0]);
            int WorkingEndmin = int.Parse(WorkingEnd[1]);
            string[] OffworkStart = admAttendanceRuleDTO.OffworkStart.Split('.');
            int OffworkStarthour = int.Parse(OffworkStart[0]);
            int OffworkStartmin = int.Parse(OffworkStart[1]);
            string[] OffworkEnd = admAttendanceRuleDTO.OffworkEnd.Split('.');
            int OffworkEndhour = int.Parse(OffworkEnd[0]);
            int OffworkEndmin = int.Parse(OffworkEnd[1]);
            List<FiPiecerateDTO>   fiPiecerateDTOs  = _fiPiecerateService.GetList();
            List<HrJixiaotichengDTO>  hrJixiaotichengDTOs = _hrJixiaotichengService.GetList().Where(x => x.Effecttime < datemaxkaoqin).ToList();
            for (int i = 0; i < userList.Count; i++)
            {
                _logger.LogInformation("开始计算" + userList[i].UserName + "工资");
                HrSalaryDTO hrSalaryDTO  =   _hrSalaryService.GetListByUser(userList[i].Id, dateminkaoqin.Year, dateminkaoqin.Month);
                if (hrSalaryDTO == null)
                {
                    hrSalaryDTO = new HrSalaryDTO();
                    hrSalaryDTO.Userid = userList[i].Id;
                    hrSalaryDTO.Year = dateminkaoqin.Year;
                    hrSalaryDTO.Month = dateminkaoqin.Month;
                }
                //查询当月考勤
                AdmAttendanceDTO admAttendanceDTO = _admAttendanceService.GetByUserAndDate(userList[i].Id, dateminkaoqin.Year, dateminkaoqin.Month);
                if (admAttendanceDTO == null)
                {
                    _logger.LogInformation( userList[i].UserName + ":" + dateminkaoqin.Year+"å¹´"+ dateminkaoqin.Month + "月没有查询到考勤");
                    continue;
                }
                AdmAttendanceDtlDTOSearch searchEntity = new AdmAttendanceDtlDTOSearch();
                searchEntity.AttendanceId = admAttendanceDTO.Id;
                List<AdmAttendanceDtlDTO> admAttendanceDtlDTOs = _admAttendanceDtlService.GetList(searchEntity).OrderBy(x => x.SgninDate).ToList();
                //当月出勤率
                decimal chuqinlv = Math.Round(admAttendanceDTO.Shijichuqin / admAttendanceDTO.Yingchuqin,4);
                //查询当前员工职务的基本工资配置
               var hrJibengongzi = hrJibengongziDTOs.Where(x=>x.PostId == userList[i].HrPosition ).OrderByDescending(x=>x.Effecttime).FirstOrDefault();
                if (hrJibengongzi == null)
                {
                    _logger.LogInformation(userList[i].UserName + ": èŒåŠ¡æ‰€å±žèµ„æœ¬å·¥èµ„ä¸ºç©º");
                    continue;
                }
                hrSalaryDTO.Jibengongzi = Math.Round( hrJibengongzi.Jibengongzi.Value * chuqinlv, 2);
                hrSalaryDTO.Baomifei = Math.Round(hrJibengongzi.Baomifei.Value * chuqinlv, 2);
                //是否在试用期
                decimal geshuiqizheng = 5000;
                if (userList[i].geshuiqizheng.HasValue)
                {
                    geshuiqizheng = userList[i].geshuiqizheng.Value;
                }
                var Shebaodanwei = hrJibengongzi.Shebaodanwei.HasValue ? hrJibengongzi.Shebaodanwei.Value : 0;
                var Shebaogeren = hrJibengongzi.Shebaogeren.HasValue ? hrJibengongzi.Shebaogeren.Value : 0;
                decimal yingnashuie = 0;
                hrSalaryDTO.Queqin = 0;
                hrSalaryDTO.Gongzuobutie = 0;
                hrSalaryDTO.Jiabangongzi = 0;
                decimal shiyongqichuqintianshu = 0;
                decimal shiyongqichuqinlv = 0;
                if (userList[i].ShiyongDate.HasValue && userList[i].ShiyongDateEnd.HasValue && dateminkaoqin>= userList[i].ShiyongDate.Value && dateminkaoqin <= userList[i].ShiyongDateEnd.Value)
                {
                    if (!userList[i].ShiyongPrice.HasValue)
                    {
                        _logger.LogInformation(userList[i].UserName + ": å‘˜å·¥å¤„于试用期,但是试用期工资为空");
                        continue;
                    }
                    //试用期的出勤率
                    shiyongqichuqinlv = chuqinlv;
                    if(userList[i].ShiyongDateEnd.Value< datemaxkaoqin.AddDays(-1))
                    {
                        foreach (var admAttendanceDtlDTO in admAttendanceDtlDTOs)
                        {
                            if (admAttendanceDtlDTO.SgninDate <= userList[i].ShiyongDateEnd.Value && admAttendanceDtlDTO.Iswork == "A")
                            {
                                    shiyongqichuqintianshu += (1 - admAttendanceDtlDTO.Qingjia - admAttendanceDtlDTO.Kuanggongtianshu);
                                    if (admAttendanceDtlDTO.Kuanggongtianshu > 0)
                                    {
                                        var queqingkoukuan = Math.Round(userList[i].ShiyongPrice.Value / jiabangongzibiaozhun * admAttendanceDtlDTO.Kuanggongtianshu * (admAttendanceRuleDTO.AbsenteeismPayment1 - 1), 2);
                                        if (queqingkoukuan > 0)
                                        {
                                            hrSalaryDTO.Queqin += queqingkoukuan;
                                        }
                                    }
                            }
                        }
                        shiyongqichuqinlv = Math.Round(shiyongqichuqintianshu / admAttendanceDTO.Yingchuqin, 4);
                    }
                    else
                    {
                        if (admAttendanceDTO.Kuanggong > 0)
                        {
                            var queqingkoukuan = Math.Round(userList[i].ShiyongPrice.Value / jiabangongzibiaozhun * admAttendanceDTO.Kuanggong * (admAttendanceRuleDTO.AbsenteeismPayment1 - 1), 2);
                            if (queqingkoukuan > 0)
                            {
                                hrSalaryDTO.Queqin += queqingkoukuan;
                            }
                        }
                        hrSalaryDTO.Jiabangongzi += Math.Round((admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * userList[i].ShiyongPrice.Value, 2);
                    }
                    hrSalaryDTO.Gongzuobutie += Math.Round( (userList[i].ShiyongPrice.Value - hrJibengongzi.Baomifei.Value- hrJibengongzi.Jibengongzi.Value ) * shiyongqichuqinlv, 2);
                    //yingnashuie = userList[i].ShiyongPrice.Value - Shebaogeren - geshuiqizheng;
                }
                if(true)
                {
                    decimal BasicPrice = 0;
                    if(!decimal.TryParse(userList[i].BasicPrice,out BasicPrice))
                    {
                        _logger.LogInformation(userList[i].UserName + ": å‘˜å·¥æ²¡æœ‰ç»´æŠ¤å·¥èµ„");
                        continue;
                    }
                    //转正后的出勤率
                    decimal zhuanzhengchuqinlv = chuqinlv- shiyongqichuqinlv;
                    if (userList[i].ShiyongDate.HasValue && userList[i].ShiyongDateEnd.HasValue && userList[i].ShiyongDateEnd.Value >= dateminkaoqin && userList[i].ShiyongDateEnd.Value <= datemaxkaoqin.AddDays(-1))
                    {
                        //decimal zhuanzhengchuqintianshu = 0;
                        foreach (var admAttendanceDtlDTO in admAttendanceDtlDTOs)
                        {
                            if (admAttendanceDtlDTO.SgninDate > userList[i].ShiyongDateEnd.Value && admAttendanceDtlDTO.Iswork == "A")
                            {
                                //zhuanzhengchuqintianshu += (1 - admAttendanceDtlDTO.Qingjia - admAttendanceDtlDTO.Kuanggongtianshu);
                                if (admAttendanceDtlDTO.Kuanggongtianshu > 0)
                                {
                                    var queqingkoukuan = Math.Round(BasicPrice / jiabangongzibiaozhun * admAttendanceDtlDTO.Kuanggongtianshu * (admAttendanceRuleDTO.AbsenteeismPayment1 - 1), 2);
                                    if (queqingkoukuan > 0)
                                    {
                                        hrSalaryDTO.Queqin += queqingkoukuan;
                                    }
                                }
                            }
                        }
                        //decimal zhuanzhengchuqintianshu = admAttendanceDTO.Shijichuqin - shiyongqichuqintianshu;
                        //zhuanzhengchuqinlv = Math.Round(zhuanzhengchuqintianshu / admAttendanceDTO.Yingchuqin, 4);
                        if (userList[i].ShiyongDate.HasValue && userList[i].ShiyongDateEnd.HasValue && dateminkaoqin >= userList[i].ShiyongDate.Value && dateminkaoqin <= userList[i].ShiyongDateEnd.Value)
                        {
                            if(userList[i].ShiyongDateEnd.Value < datemaxkaoqin.AddDays(-1))
                            {
                                hrSalaryDTO.Jiabangongzi += Math.Round((admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * BasicPrice, 2);
                            }
                        }
                        else
                        {
                            hrSalaryDTO.Jiabangongzi += Math.Round((admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * BasicPrice, 2);
                        }
                    }
                    else
                    {
                        //矿工扣钱
                        if (admAttendanceDTO.Kuanggong > 0)
                        {
                            var queqingkoukuan = Math.Round(BasicPrice / jiabangongzibiaozhun * admAttendanceDTO.Kuanggong * (admAttendanceRuleDTO.AbsenteeismPayment1 - 1), 2);
                            if (queqingkoukuan > 0)
                            {
                                hrSalaryDTO.Queqin += queqingkoukuan;
                            }
                        }
                        hrSalaryDTO.Jiabangongzi += Math.Round((admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * BasicPrice, 2);
                    }
                    hrSalaryDTO.Gongzuobutie += Math.Round((BasicPrice - hrJibengongzi.Baomifei.Value - hrJibengongzi.Jibengongzi.Value) * zhuanzhengchuqinlv, 2);
                    //yingnashuie = BasicPrice - Shebaogeren - geshuiqizheng;
                }
                //迟到早退扣钱
                //AdmAttendanceDtlDTOSearch searchEntity = new AdmAttendanceDtlDTOSearch();
                //searchEntity.AttendanceId = admAttendanceDTO.Id;
                //List<AdmAttendanceDtlDTO> admAttendanceDtlDTOs = _admAttendanceDtlService.GetList(searchEntity).OrderBy(x => x.SgninDate).ToList();
                if (admAttendanceDtlDTOs.Count > 0)
                {
                    for (int j = 0; j < admAttendanceDtlDTOs.Count; j++)
                    {
                        if (admAttendanceDtlDTOs[j].Shangwuchidaofenzhong > 0)
                        {
                            if (admAttendanceDtlDTOs[j].Shangwuchidaofenzhong < 15)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment1;
                            }
                            else if (admAttendanceDtlDTOs[j].Shangwuchidaofenzhong < 30)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment2;
                            }
                            else if (admAttendanceDtlDTOs[j].Shangwuchidaofenzhong < 60)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
                            }
                            else if (admAttendanceDtlDTOs[j].Shangwuchidaofenzhong < 120)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
                            }
                        }
                        if (admAttendanceDtlDTOs[j].Shangwuzaotuifenzhong > 0)
                        {
                            if (admAttendanceDtlDTOs[j].Shangwuzaotuifenzhong < 15)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment1;
                            }
                            else if (admAttendanceDtlDTOs[j].Shangwuzaotuifenzhong < 30)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment2;
                            }
                            else if (admAttendanceDtlDTOs[j].Shangwuzaotuifenzhong < 60)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
                            }
                            else if (admAttendanceDtlDTOs[j].Shangwuzaotuifenzhong < 120)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
                            }
                        }
                        if (admAttendanceDtlDTOs[j].Xiawuchidaofenzhong > 0)
                        {
                            if (admAttendanceDtlDTOs[j].Xiawuchidaofenzhong < 15)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment1;
                            }
                            else if (admAttendanceDtlDTOs[j].Xiawuchidaofenzhong < 30)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment2;
                            }
                            else if (admAttendanceDtlDTOs[j].Xiawuchidaofenzhong < 60)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
                            }
                            else if (admAttendanceDtlDTOs[j].Xiawuchidaofenzhong < 120)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
                            }
                        }
                        if (admAttendanceDtlDTOs[j].Xiawuzaotuifenzhong > 0)
                        {
                            if (admAttendanceDtlDTOs[j].Xiawuzaotuifenzhong < 15)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment1;
                            }
                            else if (admAttendanceDtlDTOs[j].Xiawuzaotuifenzhong < 30)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment2;
                            }
                            else if (admAttendanceDtlDTOs[j].Xiawuzaotuifenzhong < 60)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
                            }
                            else if (admAttendanceDtlDTOs[j].Xiawuzaotuifenzhong < 120)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
                            }
                        }
                    }
                }
                //病假事假扣钱
                List<AdmAskLeaveDTO> admAskLeaveDTOs = _signinService.GetAskLeaveByUserId(userList[i].Id).Where(x => x.Lavetype == "1" && (  (x.StratTime >= dateminkaoqin &&    x.StratTime < datemaxkaoqin) || (x.EndTime >= dateminkaoqin && x.EndTime < datemaxkaoqin) || (x.EndTime >= datemaxkaoqin && x.StratTime < dateminkaoqin) )).OrderByDescending(x => x.Createtime).ToList();
                if(admAskLeaveDTOs!=null && admAskLeaveDTOs.Count > 0)
                {
                    foreach(var admAskLeaveDTO in admAskLeaveDTOs)
                    {
                        DateTime? AskLeavestart = null;
                        DateTime? AskLeaveend = null;
                        if(admAskLeaveDTO.StratTime< dateminkaoqin)
                        {
                            AskLeavestart = dateminkaoqin.AddHours(WorkingStarthour).AddMinutes(WorkingStartmin);
                        }
                        else
                        {
                            AskLeavestart = admAskLeaveDTO.StratTime;
                        }
                        if (admAskLeaveDTO.EndTime >= datemaxkaoqin)
                        {
                            AskLeaveend = dateminkaoqin.AddDays(-1).AddHours(OffworkEndhour).AddMinutes(OffworkEndmin);
                        }
                        else
                        {
                            AskLeaveend = admAskLeaveDTO.EndTime;
                        }
                        AdmAskLeaveDTO admAskLeaveDTO1 = jisianChecktime(AskLeavestart.Value, AskLeaveend.Value);
                        if (admAskLeaveDTO1.LaveDay.Value  > 0 || admAskLeaveDTO1.LavehHour > 0)
                        {
                            if (admAskLeaveDTO1.LaveDay.Value >= 1)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.PersonalPayment4;
                            }
                            else if (admAskLeaveDTO1.LaveDay.Value ==0 && admAskLeaveDTO1.LavehHour >2)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.PersonalPayment3;
                            }
                            else if (admAskLeaveDTO1.LaveDay.Value == 0 && admAskLeaveDTO1.LavehHour > 1)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.PersonalPayment2;
                            }
                            else if (admAskLeaveDTO1.LaveDay.Value == 0 && admAskLeaveDTO1.LavehHour ==1)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.PersonalPayment1;
                            }
                        }
                    }
                }
                List<AdmAskLeaveOffDTO> admAskLeaveOffDTOs = _signinService.GetAskLeaveOffByUserId(userList[i].Id).Where(x => x.Lavetype == "2" && ((x.StratTime >= dateminkaoqin && x.StratTime < datemaxkaoqin) || (x.EndTime >= dateminkaoqin && x.EndTime < datemaxkaoqin) || (x.EndTime >= datemaxkaoqin && x.StratTime < dateminkaoqin)  ) ).OrderByDescending(x => x.Createtime).ToList();
                if (admAskLeaveOffDTOs != null && admAskLeaveOffDTOs.Count > 0)
                {
                    foreach (var admAskLeaveOffDTO in admAskLeaveOffDTOs)
                    {
                        DateTime? AskLeavestart = null;
                        DateTime? AskLeaveend = null;
                        if (admAskLeaveOffDTO.StratTime < dateminkaoqin)
                        {
                            AskLeavestart = dateminkaoqin.AddHours(WorkingStarthour).AddMinutes(WorkingStartmin);
                        }
                        else
                        {
                            AskLeavestart = admAskLeaveOffDTO.StratTime;
                        }
                        if (admAskLeaveOffDTO.EndTime >= datemaxkaoqin)
                        {
                            AskLeaveend = dateminkaoqin.AddDays(-1).AddHours(OffworkEndhour).AddMinutes(OffworkEndmin);
                        }
                        else
                        {
                            AskLeaveend = admAskLeaveOffDTO.EndTime;
                        }
                        AdmAskLeaveDTO admAskLeaveDTO1 = jisianChecktime(AskLeavestart.Value, AskLeaveend.Value);
                        if (admAskLeaveDTO1.LaveDay.Value > 0 || admAskLeaveDTO1.LavehHour > 0)
                        {
                            if (admAskLeaveDTO1.LaveDay.Value >= 1)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.SickPayment4;
                            }
                            else if (admAskLeaveDTO1.LaveDay.Value == 0 && admAskLeaveDTO1.LavehHour > 2)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.SickPayment3;
                            }
                            else if (admAskLeaveDTO1.LaveDay.Value == 0 && admAskLeaveDTO1.LavehHour > 1)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.SickPayment2;
                            }
                            else if (admAskLeaveDTO1.LaveDay.Value == 0 && admAskLeaveDTO1.LavehHour == 1)
                            {
                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.SickPayment1;
                            }
                        }
                    }
                }
                if(userList[i].IsGmsb != "D" && userList[i].Shebaodate.HasValue &&  userList[i].Shebaodate.Value < datemaxkaoqin)
                {
                    hrSalaryDTO.Shebao = Shebaodanwei;
                    hrSalaryDTO.Shebaokou = Shebaodanwei + Shebaogeren;
                }
                else
                {
                    hrSalaryDTO.Shebao = 0;
                    hrSalaryDTO.Shebaokou = 0;
                }
                var simBind =  simBindViews.Where(x => x.userid == userList[i].Id).FirstOrDefault();
                if (simBind != null)
                {
                    decimal cardpro = 0;
                    decimal.TryParse(simBind.cardpro, out cardpro);
                    hrSalaryDTO.Dianhuabutie = cardpro;
                }
                 var SimCost  =  _simService.GetSimCost(userList[i].Id, dateminkaoqin.Year, dateminkaoqin.Month);
                if (SimCost != null)
                {
                    hrSalaryDTO.Dianhuafei = SimCost.bill_amount;
                }
                hrSalaryDTO.Quanqinjiang = hrJibengongzi.Quanqingjiang;
                if ("A".Equals(userList[i].Istravelsubsidy))
                {
                    hrSalaryDTO.Jiaotngbutie = hrJibengongzi.Jiaotongbutie;
                }
                //hrSalaryDTO.Jiangjin
                //hrSalaryDTO.Bufagongzi
                //hrSalaryDTO.Peichang
                hrSalaryDTO.Fakuan = 0;
                //工作安排罚款
                List<AdmMemoBookDTO> admMemoBookDTOs =  _DailyManageService.GetRemindsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin,"2");
                if (admMemoBookDTOs.Count > 0)
                {
                    for(int j=0; j< admMemoBookDTOs.Count; j++)
                    {
                        decimal fakuanshumu = 0;
                       if (decimal.TryParse(admMemoBookDTOs[j].ZhuiZe, out fakuanshumu))
                        {
                            hrSalaryDTO.Fakuan += fakuanshumu;
                        }
                    }
                }
                //违纪处理罚款
                List<AdmBreakPrecedentDTO> admBreakPrecedentDTOs = _admBreakPrecedentService.GetList(userList[i].Id, dateminkaoqin, datemaxkaoqin);
                if (admBreakPrecedentDTOs.Count > 0)
                {
                    for (int j = 0; j < admBreakPrecedentDTOs.Count; j++)
                    {
                        if (admBreakPrecedentDTOs[j].Chufajine.HasValue)
                        {
                            hrSalaryDTO.Fakuan += admBreakPrecedentDTOs[j].Chufajine.Value; ;
                        }
                    }
                }
                //hrSalaryDTO.Jiucuo
                //计算绩效提成
                hrSalaryDTO.Jixiaoticheng = 0;
                var hrJixiaotichengThis =  hrJixiaotichengDTOs.Where(x => x.PostId == userList[i].HrPosition).ToList();
                if( hrJixiaotichengThis!=null&& hrJixiaotichengThis.Count > 0)
                {
                    //var feijijiandengji = fiPiecerateDTOs.Where(x => x.Standard == "A");
                    //var  jijiandengji =    fiPiecerateDTOs.Where(x => x.Standard == "A");
                    #region ä¸Šé—¨æ‹œè®¿å®¢æˆ·
                    var cooperVisitDTOs = _cooperVisitService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin);
                    if (cooperVisitDTOs != null && cooperVisitDTOs.Count > 0)
                    {
                        var jijianidddd = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "上门拜访客户").FirstOrDefault();
                        if (jijianidddd != null)
                        {
                            var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianidddd.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                            if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
                            {
                                if (jixiaotichengfangan.Renwustandard == "01")
                                {
                                    decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                    if (jixiaotichengfangan.Tichengstandard == "01")
                                    {
                                        decimal youxiaojijian = cooperVisitDTOs.Count - renwujishu;
                                        if (youxiaojijian > 0)
                                        {
                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                        }
                                    }
                                }
                                else if (jixiaotichengfangan.Renwustandard == "02")
                                {
                                    decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                    if (jixiaotichengfangan.Tichengstandard == "01")
                                    {
                                        decimal youxiaojijian = cooperVisitDTOs.Count - renwujishu;
                                        if (youxiaojijian > 0)
                                        {
                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                        }
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    #region æ–°åŠ ç¾¤ç»„
                    var groupTopicDTOs = _groupTopicService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin);
                    if (groupTopicDTOs != null && groupTopicDTOs.Count > 0)
                    {
                        var jijianidddd = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "新加群组").FirstOrDefault();
                        if (jijianidddd != null)
                        {
                            var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianidddd.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                            if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
                            {
                                if (jixiaotichengfangan.Renwustandard == "01")
                                {
                                    decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                    if (jixiaotichengfangan.Tichengstandard == "01")
                                    {
                                        decimal youxiaojijian = groupTopicDTOs.Count - renwujishu;
                                        if (youxiaojijian > 0)
                                        {
                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                        }
                                    }
                                }
                                else if (jixiaotichengfangan.Renwustandard == "02")
                                {
                                    decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                    if (jixiaotichengfangan.Tichengstandard == "01")
                                    {
                                        decimal youxiaojijian = groupTopicDTOs.Count - renwujishu;
                                        if (youxiaojijian > 0)
                                        {
                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                        }
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    #region å®¢æˆ·èµ„料录入
                    var cooperatecustomCustomerDTOs = _cooperatecustomCustomerService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin);
                    if (cooperatecustomCustomerDTOs != null && cooperatecustomCustomerDTOs.Count > 0)
                    {
                        var jijianidddd = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "客户资料录入").FirstOrDefault();
                        if (jijianidddd != null)
                        {
                            var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianidddd.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                            if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
                            {
                                if (jixiaotichengfangan.Renwustandard == "01")
                                {
                                    decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                    if (jixiaotichengfangan.Tichengstandard == "01")
                                    {
                                        decimal youxiaojijian = cooperatecustomCustomerDTOs.Count - renwujishu;
                                        if (youxiaojijian > 0)
                                        {
                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                        }
                                    }
                                }
                                else if (jixiaotichengfangan.Renwustandard == "02")
                                {
                                    decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                    if (jixiaotichengfangan.Tichengstandard == "01")
                                    {
                                        decimal youxiaojijian = cooperatecustomCustomerDTOs.Count - renwujishu;
                                        if (youxiaojijian > 0)
                                        {
                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                        }
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    #region å½•入客户签单
                   var cooperatecustomCustomers = _cooperatecustomCustomerService.GetListsalaryqiandan(userList[i].Id, dateminkaoqin, datemaxkaoqin);
                    if (cooperatecustomCustomers != null && cooperatecustomCustomers.Count > 0)
                    {
                        var jijianidddd = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "录入客户签单").FirstOrDefault();
                        if (jijianidddd != null)
                        {
                            var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianidddd.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                            if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
                            {
                                if (jixiaotichengfangan.Renwustandard == "01")
                                {
                                    decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                    if (jixiaotichengfangan.Tichengstandard == "01")
                                    {
                                        decimal youxiaojijian = cooperatecustomCustomers.Count - renwujishu;
                                        if (youxiaojijian > 0)
                                        {
                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                        }
                                    }
                                }
                                else if (jixiaotichengfangan.Renwustandard == "02")
                                {
                                    decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                    if (jixiaotichengfangan.Tichengstandard == "01")
                                    {
                                        decimal youxiaojijian = cooperatecustomCustomers.Count - renwujishu;
                                        if (youxiaojijian > 0)
                                        {
                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                        }
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    #region è®¡ä»¶ç™»è®°
                    var pieceCheckDTOs = _admPieceCheckService.GetList(userList[i].Id, dateminkaoqin, datemaxkaoqin);
                    if (pieceCheckDTOs != null && pieceCheckDTOs.Count > 0)
                    {
                        foreach (var pieceCheckDTO in pieceCheckDTOs)
                        {
                            if (pieceCheckDTO.Gongzi.HasValue)
                            {
                                hrSalaryDTO.Jixiaoticheng += pieceCheckDTO.Gongzi.Value;
                            }
                        }
                    }
                    #endregion
                    //合作客户订单
                    List<CooperOrderDTO> cooperOrderDTOs =  _cooperOrderService.GetList(userList[i].Id, dateminkaoqin, datemaxkaoqin);
                    #region å›¾ä¹¦é”€å”®
                    var cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "01").ToList();
                    var jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "图书销售").FirstOrDefault();
                    if (jijianid != null && cooperOrdertushu.Count>0)
                    {
                      var jixiaotichengfangan =    hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
                        {
                            if(jixiaotichengfangan.Renwustandard == "01")
                            {
                              decimal renwujishu =   admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if(jixiaotichengfangan.Tichengstandard == "01")
                                {
                                decimal youxiaojijian =     cooperOrdertushu.Count - renwujishu ;
                                    if (youxiaojijian>0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "02")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "03")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian* new decimal(0.01), 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "04")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    #region   æ”¿é‡‡å’¨è¯¢
                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "02").ToList();
                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "政采咨询").FirstOrDefault();
                    if (jijianid != null && cooperOrdertushu.Count > 0)
                    {
                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
                        {
                            if (jixiaotichengfangan.Renwustandard == "01")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "02")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "03")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "04")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    #region   æ ‡ä¹¦åˆ¶ä½œè®¢å•
                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "03").ToList();
                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "标书制作订单").FirstOrDefault();
                    if (jijianid != null && cooperOrdertushu.Count > 0)
                    {
                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
                        {
                            if (jixiaotichengfangan.Renwustandard == "01")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "02")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "03")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "04")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    #region   åŸ¹è®­
                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "04").ToList();
                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "培训").FirstOrDefault();
                    if (jijianid != null && cooperOrdertushu.Count > 0)
                    {
                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
                        {
                            if (jixiaotichengfangan.Renwustandard == "01")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "02")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "03")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "04")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    #region  å¥—餐会员
                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "05").ToList();
                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "套餐会员").FirstOrDefault();
                    if (jijianid != null && cooperOrdertushu.Count > 0)
                    {
                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
                        {
                            if (jixiaotichengfangan.Renwustandard == "01")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "02")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "03")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "04")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    #region ä¸“家申请
                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "06").ToList();
                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "专家申请").FirstOrDefault();
                    if (jijianid != null && cooperOrdertushu.Count > 0)
                    {
                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
                        {
                            if (jixiaotichengfangan.Renwustandard == "01")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "02")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "03")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "04")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    #region å±¥çº¦çº çº·
                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "07").ToList();
                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "履约纠纷").FirstOrDefault();
                    if (jijianid != null && cooperOrdertushu.Count > 0)
                    {
                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
                        {
                            if (jixiaotichengfangan.Renwustandard == "01")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "02")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "03")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "04")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    #region é£Žé™©ä»£ç†
                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "08").ToList();
                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "风险代理").FirstOrDefault();
                    if (jijianid != null && cooperOrdertushu.Count > 0)
                    {
                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
                        {
                            if (jixiaotichengfangan.Renwustandard == "01")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "02")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "03")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "04")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    #region è½¯ä»¶é”€å”®ææˆ
                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "09").ToList();
                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "软件销售提成").FirstOrDefault();
                    if (jijianid != null && cooperOrdertushu.Count > 0)
                    {
                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
                        {
                            if (jixiaotichengfangan.Renwustandard == "01")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "02")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "03")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "04")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    #region å…¶ä»–业务
                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "10").ToList();
                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "其他业务").FirstOrDefault();
                    if (jijianid != null && cooperOrdertushu.Count > 0)
                    {
                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
                        {
                            if (jixiaotichengfangan.Renwustandard == "01")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "02")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "03")
                            {
                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "04")
                            {
                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
                                if (jixiaotichengfangan.Tichengstandard == "02")
                                {
                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
                                    if (youxiaojijian > 0)
                                    {
                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                }
                hrSalaryDTO.Daozhanggongzi = 0;
                decimal jibengongzi = hrSalaryDTO.Jibengongzi.HasValue ? hrSalaryDTO.Jibengongzi.Value : 0;
                decimal baomifei = hrSalaryDTO.Baomifei.HasValue ? hrSalaryDTO.Baomifei.Value : 0;
                decimal gongzuobutie = hrSalaryDTO.Gongzuobutie.HasValue ? hrSalaryDTO.Gongzuobutie.Value : 0;
                decimal jiabangongzi = hrSalaryDTO.Jiabangongzi.HasValue ? hrSalaryDTO.Jiabangongzi.Value : 0;
                decimal shebao = hrSalaryDTO.Shebao.HasValue ? hrSalaryDTO.Shebao.Value : 0;
                decimal dianhuabutie = hrSalaryDTO.Dianhuabutie.HasValue ? hrSalaryDTO.Dianhuabutie.Value : 0;
                decimal quanqinjiang = hrSalaryDTO.Quanqinjiang.HasValue ? hrSalaryDTO.Quanqinjiang.Value : 0;
                decimal jiaotngbutie = hrSalaryDTO.Jiaotngbutie.HasValue ? hrSalaryDTO.Jiaotngbutie.Value : 0;
                decimal jixiaoticheng = hrSalaryDTO.Jixiaoticheng.HasValue ? hrSalaryDTO.Jixiaoticheng.Value : 0;
                decimal jiangjin = hrSalaryDTO.Jiangjin.HasValue ? hrSalaryDTO.Jiangjin.Value : 0;
                decimal bufagongzi = hrSalaryDTO.Bufagongzi.HasValue ? hrSalaryDTO.Bufagongzi.Value : 0;
                decimal shebaokou = hrSalaryDTO.Shebaokou.HasValue ? hrSalaryDTO.Shebaokou.Value : 0;
                decimal dianhuafei = hrSalaryDTO.Dianhuafei.HasValue ? hrSalaryDTO.Dianhuafei.Value : 0;
                decimal queqin = hrSalaryDTO.Queqin.HasValue ? hrSalaryDTO.Queqin.Value : 0;
                decimal fakuan = hrSalaryDTO.Fakuan.HasValue ? hrSalaryDTO.Fakuan.Value : 0;
                decimal peichang = hrSalaryDTO.Peichang.HasValue ? hrSalaryDTO.Peichang.Value : 0;
                decimal jiucuo = hrSalaryDTO.Jiucuo.HasValue ? hrSalaryDTO.Jiucuo.Value : 0;
                yingnashuie = jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao + dianhuabutie + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi - shebaokou  - dianhuafei - queqin - fakuan - peichang + jiucuo - geshuiqizheng;
                hrSalaryDTO.Geshui = 0;
                if (yingnashuie > 0)
                {
                    decimal yingnashuie1 = 0;
                    decimal yingnashuie2 = 0;
                    decimal yingnashuie3 = 0;
                    decimal yingnashuie4 = 0;
                    decimal yingnashuie5 = 0;
                    if (yingnashuie > 39250)
                    {
                        yingnashuie1 = 4750;
                        yingnashuie2 = (9250 - 4750);
                        yingnashuie3 = (25250 - 9250);
                        yingnashuie4 = (39250 - 25250);
                        yingnashuie5 = (yingnashuie - 39250);
                    }
                    else if (yingnashuie > 25250)
                    {
                        yingnashuie1 = 4750;
                        yingnashuie2 = (9250 - 4750);
                        yingnashuie3 = (25250 - 9250);
                        yingnashuie4 = (yingnashuie - 25250);
                    }
                    else if (yingnashuie > 9250)
                    {
                        yingnashuie1 = 4750;
                        yingnashuie2 = (9250 - 4750);
                        yingnashuie3 = (yingnashuie - 9250);
                    }
                    else if (yingnashuie > 4750)
                    {
                        yingnashuie1 = 4750;
                        yingnashuie2 = (yingnashuie - 4750);
                    }
                    else
                    {
                        yingnashuie1 = yingnashuie;
                    }
                    if (yingnashuie1 > 0)
                    {
                        var yingjiao1 = Math.Round(yingnashuie1 * new decimal(0.05) - 0, 2);
                        if (yingjiao1 > 0)
                        {
                            hrSalaryDTO.Geshui += yingjiao1;
                        }
                    }
                    if (yingnashuie2 > 0)
                    {
                        var yingjiao2 = Math.Round(yingnashuie2 * new decimal(0.1) - 250, 2);
                        if (yingjiao2 > 0)
                        {
                            hrSalaryDTO.Geshui += yingjiao2;
                        }
                    }
                    if (yingnashuie3 > 0)
                    {
                        var yingjiao3 = Math.Round(yingnashuie3 * new decimal(0.2) - 1250, 2);
                        if (yingjiao3 > 0)
                        {
                            hrSalaryDTO.Geshui += yingjiao3;
                        }
                    }
                    if (yingnashuie4 > 0)
                    {
                        var yingjiao4 = Math.Round(yingnashuie4 * new decimal(0.3) - 4250, 2);
                        if (yingjiao4 > 0)
                        {
                            hrSalaryDTO.Geshui += yingjiao4;
                        }
                    }
                    if (yingnashuie5 > 0)
                    {
                        var yingjiao5 = Math.Round(yingnashuie5 * new decimal(0.35) - 6750, 2);
                        if (yingjiao5 > 0)
                        {
                            hrSalaryDTO.Geshui += yingjiao5;
                        }
                    }
                }
                decimal geshui = hrSalaryDTO.Geshui.HasValue ? hrSalaryDTO.Geshui.Value : 0;
                hrSalaryDTO.Daozhanggongzi += jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao + dianhuabutie + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi - shebaokou - geshui - dianhuafei - queqin - fakuan - peichang + jiucuo;
                hrSalaryDTO.Yufagongzi = userList[i].advancewages;
                if (userList[i].advancewages.HasValue)
                {
                    hrSalaryDTO.Yufagongziheji = 0;
                    HrSalaryDTO hrSalaryDTOlast = _hrSalaryService.GetListByUser(userList[i].Id, dateminkaoqin.AddMonths(-1).Year, dateminkaoqin.AddMonths(-1).Month);
                    if(hrSalaryDTOlast!=null && hrSalaryDTOlast.Yufagongziheji.HasValue)
                    {
                        hrSalaryDTO.Yufagongziheji = hrSalaryDTOlast.Yufagongziheji;
                    }
                    hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Daozhanggongzi- hrSalaryDTO.Yufagongzi);
                }
                hrSalaryDTO.RecStatus = "A";
                hrSalaryDTO.Islock = "D";
                hrSalaryDTO.Creater = "1";
                hrSalaryDTO.Createtime = DateTime.Now;
                hrSalaryDTO.Modifier = hrSalaryDTO.Creater;
                hrSalaryDTO.Modifytime = hrSalaryDTO.Createtime;
                _hrSalaryService.save(hrSalaryDTO);
            }
        }
        public AdmAskLeaveDTO jisianChecktime(DateTime StratTime, DateTime EndTime)
        {
            //string dateDiff = null;
            AdmAttendanceRuleDTO admAttendanceRuleDTO = _attendanceRuleService.Get("");
            var admAttendanceRulesDtlDTOs = _attendanceRuleService.GetDtlList("");
            var jiejiari = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiejiari").ToList();
            var tiaoxiuri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "tiaoxiuri").ToList();
            //每天的考勤时间点
            string[] WorkingStart = admAttendanceRuleDTO.WorkingStart.Split('.');
            int WorkingStarthour = int.Parse(WorkingStart[0]);
            int WorkingStartmin = int.Parse(WorkingStart[1]);
            string[] WorkingEnd = admAttendanceRuleDTO.WorkingEnd.Split('.');
            int WorkingEndhour = int.Parse(WorkingEnd[0]);
            int WorkingEndmin = int.Parse(WorkingEnd[1]);
            string[] OffworkStart = admAttendanceRuleDTO.OffworkStart.Split('.');
            int OffworkStarthour = int.Parse(OffworkStart[0]);
            int OffworkStartmin = int.Parse(OffworkStart[1]);
            string[] OffworkEnd = admAttendanceRuleDTO.OffworkEnd.Split('.');
            int OffworkEndhour = int.Parse(OffworkEnd[0]);
            int OffworkEndmin = int.Parse(OffworkEnd[1]);
            //请假开始时间上班时间
            DateTime StratTimeWorkingStart = StratTime.Date.AddHours(WorkingStarthour).AddMinutes(WorkingStartmin);
            DateTime StratTimeWorkingEnd = StratTime.Date.AddHours(WorkingEndhour).AddMinutes(WorkingEndmin);
            DateTime StratTimeOffworkStart = StratTime.Date.AddHours(OffworkStarthour).AddMinutes(OffworkStartmin);
            DateTime StratTimeOffworkEnd = StratTime.Date.AddHours(OffworkEndhour).AddMinutes(OffworkEndmin);
            //请假结束时间上班时间
            DateTime EndTimeWorkingStart = EndTime.Date.AddHours(WorkingStarthour).AddMinutes(WorkingStartmin);
            DateTime EndTimeWorkingEnd = EndTime.Date.AddHours(WorkingEndhour).AddMinutes(WorkingEndmin);
            DateTime EndTimeOffworkStart = EndTime.Date.AddHours(OffworkStarthour).AddMinutes(OffworkStartmin);
            DateTime EndTimeOffworkEnd = EndTime.Date.AddHours(OffworkEndhour).AddMinutes(OffworkEndmin);
            //上班时间
            TimeSpan shangwu = StratTimeWorkingEnd.Subtract(StratTimeWorkingStart);
            TimeSpan xiawu = StratTimeOffworkEnd.Subtract(StratTimeOffworkStart);
            int shangbanshijian = shangwu.Hours * 60 + shangwu.Minutes + xiawu.Hours * 60 + xiawu.Minutes;
            int LavehTime = 0;
            TimeSpan ts = EndTime.Subtract(StratTime);
            for (int i = 0; i <= ts.Days; i++)
            {
                if (i == 0)
                {
                    //是否上班日期
                    if ((int)StratTime.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)StratTime.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
                    {
                        //是否节假日
                        if (jiejiari.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
                        {
                            LavehTime += 0;
                        }
                        else
                        {
                            if (StratTime <= StratTimeWorkingStart)
                            {
                                LavehTime += shangbanshijian;
                            }
                            else if (StratTime <= StratTimeWorkingEnd)
                            {
                                TimeSpan shangwu1 = StratTimeWorkingEnd.Subtract(StratTime);
                                TimeSpan xiawu1 = StratTimeOffworkEnd.Subtract(StratTimeOffworkStart);
                                LavehTime += shangwu1.Hours * 60 + shangwu1.Minutes + xiawu1.Hours * 60 + xiawu1.Minutes;
                            }
                            else if (StratTime <= StratTimeOffworkStart)
                            {
                                TimeSpan xiawu1 = StratTimeOffworkEnd.Subtract(StratTimeOffworkStart);
                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
                            }
                            else if (StratTime <= StratTimeOffworkEnd)
                            {
                                TimeSpan xiawu1 = StratTimeOffworkEnd.Subtract(StratTime);
                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
                            }
                        }
                    }
                    else
                    {
                        //是否调休日  è°ƒä¼‘日需要上班
                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
                        {
                            if (StratTime <= StratTimeWorkingStart)
                            {
                                LavehTime += shangbanshijian;
                            }
                            else if (StratTime <= StratTimeWorkingEnd)
                            {
                                TimeSpan shangwu1 = StratTimeWorkingEnd.Subtract(StratTime);
                                TimeSpan xiawu1 = StratTimeOffworkEnd.Subtract(StratTimeOffworkStart);
                                LavehTime += shangwu1.Hours * 60 + shangwu1.Minutes + xiawu1.Hours * 60 + xiawu1.Minutes;
                            }
                            else if (StratTime <= StratTimeOffworkStart)
                            {
                                TimeSpan xiawu1 = StratTimeOffworkEnd.Subtract(StratTimeOffworkStart);
                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
                            }
                            else if (StratTime <= StratTimeOffworkEnd)
                            {
                                TimeSpan xiawu1 = StratTimeOffworkEnd.Subtract(StratTime);
                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
                            }
                        }
                        else
                        {
                            LavehTime += 0;
                        }
                    }
                }
                if (i == ts.Days)
                {
                    //是否上班日期
                    if ((int)EndTime.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)EndTime.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
                    {
                        //是否节假日
                        if (jiejiari.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date))
                        {
                            LavehTime += 0;
                        }
                        else
                        {
                            if (EndTime >= EndTimeOffworkEnd)
                            {
                                LavehTime += shangbanshijian;
                            }
                            else if (EndTime >= EndTimeOffworkStart)
                            {
                                TimeSpan shangwu1 = EndTimeWorkingEnd.Subtract(EndTimeWorkingStart);
                                TimeSpan xiawu1 = EndTime.Subtract(EndTimeOffworkStart);
                                LavehTime += shangwu1.Hours * 60 + shangwu1.Minutes + xiawu1.Hours * 60 + xiawu1.Minutes;
                            }
                            else if (EndTime >= EndTimeWorkingEnd)
                            {
                                TimeSpan xiawu1 = EndTimeWorkingEnd.Subtract(EndTimeWorkingStart);
                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
                            }
                            else if (EndTime >= EndTimeWorkingStart)
                            {
                                TimeSpan xiawu1 = EndTime.Subtract(EndTimeWorkingStart);
                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
                            }
                        }
                    }
                    else
                    {
                        //是否调休日  è°ƒä¼‘日需要上班
                        if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date))
                        {
                            if (EndTime >= EndTimeOffworkEnd)
                            {
                                LavehTime += shangbanshijian;
                            }
                            else if (EndTime >= EndTimeOffworkStart)
                            {
                                TimeSpan shangwu1 = EndTimeWorkingEnd.Subtract(EndTimeWorkingStart);
                                TimeSpan xiawu1 = EndTime.Subtract(EndTimeOffworkStart);
                                LavehTime += shangwu1.Hours * 60 + shangwu1.Minutes + xiawu1.Hours * 60 + xiawu1.Minutes;
                            }
                            else if (EndTime >= EndTimeWorkingEnd)
                            {
                                TimeSpan xiawu1 = EndTimeWorkingEnd.Subtract(EndTimeWorkingStart);
                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
                            }
                            else if (EndTime >= EndTimeWorkingStart)
                            {
                                TimeSpan xiawu1 = EndTime.Subtract(EndTimeWorkingStart);
                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
                            }
                        }
                        else
                        {
                            LavehTime += 0;
                        }
                    }
                }
                if (i != 0 && i != ts.Days)
                {
                    DateTime dateTimenow = StratTime.AddDays(i).Date;
                    //是否上班日期
                    if ((int)dateTimenow.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)dateTimenow.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
                    {
                        //是否假期 å‡æœŸä¸ä¸Šç­
                        if (jiejiari.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueEnd >= dateTimenow.Date))
                        {
                            LavehTime += 0;
                        }
                        else
                        {
                            LavehTime += shangbanshijian;
                        }
                    }
                    else
                    {
                        //是否调休日  è°ƒä¼‘日需要上班
                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
                        {
                            LavehTime += shangbanshijian;
                        }
                        else
                        {
                            LavehTime += 0;
                        }
                    }
                }
                if (ts.Days == 0)
                { //是否上班日期
                    if ((int)StratTime.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)StratTime.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
                    {
                        //是否节假日
                        if (jiejiari.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
                        {
                            LavehTime -= 0;
                        }
                        else
                        {
                            LavehTime -= shangbanshijian;
                        }
                    }
                    else
                    {
                        //是否调休日  è°ƒä¼‘日需要上班
                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
                        {
                            LavehTime -= shangbanshijian;
                        }
                        else
                        {
                            LavehTime -= 0;
                        }
                    }
                }
            }
            AdmAskLeaveDTO admAsk = new AdmAskLeaveDTO();
            admAsk.LaveDay = (int)(LavehTime / shangbanshijian);
            int lefthour = (int)(LavehTime % shangbanshijian);
            admAsk.LavehHour = lefthour / 60;
            if (lefthour % 60 > 0)
            {
                admAsk.LavehHour += 1;
            }
            return admAsk;
        }
    }
}
zhengcaioa/zhengcaioa/Views/CooperOrder/Index.cshtml
@@ -92,7 +92,7 @@
                }
            },
            {
                label: '完工', name: 'WangongStatusName', labtype: 'txt', hidden: wangongbool, width: 60,
                label: '完工', name: 'WangongStatusName', labtype: 'txt', hidden: true, width: 60,
                formatter: function (cellvalue, options, rowObject) {
                    if (rowObject.ShouliStatus == '4' || rowObject.ShouliStatus == '5'  ) {
                        return "√";
zhengcaioa/zhengcaioa/Views/Liaotian/Edit.cshtml
@@ -90,7 +90,7 @@
                                                                                            <a class="collapse-link" onclick="collapseBox(this);"><i class="fa fa-chevron-up" title="折叠/展开明细"></i></a>&nbsp;&nbsp;
                                </div>*@
                        </div>
                        <div id="div_content" class="ibox-content" style="background-color:white;">
                        <div id="div_content" class="ibox-content" style="background-color:white;overflow-y:auto;">
                            <div class="row">
                                <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>
@@ -148,18 +148,24 @@
                                </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-11 col-md-11"><input id="Question" class="form-control" label="问题" name="Question" labtype="txt" addvisible="true" editvisible="true" reg="" maxlength="450" ismust="true" type="text" value="@Model.Question"></div>
                                    <div class="col-sm-11 col-md-11">
                                        @*<input id="Question" class="form-control" label="问题" name="Question" labtype="txt" addvisible="true" editvisible="true" reg="" maxlength="450" ismust="true" type="text" value="@Model.Question">*@
                                        <textarea class="form-control bt" id="Question" name="Question" title="答案" isempty="" maxlength="450" length="long" style="resize:none;overflow-y:hidden; min-height:60px;" onpropertychange="this.style.height=this.scrollHeight + 'px'" oninput="this.style.height=this.scrollHeight + 'px'">@Model.Question</textarea>
                                    </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-11 col-md-11">
                                        <textarea class="form-control bt" id="Anwser" name="Anwser" title="答案" isempty="" maxlength="4000" style=" height:200px" length="long">@Model.Anwser</textarea>
                                        <textarea class="form-control bt" id="Anwser" name="Anwser" title="答案" isempty="" maxlength="4000"   length="long" style="resize:none;overflow-y:hidden; min-height:60px;" onpropertychange="this.style.height=this.scrollHeight + 'px'" oninput="this.style.height=this.scrollHeight + 'px'" >@Model.Anwser</textarea>
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <label class="text-right col-sm-1 col-md-1 control-label">适用法条</label>
                                    <div class="col-sm-11 col-md-11">    <textarea class="form-control bt" id="Shiyongfatiao" name="Shiyongfatiao" title="答案" isempty="" maxlength="450" style=" height:60px" length="long">@Model.Shiyongfatiao</textarea>  </div>
                                    <div class="col-sm-11 col-md-11">    <textarea class="form-control bt" id="Shiyongfatiao" name="Shiyongfatiao" title="答案" isempty="" maxlength="450"   length="long" style="resize:none;overflow-y:hidden; min-height:60px;" onpropertychange="this.style.height=this.scrollHeight + 'px'" oninput="this.style.height=this.scrollHeight + 'px'">@Model.Shiyongfatiao</textarea>  </div>
                                </div>
                            </div>
@@ -188,6 +194,18 @@
    </form>
    <script type="text/javascript">
        var Question = document.getElementById("Question");
        Question.style.height = Question.scrollHeight + 'px';
        var Anwser = document.getElementById("Anwser");
        Anwser.style.height = Anwser.scrollHeight + 'px';
        var Shiyongfatiao = document.getElementById("Shiyongfatiao");
        Shiyongfatiao.style.height = Shiyongfatiao.scrollHeight + 'px';
        var hh = document.body.clientHeight - $('.ibox-title').height() - $("#top").height()*2 - 95;
        $("#div_content").height(hh);
@@ -215,7 +233,11 @@
            "hideEasing": "linear",
            "showMethod": "fadeIn",
            "hideMethod": "fadeOut"
        };
        };
        var delPosition = function () {
            if (id == null || id=='') {
                toastr.warning("请先保存");
@@ -349,8 +371,11 @@
                    parent.layer.msg('保存失败', { icon: 5 });
                }
            });
        }
        }
        $("#Questiontype").change(function () {
@@ -369,8 +394,11 @@
                    quxian.append(aaa);
                    if (data.length > 0) {
                        for (var i = 0; i < data.length; i++) {
                            var o = '<option value="' + data[i].CodeSn + '" hassubinfo="true">' + data[i].Comments + '</option>';
                            if (i == 0) {
                                o = '<option value="' + data[i].CodeSn + '" hassubinfo="true"  selected="selected" >' + data[i].Comments + '</option>';
                            }
                            quxian.append(o);
                        }
                    }
@@ -383,6 +411,12 @@
            });
        });
        if (id == null || id == '') {
            $('#Questiontype option:eq(1)').attr('selected', 'selected');
            $('#Questiontype').trigger('change');
        }
        function _pageAutoClose() {
            parent.window._reloadPageData();
            var index = parent.layer.getFrameIndex(window.name);
zhengcaioa/zhengcaioa/Views/Liaotian/Indexcheck.cshtml
@@ -17,7 +17,7 @@
            {
                label: '问题', name: 'Question', labtype: 'txt', hidden: false, width: 400 ,
                formatter: function (cellvalue, options, rowObject) {
                    return "<a onclick=\"OpenWindow('" + cellvalue + "','98%','100%', '/Liaotian/Edit?id=" + rowObject.Id + "')\"  >" + cellvalue + "</a>";
                    return "<a onclick=\"OpenWindow('修改问题','98%','100%', '/Liaotian/Edit?id=" + rowObject.Id + "')\"  >" + cellvalue + "</a>";
                }
            },
            { label: '回答', name: 'Anwser', labtype: 'textarea', hidden: false, width: 800 },
zhengcaioa/zhengcaioa/Views/Project/Select.cshtml
@@ -8,8 +8,10 @@
        var shengDropDown = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.ShengDropDown))';
        var Creater = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.Creater))';
        var flbx = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.flbx))';
        var ShiFouyReasonname = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.ShiFouyReasonname))';
        
        loseherght = 60;
        loseherght = 70;
        dataCol = [
            { label: 'id', name: 'Id', labtype: 'txt', hidden: true },
@@ -83,22 +85,26 @@
        ];
        dataUrl = "/Project/GetLiaotianList";
        searchCol = [
            { label: '公告时间', name: 'StartTimestar', labtype: 'date', hidden: false },
            { label: '--', name: 'StartTimeend', labtype: 'date', hidden: false, cwidth: '1%', cccwidth: '15%' },
            //{ label: '公告时间', name: 'StartTimestar', labtype: 'date', hidden: false },
            //{ label: '--', name: 'StartTimeend', labtype: 'date', hidden: false, cwidth: '1%', cccwidth: '15%' },
            { label: '公告时间', name: 'StartTimestar', labtype: 'datearea', hidden: false },
            { label: '项目编号', name: 'Number', labtype: 'txt', hidden: false },
            { label: '项目名称', name: 'Name', labtype: 'txt', hidden: false },
            { label: '省', name: 'Sheng', labtype: 'combox', hidden: false, data: JSON.parse(shengDropDown), cwidth: '5%', cccwidth: '8%' },
            { label: '市', name: 'City', labtype: 'combox', hidden: false, data: JSON.parse('[]'), cwidth: '1%', cccwidth: '8%'  },
            { label: '区县', name: 'AreaId', labtype: 'combox', hidden: false, data: JSON.parse('[]'), cwidth: '2%', cccwidth: '8%' },
            { label: '评审专家', name: 'Zhuanjia', labtype: 'txt', hidden: false/*, cwidth: '8.5%', cccwidth: '15%' */},
            { label: '省', name: 'Sheng', labtype: 'combox', hidden: false, data: JSON.parse(shengDropDown), cwidth: '5%', cccwidth: '10%' },
            { label: '市', name: 'City', labtype: 'combox', hidden: false, data: JSON.parse('[]'), cwidth: '2%', cccwidth: '10%'  },
            { label: '区县', name: 'AreaId', labtype: 'combox', hidden: false, data: JSON.parse('[]'), cwidth: '2.5%', cccwidth: '10%' },
            { label: '采购方式', name: 'Cgfs', labtype: 'combox', hidden: false, data: JSON.parse(projectDropDown) },
            { label: '中标供应商', name: 'Names', labtype: 'txt', hidden: false },
            { label: '投标供应商', name: 'NamesToubiao', labtype: 'txt', hidden: false },
            { label: '评审专家', name: 'Zhuanjia', labtype: 'txt', hidden: false, cwidth: '8.5%', cccwidth: '15%' },
            { label: '是否有无效供应商', name: 'ShiFouyReasonname', labtype: 'combox', hidden: false, data: JSON.parse(ShiFouyReasonname), cwidth: '8%', cccwidth: '12%'},
            { label: '无效供应商', name: 'Reasonname', labtype: 'txt', hidden: false },
            { label: '是否废标', name: 'fblx', labtype: 'combox', hidden: false, data: JSON.parse(flbx), cwidth: '5%', cccwidth: '8%'  },
            { label: '是否废标', name: 'fblx', labtype: 'combox', hidden: false, data: JSON.parse(flbx)/*, cwidth: '5%', cccwidth: '8%' */ },
            { label: '录入时间', name: 'Createtime', labtype: 'datearea', hidden: false },
            { label: '录入人', name: 'Creater', labtype: 'combox', hidden: false, data: JSON.parse(Creater), cwidth: '5%', cccwidth: '8%' },
            { label: '录入人', name: 'Creater', labtype: 'combox', hidden: false, data: JSON.parse(Creater)/*, cwidth: '5%', cccwidth: '8%'*/ },
        ];
        var _pageAdd = function () {
zhengcaioa/zhengcaioa/Views/User/Edit.cshtml
@@ -140,7 +140,7 @@
                        <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 id="div_content" class="ibox-content" style="background-color:white;overflow-y:auto;">
                            <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>
@@ -445,27 +445,7 @@
                                    <div class="col-sm-2 col-md-2">
                                        <input id="Shebaodate" class="form-control" label="计薪时间" name="Shebaodate" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value="@Model.ShebaodateName" readonly="readonly">
                                    </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="Zhiwustatus" class="form-control" name="Zhiwustatus" data-placeholder="选择 åºåˆ— ...">
                                            <option value="" hassubinfo="true">请选择</option>
                                            @foreach (var item in zhiwustatus)
                                            {
                                                @if (!item.CodeSn.Equals(Model.Zhiwustatus))
                                                {
                                                    <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">工作电脑MAC<i class="red">*</i> </label>
                                    <div class="col-sm-2 col-md-2">
@@ -592,6 +572,34 @@
                                    <div class="col-sm-2 col-md-2">
                                        <input id="JinjiPhone" class="form-control" label="联系电话" name="JinjiPhone" labtype="txt" addvisible="true" maxlength="50" editvisible="true" reg="" ismust="true" type="text" value="@Model.JinjiPhone">
                                    </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="Zhiwustatus" class="form-control" name="Zhiwustatus" data-placeholder="选择 åºåˆ— ...">
                                            <option value="" hassubinfo="true">请选择</option>
                                            @foreach (var item in zhiwustatus)
                                            {
                                                @if (!item.CodeSn.Equals(Model.Zhiwustatus))
                                                {
                                                    <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">离职日期 </label>
                                    <div class="col-sm-2 col-md-2">
                                        <input id="Outdate" class="form-control" label="离职日期" name="Outdate" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value='@Model.OutdateName ' readonly="readonly">
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
@@ -844,6 +852,8 @@
        laydate({ elem: "#ShiyongDateEnd", format: 'YYYY-MM-DD', istime: false, event: "focus" });
        laydate({ elem: "#Indate", format: 'YYYY-MM-DD', istime: false, event: "focus" });
        laydate({ elem: "#Shebaodate", format: 'YYYY-MM-DD', istime: false, event: "focus" });
        laydate({ elem: "#Outdate", format: 'YYYY-MM-DD', istime: false, event: "focus" });
        var delPosition = function () {
zhengcaioa/zhengcaioa/zhengcaioa.csproj.user
@@ -9,7 +9,7 @@
    <View_SelectedScaffolderCategoryPath>root/Common/MVC/View</View_SelectedScaffolderCategoryPath>
    <Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
    <Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
    <NameOfLastUsedPublishProfile>D:\qianwj\ZCOa\zhengcaioa\zhengcaioa\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>FolderProfile</NameOfLastUsedPublishProfile>
    <WebStackScaffolding_ViewDialogWidth>650</WebStackScaffolding_ViewDialogWidth>
    <WebStackScaffolding_IsLayoutPageSelected>True</WebStackScaffolding_IsLayoutPageSelected>
    <WebStackScaffolding_IsPartialViewSelected>False</WebStackScaffolding_IsPartialViewSelected>
Óû§±í¸üÐÂ.sql
@@ -81,13 +81,15 @@
--电话卡类型定义
insert into [adm_goods_classify] values('d309d1af-5086-453a-b5a2-58b344dfff97','电话卡','A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'04');
--补贴字典定义
insert into [sys_code] values('107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','t_sim_bind','cardpro','电话补贴','A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate())
insert into [sys_code] values('107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','t_sim_bind','cardpro','电话补贴','A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate());
insert into [sys_code_dtl]([Id],[code_sn],[code_id],[comments],[sort] ,[rec_status],[creater],[createtime],[modifier],[modifytime]) values('2632d933-31a3-4692-a954-df11bf223854','50','107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','50',1,'A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate())
insert into [sys_code_dtl]([Id],[code_sn],[code_id],[comments],[sort] ,[rec_status],[creater],[createtime],[modifier],[modifytime]) values('2632d933-31a3-4692-a954-df11bf223854','50','107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','50',1,'A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate());
insert into [sys_code_dtl]([Id],[code_sn],[code_id],[comments],[sort] ,[rec_status],[creater],[createtime],[modifier],[modifytime]) values('306d666f-e93c-415c-a294-414e34cb3311','100','107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','100',2,'A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate())
insert into [sys_code_dtl]([Id],[code_sn],[code_id],[comments],[sort] ,[rec_status],[creater],[createtime],[modifier],[modifytime]) values('306d666f-e93c-415c-a294-414e34cb3311','100','107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','100',2,'A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate());
insert into [sys_code_dtl]([Id],[code_sn],[code_id],[comments],[sort] ,[rec_status],[creater],[createtime],[modifier],[modifytime]) values('61711fb1-0b96-4611-9dc0-6c69dfef656c','9999','107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','不限',3,'A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate())
insert into [sys_code_dtl]([Id],[code_sn],[code_id],[comments],[sort] ,[rec_status],[creater],[createtime],[modifier],[modifytime]) values('61711fb1-0b96-4611-9dc0-6c69dfef656c','9999','107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','不限',3,'A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate());
go
create view v_sim_bind as
SELECT   a.Id, a.goods_name AS simcard, a.goods_status AS simstatus, c.user_id AS userid, b.user_name AS username, 
ÉêË߼Ǽ±í.sql
@@ -27,11 +27,11 @@
go
INSERT [dbo].[plt_page] ([Id], [system_id], [page_name], [display_seq], [page_path], [page_method], [page_type], [page_superior], [open_type], [rec_status], [creater], [createtime]) VALUES (newid(), N'1', N'工资核对', 7, N'/SalaryCheck/Employee', N'01', N'M', N'6a13cb10-35d9-4176-a231-8887948e059e',  0, N'A', N'e4c93811-b9b1-4998-89f5-c416ebab0c07', getdate())
INSERT [dbo].[plt_page] ([Id], [system_id], [page_name], [display_seq], [page_path], [page_method], [page_type], [page_superior], [open_type], [rec_status], [creater], [createtime]) VALUES (newid(), N'1', N'工资核对', 10, N'/SalaryCheck/Employee', N'01', N'M', N'6a13cb10-35d9-4176-a231-8887948e059e',  0, N'A', N'e4c93811-b9b1-4998-89f5-c416ebab0c07', getdate())
go
INSERT [dbo].[plt_page] ([Id], [system_id], [page_name], [display_seq], [page_path], [page_method], [page_type], [page_superior],  [open_type], [rec_status], [creater], [createtime]) VALUES (newid(), N'1', N'工资查询', 2, N'/SalaryCheck/SearchIndex', N'01', N'M', N'6a13cb10-35d9-4176-a231-8887948e059e',  0, N'A', N'e4c93811-b9b1-4998-89f5-c416ebab0c07', getdate())
INSERT [dbo].[plt_page] ([Id], [system_id], [page_name], [display_seq], [page_path], [page_method], [page_type], [page_superior],  [open_type], [rec_status], [creater], [createtime]) VALUES (newid(), N'1', N'工资查询', 8, N'/SalaryCheck/SearchIndex', N'01', N'M', N'6a13cb10-35d9-4176-a231-8887948e059e',  0, N'A', N'e4c93811-b9b1-4998-89f5-c416ebab0c07', getdate())
go
INSERT [dbo].[plt_page] ([Id], [system_id], [page_name], [display_seq], [page_path], [page_method], [page_type], [page_superior],  [open_type], [rec_status], [creater], [createtime]) VALUES (newid(), N'1', N'工资核准', 3, N'/SalaryCheck/Index', N'01', N'M', N'6a13cb10-35d9-4176-a231-8887948e059e',  0, N'A', N'e4c93811-b9b1-4998-89f5-c416ebab0c07', getdate())
INSERT [dbo].[plt_page] ([Id], [system_id], [page_name], [display_seq], [page_path], [page_method], [page_type], [page_superior],  [open_type], [rec_status], [creater], [createtime]) VALUES (newid(), N'1', N'工资核准', 9, N'/SalaryCheck/Index', N'01', N'M', N'6a13cb10-35d9-4176-a231-8887948e059e',  0, N'A', N'e4c93811-b9b1-4998-89f5-c416ebab0c07', getdate())
go
¿¼ÇÚ¼ÆËãµÄ±í.sql
@@ -1,6 +1,86 @@
USE [zhengcaioa]
GO
/****** Object:  Table [dbo].[ADM_Attendance_dtl]    Script Date: 2021/6/10 13:04:31 ******/
SET ANSI_NULLS ON
GO
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,
    [SgninDate] [datetime] NULL,
    [MorningIn] [datetime] NULL,
    [MorningOut] [datetime] NULL,
    [AfternoonIn] [datetime] NULL,
    [AfternoonOut] [datetime] NULL,
    [OvertimeIn] [datetime] NULL,
    [OvertimeOut] [datetime] NULL,
    [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,
    [shangwuchidaofenzhong] [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [xiawuchidaofenzhong] [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [shangwuzaotuifenzhong] [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [xiawuzaotuifenzhong] [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [kuanggongtianshu] [decimal](18, 4) NOT NULL DEFAULT ((0)),
    [iswork] [nvarchar](1)   NULL,
 CONSTRAINT [PK__ADM_Attendance_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, FILLFACTOR = 100) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT (getdate()) FOR [SgninDate]
GO
ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT ('A') FOR [rec_status]
GO
ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT ('1') FOR [creater]
GO
ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT (getdate()) FOR [createtime]
GO
ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT ('1') FOR [modifier]
GO
ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT (getdate()) FOR [modifytime]
GO
USE [zhengcaioa]
GO
/****** Object:  Table [dbo].[hr_salary]    Script Date: 2021/6/10 12:54:34 ******/
SET ANSI_NULLS ON
GO
@@ -142,62 +222,6 @@
USE [zhengcaioa]
GO
/****** Object:  Table [dbo].[ADM_Attendance_dtl]    Script Date: 2021/6/10 13:04:31 ******/
SET ANSI_NULLS ON
GO
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,
    [SgninDate] [datetime] NULL,
    [MorningIn] [datetime] NULL,
    [MorningOut] [datetime] NULL,
    [AfternoonIn] [datetime] NULL,
    [AfternoonOut] [datetime] NULL,
    [OvertimeIn] [datetime] NULL,
    [OvertimeOut] [datetime] NULL,
    [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, 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
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT (getdate()) FOR [SgninDate]
GO
ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT ('A') FOR [rec_status]
GO
ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT ('1') FOR [creater]
GO
ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT (getdate()) FOR [createtime]
GO
ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT ('1') FOR [modifier]
GO
ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT (getdate()) FOR [modifytime]
GO