| | |
| | | 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 |
| | |
| | | , 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; |
| | |
| | | _liaotianService = liaotianService; |
| | | _configuration = configuration; |
| | | _clientFactory = clientFactory; |
| | | _hrPositionService = hrPositionService; |
| | | _hrDeptService = hrDeptService; |
| | | _admSigninService = admSigninService; |
| | | _expertService = expertService; |
| | | } |
| | | |
| | | public async Task<IActionResult> IndexAsync(string Tongjitime="") |
| | |
| | | |
| | | if (jijianizhucehuiyuan != null) |
| | | { |
| | | //本月数量 |
| | | List<YaoQingYongHuDTO> zhucehuiyuansyue = new List<YaoQingYongHuDTO>(); |
| | | //本月数量 |
| | | List <YaoQingYongHuDTO> zhucehuiyuansyue = new List<YaoQingYongHuDTO>(); |
| | | try |
| | | { |
| | | //var pltUserDTO = _userService.GetPltUserEntity(curentuser.Id); |
| | |
| | | } |
| | | 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 |
| | | |
| | | |
| | |
| | | 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); |
| | |
| | | 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>(); |
| | |
| | | { |
| | | 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(); |
| | | |
| | |
| | | #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 上门拜访客户 |
| | |
| | | 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); |
| | | |