diff --git a/template.yaml b/template.yaml index 75fdb07..45fe90b 100644 --- a/template.yaml +++ b/template.yaml @@ -78,6 +78,7 @@ template: 若用户未指定数据条数,**查询SQL必须包含1000条的限制**。若用户指定的限制大于1000,也按1000处理。 - PostgreSQL: ... LIMIT 1000 + 涉及查询最大,最多,最小,最少等查询是,添加,limit 1 --- --- C. 图表与业务理解规则 @@ -193,7 +194,7 @@ template: {question} - 注意查询结果枚举值转换 + 注意查询结果枚举值转换.返回json结果中,sql不要转义 chart: diff --git a/util/q_and_a_dict.py b/util/q_and_a_dict.py index 50c9393..878f270 100644 --- a/util/q_and_a_dict.py +++ b/util/q_and_a_dict.py @@ -112,19 +112,7 @@ question_and_answer = [ ''' }, - { - "question": "负责智能体相关工作的是哪些员工", - "answer": ''' - SELECT "id" AS "id", - "code" AS "工号", - "name" AS "姓名", - "internal_unit" AS "内部单位", - "external_unit" AS "外部单位", - "work_content" AS "工作内容" - FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" - WHERE "work_content" LIKE '%智能体%' LIMIT 1000 - ''' - }, { + { "question": "在研发基地工作的有哪些员工", "answer": ''' SELECT "id" AS "id", @@ -219,18 +207,18 @@ question_and_answer = [ { "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 + 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月在林芝工作有多少天", @@ -250,23 +238,23 @@ question_and_answer = [ { "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 "状态" + 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 + 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 + AND p."dr" = 0 + AND ps."dr" = 0 LIMIT 1000 ''' }, { @@ -281,20 +269,23 @@ question_and_answer = [ { "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 "dr" = 0 - AND "birthday" IS NOT NULL - AND "birthday" != '' + 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 "dr" = 0 + AND "birthday" IS NOT NULL + AND "birthday" != '' AND internal_dept IN ( SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" @@ -306,18 +297,18 @@ question_and_answer = [ FROM "IUAP_APDOC_BASEDOC"."org_orgs" WHERE name || shortname LIKE '%XX中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%') ) - 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 + 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", @@ -358,195 +349,240 @@ question_and_answer = [ { "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; + 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 (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 "女员工数" - ''' + 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 "女员工数" + ''' }, { "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) + 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 + 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 + 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; + 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 + 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": "张三今天早上9点半之前,今天早上0点之后,有打卡记录吗", "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 - ''' + 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 + ''' }, { "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; - ''' + 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 + 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 + 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 - ''' - }, + 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 + ''' + } ]