| | |
| | | //计算当天请假 |
| | | List<DateBiJiaoDTO> qingjias = new List<DateBiJiaoDTO>(); |
| | | |
| | | var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7").ToList(); |
| | | var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7" && x.Lavetype != "3").ToList(); |
| | | foreach (var admAskLeave in feichuqinjia) |
| | | { |
| | | |
| | |
| | | { |
| | | jiabanshijian = admAskovertimeDTO.Overtime.Value; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | if (jiabanshijian > new decimal(shangbanshijian) / 60) |
| | | { |
| | | jiabanshijian = new decimal(shangbanshijian) /60; |
| | | } |
| | | Jiaban += Math.Round(jiabanshijian * 60 / shangbanshijian, 2); |
| | | } |
| | | |
| | |
| | | //计算当天请假 |
| | | List<DateBiJiaoDTO> qingjias = new List<DateBiJiaoDTO>(); |
| | | |
| | | var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7").ToList(); |
| | | var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7" && x.Lavetype != "3").ToList(); |
| | | foreach (var admAskLeave in feichuqinjia) |
| | | { |
| | | |
| | |
| | | { |
| | | jiabanshijian = admAskovertimeDTO.Overtime.Value; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | if (jiabanshijian > new decimal(shangbanshijian) / 60) |
| | | { |
| | | jiabanshijian = new decimal(shangbanshijian) / 60; |
| | | } |
| | | Jiaban += Math.Round(jiabanshijian * 60 / shangbanshijian, 2); |
| | | } |
| | | } |
| | |
| | | //查询当前员工职务的基本工资配置 |
| | | |
| | | var hrJibengongzi = hrJibengongziDTOs.Where(x=>x.PostId == userList[i].HrPosition ).OrderByDescending(x=>x.Effecttime).FirstOrDefault(); |
| | | |
| | | |
| | | if (hrJibengongzi == null) |
| | | { |
| | | _logger.LogInformation(userList[i].UserName + ": 职务所属资本工资为空"); |
| | | continue; |
| | | } |
| | | var shebaoDTO = _JibengongziService.GetListShebao().FirstOrDefault(); |
| | | if (shebaoDTO == null) |
| | | { |
| | | _logger.LogInformation(userList[i].UserName + ": 社保维护为空"); |
| | | continue; |
| | | } |
| | | |
| | | hrSalaryDTO.Jibengongzi = Math.Round( hrJibengongzi.Jibengongzi.Value * chuqinlv, 2); |
| | | hrSalaryDTO.Baomifei = Math.Round(hrJibengongzi.Baomifei.Value * chuqinlv, 2); |
| | | //是否在试用期 |
| | |
| | | { |
| | | geshuiqizheng = userList[i].geshuiqizheng.Value; |
| | | } |
| | | var Shebaodanwei = hrJibengongzi.Shebaodanwei.HasValue ? hrJibengongzi.Shebaodanwei.Value : 0; |
| | | var Shebaogeren = hrJibengongzi.Shebaogeren.HasValue ? hrJibengongzi.Shebaogeren.Value : 0; |
| | | var Shebaodanwei = shebaoDTO.Shebaodanwei.HasValue ? shebaoDTO.Shebaodanwei.Value : 0; |
| | | var Shebaogeren = shebaoDTO.Shebaogeren.HasValue ? shebaoDTO.Shebaogeren.Value : 0; |
| | | decimal yingnashuie = 0; |
| | | hrSalaryDTO.Queqin = 0; |
| | | hrSalaryDTO.Fakuan = 0; |
| | |
| | | hrSalaryDTO.Jiabangongzi = 0; |
| | | decimal shiyongqichuqintianshu = 0; |
| | | decimal shiyongqichuqinlv = 0; |
| | | |
| | | decimal yingfaheji = 0; |
| | | |
| | | |
| | | decimal BasicPrice = 0; |
| | |
| | | |
| | | |
| | | |
| | | //yingnashuie = userList[i].ShiyongPrice.Value - Shebaogeren - geshuiqizheng; |
| | | |
| | | |
| | | |
| | | |
| | |
| | | |
| | | |
| | | |
| | | //yingnashuie = BasicPrice - Shebaogeren - geshuiqizheng; |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | decimal peichang1 = hrSalaryDTO1.Peichang.HasValue ? hrSalaryDTO1.Peichang.Value : 0; |
| | | decimal jiucuo1 = hrSalaryDTO1.Jiucuo.HasValue ? hrSalaryDTO1.Jiucuo.Value : 0; |
| | | |
| | | baodinianxin += jibengongzi1 + baomifei1 + gongzuobutie1 + jiabangongzi1 + shebao1 + quanqinjiang1 + jiaotngbutie1 + jixiaoticheng1 + jiangjin1 + bufagongzi1 + jiucuo1; |
| | | baodinianxin += jibengongzi1 + baomifei1 + gongzuobutie1 + jiabangongzi1 + shebao1 + quanqinjiang1 + jiaotngbutie1 + jixiaoticheng1 + jiangjin1 + bufagongzi1 + jiucuo1+ peichang1; |
| | | } |
| | | } |
| | | baodinianxin += jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi + jiucuo; |
| | | if(baodinianxin < userList[i].miniyearsalary.Value) |
| | | baodinianxin += jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi + jiucuo + peichang; |
| | | if (baodinianxin < userList[i].miniyearsalary.Value) |
| | | { |
| | | jiucuo = userList[i].miniyearsalary.Value - baodinianxin; |
| | | } |
| | | } |
| | | } |
| | | |
| | | 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"; |