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", "tags": ["状态信息","枚举"] }, { "name": "gender", "type": "VARCHAR(108)", "comment": "性别", "values": { "1": "男", "2": "女" }, "role": "dimension", "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", "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", "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", "tags": ["分类信息", "人员分类","枚举"] }, { "name": "id", "type": "VARCHAR(22)", "comment": "主键ID", "role": "dimension", "tags": ["主键", "ID标识"] }, { "name": "dr", "type": "INT", "comment": "逻辑删除标志", "values": { "0": "正常", "1": "已删除" }, "role": "dimension", "tags": ["系统状态", "数据状态"] }, { "name": "code", "type": "VARCHAR(600)", "comment": "编码", "role": "dimension", "tags": ["编码信息", "工号"] }, { "name": "ytenant_id", "type": "VARCHAR(64)", "comment": "租户ID", "role": "dimension", "tags": ["租户信息", "系统隔离"] }, { "name": "create_time", "type": "DATETIME(39)", "comment": "创建时间", "role": "dimension", "tags": ["时间信息", "系统记录"] }, { "name": "modify_time", "type": "DATETIME(39)", "comment": "修改时间", "role": "dimension", "tags": ["时间信息", "系统记录"] }, { "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", "tags": ["教育信息", "学历背景","枚举"] }, { "name": "highest_degree", "type": "VARCHAR(108)", "comment": "最高学位", "value":{ "1":"学士学位", "2":"硕士学位", "3":"博士学位", "4":"无" }, "role": "dimension", "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": "关联租户信息" } ], "tags": ["人员管理", "人力资源", "审批流程", "基本信息", "工作信息"], } """ train_document=''' 语法为达梦数据库语法; 查询地址,籍贯,公司,单位时,尽量使用like查询; 查询人员信息时,由于数据表字段过多。只需要展示人员关键信息字段,id,工号,姓名,单位以及用户问题中需要查询的字段; 表字段信息以及字段枚举信息在values下,注意相关字段枚举值的转换; 查询单位信息时,内部单位和外部单位都需要查询,用OR条件查询; ''' rule_ddl=''' { "db_name":"YJOA_APPSERVICE_DB", "table_name": "t_yj_person_attendance_rules", "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", "tags": [ "考勤的位置","非办公区域不要混淆","枚举"] }, ], "relationships": [ { "from": "region", "to_table": "区域配置表", "to_field": "region_code", "type": "foreign_key", "comment": "关联区域配置信息" } ], "tags": ["考勤规则", "时间设置", "区域配置", "考勤管理", "规则定义"] } ''' 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":"出差", "1003":"休假,请假", "1005":"旷工", "1006":"迟到,早退", "1007":"休息日", "4001":"am在岗pm缺勤", "4002":"am缺勤pm在岗", "6001":"am在岗pm早退", "6002":"am迟到pm在岗", "6004":"am迟到pm缺勤", "4006":"am缺勤pm早退" }, "role": "dimension", "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", "to_field": "code", "type": "foreign_key", "comment": "关联人员基本信息表" } ], "tags": ["人员状态", "状态记录", "地区管理", "西藏标识", "每日状态"] } '''