using AutoMapper; using DTO; using IServices; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using zhengcaioa.Models; namespace Services { public class HrSalaryService: IHrSalaryService { private readonly zhengcaioaContext _context; private readonly IMapper _mapper; public HrSalaryService(zhengcaioaContext context, IMapper mapper) { _context = context; _mapper = mapper; } public ResultEntity save(HrSalaryDTO dto) { ResultEntity resultEntity = new ResultEntity(); try { var model = _mapper.Map(dto); if (String.IsNullOrEmpty(model.Id)) { model.Id = Guid.NewGuid().ToString(); _context.HrSalaries.Add(model); } else { var updatepltRole = _context.HrSalaries.Find(model.Id); updatepltRole.Userid = model.Userid; updatepltRole.Year = model.Year; updatepltRole.Month = model.Month; updatepltRole.Jibengongzi = model.Jibengongzi; updatepltRole.Baomifei = model.Baomifei; updatepltRole.Gongzuobutie = model.Gongzuobutie; updatepltRole.Jiabangongzi = model.Jiabangongzi; updatepltRole.Shebao = model.Shebao; updatepltRole.Dianhuabutie = model.Dianhuabutie; updatepltRole.Quanqinjiang = model.Quanqinjiang; updatepltRole.Jiaotngbutie = model.Jiaotngbutie; updatepltRole.Jixiaoticheng = model.Jixiaoticheng; updatepltRole.Jiangjin = model.Jiangjin; updatepltRole.Bufagongzi = model.Bufagongzi; updatepltRole.Shebaokou = model.Shebaokou; updatepltRole.Geshui = model.Geshui; updatepltRole.Dianhuafei = model.Dianhuafei; updatepltRole.Queqin = model.Queqin; updatepltRole.Fakuan = model.Fakuan; updatepltRole.Peichang = model.Peichang; updatepltRole.Jiucuo = model.Jiucuo; updatepltRole.Daozhanggongzi = model.Daozhanggongzi; updatepltRole.Yufagongzi = model.Yufagongzi; updatepltRole.Yufagongziheji = model.Yufagongziheji; updatepltRole.Islock = model.Islock; updatepltRole.RecStatus = model.RecStatus; // updatepltRole.Creater = pltRole.Creater; //updatepltRole.Createtime = pltRole.Createtime; updatepltRole.Modifier = model.Modifier; updatepltRole.Modifytime = model.Modifytime; } _context.SaveChanges(); resultEntity.ReturnID = model.Id; resultEntity.Result = true; } catch (Exception ex) { resultEntity.Result = false; resultEntity.Message = "保存失败,请联系管理员"; } return resultEntity; } public HrSalaryDTO Get(string id) { var entity = _context.HrSalaries.Find(id); if (entity.RecStatus != "A") { entity = new HrSalary(); } var HrSalaryDTO = _mapper.Map(entity); return HrSalaryDTO; } public ResultDataEntity SearchByPaging(HrSalaryDTOSearch searchEntity) { ResultDataEntity data = new ResultDataEntity(); //var listCode = (from a in _context.SysCodeDtls // join b in _context.SysCodes // on a.CodeId equals b.Id // where a.RecStatus == "A" // && b.RecStatus == "A" // select new CodeDataEntity() // { // CodeId = b.Id, // CodeTable = b.CodeTable, // CodeField = b.CodeField, // CodeSn = a.CodeSn, // Comments = a.Comments, // Contents = a.Contents, // RecStatus = a.RecStatus, // Sort = a.Sort // } // ); int year = 0; int month = 0; if (string.IsNullOrWhiteSpace(searchEntity.YearMonth)) { DateTime yearMonth = DateTime.Parse(searchEntity.YearMonth + "-01"); year = yearMonth.Year; month = yearMonth.Month; } var query = (from a in _context.HrSalaries//.Where(x => x.RecStatus == "A") // join b in listCode.Where(x => x.CodeTable == "hr_jibengongzi" && x.CodeField == "dianhuabutie") //on a.Dianhuabutie equals b.CodeSn // into bsssss // from bbb in bsssss.DefaultIfEmpty() join f in _context.PltUsers on a.Userid equals f.Id // into fsssss //from fff in fsssss.DefaultIfEmpty() join g in _context.HrDepts on f.DeptId equals g.Id // into gsssss //from ggg in gsssss.DefaultIfEmpty() where a.RecStatus == "A" && (string.IsNullOrWhiteSpace(searchEntity.Usernumber) || f.Usernumber == searchEntity.Usernumber.Trim()) && (string.IsNullOrWhiteSpace(searchEntity.DeptId) || f.DeptId == searchEntity.DeptId.Trim()) && (string.IsNullOrWhiteSpace(searchEntity.UserName) || f.UserName.Contains(searchEntity.UserName.Trim())) && (string.IsNullOrWhiteSpace(searchEntity.YearMonth) || ( a.Year == year && a.Month == month )) select new HrSalaryDTO { Id = a.Id, Userid = a.Userid, Usernumber = f.Usernumber, UserName = f.UserName, DeptName = g.DeptName, Year = a.Year, Month = a.Month, Jibengongzi = a.Jibengongzi, Baomifei = a.Baomifei, Gongzuobutie = a.Gongzuobutie, Jiabangongzi = a.Jiabangongzi, Shebao = a.Shebao, Dianhuabutie = a.Dianhuabutie, Quanqinjiang = a.Quanqinjiang, Jiaotngbutie = a.Jiaotngbutie, Jixiaoticheng = a.Jixiaoticheng, Jiangjin = a.Jiangjin, Bufagongzi = a.Bufagongzi, Shebaokou = a.Shebaokou, Geshui = a.Geshui, Dianhuafei = a.Dianhuafei, Queqin = a.Queqin, Fakuan = a.Fakuan, Peichang = a.Peichang, Jiucuo = a.Jiucuo, Daozhanggongzi = a.Daozhanggongzi, Yufagongzi = a.Yufagongzi, Yufagongziheji = a.Yufagongziheji, JibengongziName = a.Jibengongzi.HasValue ? a.Jibengongzi.Value.ToString("F2") : "", BaomifeiName = a.Baomifei.HasValue ? a.Baomifei.Value.ToString("F2") : "", GongzuobutieName = a.Gongzuobutie.HasValue ? a.Gongzuobutie.Value.ToString("F2") : "", JiabangongziName = a.Jiabangongzi.HasValue ? a.Jiabangongzi.Value.ToString("F2") : "", ShebaoName = a.Shebao.HasValue ? a.Shebao.Value.ToString("F2") : "", DianhuabutieName = a.Dianhuabutie.HasValue ? a.Dianhuabutie.Value.ToString("F2") : "", QuanqinjiangName = a.Quanqinjiang.HasValue ? a.Quanqinjiang.Value.ToString("F2") : "", JiaotngbutieName = a.Jiaotngbutie.HasValue ? a.Jiaotngbutie.Value.ToString("F2") : "", JixiaotichengName = a.Jixiaoticheng.HasValue ? a.Jixiaoticheng.Value.ToString("F2") : "", JiangjinName = a.Jiangjin.HasValue ? a.Jiangjin.Value.ToString("F2") : "", BufagongziName = a.Bufagongzi.HasValue ? a.Bufagongzi.Value.ToString("F2") : "", ShebaokouName = a.Shebaokou.HasValue ? a.Shebaokou.Value.ToString("F2") : "", GeshuiName = a.Geshui.HasValue ? a.Geshui.Value.ToString("F2") : "", DianhuafeiName = a.Dianhuafei.HasValue ? a.Dianhuafei.Value.ToString("F2") : "", QueqinName = a.Queqin.HasValue ? a.Queqin.Value.ToString("F2") : "", FakuanName = a.Fakuan.HasValue ? a.Fakuan.Value.ToString("F2") : "", PeichangName = a.Peichang.HasValue ? a.Peichang.Value.ToString("F2") : "", JiucuoName = a.Jiucuo.HasValue ? a.Jiucuo.Value.ToString("F2") : "", DaozhanggongziName = a.Daozhanggongzi.HasValue ? a.Daozhanggongzi.Value.ToString("F2") : "", YufagongziName = a.Yufagongzi.HasValue ? a.Yufagongzi.Value.ToString("F2") : "", YufagongzihejiName = a.Yufagongziheji.HasValue ? a.Yufagongziheji.Value.ToString("F2") : "", Islock =a.Islock, RecStatus = a.RecStatus, Creater = a.Creater, Createtime = a.Createtime, Modifier = a.Modifier, Modifytime = a.Modifytime, }).OrderByDescending(x => x.Modifytime).ToList(); if (searchEntity.totalrows == 0) searchEntity.totalrows = query.Count(); var rolelist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList(); data.LoadData(searchEntity, rolelist); return data; } public ResultEntity ModifyStatus(string id, string userid) { ResultEntity result = new ResultEntity(); result.Result = true; var model = _context.HrSalaries.Find(id); if (model != null) { model.RecStatus = "D"; model.Modifier = userid; model.Modifytime = DateTime.Now; _context.SaveChanges(); } return result; } /// /// 获取所有有效角色 /// /// public List GetList() { var listPosition = _context.HrSalaries.Where(r => r.RecStatus == "A").ToList(); var list = _mapper.Map>(listPosition); return list; } } }