# 字段匹配分析报告

## 概述

本报告对比了 `person.csv`、`corp.csv` 中定义的字段与数据库表 `loan_pricing_workflow` 的实际字段，识别出需要添加的字段。

---

## 个人客户字段对比

| CSV字段名         | 中文名        | CSV要求              | 数据库字段            | 匹配状态    |
|----------------|------------|--------------------|------------------|---------|
| custIsn        | 客户内码       | 必填                 | cust_isn         | ✅ 匹配    |
| custType       | 客户类型       | 固定值"个人"            | cust_type        | ✅ 匹配    |
| guarType       | 担保方式       | 必填，可选值：信用/保证/抵押/质押 | guar_type        | ✅ 匹配    |
| custName       | 客户名称       | 可选                 | cust_name        | ✅ 匹配    |
| idType         | 证件类型       | 可选                 | id_type          | ✅ 匹配    |
| idNum          | 证件号码       | 可选                 | **❌ 缺失**         | ⚠️ 需要添加 |
| applyAmt       | 申请金额       | 必填，单位：元            | apply_amt        | ✅ 匹配    |
| bizProof       | 是否有经营佐证    | 可选                 | biz_proof        | ✅ 匹配    |
| loanLoop       | 循环功能       | 可选                 | **❌ 缺失**         | ⚠️ 需要添加 |
| collType       | 抵质押类型      | 可选                 | coll_type        | ✅ 匹配    |
| collThirdParty | 抵质押物是否三方所有 | 可选                 | coll_third_party | ✅ 匹配    |

### 个人客户缺失字段

| 字段名       | 中文名  | 类型           | 说明                      |
|-----------|------|--------------|-------------------------|
| id_num    | 证件号码 | varchar(100) | 存储个人身份证号或其他证件号码         |
| loan_loop | 循环功能 | varchar(10)  | 贷款合同是否开通循环功能，true/false |

---

## 企业客户字段对比

| CSV字段名         | 中文名        | CSV要求                 | 数据库字段            | 匹配状态    |
|----------------|------------|-----------------------|------------------|---------|
| custIsn        | 客户内码       | 必填                    | cust_isn         | ✅ 匹配    |
| custType       | 客户类型       | 固定值"企业"               | cust_type        | ✅ 匹配    |
| guarType       | 担保方式       | 必填，可选值：信用/保证/抵押/质押    | guar_type        | ✅ 匹配    |
| custName       | 客户名称       | 可选                    | cust_name        | ✅ 匹配    |
| idType         | 证件类型       | 可选                    | id_type          | ✅ 匹配    |
| idNum          | 证件号码       | 可选                    | **❌ 缺失**         | ⚠️ 需要添加 |
| (无字段名)         | 贸易和建筑业企业   | 抵（质）押类：贸易和建筑业企业上调20BP | **❌ 缺失**         | ⚠️ 需要添加 |
| isAgriGuar     | 省农担担保贷款    | 省农担担保贷款下调40个BP        | is_agri_guar     | ✅ 匹配    |
| isGreenLoan    | 绿色贷款       | 绿色贷款或科技型企业最多下降5BP     | **❌ 缺失**         | ⚠️ 需要添加 |
| isTechEnt      | 科技型企业      | 绿色贷款或科技型企业最多下降5BP     | **❌ 缺失**         | ⚠️ 需要添加 |
| loanTerm       | 贷款期限       | 可选                    | **❌ 缺失**         | ⚠️ 需要添加 |
| applyAmt       | 申请金额       | 必填，单位：元               | apply_amt        | ✅ 匹配    |
| collType       | 抵质押类型      | 可选                    | coll_type        | ✅ 匹配    |
| collThirdParty | 抵质押物是否三方所有 | 可选                    | coll_third_party | ✅ 匹配    |

### 企业客户缺失字段

| 字段名                   | 中文名        | 类型           | 说明                               |
|-----------------------|------------|--------------|----------------------------------|
| id_num                | 证件号码       | varchar(100) | 存储企业统一社会信用代码或其他证件号码              |
| is_trade_construction | 贸易和建筑业企业标识 | varchar(10)  | 抵（质）押类：贸易和建筑业企业上调20BP，true/false |
| is_green_loan         | 绿色贷款       | varchar(10)  | 绿色贷款标识，true/false                |
| is_tech_ent           | 科技型企业      | varchar(10)  | 科技型企业标识，true/false               |
| loan_term             | 贷款期限       | varchar(50)  | 贷款期限，单位：月/年                      |

---

## 数据库变更 SQL

```sql
-- 添加缺失的字段到 loan_pricing_workflow 表

-- 个人和企业共同需要的字段
ALTER TABLE `loan_pricing_workflow` ADD COLUMN `id_num` varchar(100) DEFAULT NULL COMMENT '证件号码' AFTER `id_type`;

-- 个人客户专用字段
ALTER TABLE `loan_pricing_workflow` ADD COLUMN `loan_loop` varchar(10) DEFAULT NULL COMMENT '循环功能: true/false' AFTER `biz_proof`;

-- 企业客户专用字段
ALTER TABLE `loan_pricing_workflow` ADD COLUMN `is_trade_construction` varchar(10) DEFAULT NULL COMMENT '贸易和建筑业企业标识: true/false（抵质押类上调20BP）' AFTER `is_agri_guar`;
ALTER TABLE `loan_pricing_workflow` ADD COLUMN `is_green_loan` varchar(10) DEFAULT NULL COMMENT '绿色贷款: true/false' AFTER `is_agri_guar`;
ALTER TABLE `loan_pricing_workflow` ADD COLUMN `is_tech_ent` varchar(10) DEFAULT NULL COMMENT '科技型企业: true/false' AFTER `is_agri_guar`;
ALTER TABLE `loan_pricing_workflow` ADD COLUMN `loan_term` varchar(50) DEFAULT NULL COMMENT '贷款期限' AFTER `apply_amt`;
```

---

## Entity 类更新

`LoanPricingWorkflow.java` 需要添加以下属性：

```java
/** 证件号码 */
private String idNum;

/** 循环功能: true/false */
private String loanLoop;

/** 贸易和建筑业企业标识: true/false */
private String isTradeConstruction;

/** 绿色贷款: true/false */
private String isGreenLoan;

/** 科技型企业: true/false */
private String isTechEnt;

/** 贷款期限 */
private String loanTerm;
```

---

## 建议行动

1. **立即执行**：添加缺失的数据库字段
2. **更新 Entity**：在 `LoanPricingWorkflow` 实体类中添加对应的属性
3. **更新 Proposal**：在 `split-pricing-creation-interface` 的 tasks.md 中添加数据库变更任务
4. **测试验证**：确保新字段可以正确存储和检索数据

---

## 总结

- **个人客户缺失字段**：2 个（id_num, loan_loop）
- **企业客户缺失字段**：5 个（id_num, is_trade_construction, is_green_loan, is_tech_ent, loan_term）
- **共同缺失字段**：1 个（id_num）
- **总计需要添加**：6 个新字段

数据库和实体类需要同步更新，才能支持新的个人和企业发起接口。
