username@email.com
2022-08-27 6e2b929cf381e2320ba6e7dec56c0371124d2b51
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="")
@@ -935,8 +947,8 @@
            if (jijianizhucehuiyuan != null)
            {
                //本月数量
                List<YaoQingYongHuDTO> zhucehuiyuansyue = new List<YaoQingYongHuDTO>();
             //本月数量
             List <YaoQingYongHuDTO> zhucehuiyuansyue = new List<YaoQingYongHuDTO>();
                try
                {
                    //var pltUserDTO = _userService.GetPltUserEntity(curentuser.Id);
@@ -1082,6 +1094,59 @@
            }
            if (decimal.Parse(qianyueDTO.benyueshuliang) > 0 || decimal.Parse(qianyueDTO.benrishuliang) > 0)
                tuiguangDTOs.Add(qianyueDTO);
            #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
@@ -1802,7 +1867,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 +1877,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>();
@@ -1881,6 +1946,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();
@@ -2783,6 +2853,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 上门拜访客户
@@ -3488,7 +3611,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);