Compare commits
	
		
			3 Commits
		
	
	
		
			c40e36a2ba
			...
			3b49ce3025
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 3b49ce3025 | ||
|   | cde7561951 | ||
|   | a02f637994 | 
| @@ -53,6 +53,7 @@ template: | ||||
|           <rule-detail>若数据库引擎是 MySQL, Doris,则表名、字段名、别名使用反引号,如 `table_name`。</rule-detail> | ||||
|           <rule-detail>生成的SQL必须避免与数据库关键字冲突。</rule-detail> | ||||
|           <rule-detail>注意列名定义和使用的先后顺序,例如:SELECT阶段定义了列名,如果GROUP BY阶段先与SELECT阶段执行时,是不许在GROUP BY阶段引用列名的。</rule-detail> | ||||
|           <rule-detail>在ORDER BY、GROUP BY、WHERE子句中不要使用SELECT中定义的别名</rule-detail> | ||||
|         </rule> | ||||
|         <rule> | ||||
|           <rule-title>数据查询与排序</rule-title> | ||||
| @@ -180,8 +181,12 @@ template: | ||||
|               <description>这些都可能是外部单位的名称</description> | ||||
|             </terminology> | ||||
|             <terminology> | ||||
|               <words><word>数信中心</word><word>建设处</word><word>规划发展部</word></words> | ||||
|               <description>这些都可能是单位的名称</description> | ||||
|               <words><word>数信中心</word><word>建设处</word><word>规划发展部</word><word>综合处</word></words> | ||||
|               <description>这些都可能是单位的名称,属于内部部门</description> | ||||
|             </terminology> | ||||
|             <terminology> | ||||
|               <words><word>external_unit</word><word>external_dept</word></words> | ||||
|               <description>这些直接是外部单位和外部部门的字段,值是名称,非编号</description> | ||||
|             </terminology> | ||||
|           </terminologies> | ||||
|         <!-- [RAG 集成区] --> | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| from service.cus_vanna_srevice import CustomVanna | ||||
| from util import train_ddl | ||||
| from  util import q_and_a_dict,q_a_next | ||||
| from  util import q_and_a_dict,q_and_a_test1,q_a_next | ||||
|  | ||||
| import random | ||||
| table_ddls = [ | ||||
|     train_ddl.person_database_ddl,train_ddl.person_status_ddl, | ||||
| @@ -22,9 +23,15 @@ def add_documentation(vn: CustomVanna): | ||||
|     for doc in list_documentions: | ||||
|         vn.add_documentation(doc) | ||||
|     dd=[] | ||||
|     dd.extend(q_and_a_dict.question_and_answer) | ||||
|     ##dd.extend(q_a_next.org_and_attend_q_a) | ||||
|     dd.extend(q_and_a_test1.question_and_answer) | ||||
|     dd.extend(q_a_next.org_and_attend_q_a) | ||||
|     random.shuffle(dd) | ||||
|     for d in dd: | ||||
|         vn.add_question_sql(question=d['question'], sql=d['answer']) | ||||
|     # for d in dd: | ||||
|     #     vn.add_question_sql(question=d['question'], sql=d['answer']) | ||||
|     for d in q_and_a_test1.question_and_answer: | ||||
|         vn.add_question_sql( | ||||
|             question=f"{d['question']} [分类:{d['category']}] [标签:{','.join(d['tags'])}]", | ||||
|             sql=d['answer'] | ||||
|         ) | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -20,7 +20,9 @@ org_and_attend_q_a = [ | ||||
|                   CONNECT BY PRIOR "id" = "parentid") | ||||
|                   GROUP BY p."code", p."name" | ||||
|                   ORDER BY "在林芝工作天数" DESC LIMIT 1000 | ||||
|                   ''' | ||||
|                   ''', | ||||
|         "tags": ["员工", "部门","考勤", "工作地", "区域", "天数"], | ||||
|         "category": "工作地考勤统计分析" | ||||
|     }, { | ||||
|         "question": "xx中心10月有哪些人迟到/早退", | ||||
|         "answer": ''' | ||||
| @@ -39,7 +41,9 @@ org_and_attend_q_a = [ | ||||
|                   WITH "name" || "shortname" LIKE '%xx中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' | ||||
|                   CONNECT BY PRIOR "id" = "parentid") | ||||
|                   ORDER BY ps."date_value" DESC LIMIT 1000 | ||||
|                   ''' | ||||
|                   ''', | ||||
|         "tags": ["员工","部门", "考勤", "迟到","早退"], | ||||
|         "category": "考勤管理" | ||||
|     }, | ||||
|     { | ||||
|         "question": "xx中心10月有哪些人出差", | ||||
| @@ -59,7 +63,9 @@ org_and_attend_q_a = [ | ||||
|                   WITH "name" || "shortname" LIKE '%xx中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' | ||||
|                   CONNECT BY PRIOR "id" = "parentid") | ||||
|                   ORDER BY ps."date_value" DESC LIMIT 1000 | ||||
|                   ''' | ||||
|                   ''', | ||||
|         "tags": ["员工", "部门", "考勤", "出差"], | ||||
|         "category": "考勤管理" | ||||
|     }, | ||||
|     { | ||||
|         "question": "xx中心10月有哪些人旷工", | ||||
| @@ -79,7 +85,9 @@ org_and_attend_q_a = [ | ||||
|                   WITH "name" || "shortname" LIKE '%xx中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' | ||||
|                   CONNECT BY PRIOR "id" = "parentid") | ||||
|                   ORDER BY ps."date_value" DESC LIMIT 1000 | ||||
|                   ''' | ||||
|                   ''', | ||||
|         "tags": ["员工", "部门", "考勤", "矿工"], | ||||
|         "category": "考勤管理" | ||||
|     }, | ||||
|     { | ||||
|         "question": "xx中心10月有哪些人请假", | ||||
| @@ -99,7 +107,9 @@ org_and_attend_q_a = [ | ||||
|                   WITH "name" || "shortname" LIKE '%xx中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' | ||||
|                   CONNECT BY PRIOR "id" = "parentid") | ||||
|                   ORDER BY ps."date_value" DESC LIMIT 1000 | ||||
|                   ''' | ||||
|                   ''', | ||||
|         "tags": ["员工", "部门", "考勤", "请假"], | ||||
|         "category": "考勤管理" | ||||
|     }, | ||||
|     { | ||||
|         "question": "xx中心,9月迟到次数多前三是哪几个员工", | ||||
| @@ -120,7 +130,9 @@ org_and_attend_q_a = [ | ||||
|                   CONNECT BY PRIOR id = parentid) | ||||
|                   GROUP BY p.name, p.code, o.name | ||||
|                   ORDER BY "late_count" DESC LIMIT 3 | ||||
|                   ''' | ||||
|                   ''', | ||||
|         "tags": ["员工", "部门", "考勤", "迟到","次数","排行"], | ||||
|         "category": "考勤管理" | ||||
|     }, { | ||||
|         "question": "xx中心员工10月打卡记录查询", | ||||
|         "answer": ''' | ||||
| @@ -152,7 +164,9 @@ org_and_attend_q_a = [ | ||||
|                          AND o2."enable" = 1 | ||||
|                   CONNECT BY PRIOR o2."id" = o2."parentid") | ||||
|                   ORDER BY a."attendance_time" DESC LIMIT 1000 | ||||
|                   ''' | ||||
|                   ''', | ||||
|         "tags": ["员工", "部门","考勤", "打卡记录", "明细查询"], | ||||
|         "category": "考勤管理" | ||||
|     }, { | ||||
|         "question": "xx中心员工10月考勤查询", | ||||
|         "answer": ''' | ||||
| @@ -181,7 +195,9 @@ org_and_attend_q_a = [ | ||||
|                   WITH ("name" LIKE '%xx中心%' OR "shortname" LIKE '%xx中心%') AND "enable" = 1 AND "dr" = 0 AND "code" LIKE '%CYJ%' | ||||
|                   CONNECT BY PRIOR "id" = "parentid") AND ps."date_value" LIKE '2025-10%' AND ps."dr" = 0 AND p."dr" = 0 | ||||
|                   ORDER BY ps."date_value" DESC LIMIT 1000 | ||||
|                   ''' | ||||
|                   ''', | ||||
|         "tags": ["员工", "部门", "考勤状态", "明细查询"], | ||||
|         "category": "考勤管理" | ||||
|     },{ | ||||
|         "question": "10月迟到人数最多的部门", | ||||
|         "answer": ''' | ||||
| @@ -198,7 +214,9 @@ org_and_attend_q_a = [ | ||||
|                            AND o."code" LIKE '%CYJ%' | ||||
|                          GROUP BY o."name" | ||||
|                          ORDER BY COUNT(DISTINCT ps."person_id") DESC LIMIT 1 | ||||
|                          ''' | ||||
|                          ''', | ||||
|         "tags": ["员工", "部门", "考勤", "迟到","人数","最值"], | ||||
|         "category": "考勤管理" | ||||
|     } | ||||
|  | ||||
| ] | ||||
|   | ||||
| @@ -34,7 +34,8 @@ question_and_answer = [ | ||||
|                     AND "dr" = '0' | ||||
|                   ORDER BY "最高学位", "姓名" LIMIT 1000 | ||||
|                   ''' | ||||
|     }, { | ||||
|     }, | ||||
|     { | ||||
|         "question": "8月份在藏,超过10天的有哪些员工", | ||||
|         "answer": ''' | ||||
|                   SELECT DISTINCT p."code"                       AS "工号", | ||||
| @@ -109,9 +110,9 @@ question_and_answer = [ | ||||
|                          a."attendance_time"                     AS "考勤时间", | ||||
|                          a."attendance_address"                  AS "考勤地址", | ||||
|                          CASE | ||||
|                              WHEN a."status" = 0 THEN '在岗' | ||||
|                              WHEN a."status" = 1 THEN '出差' | ||||
|                              WHEN a."status" = 2 THEN '休假' END AS "状态", | ||||
|                              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 | ||||
| @@ -120,6 +121,7 @@ question_and_answer = [ | ||||
|                              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 | ||||
| @@ -132,7 +134,8 @@ question_and_answer = [ | ||||
|                     AND a."dr" = 0 | ||||
|                   ORDER BY a."attendance_time" DESC LIMIT 1000 | ||||
|                   ''' | ||||
|     }, { | ||||
|     }, | ||||
|     { | ||||
|         "question": "查询张三9月份有多少天在岗", | ||||
|         "answer": ''' | ||||
|                   SELECT p."code"                                         AS "工号", | ||||
| @@ -154,7 +157,8 @@ question_and_answer = [ | ||||
|                                ELSE p."external_unit" | ||||
|                                END LIMIT 1000 | ||||
|                   ''' | ||||
|     }, { | ||||
|     }, | ||||
|     { | ||||
|         "question": "XX中心下有多少员工", | ||||
|         "answer": ''' | ||||
|                   select count(*) | ||||
| @@ -195,7 +199,8 @@ question_and_answer = [ | ||||
|                   ORDER BY "人数" DESC | ||||
|                       LIMIT 1000 | ||||
|                   ''' | ||||
|     }, { | ||||
|     }, | ||||
|     { | ||||
|         "question": "张三9月在林芝工作有多少天", | ||||
|         "answer": ''' | ||||
|                   SELECT count(distinct (TO_CHAR(a."attendance_time", 'yyyy-MM-dd'))) as count | ||||
| @@ -245,45 +250,29 @@ 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" != '' | ||||
|                         AND internal_dept IN ( | ||||
|                             SELECT "id"  | ||||
|                             FROM "IUAP_APDOC_BASEDOC"."org_orgs"  | ||||
|                             WHERE "parentid" IN ( | ||||
|                                 SELECT "id"  | ||||
|                                 FROM "IUAP_APDOC_BASEDOC"."org_orgs"  | ||||
|                                 WHERE name || shortname LIKE '%XX中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' | ||||
|                             ) OR id IN (SELECT "id"  | ||||
|                                 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 | ||||
| 	              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", | ||||
| @@ -483,7 +472,8 @@ question_and_answer = [ | ||||
|                          AND p."highest_degree" = '3' | ||||
|                       LIMIT 1000 | ||||
|                   ''' | ||||
|     }, { | ||||
|     }, | ||||
|     { | ||||
|         "question": "XX中心在藏最长时间的人是谁", | ||||
|         "answer": ''' | ||||
|                   SELECT p."name" AS "姓名", p."code" AS "工号", COUNT(ps."id") AS "在藏天数" | ||||
| @@ -500,7 +490,8 @@ question_and_answer = [ | ||||
|                   GROUP BY p."name", p."code" | ||||
|                   ORDER BY COUNT (ps."id") DESC LIMIT 1 | ||||
|                   ''' | ||||
|     }, { | ||||
|     }, | ||||
|     { | ||||
|         "question": "XX中心员工在林芝工作的天数", | ||||
|         "answer": ''' | ||||
|                   SELECT DISTINCT p."code"                                                   AS "工号", | ||||
|   | ||||
							
								
								
									
										841
									
								
								util/q_and_a_test1.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										841
									
								
								util/q_and_a_test1.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,841 @@ | ||||
| import json | ||||
|  | ||||
| # 按功能模块组织 | ||||
| question_and_answer = [ | ||||
|         { | ||||
|             "question": "张三的信息", | ||||
|             "answer": """ | ||||
|                 SELECT "id" AS "ID", "code" AS "工号", "name" AS "姓名",  | ||||
|                 "internal_unit" AS "内部单位", "external_unit" AS "外部单位", | ||||
|                 "phone_number" AS "手机号", "email" AS "邮箱", | ||||
|                 CASE WHEN "gender" = '1' THEN '男' WHEN "gender" = '2' THEN '女' ELSE "gender" END AS "性别", | ||||
|                 -- 人员类型转换逻辑 | ||||
|                 CASE WHEN "person_type" = 'YG' THEN '正式员工'  | ||||
|                      WHEN "person_type" = 'PQ' THEN '劳务派遣人员'  | ||||
|                      ELSE "person_type" END AS "人员类型" | ||||
|                 FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database"  | ||||
|                 WHERE "dr" = 0 AND "name" = '张三' LIMIT 1000 | ||||
|             """, | ||||
|             "tags": ["员工", "基本信息", "单人员工"], | ||||
|             "category": "员工基本信息查询" | ||||
|         }, | ||||
|         { | ||||
|         "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 | ||||
|               ''', | ||||
|             "tags": ["员工", "工作地", "条件筛选查询"], | ||||
|             "category": "员工基本信息查询" | ||||
|         }, | ||||
|         { | ||||
|             "question": "总共有多少员工", | ||||
|             "answer": """ | ||||
|                 SELECT COUNT(1) AS "total_count"  | ||||
|                 FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database"  | ||||
|                 WHERE "dr" = 0 LIMIT 1000 | ||||
|               """, | ||||
|             "tags": ["员工", "人数", "总体统计"], | ||||
|             "category":"员工统计与分析" | ||||
|         }, | ||||
|         { | ||||
|             "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") | ||||
|             """, | ||||
|             "tags": ["员工", "部门", "人数"], | ||||
|             "category": "员工统计与分析" | ||||
|         }, | ||||
|         { | ||||
|             "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 | ||||
|             """, | ||||
|             "tags": ["员工", "部门", "人数"], | ||||
|             "category": "员工统计与分析" | ||||
|         }, | ||||
|         { | ||||
|             "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 | ||||
|               ''', | ||||
|             "tags": ["员工", "部门", "人数"], | ||||
|             "category": "员工统计与分析" | ||||
|         }, | ||||
|         { | ||||
|             "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; | ||||
|               ''', | ||||
|             "tags": ["员工", "部门", "人员类型", "正式员工", "处室分布"], | ||||
|             "category": "员工统计与分析" | ||||
|         }, | ||||
|         { | ||||
|             "question": "XX部门有哪些员工", | ||||
|             "answer": """ | ||||
|               SELECT p.id AS "id", p.code AS "employee_code", p.name AS "name", o.name AS "department_name"  | ||||
|               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.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")  | ||||
|               LIMIT 1000 | ||||
|             """, | ||||
|             "tags": ["员工", "部门", "列表查询"], | ||||
|             "category": "部门人员查询" | ||||
|         }, | ||||
|         { | ||||
|             "question": "XX综合部男员工有哪些人", | ||||
|             "answer": """ | ||||
|                  SELECT p."id" AS "ID", p."code" AS "工号", p."name" AS "姓名",  | ||||
|                  CASE WHEN p."gender" = '1' THEN '男'  | ||||
|                  WHEN p."gender" = '2' THEN '女' END AS "性别", o."name" 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 p."gender" = '1' AND o."id" IN ( | ||||
|                    SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs"  | ||||
|                    START WITH ("name" LIKE '%综合处%' OR "shortname" LIKE '%综合处%')  | ||||
|                    AND "enable" = 1 AND "dr" = 0 CONNECT BY PRIOR "id" = "parentid")  | ||||
|                  LIMIT 1000 | ||||
|                    """, | ||||
|             "tags": ["员工", "性别", "部门", "列表查询"], | ||||
|             "category": "性别分布统计" | ||||
|         }, | ||||
|         { | ||||
|             "question": "XX综合部女员工有那些人", | ||||
|             "answer": """ | ||||
|                    SELECT p."id" AS "id", p."code" AS "工号", p."name" AS "姓名",  | ||||
|                    CASE WHEN p."gender" = '1' THEN '男'  | ||||
|                    WHEN p."gender" = '2' THEN '女' END AS "性别", o."name" 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 '%XX综合部%' OR "shortname" LIKE '%XX综合部%')  | ||||
|                        AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'  | ||||
|                        CONNECT BY PRIOR "id" = "parentid")  | ||||
|                    AND p."dr" = 0 AND p."gender" = '2'  | ||||
|                    ORDER BY p."create_time"  | ||||
|                    DESC LIMIT 1000 | ||||
|                  """, | ||||
|             "tags": ["员工", "性别", "部门"], | ||||
|             "category": "性别分布统计" | ||||
|         }, | ||||
|         { | ||||
|             "question": "XX部有多少员工,男女员工分别有多少", | ||||
|             "answer": """ | ||||
|                    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"||"shortname" LIKE '%XX部%' | ||||
|                        CONNECT BY PRIOR "id" = "parentid" | ||||
|                        ) | ||||
|                        AND p.dr = 0 | ||||
|                        LIMIT 1000; | ||||
|                  """, | ||||
|             "tags": ["员工", "性别", "部门", "人数统计"], | ||||
|             "category": "性别分布统计" | ||||
|         }, | ||||
|         { | ||||
|             "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; | ||||
|                  """, | ||||
|             "tags": ["员工", "性别", "部门", "人数统计"], | ||||
|             "category": "性别分布统计" | ||||
|         }, | ||||
|         { | ||||
|             "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 "女员工数" | ||||
|                  """, | ||||
|             "tags": ["员工", "性别", "部门", "人数统计"], | ||||
|             "category": "性别分布统计" | ||||
|         }, | ||||
|         { | ||||
|             "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 AND YEAR(p."input_time") = 2025  | ||||
|                    LIMIT 1000; | ||||
|                """, | ||||
|             "tags": ["员工", "性别", "部门", "人数统计"], | ||||
|             "category": "性别分布统计" | ||||
|         }, | ||||
|         { | ||||
|             "question": "XX部门博士和硕士分别有多少员工", | ||||
|             "answer": """ | ||||
|           SELECT COUNT(CASE WHEN p."highest_degree" = '3' THEN 1 END) AS "doctor_count",  | ||||
|           COUNT(CASE WHEN p."highest_degree" = '2' THEN 1 END) AS "master_count"  | ||||
|           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 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")  | ||||
|           LIMIT 1000 | ||||
|           """, | ||||
|             "tags": ["员工", "学历", "部门", "人数统计"], | ||||
|             "category": "学历分布统计" | ||||
|         }, | ||||
|         { | ||||
|             "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 | ||||
|           ''', | ||||
|             "tags": ["员工", "学历", "部门", "人数统计"], | ||||
|             "category": "学历分布统计" | ||||
|         }, | ||||
|         { | ||||
|             "question": "博士分布在哪些部门,各有多少人", | ||||
|             "answer": """ | ||||
|             SELECT o."name" AS "部门名称", 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."highest_degree" = '3' AND p."dr" = 0 AND o."dr" = 0 AND o."enable" = 1 AND o."code" LIKE '%CYJ%'  | ||||
|             GROUP BY o."id", o."name"  | ||||
|             ORDER BY COUNT(*) DESC LIMIT 1000 | ||||
|           """, | ||||
|             "tags": ["员工", "学历", "部门", "人数统计"], | ||||
|             "category": "学历分布统计" | ||||
|         }, | ||||
|         { | ||||
|             "question": "张三的年龄是多少", | ||||
|             "answer": """ | ||||
|           SELECT p."name" AS "name", EXTRACT(YEAR FROM CURRENT_DATE) - EXTRACT(YEAR FROM CAST(p."birthday" AS DATE)) AS "age"  | ||||
|           FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p  | ||||
|           WHERE p."name" = '张三' AND p."dr" = 0 AND p."birthday" IS NOT NULL AND p."birthday" <> '' LIMIT 1; | ||||
|           """, | ||||
|             "tags": ["员工","个人", "年龄", "单人员工"], | ||||
|             "category": "年龄分析" | ||||
|         }, | ||||
|         { | ||||
|             "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; | ||||
|             """, | ||||
|             "tags": ["员工", "部门", "年龄", "统计分析"], | ||||
|             "category": "年龄分析" | ||||
|         }, | ||||
|         { | ||||
|             "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 | ||||
|                 ''', | ||||
|             "tags": ["员工","个人", "部门", "年龄", "最值统计分析"], | ||||
|             "category": "年龄分析" | ||||
|         }, | ||||
|         { | ||||
|             "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 | ||||
|                   ''', | ||||
|             "tags": ["员工", "部门", "年龄", "分布统计"], | ||||
|             "category": "年龄分析" | ||||
|         }, | ||||
|         { | ||||
|             "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; | ||||
|           ''', | ||||
|             "tags": ["员工", "部门", "年龄"], | ||||
|             "category": "年龄分析" | ||||
|         }, | ||||
|         { | ||||
|             "question": "XX中心的张三九月份在岗天数", | ||||
|             "answer": """ | ||||
|               WITH dept_ids AS ( | ||||
|                   SELECT id  | ||||
|                   FROM "IUAP_APDOC_BASEDOC"."org_orgs"   | ||||
|                   START WITH (name LIKE '%XX中心%' OR shortname LIKE '%XX中心%')  | ||||
|                   CONNECT BY PRIOR id = parentid | ||||
|               ) | ||||
|               SELECT p."code" AS "工号",  | ||||
|                      p."name" 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  | ||||
|                 AND p."internal_dept" IN (SELECT id FROM dept_ids) | ||||
|               GROUP BY p."code", p."name" | ||||
|               LIMIT 1000; | ||||
|             """, | ||||
|             "tags": ["员工","个人", "部门", "考勤", "在岗天数"], | ||||
|             "category": "考勤管理" | ||||
|         }, | ||||
|         { | ||||
|             "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 | ||||
|               ''', | ||||
|             "tags": ["员工", "部门", "考勤", "在岗人数"], | ||||
|             "category": "考勤管理" | ||||
|         }, | ||||
|         { | ||||
|             "question": "XX部门昨天在岗人员数量", | ||||
|             "answer": ''' | ||||
|                 SELECT 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  | ||||
|                 JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" s ON p.id = s.person_id  | ||||
|                 WHERE 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 s.status = '1001' AND s.date_value = TO_CHAR(SYSDATE - 1, 'yyyy-MM-dd')  | ||||
|                 AND s.dr = 0 AND p.dr = 0 LIMIT 1000 | ||||
|                 ''', | ||||
|             "tags": ["员工", "部门", "考勤", "在岗人数"], | ||||
|             "category": "考勤管理" | ||||
|         }, | ||||
|         { | ||||
|             "question": "XX中心的李四十月份休息了多少天", | ||||
|             "answer": """ | ||||
|               SELECT COUNT(*) AS rest_days  | ||||
|               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 p."name" = '谭杰明'  | ||||
|               AND p."internal_dept" IN ( | ||||
|                   SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs"  | ||||
|                   START WITH ("name" LIKE '%数信中心%' OR "shortname" LIKE '%数信中心%')  | ||||
|                   AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'  | ||||
|                   CONNECT BY PRIOR "id" = "parentid" | ||||
|               )  | ||||
|               AND ps."status" = '1003'  | ||||
|               AND ps."date_value" LIKE '2025-10%'  | ||||
|               AND p."dr" = 0 AND ps."dr" = 0 LIMIT 1000 | ||||
|             """, | ||||
|             "tags": ["员工", "个人","部门", "考勤", "休息天数"], | ||||
|             "category": "考勤管理" | ||||
|         }, | ||||
|         { | ||||
|             "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 | ||||
|                 ''', | ||||
|             "tags": ["员工", "部门", "考勤", "请假"], | ||||
|             "category": "考勤管理" | ||||
|         }, | ||||
|         { | ||||
|             "question": "数信部门9月有多少个人迟到", | ||||
|             "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 | ||||
|                 ''', | ||||
|             "tags": ["员工", "部门", "考勤", "迟到"], | ||||
|             "category": "考勤管理" | ||||
|         }, | ||||
|         { | ||||
|             "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 | ||||
|               ''', | ||||
|             "tags": ["员工", "考勤", "休假"], | ||||
|             "category": "考勤管理" | ||||
|         }, | ||||
|         { | ||||
|             "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 | ||||
|               ''', | ||||
|             "tags": ["员工", "考勤", "个人"], | ||||
|             "category": "考勤管理" | ||||
|         }, | ||||
|         { | ||||
|             "question": "张三今天早上9点半之前,有打卡记录吗", | ||||
|             "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 | ||||
|               ''', | ||||
|             "tags": ["员工", "考勤", "打卡记录", "个人", "时间段", "明细查询"], | ||||
|             "category": "考勤管理" | ||||
|         }, | ||||
|         { | ||||
|             "question": "XX中心员工最近三天谁天天迟到", | ||||
|             "answer": ''' | ||||
|                 SELECT p."id" AS "id", p."code" AS "code", p."name" AS "name", o."name" AS "department_name"  | ||||
|                 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"  | ||||
|                 INNER JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o  | ||||
|                 ON p."internal_dept" = o."id"  | ||||
|                 WHERE ps."date_value" IN ('2025-10-20', '2025-10-21', '2025-10-22')  | ||||
|                 AND ps."status" = '1006' AND p."dr" = 0 AND ps."dr" = 0 AND o."dr" = 0  | ||||
|                 AND o."enable" = 1 AND o."code" LIKE '%CYJ%' AND o."id" 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" | ||||
|                     )  | ||||
|                 GROUP BY p."id", p."code", p."name", o."name" HAVING COUNT(*) = 3 LIMIT 1000 | ||||
|                 ''', | ||||
|             "tags": ["员工", "考勤", "部门", "天数", "迟到"], | ||||
|             "category": "考勤管理" | ||||
|         }, | ||||
|         { | ||||
|             "question": "XX中心员工本周迟到两次及以上的人", | ||||
|             "answer": ''' | ||||
|                  SELECT p."id" AS "id", p."code" AS "工号", p."name" AS "姓名", o."name" AS "部门", COUNT(ps."id") 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"  | ||||
|                 INNER 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 '%XX中心%' OR "shortname" LIKE '%XX中心%')  | ||||
|                     AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%'  | ||||
|                     CONNECT BY PRIOR "id" = "parentid" | ||||
|                     )  | ||||
|                 AND ps."status" = '1006' AND ps."date_value"  | ||||
|                 BETWEEN '2025-10-16' AND '2025-10-22' AND p."dr" = 0  | ||||
|                 AND ps."dr" = 0  | ||||
|                 GROUP BY p."id", p."code", p."name", o."name"  | ||||
|                 HAVING COUNT(ps."id") >= 2  | ||||
|                 ORDER BY COUNT(ps."id") DESC LIMIT 1000 | ||||
|             ''', | ||||
|             "tags": ["员工", "考勤", "部门", "天数", "迟到","次数统计"], | ||||
|             "category": "考勤管理" | ||||
|         }, | ||||
|         { | ||||
|             "question": "来自联通的有多少员工", | ||||
|             "answer": """ | ||||
|               SELECT "id" AS "id", | ||||
|                      "code" AS "工号", | ||||
|                      "name" AS "姓名", | ||||
|                      "external_unit" AS "外部单位" | ||||
|               FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" | ||||
|               WHERE "external_unit" LIKE '%联通%' LIMIT 1000 | ||||
|               """, | ||||
|             "tags": ["员工", "外部单位", "统计查询"], | ||||
|             "category": "外部单位统计" | ||||
|         }, | ||||
|         { | ||||
|             "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 | ||||
|             """, | ||||
|             "tags": ["员工", "外部单位", "人数统计"], | ||||
|             "category": "外部单位统计" | ||||
|         }, | ||||
|         { | ||||
|             "question": "XX中心员工在林芝工作的天数", | ||||
|             "answer": ''' | ||||
|               SELECT 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 a."attendance_time" >= '2025-09-01'  | ||||
|                AND a."attendance_time" < '2025-10-01'  | ||||
|                AND p."internal_dept" IN ( | ||||
|                SELECT "id" FROM "IUAP_APDOC_BASEDOC"."org_orgs"  | ||||
|                START WITH ("name" LIKE '%数信中心%' OR "shortname" LIKE '%数信中心%')  | ||||
|                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; | ||||
|                 ''', | ||||
|             "tags": ["员工", "部门", "考勤", "工作地", "区域", "工作天数统计"], | ||||
|             "category": "工作地考勤统计分析" | ||||
|  | ||||
|         }, | ||||
|         { | ||||
|             "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 "地区",  b."ac_point" 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 | ||||
|               ''', | ||||
|             "tags": ["员工", "个人","考勤", "工作地", "区域", "打卡统计"], | ||||
|             "category": "工作地考勤统计分析" | ||||
|         }, | ||||
|         { | ||||
|             "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 | ||||
|               ''', | ||||
|             "tags": ["员工","个人", "考勤", "工作地", "区域", "工作天数"], | ||||
|             "category": "工作地考勤统计分析" | ||||
|         }, | ||||
|         { | ||||
|             "question": "张三在藏多少天了", | ||||
|             "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 | ||||
|               ''', | ||||
|             "tags": ["员工", "个人", "考勤", "工作地", "区域", "工作天数"], | ||||
|             "category": "工作地考勤统计分析" | ||||
|         }, | ||||
|         { | ||||
|             "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 | ||||
|           ''', | ||||
|             "tags": ["员工", "个人", "考勤", "工作地", "区域", "最早在藏时间"], | ||||
|             "category": "工作地考勤统计分析" | ||||
|         }, | ||||
|         { | ||||
|             "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 | ||||
|             ''', | ||||
|             "tags": ["员工", "个人", "考勤", "工作地", "区域", "每月在藏天数"], | ||||
|             "category": "工作地考勤统计分析" | ||||
|         }, | ||||
|         { | ||||
|             "question": "XX中心在林芝最长时间的是谁,待了多少天", | ||||
|             "answer": ''' | ||||
|                 SELECT 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" LIKE '%数信中心%' OR "shortname" LIKE '%数信中心%') | ||||
|                     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 1; | ||||
|             ''', | ||||
|             "tags": ["员工", "个人", "考勤", "工作地", "区域", "天数","最值"], | ||||
|             "category": "工作地考勤统计分析" | ||||
|         }, | ||||
|         { | ||||
|             "question": "XX中心的员工九月在林芝工作的天数排名", | ||||
|             "answer": ''' | ||||
|                 SELECT 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" LIKE '%XX中心%' OR "shortname" LIKE '%XX中心%') | ||||
|                     AND "dr" = 0 AND "enable" = 1 AND "code" LIKE '%CYJ%' | ||||
|                     CONNECT BY PRIOR "id" = "parentid" | ||||
|                   ) | ||||
|                   AND TO_CHAR(a."attendance_time", 'yyyy-MM') = '2025-09' | ||||
|                 GROUP BY p."code", p."name" | ||||
|                 ORDER BY "在林芝工作天数" DESC | ||||
|                 LIMIT 1000; | ||||
|             ''', | ||||
|             "tags": ["员工", "个人", "考勤", "工作地", "区域", "天数", "排名"], | ||||
|             "category": "工作地考勤统计分析" | ||||
|         }, | ||||
|  | ||||
| ] | ||||
|  | ||||
| @@ -428,24 +428,6 @@ person_database_ddl = """ | ||||
|       "role": "dimension", | ||||
|       "tags": ["联系方式", "通讯信息"] | ||||
|     }, | ||||
|     { | ||||
|       "name": "DHDATASTA", | ||||
|       "type": "INT", | ||||
|       "comment": "推送状态", | ||||
|       "values": { | ||||
|         "0": "新增", | ||||
|         "1": "更新" | ||||
|       }, | ||||
|       "role": "dimension", | ||||
|       "tags": ["数据同步", "系统状态"] | ||||
|     }, | ||||
|     { | ||||
|       "name": "auditor1", | ||||
|       "type": "VARCHAR(36)", | ||||
|       "comment": "处室负责人", | ||||
|       "role": "dimension", | ||||
|       "tags": ["审批信息", "负责人信息"] | ||||
|     }, | ||||
|     { | ||||
|       "name": "person_count", | ||||
|       "type": "INT", | ||||
|   | ||||
		Reference in New Issue
	
	Block a user