| | |
| | | return resultEntity; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 保存工资核准 |
| | | /// </summary> |
| | | /// <param name="dto"></param> |
| | | /// <returns></returns> |
| | | public ResultEntity SaveCheckSalary(HrSalaryUpDTO dto) |
| | | { |
| | | ResultEntity resultEntity = new ResultEntity(); |
| | |
| | | { |
| | | //更新电话费用状态 |
| | | var sim = _context.SimCost.Where(c => c.bill_year == updatepltRole.Year && c.bill_month <= updatepltRole.Month && c.user_id == updatepltRole.Userid && c.status == "0").ToList(); |
| | | foreach(var item in sim) |
| | | if(sim!=null) |
| | | { |
| | | item.status = "1"; |
| | | } |
| | | foreach (var item in sim) |
| | | { |
| | | item.status = "1"; |
| | | } |
| | | } |
| | | |
| | | var user = _context.PltUsers.Where(c => c.Id == updatepltRole.Userid).SingleOrDefault(); |
| | | |
| | |
| | | var sum_f = ((updatepltRole.Jibengongzi ?? 0) + (updatepltRole.Baomifei ?? 0) + (updatepltRole.Gongzuobutie ?? 0) + |
| | | (updatepltRole.Jiabangongzi ?? 0) + (updatepltRole.Shebao ?? 0) + (updatepltRole.Dianhuabutie ?? 0) + |
| | | (updatepltRole.Quanqinjiang ?? 0) + (updatepltRole.Jiaotngbutie ?? 0) + (updatepltRole.Jixiaoticheng ?? 0) + |
| | | dto.Jiangjin + dto.Bufagongzi); |
| | | dto.Jiangjin + dto.Bufagongzi) + dto.Jiucuo; ; |
| | | |
| | | updatepltRole.Peichang = dto.Peichang; |
| | | updatepltRole.Jiucuo = dto.Jiucuo; |
| | | |
| | | var sum_k= (updatepltRole.Shebaokou ?? 0) + (updatepltRole.Geshui ?? 0) + (updatepltRole.Dianhuafei ?? 0) + |
| | | (updatepltRole.Queqin ?? 0) + (updatepltRole.Fakuan ?? 0) + dto.Peichang + dto.Jiucuo; |
| | | var sum_k = (updatepltRole.Shebaokou ?? 0) + (updatepltRole.Geshui ?? 0) + (updatepltRole.Dianhuafei ?? 0) + |
| | | (updatepltRole.Queqin ?? 0) + (updatepltRole.Fakuan ?? 0) + dto.Peichang; |
| | | |
| | | |
| | | //计算预发工资 |
| | | |
| | | //var lyear = updatepltRole.Year; |
| | | //var lmonth = updatepltRole.Month-1; |
| | | //if(lmonth==0) |
| | | //{ |
| | | // lyear = lyear - 1; |
| | | // lmonth = 12; |
| | | //} |
| | | //var sumyfhj = _context.HrSalaries.Where(c => c.Year == lyear && c.Month == lmonth && c.Userid == updatepltRole.Userid).SingleOrDefault(); |
| | | |
| | | if(DateTime.Today> user.ShiyongDateEnd) |
| | | if (user.advancewages.HasValue && user.advancewages.Value>0) |
| | | { |
| | | if(string.IsNullOrEmpty(user.BasicPrice)) |
| | | var pc = user.advancewages.Value; |
| | | if (sum_f - sum_k > pc) |
| | | { |
| | | updatepltRole.Daozhanggongzi = sum_f - sum_k; |
| | | updatepltRole.Yufagongzi = 0; |
| | | updatepltRole.Daozhanggongzi = sum_f - sum_k; |
| | | } |
| | | else |
| | | { |
| | | var pc = decimal.Parse(user.BasicPrice); |
| | | if (sum_f - sum_k > pc) |
| | | { |
| | | updatepltRole.Daozhanggongzi = sum_f - sum_k; |
| | | updatepltRole.Yufagongzi = 0; |
| | | updatepltRole.Yufagongziheji = updatepltRole.Yufagongziheji - (sum_f - sum_k - pc); |
| | | } |
| | | else |
| | | { |
| | | updatepltRole.Daozhanggongzi = pc; |
| | | updatepltRole.Yufagongzi = pc-(sum_f - sum_k); |
| | | updatepltRole.Yufagongziheji = updatepltRole.Yufagongziheji + updatepltRole.Yufagongzi; |
| | | } |
| | | } |
| | | //预发 |
| | | updatepltRole.Daozhanggongzi = pc; |
| | | updatepltRole.Yufagongzi = pc - (sum_f - sum_k); |
| | | updatepltRole.Yufagongziheji += updatepltRole.Yufagongzi; |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | if (user.ShiyongPrice.HasValue) |
| | | { |
| | | var pc = user.ShiyongPrice.Value; |
| | | if (sum_f - sum_k > pc) |
| | | { |
| | | updatepltRole.Daozhanggongzi = sum_f - sum_k; |
| | | updatepltRole.Yufagongzi = 0; |
| | | updatepltRole.Yufagongziheji = updatepltRole.Yufagongziheji - (sum_f - sum_k - pc); |
| | | } |
| | | else |
| | | { |
| | | updatepltRole.Daozhanggongzi = pc; |
| | | updatepltRole.Yufagongzi = pc - (sum_f - sum_k); |
| | | updatepltRole.Yufagongziheji = updatepltRole.Yufagongziheji + updatepltRole.Yufagongzi; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | updatepltRole.Daozhanggongzi = sum_f - sum_k; |
| | | updatepltRole.Yufagongzi = 0; |
| | | } |
| | | updatepltRole.Daozhanggongzi = sum_f - sum_k; |
| | | } |
| | | |
| | | updatepltRole.Islock = "H"; |
| | |
| | | return data; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 工资核准查询 |
| | | /// </summary> |
| | | /// <param name="searchEntity"></param> |
| | | /// <returns></returns> |
| | | public ResultDataEntity<HrSalaryDTO> SearchSalaryByPaging(HrSalaryDTOSearch searchEntity) |
| | | { |
| | | ResultDataEntity<HrSalaryDTO> data = new ResultDataEntity<HrSalaryDTO>(); |
| | | |
| | | //var listCode = (from a in _context.SysCodeDtls |
| | | // join b in _context.SysCodes |
| | | // on a.CodeId equals b.Id |
| | | // where a.RecStatus == "A" |
| | | // && b.RecStatus == "A" |
| | | // select new CodeDataEntity() |
| | | // { |
| | | // CodeId = b.Id, |
| | | // CodeTable = b.CodeTable, |
| | | // CodeField = b.CodeField, |
| | | // CodeSn = a.CodeSn, |
| | | // Comments = a.Comments, |
| | | // Contents = a.Contents, |
| | | // RecStatus = a.RecStatus, |
| | | // Sort = a.Sort |
| | | // } |
| | | // ); |
| | | var listCode = (from e in _context.SysCodes |
| | | join c in _context.SysCodeDtls |
| | | on e.Id equals c.CodeId |
| | | where e.RecStatus == "A" |
| | | && c.RecStatus == "A" |
| | | && e.CodeTable == "t_sim_bind" |
| | | && e.CodeField == "cardpro" |
| | | select c).OrderBy(x => x.Sort).ToList(); |
| | | |
| | | int year = 0; |
| | | int month = 0; |
| | | if (!string.IsNullOrWhiteSpace(searchEntity.YearMonth)) |
| | | if (string.IsNullOrWhiteSpace(searchEntity.YearMonth)) |
| | | { |
| | | DateTime yearMonth = DateTime.Parse(searchEntity.YearMonth + "-01"); |
| | | DateTime yearMonth = DateTime.Now;//.Parse(searchEntity.YearMonth + "-01"); |
| | | year = yearMonth.Year; |
| | | month = yearMonth.Month; |
| | | } |
| | | var query = (from a in _context.HrSalaries//.Where(x => x.RecStatus == "A") |
| | | // join b in listCode.Where(x => x.CodeTable == "hr_jibengongzi" && x.CodeField == "dianhuabutie") |
| | | //on a.Dianhuabutie equals b.CodeSn |
| | | // into bsssss |
| | | // from bbb in bsssss.DefaultIfEmpty() |
| | | else |
| | | { |
| | | var len = searchEntity.YearMonth.Split('-'); |
| | | if(len.Length==2) |
| | | { |
| | | year =int.Parse(len[0]); |
| | | month = int.Parse(len[1]); |
| | | } |
| | | |
| | | } |
| | | |
| | | var query = (from a in (_context.HrSalaries.Where(x => x.RecStatus == "A")) |
| | | //join b in listCode |
| | | //on a.Dianhuabutie equals b.CodeSn |
| | | //into bsssss |
| | | //from bbb in bsssss.DefaultIfEmpty() |
| | | |
| | | join f in _context.PltUsers |
| | | on a.Userid equals f.Id |
| | |
| | | Shebao = a.Shebao, |
| | | |
| | | Dianhuabutie = a.Dianhuabutie, |
| | | |
| | | Quanqinjiang = a.Quanqinjiang, |
| | | Jiaotngbutie = a.Jiaotngbutie, |
| | | Jixiaoticheng = a.Jixiaoticheng, |
| | |
| | | Modifier = a.Modifier, |
| | | Modifytime = a.Modifytime, |
| | | |
| | | }).OrderByDescending(x => x.Modifytime).ToList(); |
| | | }).OrderBy(x => x.UserName).ToList(); |
| | | |
| | | |
| | | |
| | |
| | | //if (searchEntity.totalrows == 0) |
| | | searchEntity.totalrows = query.Count(); |
| | | var rolelist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList(); |
| | | |
| | | if(rolelist!=null && rolelist.Count>0) |
| | | { |
| | | foreach(var item in rolelist) |
| | | { |
| | | item.DianhuabutieChs = BackChs(listCode, item.Dianhuabutie); |
| | | } |
| | | } |
| | | data.LoadData(searchEntity, rolelist); |
| | | return data; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 注释 |
| | | /// </summary> |
| | | /// <param name="listCode"></param> |
| | | /// <param name="code"></param> |
| | | /// <returns></returns> |
| | | private string BackChs(List<SysCodeDtl> listCode ,decimal? code ) |
| | | { |
| | | string str = "无"; |
| | | if(code.HasValue) |
| | | { |
| | | var st = ((int)code.Value).ToString(); |
| | | var temp = listCode.Find(c => c.CodeSn == st); |
| | | if(temp!=null) |
| | | { |
| | | str = temp.Comments; |
| | | } |
| | | } |
| | | return str; |
| | | } |
| | | |
| | | public ResultEntity ModifyStatus(string id, string userid) |
| | |
| | | /// <returns></returns> |
| | | public List<HrSalaryDTO> GetSalary(string userid,int year,int month) |
| | | { |
| | | var listCode = (from e in _context.SysCodes |
| | | join c in _context.SysCodeDtls |
| | | on e.Id equals c.CodeId |
| | | where e.RecStatus == "A" |
| | | && c.RecStatus == "A" |
| | | && e.CodeTable == "t_sim_bind" |
| | | && e.CodeField == "cardpro" |
| | | select c).OrderBy(x => x.Sort).ToList(); |
| | | |
| | | var entity = (from a in _context.HrSalaries |
| | | join b in _context.PltUsers on a.Userid equals b.Id |
| | | join c in _context.HrDepts on b.DeptId equals c.Id |
| | |
| | | if (entity == null) |
| | | { |
| | | entity = new List<HrSalaryDTO>(); |
| | | } |
| | | else |
| | | { |
| | | foreach (var item in entity) |
| | | { |
| | | item.DianhuabutieChs = BackChs(listCode, item.Dianhuabutie); |
| | | } |
| | | } |
| | | return entity; |
| | | } |
| | |
| | | else |
| | | { |
| | | model.id = Guid.NewGuid().ToString(); |
| | | model.year = salary.Year; |
| | | model.month = salary.Month; |
| | | model.sub_time = DateTime.Now; |
| | | model.status = "A"; |
| | | _context.HrSalaryAppeal.Add(model); |
| | |
| | | public ResultDataEntity<HrSalaryDTO> SearchByPagingFinish(HrSalaryDTOSearch searchEntity) |
| | | { |
| | | ResultDataEntity<HrSalaryDTO> data = new ResultDataEntity<HrSalaryDTO>(); |
| | | |
| | | var listCode = (from e in _context.SysCodes |
| | | join c in _context.SysCodeDtls |
| | | on e.Id equals c.CodeId |
| | | where e.RecStatus == "A" |
| | | && c.RecStatus == "A" |
| | | && e.CodeTable == "t_sim_bind" |
| | | && e.CodeField == "cardpro" |
| | | select c).OrderBy(x => x.Sort).ToList(); |
| | | |
| | | DateTime st = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date; |
| | | DateTime et = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddSeconds(-1); |
| | |
| | | //if (searchEntity.totalrows == 0) |
| | | searchEntity.totalrows = list.Count(); |
| | | var rolelist = list.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList(); |
| | | |
| | | if (rolelist != null && rolelist.Count > 0) |
| | | { |
| | | foreach (var item in rolelist) |
| | | { |
| | | item.DianhuabutieChs = BackChs(listCode, item.Dianhuabutie); |
| | | } |
| | | } |
| | | data.LoadData(searchEntity, rolelist); |
| | | return data; |
| | | } |