发送上传文件的请求后, Server端处理文件上传,并通过websocket交互处理进度.
上传成功后, 保存上传的用户和文件路径信息.
读取Excel文件的内容,检查表关的数据,如果有不合要求的,返回读取文件出错,需要更正后重新上传.
继续读取文件内容,按行处理, 检查用户名和身份证号是否有冲突,有冲突则记录此异常.保存此行员工方案到临时表. 通过websocket交互处理进度.
数据读取完成后, 返回此次数据的主ID,前端调用此ID读取临时表的数据给页面展示.
/he/shebao_plan/import/excel POST
字段 | 类型 | 长度 | 必须有值 | 必传 | 描述 |
---|---|---|---|---|---|
ws_id | string | 8 | Y | Y | websocket的sessionID |
binary | 0 ~ 10M | Y | Y | 文件流 |
进度消息的结构是Json包. 需要调用JSON.parse转换.基本包含3种协议.
1. 成功打开WebSocket的协议(协议号: "WS_ID"), 内容体是会话ID.
2. 普通消息协议(协议号: "WS_MSG"),内容体是进度消息.
3. WS使用结束,可以关闭的协议(协议号: "WS_DONE"),内容体一般是"DONE".
成功处理的话, data字段的值是此次处理的ID. 用此ID获取数据.
有异常
{
"data": null,
"msg": "员工的五险一金方案不存在,已经终止修改。",
"code": 500
}
成功处理
{
"data": 60,
"msg": "",
"code": 200
}
用上传成功返回的ID值为参数, 请求具体数据列表.
/he/shebao_plan/import/data POST
字段 | 类型 | 长度 | 必须有值 | 必传 | 描述 |
---|---|---|---|---|---|
temp_id | int | 10 | Y | Y | 数据的主标识 |
返回列表数据 和 有数据冲突的列表数据.
int temp_id; // 主数据ID
int count; // 数据数量
List<TWXYJEplanDataTemp> dataList; // 数据列表
/** */
int id;
/** */
int temp_id;
/** 城市名称 */
String city_name;
/** */
int city_code;
/** 姓名 */
String user_name;
/** 身份证 */
String id_card;
/** 联系方式 */
String phone;
/** 户籍性质 */
String hukou;
/** 民族 */
String nation;
/** 基数方案 */
String param_name;
/** 基数方案 */
String radix_type;
/** 社保基数 */
double shebao_radix;
/** 是否购买公积金 */
String buy_fund;
/** 公积金基数 */
double fund_radix;
/** 公积金企业比例 */
double ent_ratio;
/** 公积金员工比例 */
double p_ratio;
int err_count; // 异常数据数量
List<EPlanErrorVO> ErrorList; // 异常数据列表
int id; // 异常数据标识
int data_id; // 对应数据的标识
String user_name; // 对应数据的姓名
String id_card; // 对应数据的身份证号
String err_code; // 冲突类型
String err_value; // 冲突值(依类型定)
String desc; // 冲突描述
/he/shebao_plan/import/edit/error POST
字段 | 类型 | 长度 | 必须有值 | 必传 | 描述 |
---|---|---|---|---|---|
id | int | 10 | Y | Y | 异常数据的标识 |
opt_code | int | 10 | Y | Y | 冲突解决代码值 |
opt_code的值
int OPT_NEW_USER = 10; // 作为新员工方案
int OPT_USE_NEW = 11; // 采用新的数据
int OPT_USE_OLD = 1; // 采用旧有的数据
返回修改的成功与否.
200 修改成功
500 修改出错和异常信息提示
600 参数校验不通过
有异常
{
"data": null,
"msg": "操作码无效.",
"code": 600
}
成功处理
{
"data": null,
"msg": "",
"code": 200
}
结合Websocket服务操作. 更具体的提示信息通过此服务发布.
/he/shebao_plan/import POST
字段 | 类型 | 长度 | 必须有值 | 必传 | 描述 |
---|---|---|---|---|---|
temp_id | int | 10 | Y | Y | 异常数据的标识 |
ws_id | string | 8 | Y | Y | websocket的会话ID |
返回导入成功与否.
200 导入成功
500 导入出错和异常信息提示
600 参数校验不通过
{
"data": null,
"msg": "",
"code": 200
}