前端:
/** 导出按钮操作 */
handleExport() {
this.download('manage/task/export', {
...this.queryParams
}, `task_${new Date().getTime()}.xlsx`)
},
/** 导入按钮操作 */
handleImport() {
this.upload.title = "台账导入";
this.upload.open = true;
},
/** 下载模板操作 */
importTemplate() {
this.download('manage/task/importTemplate', {
}, `user_template_${new Date().getTime()}.xlsx`)
},
// 文件上传中处理
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
},
// 文件上传成功处理
handleFileSuccess(response, file, fileList) {
this.upload.open = false;
this.upload.isUploading = false;
this.$refs.upload.clearFiles();
this.$alert("", "导入结果", { dangerouslyUseHTMLString: true });
this.getList();
},
// 提交上传文件
submitFileForm(e) {
this.$refs.upload.submit();
console.log(this.upload.url + '?updateSupport=' + this.upload.updateSupport)
}
后端:
做service接口
实现接口:
@Override
public String importUser(ListmanageTaskVoList, boolean updateSupport, String operName)
{
if (StringUtils.isNull(manageTaskVoList) || manageTaskVoList.size() == 0) {
throw new ServiceException("导入用户数据不能为空!");
}
int successNum = 0;
int failureNum = 0;
StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder();
// String password = configService.selectConfigByKey("sys.user.initPassword");
for (ManageTaskVo manageTaskVo : manageTaskVoList)
{
ManageTask m = new ManageTask();
BeanUtils.copyProperties(manageTaskVo,m);
String s = manageTaskVo.getPipelineNum() + "-" + manageTaskVo.getPipelineNum() + "-" + manageTaskVo.getCraterNum();
String realUserName = manageTaskVo.getRealUserName();
if (realUserName!=null&&realUserName!=""){
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("nick_name",realUserName);
SysUserVo realOne = userService.getOne(wrapper);
if (realOne!=null) m.setRealUserId(realOne.getUserId());
}
String leaderUserName = manageTaskVo.getLeaderUserName();
if (leaderUserName!=null&&leaderUserName!=""){
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("nick_name",leaderUserName);
SysUserVo leaderOne = userService.getOne(wrapper);
if (leaderOne!=null) m.setLeaderUserId(leaderOne.getUserId());
}
try
{
// 验证是否存在这个用户
ManageTask manageTask = manageTaskMapper.selectById(manageTaskVo.getTaskId());
if (StringUtils.isNull(manageTask))//不存在
{
if (m.getTaskStatus()==2)
m.setEndDate(new Date());
m.setTaskId(null);
manageTaskMapper.insert(m);
successNum++;
successMsg.append("
" + successNum + "、" + s + " 导入成功");
}
else if (updateSupport)//存在---true 覆盖
{
if (m.getTaskStatus()==2 && manageTask.getEndDate()==null)
m.setEndDate(new Date());
manageTaskMapper.updateById(m);
successNum++;
successMsg.append("
" + successNum + "、" + s + " 更新成功");
}
else //存在
{
failureNum++;
failureMsg.append("
" + failureNum + "、" + s + " 已存在");
}
}
catch (Exception e)
{
failureNum++;
String msg = "
" + failureNum + "、" + s + " 导入失败:";
failureMsg.append(msg + e.getMessage());
}
}
if (failureNum > 0)
{
failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
throw new ServiceException(failureMsg.toString());
}
else
{
successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
}
return successMsg.toString();
}
原创©本文章为侯永亮原创,未经许可,禁止转载
0条评论