From bf14008acffe7a9a7ac6e2eeb38ce3552b71b33a Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期二, 14 三月 2023 13:43:30 +0800
Subject: [PATCH] 提交

---
 zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs |  378 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 326 insertions(+), 52 deletions(-)

diff --git a/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs b/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs
index 0f9bb7f..f83cc95 100644
--- a/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs
@@ -57,7 +57,10 @@
         private readonly ILiaotianService _liaotianService;
         private readonly IConfiguration _configuration;
         private readonly IHttpClientFactory _clientFactory;
-
+        private readonly IHrPositionService _hrPositionService;
+        private readonly IHrDeptService _hrDeptService;
+        private readonly IAdmSigninService _admSigninService;
+        private readonly IExpertService _expertService;
 
         public TongjiBaoBiaoController(ILogger<TongjiBaoBiaoController> logger
             , IAdmAttendanceRuleService attendanceRuleService
@@ -82,9 +85,14 @@
             , IDtChannelArticleNewsService dtChannelArticleNewsService
             , IProjectService projectService
             , ICusFangwenjiluService cusFangwenjiluService
-            ,ILiaotianService liaotianService
-              , IConfiguration configuration
-            , IHttpClientFactory clientFactory)
+            , ILiaotianService liaotianService
+            , IConfiguration configuration
+            , IHttpClientFactory clientFactory
+            , IHrPositionService hrPositionService
+            , IHrDeptService hrDeptService
+            , IAdmSigninService admSigninService
+            , IExpertService expertService
+            )
         {
             _logger = logger;
             _attendanceRuleService = attendanceRuleService;
@@ -112,6 +120,10 @@
             _liaotianService = liaotianService;
             _configuration = configuration;
             _clientFactory = clientFactory;
+            _hrPositionService = hrPositionService;
+            _hrDeptService = hrDeptService;
+            _admSigninService = admSigninService;
+            _expertService = expertService;
         }
 
         public async Task<IActionResult> IndexAsync(string Tongjitime="")
@@ -189,10 +201,13 @@
             xiangmuDTO.gongzuo = "閲囪喘椤圭洰褰曞叆";
             //鏈湀鏁伴噺
             var projectDTOsyue = _projectService.GetListsalary(curentuser.Id, dateminkaoqin, datemaxkaoqin);
-            xiangmuDTO.benyueshuliang = projectDTOsyue.Count.ToString();
+            var zhengfuprojectDTOsyue = _projectService.GetListsalaryzhengfu(curentuser.Id, dateminkaoqin, datemaxkaoqin);
+
+            xiangmuDTO.benyueshuliang = (projectDTOsyue.Count+ zhengfuprojectDTOsyue .Count).ToString();
             //鏈棩鏁伴噺
             var projectDTOsri = projectDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
-            xiangmuDTO.benrishuliang = projectDTOsri.Count.ToString();
+            var zhengfuprojectDTOsri = zhengfuprojectDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
+            xiangmuDTO.benrishuliang = (projectDTOsri.Count+ zhengfuprojectDTOsri.Count).ToString();
 
             var jijianixiangmu = fiPiecerateDTOs.Where(x =>   x.Project == "閲囪喘椤圭洰褰曞叆").FirstOrDefault();
 
@@ -209,7 +224,7 @@
                         xiangmuDTO.benriqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
                         if (jixiaotichengfangan.Tichengstandard == "01")
                         {
-                            decimal youxiaojijian = projectDTOsri.Count - jixiaotichengfangan.Renwu.Value;
+                            decimal youxiaojijian = projectDTOsri.Count+ zhengfuprojectDTOsri.Count - jixiaotichengfangan.Renwu.Value;
                             if (youxiaojijian > 0)
                             {
                                 xiangmuDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString("0.##");
@@ -232,10 +247,63 @@
                     }
                 }
             }
-            if(projectDTOsyue.Count > 0 || projectDTOsri.Count > 0 )
+            if(projectDTOsyue.Count > 0 || projectDTOsri.Count > 0 || zhengfuprojectDTOsri.Count > 0)
                 tuiguangDTOs.Add(xiangmuDTO);
             #endregion
 
