From 2bf7d411c588232403f212d2ef7cf320bc2d1497 Mon Sep 17 00:00:00 2001 From: yujj128 Date: Sat, 1 Nov 2025 16:59:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=9C=A8=E8=97=8F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- util/q_and_a_test1.py | 68 +++++++++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 32 deletions(-) diff --git a/util/q_and_a_test1.py b/util/q_and_a_test1.py index c1604f5..a2b766a 100644 --- a/util/q_and_a_test1.py +++ b/util/q_and_a_test1.py @@ -814,17 +814,21 @@ question_and_answer = [ "category": "工作地考勤统计分析" }, { - "question": "张三在藏多少天了", + "question": "XX中心的张三在藏多少天了", "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 + SELECT COUNT(*) AS days_in_tibet + FROM YJOA_APPSERVICE_DB."t_yj_person_status" a + LEFT JOIN "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p + ON p."code" = a."person_id" + WHERE p."name" = '张三' + 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 a.dr = 0 + AND a."is_in_tibet" = 1 + LIMIT 1000 ''', "tags": ["员工", "个人", "考勤", "工作地", "区域", "工作天数"], "category": "工作地考勤统计分析" @@ -832,14 +836,15 @@ question_and_answer = [ { "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 + SELECT date_value AS earliest_date + FROM YJOA_APPSERVICE_DB."t_yj_person_status" a + LEFT JOIN "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p + ON p."code" = a."person_id" + WHERE p."name" = '古翔宇' + AND a."dr" = 0 + AND p."dr" =0 + AND a."is_in_tibet" = 1 + ORDER BY a."date_value" ASC LIMIT 1 ''', "tags": ["员工", "个人", "考勤", "工作地", "区域", "最早在藏时间"], "category": "工作地考勤统计分析" @@ -847,20 +852,19 @@ question_and_answer = [ { "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 + SELECT TO_CHAR(a."date_value" , 'yyyy-MM') AS month, COUNT(DISTINCT TO_CHAR(a."date_value" , 'yyyy-MM-dd')) AS tibet_days + FROM YJOA_APPSERVICE_DB."t_yj_person_status" a + LEFT JOIN "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p + ON p."code" = a."person_id" + WHERE p."name" = '张三' + AND a."dr" = 0 + AND p."dr" = 0 + AND a."date_value" >= '2025-05-01' + AND a."date_value" < '2025-11-01' + AND a."is_in_tibet" = 1 + GROUP BY TO_CHAR(a."date_value", 'yyyy-MM') + ORDER BY TO_CHAR(a."date_value", 'yyyy-MM') ASC + LIMIT 1000 ''', "tags": ["员工", "个人", "考勤", "工作地", "区域", "每月在藏天数"], "category": "工作地考勤统计分析"