519 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			519 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
question_and_answer = [
 | 
						||
 | 
						||
 | 
						||
 | 
						||
    {
 | 
						||
        "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
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
 | 
						||
    {
 | 
						||
        "question": "博士和硕士分别有哪些员工",
 | 
						||
        "answer": '''
 | 
						||
                  SELECT DISTINCT "name"                                        AS "姓名",
 | 
						||
                                  "code"                                        AS "工号",
 | 
						||
                                  "internal_unit"                               AS "内部单位",
 | 
						||
                                  "external_unit"                               AS "外部单位",
 | 
						||
                                  CASE
 | 
						||
                                      WHEN "highest_degree" = '1' THEN '学士学位'
 | 
						||
                                      WHEN "highest_degree" = '2' THEN '硕士学位'
 | 
						||
                                      WHEN "highest_degree" = '3' THEN '博士学位'
 | 
						||
                                      WHEN "highest_degree" = '4' THEN '无' END AS "最高学位"
 | 
						||
                  FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database"
 | 
						||
                  WHERE "highest_degree" IN ('2', '3')
 | 
						||
                    AND "dr" = '0'
 | 
						||
                  ORDER BY "最高学位", "姓名" LIMIT 1000
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "question": "8月份在藏,超过10天的有哪些员工",
 | 
						||
        "answer": '''
 | 
						||
                  SELECT DISTINCT p."code"                       AS "工号",
 | 
						||
                                  p."name"                       AS "姓名",
 | 
						||
                                  CASE
 | 
						||
                                      WHEN p."internal_unit" IS NOT NULL AND p."internal_unit" != '' THEN p."internal_unit"
 | 
						||
                                      ELSE p."external_unit" END AS "单位",
 | 
						||
                                  COUNT(ps."id")                 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 ps."is_in_tibet" = 1
 | 
						||
                    AND ps."dr" = 0
 | 
						||
                    AND p."dr" = 0
 | 
						||
                    AND ps."date_value" LIKE '2025-08%'
 | 
						||
                  GROUP BY p."code", p."name",
 | 
						||
                           CASE
 | 
						||
                               WHEN p."internal_unit" IS NOT NULL AND p."internal_unit" != '' THEN p."internal_unit"
 | 
						||
                               ELSE p."external_unit" END
 | 
						||
                  HAVING COUNT(ps."id") > 10
 | 
						||
                  ORDER BY COUNT(ps."id") DESC LIMIT 1000
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "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
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
 | 
						||
    {
 | 
						||
        "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
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "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 "地区", 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
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "question": "查询张三9月份有多少天在岗",
 | 
						||
        "answer": '''
 | 
						||
                  SELECT p."code"                                         AS "工号",
 | 
						||
                         p."name"                                         AS "姓名",
 | 
						||
                         CASE
 | 
						||
                             WHEN p."internal_unit" IS NOT NULL AND p."internal_unit" != '' THEN p."internal_unit"
 | 
						||
                             ELSE p."external_unit"
 | 
						||
                             END                                          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
 | 
						||
                  GROUP BY p."code", p."name",
 | 
						||
                           CASE
 | 
						||
                               WHEN p."internal_unit" IS NOT NULL AND p."internal_unit" != '' THEN p."internal_unit"
 | 
						||
                               ELSE p."external_unit"
 | 
						||
                               END LIMIT 1000
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "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"
 | 
						||
                      )
 | 
						||
 | 
						||
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "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
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "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
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "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
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "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
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "question": "有多少个人迟到,9月",
 | 
						||
        "answer": '''
 | 
						||
                  SELECT COUNT(DISTINCT ps."person_id") AS "迟到人数"
 | 
						||
                  FROM "YJOA_APPSERVICE_DB"."t_yj_person_status" ps
 | 
						||
                  WHERE ps."status" IN ('1006','1009','6002','6004')
 | 
						||
                    AND ps."date_value" LIKE '2025-09%' LIMIT 1000
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "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 '%数信中心%' 
 | 
						||
	              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
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "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;
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "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;
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "question": "XX部有几个人,男员工,女员工分别有多少",
 | 
						||
        "answer": '''
 | 
						||
                  SELECT COUNT(*)                                          AS "总人数",
 | 
						||
                         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;
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
 | 
						||
    {
 | 
						||
        "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.id 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
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "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
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "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;
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "question": "XX中心在藏最长时间的人是谁,待了多少天了",
 | 
						||
        "answer": '''
 | 
						||
                  SELECT p."name" AS "姓名", COUNT(ps."id") 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 ps."is_in_tibet" = 1
 | 
						||
                    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 ps."dr" = 0
 | 
						||
                         AND p."dr" = 0
 | 
						||
                  GROUP BY p."name"
 | 
						||
                  ORDER BY "在藏天数" DESC
 | 
						||
                      LIMIT 1
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
 | 
						||
    {
 | 
						||
        "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;
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "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
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "question": "有多少人外部单位是XX公司的",
 | 
						||
        "answer": '''
 | 
						||
                  SELECT "external_unit" AS "外部单位", COUNT(*) AS "人数"
 | 
						||
                  FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database"
 | 
						||
                  WHERE "external_unit" LIKE '%XX%'
 | 
						||
                    AND "dr" = 0
 | 
						||
                  GROUP BY "external_unit" LIMIT 1000
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "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
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "question": "XX中心在藏最长时间的人是谁",
 | 
						||
        "answer": '''
 | 
						||
                  SELECT p."name" AS "姓名", p."code" AS "工号", COUNT(ps."id") 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 ps."is_in_tibet" = 1
 | 
						||
                    AND ps."dr" = 0
 | 
						||
                    AND 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"
 | 
						||
                      )
 | 
						||
                  GROUP BY p."name", p."code"
 | 
						||
                  ORDER BY COUNT (ps."id") DESC LIMIT 1
 | 
						||
                  '''
 | 
						||
    },
 | 
						||
    {
 | 
						||
        "question": "XX中心员工在林芝工作的天数",
 | 
						||
        "answer": '''
 | 
						||
                  SELECT DISTINCT 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"||"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
 | 
						||
                  '''
 | 
						||
    }
 | 
						||
 | 
						||
]
 |