| | |
| | | private readonly IHrPositionService _hrPositionService; |
| | | private readonly IHrDeptService _hrDeptService; |
| | | private readonly IAdmSigninService _admSigninService; |
| | | private readonly IExpertService _expertService; |
| | | |
| | | public TongjiBaoBiaoController(ILogger<TongjiBaoBiaoController> logger |
| | | , IAdmAttendanceRuleService attendanceRuleService |
| | |
| | | , IHrPositionService hrPositionService |
| | | , IHrDeptService hrDeptService |
| | | , IAdmSigninService admSigninService |
| | | , IExpertService expertService |
| | | ) |
| | | { |
| | | _logger = logger; |
| | |
| | | _hrPositionService = hrPositionService; |
| | | _hrDeptService = hrDeptService; |
| | | _admSigninService = admSigninService; |
| | | _expertService = expertService; |
| | | } |
| | | |
| | | public async Task<IActionResult> IndexAsync(string Tongjitime="") |
| | |
| | | #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 上门拜访客户 |
| | |
| | | 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>(); |
| | |
| | | #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.UserName = ""; |
| | | if (deptDTO != null) |
| | | { |
| | | tongjibaobiaobaobiaoDTO.UserName += "部门:" + deptDTO.DeptName + " "; |
| | | tongjibaobiaobaobiaoDTO.UserName += "部门:" + deptDTO.DeptName + "    "; |
| | | } |
| | | tongjibaobiaobaobiaoDTO.UserName = "姓名:" + userDTO.UserName + " "; |
| | | tongjibaobiaobaobiaoDTO.UserName += "姓名:" + userDTO.UserName + "    "; |
| | | |
| | | tongjibaobiaobaobiaoDTO.UserDaka = ""; |
| | | if (hrPositionDTO != null) |
| | | { |
| | | tongjibaobiaobaobiaoDTO.UserName += "职务:" + hrPositionDTO.PostName + " "; |
| | | tongjibaobiaobaobiaoDTO.UserDaka += "职务:" + hrPositionDTO.PostName + "    "; |
| | | } |
| | | if (admSignInDTO != null) |
| | | { |
| | | tongjibaobiaobaobiaoDTO.UserName += "打卡时间:上午 " + (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") : ""); |
| | | 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); |