+
+
+            #region 閲囪喘鍏憡褰曞叆 
+            TongjiBaoBiaoDTO caigougonggaoDTO = new TongjiBaoBiaoDTO();
+            caigougonggaoDTO.gongzuo = "閲囪喘鍏憡褰曞叆";
+            //鏈湀鏁伴噺
+            var caigougonggaoDTOsyue = _projectService.GetcaigougonggaoListsalary(curentuser.Id, dateminkaoqin, datemaxkaoqin);
+            caigougonggaoDTO.benyueshuliang = caigougonggaoDTOsyue.Count.ToString();
+            //鏈棩鏁伴噺
+            var caigougonggaoDTOsri = caigougonggaoDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
+            caigougonggaoDTO.benrishuliang = caigougonggaoDTOsri.Count.ToString();
+
+            var jijianicaigougonggao = fiPiecerateDTOs.Where(x => x.Project == "閲囪喘鍏憡褰曞叆").FirstOrDefault();
+
+            if (jijianicaigougonggao != null)
+            {
+                var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianicaigougonggao.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                {
+                    if (jixiaotichengfangan.Renwustandard == "01")
+                    {
+                        //鏈湀瑙勫畾
+                        caigougonggaoDTO.benyueqingkuang = (Yingchuqin * jixiaotichengfangan.Renwu.Value).ToString("0.##");
+                        //鏈棩瑙勫畾
+                        caigougonggaoDTO.benriqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
+                        if (jixiaotichengfangan.Tichengstandard == "01")
+                        {
+                            decimal youxiaojijian = caigougonggaoDTOsri.Count - jixiaotichengfangan.Renwu.Value;
+                            if (youxiaojijian > 0)
+                            {
+                                caigougonggaoDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString("0.##");
+                            }
+                        }
+                    }
+                    else if (jixiaotichengfangan.Renwustandard == "02")
+                    {
+                        //鏈湀瑙勫畾
+                        caigougonggaoDTO.benyueqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##"); ;
+                        //if (jixiaotichengfangan.Tichengstandard == "01")
+                        //{
+                        //    decimal youxiaojijian = _intentionCustomerDTOs.Count + cooperatecustomCustomerDTOs.Count - renwujishu;
+                        //    if (youxiaojijian > 0)
+                        //    {
+                        //        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                        //    }
+
+                        //}
+                    }
+                }
+            }
+            if (caigougonggaoDTOsyue.Count > 0 || caigougonggaoDTOsri.Count > 0)
+                tuiguangDTOs.Add(caigougonggaoDTO);
+            #endregion
 
             #region 瀹㈡埛璧勬枡褰曞叆
             TongjiBaoBiaoDTO kehuluruDTO = new TongjiBaoBiaoDTO();
@@ -660,10 +728,10 @@
                 tuiguangDTOs.Add(qunzutuiguangDTO);
             #endregion
 
-            #region 鏈嬪弸鍦堝師鍒�
+            #region 鏈嬪弸鍦堣浆鍙�
             TongjiBaoBiaoDTO pengyouquanDTO = new TongjiBaoBiaoDTO();
-            pengyouquanDTO.gongzuo = "鏈嬪弸鍦堝師鍒�";
-            var jijianipengyouquan = fiPiecerateDTOs.Where(x =>   x.Project == "鏈嬪弸鍦堝師鍒�").FirstOrDefault();
+            pengyouquanDTO.gongzuo = "鏈嬪弸鍦堣浆鍙�";
+            var jijianipengyouquan = fiPiecerateDTOs.Where(x =>   x.Project == "鏈嬪弸鍦堣浆鍙�").FirstOrDefault();
 
             if (jijianipengyouquan != null)
             {
@@ -708,16 +776,22 @@
 
                         //}
                     }
+                    else if (jixiaotichengfangan.Renwustandard == "05")
+                    {
+                        //鏈湀瑙勫畾
+                        pengyouquanDTO.benyueqingkuang = (4 * jixiaotichengfangan.Renwu.Value).ToString("0.##");
+
+                    }
                 }
             }
             if (decimal.Parse(pengyouquanDTO.benyueshuliang) > 0 || decimal.Parse(pengyouquanDTO.benrishuliang) > 0)
                 tuiguangDTOs.Add(pengyouquanDTO);
             #endregion
 
-            #region 璁哄潧鍙戝笘
+            #region 璁哄潧鎺ㄥ箍
             TongjiBaoBiaoDTO luntanfatieDTO = new TongjiBaoBiaoDTO();
