feat:部门级别增加,加班修改,

This commit is contained in:
雷雨
2025-11-01 12:15:01 +08:00
parent 78fb9f4d54
commit b6cc95a2c9
3 changed files with 54 additions and 91 deletions

View File

@@ -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

View File

@@ -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": "考勤管理"
},
]

View File

@@ -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": """