diff --git a/config/prompt_config.json b/config/prompt_config.json index 637747f..fde977c 100644 --- a/config/prompt_config.json +++ b/config/prompt_config.json @@ -126,9 +126,8 @@ "description": "被核查人员年龄", "rules": [ "如果文本中直接提到年龄(如\"30岁\"、\"30周岁\"、\"年龄30\"、\"现年30\"),直接提取数字部分", - "如果只有出生年月(如\"1980年5月出生\"、\"1980年05月\"),必须根据当前年份(2024年)计算年龄(如1980年出生,2024-1980=44岁)", + "如果无法抽取到年龄数据,但抽取到了\"被核查人员出生年月\",系统将根据出生年月和当前日期自动计算年龄", "年龄格式:纯数字,单位为岁,如\"44\"表示44岁", - "⚠️ 如果已有出生年月信息,必须计算年龄,不能设为空字符串", "如果文本中既没有直接提到年龄,也没有出生年月信息,则设为空字符串" ] }, diff --git a/services/ai_service.py b/services/ai_service.py index 4d39f0c..8d1ce93 100644 --- a/services/ai_service.py +++ b/services/ai_service.py @@ -7,6 +7,7 @@ import re import time import requests import json +from datetime import datetime from typing import Dict, List, Optional # 尝试导入json-repair库,如果不可用则使用备用方案 @@ -1440,27 +1441,29 @@ class AIService: # 创建字段编码到字段信息的映射 field_code_map = {field['field_code']: field for field in output_fields} - # 1. 从出生年月计算年龄 - if 'target_age' in field_code_map and (not data.get('target_age') or data.get('target_age') == ''): - # 首先尝试从已有数据中计算 - if 'target_date_of_birth' in data and data.get('target_date_of_birth'): - age = self._calculate_age_from_birth_date(data['target_date_of_birth']) - if age: - data['target_age'] = str(age) - print(f"[AI服务] 后处理:从出生年月 '{data['target_date_of_birth']}' 计算年龄: {age}岁") + # 1. 从出生年月计算年龄(如果无法抽取到年龄数据) + if 'target_age' in field_code_map: + # 检查是否已有年龄数据(非空且有效) + existing_age = data.get('target_age', '').strip() + has_valid_age = existing_age and existing_age != '' and existing_age.isdigit() - # 如果还没有,尝试从原始输入文本中直接提取年龄 - if (not data.get('target_age') or data.get('target_age') == '') and prompt: - input_text_match = re.search(r'输入文本[::]\s*\n(.*?)(?:\n\n需要提取的字段|$)', prompt, re.DOTALL) - if input_text_match: - input_text = input_text_match.group(1) - # 匹配年龄模式:年龄44岁、44岁、年龄44等 - age_match = re.search(r'年龄\s*(\d+)\s*岁|(\d+)\s*岁|年龄\s*(\d+)', input_text) - if age_match: - age = age_match.group(1) or age_match.group(2) or age_match.group(3) - if age: - data['target_age'] = str(age) - print(f"[AI服务] 后处理:从原始输入文本中提取年龄: {age}岁") + # 如果无法抽取到核查人员年龄数据,则根据出生年月计算 + if not has_valid_age: + # 尝试从出生年月计算年龄 + if 'target_date_of_birth' in data and data.get('target_date_of_birth'): + birth_date = data['target_date_of_birth'] + age = self._calculate_age_from_birth_date(birth_date) + if age is not None: + data['target_age'] = str(age) + print(f"[AI服务] 后处理:从出生年月 '{birth_date}' 和当前日期计算年龄: {age}岁") + else: + # 如果无法计算,设置为空值 + data['target_age'] = '' + print(f"[AI服务] 后处理:无法从出生年月 '{birth_date}' 计算年龄,返回空值") + else: + # 如果既没有年龄也没有出生年月,返回空值 + data['target_age'] = '' + print(f"[AI服务] 后处理:未找到年龄和出生年月信息,年龄字段返回空值") # 2. 从单位及职务中拆分单位和职务 if 'target_organization_and_position' in data and data.get('target_organization_and_position'): @@ -1572,7 +1575,7 @@ class AIService: def _calculate_age_from_birth_date(self, birth_date: str) -> Optional[int]: """ - 从出生年月计算年龄 + 从出生年月计算年龄(使用当前日期) Args: birth_date: 出生年月,格式如 "1980年05月" 或 "198005" @@ -1585,16 +1588,26 @@ class AIService: birth_date = str(birth_date).strip() - # 提取年份 + # 提取年份和月份 year_match = re.search(r'(\d{4})', birth_date) if not year_match: return None birth_year = int(year_match.group(1)) - current_year = 2024 # 当前年份 - # 计算年龄 + # 提取月份(如果有) + month_match = re.search(r'(\d{1,2})月', birth_date) + birth_month = int(month_match.group(1)) if month_match else 1 + + # 使用当前日期(最新日期) + current_date = datetime.now() + current_year = current_date.year + current_month = current_date.month + + # 计算年龄:如果当前月份小于出生月份,年龄减1 age = current_year - birth_year + if current_month < birth_month: + age -= 1 # 验证年龄合理性(0-150岁) if 0 <= age <= 150: diff --git a/技术文档/占位符与字段对照表.md b/技术文档/占位符与字段对照表.md index e05bc5e..d439802 100644 --- a/技术文档/占位符与字段对照表.md +++ b/技术文档/占位符与字段对照表.md @@ -29,20 +29,16 @@ Word模板中使用以下格式作为占位符: | 字段名称 | 字段编码 (占位符) | 说明 | 示例 | |---------|-----------------|------|------| -| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | -| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 | -| 被核查人员单位 | `{{target_organization}}` | 被核查人员单位 | 某公司 | -| 被核查人员职务 | `{{target_position}}` | 被核查人员职务 | 总经理 | -| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | 男 | +| 主要问题线索 | `{{target_issue_description}}` | 主要问题线索描述 | - | +| 初步核实审批表填表人 | `{{filler_name}}` | 初步核实审批表填表人 | - | +| 初步核实审批表承办部门意见 | `{{department_opinion}}` | 初步核实审批表承办部门意见 | - | +| 线索来源 | `{{clue_source}}` | 线索来源 | - | | 被核查人员出生年月 | `{{target_date_of_birth}}` | 被核查人员出生年月(YYYYMM格式,不需要日) | 198005 | -| 被核查人员年龄 | `{{target_age}}` | 被核查人员年龄(数字,单位:岁) | 44 | -| 被核查人员文化程度 | `{{target_education_level}}` | 被核查人员文化程度(如:本科、大专、高中等) | 本科 | +| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 | +| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | 男 | | 被核查人员政治面貌 | `{{target_political_status}}` | 被核查人员政治面貌(中共党员、群众等) | 中共党员 | | 被核查人员职级 | `{{target_professional_rank}}` | 被核查人员职级(如:正处级) | 正处级 | -| 线索来源 | `{{clue_source}}` | 线索来源 | - | -| 主要问题线索 | `{{target_issue_description}}` | 主要问题线索描述 | 违反国家计划生育有关政策规定,于2010年10月生育二胎。 | -| 初步核实审批表承办部门意见 | `{{department_opinion}}` | 初步核实审批表承办部门意见 | - | -| 初步核实审批表填表人 | `{{filler_name}}` | 初步核实审批表填表人 | - | +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | --- @@ -58,13 +54,13 @@ Word模板中使用以下格式作为占位符: | 字段名称 | 字段编码 (占位符) | 说明 | 示例 | |---------|-----------------|------|------| +| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 | | 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | -| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务 | 某公司总经理 | | 请示报告卡请示时间 | `{{report_card_request_time}}` | 请示报告卡请示时间 | - | --- -## 三、初核方案 +## 三、初核方案 (INVESTIGATION_PLAN) ### 输入字段 @@ -75,20 +71,20 @@ Word模板中使用以下格式作为占位符: ### 输出字段(占位符) -| 字段名称 | 字段编码 (占位符) | 说明 | -|---------|-----------------|------| -| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | -| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务 | -| 被核查人员工作基本情况 | `{{target_work_basic_info}}` | 被核查人员工作基本情况 | -| 主要问题线索 | `{{target_issue_description}}` | 主要问题线索 | -| 核查单位名称 | `{{investigation_unit_name}}` | 核查单位名称 | -| 核查组组长姓名 | `{{investigation_team_leader_name}}` | 核查组组长姓名 | -| 核查组成员姓名 | `{{investigation_team_member_names}}` | 核查组成员姓名 | -| 核查地点 | `{{investigation_location}}` | 核查地点 | +| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | +|---------|-----------------|------|------| +| 主要问题线索 | `{{target_issue_description}}` | 主要问题线索描述 | - | +| 核查单位名称 | `{{investigation_unit_name}}` | 核查单位名称 | - | +| 核查地点 | `{{investigation_location}}` | 核查地点 | - | +| 核查组成员姓名 | `{{investigation_team_member_names}}` | 核查组成员姓名 | - | +| 核查组组长姓名 | `{{investigation_team_leader_name}}` | 核查组组长姓名 | - | +| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 | +| 被核查人员工作基本情况 | `{{target_work_basic_info}}` | 被核查人员工作基本情况 | - | +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | --- -## 四、谈话通知书 +## 四、谈话通知书(第一联) (NOTIFICATION_LETTER_1) ### 输入字段 @@ -98,58 +94,43 @@ Word模板中使用以下格式作为占位符: ### 输出字段(占位符) -| 字段名称 | 字段编码 (占位符) | 说明 | -|---------|-----------------|------| -| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | -| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务 | -| 被核查人员身份证件及号码 | `{{target_id_number}}` | 被核查人员身份证件及号码 | -| 应到时间 | `{{appointment_time}}` | 应到时间 | -| 应到地点 | `{{appointment_location}}` | 应到地点 | -| 批准时间 | `{{approval_time}}` | 批准时间 | -| 承办部门 | `{{handling_department}}` | 承办部门 | -| 承办人 | `{{handler_name}}` | 承办人 | -| 谈话通知时间 | `{{notification_time}}` | 谈话通知时间 | -| 谈话通知地点 | `{{notification_location}}` | 谈话通知地点 | +| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | +|---------|-----------------|------|------| +| 应到地点 | `{{appointment_location}}` | 应到地点 | - | +| 应到时间 | `{{appointment_time}}` | 应到时间 | - | +| 批准时间 | `{{approval_time}}` | 批准时间 | - | +| 承办人 | `{{handler_name}}` | 承办人 | - | +| 承办部门 | `{{handling_department}}` | 承办部门 | - | +| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 | +| 被核查人员身份证件及号码 | `{{target_id_number}}` | 被核查人员身份证件及号码 | - | +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | --- -## 五、走读式谈话流程 - -### 输出字段(占位符) - -该模板主要使用被核查人员的基本信息字段,包括: - -| 字段名称 | 字段编码 (占位符) | 说明 | -|---------|-----------------|------| -| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | -| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务 | -| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别 | -| 被核查人员出生年月日 | `{{target_date_of_birth_full}}` | 被核查人员出生年月日 | -| 被核查人员政治面貌 | `{{target_political_status}}` | 被核查人员政治面貌 | -| 被核查人员住址 | `{{target_address}}` | 被核查人员住址 | -| 被核查人员户籍住址 | `{{target_registered_address}}` | 被核查人员户籍住址 | -| 被核查人员联系方式 | `{{target_contact}}` | 被核查人员联系方式 | -| 被核查人员籍贯 | `{{target_place_of_origin}}` | 被核查人员籍贯 | -| 被核查人员民族 | `{{target_ethnicity}}` | 被核查人员民族 | -| 被核查人员身份证号 | `{{target_id_number}}` | 被核查人员身份证号 | -| 核查组代号 | `{{investigation_team_code}}` | 核查组代号 | - ---- - -## 六、走读式谈话审批 - -该模板包含大量字段,包括基本信息、风险评估、谈话记录等。 +## 四、谈话通知书(第三联) (NOTIFICATION_LETTER_3) ### 输入字段 | 字段名称 | 字段编码 (占位符) | 说明 | |---------|-----------------|------| -| 线索信息 | `{{clue_info}}` | 线索信息(用于AI解析) | | 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索(用于AI解析) | -### 主要输出字段(占位符) +### 输出字段(占位符) -包括基本信息、谈话安排、风险评估等多个类别的字段,具体请参考完整的字段列表。 +| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | +|---------|-----------------|------|------| +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | +| 谈话通知地点 | `{{notification_location}}` | 谈话通知地点 | - | + +--- + +## 四、谈话通知书(第二联) (NOTIFICATION_LETTER_2) + +### 输出字段(占位符) + +| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | +|---------|-----------------|------|------| +| 谈话通知时间 | `{{notification_time}}` | 谈话通知时间 | - | --- @@ -159,43 +140,37 @@ Word模板中使用以下格式作为占位符: | 字段名称 | 字段编码 (占位符) | 说明 | |---------|-----------------|------| -| 线索信息 | `{{clue_info}}` | 线索信息(用于AI解析) | | 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索(用于AI解析) | -### 输出字段(占位符,带默认值) - -| 字段名称 | 字段编码 (占位符) | 说明 | 默认值 | -|---------|-----------------|------|--------| -| 被核查人员家庭情况 | `{{target_family_situation}}` | 被核查人员家庭情况 | 家庭关系和谐稳定 | -| 被核查人员社会关系 | `{{target_social_relations}}` | 被核查人员社会关系 | 社会交往较多,人机关系基本正常 | -| 被核查人员健康状况 | `{{target_health_status}}` | 被核查人员健康状况 | 良好 | -| 被核查人员性格特征 | `{{target_personality}}` | 被核查人员性格特征 | 开朗 | -| 被核查人员承受能力 | `{{target_tolerance}}` | 被核查人员承受能力 | 较强 | -| 被核查人员涉及问题严重程度 | `{{target_issue_severity}}` | 被核查人员涉及问题严重程度 | 较轻 | -| 被核查人员涉及其他问题的可能性 | `{{target_other_issues_possibility}}` | 被核查人员涉及其他问题的可能性 | 较小 | -| 被核查人员此前被审查情况 | `{{target_previous_investigation}}` | 被核查人员此前被审查情况 | 无 | -| 被核查人员社会负面事件 | `{{target_negative_events}}` | 被核查人员社会负面事件 | 无 | -| 被核查人员其他情况 | `{{target_other_situation}}` | 被核查人员其他情况 | 无 | -| 风险等级 | `{{risk_level}}` | 风险等级 | 低 | - -**注意**:如果AI未提取到字段值,系统返回空字符串。默认值信息提供给前端,前端可根据业务需求决定是否应用。 - ---- - -## 七、请示报告卡(初核报告结论) - ### 输出字段(占位符) -| 字段名称 | 字段编码 (占位符) | 说明 | -|---------|-----------------|------| -| 核查组代号 | `{{investigation_team_code}}` | 核查组代号 | -| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | -| 被核查人问题描述 | `{{target_problem_description}}` | 被核查人问题描述 | -| 被核查人员本人认识和态度 | `{{target_attitude}}` | 被核查人员本人认识和态度 | +| 字段名称 | 字段编码 (占位符) | 说明 | 默认值 | +|---------|-----------------|------|--------| +| 被核查人员健康状况 | `{{target_health_status}}` | 被核查人员健康状况 | 良好 | +| 被核查人员其他情况 | `{{target_other_situation}}` | 被核查人员其他情况 | 无 | +| 被核查人员学历 | `{{target_education}}` | 被核查人员学历 | - | +| 被核查人员家庭情况 | `{{target_family_situation}}` | 被核查人员家庭情况 | 家庭关系和谐稳定 | +| 被核查人员工作履历 | `{{target_work_history}}` | 被核查人员工作履历 | - | +| 被核查人员年龄 | `{{target_age}}` | 被核查人员年龄(数字,单位:岁) | - | +| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | - | +| 被核查人员性格特征 | `{{target_personality}}` | 被核查人员性格特征 | 开朗 | +| 被核查人员承受能力 | `{{target_tolerance}}` | 被核查人员承受能力 | 较强 | +| 被核查人员此前被审查情况 | `{{target_previous_investigation}}` | 被核查人员此前被审查情况 | 无 | +| 被核查人员涉及其他问题的可能性 | `{{target_other_issues_possibility}}` | 被核查人员涉及其他问题的可能性 | 较小 | +| 被核查人员涉及问题严重程度 | `{{target_issue_severity}}` | 被核查人员涉及问题严重程度 | 较轻 | +| 被核查人员社会关系 | `{{target_social_relations}}` | 被核查人员社会关系 | 社会交往较多,人机关系基本正常 | +| 被核查人员社会负面事件 | `{{target_negative_events}}` | 被核查人员社会负面事件 | 无 | +| 被核查人员职业 | `{{target_occupation}}` | 被核查人员职业 | - | +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | - | +| 风险等级 | `{{risk_level}}` | 风险等级 | 低 | --- -## 八、XXX初核情况报告 +## 七、请示报告卡(初核报告结论) (REPORT_CARD_INTERVIEW) + +--- + +## 八、XXX初核情况报告 (INVESTIGATION_REPORT) ### 输入字段 @@ -206,14 +181,274 @@ Word模板中使用以下格式作为占位符: ### 输出字段(占位符) +| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | +|---------|-----------------|------|------| +| 主要问题线索 | `{{target_issue_description}}` | 主要问题线索描述 | - | +| 纪委名称 | `{{commission_name}}` | 纪委名称 | - | +| 被核查人单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 | +| 被核查人员工作基本情况 | `{{target_work_basic_info}}` | 被核查人员工作基本情况 | - | +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | +| 被核查人问题描述 | `{{target_problem_description}}` | 被核查人问题描述 | - | + +--- + +## 其他、1.初核请示 (PRELIMINARY_VERIFICATION_REQUEST) + +--- + +## 其他、1.谈话笔录 (INTERVIEW_RECORD) + +### 输入字段 + | 字段名称 | 字段编码 (占位符) | 说明 | |---------|-----------------|------| -| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | -| 纪委名称 | `{{commission_name}}` | 纪委名称 | -| 被核查人员工作基本情况 | `{{target_work_basic_info}}` | 被核查人员工作基本情况 | -| 主要问题线索 | `{{target_issue_description}}` | 主要问题线索 | -| 被核查人问题描述 | `{{target_problem_description}}` | 被核查人问题描述 | -| 被核查人单位及职务 | `{{target_organization_and_position}}` | 被核查人单位及职务 | +| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索(用于AI解析) | + +### 输出字段(占位符) + +| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | +|---------|-----------------|------|------| +| 被核查人员住址 | `{{target_address}}` | 被核查人员住址 | - | +| 被核查人员出生年月日 | `{{target_date_of_birth_full}}` | 被核查人员出生年月日 | - | +| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 | +| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | 男 | +| 被核查人员政治面貌 | `{{target_political_status}}` | 被核查人员政治面貌(中共党员、群众等) | 中共党员 | +| 被核查人员联系方式 | `{{target_contact}}` | 被核查人员联系方式 | - | +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | + +--- + +## 其他、2-初核模版 (PRELIMINARY_VERIFICATION_TEMPLATE) + +--- + +## 其他、2.谈话审批 (INTERVIEW_APPROVAL_FORM) + +### 输入字段 + +| 字段名称 | 字段编码 (占位符) | 说明 | +|---------|-----------------|------| +| 线索信息 | `{{clue_info}}` | 线索信息(用于AI解析) | +| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索(用于AI解析) | + +### 输出字段(占位符) + +| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | +|---------|-----------------|------|------| +| 拟谈话地点 | `{{proposed_interview_location}}` | 拟谈话地点 | - | +| 拟谈话时间 | `{{proposed_interview_time}}` | 拟谈话时间 | - | +| 补空人员 | `{{backup_personnel}}` | 补空人员 | - | +| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | 男 | +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | +| 谈话事由 | `{{interview_reason}}` | 谈话事由 | - | +| 谈话人员-安全员 | `{{interview_personnel_safety_officer}}` | 谈话人员-安全员 | - | +| 谈话人员-组长 | `{{interview_personnel_leader}}` | 谈话人员-组长 | - | +| 谈话人员-谈话人员 | `{{interview_personnel}}` | 谈话人员-谈话人员 | - | +| 谈话前安全风险评估结果 | `{{pre_interview_risk_assessment_result}}` | 谈话前安全风险评估结果 | - | +| 谈话次数 | `{{interview_count}}` | 谈话次数 | - | + +--- + +## 其他、2.谈话询问对象情况摸底调查30问 (INTERVIEW_OBJECT_INVESTIGATION_30) + +### 输入字段 + +| 字段名称 | 字段编码 (占位符) | 说明 | +|---------|-----------------|------| +| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索(用于AI解析) | + +### 输出字段(占位符) + +| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | +|---------|-----------------|------|------| +| 被核查人员出生年月日 | `{{target_date_of_birth_full}}` | 被核查人员出生年月日 | - | +| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 | +| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | 男 | +| 被核查人员户籍住址 | `{{target_registered_address}}` | 被核查人员户籍住址 | - | +| 被核查人员政治面貌 | `{{target_political_status}}` | 被核查人员政治面貌(中共党员、群众等) | 中共党员 | +| 被核查人员民族 | `{{target_ethnicity}}` | 被核查人员民族 | - | +| 被核查人员籍贯 | `{{target_place_of_origin}}` | 被核查人员籍贯 | - | +| 被核查人员联系方式 | `{{target_contact}}` | 被核查人员联系方式 | - | +| 被核查人员身份证号 | `{{target_id_number}}` | 被核查人员身份证号 | - | +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | + +--- + +## 其他、2谈话审批表 (INTERVIEW_APPROVAL_FORM) + +--- + +## 其他、3.初核结论 (PRELIMINARY_VERIFICATION_CONCLUSION) + +--- + +## 其他、3.被谈话人权利义务告知书 (INTERVIEWEE_RIGHTS_OBLIGATIONS_NOTICE) + +### 输入字段 + +| 字段名称 | 字段编码 (占位符) | 说明 | +|---------|-----------------|------| +| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索(用于AI解析) | + +### 输出字段(占位符) + +| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | +|---------|-----------------|------|------| +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | + +--- + +## 其他、4.点对点交接单 (POINT_TO_POINT_HANDOVER) + +### 输入字段 + +| 字段名称 | 字段编码 (占位符) | 说明 | +|---------|-----------------|------| +| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索(用于AI解析) | + +### 输出字段(占位符) + +| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | +|---------|-----------------|------|------| +| 被核查人员身份证号 | `{{target_id_number}}` | 被核查人员身份证号 | - | +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | + +--- + +## 其他、4.谈话方案 (INTERVIEW_PLAN) + +### 输入字段 + +| 字段名称 | 字段编码 (占位符) | 说明 | +|---------|-----------------|------| +| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索(用于AI解析) | + +### 输出字段(占位符) + +| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | +|---------|-----------------|------|------| +| 核查组代号 | `{{investigation_team_code}}` | 核查组代号 | - | +| 被核查人单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 | +| 被核查人基本情况 | `{{target_basic_info}}` | 被核查人基本情况 | - | +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | +| 记录人 | `{{recorder}}` | 记录人 | - | +| 谈话人 | `{{interviewer}}` | 谈话人 | - | +| 谈话地点 | `{{interview_location}}` | 谈话地点 | - | + +--- + +## 其他、5.谈话后安全风险评估表 (POST_INTERVIEW_RISK_ASSESSMENT) + +### 输入字段 + +| 字段名称 | 字段编码 (占位符) | 说明 | +|---------|-----------------|------| +| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索(用于AI解析) | + +### 输出字段(占位符) + +| 字段名称 | 字段编码 (占位符) | 说明 | 默认值 | +|---------|-----------------|------|--------| +| 被核查人单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | - | +| 被核查人员交代问题程度 | `{{target_confession_level}}` | 被核查人员交代问题程度 | - | +| 被核查人员其他情况 | `{{target_other_situation}}` | 被核查人员其他情况 | 无 | +| 被核查人员减压后的表现 | `{{target_behavior_after_relief}}` | 被核查人员减压后的表现 | - | +| 被核查人员学历 | `{{target_education}}` | 被核查人员学历 | - | +| 被核查人员工作基本情况 | `{{target_work_basic_info}}` | 被核查人员工作基本情况 | - | +| 被核查人员年龄 | `{{target_age}}` | 被核查人员年龄(数字,单位:岁) | - | +| 被核查人员思想负担程度 | `{{target_mental_burden_level}}` | 被核查人员思想负担程度 | - | +| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | - | +| 被核查人员本人认识和态度 | `{{target_attitude}}` | 被核查人员本人认识和态度 | - | +| 被核查人员涉及其他问题的可能性 | `{{target_other_issues_possibility}}` | 被核查人员涉及其他问题的可能性 | 较小 | +| 被核查人员谈话中的表现 | `{{target_behavior_during_interview}}` | 被核查人员谈话中的表现 | - | +| 被核查人员问题严重程度 | `{{target_issue_severity_level}}` | 被核查人员问题严重程度 | - | +| 被核查人员风险等级 | `{{target_risk_level}}` | 被核查人员风险等级 | - | +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | - | +| 评估意见 | `{{assessment_opinion}}` | 评估意见 | - | + +--- + +## 其他、5.陪送交接单(新) (ESCORT_HANDOVER) + +### 输入字段 + +| 字段名称 | 字段编码 (占位符) | 说明 | +|---------|-----------------|------| +| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索(用于AI解析) | + +### 输出字段(占位符) + +| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | +|---------|-----------------|------|------| +| 被核查人单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 | +| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | 男 | +| 被核查人员身份证号 | `{{target_id_number}}` | 被核查人员身份证号 | - | +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | + +--- + +## 其他、6.1保密承诺书(谈话对象使用-非中共党员用) (CONFIDENTIALITY_COMMITMENT_NON_PARTY_MEMBER) + +--- + +## 其他、6.2保密承诺书(谈话对象使用-中共党员用) (CONFIDENTIALITY_COMMITMENT_PARTY_MEMBER) + +### 输入字段 + +| 字段名称 | 字段编码 (占位符) | 说明 | +|---------|-----------------|------| +| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索(用于AI解析) | + +### 输出字段(占位符) + +| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | +|---------|-----------------|------|------| +| 被核查人单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 | +| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | 男 | +| 被核查人员联系方式 | `{{target_contact}}` | 被核查人员联系方式 | - | +| 被核查人员身份证号 | `{{target_id_number}}` | 被核查人员身份证号 | - | +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | + +--- + +## 其他、7.办案人员-办案安全保密承诺书 (CASE_OFFICER_SECURITY_COMMITMENT) + +### 输出字段(占位符) + +| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | +|---------|-----------------|------|------| +| 核查组代号 | `{{investigation_team_code}}` | 核查组代号 | - | + +--- + +## 其他、8-1请示报告卡(初核报告结论) (REPORT_CARD_CONCLUSION) + +### 输入字段 + +| 字段名称 | 字段编码 (占位符) | 说明 | +|---------|-----------------|------| +| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索(用于AI解析) | + +### 输出字段(占位符) + +| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | +|---------|-----------------|------|------| +| 核查组代号 | `{{investigation_team_code}}` | 核查组代号 | - | +| 被核查人员本人认识和态度 | `{{target_attitude}}` | 被核查人员本人认识和态度 | - | +| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | +| 被核查人问题描述 | `{{target_problem_description}}` | 被核查人问题描述 | - | + +--- + +## 其他、谈话通知书 (INTERVIEW_NOTIFICATION) + +--- + +## 其他、走读式谈话审批 (WALK_IN_INTERVIEW_APPROVAL) + +--- + +## 其他、走读式谈话流程 (WALK_IN_INTERVIEW_PROCESS) --- @@ -236,20 +471,7 @@ Word模板中使用以下格式作为占位符: 4. **未识别的占位符**:如果字段编码在数据库中不存在,该占位符将保持为空 5. **占位符可以在表格中使用**:占位符可以出现在段落文本和表格单元格中 -### 示例 - -**正确的占位符:** -``` -被核查人姓名:{{target_name}} -单位及职务:{{target_organization_and_position}} -``` - -**错误的占位符:** -``` -被核查人姓名:{target_name} ❌ 缺少一个花括号 -被核查人姓名:{{target name}} ❌ 字段编码包含空格 -被核查人姓名:{{Target_Name}} ❌ 大小写不一致 -``` +**注意**:如果AI未提取到字段值,系统返回空字符串。默认值信息提供给前端,前端可根据业务需求决定是否应用。 --- @@ -257,67 +479,85 @@ Word模板中使用以下格式作为占位符: 以下列出所有可用的字段编码(按字母顺序): -### 基本信息字段 +### 输入字段 -- `{{target_name}}` - 被核查人姓名 -- `{{target_organization_and_position}}` - 被核查人员单位及职务 -- `{{target_organization}}` - 被核查人员单位 -- `{{target_position}}` - 被核查人员职务 -- `{{target_gender}}` - 被核查人员性别 -- `{{target_date_of_birth}}` - 被核查人员出生年月 -- `{{target_date_of_birth_full}}` - 被核查人员出生年月日 -- `{{target_age}}` - 被核查人员年龄 -- `{{target_education_level}}` - 被核查人员文化程度 -- `{{target_political_status}}` - 被核查人员政治面貌 -- `{{target_professional_rank}}` - 被核查人员职级 -- `{{target_id_number}}` - 被核查人员身份证号 -- `{{target_address}}` - 被核查人员住址 -- `{{target_registered_address}}` - 被核查人员户籍住址 -- `{{target_contact}}` - 被核查人员联系方式 -- `{{target_place_of_origin}}` - 被核查人员籍贯 -- `{{target_ethnicity}}` - 被核查人员民族 +- `{{clue_info}}` - 线索信息 +- `{{target_basic_info_clue}}` - 被核查人员工作基本情况线索 -### 问题相关字段 +### 输出字段 +- `{{appointment_location}}` - 应到地点 +- `{{appointment_time}}` - 应到时间 +- `{{approval_time}}` - 批准时间 +- `{{assessment_opinion}}` - 评估意见 +- `{{backup_personnel}}` - 补空人员 - `{{clue_source}}` - 线索来源 -- `{{target_issue_description}}` - 主要问题线索 -- `{{target_problem_description}}` - 被核查人问题描述 - -### 审批相关字段 - +- `{{commission_name}}` - 纪委名称 - `{{department_opinion}}` - 初步核实审批表承办部门意见 - `{{filler_name}}` - 初步核实审批表填表人 -- `{{approval_time}}` - 批准时间 - -### 核查相关字段 - -- `{{investigation_unit_name}}` - 核查单位名称 +- `{{handler_name}}` - 承办人 +- `{{handling_department}}` - 承办部门 +- `{{interview_count}}` - 谈话次数 +- `{{interview_location}}` - 谈话地点 +- `{{interview_personnel}}` - 谈话人员-谈话人员 +- `{{interview_personnel_leader}}` - 谈话人员-组长 +- `{{interview_personnel_safety_officer}}` - 谈话人员-安全员 +- `{{interview_reason}}` - 谈话事由 +- `{{interviewer}}` - 谈话人 +- `{{investigation_location}}` - 核查地点 - `{{investigation_team_code}}` - 核查组代号 - `{{investigation_team_leader_name}}` - 核查组组长姓名 - `{{investigation_team_member_names}}` - 核查组成员姓名 -- `{{investigation_location}}` - 核查地点 - -### 风险评估相关字段 - -- `{{target_family_situation}}` - 被核查人员家庭情况(默认值:家庭关系和谐稳定) -- `{{target_social_relations}}` - 被核查人员社会关系(默认值:社会交往较多,人机关系基本正常) -- `{{target_health_status}}` - 被核查人员健康状况(默认值:良好) -- `{{target_personality}}` - 被核查人员性格特征(默认值:开朗) -- `{{target_tolerance}}` - 被核查人员承受能力(默认值:较强) -- `{{target_issue_severity}}` - 被核查人员涉及问题严重程度(默认值:较轻) -- `{{target_other_issues_possibility}}` - 被核查人员涉及其他问题的可能性(默认值:较小) -- `{{target_previous_investigation}}` - 被核查人员此前被审查情况(默认值:无) -- `{{target_negative_events}}` - 被核查人员社会负面事件(默认值:无) -- `{{target_other_situation}}` - 被核查人员其他情况(默认值:无) +- `{{investigation_unit_name}}` - 核查单位名称 +- `{{notification_location}}` - 谈话通知地点 +- `{{notification_time}}` - 谈话通知时间 +- `{{pre_interview_risk_assessment_result}}` - 谈话前安全风险评估结果 +- `{{proposed_interview_location}}` - 拟谈话地点 +- `{{proposed_interview_time}}` - 拟谈话时间 +- `{{recorder}}` - 记录人 +- `{{report_card_request_time}}` - 请示报告卡请示时间 - `{{risk_level}}` - 风险等级(默认值:低) - -### 其他字段 - -根据具体模板需求,还可能包含其他字段,请参考各模板的详细说明。 +- `{{target_address}}` - 被核查人员住址 +- `{{target_age}}` - 被核查人员年龄 +- `{{target_attitude}}` - 被核查人员本人认识和态度 +- `{{target_basic_info}}` - 被核查人基本情况 +- `{{target_behavior_after_relief}}` - 被核查人员减压后的表现 +- `{{target_behavior_during_interview}}` - 被核查人员谈话中的表现 +- `{{target_confession_level}}` - 被核查人员交代问题程度 +- `{{target_contact}}` - 被核查人员联系方式 +- `{{target_date_of_birth}}` - 被核查人员出生年月 +- `{{target_date_of_birth_full}}` - 被核查人员出生年月日 +- `{{target_education}}` - 被核查人员学历 +- `{{target_ethnicity}}` - 被核查人员民族 +- `{{target_family_situation}}` - 被核查人员家庭情况(默认值:家庭关系和谐稳定) +- `{{target_gender}}` - 被核查人员性别 +- `{{target_health_status}}` - 被核查人员健康状况(默认值:良好) +- `{{target_id_number}}` - 被核查人员身份证号 +- `{{target_issue_description}}` - 主要问题线索 +- `{{target_issue_severity}}` - 被核查人员涉及问题严重程度(默认值:较轻) +- `{{target_issue_severity_level}}` - 被核查人员问题严重程度 +- `{{target_mental_burden_level}}` - 被核查人员思想负担程度 +- `{{target_name}}` - 被核查人姓名 +- `{{target_negative_events}}` - 被核查人员社会负面事件(默认值:无) +- `{{target_occupation}}` - 被核查人员职业 +- `{{target_organization_and_position}}` - 被核查人员单位及职务 +- `{{target_other_issues_possibility}}` - 被核查人员涉及其他问题的可能性(默认值:较小) +- `{{target_other_situation}}` - 被核查人员其他情况(默认值:无) +- `{{target_personality}}` - 被核查人员性格特征(默认值:开朗) +- `{{target_place_of_origin}}` - 被核查人员籍贯 +- `{{target_political_status}}` - 被核查人员政治面貌 +- `{{target_previous_investigation}}` - 被核查人员此前被审查情况(默认值:无) +- `{{target_problem_description}}` - 被核查人问题描述 +- `{{target_professional_rank}}` - 被核查人员职级 +- `{{target_registered_address}}` - 被核查人员户籍住址 +- `{{target_risk_level}}` - 被核查人员风险等级 +- `{{target_social_relations}}` - 被核查人员社会关系(默认值:社会交往较多,人机关系基本正常) +- `{{target_tolerance}}` - 被核查人员承受能力(默认值:较强) +- `{{target_work_basic_info}}` - 被核查人员工作基本情况 +- `{{target_work_history}}` - 被核查人员工作履历 --- ## 更新记录 -- 2025-01-XX:初始版本,包含8个模板的所有字段 - +- 2025-12-10:根据最新数据库信息更新