diff --git a/backend/scripts/check-payslip-detail.ts b/backend/scripts/check-payslip-detail.ts new file mode 100644 index 0000000..78a2ce1 --- /dev/null +++ b/backend/scripts/check-payslip-detail.ts @@ -0,0 +1,36 @@ +import prisma from '../src/lib/prisma' + +async function main() { + // 查看已发布的7条工资条明细 + const published = await prisma.$queryRaw` + SELECT p."employeeId", e.name, e.department, + p."baseSalary", p."overtimePay", p.allowance, p.deduction, p.bonus, + p."totalPay", p."socialEmp", p."housingEmp", p.tax, p."netPay", + p."publishStatus", p.status, p.month + FROM "Payslip" p + JOIN "Employee" e ON p."employeeId" = e.id + WHERE p.month='2026-08' AND p."publishStatus" = 'PUBLISHED' + ORDER BY e.name + ` + console.log('=== 已发布工资条(7条)===') + for (const p of published) { + console.log(`${p.name} | ${p.department} | base=${p.baseSalary} total=${p.totalPay} net=${p.netPay} social=${p.socialEmp} housing=${p.housingEmp} tax=${p.tax}`) + } + + // 查看未发布的23条 + const unpublished = await prisma.$queryRaw` + SELECT e.name, e.department, + p."totalPay", p."netPay", p."publishStatus" + FROM "Payslip" p + JOIN "Employee" e ON p."employeeId" = e.id + WHERE p.month='2026-08' AND p."publishStatus" IS NULL + ORDER BY e.name + ` + console.log('\n=== 未发布工资条(23条)===') + for (const p of unpublished) { + console.log(`${p.name} | ${p.department} | total=${p.totalPay} net=${p.netPay}`) + } + + await prisma.$disconnect() +} +main() diff --git a/backend/scripts/check-payslip.ts b/backend/scripts/check-payslip.ts new file mode 100644 index 0000000..ad1b295 --- /dev/null +++ b/backend/scripts/check-payslip.ts @@ -0,0 +1,24 @@ +import prisma from '../src/lib/prisma' + +async function main() { + const payslips = await prisma.$queryRaw` + SELECT month, status, "publishStatus", count(*)::int as cnt + FROM "Payslip" WHERE month='2026-08' + GROUP BY month, status, "publishStatus" + ` + console.log('Payslip 2026-08:', JSON.stringify(payslips, null, 2)) + + const batches = await prisma.$queryRaw` + SELECT id, name, month, status, "batchNo"::text as bn + FROM "PayrollBatch" WHERE month='2026-08' ORDER BY "batchNo" + ` + console.log('Batches 2026-08:', JSON.stringify(batches, null, 2)) + + const totalPayslips = await prisma.$queryRaw` + SELECT count(*)::int as cnt FROM "Payslip" WHERE month='2026-08' + ` + console.log('Total payslips 2026-08:', JSON.stringify(totalPayslips)) + + await prisma.$disconnect() +} +main() diff --git a/frontend/src/pages/portal/EmployeeHome.tsx b/frontend/src/pages/portal/EmployeeHome.tsx index 3a6b02a..6101ab0 100644 --- a/frontend/src/pages/portal/EmployeeHome.tsx +++ b/frontend/src/pages/portal/EmployeeHome.tsx @@ -124,7 +124,7 @@ export default function EmployeeHome() {
应发合计
-
¥{fmt(latestPayslip.grossPay)}
+
¥{fmt(latestPayslip.totalPay)}
实发合计