From db227144dedfb5fb5b1e94e8c8b14eab9eb7462f Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期四, 01 十二月 2022 13:32:50 +0800
Subject: [PATCH] 中国政采网的四川数据 发送验证码

---
 zhengcaioa/Services/HrSalaryService.cs |  790 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 721 insertions(+), 69 deletions(-)

diff --git a/zhengcaioa/Services/HrSalaryService.cs b/zhengcaioa/Services/HrSalaryService.cs
index 9db306b..5c82b2a 100644
--- a/zhengcaioa/Services/HrSalaryService.cs
+++ b/zhengcaioa/Services/HrSalaryService.cs
@@ -93,16 +93,193 @@
             return resultEntity;
         }
 
+        /// <summary>
+        /// 淇濆瓨宸ヨ祫鏍稿噯
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public ResultEntity SaveCheckSalary(HrSalaryUpDTO dto)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+            try
+            {
+                var updatepltRole = _context.HrSalaries.Where(c=>c.Id==dto.Id).SingleOrDefault();
+                if(updatepltRole!=null)
+                {
+                    //濡傛灉鏈夋湭瀹屾垚鐨勫伐浣滀氦鎺ワ紝涓嶈兘鏍稿噯宸ヨ祫
+                 var admAskJiaojies  =  _context.AdmAskJiaojies.Where(x => x.Creater == updatepltRole.Userid &&  x.RecStatus == "A" && x.ShenpiStatus == "D").ToList();
+                    if(admAskJiaojies!=null && admAskJiaojies.Count > 0)
+                    {
+                        resultEntity.Result = false;
+                        resultEntity.Message = "鏈夋湭瀹屾垚鐨勫伐浣滀氦鎺ワ紝涓嶈兘鏍稿噯宸ヨ祫";
+                        return 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();
+                    if(sim!=null)
+                    {
+                        foreach (var item in sim)
+                        {
+                            item.status = "1";
+                        }
+                    }                    
+
+                    var user = _context.PltUsers.Where(c => c.Id == updatepltRole.Userid).SingleOrDefault();
+                    var buchangqian = (updatepltRole.Jiangjin??0) + (updatepltRole.Bufagongzi ?? 0) + (updatepltRole.Jiucuo ?? 0) + (updatepltRole.Peichang ?? 0);
+                    var buchanghou = (dto.Jiangjin ?? 0) + (dto.Bufagongzi ?? 0) + (dto.Jiucuo ?? 0) + (dto.Peichang ?? 0);
+
+
+                    updatepltRole.Daozhanggongzi += (buchanghou - buchangqian);
+                    if (user.advancewages.HasValue && user.advancewages.Value > 0)
+                    {
+
+                        updatepltRole.Yufagongziheji += (buchanghou - buchangqian);
+
+                    }
+
+
+                    updatepltRole.Jiangjin = dto.Jiangjin;
+                    updatepltRole.Bufagongzi = dto.Bufagongzi;
+                    updatepltRole.Peichang = dto.Peichang;
+                    updatepltRole.Jiucuo = dto.Jiucuo;
+                    updatepltRole.Yufagongziheji = dto.Yufagongziheji;
+                    //updatepltRole.Daozhanggongzi = (updatepltRole.Daozhanggongzi ?? 0) + (updatepltRole.Jiangjin ?? 0) + (updatepltRole.Bufagongzi ?? 0) + (updatepltRole.Peichang ?? 0) + (updatepltRole.Jiucuo ?? 0); 
+                    //    //updatepltRole.Yufagongziheji = (updatepltRole.Yufagongziheji ?? 0) + (updatepltRole.Jiangjin ?? 0) + (updatepltRole.Bufagongzi ?? 0) + (updatepltRole.Peichang ?? 0) + (updatepltRole.Jiucuo ?? 0);
+
+                    //var sum_f = (updatepltRole.Jibengongzi ?? 0) + (updatepltRole.Baomifei ?? 0) + (updatepltRole.Gongzuobutie ?? 0) +
+                    //    (updatepltRole.Jiabangongzi ?? 0) + (updatepltRole.Shebao ?? 0) +
+                    //    (updatepltRole.Quanqinjiang ?? 0) + (updatepltRole.Jiaotngbutie ?? 0) + (updatepltRole.Jixiaoticheng ?? 0);
+
+
+                    //decimal dianhuafei = 0;
+                    //if ((updatepltRole.Dianhuabutie ?? 0) - (updatepltRole.Dianhuafei ?? 0) <= 0)
+                    //{
+                    //    dianhuafei = (updatepltRole.Dianhuafei ?? 0)-(updatepltRole.Dianhuabutie ?? 0);
+                    //}
+
+
+
+                    //var sum_k = (updatepltRole.Shebaokou ?? 0) + (updatepltRole.Geshui ?? 0) + dianhuafei +
+                    //    (updatepltRole.Queqin ?? 0) + (updatepltRole.Fakuan ?? 0);
+
+                    //updatepltRole.Daozhanggongzi = sum_f - sum_k;
+
+
+
+
+
+
+                    ////璁$畻棰勫彂宸ヨ祫
+
+                    //{
+                    //    //涓婁竴娆$殑宸ヨ祫
+                    //    var bf= _context.HrSalaries.Where(c => c.Userid == user.Id && c.Islock== "Q" && c.RecStatus=="A").
+                    //        OrderByDescending(c=>c.Year).ThenByDescending(c=>c.Month).FirstOrDefault();
+
+                    //    var pc = user.advancewages.Value;
+                    //    if (sum_f - sum_k > pc)
+                    //    {
+                    //        updatepltRole.Daozhanggongzi = sum_f - sum_k;
+                    //        updatepltRole.Yufagongzi = 0;
+                    //        if(bf!=null)
+                    //        {
+                    //            updatepltRole.Yufagongziheji = bf.Yufagongziheji??0 - (updatepltRole.Daozhanggongzi-pc);
+                    //        }
+                    //        else
+                    //        {
+                    //            updatepltRole.Yufagongziheji = (pc - updatepltRole.Daozhanggongzi);
+                    //        }
+                    //    }
+                    //    else
+                    //    {
+                    //        //棰勫彂
+                    //        updatepltRole.Daozhanggongzi = pc;
+                    //        updatepltRole.Yufagongzi = pc - (sum_f - sum_k);
+                    //        if (bf != null)
+                    //        {
+                    //            updatepltRole.Yufagongziheji =bf.Yufagongziheji??0+ updatepltRole.Yufagongzi;
+                    //        }
+                    //        else
+                    //        {
+                    //            updatepltRole.Yufagongziheji = updatepltRole.Yufagongzi;
+                    //        }
+                    //    }
+                    //}
+                    //else
+                    //{
+                    //    updatepltRole.Daozhanggongzi = sum_f - sum_k;
+                    //}
+
+                    updatepltRole.Islock = "H";
+                    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,15 +308,15 @@
             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 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
@@ -151,12 +328,529 @@
                          // 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 ))
+                         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;
+        }
+
+        /// <summary>
+        /// 宸ヨ祫鏍稿噯鏌ヨ
+        /// </summary>
+        /// <param name="searchEntity"></param>
+        /// <returns></returns>
+        public ResultDataEntity<HrSalaryDTO> SearchSalaryByPaging(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();
+
+            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;
+            }
+            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
+                         //  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,
+
+                         }).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)
+        {
+
+            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>
+        /// <returns></returns>
+        public HrSalaryDTO GetListByUser(string Userid, int year, int month)
+        {
+
+
+            var listPosition = _context.HrSalaries.Where(r => r.RecStatus == "A" && r.Userid == Userid && r.Year == year && r.Month == month).FirstOrDefault();
+
+            HrSalaryDTO hrSalaryDTO = null;
+            if (listPosition != null)
+            {
+                hrSalaryDTO = _mapper.Map<HrSalaryDTO>(listPosition);
+            }
+
+            return hrSalaryDTO;
+        }
+        /// <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 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
+                          where a.RecStatus=="A" && a.Islock!="D" && 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>();
+            }
+            else
+            {
+                foreach (var item in entity)
+                {
+                    item.DianhuabutieChs = BackChs(listCode, item.Dianhuabutie);
+                }
+            }
+            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.shenpi_status = model.shenpi_status;
+
+
+                    }
+                    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);
+                    }
+
+                    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 = "", string salaryId = "")
+        {
+            HrSalaryAppeal hd = new HrSalaryAppeal();
+            try
+            {
+                if (!string.IsNullOrEmpty(salaryId))
+                {
+                    hd = _context.HrSalaryAppeal.Where(e => e.salary_id == salaryId && e.sub_user == user && e.status == "A").FirstOrDefault();
+                }
+                else
+                {
+                    hd = _context.HrSalaryAppeal.Where(e => e.id == id && e.status == "A").FirstOrDefault();
+                }
+               
+            }
+            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>();
+
+            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); 
+            int month = 0;
+            if (!string.IsNullOrEmpty(searchEntity.searchDatestart))
+            {
+                st = DateTime.Parse(searchEntity.searchDatestart + "-01");
+                 
+            }
+            if (!string.IsNullOrEmpty(searchEntity.searchDateend))
+            {
+                et = DateTime.Parse(searchEntity.searchDateend + "-01");
+
+            }
+            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()))
+
+                               && (string.IsNullOrWhiteSpace(searchEntity.UserId) || a.Userid.Contains(searchEntity.UserId.Trim()))
+
+                        select new HrSalaryDTO
                          {
                              Id = a.Id,
 
@@ -216,9 +910,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,70 +920,30 @@
                          }).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();
