diff --git a/main_service.py b/main_service.py index 309d8dc..d184e86 100644 --- a/main_service.py +++ b/main_service.py @@ -1,6 +1,8 @@ import copy import logging from functools import wraps +import util.utils +from logging_config import LOGGING_CONFIG from service.cus_vanna_srevice import CustomVanna, QdrantClient, TTLCacheWrapper from decouple import config import flask diff --git a/util/q_and_a_dict.py b/util/q_and_a_dict.py index 73cb6c9..0fcfe96 100644 --- a/util/q_and_a_dict.py +++ b/util/q_and_a_dict.py @@ -1,13 +1,18 @@ question_and_answer = [ - {"question": "所有员工男女各有多少人", + {"question": "综合处有多少员工,男女员工分别有多少", "answer": ''' - SELECT CASE WHEN "gender" = '1' THEN '男' WHEN "gender" = '2' THEN '女' END AS "gender", - COUNT(*) AS "person_count" - FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" - WHERE "dr" = 0 - GROUP BY "gender" - ORDER BY "gender" ASC LIMIT 1000 + 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" LIKE '%综合处%' + CONNECT BY PRIOR "id" = "parentid" + ) + AND p.dr = 0 + LIMIT 1000; ''' }, { @@ -187,7 +192,7 @@ question_and_answer = [ END LIMIT 1000 ''' }, { - "question": "数信中心 部门下有多少员工", + "question": "数信中心下有多少员工", "answer": ''' select count(*) from YJOA_APPSERVICE_DB.t_pr3rl2oj_yj_person_database @@ -309,6 +314,42 @@ question_and_answer = [ END ORDER BY "age_group" ASC LIMIT 1000 ''' - }, + },{ + "question": "查询综合处下面的员工以及他们的年龄", + "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" LIKE '%综合处%' + 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": "查询综合处下面的员工的平均年龄", + "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" LIKE '%综合处%' + CONNECT BY PRIOR "id" = "parentid") + AND p."birthday" IS NOT NULL + AND p."birthday" != '' + LIMIT 1000; + ''' + } ]