From 15eb82df2d6ec539e9d4245bfe08d531e8eb6379 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期日, 27 四月 2025 14:33:26 +0800 Subject: [PATCH] 修改培训订单占多个座位 --- zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs | 530 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 454 insertions(+), 76 deletions(-) diff --git a/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs b/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs index 9a3e373..dfcf9da 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,7 +55,12 @@ private readonly IProjectService _projectService; private readonly ICusFangwenjiluService _cusFangwenjiluService; 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 @@ -77,7 +85,14 @@ , IDtChannelArticleNewsService dtChannelArticleNewsService , IProjectService projectService , ICusFangwenjiluService cusFangwenjiluService - ,ILiaotianService liaotianService) + , ILiaotianService liaotianService + , IConfiguration configuration + , IHttpClientFactory clientFactory + , IHrPositionService hrPositionService + , IHrDeptService hrDeptService + , IAdmSigninService admSigninService + , IExpertService expertService + ) { _logger = logger; _attendanceRuleService = attendanceRuleService; @@ -103,9 +118,15 @@ _projectService = projectService; _cusFangwenjiluService = cusFangwenjiluService; _liaotianService = liaotianService; + _configuration = configuration; + _clientFactory = clientFactory; + _hrPositionService = hrPositionService; + _hrDeptService = hrDeptService; + _admSigninService = admSigninService; + _expertService = expertService; } - public IActionResult Index(string Tongjitime="") + public async Task<IActionResult> IndexAsync(string Tongjitime="") { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; @@ -180,9 +201,12 @@ xiangmuDTO.gongzuo = "閲囪喘椤圭洰褰曞叆"; //鏈湀鏁伴噺 var projectDTOsyue = _projectService.GetListsalary(curentuser.Id, dateminkaoqin, datemaxkaoqin); + // var zhengfuprojectDTOsyue = _projectService.GetListsalaryzhengfu(curentuser.Id, dateminkaoqin, datemaxkaoqin); + xiangmuDTO.benyueshuliang = projectDTOsyue.Count.ToString(); //鏈棩鏁伴噺 var projectDTOsri = projectDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList(); + // var zhengfuprojectDTOsri = zhengfuprojectDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList(); xiangmuDTO.benrishuliang = projectDTOsri.Count.ToString(); var jijianixiangmu = fiPiecerateDTOs.Where(x => x.Project == "閲囪喘椤圭洰褰曞叆").FirstOrDefault(); @@ -227,6 +251,59 @@ 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(); @@ -651,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) { @@ -699,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) { @@ -759,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) { @@ -926,14 +1009,57 @@ 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) + { + zhucehuiyuanDTO.benyueshuliang = "0"; + } + //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 +1069,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); @@ -1026,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 涓婇棬鎷滆瀹㈡埛 @@ -1076,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) { @@ -1146,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(); @@ -1346,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) { @@ -1738,12 +1930,12 @@ - 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; - DateTime chauxnshijian = DateTime.Now; + DateTime chauxnshijian = DateTime.Now.Date; if (!string.IsNullOrEmpty(Tongjitime)) { DateTime.TryParse(Tongjitime, out chauxnshijian); @@ -1753,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>(); @@ -1823,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(); @@ -1833,9 +2030,11 @@ xiangmuDTO.gongzuo = "閲囪喘椤圭洰褰曞叆"; //鏈湀鏁伴噺 var projectDTOsyue = _projectService.GetListsalary(Userid, dateminkaoqin, datemaxkaoqin); + //var zhengfuprojectDTOsyue = _projectService.GetListsalaryzhengfu(Userid, dateminkaoqin, datemaxkaoqin); xiangmuDTO.benyueshuliang = projectDTOsyue.Count.ToString(); //鏈棩鏁伴噺 var projectDTOsri = projectDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList(); + //var zhengfuprojectDTOsri = zhengfuprojectDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList(); xiangmuDTO.benrishuliang = projectDTOsri.Count.ToString(); var jijianixiangmu = fiPiecerateDTOs.Where(x => x.Project == "閲囪喘椤圭洰褰曞叆").FirstOrDefault(); @@ -1853,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 - jixiaotichengfangan.Renwu.Value; if (youxiaojijian > 0) { xiangmuDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString("0.##"); @@ -1880,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(); @@ -2063,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.##"); @@ -2304,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) { @@ -2352,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) { @@ -2412,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) { @@ -2580,13 +2837,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) + { + zhucehuiyuanDTO.benyueshuliang = "0"; + } + + + //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 +2898,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); @@ -2679,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 涓婇棬鎷滆瀹㈡埛 @@ -2729,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) { @@ -2799,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(); @@ -2836,7 +3197,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 +3254,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 +3310,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(); @@ -2999,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) { @@ -3384,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 + "    "; + } + tongjibaobiaobaobiaoDTO.UserName += "濮撳悕锛�" + userDTO.UserName + "    "; + + tongjibaobiaobaobiaoDTO.UserDaka = ""; + if (hrPositionDTO != null) + { + tongjibaobiaobaobiaoDTO.UserDaka += "鑱屽姟锛�" + hrPositionDTO.PostName + "    "; + } + 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") : "") + + "    涓嬪崍 " + (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