From ce50650dbd08bddfa53ef8ab592a477761633e3d Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期一, 26 十二月 2022 14:36:52 +0800 Subject: [PATCH] 采购公告录入 每个月220个 采购公告, 自己手动找的录入的采购公告 --- zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs | 273 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 259 insertions(+), 14 deletions(-) diff --git a/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs b/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs index 0f9bb7f..31d2961 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="") @@ -236,6 +248,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(); @@ -935,8 +1000,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 +1043,7 @@ } catch (Exception ex) { - + zhucehuiyuanDTO.benyueshuliang = "0"; } //var zhucehuiyuansyue = _admPieceCheckService.GetList(curentuser.Id, dateminkaoqin, datemaxkaoqin).Where(x => x.WorkPro == jijianizhucehuiyuan.Id).ToList(); @@ -1082,6 +1147,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 @@ -1205,7 +1323,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(); @@ -1802,7 +1920,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 +1930,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 +2000,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(); @@ -1939,6 +2062,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(); @@ -2681,7 +2856,7 @@ } catch (Exception ex) { - + zhucehuiyuanDTO.benyueshuliang = "0"; } @@ -2780,6 +2955,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(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 @@ -2903,7 +3131,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(); @@ -3488,7 +3716,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