From 4d539b4a5941bbbb12271dc500f8f09a66812905 Mon Sep 17 00:00:00 2001
From: LR-20210131IOQH\Administrator <jackcold@163.com>
Date: 星期五, 25 六月 2021 10:39:55 +0800
Subject: [PATCH] 工资核对,工资核准,工资查询

---
 zhengcaioa/Services/HrSalaryService.cs |  628 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 577 insertions(+), 51 deletions(-)

diff --git a/zhengcaioa/Services/HrSalaryService.cs b/zhengcaioa/Services/HrSalaryService.cs
index b9bbfec..5a28eb1 100644
--- a/zhengcaioa/Services/HrSalaryService.cs
+++ b/zhengcaioa/Services/HrSalaryService.cs
@@ -93,16 +93,160 @@
             return resultEntity;
         }
 
+        public ResultEntity SaveCheckSalary(HrSalaryDTO dto)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+            try
+            {
+                var updatepltRole = _context.HrSalaries.Where(c=>c.Id==dto.Id).SingleOrDefault();
+                if(updatepltRole!=null)
+                {
+                    var user = _context.PltUsers.Where(c => c.Id == updatepltRole.Userid).SingleOrDefault();
+
+                    updatepltRole.Jiangjin = dto.Jiangjin;
+                    updatepltRole.Bufagongzi = dto.Bufagongzi;
+
+                    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);
+
+                    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 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(string.IsNullOrEmpty(user.BasicPrice))
+                        {
+                            updatepltRole.Daozhanggongzi = sum_f - sum_k;
+                            updatepltRole.Yufagongzi = 0;
+                        }
+                        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;
+                            }
+                        }                        
+                    }
+                    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.Islock = "Q";
+                    updatepltRole.Modifier = dto.Modifier;
+                    updatepltRole.Modifytime =DateTime.Now;
+                    var count= _context.SaveChanges();
+                    resultEntity.ReturnID = dto.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);
+            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
+                          where a.RecStatus == "A" && a.Id == id
+                          select new HrSalaryDTO()
+                          {
+                              Id = a.Id,
+                              Userid = a.Userid,
+                              Usernumber = b.Usernumber,
+                              UserName = b.UserName,
+                              DeptName = c.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
+                          }).SingleOrDefault();
 
-            if (entity.RecStatus != "A")
+            if (entity==null)
             {
-                entity = new HrSalary();
+                entity = new HrSalaryDTO();
             }
-            var HrSalaryDTO = _mapper.Map<HrSalaryDTO>(entity);
-            return HrSalaryDTO;
+            else
+            {
+                var ss = _context.HrSalaryAppeal.Where(c => c.salary_id == id).SingleOrDefault();
+                if(ss!=null)
+                {
+                    entity.amount = ss.amount;
+                    entity.basis = ss.basis;
+                    entity.reason = ss.reason;
+                }
+            }
+            return entity;
         }
 
         public ResultDataEntity<HrSalaryDTO> SearchByPaging(HrSalaryDTOSearch searchEntity)
@@ -131,10 +275,142 @@
             int month = 0;
             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()
+
+                         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" && a.Islock != "Q"
+                          && (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 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
+            //                }
+            //         );
+
+            //int year = 0;
+            //int month = 0;
+            //if (string.IsNullOrWhiteSpace(searchEntity.YearMonth))
+            //{
+            //    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
@@ -151,11 +427,301 @@
                          // into gsssss
                          //from ggg in gsssss.DefaultIfEmpty()
 
-                         where a.RecStatus == "A"
+                         where a.RecStatus == "A" && a.Islock!="Q"
                           && (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 ))