-            luntanfatieDTO.gongzuo = "璁哄潧鍙戝笘";
-            var jijianiluntanfatie = fiPiecerateDTOs.Where(x =>   x.Project == "璁哄潧鍙戝笘").FirstOrDefault();
+            luntanfatieDTO.gongzuo = "璁哄潧鎺ㄥ箍";
+            var jijianiluntanfatie = fiPiecerateDTOs.Where(x =>   x.Project == "璁哄潧鎺ㄥ箍").FirstOrDefault();
 
             if (jijianiluntanfatie != null)
             {
@@ -768,10 +842,10 @@
                 tuiguangDTOs.Add(luntanfatieDTO);
             #endregion
 
-            #region 璺熷笘璇勮
+            #region 璐村惂鎺ㄥ箍
             TongjiBaoBiaoDTO gentiepinglunDTO = new TongjiBaoBiaoDTO();
-            gentiepinglunDTO.gongzuo = "璺熷笘璇勮";
-            var jijianigentiepinglun = fiPiecerateDTOs.Where(x =>   x.Project == "璺熷笘璇勮").FirstOrDefault();
+            gentiepinglunDTO.gongzuo = "璐村惂鎺ㄥ箍";
+            var jijianigentiepinglun = fiPiecerateDTOs.Where(x =>   x.Project == "璐村惂鎺ㄥ箍").FirstOrDefault();
 
             if (jijianigentiepinglun != null)
             {
@@ -935,8 +1009,8 @@
 
             if (jijianizhucehuiyuan != null)
             {
-                //鏈湀鏁伴噺
-                List<YaoQingYongHuDTO> zhucehuiyuansyue = new List<YaoQingYongHuDTO>();
+             //鏈湀鏁伴噺
+             List <YaoQingYongHuDTO> zhucehuiyuansyue = new List<YaoQingYongHuDTO>();
                 try
                 {
                     //var pltUserDTO = _userService.GetPltUserEntity(curentuser.Id);
@@ -978,7 +1052,7 @@
                 }
                 catch (Exception ex)
                 {
-
+                    zhucehuiyuanDTO.benyueshuliang = "0";
                 }
                 //var zhucehuiyuansyue = _admPieceCheckService.GetList(curentuser.Id, dateminkaoqin, datemaxkaoqin).Where(x => x.WorkPro == jijianizhucehuiyuan.Id).ToList();
 
@@ -1085,6 +1159,59 @@
             #endregion
 
 
+            #region 涓撳褰曞叆
+            TongjiBaoBiaoDTO zhuanjialuruDTO = new TongjiBaoBiaoDTO();
+            zhuanjialuruDTO.gongzuo = "涓撳褰曞叆";
+            //鏈湀鏁伴噺
+            var zhuanjialuruDTOsyue = _expertService.GetListsalary(curentuser.Id, dateminkaoqin, datemaxkaoqin);
+            zhuanjialuruDTO.benyueshuliang = zhuanjialuruDTOsyue.Count.ToString();
+            //鏈棩鏁伴噺
+            var zhuanjialuruDTOsri = zhuanjialuruDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
+            zhuanjialuruDTO.benrishuliang = zhuanjialuruDTOsri.Count.ToString();
+
+            var jijianizhuanjialuru = fiPiecerateDTOs.Where(x => x.Project == "涓撳褰曞叆").FirstOrDefault();
+
+            if (jijianizhuanjialuru != null)
+            {
+                var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianizhuanjialuru.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                {
+                    if (jixiaotichengfangan.Renwustandard == "01")
+                    {
+
+                        zhuanjialuruDTO.benyueqingkuang = (Yingchuqin * jixiaotichengfangan.Renwu.Value).ToString("0.##");
+                        zhuanjialuruDTO.benriqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
+                        if (jixiaotichengfangan.Tichengstandard == "01")
+                        {
+                            decimal youxiaojijian = zhuanjialuruDTOsri.Count - jixiaotichengfangan.Renwu.Value;
+                            if (youxiaojijian > 0)
+                            {
+                                zhuanjialuruDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString("0.##");
+                            }
+
+                        }
+
+                    }
+                    else if (jixiaotichengfangan.Renwustandard == "02")
+                    {
+                        zhuanjialuruDTO.benyueqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##"); ;
+                        //if (jixiaotichengfangan.Tichengstandard == "01")
+                        //{
+                        //    decimal youxiaojijian = intentionCustomerDTOs.Count - renwujishu;
+                        //    if (youxiaojijian > 0)
+                        //    {
+                        //        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                        //    }
+
+                        //}
+                    }
+                }
+            }
+            if (zhuanjialuruDTOsyue.Count > 0 || zhuanjialuruDTOsri.Count > 0)
+                tuiguangDTOs.Add(zhuanjialuruDTO);
+            #endregion
+
+
             List<TongjiBaoBiaoDTO> baifangkehuDTOs = new List<TongjiBaoBiaoDTO>();
 
             #region 涓婇棬鎷滆瀹㈡埛
@@ -1135,16 +1262,22 @@
 
                         //}
                     }
+                    else if (jixiaotichengfangan.Renwustandard == "05")
+                    {
+                        //鏈湀瑙勫畾
+                        shangmenbanfangDTO.benyueqingkuang = (4 * jixiaotichengfangan.Renwu.Value).ToString("0.##");
+                        
+                    }
                 }
             }
             if (decimal.Parse(shangmenbanfangDTO.benyueshuliang) > 0 || decimal.Parse(shangmenbanfangDTO.benrishuliang) > 0)
                 baifangkehuDTOs.Add(shangmenbanfangDTO);
             #endregion
 
