938 lines
		
	
	
		
			50 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			938 lines
		
	
	
		
			50 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 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": "考勤"
 | ||
|     }
 | ||
| 
 | ||
| ]
 | ||
| 
 | 
