zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs
@@ -22,6 +22,9 @@
using Grpc.Core;
using System;
using System.Transactions;
using Microsoft.Extensions.Configuration;
using Newtonsoft.Json.Linq;
using System.Net.Http.Headers;
namespace zhengcaioa.Controllers.Finance
{
@@ -52,6 +55,8 @@
        private readonly IProjectService _projectService;
        private readonly ICusFangwenjiluService _cusFangwenjiluService;
        private readonly ILiaotianService _liaotianService;
        private readonly IConfiguration _configuration;
        private readonly IHttpClientFactory _clientFactory;
        public TongjiBaoBiaoController(ILogger<TongjiBaoBiaoController> logger
@@ -77,7 +82,9 @@
            , IDtChannelArticleNewsService dtChannelArticleNewsService
            , IProjectService projectService
            , ICusFangwenjiluService cusFangwenjiluService
            ,ILiaotianService liaotianService)
            ,ILiaotianService liaotianService
              , IConfiguration configuration
            , IHttpClientFactory clientFactory)
        {
            _logger = logger;
            _attendanceRuleService = attendanceRuleService;
@@ -103,9 +110,11 @@
            _projectService = projectService;
            _cusFangwenjiluService = cusFangwenjiluService;
            _liaotianService = liaotianService;
            _configuration = configuration;
            _clientFactory = clientFactory;
        }
        public IActionResult Index(string Tongjitime="")
        public async Task<IActionResult> IndexAsync(string Tongjitime="")
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
@@ -927,13 +936,56 @@
            if (jijianizhucehuiyuan != null)
            {
                //本月数量
                var zhucehuiyuansyue = _admPieceCheckService.GetList(curentuser.Id, dateminkaoqin, datemaxkaoqin).Where(x => x.WorkPro == jijianizhucehuiyuan.Id).ToList();
                List<YaoQingYongHuDTO> zhucehuiyuansyue = new List<YaoQingYongHuDTO>();
                try
                {
                    //var pltUserDTO = _userService.GetPltUserEntity(curentuser.Id);
                    string huiyuanurl = _configuration.GetSection("huiyuanurl").Value;
                    string GetYGYaoQingYonghu = _configuration.GetSection("GetYGYaoQingYonghu").Value;
                    Uri postUrl2 = new Uri(huiyuanurl + GetYGYaoQingYonghu);
                zhucehuiyuanDTO.benyueshuliang = (zhucehuiyuansyue.Sum(x => x.Shuliang) ?? 0).ToString("0.##");
                    JObject questions2 = new JObject();
                    questions2.Add("UserID", curentuser.Id);
                    questions2.Add("StartTime", dateminkaoqin.ToString("yyyy-MM-dd HH:mm:ss"));
                    questions2.Add("EndTime", datemaxkaoqin.ToString("yyyy-MM-dd HH:mm:ss"));
                    string requestJson2 = questions2.ToString();
                    string result2 = string.Empty;
                    using (HttpContent httpContent = new StringContent(requestJson2))
                    {
                        httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                        var httpClient2 = _clientFactory.CreateClient();
                        httpClient2.Timeout = new TimeSpan(0, 0, 10);
                        var Result2 = await httpClient2.PostAsync(postUrl2, httpContent);
                        result2 = Result2.Content.ReadAsStringAsync().Result;
                    }
                    _logger.LogInformation("result2:" + result2);
                    JObject jobjectresult = (JObject)JsonConvert.DeserializeObject(result2);
                    if (jobjectresult["code"] != null && jobjectresult["code"].ToString() == "1")
                    {
                        zhucehuiyuanDTO.benyueshuliang = jobjectresult["count"].ToString();
                        zhucehuiyuansyue = JsonConvert.DeserializeObject<List<YaoQingYongHuDTO>>(jobjectresult["data"].ToString());
                    }
                    else
                    {
                        zhucehuiyuanDTO.benyueshuliang = "0";
                    }
                }
                catch (Exception ex)
                {
                }
                //var zhucehuiyuansyue = _admPieceCheckService.GetList(curentuser.Id, dateminkaoqin, datemaxkaoqin).Where(x => x.WorkPro == jijianizhucehuiyuan.Id).ToList();
                //zhucehuiyuanDTO.benyueshuliang = (zhucehuiyuansyue.Sum(x => x.Shuliang) ?? 0).ToString("0.##");
                //本日数量
                var zhucehuiyuansri = zhucehuiyuansyue.Where(x => x.WorkTime >= chauxnshijian.Date && x.WorkTime < chauxnshijian.Date.AddDays(1)).ToList();
                zhucehuiyuanDTO.benrishuliang = (zhucehuiyuansri.Sum(x => x.Shuliang) ?? 0).ToString("0.##");
                zhucehuiyuanDTO.dangrijixiao = (zhucehuiyuansri.Sum(x => x.Gongzi) ?? 0).ToString("0.##");
                var zhucehuiyuansri = zhucehuiyuansyue.Where(x => x.CreatTime >= chauxnshijian.Date && x.CreatTime < chauxnshijian.Date.AddDays(1)).ToList();
                zhucehuiyuanDTO.benrishuliang = zhucehuiyuansri.Count.ToString();
                var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianizhucehuiyuan.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
@@ -943,23 +995,30 @@
                        zhucehuiyuanDTO.benyueqingkuang = (Yingchuqin * jixiaotichengfangan.Renwu.Value).ToString("0.##");
                        zhucehuiyuanDTO.benriqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
                        //if (jixiaotichengfangan.Tichengstandard == "01")
                        //{
                        //    decimal youxiaojijian = (zhucehuiyuansri.Sum(x => x.Shuliang) ?? 0) - jixiaotichengfangan.Renwu.Value;
                        //    if (youxiaojijian > 0)
                        //    {
                        //        zhucehuiyuanDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString();
                        //    }
                        if (jixiaotichengfangan.Tichengstandard == "01")
                        {
                        //}
                            zhucehuiyuanDTO.benyueqingkuang = (Yingchuqin * jixiaotichengfangan.Renwu.Value).ToString("0.##");
                            zhucehuiyuanDTO.benriqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
                            if (jixiaotichengfangan.Tichengstandard == "01")
                            {
                                decimal youxiaojijian = zhucehuiyuansri.Count - jixiaotichengfangan.Renwu.Value;
                                if (youxiaojijian > 0)
                                {
                                    zhucehuiyuanDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString("0.##");
                                }
                            }
                        }
                    }
                    else if (jixiaotichengfangan.Renwustandard == "02")
                    {
                        zhucehuiyuanDTO.benyueqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##"); ;
                        zhucehuiyuanDTO.benyueqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
                        //if (jixiaotichengfangan.Tichengstandard == "01")
                        //{
                        //    decimal youxiaojijian = _intentionCustomerDTOs.Count + cooperatecustomCustomerDTOs.Count - renwujishu;
                        //    decimal youxiaojijian = qianyueDTOs.Count - renwujishu;
                        //    if (youxiaojijian > 0)
                        //    {
                        //        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
@@ -1738,7 +1797,7 @@
        public IActionResult IndexSuoyou(string Tongjitime = "",string userid = "")
        public async Task<IActionResult> IndexSuoyouAsync(string Tongjitime = "",string userid = "")
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
@@ -2580,13 +2639,58 @@
                    if (jijianizhucehuiyuan != null)
                    {
                        //本月数量
                        var zhucehuiyuansyue = _admPieceCheckService.GetList(Userid, dateminkaoqin, datemaxkaoqin).Where(x => x.WorkPro == jijianizhucehuiyuan.Id).ToList();
                        List<YaoQingYongHuDTO> zhucehuiyuansyue = new List<YaoQingYongHuDTO>();
                        try
                        {
                            //var pltUserDTO = _userService.GetPltUserEntity(Userid);
                            string huiyuanurl = _configuration.GetSection("huiyuanurl").Value;
                            string GetYGYaoQingYonghu = _configuration.GetSection("GetYGYaoQingYonghu").Value;
                            Uri postUrl2 = new Uri(huiyuanurl + GetYGYaoQingYonghu);
                        zhucehuiyuanDTO.benyueshuliang = (zhucehuiyuansyue.Sum(x => x.Shuliang) ?? 0).ToString("0.##");
                            JObject questions2 = new JObject();
                            questions2.Add("UserID", Userid);
                            questions2.Add("StartTime", dateminkaoqin.ToString("yyyy-MM-dd HH:mm:ss"));
                            questions2.Add("EndTime", datemaxkaoqin.ToString("yyyy-MM-dd HH:mm:ss"));
                            string requestJson2 = questions2.ToString();
                            string result2 = string.Empty;
                            using (HttpContent httpContent = new StringContent(requestJson2))
                            {
                                httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                                var httpClient2 = _clientFactory.CreateClient();
                                httpClient2.Timeout = new TimeSpan(0, 0, 10);
                                var Result2 = await httpClient2.PostAsync(postUrl2, httpContent);
                                result2 = Result2.Content.ReadAsStringAsync().Result;
                            }
                            _logger.LogInformation("result2:" + result2);
                            JObject jobjectresult = (JObject)JsonConvert.DeserializeObject(result2);
                            if (jobjectresult["code"] != null && jobjectresult["code"].ToString() == "1")
                            {
                                zhucehuiyuanDTO.benyueshuliang = jobjectresult["count"].ToString();
                                zhucehuiyuansyue = JsonConvert.DeserializeObject<List<YaoQingYongHuDTO>>(jobjectresult["data"].ToString());
                            }
                            else
                            {
                                zhucehuiyuanDTO.benyueshuliang = "0";
                            }
                        }
                        catch (Exception ex)
                        {
                        }
                        //var zhucehuiyuansyue = _admPieceCheckService.GetList(Userid, dateminkaoqin, datemaxkaoqin).Where(x => x.WorkPro == jijianizhucehuiyuan.Id).ToList();
                        //zhucehuiyuanDTO.benyueshuliang = (zhucehuiyuansyue.Sum(x => x.Shuliang) ?? 0).ToString("0.##");
                        //本日数量
                        var zhucehuiyuansri = zhucehuiyuansyue.Where(x => x.WorkTime >= chauxnshijian.Date && x.WorkTime < chauxnshijian.Date.AddDays(1)).ToList();
                        zhucehuiyuanDTO.benrishuliang = (zhucehuiyuansri.Sum(x => x.Shuliang) ?? 0).ToString("0.##");
                        zhucehuiyuanDTO.dangrijixiao = (zhucehuiyuansri.Sum(x => x.Gongzi) ?? 0).ToString("0.##");
                        var zhucehuiyuansri = zhucehuiyuansyue.Where(x => x.CreatTime >= chauxnshijian.Date && x.CreatTime < chauxnshijian.Date.AddDays(1)).ToList();
                        zhucehuiyuanDTO.benrishuliang = zhucehuiyuansri.Count.ToString();
                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianizhucehuiyuan.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
@@ -2596,23 +2700,23 @@
                                zhucehuiyuanDTO.benyueqingkuang = (Yingchuqin * jixiaotichengfangan.Renwu.Value).ToString("0.##");
                                zhucehuiyuanDTO.benriqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
                                //if (jixiaotichengfangan.Tichengstandard == "01")
                                //{
                                //    decimal youxiaojijian = (zhucehuiyuansri.Sum(x => x.Shuliang) ?? 0) - jixiaotichengfangan.Renwu.Value;
                                //    if (youxiaojijian > 0)
                                //    {
                                //        zhucehuiyuanDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString();
                                //    }
                                if (jixiaotichengfangan.Tichengstandard == "01")
                                {
                                    decimal youxiaojijian = zhucehuiyuansri.Count - jixiaotichengfangan.Renwu.Value;
                                    if (youxiaojijian > 0)
                                    {
                                        zhucehuiyuanDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString("0.##");
                                    }
                                //}
                                }
                            }
                            else if (jixiaotichengfangan.Renwustandard == "02")
                            {
                                zhucehuiyuanDTO.benyueqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##"); ;
                                zhucehuiyuanDTO.benyueqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
                                //if (jixiaotichengfangan.Tichengstandard == "01")
                                //{
                                //    decimal youxiaojijian = _intentionCustomerDTOs.Count + cooperatecustomCustomerDTOs.Count - renwujishu;
                                //    decimal youxiaojijian = qianyueDTOs.Count - renwujishu;
                                //    if (youxiaojijian > 0)
                                //    {
                                //        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
@@ -2836,7 +2940,7 @@
                    DtChannelArticleNewsDTOSearch searchEntity = new DtChannelArticleNewsDTOSearch();
                    searchEntity.EndTime = datemaxkaoqin;
                    searchEntity.AddTime = dateminkaoqin;
                    searchEntity.UserName = curentuser.UserSn;
                    searchEntity.UserName = userDTO.UserSn;
                    searchEntity.CategoryId = 3;
                    var dtChannelArticleNewsDTOs = _dtChannelArticleNewsService.GetList(searchEntity);
                    xinwenzixunDTO.benyueshuliang = dtChannelArticleNewsDTOs.Count.ToString();
@@ -2893,7 +2997,7 @@
                    searchEntity = new DtChannelArticleNewsDTOSearch();
                    searchEntity.EndTime = datemaxkaoqin;
                    searchEntity.AddTime = dateminkaoqin;
                    searchEntity.UserName = curentuser.UserSn;
                    searchEntity.UserName = userDTO.UserSn;
                    searchEntity.CategoryId = 85;
                    var dianxinanDTOs = _dtChannelArticleNewsService.GetList(searchEntity);
                    dianxinanliDTO.benyueshuliang = dianxinanDTOs.Count.ToString();
@@ -2949,7 +3053,7 @@
                    searchEntity = new DtChannelArticleNewsDTOSearch();
                    searchEntity.EndTime = datemaxkaoqin;
                    searchEntity.AddTime = dateminkaoqin;
                    searchEntity.UserName = curentuser.UserSn;
                    searchEntity.UserName = userDTO.UserSn;
                    searchEntity.CategoryId = 73;
                    var zhengcaizhishiDTOs = _dtChannelArticleNewsService.GetList(searchEntity);
                    zhengcaizhishiDTO.benyueshuliang = zhengcaizhishiDTOs.Count.ToString();