-
+            //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;
         }
 
-        public ResultEntity ModifyStatus(string id, string userid)
+        public void AutoCheck()
         {
-
-            ResultEntity result = new ResultEntity();
-            result.Result = true;
-
-            var model = _context.HrSalaries.Find(id);
-            if (model != null)
+            try
             {
-                model.RecStatus = "D";
-                model.Modifier = userid;
-                model.Modifytime = DateTime.Now;
-                _context.SaveChanges();
+                var salary = _context.Database.ExecuteSqlRaw("update [hr_salary] set islock='Q',[modifier]='e4c93811-b9b1-4998-89f5-c416ebab0c07',modifytime=getdate() where islock = 'H' and DATEDIFF(hh,[modifytime], getdate()) > 72");
             }
-
-            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>
-        /// <returns></returns>
-        public HrSalaryDTO GetListByUser(string Userid, int year, int month)
-        {
-
-
-            var listPosition = _context.HrSalaries.Where(r => r.RecStatus == "A" && r.Userid == Userid && r.Year == year && r.Month == month).FirstOrDefault();
-
-            HrSalaryDTO hrSalaryDTO = null;
-            if (listPosition != null)
+            catch (Exception)
             {
-                hrSalaryDTO = _mapper.Map<HrSalaryDTO>(listPosition);
+                throw;
             }
-            
-            return hrSalaryDTO;
         }
     }
 }

--
Gitblit v1.9.1