import json # 按功能模块组织 question_and_answer = [ { "question": "张三的信息", "answer": """ SELECT "id" AS "ID", "code" AS "工号", "name" AS "姓名", "internal_unit" AS "内部单位", "external_unit" AS "外部单位", "phone_number" AS "手机号", "email" AS "邮箱", CASE WHEN "gender" = '1' THEN '男' WHEN "gender" = '2' THEN '女' ELSE "gender" END AS "性别", -- 人员类型转换逻辑 CASE WHEN "person_type" = 'YG' THEN '正式员工' WHEN "person_type" = 'PQ' THEN '劳务派遣人员' ELSE "person_type" END AS "人员类型" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" WHERE "dr" = 0 AND "name" = '张三' LIMIT 1000 """, "tags": ["员工", "基本信息", "单人员工"], "category": "员工基本信息查询" }, { "question": "在研发基地工作的有哪些员工", "answer": ''' SELECT "id" AS "id", "code" AS "工号", "name" AS "姓名", "internal_unit" AS "内部单位", "external_unit" AS "外部单位", "office_address" AS "办公地点" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" WHERE ("office_address" LIKE '%研发基地%' OR "office_city" LIKE '%研发基地%') AND "dr" = '0' LIMIT 1000 ''', "tags": ["员工", "工作地", "条件筛选查询"], "category": "员工基本信息查询" }, { "question": "总共有多少员工", "answer": """ SELECT COUNT(1) AS "total_count" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" WHERE "dr" = 0 LIMIT 1000 """, "tags": ["员工", "人数", "总体统计"], "category": "员工统计与分析" }, { "question": "XX中心下有多少员工", "answer": """ SELECT COUNT(*) FROM YJOA_APPSERVICE_DB.t_pr3rl2oj_yj_person_database WHERE internal_dept in (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name"||"shortname" LIKE '%XX中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid") """, "tags": ["员工", "部门", "人数"], "category": "员工统计与分析" }, { "question": "XX中心下各个处室分别有多少人", "answer": """ SELECT o.name AS "处室名称", COUNT(p.id) AS "人数" FROM YJOA_APPSERVICE_DB.t_pr3rl2oj_yj_person_database p JOIN IUAP_APDOC_BASEDOC.org_orgs o ON p.internal_dept = o.id WHERE p.internal_dept IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name"||"shortname" LIKE '%XX中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) AND p.dr = 0 GROUP BY o.name ORDER BY "人数" DESC LIMIT 1000 """, "tags": ["员工", "部门", "人数"], "category": "员工统计与分析" }, { "question": "XX中心下的XX管理处有多少人", "answer": ''' SELECT o.name AS "处室名称", COUNT(p.id) AS "人数" FROM YJOA_APPSERVICE_DB.t_pr3rl2oj_yj_person_database p JOIN IUAP_APDOC_BASEDOC.org_orgs o ON p.internal_dept = o.id WHERE p.internal_dept IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name"||"shortname" LIKE '%XX中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) AND p.dr = 0 AND o.name LIKE '%XX管理处%' GROUP BY o.name ORDER BY "人数" DESC LIMIT 1000 ''', "tags": ["员工", "部门", "人数"], "category": "员工统计与分析" }, { "question": "XX中心正式人员有多少,各个处室有多少?", "answer": ''' SELECT o.name AS "处室名称", COUNT(p.id) AS "正式员工数量" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p.internal_dept = o.id WHERE p.person_type = 'YG' AND p.dr = 0 AND o.enable = 1 AND o.dr = 0 AND ( o.id IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH ("name" LIKE '%XX中心%' OR "shortname" LIKE '%XX中心%') AND "enable" = 1 AND "dr" = 0 CONNECT BY PRIOR "id" = "parentid" ) ) GROUP BY o.name ORDER BY "正式员工数量" DESC LIMIT 1000; ''', "tags": ["员工", "部门", "人员类型", "正式员工", "处室分布"], "category": "员工统计与分析" }, { "question": "XX部门有哪些员工", "answer": """ SELECT p.id AS "id", p.code AS "employee_code", p.name AS "name", o.name AS "department_name" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p.internal_dept = o.id WHERE p.dr = 0 AND o.enable = 1 AND o.dr = 0 AND o.id IN (SELECT id FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH ("name" LIKE '%XX%' OR "shortname" LIKE '%XX%') AND "enable" = 1 AND "dr" = 0 CONNECT BY PRIOR "id" = "parentid") LIMIT 1000 """, "tags": ["员工", "部门", "列表查询"], "category": "部门人员查询" }, { "question": "XX综合部男员工有哪些人", "answer": """ SELECT p."id" AS "ID", p."code" AS "工号", p."name" AS "姓名", CASE WHEN p."gender" = '1' THEN '男' WHEN p."gender" = '2' THEN '女' END AS "性别", o."name" AS "部门名称" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id" WHERE p."dr" = 0 AND p."gender" = '1' AND o."id" IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH ("name" LIKE '%综合处%' OR "shortname" LIKE '%综合处%') AND "enable" = 1 AND "dr" = 0 CONNECT BY PRIOR "id" = "parentid") LIMIT 1000 """, "tags": ["员工", "性别", "部门", "列表查询"], "category": "性别分布统计" }, { "question": "XX综合部女员工有那些人", "answer": """ SELECT p."id" AS "id", p."code" AS "工号", p."name" AS "姓名", CASE WHEN p."gender" = '1' THEN '男' WHEN p."gender" = '2' THEN '女' END AS "性别", o."name" AS "部门名称" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id" WHERE p."internal_dept" IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH ("name" LIKE '%XX综合部%' OR "shortname" LIKE '%XX综合部%') AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid") AND p."dr" = 0 AND p."gender" = '2' ORDER BY p."create_time" DESC LIMIT 1000 """, "tags": ["员工", "性别", "部门"], "category": "性别分布统计" }, { "question": "XX部有多少员工,男女员工分别有多少", "answer": """ SELECT COUNT(*) AS "总人数", SUM(CASE WHEN gender = '1' THEN 1 ELSE 0 END) AS "男员工数", SUM(CASE WHEN gender = '2' THEN 1 ELSE 0 END) AS "女员工数" FROM YJOA_APPSERVICE_DB.t_pr3rl2oj_yj_person_database p WHERE p.internal_dept IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name"||"shortname" LIKE '%XX部%' CONNECT BY PRIOR "id" = "parentid" ) AND p.dr = 0 LIMIT 1000; """, "tags": ["员工", "性别", "部门", "人数统计"], "category": "性别分布统计" }, { "question": "XX中心男女各多少人", "answer": """ SELECT SUM(CASE WHEN p."gender" = '1' THEN 1 ELSE 0 END) AS "男员工数", SUM(CASE WHEN p."gender" = '2' THEN 1 ELSE 0 END) AS "女员工数" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p WHERE p."internal_dept" IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name" LIKE '%XX中心%' AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) AND p."dr" = 0 LIMIT 1000; """, "tags": ["员工", "性别", "部门", "人数统计"], "category": "性别分布统计" }, { "question": "XX综合部女员工有多少", "answer": """ SELECT (SELECT COUNT(*) FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p WHERE p."internal_dept" IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name"||"shortname" LIKE '%XX综合部%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) AND p."gender" = '2' AND p."dr" = 0 ) AS "女员工数" """, "tags": ["员工", "性别", "部门", "人数统计"], "category": "性别分布统计" }, { "question": "今年新入职XX部门的员工中,男女各有多少", "answer": """ SELECT SUM(CASE WHEN p."gender" = '1' THEN 1 ELSE 0 END) AS "男员工数", SUM(CASE WHEN p."gender" = '2' THEN 1 ELSE 0 END) AS "女员工数" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p WHERE p."internal_dept" IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name" LIKE '%XX%' AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid") AND p."dr" = 0 AND YEAR (p."input_time") = 2025 LIMIT 1000; """, "tags": ["员工", "性别", "部门", "人数统计"], "category": "性别分布统计" }, { "question": "XX部门博士和硕士分别有多少员工", "answer": """ SELECT COUNT(CASE WHEN p."highest_degree" = '3' THEN 1 END) AS "doctor_count", COUNT(CASE WHEN p."highest_degree" = '2' THEN 1 END) AS "master_count" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id" WHERE p."dr" = 0 AND p."internal_dept" IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH ("name" || "shortname") LIKE '%XX%' AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid") LIMIT 1000 """, "tags": ["员工", "学历", "部门", "人数统计"], "category": "学历分布统计" }, { "question": "XX部门博士多少人", "answer": ''' SELECT COUNT(*) AS "博士人数" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id" WHERE p."internal_dept" IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name"||"shortname" LIKE '%XX%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) AND p."dr" = 0 AND p."highest_degree" = '3' LIMIT 1000 ''', "tags": ["员工", "学历", "部门", "人数统计"], "category": "学历分布统计" }, { "question": "博士分布在哪些部门,各有多少人", "answer": """ SELECT o."name" AS "部门名称", COUNT(*) AS "人数" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id" WHERE p."highest_degree" = '3' AND p."dr" = 0 AND o."dr" = 0 AND o."enable" = 1 AND o."code" LIKE '%CYJ%' GROUP BY o."id", o."name" ORDER BY COUNT(*) DESC LIMIT 1000 """, "tags": ["员工", "学历", "部门", "人数统计"], "category": "学历分布统计" }, { "question": "张三的年龄是多少", "answer": """ SELECT p."name" AS "name", EXTRACT(YEAR FROM CURRENT_DATE) - EXTRACT(YEAR FROM CAST(p."birthday" AS DATE)) AS "age" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p WHERE p."name" = '张三' AND p."dr" = 0 AND p."birthday" IS NOT NULL AND p."birthday" <> '' LIMIT 1; """, "tags": ["员工", "个人", "年龄", "单人员工"], "category": "年龄分析" }, { "question": "查询XX部门的员工平均年龄", "answer": """ SELECT ROUND(AVG(2025 - CAST(SUBSTR(p."birthday", 1, 4) AS INT)), 2) AS "平均年龄" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id" WHERE p."dr" = 0 AND o."id" IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name"||"shortname" LIKE '%XX部%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid") AND p."birthday" IS NOT NULL AND p."birthday" != '' LIMIT 1000; """, "tags": ["员工", "部门", "年龄", "统计分析"], "category": "年龄分析" }, { "question": "XX部门年龄最小的员工是谁,多少岁?", "answer": ''' SELECT p."name" AS "姓名", CAST(p."birthday" AS DATE) AS "出生日期", EXTRACT(YEAR FROM CURRENT_DATE) - EXTRACT(YEAR FROM CAST(p."birthday" AS DATE)) AS "年龄" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p WHERE p."internal_dept" IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name" || "shortname" LIKE '%XX%' AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) AND p."dr" = 0 AND p."birthday" IS NOT NULL AND p."birthday" != '' ORDER BY "年龄" ASC LIMIT 1 ''', "tags": ["员工", "个人", "部门", "年龄", "最值统计分析"], "category": "年龄分析" }, { "question": "XX中心员工年龄段分布图", "answer": ''' SELECT CASE WHEN CAST(SUBSTR("birthday", 1, 4) AS INT) >= 2000 THEN '00后' WHEN CAST(SUBSTR("birthday", 1, 4) AS INT) >= 1990 AND CAST(SUBSTR("birthday", 1, 4) AS INT) < 2000 THEN '90后' WHEN CAST(SUBSTR("birthday", 1, 4) AS INT) >= 1980 AND CAST(SUBSTR("birthday", 1, 4) AS INT) < 1990 THEN '80后' WHEN CAST(SUBSTR("birthday", 1, 4) AS INT) >= 1970 AND CAST(SUBSTR("birthday", 1, 4) AS INT) < 1980 THEN '70后' WHEN CAST(SUBSTR("birthday", 1, 4) AS INT) >= 1960 AND CAST(SUBSTR("birthday", 1, 4) AS INT) < 1970 THEN '60后' ELSE '其他年龄段' END AS "age_group", COUNT(*) AS "person_count" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p WHERE p."dr" = 0 AND p."birthday" IS NOT NULL AND p."birthday" != '' AND p."internal_dept" IN ( SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name" || "shortname" LIKE '%xx中心%' AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) GROUP BY CASE WHEN CAST (SUBSTR("birthday", 1, 4) AS INT) >= 2000 THEN '00后' WHEN CAST (SUBSTR("birthday", 1, 4) AS INT) >= 1990 AND CAST (SUBSTR("birthday", 1, 4) AS INT) < 2000 THEN '90后' WHEN CAST (SUBSTR("birthday", 1, 4) AS INT) >= 1980 AND CAST (SUBSTR("birthday", 1, 4) AS INT) < 1990 THEN '80后' WHEN CAST (SUBSTR("birthday", 1, 4) AS INT) >= 1970 AND CAST (SUBSTR("birthday", 1, 4) AS INT) < 1980 THEN '70后' WHEN CAST (SUBSTR("birthday", 1, 4) AS INT) >= 1960 AND CAST (SUBSTR("birthday", 1, 4) AS INT) < 1970 THEN '60后' ELSE '其他年龄段' END ORDER BY "age_group" ASC LIMIT 1000 ''', "tags": ["员工", "部门", "年龄", "分布统计"], "category": "年龄分析" }, { "question": "查询XX部下面的员工以及他们的年龄", "answer": ''' SELECT p."id" AS "员工ID", p."name" AS "姓名", o."name" AS "所属部门", CAST(SUBSTR(p."birthday", 1, 4) AS INT) AS "出生年份", 2025 - CAST(SUBSTR(p."birthday", 1, 4) AS INT) AS "年龄", CASE WHEN p."gender" = '1' THEN '男' WHEN p."gender" = '2' THEN '女' END AS "性别" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id" WHERE p."dr" = 0 AND o."id" IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name"||"shortname" LIKE '%XX部%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid") AND p."birthday" IS NOT NULL AND p."birthday" != '' ORDER BY o."name" ASC, p."birthday" DESC LIMIT 1000; ''', "tags": ["员工", "部门", "年龄"], "category": "年龄分析" }, { "question": "XX中心的张三九月份在岗天数", "answer": """ WITH dept_ids AS (SELECT id FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH (name LIKE '%XX中心%' OR shortname LIKE '%XX中心%') CONNECT BY PRIOR id = parentid ) SELECT p."code" AS "工号", p."name" AS "姓名", COUNT(CASE WHEN ps."status" = '1001' THEN 1 END) AS "在岗天数" FROM "YJOA_APPSERVICE_DB"."t_yj_person_status" ps JOIN "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p ON ps."person_id" = p."code" WHERE p."name" = '张三' AND ps."date_value" LIKE '2025-09%' AND ps."dr" = 0 AND p."dr" = 0 AND p."internal_dept" IN (SELECT id FROM dept_ids) GROUP BY p."code", p."name" LIMIT 1000; """, "tags": ["员工", "个人", "部门", "考勤", "在岗天数"], "category": "考勤管理" }, { "question": "XX中心今天各个处室在岗人员数量", "answer": ''' SELECT o.name AS "处室名称", COUNT(p.id) AS "人数" FROM YJOA_APPSERVICE_DB.t_pr3rl2oj_yj_person_database p JOIN IUAP_APDOC_BASEDOC.org_orgs o ON p.internal_dept = o.id WHERE p.internal_dept IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name"||"shortname" LIKE '%XX中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) AND p.code IN ( SELECT person_id FROM "YJOA_APPSERVICE_DB"."t_yj_person_status" WHERE status = '1001' AND date_value = TO_CHAR(SYSDATE, 'yyyy-MM-dd') AND dr = 0) AND p.dr = 0 GROUP BY o.name ORDER BY "人数" DESC LIMIT 1000 ''', "tags": ["员工", "部门", "考勤", "在岗人数"], "category": "考勤管理" }, { "question": "XX部门昨天在岗人员数量", "answer": ''' SELECT COUNT(p.id) AS "人数" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p.internal_dept = o.id JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" s ON p.code = s.person_id WHERE o.id IN (SELECT id FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name" || "shortname" LIKE '%XX%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid") AND s.status = '1001' AND s.date_value = TO_CHAR(SYSDATE - 1, 'yyyy-MM-dd') AND s.dr = 0 AND p.dr = 0 LIMIT 1000 ''', "tags": ["员工", "部门", "考勤", "在岗人数"], "category": "考勤管理" }, { "question": "XX中心的李四十月份休息了多少天", "answer": """ SELECT COUNT(*) AS rest_days FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p INNER JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps ON p."code" = ps."person_id" WHERE p."name" = '谭杰明' AND p."internal_dept" IN ( SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH ("name" LIKE '%数信中心%' OR "shortname" LIKE '%数信中心%') AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) AND ps."status" = '1003' AND ps."date_value" LIKE '2025-10%' AND p."dr" = 0 AND ps."dr" = 0 LIMIT 1000 """, "tags": ["员工", "个人", "部门", "考勤", "休息天数"], "category": "考勤管理" }, { "question": "10月XX中心有哪些有员工请假", "answer": ''' SELECT p."id" AS "id", p."code" AS "工号", p."name" AS "姓名", p."internal_unit" AS "内部单位", p."external_unit" AS "外部单位", CASE WHEN ps."status" = '1003' THEN '休假,请假' ELSE ps."status" END AS "状态" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p INNER JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps ON p."code" = ps."person_id" WHERE ps."status" = '1003' AND ps."date_value" LIKE '2025-10%' and p.internal_dept in (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name" || "shortname" LIKE '%XX中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) AND p."dr" = 0 AND ps."dr" = 0 LIMIT 1000 ''', "tags": ["员工", "部门", "考勤", "请假"], "category": "考勤管理" }, { "question": "xx部门9月有多少个人迟到", "answer": ''' SELECT p."id" AS "id", p."code" AS "工号", p."name" AS "姓名", p."internal_unit" AS "内部单位", p."external_unit" AS "外部单位", CASE WHEN ps."status" = '1003' THEN '休假,请假' ELSE ps."status" END AS "状态" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p INNER JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps ON p."code" = ps."person_id" WHERE ps."status" = '1003' AND ps."date_value" LIKE '2025-10%' and p.internal_dept in (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name" || "shortname" LIKE '%xx部门%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) AND p."dr" = 0 AND ps."dr" = 0 LIMIT 1000 ''', "tags": ["员工", "部门", "考勤", "迟到"], "category": "考勤管理" }, { "question": "9月有哪些员工在休假", "answer": ''' SELECT DISTINCT p."id" AS "id", p."code" AS "工号", p."name" AS "姓名", p."internal_unit" AS "内部单位", p."external_unit" AS "外部单位" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p INNER JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps ON p."code" = ps."person_id" WHERE ps."status" = '1003' AND ps."date_value" LIKE '2025-09%' LIMIT 1000 ''', "tags": ["员工", "考勤", "休假"], "category": "考勤管理" }, { "question": "张三 8月的考勤查询", "answer": ''' SELECT DISTINCT p."code" AS "工号", p."name" AS "姓名", p."internal_unit" AS "内部单位", p."external_unit" AS "外部单位", CASE WHEN ps."status" = '1001' THEN '在岗' WHEN ps."status" = '1002' THEN '出差' WHEN ps."status" = '1003' THEN '休假,请假' WHEN ps."status" = '1005' THEN '旷工' WHEN ps."status" = '1006' THEN '迟到,早退' WHEN ps."status" = '1007' THEN '休息日' WHEN ps."status" = '4001' THEN 'am在岗pm缺勤' WHEN ps."status" = '4002' THEN 'am缺勤pm在岗' WHEN ps."status" = '6001' THEN 'am在岗pm早退' WHEN ps."status" = '6002' THEN 'am迟到pm在岗' WHEN ps."status" = '6004' THEN 'am迟到pm缺勤' WHEN ps."status" = '4006' THEN 'am缺勤pm早退' END AS "人员状态", ps."date_value" AS "日期" FROM "YJOA_APPSERVICE_DB"."t_yj_person_status" ps JOIN "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p ON ps."person_id" = p."code" WHERE p."name" = '张三' AND ps."date_value" LIKE '2025-08%' AND ps."dr" = 0 ORDER BY ps."date_value" DESC LIMIT 1000 ''', "tags": ["员工", "考勤", "个人"], "category": "考勤管理" }, { "question": "张三今天早上9点半之前,有打卡记录吗", "answer": ''' SELECT a."person_name" AS "姓名", a."attendance_time" AS "考勤时间", a."attendance_address" AS "考勤地址", CASE WHEN a."status" = 1 THEN '在岗' WHEN a."status" = 2 THEN '出差' WHEN a."status" = 3 THEN '休假' END AS "状态", CASE WHEN a."enter_or_exit" = 1 THEN '进' WHEN a."enter_or_exit" = 2 THEN '出' END AS "进出类型" FROM "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a WHERE a."person_name" = '张三' AND a."attendance_time" >= '2025-10-16 00:00:00' AND a."attendance_time" < '2025-10-16 09:30:00' AND a."dr" = 0 ORDER BY a."attendance_time" DESC LIMIT 1000 ''', "tags": ["员工", "考勤", "打卡记录", "个人", "时间段", "明细查询"], "category": "考勤管理" }, { "question": "XX中心员工最近三天谁天天迟到", "answer": ''' SELECT p."id" AS "id", p."code" AS "code", p."name" AS "name", o."name" AS "department_name" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p INNER JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps ON p."code" = ps."person_id" INNER JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id" WHERE ps."date_value" IN ('2025-10-20', '2025-10-21', '2025-10-22') AND ps."status" = '1006' AND p."dr" = 0 AND ps."dr" = 0 AND o."dr" = 0 AND o."enable" = 1 AND o."code" LIKE '%CYJ%' AND o."id" IN (SELECT id FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH ("name" LIKE '%XX中心%' OR "shortname" LIKE '%XX中心%') AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) GROUP BY p."id", p."code", p."name", o."name" HAVING COUNT (*) = 3 LIMIT 1000 ''', "tags": ["员工", "考勤", "部门", "天数", "迟到"], "category": "考勤管理" }, { "question": "XX中心员工本周迟到两次及以上的人", "answer": ''' SELECT p."id" AS "id", p."code" AS "工号", p."name" AS "姓名", o."name" AS "部门", COUNT(ps."id") AS "迟到次数" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p INNER JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps ON p."code" = ps."person_id" INNER JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id" WHERE p."internal_dept" IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH ("name" LIKE '%XX中心%' OR "shortname" LIKE '%XX中心%') AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) AND ps."status" = '1006' AND ps."date_value" BETWEEN '2025-10-16' AND '2025-10-22' AND p."dr" = 0 AND ps."dr" = 0 GROUP BY p."id", p."code", p."name", o."name" HAVING COUNT (ps."id") >= 2 ORDER BY COUNT (ps."id") DESC LIMIT 1000 ''', "tags": ["员工", "考勤", "部门", "天数", "迟到", "次数统计"], "category": "考勤管理" }, { "question": "来自联通的有多少员工", "answer": """ SELECT "id" AS "id", "code" AS "工号", "name" AS "姓名", "external_unit" AS "外部单位" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" WHERE "external_unit" LIKE '%联通%' LIMIT 1000 """, "tags": ["员工", "外部单位", "统计查询"], "category": "外部单位统计" }, { "question": "各个外部单位下的员工人数统计", "answer": """ SELECT "external_unit" AS "外部单位", COUNT(*) AS "员工人数" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" WHERE "external_unit" IS NOT NULL AND "external_unit" != '' GROUP BY "external_unit" ORDER BY "员工人数" DESC LIMIT 1000 """, "tags": ["员工", "外部单位", "人数统计"], "category": "外部单位统计" }, { "question": "XX中心员工在林芝工作的天数", "answer": ''' SELECT p."code" AS "工号", p."name" AS "姓名", COUNT(DISTINCT TO_CHAR(a."attendance_time", 'yyyy-MM-dd')) AS "在林芝工作天数" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a ON p."code" = a."person_id" LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_ac_area" ac ON a."access_control_point" = ac."ac_point" WHERE p."dr" = 0 AND a."dr" = 0 AND ac."region" = 5 AND a."attendance_time" >= '2025-09-01' AND a."attendance_time" < '2025-10-01' AND p."internal_dept" IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH ("name" LIKE '%xx中心%' OR "shortname" LIKE '%xx中心%') AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) GROUP BY p."code", p."name" ORDER BY "在林芝工作天数" DESC LIMIT 1000; ''', "tags": ["员工", "部门", "考勤", "工作地", "区域", "工作天数统计"], "category": "工作地考勤统计分析" }, { "question": "查询张三9月在林芝的打卡记录", "answer": ''' SELECT a."person_name" AS "姓名", a."person_id" AS "人员ID", a."attendance_time" AS "考勤时间", a."attendance_address" AS "考勤地址", CASE WHEN a."status" = 1 THEN '在岗' WHEN a."status" = 2 THEN '出差' WHEN a."status" = 3 THEN '休假' END AS "状态", CASE WHEN a."enter_or_exit" = 0 THEN '进' WHEN a."enter_or_exit" = 1 THEN '出' END AS "进出类型", CASE WHEN b."region" = 1 THEN '北京' WHEN b."region" = 2 THEN '成都' WHEN b."region" = 3 THEN '秭归' WHEN b."region" = 4 THEN '拉萨' WHEN b."region" = 5 THEN '林芝' END AS "地区", b."ac_point" AS "门禁点" FROM "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a JOIN "YJOA_APPSERVICE_DB"."t_yj_person_ac_area" b ON a."access_control_point" = b."ac_point" WHERE a."person_name" = '张三' AND b."region" = 5 AND a."attendance_time" >= '2025-09-01' AND a."attendance_time" < '2025-10-01' AND a."dr" = 0 ORDER BY a."attendance_time" DESC LIMIT 1000 ''', "tags": ["员工", "个人", "考勤", "工作地", "区域", "打卡统计"], "category": "工作地考勤统计分析" }, { "question": "张三9月在林芝工作有多少天", "answer": ''' SELECT count(distinct (TO_CHAR(a."attendance_time", 'yyyy-MM-dd'))) as count FROM "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_ac_area" b ON a."access_control_point" = b."ac_point" WHERE a."person_name" = '张三' and b.region=5 AND a."attendance_time" >= '2025-09-01' AND a."attendance_time" < '2025-10-01' AND a."dr" = 0 LIMIT 1000 ''', "tags": ["员工", "个人", "考勤", "工作地", "区域", "工作天数"], "category": "工作地考勤统计分析" }, { "question": "张三在藏多少天了", "answer": ''' SELECT COUNT(DISTINCT TO_CHAR(a.attendance_time, 'yyyy-MM-dd')) AS days_in_tibet FROM YJOA_APPSERVICE_DB.t_yj_person_attendance a LEFT JOIN YJOA_APPSERVICE_DB.t_yj_person_ac_area b ON a.access_control_point = b.ac_point WHERE a.person_name = '张三' AND b.region IN (4, 5, 6, 7, 8) AND a.dr = 0 AND a.attendance_time >= '2025-01-01' AND a.attendance_time < '2025-10-24' LIMIT 1000 ''', "tags": ["员工", "个人", "考勤", "工作地", "区域", "工作天数"], "category": "工作地考勤统计分析" }, { "question": "张三最早在藏是哪一天", "answer": ''' SELECT TO_CHAR(a.attendance_time, 'yyyy-MM-dd') AS earliest_date FROM YJOA_APPSERVICE_DB.t_yj_person_attendance a JOIN YJOA_APPSERVICE_DB.t_yj_person_ac_area b ON a.access_control_point = b.ac_point WHERE a.person_name = '张三' AND b.region IN (4, 5, 6, 7, 8) AND a.dr = 0 ORDER BY a.attendance_time ASC LIMIT 1 ''', "tags": ["员工", "个人", "考勤", "工作地", "区域", "最早在藏时间"], "category": "工作地考勤统计分析" }, { "question": "张三从5月到10月每个月分别在藏多长时间", "answer": ''' SELECT TO_CHAR(a.attendance_time, 'yyyy-MM') AS month, COUNT(DISTINCT TO_CHAR(a.attendance_time, 'yyyy-MM-dd')) AS tibet_days FROM YJOA_APPSERVICE_DB.t_yj_person_attendance a LEFT JOIN YJOA_APPSERVICE_DB.t_yj_person_ac_area ac ON a.access_control_point = ac.ac_point WHERE a.person_name = '张三' AND a.dr = 0 AND ac.region IN (4 , 5) AND a.attendance_time >= '2025-05-01' AND a.attendance_time < '2025-11-01' GROUP BY TO_CHAR(a.attendance_time, 'yyyy-MM') ORDER BY TO_CHAR(a.attendance_time, 'yyyy-MM') ASC LIMIT 1000 ''', "tags": ["员工", "个人", "考勤", "工作地", "区域", "每月在藏天数"], "category": "工作地考勤统计分析" }, { "question": "XX中心在林芝最长时间的是谁,待了多少天", "answer": ''' SELECT p."code" AS "工号", p."name" AS "姓名", COUNT(DISTINCT TO_CHAR(a."attendance_time", 'yyyy-MM-dd')) AS "在林芝工作天数" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a ON p."code" = a."person_id" LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_ac_area" ac ON a."access_control_point" = ac."ac_point" WHERE p."dr" = 0 AND a."dr" = 0 AND ac."region" = 5 AND p."internal_dept" IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH ("name" LIKE '%xx中心%' OR "shortname" LIKE '%xx中心%') AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) GROUP BY p."code", p."name" ORDER BY "在林芝工作天数" DESC LIMIT 1; ''', "tags": ["员工", "个人", "考勤", "工作地", "区域", "天数", "最值"], "category": "工作地考勤统计分析" }, { "question": "XX中心的员工九月在林芝工作的天数排名", "answer": ''' SELECT p."code" AS "工号", p."name" AS "姓名", COUNT(DISTINCT TO_CHAR(a."attendance_time", 'yyyy-MM-dd')) AS "在林芝工作天数" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_attendance" a ON p."code" = a."person_id" LEFT JOIN "YJOA_APPSERVICE_DB"."t_yj_person_ac_area" ac ON a."access_control_point" = ac."ac_point" WHERE p."dr" = 0 AND a."dr" = 0 AND ac."region" = 5 AND p."internal_dept" IN (SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH ("name" LIKE '%XX中心%' OR "shortname" LIKE '%XX中心%') AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) AND TO_CHAR(a."attendance_time" , 'yyyy-MM') = '2025-09' GROUP BY p."code", p."name" ORDER BY "在林芝工作天数" DESC LIMIT 1000; ''', "tags": ["员工", "个人", "考勤", "工作地", "区域", "天数", "排名"], "category": "工作地考勤统计分析" }, { "question": "张三10月份是否有迟到", "answer": ''' SELECT CASE WHEN COUNT(*) > 0 THEN '是' ELSE '否' END AS "是否迟到" FROM "YJOA_APPSERVICE_DB"."t_yj_person_status" ps JOIN "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p ON ps."person_id" = p."code" WHERE p."name" = '张三' AND ps."status" = '1006' AND ps."date_value" LIKE '2025-10%' AND ps."dr" = 0 AND p."dr" = 0 ''', "tags": ["员工", "个人", "考勤"], "category": "考勤" } ]