principals
# principals
实验室负责人(或实验室管理部门)记录表
|键名|类型|非空|说明|其它信息|
|:---:|:---:|:---:|:---:|:---|
|principal_id|int|是|实验室负责人id|primary, auto increment|
|principal_sid|char(5)|是|实验室负责人的工号||
|principal_name|varchar(10)|是|负责人姓名|也可以是管理实验室的部门的名字|
|password|char(32)|是|负责人的密码||
|principal_office|varchar(15)|是|负责人办公室||
|principal_email|varchar(35)|否|负责人电子邮箱|
|principal_phone|char(11)|否|负责人手机号|
## 存储过程
### create_principal
如果表中不存在完全相同记录,则创建一条记录。
|参数|类型|非空|其他信息|
|:---:|:---:|:---:|:---|
|principal_name|IN varchar(10)|是||
|principal_sid|IN char(5)|是||
|password|IN char(32)|是||
|principal_office|IN varchar(15)|是||
|principal_email|IN varchar(35)|否||
|principal_phone|IN char(11)|否||
|return_code|OUT tinyint|是||
### get_principal_by_info
根据`@principal_sid`获取记录。返回所有字段。用于负责人验证登录。
|参数|类型|非空|其他信息|
|:---:|:---:|:---:|:---|
|principal_sid|IN char(5)|是||
|password|IN char(32)|是||
|return_code|OUT tinyint|是||
|返回字段|类型|
|:---:|:---:|
|principal_name|varchar(10)|
|principal_office|varchar(15)|
|principal_email|varchar(35)|
|principal_phone|char(11)|
### get_principal_by_filter
根据过滤条件获取记录。过滤条件可能全为空,也可能只有一个不为空。过滤条件为`@prinsipal_sid`、`@principal_name`或`@principal_office`返回所有字段。
|参数|类型|非空|其他信息|
|:---:|:---:|:---:|:---|
|number|IN int|是|每一页显示的数量|
|pageIndex|IN int|是|分页的下标|
|principal_sid|IN char(5)|否||
|principal_name|IN varchar(10)|否|使用like搜索|
|principal_office|IN varchar(15)|否|使用like搜索|
|record_count|OUT int|否||
|返回字段|类型|
|:---:|:---:|
|principal_sid|char(5)|
|principal_name|varchar(10)|
|principal_office|varchar(15)|
|principal_email|varchar(35)|
|principal_phone|char(11)|
### get_principal_by_name
|参数|类型|非空|其他信息|
|:---:|:---:|:---:|:---|
|principal_name|IN varchar(50)|是||
|record_count|OUT int|是||
|返回字段|类型|
|:---:|:---:|
|principal_sid|char(5)|
|principal_office|varchar(15)|
|principal_email|varchar(35)|
|principal_phone|char(11)|