Files
sqlbot_agent/util/train_ddl.py

620 lines
15 KiB
Python
Raw Normal View History

2025-09-28 16:44:58 +08:00
person_ddl_sql = """
{
"db_name":"YJOA_APPSERVICE_DB",
"table_name": "t_pr3rl2oj_yj_person_database",
"table_comment": "人员信息主表,记录人员基本信息、工作信息、审批流程信息等",
"columns": [
{
"name": "person_status",
"type": "VARCHAR(108)",
"comment": "人员状态",
"values":{
"1":"草稿",
"2":"审批中",
"3":"制卡中",
"4":"已入库",
"5":"停用"
},
"role": "dimension",
2025-09-28 16:44:58 +08:00
"tags": ["状态信息","枚举"]
},
{
"name": "gender",
"type": "VARCHAR(108)",
"comment": "性别",
"values": {
"1": "",
"2": ""
},
"role": "dimension",
2025-09-28 16:44:58 +08:00
"tags": ["基本信息", "人口属性","枚举"]
},
{
"name": "id_card",
"type": "VARCHAR(600)",
"comment": "身份证号码",
"role": "dimension",
"tags": ["证件信息", "身份标识"]
},
{
"name": "input_time",
"type": "DATETIME(39)",
"comment": "录入时间",
"role": "dimension",
"tags": ["时间信息", "操作记录"]
},
{
"name": "external_unit",
"type": "VARCHAR(600)",
"comment": "外部单位",
"role": "dimension",
"tags": ["组织信息", "外部单位"]
},
{
"name": "photo",
"type": "TEXT(max)",
"comment": "照片(二进制文本)",
"role": "dimension",
"tags": ["多媒体信息"]
},
{
"name": "input_user",
"type": "VARCHAR(108)",
"comment": "录入人",
"role": "dimension",
"tags": ["操作人信息"]
},
{
"name": "is_internal",
"type": "VARCHAR(108)",
"comment": "是否内部员工",
"values": {
"1": "",
"0": ""
},
"role": "dimension",
2025-09-28 16:44:58 +08:00
"tags": ["员工类型", "身份标识","枚举"]
},
{
"name": "phone_number",
"type": "VARCHAR(600)",
"comment": "手机号",
"role": "dimension",
"tags": ["联系方式", "通讯信息"]
},
{
"name": "external_dept",
"type": "VARCHAR(600)",
"comment": "外部部门",
"role": "dimension",
"tags": ["组织信息", "外部部门"]
},
{
"name": "pass_type",
"type": "VARCHAR(108)",
"comment": "通行证类型",
"value":{
"1": "集团公司员工",
"2": "借调人员",
"3":"借用人员",
"4":"外部监管人员",
"5":"外协服务人员",
"6":"工勤人员",
"7":"来访人员",
},
"role": "dimension",
2025-09-28 16:44:58 +08:00
"tags": ["证件信息", "通行权限","枚举"]
},
{
"name": "expire_time",
"type": "DATETIME(39)",
"comment": "失效时间",
"role": "dimension",
"tags": ["时间信息", "有效期"]
},
{
"name": "internal_dept",
"type": "VARCHAR(108)",
"comment": "内部部门",
"role": "dimension",
"tags": ["组织信息", "内部架构"]
},
{
"name": "input_dept",
"type": "VARCHAR(108)",
"comment": "录入部门",
"role": "dimension",
"tags": ["操作部门", "组织信息"]
},
{
"name": "name",
"type": "VARCHAR(600)",
"comment": "姓名",
"role": "dimension",
"tags": ["基本信息", "身份标识"]
},
{
"name": "internal_unit",
"type": "VARCHAR(108)",
"comment": "内部单位",
"role": "dimension",
"tags": ["组织信息", "内部架构"]
},
{
"name": "person_type",
"type": "VARCHAR(108)",
"comment": "人员类型",
"value":{
"YG":"正式员工",
"PQ":"劳务派遣人员",
"QT":"其他柔性引进人员",
"WHZ":"合作单位",
"WLS":"临时访客",
"WQT":"其他外部人员"
},
"role": "dimension",
2025-09-28 16:44:58 +08:00
"tags": ["分类信息", "人员分类","枚举"]
},
{
"name": "id",
"type": "VARCHAR(22)",
"comment": "主键ID",
"role": "dimension",
"tags": ["主键", "ID标识"]
},
2025-09-28 16:44:58 +08:00
{
"name": "dr",
"type": "INT",
"comment": "逻辑删除标志",
"values": {
"0": "正常",
"1": "已删除"
},
"role": "dimension",
"tags": ["系统状态", "数据状态"]
},
{
"name": "code",
"type": "VARCHAR(600)",
"comment": "编码",
"role": "dimension",
2025-09-28 16:44:58 +08:00
"tags": ["编码信息", "工号"]
},
{
"name": "ytenant_id",
"type": "VARCHAR(64)",
"comment": "租户ID",
"role": "dimension",
"tags": ["租户信息", "系统隔离"]
},
2025-09-28 16:44:58 +08:00
{
"name": "create_time",
"type": "DATETIME(39)",
"comment": "创建时间",
"role": "dimension",
"tags": ["时间信息", "系统记录"]
},
{
"name": "modify_time",
"type": "DATETIME(39)",
"comment": "修改时间",
"role": "dimension",
"tags": ["时间信息", "系统记录"]
},
2025-09-28 16:44:58 +08:00
{
"name": "to_dept",
"type": "VARCHAR(600)",
"comment": "所属处室",
"role": "dimension",
"tags": ["组织信息", "部门架构"]
},
{
"name": "id_card_type",
"type": "VARCHAR(108)",
"comment": "身份证件类型",
"value":{
"1":"身份证",
"2":"护照",
"3":"港澳通行证"
},
"role": "dimension",
"tags": ["证件信息", "身份标识"]
},
{
"name": "native_place",
"type": "VARCHAR(600)",
"comment": "籍贯",
"role": "dimension",
"tags": ["基本信息", "籍贯信息"]
},
{
"name": "nation",
"type": "VARCHAR(600)",
"comment": "民族",
"role": "dimension",
"tags": ["基本信息", "民族信息"]
},
{
"name": "country",
"type": "VARCHAR(600)",
"comment": "国籍",
"role": "dimension",
"tags": ["基本信息", "国籍信息"]
},
{
"name": "residence_address",
"type": "VARCHAR(600)",
"comment": "户籍地址",
"role": "dimension",
"tags": ["地址信息", "户籍信息"]
},
{
"name": "highest_education",
"type": "VARCHAR(108)",
"comment": "最高学历",
"value":{
"1":"初中",
"2":"高中",
"3":"中专",
"4":"技校",
"5":"职高",
"6":"大专",
"7":"本科",
"8":"硕士",
"9":"博士 "
},
"role": "dimension",
2025-09-28 16:44:58 +08:00
"tags": ["教育信息", "学历背景","枚举"]
},
{
"name": "highest_degree",
"type": "VARCHAR(108)",
"comment": "最高学位",
"value":{
"1":"学士学位",
"2":"硕士学位",
"3":"博士学位",
"4":""
},
"role": "dimension",
2025-09-28 16:44:58 +08:00
"tags": ["教育信息", "学位背景","枚举"]
},
{
"name": "graduate_school",
"type": "VARCHAR(600)",
"comment": "毕业院校",
"role": "dimension",
"tags": ["教育信息", "院校背景"]
},
{
"name": "birthday",
"type": "VARCHAR(30)",
"comment": "出生日期",
"role": "dimension",
"tags": ["时间信息", "个人资料"]
},
{
"name": "work_date",
"type": "VARCHAR(30)",
"comment": "参加工作日期",
"role": "dimension",
"tags": ["时间信息", "工作经历"]
},
{
"name": "political_status",
"type": "VARCHAR(600)",
"comment": "政治面貌",
"role": "dimension",
"tags": ["政治信息", "个人属性"]
},
{
"name": "work_unit",
"type": "VARCHAR(600)",
"comment": "工作单位全称",
"role": "dimension",
"tags": ["工作信息", "单位信息"]
},
{
"name": "post",
"type": "VARCHAR(600)",
"comment": "职务",
"role": "dimension",
"tags": ["工作信息", "职务信息"]
},
{
"name": "engage_post",
"type": "VARCHAR(600)",
"comment": "现从事岗位",
"role": "dimension",
"tags": ["工作信息", "岗位信息"]
},
{
"name": "work_content",
"type": "TEXT(max)",
"comment": "工作内容",
"role": "dimension",
"tags": ["工作信息", "职责描述"]
},
{
"name": "engage_contract_no",
"type": "VARCHAR(600)",
"comment": "从事项目合同编号",
"role": "dimension",
"tags": ["合同信息", "项目信息"]
},
{
"name": "engage_contract_name",
"type": "VARCHAR(600)",
"comment": "从事项目合同名称",
"role": "dimension",
"tags": ["合同信息", "项目信息"]
},
{
"name": "is_subcontractor",
"type": "VARCHAR(108)",
"comment": "是否分包商",
"role": "dimension",
"tags": ["供应商类型", "合作模式"]
},
{
"name": "general_contractor_unit",
"type": "VARCHAR(600)",
"comment": "总包单位全称",
"role": "dimension",
"tags": ["合作单位", "总包信息"]
},
{
"name": "entry_date",
"type": "VARCHAR(30)",
"comment": "入场日期",
"role": "dimension",
"tags": ["时间信息", "项目参与"]
},
{
"name": "expected_departure_date",
"type": "VARCHAR(30)",
"comment": "预计离场日期",
"role": "dimension",
"tags": ["时间信息", "项目参与"]
},
{
"name": "office_city",
"type": "VARCHAR(600)",
"comment": "办公城市",
"role": "dimension",
"tags": ["地址信息", "办公地点"]
},
{
"name": "office_address",
"type": "VARCHAR(600)",
"comment": "办公地点",
"role": "dimension",
"tags": ["地址信息", "办公地点"]
},
{
"name": "is_sign_confidentiality_agreement",
"type": "VARCHAR(108)",
"comment": "是否签署保密协议",
"values": {
"1": "",
"0": ""
},
"role": "dimension",
"tags": ["协议状态", "合规信息"]
},
{
"name": "email",
"type": "VARCHAR(600)",
"comment": "电子邮箱",
"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",
"comment": "人员数量",
"role": "metric",
"aggregation": "count",
"tags": ["统计指标", "数量统计"]
}
],
"relationships": [
{
"from": "ytenant_id",
"to_table": "租户表",
"to_field": "id",
"type": "foreign_key",
"comment": "关联租户信息"
}
],
2025-09-28 16:44:58 +08:00
"tags": ["人员管理", "人力资源", "审批流程", "基本信息", "工作信息"],
2025-09-28 16:44:58 +08:00
}
"""
train_document='''
语法为达梦数据库语法;
查询地址籍贯公司单位时尽量使用like查询;
查询人员信息时,由于数据表字段过多只需要展示人员关键信息字段id工号姓名单位以及用户问题中需要查询的字段;
表字段信息以及字段枚举信息在values下注意相关字段枚举值的转换;
查询单位信息时内部单位和外部单位都需要查询用OR条件查询;
'''
rule_ddl='''
{
"db_name":"YJOA_APPSERVICE_DB",
"table_name": "t_yj_person_attendance_rules",
2025-09-28 16:44:58 +08:00
"table_comment": "人员考勤规则表,定义考勤时间规则,考勤地点设置",
"columns": [
{
"name": "id",
"type": "VARCHAR(50)",
"comment": "主键ID",
"role": "dimension",
"tags": ["主键", "ID标识"]
},
{
"name": "morning_check_time",
"type": "VARCHAR(50)",
"comment": "上午打卡时间",
"role": "dimension",
"tags": ["时间规则", "考勤设置"]
},
{
"name": "afternoon_check_time",
"type": "VARCHAR(50)",
"comment": "下午打卡时间",
"role": "dimension",
"tags": ["时间规则", "考勤设置"]
},
{
"name": "before_lunch_time",
"type": "VARCHAR(50)",
"comment": "午餐前时间",
"role": "dimension",
"tags": ["时间规则", "考勤分段"]
},
{
"name": "after_lunch_time",
"type": "VARCHAR(50)",
"comment": "午餐后时间",
"role": "dimension",
"tags": ["时间规则", "考勤分段"]
},
{
"name": "region",
"type": "VARCHAR(50)",
"comment": "区域",
"value":{
"1":"北京",
"2":"成都",
"3":"秭归",
"4":"拉萨",
"5": "林芝"
},
"role": "dimension",
2025-09-28 16:44:58 +08:00
"tags": [ "考勤的位置","非办公区域不要混淆","枚举"]
},
],
"relationships": [
{
"from": "region",
"to_table": "区域配置表",
"to_field": "region_code",
"type": "foreign_key",
"comment": "关联区域配置信息"
}
],
2025-09-28 16:44:58 +08:00
"tags": ["考勤规则", "时间设置", "区域配置", "考勤管理", "规则定义"]
2025-09-28 16:44:58 +08:00
}
'''
user_status_ddl='''
{
"db_name":"YJOA_APPSERVICE_DB",
"table_name": "t_yj_person_status",
"table_comment": "人员状态记录表,记录人员每日考勤状态信息包括西藏地区标识",
"columns": [
{
"name": "id",
"type": "BIGINT",
"comment": "主键ID",
"role": "dimension",
"tags": ["主键", "id标识"]
},
{
"name": "person_id",
"type": "VARCHAR(50)",
"comment": "人员ID",
"role": "dimension",
"tags": ["人员标识", "关联信息"]
},
{
"name": "status",
"type": "VARCHAR(10)",
"comment": "人员状态",
"value":{
"1001":"在岗",
"1002":"出差",
2025-09-28 16:44:58 +08:00
"1003":"休假,请假",
"1005":"旷工",
2025-09-28 16:44:58 +08:00
"1006":"迟到,早退",
"1007":"休息日",
"4001":"am在岗pm缺勤",
"4002":"am缺勤pm在岗",
"6001":"am在岗pm早退",
"6002":"am迟到pm在岗",
"6004":"am迟到pm缺勤",
"4006":"am缺勤pm早退"
},
"role": "dimension",
2025-09-28 16:44:58 +08:00
"tags": ["状态信息", "人员状态","枚举","迟到早退都是:1006"]
},
{
"name": "date_value",
"type": "VARCHAR(20)",
"comment": "日期值",
"role": "dimension",
"tags": ["时间信息", "日期记录"]
},
{
"name": "dr",
"type": "INT",
"comment": "逻辑删除标志",
"role": "dimension",
"tags": ["系统状态", "数据状态"]
},
{
"name": "create_time",
"type": "DATETIME(39)",
"comment": "创建时间",
"role": "dimension",
"tags": ["时间信息", "系统记录"]
},
{
"name": "is_in_tibet",
"type": "INT",
"comment": "是否在西藏地区",
"role": "dimension",
"tags": ["地区标识", "地理位置"]
}
],
"relationships": [
{
"from": "person_id",
"to_table": "t_pr3rl2oj_yj_person_database",
2025-09-28 16:44:58 +08:00
"to_field": "code",
"type": "foreign_key",
"comment": "关联人员基本信息表"
}
],
2025-09-28 16:44:58 +08:00
"tags": ["人员状态", "状态记录", "地区管理", "西藏标识", "每日状态"]
}
2025-09-28 16:44:58 +08:00
'''