-            #region 鎺ュ緟鏉ヨ瀹㈡埛
+            #region 褰曞叆瀹㈡埛鍜ㄨ
             TongjiBaoBiaoDTO jiedailaifangDTO = new TongjiBaoBiaoDTO();
-            jiedailaifangDTO.gongzuo = "鎺ュ緟鏉ヨ瀹㈡埛";
-            var jijianijiedailaifang = fiPiecerateDTOs.Where(x =>   x.Project == "鎺ュ緟鏉ヨ瀹㈡埛").FirstOrDefault();
+            jiedailaifangDTO.gongzuo = "褰曞叆瀹㈡埛鍜ㄨ";
+            var jijianijiedailaifang = fiPiecerateDTOs.Where(x =>   x.Project == "褰曞叆瀹㈡埛鍜ㄨ").FirstOrDefault();
 
             if (jijianijiedailaifang != null)
             {
@@ -1205,7 +1338,7 @@
             var benyuezonge = dingdanDTOsyue.Sum(x => x.Money) ?? 0;
 
             //鏈棩鏁伴噺
-            var dingdanDTOsri = dingdanDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
+            var dingdanDTOsri = dingdanDTOsyue.Where(x =>( x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)) || (x.Wangongtime >= chauxnshijian.Date && x.Wangongtime < chauxnshijian.Date.AddDays(1)) ).ToList();
             foreach (var cooperOrderDTO in dingdanDTOsri)
             {
                 TongjiDingDanDTO dingdanDTO = new TongjiDingDanDTO();
@@ -1405,10 +1538,10 @@
                 ziliaoweihuDTOs.Add(zhengcaizhishiDTO);
             #endregion
 
-            #region 鏂板鍏紬鍙峰叧娉�
+            #region 寰俊寰崥鍏紬鍙锋柊澧炵矇涓�
             TongjiBaoBiaoDTO gongzhonghaoDTO = new TongjiBaoBiaoDTO();
-            gongzhonghaoDTO.gongzuo = "鏂板鍏紬鍙峰叧娉�";
-            var jijianigongzhonghao = fiPiecerateDTOs.Where(x =>  x.Project == "鏂板鍏紬鍙峰叧娉�").FirstOrDefault();
+            gongzhonghaoDTO.gongzuo = "寰俊寰崥鍏紬鍙锋柊澧炵矇涓�";
+            var jijianigongzhonghao = fiPiecerateDTOs.Where(x =>  x.Project == "寰俊寰崥鍏紬鍙锋柊澧炵矇涓�").FirstOrDefault();
 
             if (jijianigongzhonghao != null)
             {
@@ -1802,7 +1935,7 @@
             var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
             ViewData["curentuser"] = curentuser;
 
-            DateTime chauxnshijian = DateTime.Now;
+            DateTime chauxnshijian = DateTime.Now.Date;
             if (!string.IsNullOrEmpty(Tongjitime))
             {
                 DateTime.TryParse(Tongjitime, out chauxnshijian);
@@ -1812,12 +1945,12 @@
             string[] Userids = null;
             if (!string.IsNullOrEmpty(userid) && userid!= "null")
             {
-                Userids = userid.Split(','); ;
+                Userids = userDTOs.Where(x=> userid.Split(',').Contains(x.Id)).OrderBy(x => x.DeptId).ThenBy(x => x.HrPosition).Select(x => x.Id).ToArray();
 
             }
             else
             {
-                Userids = userDTOs.OrderBy(x => x.UserSn).Select(x => x.Id).ToArray();
+                Userids = userDTOs.OrderBy(x => x.DeptId).ThenBy(x=>x.HrPosition).Select(x => x.Id).ToArray();
             }
 
             List<TongjibaobiaobaobiaoDTO> tongjibaobiaobaobiaoDTOs = new List<TongjibaobiaobaobiaoDTO>();
@@ -1882,6 +2015,11 @@
                     var userDTO = userDTOs.Where(x=>x.Id == Userid).FirstOrDefault();
                     string position = userDTO.HrPosition;
 
+                   var hrPositionDTO = _hrPositionService.Get(userDTO.HrPosition);
+
+                    var deptDTO = _hrDeptService.Get(userDTO.DeptId);
+                   var admSignInDTO = _admSigninService.GetByUserAndDate(Userid, chauxnshijian);
+
                     var hrJixiaotichengThis = hrJixiaotichengDTOs.Where(x => x.PostId == position).ToList();
 
 
@@ -1892,10 +2030,12 @@
                     xiangmuDTO.gongzuo = "閲囪喘椤圭洰褰曞叆";
                     //鏈湀鏁伴噺
                     var projectDTOsyue = _projectService.GetListsalary(Userid, dateminkaoqin, datemaxkaoqin);
-                    xiangmuDTO.benyueshuliang = projectDTOsyue.Count.ToString();
+                    var zhengfuprojectDTOsyue = _projectService.GetListsalaryzhengfu(Userid, dateminkaoqin, datemaxkaoqin);
+                    xiangmuDTO.benyueshuliang = (projectDTOsyue.Count + zhengfuprojectDTOsyue.Count).ToString();
                     //鏈棩鏁伴噺
                     var projectDTOsri = projectDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
-                    xiangmuDTO.benrishuliang = projectDTOsri.Count.ToString();
+                    var zhengfuprojectDTOsri = zhengfuprojectDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
+                    xiangmuDTO.benrishuliang = (projectDTOsri.Count+ zhengfuprojectDTOsri.Count).ToString();
 
                     var jijianixiangmu = fiPiecerateDTOs.Where(x => x.Project == "閲囪喘椤圭洰褰曞叆").FirstOrDefault();
 
@@ -1912,7 +2052,7 @@
                                 xiangmuDTO.benriqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
                                 if (jixiaotichengfangan.Tichengstandard == "01")
                                 {
-                                    decimal youxiaojijian = projectDTOsri.Count - jixiaotichengfangan.Renwu.Value;
+                                    decimal youxiaojijian = projectDTOsri.Count + zhengfuprojectDTOsri.Count - jixiaotichengfangan.Renwu.Value;
                                     if (youxiaojijian > 0)
                                     {
                                         xiangmuDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString("0.##");
@@ -1939,6 +2079,58 @@
                         tuiguangDTOs.Add(xiangmuDTO);
                     #endregion
 
+
+                    #region 閲囪喘鍏憡褰曞叆 
+                    TongjiBaoBiaoDTO caigougonggaoDTO = new TongjiBaoBiaoDTO();
+                    caigougonggaoDTO.gongzuo = "閲囪喘鍏憡褰曞叆";
+                    //鏈湀鏁伴噺
+                    var caigougonggaoDTOsyue = _projectService.GetcaigougonggaoListsalary(Userid, dateminkaoqin, datemaxkaoqin);
+                    caigougonggaoDTO.benyueshuliang = caigougonggaoDTOsyue.Count.ToString();
+                    //鏈棩鏁伴噺
+                    var caigougonggaoDTOsri = caigougonggaoDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
+                    caigougonggaoDTO.benrishuliang = caigougonggaoDTOsri.Count.ToString();
+
+                    var jijianicaigougonggao = fiPiecerateDTOs.Where(x => x.Project == "閲囪喘鍏憡褰曞叆").FirstOrDefault();
+
+                    if (jijianicaigougonggao != null)
+                    {
+                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianicaigougonggao.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                        {
+                            if (jixiaotichengfangan.Renwustandard == "01")
+                            {
+                                //鏈湀瑙勫畾
+                                caigougonggaoDTO.benyueqingkuang = (Yingchuqin * jixiaotichengfangan.Renwu.Value).ToString("0.##");
+                                //鏈棩瑙勫畾
+                                caigougonggaoDTO.benriqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = caigougonggaoDTOsri.Count - jixiaotichengfangan.Renwu.Value;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        caigougonggaoDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString("0.##");
+                                    }
+                                }
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "02")
+                            {
+                                //鏈湀瑙勫畾
+                                caigougonggaoDTO.benyueqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##"); ;
+                                //if (jixiaotichengfangan.Tichengstandard == "01")
+                                //{
+                                //    decimal youxiaojijian = _intentionCustomerDTOs.Count + cooperatecustomCustomerDTOs.Count - renwujishu;
+                                //    if (youxiaojijian > 0)
+                                //    {
+                                //        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                //    }
+
+                                //}
+                            }
+                        }
+                    }
+                    if (caigougonggaoDTOsyue.Count > 0 || caigougonggaoDTOsri.Count > 0)
+                        tuiguangDTOs.Add(caigougonggaoDTO);
+                    #endregion
 
                     #region 瀹㈡埛璧勬枡褰曞叆
                     TongjiBaoBiaoDTO kehuluruDTO = new TongjiBaoBiaoDTO();
@@ -2122,7 +2314,7 @@
                                 weixnDTO.benriqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
                                 if (jixiaotichengfangan.Tichengstandard == "01")
                                 {
-                                    decimal youxiaojijian = cooperweixinDTOsri.Count + intentionweixinDTOsyue.Count - jixiaotichengfangan.Renwu.Value;
+                                    decimal youxiaojijian = cooperweixinDTOsri.Count + intentionweixinDTOsri.Count - jixiaotichengfangan.Renwu.Value;
                                     if (youxiaojijian > 0)
                                     {
                                         weixnDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString("0.##");
@@ -2363,10 +2555,10 @@
                         tuiguangDTOs.Add(qunzutuiguangDTO);
                     #endregion
 
-                    #region 鏈嬪弸鍦堝師鍒�
+                    #region 鏈嬪弸鍦堣浆鍙�
                     TongjiBaoBiaoDTO pengyouquanDTO = new TongjiBaoBiaoDTO();
-                    pengyouquanDTO.gongzuo = "鏈嬪弸鍦堝師鍒�";
-                    var jijianipengyouquan = fiPiecerateDTOs.Where(x => x.Project == "鏈嬪弸鍦堝師鍒�").FirstOrDefault();
+                    pengyouquanDTO.gongzuo = "鏈嬪弸鍦堣浆鍙�";
+                    var jijianipengyouquan = fiPiecerateDTOs.Where(x => x.Project == "鏈嬪弸鍦堣浆鍙�").FirstOrDefault();
 
                     if (jijianipengyouquan != null)
                     {
@@ -2411,16 +2603,22 @@
 
                                 //}
                             }
+                            else if (jixiaotichengfangan.Renwustandard == "05")
+                            {
+                                //鏈湀瑙勫畾
+                                pengyouquanDTO.benyueqingkuang = (4 * jixiaotichengfangan.Renwu.Value).ToString("0.##");
+
+                            }
                         }
                     }
                     if (decimal.Parse(pengyouquanDTO.benyueshuliang) > 0 || decimal.Parse(pengyouquanDTO.benrishuliang) > 0)
                         tuiguangDTOs.Add(pengyouquanDTO);
                     #endregion
 
-                    #region 璁哄潧鍙戝笘
+                    #region 璁哄潧鎺ㄥ箍
                     TongjiBaoBiaoDTO luntanfatieDTO = new TongjiBaoBiaoDTO();
-                    luntanfatieDTO.gongzuo = "璁哄潧鍙戝笘";
-                    var jijianiluntanfatie = fiPiecerateDTOs.Where(x => x.Project == "璁哄潧鍙戝笘").FirstOrDefault();
+                    luntanfatieDTO.gongzuo = "璁哄潧鎺ㄥ箍";
+                    var jijianiluntanfatie = fiPiecerateDTOs.Where(x => x.Project == "璁哄潧鎺ㄥ箍").FirstOrDefault();
 
                     if (jijianiluntanfatie != null)
                     {
@@ -2471,10 +2669,10 @@
                         tuiguangDTOs.Add(luntanfatieDTO);
                     #endregion
 
-                    #region 璺熷笘璇勮
+                    #region 璐村惂鎺ㄥ箍
                     TongjiBaoBiaoDTO gentiepinglunDTO = new TongjiBaoBiaoDTO();
-                    gentiepinglunDTO.gongzuo = "璺熷笘璇勮";
-                    var jijianigentiepinglun = fiPiecerateDTOs.Where(x => x.Project == "璺熷笘璇勮").FirstOrDefault();
+                    gentiepinglunDTO.gongzuo = "璐村惂鎺ㄥ箍";
+                    var jijianigentiepinglun = fiPiecerateDTOs.Where(x => x.Project == "璐村惂鎺ㄥ箍").FirstOrDefault();
 
                     if (jijianigentiepinglun != null)
                     {
@@ -2681,7 +2879,7 @@
                         }
                         catch (Exception ex)
                         {
-
+                            zhucehuiyuanDTO.benyueshuliang = "0";
                         }
 
 
@@ -2783,6 +2981,59 @@
                     #endregion
 
 
+                    #region 涓撳褰曞叆
+                    TongjiBaoBiaoDTO zhuanjialuruDTO = new TongjiBaoBiaoDTO();
+                    zhuanjialuruDTO.gongzuo = "涓撳褰曞叆";
+                    //鏈湀鏁伴噺
+                    var zhuanjialuruDTOsyue = _expertService.GetListsalary(Userid, dateminkaoqin, datemaxkaoqin);
+                    zhuanjialuruDTO.benyueshuliang = zhuanjialuruDTOsyue.Count.ToString();
+                    //鏈棩鏁伴噺
+                    var zhuanjialuruDTOsri = zhuanjialuruDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
+                    zhuanjialuruDTO.benrishuliang = zhuanjialuruDTOsri.Count.ToString();
+
+                    var jijianizhuanjialuru = fiPiecerateDTOs.Where(x => x.Project == "涓撳褰曞叆").FirstOrDefault();
+
+                    if (jijianizhuanjialuru != null)
+                    {
+                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianizhuanjialuru.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                        {
+                            if (jixiaotichengfangan.Renwustandard == "01")
+                            {
+
+                                zhuanjialuruDTO.benyueqingkuang = (Yingchuqin * jixiaotichengfangan.Renwu.Value).ToString("0.##");
+                                zhuanjialuruDTO.benriqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = zhuanjialuruDTOsri.Count - jixiaotichengfangan.Renwu.Value;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        zhuanjialuruDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString("0.##");
+                                    }
+
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "02")
+                            {
+                                zhuanjialuruDTO.benyueqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##"); ;
+                                //if (jixiaotichengfangan.Tichengstandard == "01")
+                                //{
+                                //    decimal youxiaojijian = intentionCustomerDTOs.Count - renwujishu;
+                                //    if (youxiaojijian > 0)
+                                //    {
+                                //        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                //    }
+
+                                //}
+                            }
+                        }
+                    }
+                    if (zhuanjialuruDTOsyue.Count > 0 || zhuanjialuruDTOsri.Count > 0)
+                        tuiguangDTOs.Add(zhuanjialuruDTO);
+                    #endregion
+
+
                     List<TongjiBaoBiaoDTO> baifangkehuDTOs = new List<TongjiBaoBiaoDTO>();
 
                     #region 涓婇棬鎷滆瀹㈡埛
@@ -2833,16 +3084,22 @@
 
                                 //}
                             }
+                            else if (jixiaotichengfangan.Renwustandard == "05")
+                            {
+                                //鏈湀瑙勫畾
+                                shangmenbanfangDTO.benyueqingkuang = (4 * jixiaotichengfangan.Renwu.Value).ToString("0.##");
+
+                            }
                         }
                     }
                     if (decimal.Parse(shangmenbanfangDTO.benyueshuliang) > 0 || decimal.Parse(shangmenbanfangDTO.benrishuliang) > 0)
                         baifangkehuDTOs.Add(shangmenbanfangDTO);
                     #endregion
 
