|
@@ -390,12 +390,14 @@ public class SysUserController {
|
|
|
* 导出excel
|
|
|
*
|
|
|
* @param request
|
|
|
- * @param response
|
|
|
+ * @param sysUser
|
|
|
*/
|
|
|
@RequestMapping(value = "/exportXls")
|
|
|
public ModelAndView exportXls(SysUser sysUser,HttpServletRequest request) {
|
|
|
|
|
|
QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(sysUser, request.getParameterMap());
|
|
|
+ LoginUser loginUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
|
|
|
+ queryWrapper.lambda().like(SysUser::getPkOrg,loginUser.getOrgCode());
|
|
|
|
|
|
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
|
|
|
|
@@ -422,11 +424,13 @@ public class SysUserController {
|
|
|
* @param response
|
|
|
* @return
|
|
|
*/
|
|
|
- @RequiresPermissions("user:import")
|
|
|
+
|
|
|
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
|
|
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
|
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
|
|
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
|
|
+ List<SysDepart> sysDepartList = sysDepartService.list();
|
|
|
+
|
|
|
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
|
|
MultipartFile file = entity.getValue();
|
|
|
ImportParams params = new ImportParams();
|
|
@@ -434,13 +438,51 @@ public class SysUserController {
|
|
|
params.setHeadRows(1);
|
|
|
params.setNeedSave(true);
|
|
|
try {
|
|
|
+ LoginUser loginUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
|
|
|
List<SysUser> listSysUsers = ExcelImportUtil.importExcel(file.getInputStream(), SysUser.class, params);
|
|
|
+ Optional<SysDepart> defaultOrg = sysDepartList.stream().filter(e->e.getId().equals(loginUser.getOrgCode())).findFirst();
|
|
|
+
|
|
|
+ int index = 1;
|
|
|
+ StringBuilder sbErr = new StringBuilder();
|
|
|
for (SysUser sysUserExcel : listSysUsers) {
|
|
|
if (sysUserExcel.getPassword() == null) {
|
|
|
|
|
|
sysUserExcel.setPassword("123456");
|
|
|
}
|
|
|
- sysUserService.save(sysUserExcel);
|
|
|
+ String salt = oConvertUtils.randomGen(8);
|
|
|
+ sysUserExcel.setSalt(salt);
|
|
|
+ String passwordEncode = PasswordUtil.encrypt(sysUserExcel.getUsername(), sysUserExcel.getPassword(), salt);
|
|
|
+ sysUserExcel.setPassword(passwordEncode);
|
|
|
+ if (sysUserExcel.getStatus() == null){
|
|
|
+ sysUserExcel.setStatus(1);
|
|
|
+ }
|
|
|
+ sysUserExcel.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
|
|
|
+ sysUserExcel.setActivitiSync("1");
|
|
|
+ sysUserExcel.setPkOrg(loginUser.getOrgCode());
|
|
|
+ sysUserExcel.setOrgCode(loginUser.getOrgCode());
|
|
|
+ sysUserExcel.setPkOrgName(defaultOrg.get().getDepartName());
|
|
|
+
|
|
|
+ Optional<SysDepart> findDep = sysDepartList.stream().filter(e->e.getId().equals(sysUserExcel.getDepartIds())).findFirst();
|
|
|
+ if (!findDep.isPresent()){
|
|
|
+ sbErr.append("第"+index+"行负责部门填写错误。");
|
|
|
+ }else{
|
|
|
+ sysUserExcel.setDepartIds(findDep.get().getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ index++;
|
|
|
+ }
|
|
|
+ if (sbErr.length()>0){
|
|
|
+ return Result.ok("文件导入失败:" + sbErr.toString());
|
|
|
+ }else{
|
|
|
+ for (SysUser sysUserExcel : listSysUsers) {
|
|
|
+ String depId = sysUserExcel.getDepartIds();
|
|
|
+ if (sysUserExcel.getIdentity() == 1){
|
|
|
+ sysUserExcel.setDepartIds("");
|
|
|
+ }
|
|
|
+ sysUserService.save(sysUserExcel);
|
|
|
+ sysUserService.addUserWithDepart(sysUserExcel, depId);
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
return Result.ok("文件导入成功!数据行数:" + listSysUsers.size());
|
|
|
} catch (Exception e) {
|