diff --git a/util/q_and_a_dict.py b/util/q_and_a_dict.py index c868ef3..73cb6c9 100644 --- a/util/q_and_a_dict.py +++ b/util/q_and_a_dict.py @@ -214,13 +214,18 @@ question_and_answer = [ { "question": "数信中心下各个处室分别有多少人", "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 o.parentid IN (SELECT id FROM IUAP_APDOC_BASEDOC.org_orgs WHERE name LIKE '%数信中心%') + 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" LIKE '%数信中心%' + CONNECT BY PRIOR "id" = "parentid" + ) AND p.dr = 0 - GROUP BY o.name - ORDER BY "人数" DESC LIMIT 1000 + GROUP BY o.name + ORDER BY "人数" DESC + LIMIT 1000 ''' }, { "question": "张三9月在林芝工作有多少天", @@ -267,11 +272,9 @@ question_and_answer = [ WHERE ps."status" = '1006' AND ps."date_value" LIKE '2025-09%' LIMIT 1000 ''' - } - }, { - "question": "数信中心员工年龄段分布图", + "question": "员工年龄段分布图", "answer": ''' SELECT CASE @@ -293,7 +296,6 @@ question_and_answer = [ WHERE "parentid" IN ( SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs" - WHERE "name" LIKE '数信中心' ) ) GROUP BY @@ -308,4 +310,5 @@ question_and_answer = [ ORDER BY "age_group" ASC LIMIT 1000 ''' }, + ] diff --git a/util/train_ddl.py b/util/train_ddl.py index ea221e1..cbbf3c4 100644 --- a/util/train_ddl.py +++ b/util/train_ddl.py @@ -3,9 +3,9 @@ train_document=''' 查询地址,籍贯,公司,单位时,尽量使用like查询; 查询人员信息时,由于数据表字段过多。只需要展示人员关键信息字段,id,工号,姓名,单位以及用户问题中需要查询的字段; 表字段信息以及字段枚举信息在values下,注意相关字段枚举值的转换; - 查询单位时,通过orgs表查询,且需要基于parentID查询单位下的子单位; - 查询内部单位时,则可以直接查询人员信息表,通过like模糊查询; - + 查询单位时,通过orgs表查询,且需要基于parentID查询递归查询单位下的子单位; + 查询内部单位时,则可以直接查询人员信息表,通过like模糊查询; + 没有明确说明查询外部单位,都默认查询通过orgs查询单位; ''' person_database_ddl = """ @@ -480,15 +480,7 @@ person_database_ddl = """ """ -train_document=''' - 语法为达梦数据库语法; - 查询地址,籍贯,公司,单位时,尽量使用like查询; - 查询人员信息时,由于数据表字段过多。只需要展示人员关键信息字段,id,工号,姓名,单位以及用户问题中需要查询的字段; - 表字段信息以及字段枚举信息在values下,注意相关字段枚举值的转换; - 查询单位时,通过orgs表查询,且需要基于parentID查询递归查询单位下的子单位; - 查询内部单位时,则可以直接查询人员信息表,通过like模糊查询; - 没有明确说明查询外部单位,都默认查询通过orgs查询单位; - ''' + person_attendance_rule_ddl=''' {