-                    #region 鎺ュ緟鏉ヨ瀹㈡埛
+                    #region 褰曞叆瀹㈡埛鍜ㄨ
                     TongjiBaoBiaoDTO jiedailaifangDTO = new TongjiBaoBiaoDTO();
-                    jiedailaifangDTO.gongzuo = "鎺ュ緟鏉ヨ瀹㈡埛";
-                    var jijianijiedailaifang = fiPiecerateDTOs.Where(x => x.Project == "鎺ュ緟鏉ヨ瀹㈡埛").FirstOrDefault();
+                    jiedailaifangDTO.gongzuo = "褰曞叆瀹㈡埛鍜ㄨ";
+                    var jijianijiedailaifang = fiPiecerateDTOs.Where(x => x.Project == "褰曞叆瀹㈡埛鍜ㄨ").FirstOrDefault();
 
                     if (jijianijiedailaifang != null)
                     {
@@ -2903,7 +3160,7 @@
                     var benyuezonge = dingdanDTOsyue.Sum(x => x.Money) ?? 0;
 
                     //鏈棩鏁伴噺
-                    var dingdanDTOsri = dingdanDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
+                    var dingdanDTOsri = dingdanDTOsyue.Where(x => (x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)) || (x.Wangongtime >= chauxnshijian.Date && x.Wangongtime < chauxnshijian.Date.AddDays(1))).ToList();
                     foreach (var cooperOrderDTO in dingdanDTOsri)
                     {
                         TongjiDingDanDTO dingdanDTO = new TongjiDingDanDTO();
@@ -3103,10 +3360,10 @@
                         ziliaoweihuDTOs.Add(zhengcaizhishiDTO);
                     #endregion
 
-                    #region 鏂板鍏紬鍙峰叧娉�
+                    #region 寰俊寰崥鍏紬鍙锋柊澧炵矇涓�
                     TongjiBaoBiaoDTO gongzhonghaoDTO = new TongjiBaoBiaoDTO();
-                    gongzhonghaoDTO.gongzuo = "鏂板鍏紬鍙峰叧娉�";
-                    var jijianigongzhonghao = fiPiecerateDTOs.Where(x => x.Project == "鏂板鍏紬鍙峰叧娉�").FirstOrDefault();
+                    gongzhonghaoDTO.gongzuo = "寰俊寰崥鍏紬鍙锋柊澧炵矇涓�";
+                    var jijianigongzhonghao = fiPiecerateDTOs.Where(x => x.Project == "寰俊寰崥鍏紬鍙锋柊澧炵矇涓�").FirstOrDefault();
 
                     if (jijianigongzhonghao != null)
                     {
@@ -3488,7 +3745,24 @@
                     tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs = ziliaoweihuDTOs;
                     tongjibaobiaobaobiaoDTO.xiangmushishiDTOs = xiangmushishiDTOs;
                     tongjibaobiaobaobiaoDTO.dingdanDTOsCount = dingdanDTOsCount;
-                    tongjibaobiaobaobiaoDTO.UserName = userDTO.UserName;
+                    tongjibaobiaobaobiaoDTO.UserName = "";
+                    if (deptDTO != null)
+                    {
+                        tongjibaobiaobaobiaoDTO.UserName += "閮ㄩ棬锛�" + deptDTO.DeptName + "&nbsp&nbsp&nbsp&nbsp";
+                    }
+                    tongjibaobiaobaobiaoDTO.UserName += "濮撳悕锛�" + userDTO.UserName + "&nbsp&nbsp&nbsp&nbsp";
+
+                    tongjibaobiaobaobiaoDTO.UserDaka = ""; 
+                    if (hrPositionDTO != null)
+                    {
+                        tongjibaobiaobaobiaoDTO.UserDaka += "鑱屽姟锛�" + hrPositionDTO.PostName + "&nbsp&nbsp&nbsp&nbsp";
+                    }
+                    if (admSignInDTO != null)
+                    {
+                        tongjibaobiaobaobiaoDTO.UserDaka += "    鎵撳崱鏃堕棿锛氫笂鍗� " + (admSignInDTO.MorningIn.HasValue? admSignInDTO.MorningIn.Value.ToString("HH:mm:ss"):"") + "-" + (admSignInDTO.MorningOut.HasValue ? admSignInDTO.MorningOut.Value.ToString("HH:mm:ss") : "")
+                            + "&nbsp&nbsp&nbsp&nbsp涓嬪崍 " + (admSignInDTO.AfternoonIn.HasValue ? admSignInDTO.AfternoonIn.Value.ToString("HH:mm:ss") : "") + "-" + (admSignInDTO.AfternoonOut.HasValue ? admSignInDTO.AfternoonOut.Value.ToString("HH:mm:ss") : "")
+                              + (admSignInDTO.OvertimeIn.HasValue ? "    鍔犵彮 " + admSignInDTO.OvertimeIn.Value.ToString("HH:mm:ss") + "-" : "") + (admSignInDTO.OvertimeOut.HasValue ? admSignInDTO.OvertimeOut.Value.ToString("HH:mm:ss") : "");
+                    }
 
                     tongjibaobiaobaobiaoDTOs.Add(tongjibaobiaobaobiaoDTO);
 

--
Gitblit v1.9.1