From ddd7b8e07e5d7f76e5ee28eaab91e75a419b3750 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期四, 22 七月 2021 14:57:13 +0800 Subject: [PATCH] 今日开发 我的报表中的 新增注册会员 改为非手工几件登记,自动从系统读取 工作报表中的 新增注册会员 改为非手工几件登记,自动从系统读取 工资计算中的 新增注册会员 改为非手工几件登记,自动从系统读取 --- zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs | 176 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 140 insertions(+), 36 deletions(-) diff --git a/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs b/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs index 9a3e373..0f9bb7f 100644 --- a/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs +++ b/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(); -- Gitblit v1.9.1