feat: Dashboard 合同卡片显示有效合同数 + 总合同数
This commit is contained in:
@@ -20,11 +20,20 @@ router.use(authMiddleware, platformAdminMiddleware)
|
||||
*/
|
||||
router.get('/dashboard', async (_req: AuthRequest, res, next) => {
|
||||
try {
|
||||
const [orgs, users, employees, contracts, payslips] = await Promise.all([
|
||||
const now = new Date()
|
||||
const [orgs, users, employees, contracts, activeContracts, payslips] = await Promise.all([
|
||||
prisma.organization.count(),
|
||||
prisma.user.count({ where: { role: { not: 'SUPER_ADMIN' } } }),
|
||||
prisma.employee.count(),
|
||||
prisma.laborContract.count(),
|
||||
prisma.laborContract.count({
|
||||
where: {
|
||||
OR: [
|
||||
{ endDate: null },
|
||||
{ endDate: { gte: now } },
|
||||
],
|
||||
},
|
||||
}),
|
||||
prisma.payslip.count(),
|
||||
])
|
||||
|
||||
@@ -52,6 +61,7 @@ router.get('/dashboard', async (_req: AuthRequest, res, next) => {
|
||||
totalUsers: users,
|
||||
totalEmployees: employees,
|
||||
totalContracts: contracts,
|
||||
activeContracts,
|
||||
totalPayslips: payslips,
|
||||
orgsByPlan: orgsByPlan.map((g: any) => ({ plan: g.plan, count: g._count })),
|
||||
recentOrgs: recentOrgs.map((o: any) => ({
|
||||
|
||||
Reference in New Issue
Block a user