207 lines
11 KiB
Python
207 lines
11 KiB
Python
|
|
question_and_answer = [
|
|||
|
|
{"question": "考勤地点有哪些",
|
|||
|
|
"answer": '''
|
|||
|
|
SELECT DISTINCT CASE "region"
|
|||
|
|
WHEN '1' THEN '北京'
|
|||
|
|
WHEN '2' THEN '成都'
|
|||
|
|
WHEN '3' THEN '秭归'
|
|||
|
|
WHEN '4' THEN '拉萨'
|
|||
|
|
WHEN '5' THEN '林芝' END AS "考勤地点"
|
|||
|
|
FROM "YJOA_APPSERVICE_DB"."t_yj_person_attendance_rules"
|
|||
|
|
WHERE "region" IS NOT NULL LIMIT 1000
|
|||
|
|
'''
|
|||
|
|
},
|
|||
|
|
{"question": "成都的考勤规则是什么",
|
|||
|
|
"answer": '''
|
|||
|
|
SELECT "region" AS "region_code",
|
|||
|
|
CASE
|
|||
|
|
WHEN "region" = '1' THEN '北京'
|
|||
|
|
WHEN "region" = '2' THEN '成都'
|
|||
|
|
WHEN "region" = '3' THEN '秭归'
|
|||
|
|
WHEN "region" = '4' THEN '拉萨'
|
|||
|
|
WHEN "region" = '5' THEN '林芝' END AS "region_name",
|
|||
|
|
"morning_check_time" AS "morning_check_time",
|
|||
|
|
"afternoon_check_time" AS "afternoon_check_time",
|
|||
|
|
"before_lunch_time" AS "before_lunch_time",
|
|||
|
|
"after_lunch_time" AS "after_lunch_time"
|
|||
|
|
FROM "YJOA_APPSERVICE_DB"."t_yj_person_attendance_rules"
|
|||
|
|
WHERE "region" = '2' LIMIT 1000
|
|||
|
|
'''
|
|||
|
|
},
|
|||
|
|
{"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
|
|||
|
|
'''
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"question": "联通下面有哪些员工",
|
|||
|
|
"answer": '''
|
|||
|
|
SELECT "id" AS "id",
|
|||
|
|
"code" AS "工号",
|
|||
|
|
"name" AS "姓名",
|
|||
|
|
"internal_unit" AS "内部单位",
|
|||
|
|
"external_unit" AS "外部单位"
|
|||
|
|
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database"
|
|||
|
|
WHERE "internal_unit" LIKE '%联通%'
|
|||
|
|
OR "external_unit" LIKE '%联通%' LIMIT 1000
|
|||
|
|
'''
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"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
|
|||
|
|
'''
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"question": "联通的员工,8月份有哪些迟到,旷工的",
|
|||
|
|
"answer": '''
|
|||
|
|
SELECT DISTINCT p."code" AS "工号",
|
|||
|
|
p."name" AS "姓名",
|
|||
|
|
p."internal_unit" AS "内部单位",
|
|||
|
|
p."external_unit" AS "外部单位",
|
|||
|
|
CASE
|
|||
|
|
WHEN ps."status" = '1006' THEN '迟到,早退'
|
|||
|
|
WHEN ps."status" = '1005' THEN '旷工' 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."internal_unit" LIKE '%联通%' OR p."external_unit" LIKE '%联通%')
|
|||
|
|
AND ps."status" IN ('1005', '1006')
|
|||
|
|
AND ps."date_value" LIKE '2025-08%'
|
|||
|
|
AND ps."dr" = 0
|
|||
|
|
ORDER BY ps."date_value" DESC LIMIT 1000
|
|||
|
|
'''
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"question": "博士和硕士分别有哪些员工",
|
|||
|
|
"answer": '''
|
|||
|
|
SELECT DISTINCT "name" AS "姓名",
|
|||
|
|
"code" AS "工号",
|
|||
|
|
"internal_unit" AS "内部单位",
|
|||
|
|
"external_unit" AS "外部单位",
|
|||
|
|
CASE
|
|||
|
|
WHEN "highest_degree" = '1' THEN '学士学位'
|
|||
|
|
WHEN "highest_degree" = '2' THEN '硕士学位'
|
|||
|
|
WHEN "highest_degree" = '3' THEN '博士学位'
|
|||
|
|
WHEN "highest_degree" = '4' THEN '无' END AS "最高学位"
|
|||
|
|
FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database"
|
|||
|
|
WHERE "highest_degree" IN ('2', '3')
|
|||
|
|
AND "dr" = '0'
|
|||
|
|
ORDER BY "最高学位", "姓名" LIMIT 1000
|
|||
|
|
'''
|
|||
|
|
}, {
|
|||
|
|
"question": "8月份在藏超过10天的有哪些员工",
|
|||
|
|
"answer": '''
|
|||
|
|
SELECT DISTINCT p."code" AS "工号",
|
|||
|
|
p."name" AS "姓名",
|
|||
|
|
CASE
|
|||
|
|
WHEN p."internal_unit" IS NOT NULL AND p."internal_unit" != '' THEN p."internal_unit"
|
|||
|
|
ELSE p."external_unit" END 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 ps."date_value" LIKE '2025-08%'
|
|||
|
|
GROUP BY p."code", p."name",
|
|||
|
|
CASE
|
|||
|
|
WHEN p."internal_unit" IS NOT NULL AND p."internal_unit" != '' THEN p."internal_unit"
|
|||
|
|
ELSE p."external_unit" END
|
|||
|
|
HAVING COUNT(ps."id") > 10
|
|||
|
|
ORDER BY COUNT(ps."id") DESC LIMIT 1000
|
|||
|
|
'''
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"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
|
|||
|
|
'''
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"question": "8月份有多人迟到",
|
|||
|
|
"answer": '''
|
|||
|
|
SELECT count(distinct person_id)
|
|||
|
|
FROM "YJOA_APPSERVICE_DB"."t_yj_person_status" ps
|
|||
|
|
WHERE ps."status" = '1006'
|
|||
|
|
AND ps."date_value" LIKE '2025-08%'
|
|||
|
|
AND ps."dr" = 0 LIMIT 1000
|
|||
|
|
'''
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"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": "9月,旷工,迟到分别有多少人",
|
|||
|
|
"answer": '''
|
|||
|
|
SELECT CASE WHEN "status" = '1006' THEN '迟到' WHEN "status" = '1005' THEN '旷工' END AS "status_name",
|
|||
|
|
COUNT(DISTINCT "person_id") AS "person_count"
|
|||
|
|
FROM "YJOA_APPSERVICE_DB"."t_yj_person_status"
|
|||
|
|
WHERE "status" IN ('1006', '1005')
|
|||
|
|
AND "date_value" LIKE '2025-09%'
|
|||
|
|
AND "dr" = 0
|
|||
|
|
GROUP BY "status"
|
|||
|
|
ORDER BY "status" LIMIT 1000
|
|||
|
|
'''
|
|||
|
|
},{
|
|||
|
|
"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
|
|||
|
|
'''
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
]
|