| | |
| | | private readonly IHttpClientFactory _clientFactory; |
| | | private readonly IAskService _askService; |
| | | private readonly IAdmEvaluateService _admEvaluateService; |
| | | private readonly IExpertService _expertService; |
| | | private readonly zhengcaioaContext _context; |
| | | private readonly zcUserInfoN_dbContext _zcUsercontext; |
| | | |
| | | private readonly decimal jiabangongzibiaozhun = new decimal(21.5); |
| | | public TimedBackgroundService(ILogger<TimedBackgroundService> logger, IServiceScopeFactory factory) |
| | |
| | | _clientFactory = factory.CreateScope().ServiceProvider.GetRequiredService<IHttpClientFactory>(); |
| | | _askService= factory.CreateScope().ServiceProvider.GetRequiredService<IAskService>(); |
| | | _admEvaluateService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmEvaluateService>(); |
| | | _expertService = factory.CreateScope().ServiceProvider.GetRequiredService<IExpertService>(); |
| | | _context = factory.CreateScope().ServiceProvider.GetRequiredService<zhengcaioaContext>(); |
| | | _zcUsercontext = factory.CreateScope().ServiceProvider.GetRequiredService<zcUserInfoN_dbContext>(); |
| | | } |
| | | protected override async Task ExecuteAsync(CancellationToken stoppingToken) |
| | | { |
| | | _logger.LogInformation("MyServiceA is starting."); |
| | | |
| | | //stoppingToken.Register(() => File.Create($"E:\\dotnetCore\\Practice\\Practice\\{DateTime.Now.Millisecond}.txt")); |
| | | |
| | | |
| | | DateTime datenow = DateTime.Now.Date; |
| | | while (!stoppingToken.IsCancellationRequested) |
| | | { |
| | |
| | | { |
| | | jisuangonglinggongzi(); |
| | | } |
| | | |
| | | _logger.LogInformation("把会员系统和oa系统手机号相同的客户关联起来"); |
| | | this.huiyuanguanlian(); |
| | | _logger.LogInformation("把会员系统和oa系统手机号相同的客户关联起来执行结束"); |
| | | |
| | | _logger.LogInformation("把超过90天还没有转化的档案客户的业务经理归为无"); |
| | | this.ywjlguiling(); |
| | | _logger.LogInformation("把超过90天还没有转化的档案客户的业务经理归为无执行结束"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | return diwutian; |
| | | } |
| | | |
| | | |
| | | //计算当前日期是否是工作日 |
| | | public Boolean shifougongzuori(DateTime workdate) |
| | | { |
| | | 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(); |
| | | var jiabanri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiabanri").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); |
| | | Boolean shifoushangban = false; |
| | | |
| | | //是否上班日期 |
| | | if ((int)workdate.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)workdate.DayOfWeek <= admAttendanceRuleDTO.WeekEnd) |
| | | { |
| | | //是否节假日 |
| | | if (jiejiari.Exists(x => x.ValueStart <= workdate && x.ValueEnd >= workdate)) |
| | | { |
| | | shifoushangban = false; |
| | | } |
| | | else |
| | | { |
| | | shifoushangban = true; |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | //是否调休日 调休日需要上班 |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= workdate && x.ValueEnd >= workdate)) |
| | | { |
| | | shifoushangban = true; |
| | | } |
| | | //是否加班日 加班日需要上班 |
| | | if (jiabanri.Exists(x => x.ValueStart <= workdate && x.ValueEnd >= workdate)) |
| | | { |
| | | shifoushangban = true; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | return shifoushangban; |
| | | } |
| | | |
| | | |
| | | //获取日期所在周的起止日期 |
| | | /// <summary> |
| | | /// 计算本周起始日期(星期一) |
| | | /// </summary> |
| | | /// <param name="dateTime">该周中任意一天</param> |
| | | /// <returns>返回礼拜一日期,后面的具体时、分、秒和传入值相等</returns> |
| | | public DateTime CalculateFirstDateOfWeek(DateTime dateTime) |
| | | { |
| | | int i = dateTime.DayOfWeek - DayOfWeek.Monday; |
| | | if (i == -1) |
| | | i = 6; |
| | | TimeSpan ts = new TimeSpan(i, 0, 0, 0); |
| | | return dateTime.Subtract(ts); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 计算本周结束日期(礼拜日的日期) |
| | | /// </summary> |
| | | /// <param name="dateTime"> 该周中任意一天</param> |
| | | /// <returns>返回礼拜日日期,后面的具体时、分、秒和传入值相等 </returns> |
| | | public DateTime CalculateLastDateOfWeek(DateTime dateTime) |
| | | { |
| | | int i = dateTime.DayOfWeek - DayOfWeek.Sunday; |
| | | if (i != 0) i = 7 - i; // 因为枚举原因,Sunday排在最前,相减间隔要被7减。 |
| | | TimeSpan ts = new TimeSpan(i, 0, 0, 0); |
| | | return dateTime.Add(ts); |
| | | } |
| | | |
| | | |
| | | |
| | | //把超过90天还没有转化的档案客户的业务经理归为无 |
| | | public void ywjlguiling() |
| | | { |
| | | var intentionCustomerDTOs = _intentionCustomerService.GetList().Where(x=>x.Ywjltime < DateTime.Now.AddDays(-90)).ToList(); |
| | | |
| | | foreach(var intentionCustomerDTO in intentionCustomerDTOs) |
| | | { |
| | | intentionCustomerDTO.Ywjl = null; |
| | | intentionCustomerDTO.Ywjltime = null; |
| | | _intentionCustomerService.save(intentionCustomerDTO); |
| | | } |
| | | } |
| | | |
| | | |
| | | //把会员系统和oa系统手机号相同的客户关联起来 |
| | | public void huiyuanguanlian() |
| | | { |
| | | var cooperatecustomCustomers = _context.CooperatecustomCustomers.Where(x => x.RecStatus == "A" && x.HuiyuanId == null).ToList(); |
| | | var frameworkUsers = _zcUsercontext.FrameworkUsers.Where(x => x.IsValid == true).ToList(); |
| | | if (cooperatecustomCustomers != null && cooperatecustomCustomers.Count > 0) |
| | | { |
| | | foreach (var cooperatecustomCustomer in cooperatecustomCustomers) |
| | | { |
| | | if (!string.IsNullOrEmpty(cooperatecustomCustomer.Tel)) |
| | | { |
| | | var frameworkUser = frameworkUsers.Where(x => x.Itcode == cooperatecustomCustomer.Tel).FirstOrDefault(); |
| | | if (frameworkUser != null) |
| | | { |
| | | cooperatecustomCustomer.HuiyuanId = frameworkUser.Id.ToString(); |
| | | //2023-03-23 添加在职企业 |
| | | var customerGuanlianhuiyuan1 = _context.CustomerGuanlianhuiyuans.Where(x => x.Huiyuanid == cooperatecustomCustomer.HuiyuanId && x.Customerid == cooperatecustomCustomer.Id).FirstOrDefault(); |
| | | if (customerGuanlianhuiyuan1 == null) |
| | | { |
| | | CustomerGuanlianhuiyuan customerGuanlianhuiyuan = new CustomerGuanlianhuiyuan(); |
| | | customerGuanlianhuiyuan.Id = Guid.NewGuid().ToString(); |
| | | customerGuanlianhuiyuan.Huiyuanid = cooperatecustomCustomer.HuiyuanId; |
| | | customerGuanlianhuiyuan.Customerid = cooperatecustomCustomer.Id; |
| | | customerGuanlianhuiyuan.Customertype = "合作客户"; |
| | | _context.CustomerGuanlianhuiyuans.Add(customerGuanlianhuiyuan); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | _context.SaveChanges(); |
| | | } |
| | | |
| | | |
| | | |
| | | var intentionCustomers = _context.IntentionCustomers.Where(x => x.RecStatus == "A" && x.HuiyuanId == null).ToList(); |
| | | if (intentionCustomers != null && intentionCustomers.Count > 0) |
| | | { |
| | | foreach (var intentionCustomer in intentionCustomers) |
| | | { |
| | | if (!string.IsNullOrEmpty(intentionCustomer.Tel)) |
| | | { |
| | | var frameworkUser = frameworkUsers.Where(x => x.Itcode == intentionCustomer.Tel).FirstOrDefault(); |
| | | if (frameworkUser != null) |
| | | { |
| | | intentionCustomer.HuiyuanId = frameworkUser.Id.ToString(); |
| | | //2023-03-23 添加在职企业 |
| | | var customerGuanlianhuiyuan1 = _context.CustomerGuanlianhuiyuans.Where(x => x.Huiyuanid == intentionCustomer.HuiyuanId && x.Customerid == intentionCustomer.Id).FirstOrDefault(); |
| | | if (customerGuanlianhuiyuan1 == null) |
| | | { |
| | | CustomerGuanlianhuiyuan customerGuanlianhuiyuan = new CustomerGuanlianhuiyuan(); |
| | | customerGuanlianhuiyuan.Id = Guid.NewGuid().ToString(); |
| | | customerGuanlianhuiyuan.Huiyuanid = intentionCustomer.HuiyuanId; |
| | | customerGuanlianhuiyuan.Customerid = intentionCustomer.Id; |
| | | customerGuanlianhuiyuan.Customertype = "档案客户"; |
| | | _context.CustomerGuanlianhuiyuans.Add(customerGuanlianhuiyuan); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | _context.SaveChanges(); |
| | | } |
| | | |
| | | } |
| | | |
| | | //计算考勤 |
| | | public void jisuankaoqin() |
| | | { |
| | |
| | | |
| | | ResultEntity resultEntity = new ResultEntity(); |
| | | resultEntity.Result = false; |
| | | |
| | | var Month = DateTime.Now.Month - 1; |
| | | var Year = DateTime.Now.Year; |
| | | if (Month == 0) |
| | | { |
| | | Month = 12; |
| | | Year = Year - 1; |
| | | } |
| | | //查询所有的有效人员 |
| | | 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(); |
| | | List<PltUserDTO> userList = _userService.GetListjisuankaoqin(new DateTime(Year, Month, 1), new DateTime(Year, Month, 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 dateminkaoqin = new DateTime(Year, Month, 1); |
| | | DateTime datemaxkaoqin = dateminkaoqin.AddMonths(1); |
| | | List<AdmAskLeaveDTO> admAskLeaveDTOs = _signinService.GetAskLeaveByUserId(userList[a].Id); |
| | | List<AdmAskLeaveOffDTO> admAskLeaveOffDTOs = _signinService.GetAskLeaveOffByUserId(userList[a].Id); |
| | |
| | | admAttendanceDTO.Qingjia = 0; |
| | | admAttendanceDTO.Jiaban = 0; |
| | | admAttendanceDTO.Xiaojia = 0; |
| | | admAttendanceDTO.Daixinjia = 0; |
| | | admAttendanceDTO.Chidao = 0; |
| | | admAttendanceDTO.Zaotui = 0; |
| | | admAttendanceDTO.Kuanggong = 0; |
| | |
| | | decimal Zaotui = 0; |
| | | decimal Kuanggong = 0; |
| | | decimal Xiaojia = 0; |
| | | decimal Daixinjia = 0; |
| | | |
| | | while (dateminkaoqin < datemaxkaoqin) |
| | | { |
| | |
| | | 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<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(); |
| | | |
| | |
| | | decimal Kuanggongtianshu = 0; |
| | | decimal dangtianqingjia = 0; |
| | | decimal dangtianxiaojia = 0; |
| | | decimal dangtiandaixinjia = 0; |
| | | |
| | | string Iswork = "D"; |
| | | if (iswork) |
| | | { |
| | |
| | | } |
| | | else |
| | | { |
| | | if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime) |
| | | { |
| | | kuanggong = true; |
| | | break; |
| | | } |
| | | else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime) |
| | | //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 (!starttime.HasValue) |
| | | { |
| | | starttime = dateBiJiaoDTOs[i].StartTime; |
| | | } |
| | | } |
| | | if (endttime>= StratTimeWorkingEnd) |
| | | if (endttime >= StratTimeWorkingEnd && starttime.HasValue) |
| | | { |
| | | break; |
| | | } |
| | |
| | | } |
| | | else |
| | | { |
| | | if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime) |
| | | { |
| | | kuanggong = true; |
| | | break; |
| | | } |
| | | else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime) |
| | | //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 (!starttime.HasValue) |
| | | { |
| | | starttime = dateBiJiaoDTOs[i].StartTime; |
| | | } |
| | | } |
| | | if (endttime >= StratTimeOffworkEnd) |
| | | if (endttime >= StratTimeOffworkEnd && starttime.HasValue) |
| | | { |
| | | break; |
| | | } |
| | |
| | | //计算当天请假 |
| | | List<DateBiJiaoDTO> qingjias = new List<DateBiJiaoDTO>(); |
| | | |
| | | var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7" && x.Lavetype != "3").ToList(); |
| | | var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7" && x.Lavetype != "3" && x.Lavetype != "9").ToList(); |
| | | foreach (var admAskLeave in feichuqinjia) |
| | | { |
| | | |
| | |
| | | } |
| | | |
| | | Qingjia += dangtianqingjia; |
| | | |
| | | |
| | | |
| | | //计算当天带薪假 |
| | | List<DateBiJiaoDTO> daixinjias = new List<DateBiJiaoDTO>(); |
| | | |
| | | var chauxndaixinjias = admAskLeaveDTOMin.Where(x => x.Lavetype == "4" || x.Lavetype == "7" || x.Lavetype == "3" || x.Lavetype == "9").ToList(); |
| | | foreach (var admAskLeave in chauxndaixinjias) |
| | | { |
| | | |
| | | DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO(); |
| | | dateBiJiaoDTO.StartTime = admAskLeave.StratTime; |
| | | dateBiJiaoDTO.EndTime = admAskLeave.EndTime; |
| | | daixinjias.Add(dateBiJiaoDTO); |
| | | |
| | | } |
| | | |
| | | foreach (var daixinjia in daixinjias) |
| | | { |
| | | if (daixinjia.StartTime < StratTimeWorkingStart) |
| | | { |
| | | daixinjia.StartTime = StratTimeWorkingStart; |
| | | } |
| | | if (daixinjia.StartTime > StratTimeWorkingEnd && daixinjia.StartTime < StratTimeOffworkStart) |
| | | { |
| | | daixinjia.StartTime = StratTimeOffworkStart; |
| | | } |
| | | |
| | | |
| | | if (daixinjia.EndTime > StratTimeWorkingEnd && daixinjia.EndTime < StratTimeOffworkStart) |
| | | { |
| | | daixinjia.EndTime = StratTimeWorkingEnd; |
| | | } |
| | | |
| | | |
| | | if (daixinjia.EndTime > StratTimeOffworkEnd) |
| | | { |
| | | daixinjia.EndTime = StratTimeOffworkEnd; |
| | | } |
| | | TimeSpan daixinjiashiijan = daixinjia.EndTime.Value.Subtract(daixinjia.StartTime.Value); |
| | | if (daixinjia.StartTime <= StratTimeWorkingEnd && daixinjia.EndTime >= StratTimeOffworkStart) |
| | | { |
| | | TimeSpan wuxiushijian = StratTimeOffworkStart.Subtract(StratTimeWorkingEnd); |
| | | dangtiandaixinjia += Math.Round(((decimal)(daixinjiashiijan.Hours * 60 + daixinjiashiijan.Minutes - wuxiushijian.Hours * 60 - wuxiushijian.Minutes)) / ((decimal)shangbanshijian), 2); |
| | | } |
| | | else |
| | | { |
| | | dangtiandaixinjia += Math.Round(((decimal)(daixinjiashiijan.Hours * 60 + daixinjiashiijan.Minutes)) / ((decimal)shangbanshijian), 2); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | Daixinjia += dangtiandaixinjia; |
| | | |
| | | |
| | | //计算当天出勤天数 |
| | | Shijichuqin += (1 - Kuanggongtianshu - dangtianqingjia); |
| | | |
| | |
| | | } |
| | | else |
| | | { |
| | | if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime) |
| | | { |
| | | kuanggong = true; |
| | | break; |
| | | } |
| | | else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime) |
| | | //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 (!starttime.HasValue) |
| | | { |
| | | starttime = dateBiJiaoDTOs[i].StartTime; |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | else |
| | | { |
| | | if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime) |
| | | { |
| | | kuanggong = true; |
| | | break; |
| | | } |
| | | else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime) |
| | | //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 (!starttime.HasValue) |
| | | { |
| | | starttime = dateBiJiaoDTOs[i].StartTime; |
| | | } |
| | | } |
| | | } |
| | |
| | | //计算当天请假 |
| | | List<DateBiJiaoDTO> qingjias = new List<DateBiJiaoDTO>(); |
| | | |
| | | var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7" && x.Lavetype != "3").ToList(); |
| | | var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7" && x.Lavetype != "3" && x.Lavetype != "9").ToList(); |
| | | foreach (var admAskLeave in feichuqinjia) |
| | | { |
| | | |
| | |
| | | } |
| | | |
| | | Qingjia += dangtianqingjia; |
| | | |
| | | |
| | | |
| | | //计算当天带薪假 |
| | | List<DateBiJiaoDTO> daixinjias = new List<DateBiJiaoDTO>(); |
| | | |
| | | var chauxndaixinjias = admAskLeaveDTOMin.Where(x => x.Lavetype == "4" || x.Lavetype == "7" || x.Lavetype == "3" || x.Lavetype == "9").ToList(); |
| | | foreach (var admAskLeave in chauxndaixinjias) |
| | | { |
| | | |
| | | DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO(); |
| | | dateBiJiaoDTO.StartTime = admAskLeave.StratTime; |
| | | dateBiJiaoDTO.EndTime = admAskLeave.EndTime; |
| | | daixinjias.Add(dateBiJiaoDTO); |
| | | |
| | | } |
| | | |
| | | foreach (var daixinjia in daixinjias) |
| | | { |
| | | if (daixinjia.StartTime < StratTimeWorkingStart) |
| | | { |
| | | daixinjia.StartTime = StratTimeWorkingStart; |
| | | } |
| | | if (daixinjia.StartTime > StratTimeWorkingEnd && daixinjia.StartTime < StratTimeOffworkStart) |
| | | { |
| | | daixinjia.StartTime = StratTimeOffworkStart; |
| | | } |
| | | |
| | | |
| | | if (daixinjia.EndTime > StratTimeWorkingEnd && daixinjia.EndTime < StratTimeOffworkStart) |
| | | { |
| | | daixinjia.EndTime = StratTimeWorkingEnd; |
| | | } |
| | | |
| | | |
| | | if (daixinjia.EndTime > StratTimeOffworkEnd) |
| | | { |
| | | daixinjia.EndTime = StratTimeOffworkEnd; |
| | | } |
| | | TimeSpan daixinjiashiijan = daixinjia.EndTime.Value.Subtract(daixinjia.StartTime.Value); |
| | | if (daixinjia.StartTime <= StratTimeWorkingEnd && daixinjia.EndTime >= StratTimeOffworkStart) |
| | | { |
| | | TimeSpan wuxiushijian = StratTimeOffworkStart.Subtract(StratTimeWorkingEnd); |
| | | dangtiandaixinjia += Math.Round(((decimal)(daixinjiashiijan.Hours * 60 + daixinjiashiijan.Minutes - wuxiushijian.Hours * 60 - wuxiushijian.Minutes)) / ((decimal)shangbanshijian), 2); |
| | | } |
| | | else |
| | | { |
| | | dangtiandaixinjia += Math.Round(((decimal)(daixinjiashiijan.Hours * 60 + daixinjiashiijan.Minutes)) / ((decimal)shangbanshijian), 2); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | Daixinjia += dangtiandaixinjia; |
| | | |
| | | |
| | | |
| | | //计算当天出勤天数 |
| | | Jiaban += (1 - Kuanggongtianshu - dangtianqingjia); |
| | | |
| | |
| | | admAttendanceDtlDTO.OvertimeOut = admSignInDTO.OvertimeOut; |
| | | admAttendanceDtlDTO.Qingjia = dangtianqingjia; |
| | | admAttendanceDtlDTO.Xiaojia = dangtianxiaojia; |
| | | |
| | | admAttendanceDtlDTO.Daixinjia = dangtiandaixinjia; |
| | | |
| | | |
| | | |
| | |
| | | admAttendanceDtlDTO.OvertimeIn = admSignInDTO.OvertimeIn; |
| | | admAttendanceDtlDTO.OvertimeOut = admSignInDTO.OvertimeOut; |
| | | admAttendanceDtlDTO.Qingjia = dangtianqingjia; |
| | | admAttendanceDtlDTO.Daixinjia = dangtiandaixinjia; |
| | | admAttendanceDtlDTO.Xiaojia = dangtianxiaojia; |
| | | |
| | | |
| | |
| | | |
| | | |
| | | admAttendanceDTO.Qingjia = Qingjia; |
| | | admAttendanceDTO.Daixinjia = Daixinjia; |
| | | admAttendanceDTO.Xiaojia = Xiaojia; |
| | | admAttendanceDTO.Chidao = Chidao; |
| | | admAttendanceDTO.Islock = "A"; |
| | |
| | | //计算工资 |
| | | public async Task jisuangongziAsync() |
| | | { |
| | | var Month = DateTime.Now.Month - 1; |
| | | var Year = DateTime.Now.Year; |
| | | if (Month == 0) |
| | | { |
| | | Month = 12; |
| | | Year = Year - 1; |
| | | } |
| | | //查询所有的有效人员 |
| | | DateTime dateminkaoqin = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, 1); |
| | | DateTime dateminkaoqin = new DateTime(Year, Month, 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(); |
| | |
| | | hrSalaryDTO.Jiabangongzi = 0; |
| | | decimal shiyongqichuqintianshu = 0; |
| | | decimal shiyongqichuqinlv = 0; |
| | | |
| | | decimal yingfaheji = 0; |
| | | |
| | | |
| | | decimal BasicPrice = 0; |
| | |
| | | |
| | | |
| | | |
| | | if (userList[i].ShiyongDate.HasValue && userList[i].ShiyongDateEnd.HasValue && dateminkaoqin>= userList[i].ShiyongDate.Value && dateminkaoqin <= userList[i].ShiyongDateEnd.Value) |
| | | if (userList[i].ShiyongDate.HasValue && userList[i].ShiyongDateEnd.HasValue && datemaxkaoqin> userList[i].ShiyongDate.Value && dateminkaoqin <= userList[i].ShiyongDateEnd.Value) |
| | | { |
| | | hrSalaryDTO.Jibengongzi = Math.Round(hrJibengongzi.Jibengongzi.Value * chuqinlv * new decimal(0.8), 2) ; |
| | | hrSalaryDTO.Baomifei = Math.Round(hrJibengongzi.Baomifei.Value * chuqinlv * new decimal(0.8), 2) ; |
| | | decimal ShiyongPrice = 0; |
| | | if (!userList[i].ShiyongPrice.HasValue) |
| | | { |
| | | _logger.LogInformation(userList[i].UserName + ": 员工处于试用期,但是试用期工资为空"); |
| | | continue; |
| | | ShiyongPrice = BasicPrice * new decimal(0.8); |
| | | _logger.LogInformation(userList[i].UserName + ": 员工处于试用期,但是试用期工资为空,定为正式工资的0.8倍"); |
| | | |
| | | } |
| | | else |
| | | { |
| | | ShiyongPrice = userList[i].ShiyongPrice.Value; |
| | | } |
| | | //查询是否有不称职的工作考评 |
| | | var admEvaluateDTOsshiyongqi = _admEvaluateService.GetListsalary(userList[i].Id, dateminkaoqin, userList[i].ShiyongDateEnd.Value.AddDays(1)).Where(x => x.EvaluateValue == "03").ToList(); |
| | |
| | | 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); |
| | | var queqingkoukuan = Math.Round(ShiyongPrice / jiabangongzibiaozhun * admAttendanceDtlDTO.Kuanggongtianshu * (admAttendanceRuleDTO.AbsenteeismPayment1 - 1), 2); |
| | | if (queqingkoukuan > 0) |
| | | { |
| | | hrSalaryDTO.Queqin += queqingkoukuan; |
| | |
| | | shiyongqichuqinlv = Math.Round(shiyongqichuqintianshu / admAttendanceDTO.Yingchuqin, 4); |
| | | |
| | | //工作评价不合格罚款 |
| | | hrSalaryDTO.Fakuan += Math.Round(userList[i].ShiyongPrice.Value * admEvaluateDTOsshiyongqi.Count / admAttendanceDTO.Yingchuqin + BasicPrice * (admEvaluateDTOs.Count - admEvaluateDTOsshiyongqi.Count) / admAttendanceDTO.Yingchuqin, 2); |
| | | hrSalaryDTO.Fakuan += Math.Round(ShiyongPrice * admEvaluateDTOsshiyongqi.Count / admAttendanceDTO.Yingchuqin + BasicPrice * (admEvaluateDTOs.Count - admEvaluateDTOsshiyongqi.Count) / admAttendanceDTO.Yingchuqin, 2); |
| | | |
| | | } |
| | | else |
| | | { |
| | | if (admAttendanceDTO.Kuanggong > 0) |
| | | { |
| | | var queqingkoukuan = Math.Round(userList[i].ShiyongPrice.Value / jiabangongzibiaozhun * admAttendanceDTO.Kuanggong * (admAttendanceRuleDTO.AbsenteeismPayment1 - 1), 2); |
| | | var queqingkoukuan = Math.Round(ShiyongPrice / 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); |
| | | if (hrJibengongzi.Jiabangongzi.HasValue) |
| | | { |
| | | hrSalaryDTO.Jiabangongzi += Math.Round(admAttendanceDTO.Jiaban * hrJibengongzi.Jiabangongzi.Value, 2); //(admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * userList[i].ShiyongPrice.Value |
| | | } |
| | | |
| | | |
| | | |
| | | //工作评价不合格罚款 |
| | | hrSalaryDTO.Fakuan += Math.Round(userList[i].ShiyongPrice.Value * admEvaluateDTOs.Count / admAttendanceDTO.Yingchuqin, 2); |
| | | hrSalaryDTO.Fakuan += Math.Round(ShiyongPrice * admEvaluateDTOs.Count / admAttendanceDTO.Yingchuqin, 2); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | hrSalaryDTO.Gongzuobutie += Math.Round( (userList[i].ShiyongPrice.Value - hrJibengongzi.Baomifei.Value- hrJibengongzi.Jibengongzi.Value ) * shiyongqichuqinlv, 2); |
| | | hrSalaryDTO.Gongzuobutie += Math.Round( (ShiyongPrice * shiyongqichuqinlv - hrSalaryDTO.Baomifei.Value- hrSalaryDTO.Jibengongzi.Value ) , 2); |
| | | |
| | | |
| | | |
| | |
| | | hrSalaryDTO.Queqin += queqingkoukuan; |
| | | } |
| | | } |
| | | hrSalaryDTO.Jiabangongzi += Math.Round((admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * BasicPrice, 2); |
| | | if (hrJibengongzi.Jiabangongzi.HasValue) |
| | | { |
| | | hrSalaryDTO.Jiabangongzi += Math.Round(admAttendanceDTO.Jiaban * hrJibengongzi.Jiabangongzi.Value, 2); // hrSalaryDTO.Jiabangongzi += Math.Round((admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * BasicPrice, 2); |
| | | } |
| | | |
| | | } |
| | | |
| | | if(shiyongqichuqinlv>0 || hrSalaryDTO.Gongzuobutie != new decimal(0)) |
| | | { |
| | | hrSalaryDTO.Gongzuobutie += Math.Round((BasicPrice * zhuanzhengchuqinlv ), 2); |
| | | } |
| | | else |
| | | { |
| | | hrSalaryDTO.Gongzuobutie += Math.Round((BasicPrice * zhuanzhengchuqinlv - hrSalaryDTO.Baomifei.Value - hrSalaryDTO.Jibengongzi.Value), 2); |
| | | } |
| | | |
| | | |
| | | hrSalaryDTO.Gongzuobutie += Math.Round((BasicPrice - hrJibengongzi.Baomifei.Value - hrJibengongzi.Jibengongzi.Value) * zhuanzhengchuqinlv, 2); |
| | | |
| | | |
| | | |
| | |
| | | //var feijijiandengji = fiPiecerateDTOs.Where(x => x.Standard == "A"); |
| | | //var jijiandengji = fiPiecerateDTOs.Where(x => x.Standard == "A"); |
| | | |
| | | #region 采购项目录入 |
| | | #region 采购公告录入 |
| | | |
| | | var projectDTOsyue = _projectService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); |
| | | if (projectDTOsyue!=null && projectDTOsyue.Count > 0 ) |
| | | var caigougonggaoDTOsyue = _projectService.GetcaigougonggaoListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); |
| | | if (caigougonggaoDTOsyue != null && caigougonggaoDTOsyue.Count > 0) |
| | | { |
| | | var jijianidddd = fiPiecerateDTOs.Where(x => x.Project == "采购项目录入").FirstOrDefault(); |
| | | var jijianidddd = fiPiecerateDTOs.Where(x => x.Project == "采购公告录入").FirstOrDefault(); |
| | | if (jijianidddd != null) |
| | | { |
| | | var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianidddd.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault(); |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while(kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = projectDTOsyue.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var caigougonggaoDTOsri = caigougonggaoDTOsyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = caigougonggaoDTOsri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = caigougonggaoDTOsyue.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 = projectDTOsyue.Count - renwujishu; |
| | | decimal youxiaojijian = caigougonggaoDTOsyue.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 采购项目录入 |
| | | |
| | | var projectDTOsyue = _projectService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); |
| | | var zhengfuprojectDTOsyue = _projectService.GetListsalaryzhengfu(userList[i].Id, dateminkaoqin, datemaxkaoqin); |
| | | if ((projectDTOsyue!=null && projectDTOsyue.Count > 0 ) || (zhengfuprojectDTOsyue != null && zhengfuprojectDTOsyue.Count > 0)) |
| | | { |
| | | var jijianidddd = fiPiecerateDTOs.Where(x => 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") |
| | | { |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | try |
| | | { |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var projectDTOri = projectDTOsyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var zhengfuprojectDTOri = zhengfuprojectDTOsyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = projectDTOri.Count + zhengfuprojectDTOri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = projectDTOsyue.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 = projectDTOsyue.Count + zhengfuprojectDTOsyue.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | #region 客户资料录入 |
| | | |
| | | |
| | | var _intentionCustomerDTOs = _intentionCustomerService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); |
| | | if (_intentionCustomerDTOs!=null && _intentionCustomerDTOs.Count > 0) |
| | | { |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = _intentionCustomerDTOs.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var _intentionCustomerDTOsri = _intentionCustomerDTOs.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = _intentionCustomerDTOsri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = _intentionCustomerDTOs.Count - renwujishu; |
| | | // if (youxiaojijian > 0) |
| | | // { |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | // } |
| | | |
| | | //} |
| | | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "02") |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = groupTopicDTOs.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var groupTopicDTOsri = groupTopicDTOs.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = groupTopicDTOsri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //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") |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = intentionVisitDTOs.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var intentionVisitDTOsri = intentionVisitDTOs.Where(x => x.Vistime >= kaishijisuan && x.Vistime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = intentionVisitDTOsri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = intentionVisitDTOs.Count - renwujishu; |
| | | // if (youxiaojijian > 0) |
| | | // { |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | // } |
| | | |
| | | //} |
| | | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "02") |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = duanxinsyue.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var duanxinsri = duanxinsyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = duanxinsri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = duanxinsyue.Count - renwujishu; |
| | | // if (youxiaojijian > 0) |
| | | // { |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | // } |
| | | |
| | | //} |
| | | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "02") |
| | |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | #region 添加微信客户 |
| | | TongjiBaoBiaoDTO weixnDTO = new TongjiBaoBiaoDTO(); |
| | | weixnDTO.gongzuo = "添加微信客户"; |
| | | //本月数量 |
| | | var cooperweixinDTOsyue = _cooperatecustomCustomerService.GetListsalaryweixin(userList[i].Id, dateminkaoqin, datemaxkaoqin); |
| | | var intentionweixinDTOsyue = _intentionCustomerService.GetListsalaryweixin(userList[i].Id, dateminkaoqin, datemaxkaoqin); |
| | | var jijianiweixn = fiPiecerateDTOs.Where(x => x.Project == "添加微信客户").FirstOrDefault(); |
| | | if (jijianiweixn != null) |
| | | { |
| | | var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianiweixn.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault(); |
| | | if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue) |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | try |
| | | { |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperweixinDTOsri = cooperweixinDTOsyue.Where(x => x.Weixintime >= kaishijisuan && x.Weixintime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var intentionweixinDTOsri = intentionweixinDTOsyue.Where(x => x.Weixintime >= kaishijisuan && x.Weixintime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperweixinDTOsri.Count + intentionweixinDTOsri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = cooperweixinDTOsyue.Count+ intentionweixinDTOsyue.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 = cooperweixinDTOsyue.Count + intentionweixinDTOsyue.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 群发邮件 |
| | | |
| | | var youjiansyue = _cusFangwenjiluService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin).Where(x => x.Fasongfangshi == "02").ToList(); |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = youjiansyue.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var youjiansri = youjiansyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = youjiansri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = youjiansyue.Count - renwujishu; |
| | | // if (youxiaojijian > 0) |
| | | // { |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | // } |
| | | |
| | | //} |
| | | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "02") |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = yixiangsyue.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var yixiangsri = yixiangsyue.Where(x => x.Yixiangtime >= kaishijisuan && x.Yixiangtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = yixiangsri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = yixiangsyue.Count - renwujishu; |
| | | // if (youxiaojijian > 0) |
| | | // { |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | // } |
| | | |
| | | //} |
| | | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "02") |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = zhucehuiyuansyue.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var zhucehuiyuansyueri = zhucehuiyuansyue.Where(x => x.CreatTime >= kaishijisuan && x.CreatTime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = zhucehuiyuansyueri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = zhucehuiyuansyue.Count - renwujishu; |
| | | // if (youxiaojijian > 0) |
| | | // { |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | // } |
| | | |
| | | //} |
| | | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "02") |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = qianyueDTOsyue.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var qianyueDTOsri = qianyueDTOsyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = qianyueDTOsri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = qianyueDTOsyue.Count - renwujishu; |
| | | // if (youxiaojijian > 0) |
| | | // { |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | // } |
| | | |
| | | //} |
| | | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "02") |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = intentionVisitDTOsshangmen.Count + cooperVisitDTOs.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperVisitDTOsri = cooperVisitDTOs.Where(x => x.Vistime >= kaishijisuan && x.Vistime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var intentionVisitDTOsshangmenri = intentionVisitDTOsshangmen.Where(x => x.Vistime >= kaishijisuan && x.Vistime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperVisitDTOsri.Count + intentionVisitDTOsshangmenri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = intentionVisitDTOsshangmen.Count + cooperVisitDTOs.Count - renwujishu; |
| | | // if (youxiaojijian > 0) |
| | | // { |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | // } |
| | | |
| | | //} |
| | | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "02") |
| | |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | else if (jixiaotichengfangan.Renwustandard == "05") |
| | | { |
| | | |
| | | var cooperVisitDTOszhou = _cooperVisitService.GetListsalary(userList[i].Id, dateminkaoqin.AddMonths(-1), datemaxkaoqin).Where(x => x.VisType == "02").ToList(); |
| | | var intentionVisitDTOsshangmenzhou = _intentionVisitService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin).Where(x => x.VisType == "02").ToList(); |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | var zhoukaishidate = CalculateFirstDateOfWeek(kaishijisuan); |
| | | var zhoujieshudate = CalculateLastDateOfWeek(kaishijisuan); |
| | | |
| | | try |
| | | { |
| | | if(zhoujieshudate < datemaxkaoqin) |
| | | { |
| | | var cooperVisitDTOsri = cooperVisitDTOszhou.Where(x => x.Vistime >= zhoukaishidate && x.Vistime < zhoujieshudate.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var intentionVisitDTOsshangmenri = intentionVisitDTOsshangmenzhou.Where(x => x.Vistime >= zhoukaishidate && x.Vistime < zhoujieshudate.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperVisitDTOsri.Count + intentionVisitDTOsshangmenri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = zhoujieshudate.AddDays(1); |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = dtChannelArticleNewsDTOs.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var dtChannelArticleNewsDTOsri = dtChannelArticleNewsDTOs.Where(x => x.AddTime >= kaishijisuan && x.AddTime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = dtChannelArticleNewsDTOsri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = dtChannelArticleNewsDTOs.Count - renwujishu; |
| | | // if (youxiaojijian > 0) |
| | | // { |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | // } |
| | | |
| | | //} |
| | | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "02") |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = dianxinanDTOs.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var dianxinanDTOsri = dianxinanDTOs.Where(x => x.AddTime >= kaishijisuan && x.AddTime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = dianxinanDTOsri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = dianxinanDTOs.Count - renwujishu; |
| | | // if (youxiaojijian > 0) |
| | | // { |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | // } |
| | | |
| | | //} |
| | | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "02") |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = zhengcaizhishiDTOs.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var zhengcaizhishiDTOsri = zhengcaizhishiDTOs.Where(x => x.AddTime >= kaishijisuan && x.AddTime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = zhengcaizhishiDTOsri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = zhengcaizhishiDTOs.Count - renwujishu; |
| | | // if (youxiaojijian > 0) |
| | | // { |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | // } |
| | | |
| | | //} |
| | | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "02") |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = xinzengwendaDTOsyue.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var xinzengwendaDTOsri = xinzengwendaDTOsyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = xinzengwendaDTOsri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = xinzengwendaDTOsyue.Count - renwujishu; |
| | | // if (youxiaojijian > 0) |
| | | // { |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | // } |
| | | |
| | | //} |
| | | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "02") |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = shenhewendaDTOsyue.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var shenhewendaDTOsri = shenhewendaDTOsyue.Where(x => x.Shenhetime >= kaishijisuan && x.Shenhetime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = shenhewendaDTOsri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = shenhewendaDTOsyue.Count - renwujishu; |
| | | // if (youxiaojijian > 0) |
| | | // { |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | // } |
| | | |
| | | //} |
| | | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "02") |
| | |
| | | #endregion |
| | | //合作客户订单 |
| | | List<CooperOrderDTO> cooperOrderDTOs = _cooperOrderService.GetList(userList[i].Id, dateminkaoqin, datemaxkaoqin); |
| | | List<CooperOrderDTO> cooperOrderDTOszhouyue = _cooperOrderService.GetList(userList[i].Id, dateminkaoqin.AddMinutes(-1), datemaxkaoqin); |
| | | |
| | | #region 图书销售 |
| | | var cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "01").ToList(); |
| | |
| | | { |
| | | if(jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if(jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushu.Count - renwujishu ; |
| | | if (youxiaojijian>0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushusri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushusri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | |
| | | //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") |
| | | { |
| | |
| | | } |
| | | 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 - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian* new decimal(0.01), 2); |
| | | try |
| | | { |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushusri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var dingdanjine = cooperOrdertushusri.Sum(x => x.Money); |
| | | var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; |
| | | if (jixiaotichengfangan.Tichengstandard == "02") |
| | | { |
| | | decimal youxiaojijian = dingdanjinezhenshi - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //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 - renwujishu; |
| | | //if (youxiaojijian > 0) |
| | | //{ |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian* new decimal(0.01), 2); |
| | | //} |
| | | } |
| | | |
| | | } |
| | |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "06") |
| | | { |
| | | |
| | | var cooperOrderDTOszhou = cooperOrderDTOszhouyue.Where(x => x.OrderType == "01").ToList(); |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | var zhoukaishidate = CalculateFirstDateOfWeek(kaishijisuan); |
| | | var zhoujieshudate = CalculateLastDateOfWeek(kaishijisuan); |
| | | |
| | | try |
| | | { |
| | | if (zhoujieshudate < datemaxkaoqin) |
| | | { |
| | | var cooperOrdertushusri = cooperOrderDTOszhou.Where(x => x.Createtime >= zhoukaishidate && x.Createtime < zhoujieshudate.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var dingdanjine = cooperOrdertushusri.Sum(x => x.Money); |
| | | var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; |
| | | if (jixiaotichengfangan.Tichengstandard == "02") |
| | | { |
| | | decimal youxiaojijian = dingdanjinezhenshi - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = zhoujieshudate.AddDays(1); |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | |
| | | //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") |
| | |
| | | } |
| | | 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 - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | try |
| | | { |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); |
| | | var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; |
| | | if (jixiaotichengfangan.Tichengstandard == "02") |
| | | { |
| | | decimal youxiaojijian = dingdanjinezhenshi - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //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 - renwujishu; |
| | | //if (youxiaojijian > 0) |
| | | //{ |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | //} |
| | | } |
| | | |
| | | } |
| | |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "06") |
| | | { |
| | | |
| | | var cooperOrderDTOszhou = cooperOrderDTOszhouyue.Where(x => x.OrderType == "02").ToList(); |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | var zhoukaishidate = CalculateFirstDateOfWeek(kaishijisuan); |
| | | var zhoujieshudate = CalculateLastDateOfWeek(kaishijisuan); |
| | | |
| | | try |
| | | { |
| | | if (zhoujieshudate < datemaxkaoqin) |
| | | { |
| | | var cooperOrdertushusri = cooperOrderDTOszhou.Where(x => x.Createtime >= zhoukaishidate && x.Createtime < zhoujieshudate.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var dingdanjine = cooperOrdertushusri.Sum(x => x.Money); |
| | | var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; |
| | | if (jixiaotichengfangan.Tichengstandard == "02") |
| | | { |
| | | decimal youxiaojijian = dingdanjinezhenshi - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = zhoujieshudate.AddDays(1); |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | |
| | | //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") |
| | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "03") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //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 - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | try |
| | | { |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); |
| | | var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; |
| | | if (jixiaotichengfangan.Tichengstandard == "02") |
| | | { |
| | | decimal youxiaojijian = dingdanjinezhenshi - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | |
| | | //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 - renwujishu; |
| | | //if (youxiaojijian > 0) |
| | | //{ |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | //} |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "06") |
| | | { |
| | | |
| | | var cooperOrderDTOszhou = cooperOrderDTOszhouyue.Where(x => x.OrderType == "03").ToList(); |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | var zhoukaishidate = CalculateFirstDateOfWeek(kaishijisuan); |
| | | var zhoujieshudate = CalculateLastDateOfWeek(kaishijisuan); |
| | | |
| | | try |
| | | { |
| | | if (zhoujieshudate < datemaxkaoqin) |
| | | { |
| | | var cooperOrdertushusri = cooperOrderDTOszhou.Where(x => x.Createtime >= zhoukaishidate && x.Createtime < zhoujieshudate.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var dingdanjine = cooperOrdertushusri.Sum(x => x.Money); |
| | | var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; |
| | | if (jixiaotichengfangan.Tichengstandard == "02") |
| | | { |
| | | decimal youxiaojijian = dingdanjinezhenshi - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = zhoujieshudate.AddDays(1); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //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") |
| | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "03") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //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 - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | try |
| | | { |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); |
| | | var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; |
| | | if (jixiaotichengfangan.Tichengstandard == "02") |
| | | { |
| | | decimal youxiaojijian = dingdanjinezhenshi - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | |
| | | //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 - renwujishu; |
| | | //if (youxiaojijian > 0) |
| | | //{ |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | //} |
| | | } |
| | | |
| | | } |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushusri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushusri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //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") |
| | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "03") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //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 - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | try |
| | | { |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); |
| | | var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; |
| | | if (jixiaotichengfangan.Tichengstandard == "02") |
| | | { |
| | | decimal youxiaojijian = dingdanjinezhenshi - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //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 - renwujishu; |
| | | //if (youxiaojijian > 0) |
| | | //{ |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | //} |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | else if (jixiaotichengfangan.Renwustandard == "05") |
| | | { |
| | | |
| | | var cooperOrderDTOszhou = cooperOrderDTOszhouyue.Where(x => x.OrderType == "05").OrderBy(x => x.Createtime).ToList(); |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | var zhoukaishidate = CalculateFirstDateOfWeek(kaishijisuan); |
| | | var zhoujieshudate = CalculateLastDateOfWeek(kaishijisuan); |
| | | |
| | | try |
| | | { |
| | | if (zhoujieshudate < datemaxkaoqin) |
| | | { |
| | | var cooperOrdertushusri = cooperOrderDTOszhou.Where(x => x.Createtime >= zhoukaishidate && x.Createtime < zhoujieshudate.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | //if (jixiaotichengfangan.Tichengstandard == "02") |
| | | if (cooperOrdertushusri.Count > renwujishu) |
| | | { |
| | | List<CooperOrderDTO> cooperOrdertushuyouxiao = new List<CooperOrderDTO>(); |
| | | for (int j = Convert.ToInt32(renwujishu); j < cooperOrdertushusri.Count; j++) |
| | | { |
| | | cooperOrdertushuyouxiao.Add(cooperOrdertushusri[j]); |
| | | } |
| | | var dingdanjine = cooperOrdertushuyouxiao.Sum(x => x.Money); |
| | | var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * dingdanjinezhenshi * new decimal(0.01), 2); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = zhoujieshudate.AddDays(1); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | try |
| | | { |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //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; |
| | | //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 - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | try |
| | | { |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); |
| | | var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; |
| | | if (jixiaotichengfangan.Tichengstandard == "02") |
| | | { |
| | | decimal youxiaojijian = dingdanjinezhenshi - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //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 - renwujishu; |
| | | //if (youxiaojijian > 0) |
| | | //{ |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | //} |
| | | } |
| | | |
| | | } |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | try |
| | | { |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | |
| | | //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; |
| | | //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 - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | try |
| | | { |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); |
| | | var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; |
| | | if (jixiaotichengfangan.Tichengstandard == "02") |
| | | { |
| | | decimal youxiaojijian = dingdanjinezhenshi - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | |
| | | |
| | | //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 - renwujishu; |
| | | //if (youxiaojijian > 0) |
| | | //{ |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | //} |
| | | } |
| | | |
| | | } |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Wangongtime >= kaishijisuan && x.Wangongtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | |
| | | //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") |
| | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "03") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //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 - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | try |
| | | { |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Wangongtime >= kaishijisuan && x.Wangongtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); |
| | | var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; |
| | | if (jixiaotichengfangan.Tichengstandard == "02") |
| | | { |
| | | decimal youxiaojijian = dingdanjinezhenshi - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //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 - renwujishu; |
| | | //if (youxiaojijian > 0) |
| | | //{ |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | //} |
| | | } |
| | | |
| | | } |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //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") |
| | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "03") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //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 - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | try |
| | | { |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); |
| | | var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; |
| | | if (jixiaotichengfangan.Tichengstandard == "02") |
| | | { |
| | | decimal youxiaojijian = dingdanjinezhenshi - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //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 - renwujishu; |
| | | //if (youxiaojijian > 0) |
| | | //{ |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | //} |
| | | } |
| | | |
| | | } |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //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") |
| | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "03") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //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 - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | try |
| | | { |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); |
| | | var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; |
| | | if (jixiaotichengfangan.Tichengstandard == "02") |
| | | { |
| | | decimal youxiaojijian = dingdanjinezhenshi - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //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 - renwujishu; |
| | | //if (youxiaojijian > 0) |
| | | //{ |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | //} |
| | | } |
| | | |
| | | } |
| | |
| | | { |
| | | if (jixiaotichengfangan.Renwustandard == "01") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | //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") |
| | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "03") |
| | | { |
| | | decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | if (jixiaotichengfangan.Tichengstandard == "02") |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | 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 - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | try |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); |
| | | var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; |
| | | if (jixiaotichengfangan.Tichengstandard == "02") |
| | | { |
| | | decimal youxiaojijian = dingdanjinezhenshi - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | |
| | | //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 - renwujishu; |
| | | // if (youxiaojijian > 0) |
| | | // { |
| | | // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); |
| | | // } |
| | | //} |
| | | |
| | | } |
| | | else if (jixiaotichengfangan.Renwustandard == "04") |
| | |
| | | |
| | | #endregion |
| | | |
| | | |
| | | |
| | | |
| | | #region 专家录入 |
| | | |
| | | var zhuanjialuruDTOsyue = _expertService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); |
| | | if (zhuanjialuruDTOsyue != null && zhuanjialuruDTOsyue.Count > 0) |
| | | { |
| | | var jijianidddd = fiPiecerateDTOs.Where(x => 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") |
| | | { |
| | | DateTime kaishijisuan = new DateTime(Year, Month, 1); |
| | | decimal renwujishu = jixiaotichengfangan.Renwu.Value; |
| | | while (kaishijisuan < datemaxkaoqin) |
| | | { |
| | | try |
| | | { |
| | | var gongzuoshijian = shifougongzuori(kaishijisuan); |
| | | if (gongzuoshijian) |
| | | { |
| | | var zhuanjialuruDTOsri = zhuanjialuruDTOsyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); |
| | | if (jixiaotichengfangan.Tichengstandard == "01") |
| | | { |
| | | decimal youxiaojijian = zhuanjialuruDTOsri.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogInformation(ex.ToString()); |
| | | } |
| | | kaishijisuan = kaishijisuan.AddDays(1); |
| | | } |
| | | |
| | | //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; |
| | | //if (jixiaotichengfangan.Tichengstandard == "01") |
| | | //{ |
| | | // decimal youxiaojijian = zhuanjialuruDTOsyue.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 = zhuanjialuruDTOsyue.Count - renwujishu; |
| | | if (youxiaojijian > 0) |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | | |
| | | //试用期绩效为0.8倍 |
| | | if (hrSalaryDTO.Jixiaoticheng.HasValue) |
| | | { |
| | | 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)) |
| | | { |
| | | var a = userList[i].ShiyongDateEnd.Value.Day; |
| | | var b = datemaxkaoqin.AddDays(-1).Day; |
| | | var shiyongqijixiao = new decimal(a) / new decimal(b) * hrSalaryDTO.Jixiaoticheng.Value * new decimal(0.8); |
| | | var zhengshijixiao =(new decimal(1) - new decimal(a) / new decimal(b)) * hrSalaryDTO.Jixiaoticheng.Value; |
| | | hrSalaryDTO.Jixiaoticheng = Math.Round(shiyongqijixiao + zhengshijixiao, 2); |
| | | |
| | | } |
| | | else |
| | | { |
| | | hrSalaryDTO.Jixiaoticheng = Math.Round(hrSalaryDTO.Jixiaoticheng.Value * new decimal(0.8), 2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | hrSalaryDTO.Daozhanggongzi = 0; |
| | |
| | | } |
| | | } |
| | | |
| | | yingfaheji = jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi - shebaokou + ((dianhuabutie - dianhuafei) <= 0 ? (dianhuabutie - dianhuafei) : 0) - queqin - fakuan + peichang + jiucuo; |
| | | |
| | | |
| | | hrSalaryDTO.Yufagongzi = userList[i].advancewages; |
| | | |
| | | if (userList[i].advancewages.HasValue && userList[i].advancewages.Value > 0) |
| | | { |
| | | 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; |
| | | } |
| | | |
| | | if (hrSalaryDTO.Yufagongziheji > 0) |
| | | { |
| | | if (yingfaheji < (hrSalaryDTO.Yufagongzi+shebao- shebaokou)) |
| | | { |
| | | hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi + shebao - shebaokou - yingfaheji); |
| | | yingfaheji = (hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou); |
| | | } |
| | | else if (yingfaheji > (hrSalaryDTO.Yufagongzi + shebao - shebaokou)) |
| | | { |
| | | if (hrSalaryDTO.Yufagongziheji >= (yingfaheji - (hrSalaryDTO.Yufagongzi + shebao - shebaokou))) |
| | | { |
| | | hrSalaryDTO.Yufagongziheji += ((hrSalaryDTO.Yufagongzi + shebao - shebaokou) - yingfaheji); |
| | | yingfaheji = (hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou); |
| | | } |
| | | else |
| | | { |
| | | yingfaheji -= hrSalaryDTO.Yufagongziheji.Value; |
| | | hrSalaryDTO.Yufagongziheji = 0; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | else if (hrSalaryDTO.Yufagongziheji == 0) |
| | | { |
| | | hrSalaryDTO.Yufagongziheji += ((hrSalaryDTO.Yufagongzi + shebao - shebaokou) - yingfaheji); |
| | | if (yingfaheji < (hrSalaryDTO.Yufagongzi + shebao - shebaokou)) |
| | | { |
| | | yingfaheji = (hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou); |
| | | } |
| | | } |
| | | else if (hrSalaryDTO.Yufagongziheji < 0) |
| | | { |
| | | if (yingfaheji < (hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou)) |
| | | { |
| | | if (-hrSalaryDTO.Yufagongziheji >= ((hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou) - yingfaheji)) |
| | | { |
| | | hrSalaryDTO.Yufagongziheji += ((hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou) - yingfaheji); |
| | | yingfaheji = (hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou); |
| | | } |
| | | else |
| | | { |
| | | yingfaheji += hrSalaryDTO.Yufagongziheji.Value; |
| | | hrSalaryDTO.Yufagongziheji = 0; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | yingnashuie = jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi - shebaokou + ( (dianhuabutie - dianhuafei)<=0? (dianhuabutie - dianhuafei) : 0) - queqin - fakuan + peichang + jiucuo - geshuiqizheng; |
| | | |
| | | |
| | | |
| | | |
| | | yingnashuie = yingfaheji - geshuiqizheng; |
| | | |
| | | |
| | | hrSalaryDTO.Geshui = 0; |
| | |
| | | } |
| | | decimal geshui = hrSalaryDTO.Geshui.HasValue ? hrSalaryDTO.Geshui.Value : 0; |
| | | |
| | | hrSalaryDTO.Daozhanggongzi += jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi - shebaokou - geshui + ((dianhuabutie - dianhuafei) <= 0 ? (dianhuabutie - dianhuafei) : 0) - queqin - fakuan + peichang + jiucuo; |
| | | |
| | | |
| | | hrSalaryDTO.Daozhanggongzi = yingfaheji - geshui; |
| | | |
| | | |
| | | |
| | | hrSalaryDTO.Yufagongzi = userList[i].advancewages; |
| | | |
| | | if (userList[i].advancewages.HasValue && userList[i].advancewages.Value>0) |
| | | { |
| | | 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; |
| | | } |
| | | |
| | | if (hrSalaryDTO.Yufagongziheji > 0) |
| | | { |
| | | if (hrSalaryDTO.Daozhanggongzi < hrSalaryDTO.Yufagongzi) |
| | | { |
| | | hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi); |
| | | hrSalaryDTO.Daozhanggongzi = hrSalaryDTO.Yufagongzi; |
| | | } |
| | | else if (hrSalaryDTO.Daozhanggongzi > hrSalaryDTO.Yufagongzi) |
| | | { |
| | | if(hrSalaryDTO.Yufagongziheji>= (hrSalaryDTO.Daozhanggongzi - hrSalaryDTO.Yufagongzi)) |
| | | { |
| | | hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi); |
| | | hrSalaryDTO.Daozhanggongzi = hrSalaryDTO.Yufagongzi; |
| | | } |
| | | else |
| | | { |
| | | hrSalaryDTO.Daozhanggongzi -= hrSalaryDTO.Yufagongziheji; |
| | | hrSalaryDTO.Yufagongziheji = 0; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | else if (hrSalaryDTO.Yufagongziheji == 0) |
| | | { |
| | | hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi); |
| | | if (hrSalaryDTO.Daozhanggongzi < hrSalaryDTO.Yufagongzi) |
| | | { |
| | | hrSalaryDTO.Daozhanggongzi = hrSalaryDTO.Yufagongzi; |
| | | } |
| | | } |
| | | else if (hrSalaryDTO.Yufagongziheji < 0) |
| | | { |
| | | if (hrSalaryDTO.Daozhanggongzi < hrSalaryDTO.Yufagongzi) |
| | | { |
| | | if (-hrSalaryDTO.Yufagongziheji >= (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi)) |
| | | { |
| | | hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi); |
| | | hrSalaryDTO.Daozhanggongzi = hrSalaryDTO.Yufagongzi; |
| | | } |
| | | else |
| | | { |
| | | hrSalaryDTO.Daozhanggongzi += hrSalaryDTO.Yufagongziheji; |
| | | hrSalaryDTO.Yufagongziheji = 0; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | hrSalaryDTO.RecStatus = "A"; |
| | | hrSalaryDTO.Islock = "D"; |
| | | hrSalaryDTO.Creater = "1"; |