feat:部门级别增加,加班修改,
This commit is contained in:
@@ -57,10 +57,10 @@ def create_vana():
|
||||
|
||||
def init_vn(vn):
|
||||
logger.info("--------------init vana-----connect to datasouce db----")
|
||||
# connect_database(vn)
|
||||
load_ddl_doc.add_ddl(vn)
|
||||
load_ddl_doc.add_documentation(vn)
|
||||
connect_database(vn)
|
||||
if config('IS_FIRST_LOAD', default=False, cast=bool):
|
||||
load_ddl_doc.add_ddl(vn)
|
||||
load_ddl_doc.add_documentation(vn)
|
||||
load_train_data_ddl(vn)
|
||||
return vn
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ org_and_attend_q_a = [
|
||||
"tags": ["员工", "部门","考勤", "工作地", "区域", "天数"],
|
||||
"category": "工作地考勤统计分析"
|
||||
}, {
|
||||
"question": "xx中心10月有哪些人迟到/早退",
|
||||
"question": "xx中心10月有哪些人迟到",
|
||||
"answer": '''
|
||||
SELECT p."id" AS "id",
|
||||
p."code" AS "code",
|
||||
@@ -33,7 +33,7 @@ org_and_attend_q_a = [
|
||||
FROM "YJOA_APPSERVICE_DB"."t_yj_person_status" ps
|
||||
INNER JOIN "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||||
ON p."code" = ps."person_id"
|
||||
WHERE ps."status" = '1006'
|
||||
WHERE ps."status" in ('1006','1009','6002','6004')
|
||||
AND ps."date_value" LIKE '2025-10%'
|
||||
AND ps."dr" = 0
|
||||
AND p."dr" = 0
|
||||
@@ -123,7 +123,7 @@ org_and_attend_q_a = [
|
||||
JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" ps ON p.id = ps.person_id
|
||||
WHERE p.dr = 0
|
||||
AND ps.dr = 0
|
||||
AND ps.status = '1006'
|
||||
AND ps.status in ('1006','1009','6002','6004')
|
||||
AND ps.date_value LIKE '2025-09%'
|
||||
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
|
||||
@@ -181,6 +181,8 @@ org_and_attend_q_a = [
|
||||
WHEN ps."status" = '1005' THEN '旷工'
|
||||
WHEN ps."status" = '1006' THEN '迟到,早退'
|
||||
WHEN ps."status" = '1007' THEN '休息日'
|
||||
WHEN ps."status" = '1008' THEN '加班'
|
||||
WHEN ps."status" = '1009' THEN '迟到'
|
||||
WHEN ps."status" = '4001' THEN 'am在岗pm缺勤'
|
||||
WHEN ps."status" = '4002' THEN 'am缺勤pm在岗'
|
||||
WHEN ps."status" = '6001' THEN 'am在岗pm早退'
|
||||
@@ -206,7 +208,7 @@ org_and_attend_q_a = [
|
||||
JOIN "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||||
ON ps."person_id" = p."code"
|
||||
JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id"
|
||||
WHERE ps."status" = '1006'
|
||||
WHERE ps."status" in ('1006','1009','6002','6004')
|
||||
AND ps."date_value" LIKE '2025-10%'
|
||||
AND ps."dr" = 0
|
||||
AND o."dr" = 0
|
||||
@@ -217,6 +219,48 @@ org_and_attend_q_a = [
|
||||
''',
|
||||
"tags": ["员工", "部门", "考勤", "迟到","人数","最值"],
|
||||
"category": "考勤管理"
|
||||
}
|
||||
},
|
||||
{
|
||||
"question": "10月加班人数最多的部门",
|
||||
"answer": '''
|
||||
SELECT o."name" AS "部门名称", COUNT(DISTINCT ps."person_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"
|
||||
JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p."internal_dept" = o."id"
|
||||
WHERE ps."status" in ('1008')
|
||||
AND ps."date_value" LIKE '2025-10%'
|
||||
AND ps."dr" = 0
|
||||
AND o."dr" = 0
|
||||
AND o."enable" = 1
|
||||
AND o."code" LIKE '%CYJ%'
|
||||
GROUP BY o."name"
|
||||
ORDER BY COUNT(DISTINCT ps."person_id") DESC LIMIT 1
|
||||
''',
|
||||
"tags": ["员工", "部门", "考勤", "加班","人数","最值"],
|
||||
"category": "考勤管理"
|
||||
},
|
||||
{
|
||||
"question": "xx中心10月有哪些人加班",
|
||||
"answer": '''
|
||||
SELECT p."id" AS "id",
|
||||
p."code" AS "code",
|
||||
p."name" AS "name",
|
||||
CASE WHEN ps."status" = '1008' THEN '加班' ELSE ps."status" END AS "status"
|
||||
FROM "YJOA_APPSERVICE_DB"."t_yj_person_status" ps
|
||||
INNER JOIN "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p
|
||||
ON p."code" = ps."person_id"
|
||||
WHERE ps."status" = '1008'
|
||||
AND ps."date_value" LIKE '2025-10%'
|
||||
AND ps."dr" = 0
|
||||
AND 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")
|
||||
ORDER BY ps."date_value" DESC LIMIT 1000
|
||||
''',
|
||||
"tags": ["员工", "部门", "考勤", "加班"],
|
||||
"category": "考勤管理"
|
||||
},
|
||||
|
||||
]
|
||||
|
||||
@@ -170,55 +170,7 @@ question_and_answer = [
|
||||
"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": """
|
||||
@@ -237,40 +189,7 @@ question_and_answer = [
|
||||
"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": """
|
||||
|
||||
Reference in New Issue
Block a user