+                              //&& (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;
+        }
+
+
+        /// <summary>
+        /// 鑾峰彇鎵�鏈夋湁鏁堣鑹�
+        /// </summary>
+        /// <returns></returns>
+        public List<HrSalaryDTO> GetList()
+        {
+
+
+            var listPosition = _context.HrSalaries.Where(r => r.RecStatus == "A").ToList();
+
+            var list = _mapper.Map<List<HrSalaryDTO>>(listPosition);
+            return list;
+        }
+
+        /// <summary>
+        /// 宸ヨ祫鏍稿
+        /// </summary>
+        /// <param name="userid"></param>
+        /// <param name="year"></param>
+        /// <param name="month"></param>
+        /// <returns></returns>
+        public List<HrSalaryDTO> GetSalary(string userid,int year,int month)
+        {
+            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
+                          where a.RecStatus=="A" && a.Userid == userid && a.Year == year && a.Month==month
+                          select new HrSalaryDTO()
+                          {
+                              Id = a.Id,
+                              Userid = a.Userid,
+                              Usernumber = b.Usernumber,
+                              UserName = b.UserName,
+                              DeptName = c.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,
+                              Islock=a.Islock
+                          }).ToList();
+
+            if (entity == null)
+            {
+                entity = new List<HrSalaryDTO>();
+            }
+            return entity;
+        }
+
+        /// <summary>
+        /// 宸ヨ祫纭
+        /// </summary>
+        /// <param name="id"></param>
+        /// <param name="user"></param>
+        /// <returns></returns>
+        public ResultEntity CheckOk(string id,string user)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+            try
+            {
+                var updatepltRole = _context.HrSalaries.Where(c=>c.Id==id && c.Userid==user).FirstOrDefault();
+
+                if(updatepltRole!=null)
+                {
+                    updatepltRole.Islock = "Q";
+                    updatepltRole.Modifier = user;
+                    updatepltRole.Modifytime = DateTime.Now;
+
+                    _context.SaveChanges();
+                    resultEntity.Result = true;
+                }
+            }
+            catch (Exception ex)
+            {
+                resultEntity.Result = false;
+                resultEntity.Message = "淇濆瓨澶辫触锛岃鑱旂郴绠$悊鍛�";
+            }
+            return resultEntity;
+        }
+
+        /// <summary>
+        /// 鎻愪氦鐢宠瘔
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        public ResultEntity CheckAppea(HrSalaryAppeal model)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+            try
+            {
+                var salary = _context.HrSalaries.Where(c => c.Id == model.salary_id && c.RecStatus == "A" && c.Islock != "Q").SingleOrDefault();
+                if (salary != null)
+                {
+                    salary.Islock = "S";
+                    var temp = _context.HrSalaryAppeal.Where(e => e.salary_id == model.salary_id && e.sub_user==model.sub_user).SingleOrDefault();
+                    if (temp != null && temp.status == "A")
+                    {
+                        temp.reason = model.reason;
+                        temp.amount = model.amount;
+                        temp.basis = model.basis;
+                        temp.sub_time = DateTime.Now;
+                    }
+                    else
+                    {
+                        model.sub_time = DateTime.Now;
+                        model.status = "A";
+                        _context.HrSalaryAppeal.Add(model);
+                    }
+
+                    var i= _context.SaveChanges();
+                    resultEntity.Result = true;
+                }
+            }
+            catch (Exception ex)
+            {
+                resultEntity.Result = false;
+                resultEntity.Message = "淇濆瓨澶辫触锛岃鑱旂郴绠$悊鍛�";
+                ex.Message.ToString();
+            }
+            return resultEntity;
+        }
+
+        /// <summary>
+        /// 鏌ョ敵璇変俊鎭�
+        /// </summary>
+        /// <param name="id"></param>
+        /// <param name="user"></param>
+        /// <returns></returns>
+        public HrSalaryAppeal GetAppeal(string id,string user)
+        {
+            HrSalaryAppeal hd = new HrSalaryAppeal();
+            try
+            {
+                hd = _context.HrSalaryAppeal.Where(e => e.salary_id == id && e.sub_user == user).SingleOrDefault();
+            }
+            catch (Exception er)
+            {
+                throw;
+            }
+            return hd;
+        }
+
+        /// <summary>
+        /// 宸ヨ祫鏌ヨ锛堟煡瀹屾垚纭鐨勶級
+        /// </summary>
+        /// <param name="searchEntity"></param>
+        /// <returns></returns>
+        public ResultDataEntity<HrSalaryDTO> SearchByPagingFinish(HrSalaryDTOSearch searchEntity)
+        {
+            ResultDataEntity<HrSalaryDTO> data = new ResultDataEntity<HrSalaryDTO>();
+
+            DateTime st = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date;
+            DateTime et = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddSeconds(-1); 
+            int month = 0;
+            if (!string.IsNullOrEmpty(searchEntity.searchDate))
+            {
+                var times = searchEntity.searchDate.Split('|');
+                if (times.Length == 2)
+                {
+                    st = DateTime.Parse(times[0]);
+                    et= DateTime.Parse(times[1]);
+                }
+            }
+            var query = (from a in _context.HrSalaries where a.Year >= st.Year && a.Month >= st.Month && a.Year <= et.Year && a.Month <= et.Month select a);
+
+            var list = (from a in query
+                         join f in _context.PltUsers on a.Userid equals f.Id
+                         join g in _context.HrDepts  on f.DeptId equals g.Id
+                         where a.RecStatus == "A" && a.Islock=="Q"
+                          && (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()))
                          select new HrSalaryDTO
                          {
                              Id = a.Id,
@@ -216,9 +782,7 @@
                              YufagongziName = a.Yufagongzi.HasValue ? a.Yufagongzi.Value.ToString("F2") : "",
                              YufagongzihejiName = a.Yufagongziheji.HasValue ? a.Yufagongziheji.Value.ToString("F2") : "",
 
-
-
-                             Islock =a.Islock,
+                             Islock = a.Islock,
                              RecStatus = a.RecStatus,
                              Creater = a.Creater,
                              Createtime = a.Createtime,
@@ -228,50 +792,12 @@
                          }).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();
+                searchEntity.totalrows = list.Count();
+            var rolelist = list.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;
-        }
-
-
-        /// <summary>
-        /// 鑾峰彇鎵�鏈夋湁鏁堣鑹�
-        /// </summary>
-        /// <returns></returns>
-        public List<HrSalaryDTO> GetList()
-        {
-
-
-            var listPosition = _context.HrSalaries.Where(r => r.RecStatus == "A").ToList();
-
-            var list = _mapper.Map<List<HrSalaryDTO>>(listPosition);
-            return list;
         }
     }
 }

--
Gitblit v1.9.1