diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java index 0a5d232..5f735f5 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java @@ -70,6 +70,9 @@ public interface ISysMenuService { @ApiOperation(value = "新增菜单信息") SysMenu insertSysMenu(SysMenu sysMenu); + @ApiOperation(value = "新增菜单信息") + List refreshSysMenu(List list); + /** * 查询所有数据 * diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMessageService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMessageService.java index 2270dff..67b69ef 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMessageService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMessageService.java @@ -116,7 +116,7 @@ public interface ISysMessageService { * @return */ @ApiOperation(value = "根据id查询用户消息") - SysMessage getSysMessageByRefUserMessageId(Long id); + SysMessage doGetSysMessageByRefUserMessageId(Long id); /** * 批量修改用户消息状态 diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserInfoService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserInfoService.java index 9a3099b..acd1ee0 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserInfoService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserInfoService.java @@ -82,6 +82,9 @@ public interface ISysUserInfoService { @ApiOperation(value = "删除用户-批量",notes = "根据UserInfoId 批量删除用户信息") void deleteSysUserInfoByIds(Long[] ids); + @ApiOperation(value = "获取用户数量",notes = "获取有效用户数量") + int getSysUserInfoCount(); + /** * 根据Key 数据 * @param id diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestTransService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestTransService.java index 3d652cc..27cb7be 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestTransService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestTransService.java @@ -22,6 +22,9 @@ public interface ITestTransService { @ApiOperation(value = "自定义dao混用") void testTran(); + @ApiOperation(value = "测试缓存事务") + void testRedisTrans(String name, String val); + /******************** 读写分离部分测试 **********************/ @ApiOperation(value = "读写分离测试读") diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/AppStartSystemInit.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/AppStartSystemInit.java index 4586d42..6e0f541 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/AppStartSystemInit.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/AppStartSystemInit.java @@ -1,14 +1,20 @@ package cn.estsh.i3plus.core.apiservice.configuration; import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService; +import cn.estsh.i3plus.core.api.iservice.busi.ISysOrganizeService; +import cn.estsh.i3plus.core.api.iservice.busi.ISysUserInfoService; import cn.estsh.i3plus.core.api.iservice.busi.ISystemResourceService; import cn.estsh.i3plus.platform.common.util.CommonConstWords; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage; import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.util.ImppRedis; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -30,14 +36,29 @@ public class AppStartSystemInit implements CommandLineRunner { @Autowired private ISystemInitService systemInitService; + @Value("${spring.profiles.active}") + public String SPRING_PROFILES_ACTIVE; + // 限制组织数量 + public static int organizeCount = 5; + // 限制账号数量 + public static int userInfoCount = 100; + @Resource(name = "redisRes") private ImppRedis redisRes; @Autowired private ISystemResourceService systemResourceService; + @Autowired + private ISysOrganizeService organizeService; + + @Autowired + private ISysUserInfoService userInfoService; + @Override public void run(String... args) throws Exception { +// checkOrganizeCount(); +// checkUserInfoCount(); LOGGER.info("【IMPP-Core开始绑定资源信息...】"); packIMPPResources(); @@ -46,6 +67,26 @@ public class AppStartSystemInit implements CommandLineRunner { } /** + * 检查组织数量是否超出 + */ + public void checkOrganizeCount(){ + if(organizeService.getSysOrganizeCount() > organizeCount){ + LOGGER.info("【启动检查】组织数量已超出授权许可,请联系商务人员"); + System.exit(1); + } + } + + /** + * 检查组织数量是否超出 + */ + public void checkUserInfoCount(){ + if(userInfoService.getSysUserInfoCount() > userInfoCount){ + LOGGER.info("【启动检查】用户数量已超出授权许可,请联系商务人员"); + System.exit(1); + } + } + + /** * 初始化资源信息,并缓存 */ public void packIMPPResources() { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java index 3528f73..7c12597 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java @@ -6,8 +6,10 @@ import cn.estsh.i3plus.core.apiservice.thread.CoreDemoThread; import cn.estsh.i3plus.platform.common.util.QueueConstWords; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.model.test.TestConstructModel; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SysRole; +import cn.estsh.i3plus.pojo.platform.bean.TestTransUser; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; @@ -33,6 +35,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.Set; @@ -107,10 +110,10 @@ public class DemoRedisMqController extends CoreBaseController{ @GetMapping(value="/get-cache") @ApiOperation(value="缓存",notes="获取数据") - public ResultBean getCache(){ - System.out.println("2===== " + redisCore.getObject("wms")); + public ResultBean getCache(String name){ + System.out.println("===== " + redisCore.getObject(name)); - return new ResultBean(true); + return new ResultBean(true,redisCore.getObject(name)); } @GetMapping(value="/exception-demo") @@ -351,4 +354,17 @@ public class DemoRedisMqController extends CoreBaseController{ return new ResultBean(true,"操作成功"); } + + @GetMapping(value="/redis-object") + @ApiOperation(value="测试对象",notes="对象是否需要构造方法") + public ResultBean testRedisObject(){ + //放入缓存 + TestConstructModel model = new TestConstructModel(); + model.setId(1); + model.setUser(new TestTransUser()); + model.setUserList(new ArrayList<>()); + redisCore.putObject("model",model,100); + + return new ResultBean(true,"已放入缓存"); + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoTransactionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoTransactionController.java index 3098ba1..935bcb4 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoTransactionController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoTransactionController.java @@ -2,24 +2,19 @@ package cn.estsh.i3plus.core.apiservice.controller; import cn.estsh.i3plus.core.api.iservice.busi.ITestService; import cn.estsh.i3plus.core.api.iservice.busi.ITestTransService; -import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.platform.bean.TestTransUser; import cn.estsh.impp.framework.base.controller.CoreBaseController; -import cn.estsh.impp.framework.boot.datasource.DataSourceConfig; -import cn.estsh.impp.framework.boot.datasource.DynamicDataSourceHolder; import cn.estsh.impp.framework.boot.util.ResultBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import javax.persistence.LockModeType; import java.util.List; /** @@ -41,6 +36,19 @@ public class DemoTransactionController extends CoreBaseController { @Autowired private ITestService testService; + + /** + * 属性更新 + * @return 处理结果 + */ + @PostMapping("/trans-test-redis") + @ApiOperation(value = "事务测试缓存") + public ResultBean testRedisTrans(String name,String val) { + transService.testRedisTrans(name,val); + + return ResultBean.success("事务测试缓存"); + } + /** * dao混合调用 * diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java index 291d3b8..b372dfa 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java @@ -93,8 +93,7 @@ public class AuthController extends CoreBaseController { if (menus != null) { for (SysMenu menu : menus) { if (menu != null) { - if (menu.getMenuType().equals(CommonEnumUtil.METHOD_LEVEL.PLUGIN.getValue()) - && menu.getParentId().longValue() != -1) { + if (menu.getMenuType().equals(CommonEnumUtil.METHOD_LEVEL.PLUGIN.getValue()) && menu.getParentId().longValue() != -1) { list.add(menu); } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/BaseMessageController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/BaseMessageController.java index f2c58a0..1f57842 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/BaseMessageController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/BaseMessageController.java @@ -209,7 +209,7 @@ public class BaseMessageController extends CoreBaseController { try { ValidatorBean.checkNotNull(idStr, "id"); - SysMessage userMessage = sysMessageService.getSysMessageByRefUserMessageId(Long.parseLong(idStr)); + SysMessage userMessage = sysMessageService.doGetSysMessageByRefUserMessageId(Long.parseLong(idStr)); ValidatorBean.checkNotNull(userMessage, "消息不存在"); return ResultBean.success("查询成功").setResultObject(userMessage).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java index 3fd60fb..90ecf76 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java @@ -116,19 +116,14 @@ public class WhiteController extends CoreBaseController { LOGGER.info("用户登陆 loginName:{} loginPwd:{} languageCode:{}",loginName,loginPwd,languageCode); ResultBean result = null; + this.startMultiService(); try { ValidatorBean.checkNotNull(loginName,"用户名不能为空"); ValidatorBean.checkNotNull(loginPwd,"密码不能为空"); ValidatorBean.checkNotNull(languageCode,"语言不能为空"); -// ValidatorBean.checkNotNull(ipAddr,"IP 地址不能为空"); logout(); - - // 去除前后空格 - loginName = loginName.trim(); - loginPwd = loginPwd.trim(); - - SessionUser user = userService.queryUserLogin(loginName,loginPwd,languageCode); + SessionUser user = userService.queryUserLogin(loginName.trim(),loginPwd.trim(),languageCode); String redisKey = CommonConstWords.USER_LOGIN_ERROR + "_" + user.getUser().getId(); redisCore.deleteKey(redisKey); @@ -140,6 +135,7 @@ public class WhiteController extends CoreBaseController { // 记录登录记录 recordSysUserLog(user.getUser().getUserInfoId(), loginName,CommonEnumUtil.USER_LOGIN_STATUS.LOGIN_SUCCESS.getValue(), ipAddr); + AuthUtil.setOrganize(user.getUser().getOrganize()); } catch (IncorrectCredentialsException e) { // 密码错误 Integer num = systemLoginService.doLoginPasswordError(loginName, ipAddr); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java index 80647c7..dbb5e2b 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java @@ -4,6 +4,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService; import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService; import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.tool.EncryptTool; import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.tool.TimeTool; @@ -19,7 +20,6 @@ import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; @@ -30,7 +30,10 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @Description : @@ -128,6 +131,7 @@ public class PersonnelController extends CoreBaseController { // 关系 刷新 refreshRef(user, info, model); + endMultiService(); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); @@ -155,6 +159,7 @@ public class PersonnelController extends CoreBaseController { personnelService.checkSysUserOnly(user); SysUserInfo userInfo = personnelService.getSysUserInfoById(info.getId()); + SysUser sysUser = personnelService.getSysUserById(user.getId()); SysDepartment infoDepartment = personnelService.getSysDepartmentById(Long.parseLong(model.getInfoDepartmentId())); if (infoDepartment == null) { @@ -202,17 +207,23 @@ public class PersonnelController extends CoreBaseController { userInfo.setUserGrade(info.getUserGrade()); userInfo.setUserEmployeeType(info.getUserEmployeeType()); - user.setDepartmentId(userDepartment.getId()); - user.setDepartmentNameRdd(userDepartment.getName()); - user.setOrganizeId(userOrganize.getId()); - user.setOrganizeNameRdd(userOrganize.getName()); + sysUser.setUserLoginName(user.getUserLoginName()); + sysUser.setLanguageCode(user.getLanguageCode()); + sysUser.setUserEmail(user.getUserEmail()); + sysUser.setUserPhone(user.getUserPhone()); + sysUser.setDepartmentId(userDepartment.getId()); + sysUser.setDepartmentNameRdd(userDepartment.getName()); + sysUser.setOrganizeId(userOrganize.getId()); + sysUser.setOrganizeNameRdd(userOrganize.getName()); // 关系 刷新 - refreshRef(user, userInfo, model); + refreshRef(sysUser, userInfo, model); // 更新 密码 - refreshSysUserPassword(user); + if(StringUtils.isNotBlank(user.getUserLoginPassword())){ + refreshSysUserPassword(sysUser); + } - personnelService.saveSysUser(user); + personnelService.saveSysUser(sysUser); personnelService.saveSysUserInfo(userInfo); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); @@ -573,6 +584,57 @@ public class PersonnelController extends CoreBaseController { } /** + * 获取账号的所有组织信息集合 + * @return 组织信息集合 + */ + @GetMapping(value = "/user/get-organize-list") + @ApiOperation(value = "获取账号信息", notes = "获取用户账号的所有组织信息") + public ResultBean getUserOrganizeList(){ + try { + List list = AuthUtil.getSessionUser().getUser().getOrganizeList(); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @PutMapping(value = "/user/session-organize/{id}") + @ApiOperation(value = "修改用户会话组织信息", notes = "修改用户会话组织信息") + public ResultBean updateUserOrganizeList(@PathVariable("id") String idStr){ + try { + ValidatorBean.checkIsNumber(idStr, "id为空"); + List list = AuthUtil.getSessionUser().getUser().getOrganizeList(); + Long id = Long.parseLong(idStr); + SysOrganize organize = null; + for (SysOrganize org : list) { + if(org.getId().equals(id)){ + organize = org; + } + } + + if(organize == null){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("不存在的组织信息") + .setErrorSolution("请重新操作") + .build(); + } + + // 会话工厂信息保存进Redis + AuthUtil.setOrganize(organize); + + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(organize); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + /** * 数据必填校验 * * @param model 用户信息 @@ -602,7 +664,7 @@ public class PersonnelController extends CoreBaseController { /** * 数据必填校验 * - * @param model数据消息 + * @param model 数据消息 * @throws Exception */ public void checkUserModel(UserDetailModel model) throws Exception { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java index c8e4255..44309b8 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java @@ -1,7 +1,9 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysMenuService; +import cn.estsh.i3plus.core.apiservice.util.ExcelUtil; import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.base.bean.ListPager; @@ -12,17 +14,22 @@ import cn.estsh.i3plus.pojo.platform.bean.SysMenu; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @Description : 系统功能对外接口 @@ -271,4 +278,121 @@ public class SysMenuController extends CoreBaseController { } } + + + /** + * 文件上传 + * @param multipart 文件 + * @return 处理结果 + */ + @PostMapping("/upload") + @ApiOperation(value = "文件上传", notes = "文件上传") + public ResultBean singleFileUpload(@RequestParam("file") MultipartFile multipart) { + try { + startMultiService(); + + if(multipart.isEmpty()){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("请选择需要上传的文件。") + .build(); + } + List list = ExcelUtil.importData("permission.xls",multipart.getInputStream(), SysMenu.class); + + Map map = new HashMap<>(); + list.forEach(menu -> { + ValidatorBean.checkNotNull(menu.getMenuCode(), "功能代码不能为空"); + ValidatorBean.checkNotNull(menu.getParentId(), "父级功能ID不能为空"); + + menu.setId(Long.parseLong(menu.getMenuCode())); + menu.setMenuSort(Integer.parseInt(menu.getMenuCode())); + if (!map.containsKey(menu.getMenuCode())) { + map.put(menu.getMenuCode(),menu); + } else { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("功能代码【" + menu.getMenuCode() + "】重复") + .build(); + } + + }); + + list.forEach(menu -> { + menu.setIsDeleted(CommonEnumUtil.IS_DEAL.NO.getValue()); + menu.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); + if(menu.getParentId().longValue() != -1){ + SysMenu mu = map.get(menu.getParentId().toString()); + ValidatorBean.checkNotNull(mu, "【"+menu.getParentId()+"】不存在的父节点信息"); + menu.setNameZhShortening(StringTool.getAllFirstLetter(mu.getName())); + menu.setParentNameRdd(mu.getName()); + } + }); + + return ResultBean.success("上传成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultList(sysMenuService.refreshSysMenu(list)); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + /** + * 文件下载 + * + * @param response response + * @return 处理结果 + */ + @GetMapping("/download/excel") + @ApiOperation(value = "权限文件下载", notes = "权限文件下载") + public ResultBean singleDownload(HttpServletResponse response) { + try { + startMultiService(); + String fileName = "menu_" + System.currentTimeMillis() + ".xls"; + List list = sysMenuService.findSysMenuAll(); + + File file = new File(fileName); + file.createNewFile(); + File excle = ExcelUtil.exportData(file, list, SysMenu.class, new String[]{ + "menuCode", "name","parentId","menuType","menuStatus","parentNameRdd","menuUrl","menuClassPath","menuGrade","menuSort" + ,"menuCss","menuIcon","menuDescription" + }); + + InputStream targetStream = new DataInputStream(new FileInputStream(excle)); + response.setContentType("application/force-download"); // 设置强制下载不打开 + response.addHeader("Content-Disposition", "attachment;fileName=" + fileName); // 设置文件名 + response.addHeader("Content-type", "application/octet-stream"); // 设置文件名 + + BufferedInputStream bis = null; + try { + bis = new BufferedInputStream(targetStream); + OutputStream os = response.getOutputStream(); + byte[] buffer = new byte[1024]; + int i = bis.read(buffer); + while (i != -1) { + os.write(buffer, 0, i); + i = bis.read(buffer); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bis != null) { + try { + bis.close(); + targetStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return ResultBean.success("下载").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskPlanController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskPlanController.java index c5d2e1c..0f29094 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskPlanController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskPlanController.java @@ -148,7 +148,7 @@ public class SysTaskPlanController extends CoreBaseController { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()) - .setErrorDetail("定时任务已存在") + .setErrorDetail("定时任务已存在" + baseResultBean.getErrorMsg()) .build(); } @@ -160,7 +160,7 @@ public class SysTaskPlanController extends CoreBaseController { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()) - .setErrorDetail("定时任务添加失败") + .setErrorDetail("定时任务添加失败-" + baseResultBean.getErrorMsg()) .build(); } @@ -174,7 +174,7 @@ public class SysTaskPlanController extends CoreBaseController { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()) - .setErrorDetail("定时任务执行失败") + .setErrorDetail("定时任务执行失败-" + baseResultBean.getErrorMsg()) .build(); } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java index 0945239..fb0f212 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java @@ -300,6 +300,7 @@ public class SysUserController extends CoreBaseController{ @ApiOperation(value="查询系统用户",notes="组合查询用户,外带分页查询(isValid = 1)") public ResultBean querySysUserByPager(SysUser user, Pager pager){ try{ + user.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); ListPager listPager = sysUserService.querySysUserByPager(user, pager); return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java index 5ab49dd..e959c88 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java @@ -18,7 +18,6 @@ import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; -import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; @@ -169,15 +168,16 @@ public class SysUserInfoController extends CoreBaseController{ /** * 查询用户信息 - * @param SysUserInfo 查询条件 + * @param userInfo 查询条件 * @param pager 分页信息 * @return 处理结果 */ @GetMapping(value="/query") @ApiOperation(value="查询用户信息",notes="复杂查询用户信息带分页") - public ResultBean querySysUserInfo(SysUserInfo SysUserInfo, Pager pager){ + public ResultBean querySysUserInfo(SysUserInfo userInfo, Pager pager){ try{ - ListPager listPager = sysUserInfoService.querySysUserInfo(SysUserInfo, pager); + userInfo.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + ListPager listPager = sysUserInfoService.querySysUserInfo(userInfo, pager); return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/IUserPermissionDao.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/IUserPermissionDao.java index 56851c0..b55d00f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/IUserPermissionDao.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/IUserPermissionDao.java @@ -35,6 +35,13 @@ public interface IUserPermissionDao { List findSysMenuByUser(SysUser user); /** + * 根据角色获取 目录 + * @param roleId 角色ID集合 + * @return 获取有效的目录信息 + */ + List findSysMenuByInRoleId(Long ... roleId); + + /** * 查询用户所有功能权限 Tree * @param user 用户 * @return 查询结果 diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/UserPermissionDaoImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/UserPermissionDaoImpl.java index 34a3bb3..92d2f08 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/UserPermissionDaoImpl.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/UserPermissionDaoImpl.java @@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; import javax.persistence.EntityManager; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; /** @@ -40,7 +41,7 @@ public class UserPermissionDaoImpl implements IUserPermissionDao { LOGGER.info(" 查询用户所有角色 user id:{}", user.getId()); String hql = "select sr from SysRefUserRole as rur " + - " left join SysRole as sr on sr.id = rur.roleId " + + " left join SysRole as sr on sr.id = rur.roleId" + " where rur.userId =:userId"; //hql = "select rur from RefUserRole as rur,SysRole as where rur.userId =:userId and sr.id = rur.roleId"; return entityManager.createQuery(hql).setParameter("userId",user.getId()).getResultList(); @@ -66,6 +67,26 @@ public class UserPermissionDaoImpl implements IUserPermissionDao { } @Override + public List findSysMenuByInRoleId(Long... roleId) { + LOGGER.info(" 查询用户所有菜单 roleIds :{}", roleId); + List result = new ArrayList<>(); + if(roleId != null && roleId.length > 0){ + String hql = "select sm from SysRefRoleMenu as rrm " + + " left join SysMenu as sm on sm.id = rrm.menuId" + + " where rrm.roleId in :roleId"; + List list = entityManager.createQuery(hql).setParameter("roleId", Arrays.asList(roleId)).getResultList(); + if(list != null && list.size() > 0){ + for (SysMenu menu : list) { + if(!result.contains(menu)){ + result.add(menu); + } + } + } + } + return result; + } + + @Override public List findSysMenuByUserTree(SysUser user) { return null; } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileServiceImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileServiceImpl.java index 541b3c7..40efe5c 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileServiceImpl.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileServiceImpl.java @@ -141,6 +141,8 @@ public class SysFileServiceImpl implements ISysFileService { String[] fileAbsolutePath = dfsClient.upload(fastDFSFile); // 保存到系统文件表中 + LOGGER.info(" dfsClient ====>> " + dfsClient); + LOGGER.info(" fileAbsolutePath ====>> " + fileAbsolutePath); String filePath = dfsClient.getHostUi() + "/" + fileAbsolutePath[0] + "/" + fileAbsolutePath[1]; SysDictionary dictionary = sysDictionaryRDao.getByProperty(new String[]{"parentCodeRdd", "dictionaryValue"}, new Object[]{BaseConstWords.DICTIONARY_FILE_TYPE, fastDFSFile.getExt()}); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java index 58d6a84..f7da85b 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java @@ -82,7 +82,6 @@ public class SysMenuService implements ISysMenuService { sysMenuRDao.update(menu); // 更新冗余信息 personnelService.refreshMenuRdd(menu.getId()); - personnelService.refreshUpdateMenuRdd(menu.getId()); } @Override @@ -176,6 +175,13 @@ public class SysMenuService implements ISysMenuService { } @Override + public List refreshSysMenu(List list) { + LOGGER.info("系统功能 SYS_MENU list :{}", list); + + return sysMenuRDao.saveAll(list); + } + + @Override @ApiOperation(value = "查询菜单信息",notes = "查询所有菜单信息") public List findSysMenuAll() { LOGGER.info("系统功能 SYS_MENU find All"); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java index 98801cb..2f0fe39 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java @@ -201,7 +201,7 @@ public class SysMessageService implements ISysMessageService { @Override @ApiOperation(value = "根据id查询用户消息") - public SysMessage getSysMessageByRefUserMessageId(Long id) { + public SysMessage doGetSysMessageByRefUserMessageId(Long id) { SysRefUserMessage sysRefUserMessage = sysRefUserMessageRDao.getById(id); if (sysRefUserMessage == null){ throw ImppExceptionBuilder.newInstance() @@ -222,14 +222,14 @@ public class SysMessageService implements ISysMessageService { // 更新状态消息状态以及阅读数量 if(sysRefUserMessage.getMessageStatusValue() == ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue()) { - sysRefUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.READ.getValue()); - sysRefUserMessageRDao.update(sysRefUserMessage); - // 阅读数累加1 sysMessage.setReadCount(sysMessage.getReadCountVal() + 1); sysMessageRDao.update(sysMessage); } + sysRefUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.READ.getValue()); + sysRefUserMessageRDao.update(sysRefUserMessage); + // 查询附件信息 sysMessage.setSysFileAttachList(sysFileAttachRDao.findByProperty("refId",sysMessage.getId())); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java index 363a61d..33d2179 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java @@ -42,6 +42,9 @@ public class SysOrganizeService implements ISysOrganizeService { @Autowired private IPersonnelService personnelService; + + + @Override @ApiOperation(value = "更新组织", notes = "传入持久化组织对象,进行更新") public void updateSysOrganize(SysOrganize organize) { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java index ad2d656..740a764 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java @@ -177,17 +177,6 @@ public class SysRoleService implements ISysRoleService { } } - // 冗余信息 - for (SysRole role : roleList) { - role.setModuleNumber(moduleListRdd.size()); - role.setModuleNamesRdd(String.join(",",moduleListRdd)); - - role.setMenuNumber(featuresListRdd.size()); - role.setMenuNamesRdd(String.join(",",featuresListRdd)); - -// ConvertBean.serviceModelUpdate(role,userName); - } - refRoleMenuRDao.saveAll(refs); roleRDao.saveAll(roleList); }else { @@ -282,7 +271,6 @@ public class SysRoleService implements ISysRoleService { } } - /** * 登录名 唯一检查 * @param roleName diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserInfoService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserInfoService.java index 9ac550e..70f865b 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserInfoService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserInfoService.java @@ -242,6 +242,15 @@ public class SysUserInfoService implements ISysUserInfoService { } @Override + public int getSysUserInfoCount() { + LOGGER.info("用户信息 SysUserInfo Count"); + + return sysUserInfoRDao.findByPropertyCount( + new String[]{"isDeleted","isValid"}, + new Object[]{CommonEnumUtil.IS_DEAL.NO.getValue(),CommonEnumUtil.IS_VAILD.VAILD.getValue()}); + } + + @Override @ApiOperation(value = "查询用户信息",notes = "根据 UserInfoId查询用户信息") public SysUserInfo getSysUserInfoById(Long id) { return sysUserInfoRDao.getById(id); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java index 74694fc..03747d5 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java @@ -23,6 +23,7 @@ import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import com.alibaba.fastjson.JSON; import io.swagger.annotations.ApiOperation; import org.apache.commons.collections.ListUtils; import org.apache.commons.lang3.ArrayUtils; @@ -34,6 +35,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import java.util.*; @@ -99,6 +102,7 @@ public class SysUserService implements ISysUserService { @Override @ApiOperation(value = "用户登录", notes = "用户登录功能实现") + @Transactional(propagation = Propagation.REQUIRED) public SessionUser queryUserLogin(String loginName, String password, String languageCode) throws AuthenticationException { LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode); @@ -109,7 +113,6 @@ public class SysUserService implements ISysUserService { if(user == null){ throw new CredentialsException("用户不存在"); } - packSessionUser(sessionUser, user, user.getUserType(), languageCode); AuthUtil.setSessionUser(sessionUser); refreshUserLoginInformation(user.getId()); @@ -299,7 +302,13 @@ public class SysUserService implements ISysUserService { @ApiOperation(value = "账号查询", notes = "查询所有账号信息") public List list() { LOGGER.debug("平台用户 SYS_USER find All"); - return sysUserRDao.findByProperty("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + return sysUserRDao.findByProperty( + new String[]{"isDeleted","isValid","organizeCode"}, + new Object[]{ + CommonEnumUtil.IS_DEAL.NO.getValue(), + CommonEnumUtil.IS_VAILD.VAILD.getValue(), + AuthUtil.getOrganize().getOrganizeCode() + }); } @Override @@ -626,7 +635,15 @@ public class SysUserService implements ISysUserService { e.printStackTrace(); } - user.setRoleList(roleList); + if(roleList != null && roleList.size() > 0){ + List list = new ArrayList<>(); + roleList.forEach(role -> { + if(role.getRoleStatus() != null && role.getRoleStatus().equals(CommonEnumUtil.DATA_STATUS.ENABLE.getValue())){ + list.add(role); + } + }); + user.setRoleList(list); + } } /** @@ -637,9 +654,15 @@ public class SysUserService implements ISysUserService { public void packSysUserMenu(SysUser user){ List list = null; try { - LOGGER.debug("平台用户 SYS_USER user id :{}", user.getUserInfoId()); - - list = userPermissionDao.findSysMenuByUser(user); + LOGGER.info("平台用户 SYS_USER user id :{}", user.getUserInfoId()); + if(user.getRoleList() != null && user.getRoleList().size() > 0){ + List ids = new ArrayList<>(); + user.getRoleList().forEach(role -> { + ids.add(role.getId()); + }); + + list = userPermissionDao.findSysMenuByInRoleId(ids.toArray(new Long[ids.size()])); + } }catch (Exception e){ LOGGER.error(" SysUser Peck Menu information Error userId : {} Exception Message : {} " ,user.getUserInfoId(),e.getMessage()); e.printStackTrace(); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTransService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTransService.java index ba62cc6..cbf450a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTransService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTransService.java @@ -8,6 +8,7 @@ import cn.estsh.i3plus.pojo.platform.repository.SysDepartmentRepository; import cn.estsh.i3plus.pojo.platform.repository.SysUserInfoRepository; import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository; import cn.estsh.i3plus.pojo.platform.repository.TestTransUserRepository; +import cn.estsh.impp.framework.boot.util.ImppRedis; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.jpa.repository.Lock; import org.springframework.stereotype.Service; @@ -16,6 +17,7 @@ import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import javax.persistence.LockModeType; import java.util.List; import java.util.Random; @@ -30,6 +32,12 @@ import java.util.Random; @Service public class TestTransService implements ITestTransService { + /** + * 缓存 + */ + @Resource(name="redisCore") + private ImppRedis redisCore; + @Autowired private SysDepartmentRepository sysDepartmentRDao; @@ -144,9 +152,15 @@ public class TestTransService implements ITestTransService { } + public void testRedisTrans(String name, String val){ + System.out.println("==========" + redisCore.getObject(name)); + + redisCore.putObject(name,val); + System.out.println("======已缓存======"); + } + @Override public List listRead() { - List ul = testTransUserRepository.list(); testTransUserRepository.flush(); System.out.println("查询333数量:" + ul); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java index 16ff152..82ab984 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/ExcelUtil.java @@ -153,12 +153,7 @@ public class ExcelUtil { } // excel 文本框最大长度 - if(String.valueOf(cellValue).length() > 30000){ - hssfRow.createCell(j, CellType.STRING).setCellValue(String.valueOf(cellValue).substring(0, 30000)); - }else{ - hssfRow.createCell(j, CellType.STRING).setCellValue(String.valueOf(cellValue)); - } - + hssfRow.createCell(j, CellType.STRING).setCellValue(StringTool.valueExcelOf(cellValue)); } } @@ -208,6 +203,7 @@ public class ExcelUtil { // 校验sheet是否超过最大行数 Sheet sheet = wb.getSheet(importClass.getSimpleName()); int maxRow = Integer.parseInt(sysConfigService.getSysConfigByCode(PlatformConstWords.EXCEL_IMPORT_MAX_ROW).getConfigValue()); + System.out.println(maxRow); if (sheet != null && sheet.getLastRowNum() > maxRow) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) @@ -246,30 +242,33 @@ public class ExcelUtil { row = sheet.getRow(i); obj = importClass.newInstance(); for (int j = 0; j < fields.length; j++) { - // 判断是否存在引用关系 - if (fields[j].isAnnotationPresent(AnnoOutputColumn.class)) { - inputColumn = fields[j].getAnnotation(AnnoOutputColumn.class); - row.getCell(j).setCellType(CellType.STRING); - cellValue = row.getCell(j).getStringCellValue(); - - // 判断是否为枚举字段 - if (inputColumn.refClass().isEnum()) { - method = inputColumn.refClass().getDeclaredMethod( - inputColumn.value() + "Of" + StringTool.toUpperCaseFirstOne(inputColumn.refForeignKey()), - inputColumn.refClass().getDeclaredMethod("get"+ - StringTool.toUpperCaseFirstOne(inputColumn.value())).getReturnType()); - cellValue = method.invoke(null, cellValue); - }else if(inputColumn.refClass().equals(SysDictionary.class) && cellValue != null){ - cellValue = sysDictionaryService.getSysDictionaryByParentCodeAndName(inputColumn.refForeignKey(), String.valueOf(cellValue)).getName(); - } else if(!inputColumn.refClass().equals(Object.class) && !inputColumn.refClass().equals(SysDictionary.class)){ - cellValue = selectByProperty(inputColumn.refClass(), inputColumn.refForeignKey(), inputColumn.value(), cellValue); + Field field = fields[j]; + if(field != null){ + // 判断是否存在引用关系 + if (field.isAnnotationPresent(AnnoOutputColumn.class)) { + inputColumn = fields[j].getAnnotation(AnnoOutputColumn.class); + row.getCell(j).setCellType(CellType.STRING); + cellValue = row.getCell(j).getStringCellValue(); + + // 判断是否为枚举字段 + if (inputColumn.refClass().isEnum()) { + method = inputColumn.refClass().getDeclaredMethod( + inputColumn.value() + "Of" + StringTool.toUpperCaseFirstOne(inputColumn.refForeignKey()), + inputColumn.refClass().getDeclaredMethod("get"+ + StringTool.toUpperCaseFirstOne(inputColumn.value())).getReturnType()); + cellValue = method.invoke(null, cellValue); + }else if(inputColumn.refClass().equals(SysDictionary.class) && cellValue != null){ + cellValue = sysDictionaryService.getSysDictionaryByParentCodeAndName(inputColumn.refForeignKey(), String.valueOf(cellValue)).getName(); + } else if(!inputColumn.refClass().equals(Object.class) && !inputColumn.refClass().equals(SysDictionary.class)){ + cellValue = selectByProperty(inputColumn.refClass(), inputColumn.refForeignKey(), inputColumn.value(), cellValue); + } + }else{ + cellValue = getExcelCell(row.getCell(j), field.getType()); } - }else{ - cellValue = getExcelCell(row.getCell(j), fields[j].getType()); - } - fields[j].setAccessible(true); - fields[j].set(obj, cellValue); + field.setAccessible(true); + field.set(obj, cellValue); + } } dataList.add(obj); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/MessageWebSocket.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/MessageWebSocket.java index 4ca65a8..2c6ca61 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/MessageWebSocket.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/MessageWebSocket.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.core.apiservice.websocket; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; +import io.netty.util.internal.ConcurrentSet; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @@ -8,7 +9,12 @@ import org.springframework.stereotype.Component; import javax.websocket.*; import javax.websocket.server.PathParam; import javax.websocket.server.ServerEndpoint; +import java.io.EOFException; import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; @@ -19,25 +25,38 @@ import java.util.concurrent.ConcurrentMap; * @CreateDate : 2018-11-24 16:57 * @Modify: **/ -@ServerEndpoint(value= PlatformConstWords.WEBSOCKET_URL + "/message-websocket/{userId}") +@ServerEndpoint(value = PlatformConstWords.WEBSOCKET_URL + "/message-websocket/{userId}/{userLoginSid}") @Component public class MessageWebSocket { private static final Logger LOGGER = LoggerFactory.getLogger(MessageWebSocket.class); - private long userId = 1L; + private long userId; + private String userLoginSid; + //websocket会话 private Session session; // 当前对象会话 private static int sendCount = 1; - //concurrent线程安全集合,存放客户端websocket对象 - private static ConcurrentMap webSocketSet = new ConcurrentHashMap(); + + // 用户会话消息 + private static ConcurrentMap> userSessionMap = new ConcurrentHashMap<>(); + // concurrent线程安全集合,存放客户端websocket对象 + private static ConcurrentMap webSocketMap = new ConcurrentHashMap<>(); @OnOpen - public void onOpen(@PathParam("userId")long userId, Session session){ + public void onOpen(@PathParam("userId")long userId,@PathParam("userLoginSid")String userLoginSid, Session session){ this.userId = userId; + this.userLoginSid = userLoginSid; this.session = session; - webSocketSet.put(userId,this); //在线人数添加 + ConcurrentSet sidSet = userSessionMap.get(userId); + if(sidSet == null){ + sidSet = new ConcurrentSet<>(); + } + sidSet.add(userLoginSid); + + userSessionMap.put(userId, sidSet); + webSocketMap.put(userLoginSid, this); //在线人数添加 LOGGER.info("{}加入!当前在线人数为{}",userId,getOnlineCount()); } @@ -46,7 +65,7 @@ public class MessageWebSocket { */ @OnClose public void onClose() { - subOnlineUser(this.userId); + subOnlineUser(this.userId, this.userLoginSid); LOGGER.info("有一连接关闭!当前在线人数为" + getOnlineCount()); } @@ -55,10 +74,10 @@ public class MessageWebSocket { * * @param message 客户端发送过来的消息*/ @OnMessage - public void onMessage(@PathParam("userId")Long userId,String message) { + public void onMessage(@PathParam("userLoginSid")String userLoginSid,String message) { // 心跳 if("heartBit".equals(message)){ - this.sendMessage(userId,"heartBit"); + this.sendMessage(userLoginSid,"heartBit"); }else{ LOGGER.info("来自客户端的消息:" , message); } @@ -70,19 +89,43 @@ public class MessageWebSocket { */ @OnError public void onError(Session session, Throwable error) { - LOGGER.info("发生错误"); - error.printStackTrace(); + if(error.getClass().equals(EOFException.class)){ + LOGGER.error("WebSocket连接已断开"); + }else { + LOGGER.error("发生错误",error.toString()); + error.printStackTrace(); + } } /** - * 发送消息 - * @param message - * @throws IOException + * 根据用户id发送消息 + * @param userId 用户id + * @param message 消息主体 */ public static void sendMessage(Long userId, String message){ try { - MessageWebSocket websocket = webSocketSet.get(userId); - if(websocket != null) { + ConcurrentSet websocket = userSessionMap.get(userId); + if (websocket != null && websocket.size() != 0) { + for (String sid : websocket) { + if(webSocketMap.get(sid).session.isOpen()){ + webSocketMap.get(sid).session.getBasicRemote().sendText(message); + } + } + } + } catch (IOException e) { + e.printStackTrace(); + } + } + + /** + * 根据会话id发送消息 + * @param userLoginSid 会话id + * @param message 消息主体 + */ + public static void sendMessage(String userLoginSid, String message){ + try { + MessageWebSocket websocket = webSocketMap.get(userLoginSid); + if (websocket != null && websocket.session.isOpen()) { if (message.equals("heartBit")) { websocket.session.getBasicRemote().sendText(message + "=" + sendCount); sendCount++; @@ -96,10 +139,17 @@ public class MessageWebSocket { } public static synchronized int getOnlineCount() { - return webSocketSet.size(); + return userSessionMap.size(); } - public synchronized void subOnlineUser(long userId) { - webSocketSet.remove(userId); + public synchronized void subOnlineUser(long userId, String userLoginSid) { + webSocketMap.remove(userId); + ConcurrentSet sidSet = userSessionMap.get(userId); + if(sidSet != null){ + sidSet.remove(userLoginSid); + if(sidSet.isEmpty()){ + userSessionMap.remove(userId); + } + } } } diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties index c35e513..94cb0d0 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties @@ -187,4 +187,4 @@ fastdfs.http_anti_steal_token=no ################ 授权配置 ################ slm.api.password=4C9479EBEFA6FA6E232EF25EFA49C4D2 -slm.app.id=20190513 +slm.app.id=10000 diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-docker.properties b/modules/i3plus-core-apiservice/src/main/resources/application-docker.properties index 1e058ea..d273f49 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-docker.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-docker.properties @@ -185,4 +185,4 @@ fastdfs.http_anti_steal_token=no ################ 授权配置 ################ slm.api.password=4C9479EBEFA6FA6E232EF25EFA49C4D2 -slm.app.id=20190513 +slm.app.id=10000 diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-prod.properties b/modules/i3plus-core-apiservice/src/main/resources/application-prod.properties index fbc61c1..56711bf 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-prod.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-prod.properties @@ -189,4 +189,4 @@ fastdfs.http_anti_steal_token=no ################ 授权配置 ################ slm.api.password=4C9479EBEFA6FA6E232EF25EFA49C4D2 -slm.app.id=20190513 +slm.app.id=10000 diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-test.properties b/modules/i3plus-core-apiservice/src/main/resources/application-test.properties index 0520955..3830b1d 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-test.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-test.properties @@ -188,4 +188,4 @@ fastdfs.http_anti_steal_token=no ################ 授权配置 ################ slm.api.password=4C9479EBEFA6FA6E232EF25EFA49C4D2 -slm.app.id=20190513 +slm.app.id=10000 diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestUser.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestUser.java index 1af08dd..47816e7 100644 --- a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestUser.java +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestUser.java @@ -1,720 +1,718 @@ -package test.cn.estsh.i3plus.core.apiservice.serviceimpl.busi; - -import cn.estsh.i3plus.core.api.iservice.busi.*; -import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase; -import cn.estsh.i3plus.core.apiservice.util.FileUtil; -import cn.estsh.i3plus.platform.common.convert.ConvertBean; -import cn.estsh.i3plus.pojo.base.bean.BaseBean; -import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; -import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; -import cn.estsh.i3plus.pojo.model.platform.UserDetailModel; -import cn.estsh.i3plus.pojo.platform.bean.*; -import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; -import cn.estsh.impp.framework.boot.auth.AuthUtil; -import cn.estsh.impp.framework.boot.util.ValidatorBean; -import com.alibaba.fastjson.JSON; -import org.apache.commons.lang3.RandomStringUtils; -import org.apache.commons.lang3.RandomUtils; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.time.DateFormatUtils; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; - -import java.io.FileWriter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; -import java.util.UUID; - -/** - * @Description : - * @Reference : - * @Author : Adair Peng - * @CreateDate : 2019-02-25 14:39 - * @Modify: - **/ -public class TestUser extends TestBase{ - - SnowflakeIdMaker snowflakeIdMaker = new SnowflakeIdMaker(); - - @Autowired - private ISysPositionService positionService; - - @Autowired - private ISysOrganizeService organizeService; - - @Autowired - private ISysDepartmentService departmentService; - - @Autowired - private ISysMenuService menuService; - - @Autowired - private ISysRoleService roleService; - - String TEXT = "飓风黑兹尔是1954年大西洋飓风季期间造成死亡人数最多、经济损失最惨重的飓风。这场风暴夺走了海地多达1000人的生命,然后又以四级飓风强度从南、北卡罗莱纳州边境附近袭击美国,造成95人丧生。之后黑兹尔转变成温带风暴,但仍然致使81人遇难,其中大部分来自多伦多。由于风暴造成了重大人员伤亡和财产损失,其名称“黑兹尔”因此从大西洋风暴命名名单上退役。黑兹尔摧毁了海地40%的咖啡树和50%的可可作物,对当地经济的影响持续了数年之久。飓风在南、北卡罗莱纳州登陆,冲击点附近的大部分海滨住宅被毁。气旋从北卡罗莱纳州沿大西洋海岸北上,先后影响了弗吉尼亚州、西弗吉尼亚州、马里兰州、特拉华州、新泽西州、宾夕法尼亚州和纽约州,产生的阵风时速有近160公里,造成的经济损失高达3.08亿美元。多伦多市内及周边有许多溪流溢出,导致严重的洪涝灾害。加拿大遭受的损失达到1.35亿加拿大元。由于缺少应对热带气旋的经验,加上风暴强度的保持时间异常之长,多伦多所受影响的严重程度是前所未有的"; - - @Autowired - private ITestTransService testTransService; - @Test - public void testTrans(){ - try { - testTransService.testListTran(1, "aaa"); - }catch(Exception e){ - System.out.println("111============事务出错:" + e.getMessage()); - e.printStackTrace(); - } - - try { - testTransService.testListTran(2, "aaa"); - }catch(Exception e){ - System.out.println("222============事务出错:" + e.getMessage()); - e.printStackTrace(); - } - - try { - testTransService.testListTran(3, "aaa"); - }catch(Exception e){ - System.out.println("333============事务出错:" + e.getMessage()); - e.printStackTrace(); - } - - try { - testTransService.testListTran(4, "aaa"); - }catch(Exception e){ - System.out.println("444============事务出错:" + e.getMessage()); - e.printStackTrace(); - } - - try { - testTransService.testListTran(5, "aaa"); - }catch(Exception e){ - System.out.println("555============事务出错:" + e.getMessage()); - e.printStackTrace(); - } - - try { - testTransService.testListTran(6, "aaa"); - }catch(Exception e){ - System.out.println("666============事务出错:" + e.getMessage()); - e.printStackTrace(); - } - - try { - testTransService.testListTran(7, "aaa"); - }catch(Exception e){ - System.out.println("777============事务出错:" + e.getMessage()); - e.printStackTrace(); - } - - try { - testTransService.testListTran(8, "aaa"); - }catch(Exception e){ - System.out.println("888============事务出错:" + e.getMessage()); - e.printStackTrace(); - } - - try { - testTransService.testListTran(9, "aaa"); - }catch(Exception e){ - System.out.println("999============事务出错:" + e.getMessage()); - e.printStackTrace(); - } - } - - @Test - public void testSysPosition() throws Exception{ - List dataBase = new ArrayList<>(); - - for (int i = 0; i < 15; i++) { - SysPosition position = new SysPosition(); - position.setName(RandomStringUtils.random(10, TEXT)); - position.setPositionCode(RandomStringUtils.random(10, true, false)); - position.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); - init(position); - dataBase.add(position); - - for (int j = 0; j < 10; j++) { - - SysPosition position2 = new SysPosition(); - position2.setName(RandomStringUtils.random(10, TEXT)); - position2.setPositionCode(RandomStringUtils.random(10, true, false)); - position2.setParentId(position.getId()); - position2.setParentNameRdd(position.getName()); - init(position2); - dataBase.add(position2); - - for (int k = 0; k < 5; k++) { - SysPosition position3 = new SysPosition(); - position3.setName(RandomStringUtils.random(10, TEXT)); - position3.setPositionCode(RandomStringUtils.random(10, true, false)); - position3.setParentId(position2.getId()); - position3.setParentNameRdd(position2.getName()); - init(position3); - dataBase.add(position3); - } - } - } - - System.out.println("打印SQL Start "); - String txt = null; - - for (SysPosition position : dataBase) { - txt = new String("INSERT INTO sys_position (id, create_date, create_user, is_deleted, is_valid, modify_date, modify_user, organize_code, name, parent_id, parent_name_rdd, position_code, position_description) VALUES" + - " ("+position.getId()+", '"+position.getCreateDatetime()+"', '"+position.getCreateUser()+"', "+position.getIsDeleted()+", "+position.getIsValid()+"," + - " '"+position.getModifyDatetime()+"', '"+position.getModifyUser()+"', null, '"+position.getName()+"', "+position.getParentId()+", '"+position.getParentNameRdd()+"', '"+position.getPositionCode()+"', null);"); - fileWriter("E:\\test\\SysPosition.sql",txt); - } - - System.out.println("打印SQL Start End "); - - } - - @Test - public void testOrganize()throws Exception{ - System.out.println(positionService); - List organizeList = new ArrayList<>(); - List departmentList = new ArrayList<>(); - - for (int i = 0; i < 10; i++) { - SysOrganize organize = new SysOrganize(); - organize.setName(RandomStringUtils.random(10, TEXT)); - organize.setOrganizeCode(RandomStringUtils.random(10, true, false)); - organize.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); - organize.setParentNameRdd("顶级组织"); - organize.setOrganizeType(ImppEnumUtil.ORGANIZE_YTPE.TYPE_GROUP.getValue()); - - init(organize); - organizeList.add(organize); - - for (int j = 0; j < 5 ; j++) { - SysDepartment department = new SysDepartment(); - department.setName(RandomStringUtils.random(10, TEXT)); - department.setDepartmentCode(RandomStringUtils.random(10, true, false)); - department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); - department.setParentNameRdd("顶级部门"); - department.setOrganizeId(organize.getId()); - department.setOrganizeNameRdd(organize.getName()); - department.setOrganizeCode(organize.getOrganizeCode()); - - init(department); - departmentList.add(department); - - for (int k = 0; k < 5; k++) { - SysDepartment department1 = new SysDepartment(); - department1.setName(RandomStringUtils.random(10, TEXT)); - department1.setDepartmentCode(RandomStringUtils.random(10, true, false)); - department1.setParentId(department.getId()); - department1.setParentNameRdd(department.getParentNameRdd()); - department1.setOrganizeId(organize.getId()); - department1.setOrganizeNameRdd(organize.getName()); - department1.setOrganizeCode(organize.getOrganizeCode()); - - init(department1); - departmentList.add(department1); - - for (int l = 0; l < 5; l++) { - SysDepartment department2 = new SysDepartment(); - department2.setName(RandomStringUtils.random(10, TEXT)); - department2.setDepartmentCode(RandomStringUtils.random(10, true, false)); - department2.setParentId(department1.getId()); - department2.setParentNameRdd(department1.getParentNameRdd()); - department2.setOrganizeId(organize.getId()); - department2.setOrganizeNameRdd(organize.getName()); - department2.setOrganizeCode(organize.getOrganizeCode()); - - init(department2); - departmentList.add(department2); - } - } - } - - for (int j = 0; j < 5; j++) { - - SysOrganize organize1 = new SysOrganize(); - organize1.setName(RandomStringUtils.random(10, TEXT)); - organize1.setOrganizeCode(RandomStringUtils.random(10, true, false)); - organize1.setParentId(organize.getParentId()); - organize1.setParentNameRdd(organize.getName()); - organize1.setOrganizeType(ImppEnumUtil.ORGANIZE_YTPE.TYPE_FACTORY.getValue()); - - init(organize1); - organizeList.add(organize1); - - for (int k = 0; k < 5; k++) { - SysDepartment department = new SysDepartment(); - department.setName(RandomStringUtils.random(10, TEXT)); - department.setDepartmentCode(RandomStringUtils.random(10, true, false)); - department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); - department.setParentNameRdd("顶级部门"); - department.setOrganizeId(organize1.getId()); - department.setOrganizeNameRdd(organize1.getName()); - department.setOrganizeCode(organize1.getOrganizeCode()); - - init(department); - departmentList.add(department); - for (int l = 0; l < 5; l++) { - SysDepartment department1 = new SysDepartment(); - department1.setName(RandomStringUtils.random(10, TEXT)); - department1.setDepartmentCode(RandomStringUtils.random(10, true, false)); - department1.setParentId(department.getId()); - department1.setParentNameRdd(department.getParentNameRdd()); - department1.setOrganizeId(organize1.getId()); - department1.setOrganizeNameRdd(organize1.getName()); - department1.setOrganizeCode(organize1.getOrganizeCode()); - - init(department1); - departmentList.add(department1); - for (int m = 0; m < 5; m++) { - SysDepartment department2 = new SysDepartment(); - department2.setName(RandomStringUtils.random(10, TEXT)); - department2.setDepartmentCode(RandomStringUtils.random(10, true, false)); - department2.setParentId(department1.getId()); - department2.setParentNameRdd(department1.getParentNameRdd()); - department2.setOrganizeId(organize1.getId()); - department2.setOrganizeNameRdd(organize1.getName()); - department2.setOrganizeCode(organize1.getOrganizeCode()); - - init(department2); - departmentList.add(department2); - } - } - } - - for (int k = 0; k < 5; k++) { - - SysOrganize organize2 = new SysOrganize(); - organize2.setName(RandomStringUtils.random(10, TEXT)); - organize2.setOrganizeCode(RandomStringUtils.random(10, true, false)); - organize2.setParentId(organize1.getParentId()); - organize2.setParentNameRdd(organize1.getName()); - organize2.setOrganizeType(ImppEnumUtil.ORGANIZE_YTPE.TYPE_FACTORY.getValue()); - - init(organize2); - organizeList.add(organize2); - - for (int l = 0; l < 5; l++) { - SysDepartment department = new SysDepartment(); - department.setName(RandomStringUtils.random(10, TEXT)); - department.setDepartmentCode(RandomStringUtils.random(10, true, false)); - department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); - department.setParentNameRdd("顶级部门"); - department.setOrganizeId(organize2.getId()); - department.setOrganizeNameRdd(organize2.getName()); - department.setOrganizeCode(organize2.getOrganizeCode()); - - init(department); - departmentList.add(department); - for (int m = 0; m < 5; m++) { - SysDepartment department1 = new SysDepartment(); - department1.setName(RandomStringUtils.random(10, TEXT)); - department1.setDepartmentCode(RandomStringUtils.random(10, true, false)); - department1.setParentId(department.getId()); - department1.setParentNameRdd(department.getParentNameRdd()); - department1.setOrganizeId(organize2.getId()); - department1.setOrganizeNameRdd(organize2.getName()); - department1.setOrganizeCode(organize2.getOrganizeCode()); - - init(department1); - departmentList.add(department1); - for (int n = 0; n < 5; n++) { - SysDepartment department2 = new SysDepartment(); - department2.setName(RandomStringUtils.random(10, TEXT)); - department2.setDepartmentCode(RandomStringUtils.random(10, true, false)); - department2.setParentId(department1.getId()); - department2.setParentNameRdd(department1.getParentNameRdd()); - department2.setOrganizeId(organize2.getId()); - department2.setOrganizeNameRdd(organize2.getName()); - department2.setOrganizeCode(organize2.getOrganizeCode()); - - init(department2); - departmentList.add(department2); - } - } - } - } - } - } - - for (SysOrganize organize : organizeList) { - String txt = new String(" INSERT INTO sys_organize (" + - "id, create_date, create_user, is_deleted, is_valid, modify_date, " + - "modify_user, organize_code, name, organize_type, parent_id, parent_name_rdd) VALUES " + - "("+organize.getId()+", '"+organize.getCreateDatetime()+"', '"+organize.getCreateUser()+"', " + - " "+organize.getIsDeleted()+", "+organize.getIsValid()+", '"+organize.getModifyDatetime()+"'," + - " '"+organize.getModifyUser()+"', '"+organize.getOrganizeCode()+"', '"+organize.getParentNameRdd()+"'," + - " "+organize.getOrganizeType()+", "+organize.getParentId()+", '"+organize.getParentNameRdd()+"');"); - fileWriter("E:\\test\\SysOrganize.sql",txt); - } - - for (SysDepartment department : departmentList) { - String txt = new String("INSERT INTO sys_department (id, create_date, create_user, is_deleted," + - " is_valid, modify_date, modify_user, department_code, name, organize_id, organize_name_rdd," + - " parent_id, parent_name_rdd) VALUES (" + - " "+department.getId()+", '"+department.getCreateDatetime()+"'," + - " '"+department.getCreateUser()+"', "+department.getIsDeleted()+", "+department.getIsValid()+"," + - " '"+department.getModifyDatetime()+"', '"+department.getModifyUser()+"', '"+department.getDepartmentCode()+"'," + - " '"+department.getName()+"', "+department.getOrganizeId()+", '"+department.getOrganizeNameRdd()+"', " + - " "+department.getParentId()+", ':"+department.getParentNameRdd()+"');"); - fileWriter("E:\\test\\SysDepartment.sql",txt); - } - - } - - @Test - public void testSysMenu() throws Exception { - List list = menuService.findSysMenuAll(); - - for (SysMenu menu : list) { - String txt = new String("INSERT INTO sys_menu (id, create_date, create_user, is_deleted, is_valid," + - " modify_date, modify_user, menu_class_path, menu_code, menu_css, menu_description, menu_grade, menu_icon, " + - "menu_sort, menu_status, menu_type, menu_url, name, parent_id, parent_name_rdd, name_zh_shortening) VALUES (" + - " "+menu.getId()+", null, 'System Init', null, null, '2018-12-20 12:39:56', '系统管理员', '', '101010000', '', null, null, '', '0', 1, 2, '/impp-base', '基础信息管理', 100002, '设置', 'jcxxgl');"); - fileWriter("E:\\test\\SysRefRoleMenu.sql",txt); - } - } - - @Test - public void testSysRole() throws Exception{ - List list = menuService.findSysMenuAll(); - - List roleList = new ArrayList<>(); - List refRoleMenuList = new ArrayList<>(); - - for (int i = 0; i < 100 ; i++) { - List moduleListRdd = new ArrayList<>(); - List featuresListRdd = new ArrayList<>(); // 冗余 - - SysRole role = new SysRole(); - role.setRoleStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue()); - role.setMenuNumber(0); - role.setModuleNumber(0); - role.setName(RandomStringUtils.random(10, TEXT)); - role.setRoleDescription(RandomStringUtils.random(50, TEXT)); - - for (SysMenu menu : list) { - SysRefRoleMenu ref = new SysRefRoleMenu(); - ref.setRoleId(role.getId()); - ref.setRoleNameRdd(role.getName()); - ref.setMenuNameRdd(menu.getName()); - ref.setMenuId(menu.getId()); - ref.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); - ref.setMenuTypeRdd(menu.getMenuType()); - - // 冗余信息封装 - if(CommonEnumUtil.METHOD_LEVEL.MODULE.getValue() == menu.getMenuType().intValue()){ - moduleListRdd.add(menu.getName()); - } - if(CommonEnumUtil.METHOD_LEVEL.METHOD.getValue() == menu.getMenuType().intValue()){ - featuresListRdd.add(menu.getName()); - } - - init(ref); - refRoleMenuList.add(ref); - } - - role.setModuleNumber(moduleListRdd.size()); - role.setModuleNamesRdd(String.join(",",moduleListRdd)); - role.setMenuNumber(featuresListRdd.size()); - role.setMenuNamesRdd(String.join(",",featuresListRdd)); - - init(role); - roleList.add(role); - } - - for (SysRole role : roleList) { - String txt = new String(" INSERT INTO sys_role (id, create_date, create_user, is_deleted, is_valid," + - " modify_date, modify_user, menu_names_rdd, menu_number_rdd, module_names_rdd, module_number, name," + - " role_description, role_status) VALUES " + - "( "+role.getId()+", '"+role.getCreateDatetime()+"', '"+role.getCreateUser()+"', "+role.getIsDeleted()+"," + - " "+role.getIsValid()+", '"+role.getModifyDatetime()+"', '"+role.getModifyUser()+"', '"+role.getMenuNamesRdd()+"', "+role.getMenuNumber()+"," + - " '"+role.getModuleNamesRdd()+"', "+role.getModuleNumber()+", '"+role.getName()+"', null, 1);"); - fileWriter("E:\\test\\SysRole.sql",txt); - } - - for (SysRefRoleMenu ref : refRoleMenuList) { - String txt = new String("INSERT INTO sys_ref_role_menu (id, create_date, create_user, is_deleted," + - " is_valid, modify_date, modify_user, menu_id, menu_name_rdd, menu_type_rdd, role_id, role_name_rdd) VALUES (" + - " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+", "+ref.getIsValid()+"," + - " '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getMenuId()+", '"+ref.getMenuNameRdd()+"'," + - " '"+ref.getMenuTypeRdd()+"', "+ref.getRoleId()+", '"+ref.getRoleNameRdd()+"');"); - fileWriter("E:\\test\\SysRefRoleMenu.sql",txt); - } - - - - } - - @Test - public void testUserInfo() throws Exception { - List roleList = roleService.findSysRoleAll(); - List positionList = positionService.listSysPosition(); - List departmentList = departmentService.listSysDepartment(); - - for (int y = 0; y < 10; y++) { - String PATH = new String("E:\\test\\user\\" + y); - List userList = new ArrayList<>(); - List userInfoList = new ArrayList<>(); - List refUserRoleList = new ArrayList<>(); - List refUserDepartmentList = new ArrayList<>(); - List refUserInfoDepartmentList = new ArrayList<>(); - List refUserPositionList = new ArrayList<>(); - - List refUserRoleNameList ; - List refUserPositionNameList ; - List refUserDepartmentNameList ; - - SysUser user; - SysUserInfo userInfo; - SysRefUserRole refUserRole; - SysRefUserDepartment refUserDepartment; - SysRefUserInfoDepartment refUserInfoDepartment; - SysRefUserPosition refUserPosition; - SysDepartment department = null; - SysPosition position = null; - - for (int i = 0; i < 10000; i++) { - user = new SysUser(); - userInfo = new SysUserInfo(); - refUserRoleNameList = new ArrayList<>(); - refUserPositionNameList = new ArrayList<>(); - refUserDepartmentNameList = new ArrayList<>(); - - init(user); - init(userInfo); - - for (int j = 0; j < 2; j++) { - SysRole role = roleList.get(new Random().nextInt(roleList.size() - 1)); - if(role != null){ - refUserRole = new SysRefUserRole(); - init(refUserRole); - - refUserRole.setRoleId(role.getId()); - refUserRole.setRoleNameRdd(role.getName()); - refUserRole.setUserId(user.getId()); - refUserRole.setUserNameRdd(user.getUserName()); - - refUserRoleNameList.add(role.getName()); - refUserRoleList.add(refUserRole); - } - } - - for (int j = 0; j < 3; j++) { - position = positionList.get(new Random().nextInt(positionList.size() - 1)); - if(position != null){ - refUserPosition = new SysRefUserPosition(); - init(refUserPosition); - - refUserPosition.setUserId(userInfo.getId()); - refUserPosition.setUserNameRdd(userInfo.getName()); - refUserPosition.setPositionId(position.getId()); - refUserPosition.setPositionNameRdd(position.getName()); - - refUserPositionNameList.add(position.getName()); - - refUserPositionList.add(refUserPosition); - } - } - - for (int j = 0; j < 3; j++) { - department = departmentList.get(new Random().nextInt(departmentList.size() - 1)); - - if(department != null){ - refUserDepartment= new SysRefUserDepartment(); - refUserInfoDepartment = new SysRefUserInfoDepartment(); - - init(refUserDepartment); - init(refUserInfoDepartment); - - refUserDepartment.setDepartmentId(department.getId()); - refUserDepartment.setDepartmentNameRdd(department.getName()); - refUserDepartment.setOrganizeNameRdd(department.getOrganizeNameRdd()); - refUserDepartment.setOrganizeId(department.getOrganizeId()); - refUserDepartment.setOrganizeCode(department.getOrganizeCode()); - refUserDepartment.setUserId(user.getId()); - refUserDepartment.setUserNameRdd(user.getUserName()); - - refUserInfoDepartment.setDepartmentId(department.getId()); - refUserInfoDepartment.setDepartmentNameRdd(department.getName()); - refUserInfoDepartment.setOrganizeNameRdd(department.getOrganizeNameRdd()); - refUserInfoDepartment.setOrganizeId(department.getOrganizeId()); - refUserInfoDepartment.setOrganizeCode(department.getOrganizeCode()); - refUserInfoDepartment.setUserId(user.getId()); - refUserInfoDepartment.setUserNameRdd(user.getUserName()); - - refUserDepartmentNameList.add(department.getName()); - - refUserDepartmentList.add(refUserDepartment); - refUserInfoDepartmentList.add(refUserInfoDepartment); - } - } - - userInfo.setDepartmentNamesRdd(StringUtils.join(refUserDepartmentNameList)); - userInfo.setDepartmentId(department.getId()); - userInfo.setDepartmentNameRdd(department.getName()); - userInfo.setOrganizeId(department.getOrganizeId()); - userInfo.setOrganizeNameRdd(department.getOrganizeNameRdd()); - userInfo.setOrganizeCode(department.getOrganizeCode()); - userInfo.setPositionId(position.getId()); - userInfo.setPositionNameRdd(position.getName()); - userInfo.setPositionNamesRdd(StringUtils.join(refUserPositionNameList,",")); - userInfo.setName(RandomStringUtils.random(5, TEXT)); - userInfo.setUserEmpNo(RandomStringUtils.random(10, true, true)); - userInfo.setUserInfoStatus(CommonEnumUtil.USER_INFO_STATUS.INCUMBENT.getValue()); - userInfo.setUserLoginNum(0); - userInfo.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); - userInfo.setUserId(user.getId()); - - user.setUserType(CommonEnumUtil.USER_TYPE.USER.getValue()); - user.setUserStatus(CommonEnumUtil.USER_STATUS.ENABLE.getValue()); - user.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); - user.setUserLoginNum(0); - user.setDepartmentNamesRdd(StringUtils.join(refUserDepartmentNameList,",")); - user.setDepartmentId(department.getId()); - user.setDepartmentNameRdd(department.getName()); - user.setUserPhone(RandomStringUtils.random(11, false, true)); - user.setUserEmail(RandomStringUtils.random(15, true, true)); - user.setUserLoginName(RandomStringUtils.random(20, true, true)); - user.setUserLoginPassword("123456"); - user.setUserEmpNo(userInfo.getUserEmpNo()); - - userList.add(user); - userInfoList.add(userInfo); - } - - for (SysRefUserPosition ref : refUserPositionList) { - String txt = new String("INSERT INTO sys_ref_user_position (id, create_date, create_user, is_deleted," + - " is_valid, modify_date, modify_user, position_id, position_name_rdd, user_id, user_name_rdd) VALUES (" + - " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," + - " "+ref.getIsValid()+", '"+ref.getModifyUser()+"', '"+ref.getModifyDatetime()+"', "+ref.getPositionId()+"," + - " '"+ref.getPositionNameRdd()+"', "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');"); - fileWriter(PATH+"\\SysRefUserPosition.sql",txt); - } - - for (SysRefUserRole ref : refUserRoleList) { - String txt = new String("INSERT INTO sys_ref_user_role (id, create_date, create_user, is_deleted," + - " is_valid, modify_date, modify_user, role_id, role_name_rdd, user_id, user_name_rdd) VALUES (" + - " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," + - " "+ref.getIsValid()+", '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getRoleId()+"," + - " '"+ref.getRoleNameRdd()+"', "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');"); - fileWriter(PATH+"\\SysRefUserRole.sql",txt); - } - - for (SysRefUserDepartment ref : refUserDepartmentList) { - String txt = new String("INSERT INTO sys_ref_user_department (id, create_date, create_user, is_deleted," + - " is_valid, modify_date, modify_user, department_id, department_name_rdd, organize_id, organize_name_rdd, user_id, user_name) VALUES (" + - " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," + - " "+ref.getIsValid()+", '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getDepartmentId()+"," + - " '"+ref.getDepartmentNameRdd()+"', "+ref.getOrganizeId()+", '"+ref.getOrganizeNameRdd()+"'," + - " "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');"); - fileWriter(PATH+"\\SysRefUserDepartment.sql",txt); - } - - for (SysRefUserInfoDepartment ref : refUserInfoDepartmentList) { - String txt = new String("INSERT INTO sys_ref_user_info_department (id, create_date, create_user, is_deleted," + - " is_valid, modify_date, modify_user, department_id, department_name_rdd, organize_id, organize_name_rdd, user_id, user_name) VALUES (" + - " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," + - " "+ref.getIsValid()+", '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getDepartmentId()+"," + - " '"+ref.getDepartmentNameRdd()+"', "+ref.getOrganizeId()+", '"+ref.getOrganizeNameRdd()+"'," + - " "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');"); - fileWriter(PATH+"\\SysRefUserInfoDepartment.sql",txt); - } - - for (SysUser su : userList) { - String txt = new String("INSERT INTO sys_user (id, create_date, create_user, is_deleted, is_valid," + - " modify_date, modify_user, organize_code, department_id, department_name_rdd, department_names_rdd, language_code," + - " organize_id, organize_name_rdd, organize_names_rdd, role_names_rdd, user_email, user_emp_no, user_info_id," + - " user_login_last_date_time, user_login_name, user_login_num, user_login_password, user_name_rdd," + - " user_phone, user_status, user_type) VALUES (" + - " "+su.getId()+", '"+su.getCreateDatetime()+"', '"+su.getCreateUser()+"', "+su.getIsDeleted()+", "+su.getIsValid()+"," + - " '"+su.getModifyDatetime()+"', '"+su.getModifyUser()+"', '"+su.getOrganizeCode()+"', " + - " "+su.getDepartmentId()+", '"+su.getDepartmentNameRdd()+"', '"+su.getDepartmentNamesRdd()+"', ''," + - " "+su.getOrganizeId()+", '"+su.getOrganizeNameRdd()+"', null, '"+su.getRoleNamesRdd()+"', '"+su.getUserEmail()+"'," + - " '"+su.getUserEmpNo()+"', "+su.getUserInfoId()+", null, '"+su.getUserLoginName()+"', 0, '2637a5c30af69a7bad877fdb65fbd78b'," + - " '"+su.getUserName()+"', '"+su.getUserPhone()+"', 1, 1);"); - fileWriter(PATH+"\\SysUser.sql",txt); - } - - for (SysUserInfo ui : userInfoList) { - String txt = new String("INSERT INTO sys_user_info (id, create_date, create_user, is_deleted, is_valid," + - " modify_date, modify_user, organize_code, department_id, department_name_rdd, department_names_rdd, name," + - " organize_id, organize_name_rdd, position_id, position_name_rdd, position_names_rdd, user_emp_no, user_id," + - " user_info_status, user_join_date, user_login_last_date_time, user_login_num) VALUES (" + - " "+ui.getId()+", '"+ui.getCreateDatetime()+"', '"+ui.getCreateUser()+"', "+ui.getIsDeleted()+", "+ui.getIsValid()+"," + - " '"+ui.getModifyDatetime()+"', '"+ui.getModifyUser()+"', '"+ui.getOrganizeCode()+"'," + - " "+ui.getDepartmentId()+", '"+ui.getDepartmentNameRdd()+"', '"+ui.getDepartmentNamesRdd()+"'," + - " '"+ui.getName()+"', "+ui.getOrganizeId()+", '"+ui.getOrganizeNameRdd()+"'," + - " "+ui.getPositionId()+", '"+ui.getPositionNameRdd()+"', '"+ui.getPositionNamesRdd()+"'," + - " '"+ui.getUserEmpNo()+"', "+ui.getUserId()+", 1, '2019-02-26', null , 0);"); - fileWriter(PATH+"\\SysUserInfo.sql",txt); - } - - System.gc(); - } - } - - public void testUserDetailModel(){ - List roleList = roleService.findSysRoleAll(); - List positionList = positionService.listSysPosition(); - List departmentList = departmentService.listSysDepartment(); - - UserDetailModel model = new UserDetailModel(); - List roleIds = new ArrayList<>(); - List positionIds = new ArrayList<>(); - List departmentIds = new ArrayList<>(); - - for (int i = 0; i < new Random().nextInt(10) ; i++) { - SysRole role = roleList.get(new Random().nextInt(roleList.size() - 1)); - roleIds.add(role.getId().toString()); - } - - for (int i = 0; i < new Random().nextInt(10) ; i++) { - SysPosition position = positionList.get(new Random().nextInt(positionList.size() - 1)); - positionIds.add(position.getId().toString()); - } - - for (int i = 0; i < new Random().nextInt(10) ; i++) { - SysDepartment department = departmentList.get(new Random().nextInt(departmentList.size() - 1)); - departmentIds.add(department.getId().toString()); - } - - - - model.setUserInfoId(System.currentTimeMillis() + snowflakeIdMaker.nextId() + ""); - model.setUserId(System.currentTimeMillis() + snowflakeIdMaker.nextId() + ""); - model.setUserPhone(RandomStringUtils.random(11, false, true)); - model.setUserEmail(RandomStringUtils.random(15, true, true)); - model.setUserLoginPassword(RandomStringUtils.random(20, true, true)); - model.setUserRoleIdList(roleIds); - model.setUserDepartmentIdList(departmentIds); - model.setInfoEmpNo(RandomStringUtils.random(10, true, true)); - model.setInfoPositionIdList(positionIds); - model.setInfoDepartmentIdList(departmentIds); - - } - - - public void init(BaseBean bean)throws Exception{ - bean.setId(System.currentTimeMillis() + snowflakeIdMaker.nextId() + UUID.randomUUID().hashCode() + new Random().nextInt(10000000)); - bean.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); - bean.setIsDeleted(CommonEnumUtil.IS_DEAL.NO.getValue()); - bean.setCreateUser("系统管理员-测试"); - bean.setModifyUser("系统管理员-测试"); - bean.setCreateDatetime(DateFormatUtils.format(System.currentTimeMillis(),"yyyy-MM-dd HH:mm:ss")); - bean.setModifyDatetime(DateFormatUtils.format(System.currentTimeMillis(),"yyyy-MM-dd HH:mm:ss")); - } - - public static void fileWriter(String fileName, String content) { - try { - // 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件    - FileWriter writer = new FileWriter(fileName, true); - writer.write(content+"\r\n"); - writer.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - -} +//package test.cn.estsh.i3plus.core.apiservice.serviceimpl.busi; +// +//import cn.estsh.i3plus.core.api.iservice.busi.*; +//import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase; +//import cn.estsh.i3plus.core.apiservice.util.FileUtil; +//import cn.estsh.i3plus.platform.common.convert.ConvertBean; +//import cn.estsh.i3plus.pojo.base.bean.BaseBean; +//import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; +//import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +//import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; +//import cn.estsh.i3plus.pojo.model.platform.UserDetailModel; +//import cn.estsh.i3plus.pojo.platform.bean.*; +//import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; +//import cn.estsh.impp.framework.boot.auth.AuthUtil; +//import cn.estsh.impp.framework.boot.util.ValidatorBean; +//import com.alibaba.fastjson.JSON; +//import org.apache.commons.lang3.RandomStringUtils; +//import org.apache.commons.lang3.RandomUtils; +//import org.apache.commons.lang3.StringUtils; +//import org.apache.commons.lang3.time.DateFormatUtils; +//import org.junit.Test; +//import org.springframework.beans.factory.annotation.Autowired; +// +//import java.io.FileWriter; +//import java.io.IOException; +//import java.util.ArrayList; +//import java.util.List; +//import java.util.Random; +//import java.util.UUID; +// +///** +// * @Description : +// * @Reference : +// * @Author : Adair Peng +// * @CreateDate : 2019-02-25 14:39 +// * @Modify: +// **/ +//public class TestUser extends TestBase{ +// +// SnowflakeIdMaker snowflakeIdMaker = new SnowflakeIdMaker(); +// +// @Autowired +// private ISysPositionService positionService; +// +// @Autowired +// private ISysOrganizeService organizeService; +// +// @Autowired +// private ISysDepartmentService departmentService; +// +// @Autowired +// private ISysMenuService menuService; +// +// @Autowired +// private ISysRoleService roleService; +// +// String TEXT = "飓风黑兹尔是1954年大西洋飓风季期间造成死亡人数最多、经济损失最惨重的飓风。这场风暴夺走了海地多达1000人的生命,然后又以四级飓风强度从南、北卡罗莱纳州边境附近袭击美国,造成95人丧生。之后黑兹尔转变成温带风暴,但仍然致使81人遇难,其中大部分来自多伦多。由于风暴造成了重大人员伤亡和财产损失,其名称“黑兹尔”因此从大西洋风暴命名名单上退役。黑兹尔摧毁了海地40%的咖啡树和50%的可可作物,对当地经济的影响持续了数年之久。飓风在南、北卡罗莱纳州登陆,冲击点附近的大部分海滨住宅被毁。气旋从北卡罗莱纳州沿大西洋海岸北上,先后影响了弗吉尼亚州、西弗吉尼亚州、马里兰州、特拉华州、新泽西州、宾夕法尼亚州和纽约州,产生的阵风时速有近160公里,造成的经济损失高达3.08亿美元。多伦多市内及周边有许多溪流溢出,导致严重的洪涝灾害。加拿大遭受的损失达到1.35亿加拿大元。由于缺少应对热带气旋的经验,加上风暴强度的保持时间异常之长,多伦多所受影响的严重程度是前所未有的"; +// +// @Autowired +// private ITestTransService testTransService; +// @Test +// public void testTrans(){ +// try { +// testTransService.testListTran(1, "aaa"); +// }catch(Exception e){ +// System.out.println("111============事务出错:" + e.getMessage()); +// e.printStackTrace(); +// } +// +// try { +// testTransService.testListTran(2, "aaa"); +// }catch(Exception e){ +// System.out.println("222============事务出错:" + e.getMessage()); +// e.printStackTrace(); +// } +// +// try { +// testTransService.testListTran(3, "aaa"); +// }catch(Exception e){ +// System.out.println("333============事务出错:" + e.getMessage()); +// e.printStackTrace(); +// } +// +// try { +// testTransService.testListTran(4, "aaa"); +// }catch(Exception e){ +// System.out.println("444============事务出错:" + e.getMessage()); +// e.printStackTrace(); +// } +// +// try { +// testTransService.testListTran(5, "aaa"); +// }catch(Exception e){ +// System.out.println("555============事务出错:" + e.getMessage()); +// e.printStackTrace(); +// } +// +// try { +// testTransService.testListTran(6, "aaa"); +// }catch(Exception e){ +// System.out.println("666============事务出错:" + e.getMessage()); +// e.printStackTrace(); +// } +// +// try { +// testTransService.testListTran(7, "aaa"); +// }catch(Exception e){ +// System.out.println("777============事务出错:" + e.getMessage()); +// e.printStackTrace(); +// } +// +// try { +// testTransService.testListTran(8, "aaa"); +// }catch(Exception e){ +// System.out.println("888============事务出错:" + e.getMessage()); +// e.printStackTrace(); +// } +// +// try { +// testTransService.testListTran(9, "aaa"); +// }catch(Exception e){ +// System.out.println("999============事务出错:" + e.getMessage()); +// e.printStackTrace(); +// } +// } +// +// @Test +// public void testSysPosition() throws Exception{ +// List dataBase = new ArrayList<>(); +// +// for (int i = 0; i < 15; i++) { +// SysPosition position = new SysPosition(); +// position.setName(RandomStringUtils.random(10, TEXT)); +// position.setPositionCode(RandomStringUtils.random(10, true, false)); +// position.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); +// init(position); +// dataBase.add(position); +// +// for (int j = 0; j < 10; j++) { +// +// SysPosition position2 = new SysPosition(); +// position2.setName(RandomStringUtils.random(10, TEXT)); +// position2.setPositionCode(RandomStringUtils.random(10, true, false)); +// position2.setParentId(position.getId()); +// position2.setParentNameRdd(position.getName()); +// init(position2); +// dataBase.add(position2); +// +// for (int k = 0; k < 5; k++) { +// SysPosition position3 = new SysPosition(); +// position3.setName(RandomStringUtils.random(10, TEXT)); +// position3.setPositionCode(RandomStringUtils.random(10, true, false)); +// position3.setParentId(position2.getId()); +// position3.setParentNameRdd(position2.getName()); +// init(position3); +// dataBase.add(position3); +// } +// } +// } +// +// System.out.println("打印SQL Start "); +// String txt = null; +// +// for (SysPosition position : dataBase) { +// txt = new String("INSERT INTO sys_position (id, create_date, create_user, is_deleted, is_valid, modify_date, modify_user, organize_code, name, parent_id, parent_name_rdd, position_code, position_description) VALUES" + +// " ("+position.getId()+", '"+position.getCreateDatetime()+"', '"+position.getCreateUser()+"', "+position.getIsDeleted()+", "+position.getIsValid()+"," + +// " '"+position.getModifyDatetime()+"', '"+position.getModifyUser()+"', null, '"+position.getName()+"', "+position.getParentId()+", '"+position.getParentNameRdd()+"', '"+position.getPositionCode()+"', null);"); +// fileWriter("E:\\test\\SysPosition.sql",txt); +// } +// +// System.out.println("打印SQL Start End "); +// +// } +// +// @Test +// public void testOrganize()throws Exception{ +// System.out.println(positionService); +// List organizeList = new ArrayList<>(); +// List departmentList = new ArrayList<>(); +// +// for (int i = 0; i < 10; i++) { +// SysOrganize organize = new SysOrganize(); +// organize.setName(RandomStringUtils.random(10, TEXT)); +// organize.setOrganizeCode(RandomStringUtils.random(10, true, false)); +// organize.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); +// organize.setParentNameRdd("顶级组织"); +// organize.setOrganizeType(ImppEnumUtil.ORGANIZE_YTPE.TYPE_GROUP.getValue()); +// +// init(organize); +// organizeList.add(organize); +// +// for (int j = 0; j < 5 ; j++) { +// SysDepartment department = new SysDepartment(); +// department.setName(RandomStringUtils.random(10, TEXT)); +// department.setDepartmentCode(RandomStringUtils.random(10, true, false)); +// department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); +// department.setParentNameRdd("顶级部门"); +// department.setOrganizeId(organize.getId()); +// department.setOrganizeNameRdd(organize.getName()); +// department.setOrganizeCode(organize.getOrganizeCode()); +// +// init(department); +// departmentList.add(department); +// +// for (int k = 0; k < 5; k++) { +// SysDepartment department1 = new SysDepartment(); +// department1.setName(RandomStringUtils.random(10, TEXT)); +// department1.setDepartmentCode(RandomStringUtils.random(10, true, false)); +// department1.setParentId(department.getId()); +// department1.setParentNameRdd(department.getParentNameRdd()); +// department1.setOrganizeId(organize.getId()); +// department1.setOrganizeNameRdd(organize.getName()); +// department1.setOrganizeCode(organize.getOrganizeCode()); +// +// init(department1); +// departmentList.add(department1); +// +// for (int l = 0; l < 5; l++) { +// SysDepartment department2 = new SysDepartment(); +// department2.setName(RandomStringUtils.random(10, TEXT)); +// department2.setDepartmentCode(RandomStringUtils.random(10, true, false)); +// department2.setParentId(department1.getId()); +// department2.setParentNameRdd(department1.getParentNameRdd()); +// department2.setOrganizeId(organize.getId()); +// department2.setOrganizeNameRdd(organize.getName()); +// department2.setOrganizeCode(organize.getOrganizeCode()); +// +// init(department2); +// departmentList.add(department2); +// } +// } +// } +// +// for (int j = 0; j < 5; j++) { +// +// SysOrganize organize1 = new SysOrganize(); +// organize1.setName(RandomStringUtils.random(10, TEXT)); +// organize1.setOrganizeCode(RandomStringUtils.random(10, true, false)); +// organize1.setParentId(organize.getParentId()); +// organize1.setParentNameRdd(organize.getName()); +// organize1.setOrganizeType(ImppEnumUtil.ORGANIZE_YTPE.TYPE_FACTORY.getValue()); +// +// init(organize1); +// organizeList.add(organize1); +// +// for (int k = 0; k < 5; k++) { +// SysDepartment department = new SysDepartment(); +// department.setName(RandomStringUtils.random(10, TEXT)); +// department.setDepartmentCode(RandomStringUtils.random(10, true, false)); +// department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); +// department.setParentNameRdd("顶级部门"); +// department.setOrganizeId(organize1.getId()); +// department.setOrganizeNameRdd(organize1.getName()); +// department.setOrganizeCode(organize1.getOrganizeCode()); +// +// init(department); +// departmentList.add(department); +// for (int l = 0; l < 5; l++) { +// SysDepartment department1 = new SysDepartment(); +// department1.setName(RandomStringUtils.random(10, TEXT)); +// department1.setDepartmentCode(RandomStringUtils.random(10, true, false)); +// department1.setParentId(department.getId()); +// department1.setParentNameRdd(department.getParentNameRdd()); +// department1.setOrganizeId(organize1.getId()); +// department1.setOrganizeNameRdd(organize1.getName()); +// department1.setOrganizeCode(organize1.getOrganizeCode()); +// +// init(department1); +// departmentList.add(department1); +// for (int m = 0; m < 5; m++) { +// SysDepartment department2 = new SysDepartment(); +// department2.setName(RandomStringUtils.random(10, TEXT)); +// department2.setDepartmentCode(RandomStringUtils.random(10, true, false)); +// department2.setParentId(department1.getId()); +// department2.setParentNameRdd(department1.getParentNameRdd()); +// department2.setOrganizeId(organize1.getId()); +// department2.setOrganizeNameRdd(organize1.getName()); +// department2.setOrganizeCode(organize1.getOrganizeCode()); +// +// init(department2); +// departmentList.add(department2); +// } +// } +// } +// +// for (int k = 0; k < 5; k++) { +// +// SysOrganize organize2 = new SysOrganize(); +// organize2.setName(RandomStringUtils.random(10, TEXT)); +// organize2.setOrganizeCode(RandomStringUtils.random(10, true, false)); +// organize2.setParentId(organize1.getParentId()); +// organize2.setParentNameRdd(organize1.getName()); +// organize2.setOrganizeType(ImppEnumUtil.ORGANIZE_YTPE.TYPE_FACTORY.getValue()); +// +// init(organize2); +// organizeList.add(organize2); +// +// for (int l = 0; l < 5; l++) { +// SysDepartment department = new SysDepartment(); +// department.setName(RandomStringUtils.random(10, TEXT)); +// department.setDepartmentCode(RandomStringUtils.random(10, true, false)); +// department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); +// department.setParentNameRdd("顶级部门"); +// department.setOrganizeId(organize2.getId()); +// department.setOrganizeNameRdd(organize2.getName()); +// department.setOrganizeCode(organize2.getOrganizeCode()); +// +// init(department); +// departmentList.add(department); +// for (int m = 0; m < 5; m++) { +// SysDepartment department1 = new SysDepartment(); +// department1.setName(RandomStringUtils.random(10, TEXT)); +// department1.setDepartmentCode(RandomStringUtils.random(10, true, false)); +// department1.setParentId(department.getId()); +// department1.setParentNameRdd(department.getParentNameRdd()); +// department1.setOrganizeId(organize2.getId()); +// department1.setOrganizeNameRdd(organize2.getName()); +// department1.setOrganizeCode(organize2.getOrganizeCode()); +// +// init(department1); +// departmentList.add(department1); +// for (int n = 0; n < 5; n++) { +// SysDepartment department2 = new SysDepartment(); +// department2.setName(RandomStringUtils.random(10, TEXT)); +// department2.setDepartmentCode(RandomStringUtils.random(10, true, false)); +// department2.setParentId(department1.getId()); +// department2.setParentNameRdd(department1.getParentNameRdd()); +// department2.setOrganizeId(organize2.getId()); +// department2.setOrganizeNameRdd(organize2.getName()); +// department2.setOrganizeCode(organize2.getOrganizeCode()); +// +// init(department2); +// departmentList.add(department2); +// } +// } +// } +// } +// } +// } +// +// for (SysOrganize organize : organizeList) { +// String txt = new String(" INSERT INTO sys_organize (" + +// "id, create_date, create_user, is_deleted, is_valid, modify_date, " + +// "modify_user, organize_code, name, organize_type, parent_id, parent_name_rdd) VALUES " + +// "("+organize.getId()+", '"+organize.getCreateDatetime()+"', '"+organize.getCreateUser()+"', " + +// " "+organize.getIsDeleted()+", "+organize.getIsValid()+", '"+organize.getModifyDatetime()+"'," + +// " '"+organize.getModifyUser()+"', '"+organize.getOrganizeCode()+"', '"+organize.getParentNameRdd()+"'," + +// " "+organize.getOrganizeType()+", "+organize.getParentId()+", '"+organize.getParentNameRdd()+"');"); +// fileWriter("E:\\test\\SysOrganize.sql",txt); +// } +// +// for (SysDepartment department : departmentList) { +// String txt = new String("INSERT INTO sys_department (id, create_date, create_user, is_deleted," + +// " is_valid, modify_date, modify_user, department_code, name, organize_id, organize_name_rdd," + +// " parent_id, parent_name_rdd) VALUES (" + +// " "+department.getId()+", '"+department.getCreateDatetime()+"'," + +// " '"+department.getCreateUser()+"', "+department.getIsDeleted()+", "+department.getIsValid()+"," + +// " '"+department.getModifyDatetime()+"', '"+department.getModifyUser()+"', '"+department.getDepartmentCode()+"'," + +// " '"+department.getName()+"', "+department.getOrganizeId()+", '"+department.getOrganizeNameRdd()+"', " + +// " "+department.getParentId()+", ':"+department.getParentNameRdd()+"');"); +// fileWriter("E:\\test\\SysDepartment.sql",txt); +// } +// +// } +// +// @Test +// public void testSysMenu() throws Exception { +// List list = menuService.findSysMenuAll(); +// +// for (SysMenu menu : list) { +// String txt = new String("INSERT INTO sys_menu (id, create_date, create_user, is_deleted, is_valid," + +// " modify_date, modify_user, menu_class_path, menu_code, menu_css, menu_description, menu_grade, menu_icon, " + +// "menu_sort, menu_status, menu_type, menu_url, name, parent_id, parent_name_rdd, name_zh_shortening) VALUES (" + +// " "+menu.getId()+", null, 'System Init', null, null, '2018-12-20 12:39:56', '系统管理员', '', '101010000', '', null, null, '', '0', 1, 2, '/impp-base', '基础信息管理', 100002, '设置', 'jcxxgl');"); +// fileWriter("E:\\test\\SysRefRoleMenu.sql",txt); +// } +// } +// +// @Test +// public void testSysRole() throws Exception{ +// List list = menuService.findSysMenuAll(); +// +// List roleList = new ArrayList<>(); +// List refRoleMenuList = new ArrayList<>(); +// +// for (int i = 0; i < 100 ; i++) { +// List moduleListRdd = new ArrayList<>(); +// List featuresListRdd = new ArrayList<>(); // 冗余 +// +// SysRole role = new SysRole(); +// role.setRoleStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue()); +// role.setMenuNumber(0); +// role.setModuleNumber(0); +// role.setName(RandomStringUtils.random(10, TEXT)); +// role.setRoleDescription(RandomStringUtils.random(50, TEXT)); +// +// for (SysMenu menu : list) { +// SysRefRoleMenu ref = new SysRefRoleMenu(); +// ref.setRoleId(role.getId()); +// ref.setRoleNameRdd(role.getName()); +// ref.setMenuNameRdd(menu.getName()); +// ref.setMenuId(menu.getId()); +// ref.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); +// ref.setMenuTypeRdd(menu.getMenuType()); +// +// // 冗余信息封装 +// if(CommonEnumUtil.METHOD_LEVEL.MODULE.getValue() == menu.getMenuType().intValue()){ +// moduleListRdd.add(menu.getName()); +// } +// if(CommonEnumUtil.METHOD_LEVEL.METHOD.getValue() == menu.getMenuType().intValue()){ +// featuresListRdd.add(menu.getName()); +// } +// +// init(ref); +// refRoleMenuList.add(ref); +// } +// +// role.setModuleNumber(moduleListRdd.size()); +// role.setMenuNumber(featuresListRdd.size()); +// +// init(role); +// roleList.add(role); +// } +// +// for (SysRole role : roleList) { +// String txt = new String(" INSERT INTO sys_role (id, create_date, create_user, is_deleted, is_valid," + +// " modify_date, modify_user, menu_number_rdd, module_number, name," + +// " role_description, role_status) VALUES " + +// "( "+role.getId()+", '"+role.getCreateDatetime()+"', '"+role.getCreateUser()+"', "+role.getIsDeleted()+"," + +// " "+role.getIsValid()+", '"+role.getModifyDatetime()+"', '"+role.getModifyUser()+"', "+role.getMenuNumber()+"," + +// " "+role.getModuleNumber()+", '"+role.getName()+"', null, 1);"); +// fileWriter("E:\\test\\SysRole.sql",txt); +// } +// +// for (SysRefRoleMenu ref : refRoleMenuList) { +// String txt = new String("INSERT INTO sys_ref_role_menu (id, create_date, create_user, is_deleted," + +// " is_valid, modify_date, modify_user, menu_id, menu_name_rdd, menu_type_rdd, role_id, role_name_rdd) VALUES (" + +// " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+", "+ref.getIsValid()+"," + +// " '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getMenuId()+", '"+ref.getMenuNameRdd()+"'," + +// " '"+ref.getMenuTypeRdd()+"', "+ref.getRoleId()+", '"+ref.getRoleNameRdd()+"');"); +// fileWriter("E:\\test\\SysRefRoleMenu.sql",txt); +// } +// +// +// +// } +// +// @Test +// public void testUserInfo() throws Exception { +// List roleList = roleService.findSysRoleAll(); +// List positionList = positionService.listSysPosition(); +// List departmentList = departmentService.listSysDepartment(); +// +// for (int y = 0; y < 10; y++) { +// String PATH = new String("E:\\test\\user\\" + y); +// List userList = new ArrayList<>(); +// List userInfoList = new ArrayList<>(); +// List refUserRoleList = new ArrayList<>(); +// List refUserDepartmentList = new ArrayList<>(); +// List refUserInfoDepartmentList = new ArrayList<>(); +// List refUserPositionList = new ArrayList<>(); +// +// List refUserRoleNameList ; +// List refUserPositionNameList ; +// List refUserDepartmentNameList ; +// +// SysUser user; +// SysUserInfo userInfo; +// SysRefUserRole refUserRole; +// SysRefUserDepartment refUserDepartment; +// SysRefUserInfoDepartment refUserInfoDepartment; +// SysRefUserPosition refUserPosition; +// SysDepartment department = null; +// SysPosition position = null; +// +// for (int i = 0; i < 10000; i++) { +// user = new SysUser(); +// userInfo = new SysUserInfo(); +// refUserRoleNameList = new ArrayList<>(); +// refUserPositionNameList = new ArrayList<>(); +// refUserDepartmentNameList = new ArrayList<>(); +// +// init(user); +// init(userInfo); +// +// for (int j = 0; j < 2; j++) { +// SysRole role = roleList.get(new Random().nextInt(roleList.size() - 1)); +// if(role != null){ +// refUserRole = new SysRefUserRole(); +// init(refUserRole); +// +// refUserRole.setRoleId(role.getId()); +// refUserRole.setRoleNameRdd(role.getName()); +// refUserRole.setUserId(user.getId()); +// refUserRole.setUserNameRdd(user.getUserName()); +// +// refUserRoleNameList.add(role.getName()); +// refUserRoleList.add(refUserRole); +// } +// } +// +// for (int j = 0; j < 3; j++) { +// position = positionList.get(new Random().nextInt(positionList.size() - 1)); +// if(position != null){ +// refUserPosition = new SysRefUserPosition(); +// init(refUserPosition); +// +// refUserPosition.setUserId(userInfo.getId()); +// refUserPosition.setUserNameRdd(userInfo.getName()); +// refUserPosition.setPositionId(position.getId()); +// refUserPosition.setPositionNameRdd(position.getName()); +// +// refUserPositionNameList.add(position.getName()); +// +// refUserPositionList.add(refUserPosition); +// } +// } +// +// for (int j = 0; j < 3; j++) { +// department = departmentList.get(new Random().nextInt(departmentList.size() - 1)); +// +// if(department != null){ +// refUserDepartment= new SysRefUserDepartment(); +// refUserInfoDepartment = new SysRefUserInfoDepartment(); +// +// init(refUserDepartment); +// init(refUserInfoDepartment); +// +// refUserDepartment.setDepartmentId(department.getId()); +// refUserDepartment.setDepartmentNameRdd(department.getName()); +// refUserDepartment.setOrganizeNameRdd(department.getOrganizeNameRdd()); +// refUserDepartment.setOrganizeId(department.getOrganizeId()); +// refUserDepartment.setOrganizeCode(department.getOrganizeCode()); +// refUserDepartment.setUserId(user.getId()); +// refUserDepartment.setUserNameRdd(user.getUserName()); +// +// refUserInfoDepartment.setDepartmentId(department.getId()); +// refUserInfoDepartment.setDepartmentNameRdd(department.getName()); +// refUserInfoDepartment.setOrganizeNameRdd(department.getOrganizeNameRdd()); +// refUserInfoDepartment.setOrganizeId(department.getOrganizeId()); +// refUserInfoDepartment.setOrganizeCode(department.getOrganizeCode()); +// refUserInfoDepartment.setUserId(user.getId()); +// refUserInfoDepartment.setUserNameRdd(user.getUserName()); +// +// refUserDepartmentNameList.add(department.getName()); +// +// refUserDepartmentList.add(refUserDepartment); +// refUserInfoDepartmentList.add(refUserInfoDepartment); +// } +// } +// +// userInfo.setDepartmentNamesRdd(StringUtils.join(refUserDepartmentNameList)); +// userInfo.setDepartmentId(department.getId()); +// userInfo.setDepartmentNameRdd(department.getName()); +// userInfo.setOrganizeId(department.getOrganizeId()); +// userInfo.setOrganizeNameRdd(department.getOrganizeNameRdd()); +// userInfo.setOrganizeCode(department.getOrganizeCode()); +// userInfo.setPositionId(position.getId()); +// userInfo.setPositionNameRdd(position.getName()); +// userInfo.setPositionNamesRdd(StringUtils.join(refUserPositionNameList,",")); +// userInfo.setName(RandomStringUtils.random(5, TEXT)); +// userInfo.setUserEmpNo(RandomStringUtils.random(10, true, true)); +// userInfo.setUserInfoStatus(CommonEnumUtil.USER_INFO_STATUS.INCUMBENT.getValue()); +// userInfo.setUserLoginNum(0); +// userInfo.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); +// userInfo.setUserId(user.getId()); +// +// user.setUserType(CommonEnumUtil.USER_TYPE.USER.getValue()); +// user.setUserStatus(CommonEnumUtil.USER_STATUS.ENABLE.getValue()); +// user.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); +// user.setUserLoginNum(0); +// user.setDepartmentNamesRdd(StringUtils.join(refUserDepartmentNameList,",")); +// user.setDepartmentId(department.getId()); +// user.setDepartmentNameRdd(department.getName()); +// user.setUserPhone(RandomStringUtils.random(11, false, true)); +// user.setUserEmail(RandomStringUtils.random(15, true, true)); +// user.setUserLoginName(RandomStringUtils.random(20, true, true)); +// user.setUserLoginPassword("123456"); +// user.setUserEmpNo(userInfo.getUserEmpNo()); +// +// userList.add(user); +// userInfoList.add(userInfo); +// } +// +// for (SysRefUserPosition ref : refUserPositionList) { +// String txt = new String("INSERT INTO sys_ref_user_position (id, create_date, create_user, is_deleted," + +// " is_valid, modify_date, modify_user, position_id, position_name_rdd, user_id, user_name_rdd) VALUES (" + +// " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," + +// " "+ref.getIsValid()+", '"+ref.getModifyUser()+"', '"+ref.getModifyDatetime()+"', "+ref.getPositionId()+"," + +// " '"+ref.getPositionNameRdd()+"', "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');"); +// fileWriter(PATH+"\\SysRefUserPosition.sql",txt); +// } +// +// for (SysRefUserRole ref : refUserRoleList) { +// String txt = new String("INSERT INTO sys_ref_user_role (id, create_date, create_user, is_deleted," + +// " is_valid, modify_date, modify_user, role_id, role_name_rdd, user_id, user_name_rdd) VALUES (" + +// " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," + +// " "+ref.getIsValid()+", '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getRoleId()+"," + +// " '"+ref.getRoleNameRdd()+"', "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');"); +// fileWriter(PATH+"\\SysRefUserRole.sql",txt); +// } +// +// for (SysRefUserDepartment ref : refUserDepartmentList) { +// String txt = new String("INSERT INTO sys_ref_user_department (id, create_date, create_user, is_deleted," + +// " is_valid, modify_date, modify_user, department_id, department_name_rdd, organize_id, organize_name_rdd, user_id, user_name) VALUES (" + +// " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," + +// " "+ref.getIsValid()+", '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getDepartmentId()+"," + +// " '"+ref.getDepartmentNameRdd()+"', "+ref.getOrganizeId()+", '"+ref.getOrganizeNameRdd()+"'," + +// " "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');"); +// fileWriter(PATH+"\\SysRefUserDepartment.sql",txt); +// } +// +// for (SysRefUserInfoDepartment ref : refUserInfoDepartmentList) { +// String txt = new String("INSERT INTO sys_ref_user_info_department (id, create_date, create_user, is_deleted," + +// " is_valid, modify_date, modify_user, department_id, department_name_rdd, organize_id, organize_name_rdd, user_id, user_name) VALUES (" + +// " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," + +// " "+ref.getIsValid()+", '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getDepartmentId()+"," + +// " '"+ref.getDepartmentNameRdd()+"', "+ref.getOrganizeId()+", '"+ref.getOrganizeNameRdd()+"'," + +// " "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');"); +// fileWriter(PATH+"\\SysRefUserInfoDepartment.sql",txt); +// } +// +// for (SysUser su : userList) { +// String txt = new String("INSERT INTO sys_user (id, create_date, create_user, is_deleted, is_valid," + +// " modify_date, modify_user, organize_code, department_id, department_name_rdd, department_names_rdd, language_code," + +// " organize_id, organize_name_rdd, organize_names_rdd, role_names_rdd, user_email, user_emp_no, user_info_id," + +// " user_login_last_date_time, user_login_name, user_login_num, user_login_password, user_name_rdd," + +// " user_phone, user_status, user_type) VALUES (" + +// " "+su.getId()+", '"+su.getCreateDatetime()+"', '"+su.getCreateUser()+"', "+su.getIsDeleted()+", "+su.getIsValid()+"," + +// " '"+su.getModifyDatetime()+"', '"+su.getModifyUser()+"', '"+su.getOrganizeCode()+"', " + +// " "+su.getDepartmentId()+", '"+su.getDepartmentNameRdd()+"', '"+su.getDepartmentNamesRdd()+"', ''," + +// " "+su.getOrganizeId()+", '"+su.getOrganizeNameRdd()+"', null, '"+su.getRoleNamesRdd()+"', '"+su.getUserEmail()+"'," + +// " '"+su.getUserEmpNo()+"', "+su.getUserInfoId()+", null, '"+su.getUserLoginName()+"', 0, '2637a5c30af69a7bad877fdb65fbd78b'," + +// " '"+su.getUserName()+"', '"+su.getUserPhone()+"', 1, 1);"); +// fileWriter(PATH+"\\SysUser.sql",txt); +// } +// +// for (SysUserInfo ui : userInfoList) { +// String txt = new String("INSERT INTO sys_user_info (id, create_date, create_user, is_deleted, is_valid," + +// " modify_date, modify_user, organize_code, department_id, department_name_rdd, department_names_rdd, name," + +// " organize_id, organize_name_rdd, position_id, position_name_rdd, position_names_rdd, user_emp_no, user_id," + +// " user_info_status, user_join_date, user_login_last_date_time, user_login_num) VALUES (" + +// " "+ui.getId()+", '"+ui.getCreateDatetime()+"', '"+ui.getCreateUser()+"', "+ui.getIsDeleted()+", "+ui.getIsValid()+"," + +// " '"+ui.getModifyDatetime()+"', '"+ui.getModifyUser()+"', '"+ui.getOrganizeCode()+"'," + +// " "+ui.getDepartmentId()+", '"+ui.getDepartmentNameRdd()+"', '"+ui.getDepartmentNamesRdd()+"'," + +// " '"+ui.getName()+"', "+ui.getOrganizeId()+", '"+ui.getOrganizeNameRdd()+"'," + +// " "+ui.getPositionId()+", '"+ui.getPositionNameRdd()+"', '"+ui.getPositionNamesRdd()+"'," + +// " '"+ui.getUserEmpNo()+"', "+ui.getUserId()+", 1, '2019-02-26', null , 0);"); +// fileWriter(PATH+"\\SysUserInfo.sql",txt); +// } +// +// System.gc(); +// } +// } +// +// public void testUserDetailModel(){ +// List roleList = roleService.findSysRoleAll(); +// List positionList = positionService.listSysPosition(); +// List departmentList = departmentService.listSysDepartment(); +// +// UserDetailModel model = new UserDetailModel(); +// List roleIds = new ArrayList<>(); +// List positionIds = new ArrayList<>(); +// List departmentIds = new ArrayList<>(); +// +// for (int i = 0; i < new Random().nextInt(10) ; i++) { +// SysRole role = roleList.get(new Random().nextInt(roleList.size() - 1)); +// roleIds.add(role.getId().toString()); +// } +// +// for (int i = 0; i < new Random().nextInt(10) ; i++) { +// SysPosition position = positionList.get(new Random().nextInt(positionList.size() - 1)); +// positionIds.add(position.getId().toString()); +// } +// +// for (int i = 0; i < new Random().nextInt(10) ; i++) { +// SysDepartment department = departmentList.get(new Random().nextInt(departmentList.size() - 1)); +// departmentIds.add(department.getId().toString()); +// } +// +// +// +// model.setUserInfoId(System.currentTimeMillis() + snowflakeIdMaker.nextId() + ""); +// model.setUserId(System.currentTimeMillis() + snowflakeIdMaker.nextId() + ""); +// model.setUserPhone(RandomStringUtils.random(11, false, true)); +// model.setUserEmail(RandomStringUtils.random(15, true, true)); +// model.setUserLoginPassword(RandomStringUtils.random(20, true, true)); +// model.setUserRoleIdList(roleIds); +// model.setUserDepartmentIdList(departmentIds); +// model.setInfoEmpNo(RandomStringUtils.random(10, true, true)); +// model.setInfoPositionIdList(positionIds); +// model.setInfoDepartmentIdList(departmentIds); +// +// } +// +// +// public void init(BaseBean bean)throws Exception{ +// bean.setId(System.currentTimeMillis() + snowflakeIdMaker.nextId() + UUID.randomUUID().hashCode() + new Random().nextInt(10000000)); +// bean.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); +// bean.setIsDeleted(CommonEnumUtil.IS_DEAL.NO.getValue()); +// bean.setCreateUser("系统管理员-测试"); +// bean.setModifyUser("系统管理员-测试"); +// bean.setCreateDatetime(DateFormatUtils.format(System.currentTimeMillis(),"yyyy-MM-dd HH:mm:ss")); +// bean.setModifyDatetime(DateFormatUtils.format(System.currentTimeMillis(),"yyyy-MM-dd HH:mm:ss")); +// } +// +// public static void fileWriter(String fileName, String content) { +// try { +// // 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件    +// FileWriter writer = new FileWriter(fileName, true); +// writer.write(content+"\r\n"); +// writer.close(); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } +// +//} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/util/ExcelReadData.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/util/ExcelReadData.java new file mode 100644 index 0000000..d82e204 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/util/ExcelReadData.java @@ -0,0 +1,23 @@ +package test.cn.estsh.i3plus.core.apiservice.util; + +import cn.estsh.i3plus.core.apiservice.util.ExcelUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysMenu; +import com.alibaba.fastjson.JSON; + +import java.io.FileInputStream; +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : Adair Peng + * @CreateDate : 2019-05-21 12:57 + * @Modify: + **/ +public class ExcelReadData { + public static void main(String[] args) throws Exception{ + List list = ExcelUtil.importData("permission.xls", new FileInputStream("E:\\permission.xls"), SysMenu.class); + System.out.println(JSON.toJSONString(list)); + + } +} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/util/JavaTest.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/util/JavaTest.java new file mode 100644 index 0000000..83f0331 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/util/JavaTest.java @@ -0,0 +1,1091 @@ +package test.cn.estsh.i3plus.core.apiservice.util; + +import cn.estsh.i3plus.core.apiservice.util.ExcelUtil; +import cn.estsh.i3plus.platform.common.tool.StringTool; +import cn.estsh.i3plus.pojo.platform.bean.SysMenu; +import cn.estsh.i3plus.pojo.platform.bean.SysUserInfo; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; + +import java.io.File; +import java.util.*; + +/** + * @Description : + * @Reference : + * @Author : Adair Peng + * @CreateDate : 2019-05-09 17:39 + * @Modify: + **/ +public class JavaTest { + + public static final Menu menu = new Menu("IMPP", "100000000", 1, -1L, "").addChildList( + //region Description 设置 + new Menu("设置", "101000000", 1, "fa fa-cog","/impp").addChildList( + //region Description 基础信息管理 + new Menu("基础信息管理", "101010000", 2).addChildList( + new Menu("组织管理", "101010100", 3,"","/impp/basic/organize").addChildList( + new Menu("新增", "101010101", 4), + new Menu("修改", "101010102", 4), + new Menu("删除", "101010103", 4), + new Menu("查询", "101010104", 4) + ), + new Menu("部门管理", "101010200", 3,"","/impp/basic/department").addChildList( + new Menu("新增", "101010201", 4), + new Menu("修改", "101010202", 4), + new Menu("删除", "101010203", 4), + new Menu("查询", "101010204", 4) + ), + new Menu("岗位管理", "101010300", 3,"","/impp/basic/position").addChildList( + new Menu("新增", "101010301", 4), + new Menu("修改", "101010302", 4), + new Menu("删除", "101010303", 4), + new Menu("查询", "101010304", 4) + ) + ), + //endregion + //region Description 权限管理 + new Menu("权限管理", "101020000", 2).addChildList( + new Menu("账号管理", "101020100", 3,"","/impp/permission/user").addChildList( + new Menu("新增", "101020101", 4), + new Menu("修改", "101020102", 4), + new Menu("删除", "101020103", 4), + new Menu("查询", "101020104", 4), + new Menu("解锁", "101020105", 4), + new Menu("启用", "101020106", 4), + new Menu("禁用", "101020107", 4), + new Menu("重置", "101020108", 4), + new Menu("导出", "101020109", 4) + ), + new Menu("用户管理", "101020200", 3,"","/impp/permission/user-info").addChildList( + new Menu("新增", "101020201", 4), + new Menu("修改", "101020202", 4), + new Menu("删除", "101020203", 4), + new Menu("查询", "101020204", 4), + new Menu("导出", "101020205", 4) + ), + new Menu("角色管理", "101020300", 3,"","/impp/permission/role").addChildList( + new Menu("新增", "101020301", 4), + new Menu("修改", "101020302", 4), + new Menu("删除", "101020303", 4), + new Menu("查询", "101020304", 4), + new Menu("启用", "101020305", 4), + new Menu("禁用", "101020306", 4), + new Menu("分配权限", "101020307", 4) + ), + new Menu("功能管理", "101020400", 3,"","/impp/permission/menu").addChildList( + new Menu("新增", "101020401", 4), + new Menu("修改", "101020402", 4), + new Menu("删除", "101020403", 4), + new Menu("查询", "101020404", 4), + new Menu("启用", "101020405", 4), + new Menu("禁用", "101020406", 4) + ) + ), + //endregion + //region Description 定时任务管理 + new Menu("定时任务管理", "101030000", 2).addChildList( + new Menu("任务列表", "101030100", 3,"","/impp/task/task").addChildList( + new Menu("新增", "101030101", 4), + new Menu("修改", "101030102", 4), + new Menu("删除", "101030103", 4), + new Menu("查询", "101030104", 4) + ), + new Menu("任务周期", "101030200", 3,"","/impp/task/task-cycle").addChildList( + new Menu("新增", "101030201", 4), + new Menu("修改", "101030202", 4), + new Menu("删除", "101030203", 4), + new Menu("查询", "101030204", 4) + ), + new Menu("任务周期", "101030300", 3,"","/task/task-plan").addChildList( + new Menu("新增", "101030301", 4), + new Menu("修改", "101030302", 4), + new Menu("删除", "101030303", 4), + new Menu("查询", "101030304", 4), + new Menu("启用", "101030305", 4), + new Menu("禁用", "101030306", 4), + new Menu("立即执行", "101030307", 4) + ) + ), + //endregion + //region Description 系统管理 + new Menu("系统管理", "101040000", 2).addChildList( + new Menu("文件管理", "101040100", 3,"","/impp/task/task-plan").addChildList( + new Menu("删除", "101040101", 4), + new Menu("下载", "101040102", 4), + new Menu("查询", "101040103", 4) + ), + new Menu("消息管理", "101040200", 3,"","/impp/param/message").addChildList( + new Menu("新增", "101040201", 4), + new Menu("修改", "101040202", 4), + new Menu("删除", "101040203", 4), + new Menu("查询", "101040204", 4) + ), + new Menu("硬件管理", "101040300", 3,"","/param/tool").addChildList( + new Menu("新增", "101040301", 4), + new Menu("修改", "101040302", 4), + new Menu("删除", "101040303", 4), + new Menu("查询", "101040304", 4), + new Menu("启用", "101040305", 4), + new Menu("禁用", "101040306", 4) + ), + new Menu("硬件类型管理", "101040400", 3,"","/impp/param/tool-type").addChildList( + new Menu("新增", "101040401", 4), + new Menu("修改", "101040402", 4), + new Menu("删除", "101040403", 4), + new Menu("查询", "101040404", 4) + ), + new Menu("字典管理", "101040500", 3,"","/impp/param/dictionary").addChildList( + new Menu("新增", "101040501", 4), + new Menu("修改", "101040502", 4), + new Menu("删除", "101040503", 4), + new Menu("查询", "101040504", 4), + new Menu("默认", "101040505", 4) + ), + new Menu("语言管理", "101040600", 3,"","/impp/locale/language").addChildList( + new Menu("新增", "101040601", 4), + new Menu("修改", "101040602", 4), + new Menu("删除", "101040603", 4), + new Menu("查询", "101040604", 4), + new Menu("禁用", "101040605", 4), + new Menu("启用", "101040606", 4), + new Menu("默认", "101040607", 4) + ), + new Menu("资源管理", "101040700", 3,"","/impp/locale/resource").addChildList( + new Menu("新增", "101040701", 4), + new Menu("修改", "101040702", 4), + new Menu("删除", "101040703", 4), + new Menu("查询", "101040704", 4) + ) + ), + //endregion + //region Description 系统配置 + new Menu("系统配置", "101050000", 2).addChildList( + new Menu("系统参数", "101050100", 3,"","/impp/config/config").addChildList( + new Menu("修改", "101050101", 4), + new Menu("查询", "101050102", 4) + ), + new Menu("邮件配置", "101050200", 3,"","/impp/config/email").addChildList( + new Menu("保存", "101050201", 4), + new Menu("测试", "101050202", 4) + ), + new Menu("单号生成配置", "101050300", 3,"","/impp/param/order-no-rule").addChildList( + new Menu("新增", "101050301", 4), + new Menu("修改", "101050302", 4), + new Menu("删除", "101050303", 4), + new Menu("查询", "101050304", 4), + new Menu("禁用", "101050305", 4), + new Menu("启用", "101050306", 4), + new Menu("导入", "101050307", 4), + new Menu("导出", "101050308", 4) + ), + new Menu("条码规则管理", "101050400", 3,"","/impp/param/code-rule-management").addChildList( + new Menu("新增", "101050401", 4), + new Menu("修改", "101050402", 4), + new Menu("删除", "101050403", 4), + new Menu("查询", "101050404", 4) + ), + new Menu("打印模板管理", "101050500", 3,"","/impp/param/print-template-management").addChildList( + new Menu("新增", "101050501", 4), + new Menu("修改", "101050502", 4), + new Menu("删除", "101050503", 4), + new Menu("查询", "101050504", 4), + new Menu("打印预览", "101050505", 4), + new Menu("打印测试", "101050506", 4) + ) + ), + //endregion + //region Description 服务监控 + new Menu("服务监控", "101060000", 2).addChildList( + new Menu("异常日志", "101060100", 3,"","/impp/param/log-exception").addChildList( + new Menu("查询", "101060101", 4), + new Menu("导出", "101060102", 4) + ), + new Menu("系统日志", "101060200", 3,"","/impp/param/log-system").addChildList( + new Menu("查询", "101060201", 4), + new Menu("导出", "101060202", 4) + ), + new Menu("操作日志", "101060300", 3,"","/impp/param/log-operate").addChildList( + new Menu("查询", "101060301", 4), + new Menu("导出", "101060302", 4) + ), + new Menu("定制任务日志", "101060400", 3,"","/impp/param/log-task").addChildList( + new Menu("查询", "101060401", 4), + new Menu("导出", "101060402", 4) + ), + new Menu("注册中心", "101060500", 3,"","/impp/could/reg").addChildList( + new Menu("查询", "101060501", 4) + ), + new Menu("链路监控", "101060600", 3,"","/impp/could/hystrix").addChildList( + new Menu("查询", "101060601", 4) + ), + new Menu("熔断监控", "101060700", 3,"","/impp/could/zipkin").addChildList( + new Menu("查询", "101060701", 4) + ) + ) + //endregion + ), + //endregion + //region Description WMS + new Menu("WMS", "102000000", 1, "","/wms").addChildList( + //region Description 物料数据维护 + new Menu("物料数据维护", "102010000", 2).addChildList( + new Menu("物料信息", "102010100", 3,"","/wms/materiel-maintenance/materiel-info").addChildList( + new Menu("新增", "102010101", 4), + new Menu("修改", "102010102", 4), + new Menu("删除", "102010103", 4), + new Menu("查询", "102010104", 4) + ), + new Menu("库位物料信息", "102010200", 3,"","/wms/materiel-maintenance/locatorMateriel-info").addChildList( + new Menu("新增", "102010201", 4), + new Menu("修改", "102010202", 4), + new Menu("删除", "102010203", 4), + new Menu("查询", "102010204", 4) + ), + new Menu("物料路线信息", "102010300", 3,"","/wms/materiel-maintenance/route-info").addChildList( + new Menu("新增", "102010301", 4), + new Menu("修改", "102010302", 4), + new Menu("删除", "102010303", 4), + new Menu("查询", "102010304", 4) + ) + ), + //endregion + //region Description 仓库数据维护 + new Menu("仓库数据维护", "102020000", 2).addChildList( + new Menu("仓库信息", "102020100", 3,"","/wms/warehouse-maintenance/warehouse-info").addChildList( + new Menu("新增", "102020101", 4), + new Menu("修改", "102020102", 4), + new Menu("删除", "102020103", 4), + new Menu("查询", "102020104", 4), + new Menu("仓库信息禁用", "102020105", 4), + new Menu("仓库信息启用", "102020106", 4) + ), + new Menu("库位信息", "102020200", 3,"","/wms/warehouse-maintenance/locator-info").addChildList( + new Menu("新增", "102020201", 4), + new Menu("修改", "102020202", 4), + new Menu("删除", "102020203", 4), + new Menu("查询", "102020204", 4) + ), + new Menu("存储区信息", "102020300", 3,"","/wms/warehouse-maintenance/storageArea-info").addChildList( + new Menu("新增", "102020301", 4), + new Menu("修改", "102020302", 4), + new Menu("删除", "102020303", 4), + new Menu("查询", "102020304", 4) + ) + ), + //endregion + //region Description 供应链维护 + new Menu("供应链维护", "102030000", 2).addChildList( + new Menu("客户信息", "102030100", 3,"","/wms/supplyChain-maintenance/customer-info").addChildList( + new Menu("新增", "102030101", 4), + new Menu("修改", "102030102", 4), + new Menu("删除", "102030103", 4), + new Menu("查询", "102030104", 4) + ), + new Menu("供应商信息", "102030200", 3,"","/wms/supplyChain-maintenance/supplier-info").addChildList( + new Menu("新增", "102030201", 4), + new Menu("修改", "102030202", 4), + new Menu("删除", "102030203", 4), + new Menu("查询", "102030204", 4), + new Menu("禁用", "102030205", 4), + new Menu("启用", "102030206", 4) + ), + new Menu("客户发往地信息", "102030300", 3,"","/wms/supplyChain-maintenance/customership-info").addChildList( + new Menu("新增", "102030301", 4), + new Menu("修改", "102030302", 4), + new Menu("删除", "102030303", 4), + new Menu("查询", "102030304", 4) + ) + ), + //endregion + //region Description 交易数据维护 + new Menu("交易数据维护", "102040000", 2).addChildList( + new Menu("交易类型信息", "102040100", 3,"","/wms/trans-maintenance/transType-info").addChildList( + new Menu("新增", "102040101", 4), + new Menu("修改", "102040102", 4), + new Menu("删除", "102040103", 4), + new Menu("查询", "102040104", 4) + ), + new Menu("抽点比例信息", "102040200", 3,"","/wms/trans-maintenance/proportion-info").addChildList( + new Menu("新增", "102040201", 4), + new Menu("修改", "102040202", 4), + new Menu("删除", "102040203", 4), + new Menu("查询", "102040204", 4) + ) + ), + //endregion + //region Description 外部订单管理 + new Menu("外部订单管理", "102050000", 2).addChildList( + new Menu("PO", "102050100", 3,"","/wms/external-order/po").addChildList( + new Menu("新增", "102050101", 4), + new Menu("修改", "102050102", 4), + new Menu("删除", "102050103", 4), + new Menu("查询", "102050104", 4) + ), + new Menu("ASN", "102050200", 3,"","/wms/external-order/asn").addChildList( + new Menu("新增", "102050201", 4), + new Menu("修改", "102050202", 4), + new Menu("删除", "102050203", 4), + new Menu("查询", "102050204", 4), + new Menu("禁用", "102050205", 4), + new Menu("启用", "102050206", 4), + new Menu("子表-新增", "102050207", 4), + new Menu("子表-修改", "102050208", 4), + new Menu("子表-删除", "102050209", 4), + new Menu("子表-查询", "102050210", 4) + ), + new Menu("产品入库", "102050300", 3,"","/wms/external-order/product-storage").addChildList( + new Menu("新增", "102050301", 4), + new Menu("修改", "102050302", 4), + new Menu("删除", "102050303", 4), + new Menu("查询", "102050304", 4) + ), + new Menu("产品发运", "102050400", 3,"","/wms/external-order/product-delivery").addChildList( + new Menu("新增", "102050401", 4), + new Menu("修改", "102050402", 4), + new Menu("删除", "102050403", 4), + new Menu("查询", "102050404", 4) + ), + new Menu("移库单信息", "102050500", 3,"","/wms/external-order/doc-movement").addChildList( + new Menu("新增", "102050501", 4), + new Menu("修改", "102050502", 4), + new Menu("删除", "102050503", 4), + new Menu("查询", "102050504", 4), + new Menu("禁用", "102050505", 4), + new Menu("启用", "102050506", 4), + new Menu("子表-新增", "102050507", 4), + new Menu("子表-修改", "102050508", 4), + new Menu("子表-删除", "102050509", 4), + new Menu("子表-查询", "102050510", 4) + ) + ), + //endregion + //region Description 内部订单管理 + new Menu("内部订单管理", "102060000", 2).addChildList( + new Menu("责任区分配", "102060100", 3,"","/wms/internal-order/res-allocation").addChildList( + new Menu("新增", "102060101", 4), + new Menu("修改", "102060102", 4), + new Menu("删除", "102060103", 4), + new Menu("查询", "102060104", 4) + ), + new Menu("库存移动单", "102060200", 3,"","/wms/internal-order/inventory-movement").addChildList( + new Menu("新增", "102060201", 4), + new Menu("修改", "102060202", 4), + new Menu("删除", "102060203", 4), + new Menu("查询", "102060204", 4), + new Menu("禁用", "102060205", 4), + new Menu("启用", "102060206", 4), + new Menu("子表-新增", "102060207", 4), + new Menu("子表-修改", "102060208", 4), + new Menu("子表-删除", "102060209", 4), + new Menu("子表-查询", "102060210", 4) + ), + new Menu("质检", "102060300", 3,"","/wms/internal-order/quality-testing").addChildList( + new Menu("新增", "102060301", 4), + new Menu("修改", "102060302", 4), + new Menu("删除", "102060303", 4), + new Menu("查询", "102060304", 4) + ), + new Menu("盘点", "102060400", 3,"","/wms/internal-order/check").addChildList( + new Menu("新增", "102060401", 4), + new Menu("修改", "102060402", 4), + new Menu("删除", "102060403", 4), + new Menu("查询", "102060404", 4) + ) + ), + //endregion + //region Description 作业任务 + new Menu("作业任务", "102070000", 2).addChildList( + new Menu("作业类型信息", "102070100", 3,"","/wms/receiving-operation/operationtype-info").addChildList( + new Menu("新增", "102070101", 4), + new Menu("修改", "102070102", 4), + new Menu("删除", "102070103", 4), + new Menu("查询", "102070104", 4), + new Menu("禁用", "102070105", 4), + new Menu("启用", "102070106", 4) + ), + new Menu("抽点记录", "102070200", 3,"","/wms/receiving-operation/take-notes").addChildList( + new Menu("新增", "102070201", 4), + new Menu("修改", "102070202", 4), + new Menu("删除", "102070203", 4), + new Menu("查询", "102070204", 4) + ), + new Menu("作业任务", "102070300", 3,"","/wms/receiving-operation/task-work").addChildList( + new Menu("新增", "102070301", 4), + new Menu("修改", "102070302", 4), + new Menu("删除", "102070303", 4), + new Menu("查询", "102070304", 4) + ) + ), + //endregion + //region Description 库存数据维护 + new Menu("库存数据维护", "102080000", 2).addChildList( + new Menu("库存信息", "102080100", 3,"","/wms/inventory-data/inventory-info").addChildList( + new Menu("新增", "102080101", 4), + new Menu("修改", "102080102", 4), + new Menu("删除", "102080103", 4), + new Menu("查询", "102080104", 4), + new Menu("禁用", "102080105", 4), + new Menu("启用", "102080106", 4), + new Menu("子表-新增", "102080107", 4), + new Menu("子表-修改", "102080108", 4), + new Menu("子表-删除", "102080109", 4), + new Menu("子表-查询", "102080110", 4) + ), + new Menu("库存交易信息", "102080200", 3,"","/wms/inventory-data/inventory-trans").addChildList( + new Menu("新增", "102080201", 4), + new Menu("修改", "102080202", 4), + new Menu("删除", "102080203", 4), + new Menu("查询", "102080204", 4), + new Menu("禁用", "102080205", 4), + new Menu("启用", "102080206", 4), + new Menu("子表-新增", "102080207", 4), + new Menu("子表-修改", "102080208", 4), + new Menu("子表-删除", "102080209", 4), + new Menu("子表-查询", "102080210", 4) + ) + ), + //endregion + //region Description 流程管理 + new Menu("流程管理", "102090000", 2).addChildList( + new Menu("作业步骤参数类型", "102090100", 3,"","/wms/flow-manage/job-step-type").addChildList( + new Menu("新增", "102090101", 4), + new Menu("修改", "102090102", 4), + new Menu("删除", "102090103", 4), + new Menu("查询", "102090104", 4) + ), + new Menu("作业流程", "102090200", 3,"","/wms/flow-manage/job-flow").addChildList( + new Menu("新增", "102090201", 4), + new Menu("修改", "102090202", 4), + new Menu("删除", "102090203", 4), + new Menu("查询", "102090204", 4) + ), + new Menu("作业记录", "102090300", 3,"","/wms/flow-manage/job-record").addChildList( + new Menu("新增", "102090301", 4), + new Menu("修改", "102090302", 4), + new Menu("删除", "102090303", 4), + new Menu("查询", "102090304", 4) + ), + new Menu("自定义脚本", "102090400", 3,"","/wms/flow-manage/custom-script").addChildList( + new Menu("新增", "102090401", 4), + new Menu("修改", "102090402", 4), + new Menu("删除", "102090403", 4), + new Menu("查询", "102090404", 4) + ), + new Menu("作业处理组件", "102090500", 3,"","/wms/flow-manage/job-module").addChildList( + new Menu("新增", "102090501", 4), + new Menu("修改", "102090502", 4), + new Menu("删除", "102090503", 4), + new Menu("查询", "102090504", 4) + ) + ), + //endregion + //region Description 业务数据维护 + new Menu("业务数据维护", "102100000", 2).addChildList( + new Menu("物理包装信息", "102100100", 3,"","/wms/business-data/physical-pack").addChildList( + new Menu("新增", "102100101", 4), + new Menu("修改", "102100102", 4), + new Menu("删除", "102100103", 4), + new Menu("查询", "102100104", 4) + ), + new Menu("打印队列信息", "102100200", 3,"","/wms/business-data/print-queue").addChildList( + new Menu("新增", "102100201", 4), + new Menu("修改", "102100202", 4), + new Menu("删除", "102100203", 4), + new Menu("查询", "102100204", 4) + ), + new Menu("单据并发锁定操作信息", "102100300", 3,"","/wms/business-data/document-operation").addChildList( + new Menu("新增", "102100301", 4), + new Menu("修改", "102100302", 4), + new Menu("删除", "102100303", 4), + new Menu("查询", "102100304", 4) + ) + ), + //endregion + //region Description 权限管控 + new Menu("权限管控", "102110000", 2).addChildList( + new Menu("数据权限", "102110100", 3,"","/wms/authority-control/data-permission").addChildList( + new Menu("新增", "102110101", 4), + new Menu("修改", "102110102", 4), + new Menu("删除", "102110103", 4), + new Menu("查询", "102110104", 4) + ) + ), + //endregion + //region Description 打印中心 + new Menu("打印中心", "102120000", 2).addChildList( + new Menu("条码打印", "102120100", 3,"","/wms/print-center/barcode-printing").addChildList( + new Menu("打印", "102120101", 4), + new Menu("补打", "102120102", 4), + new Menu("查询", "102120103", 4) + ), + new Menu("条码补打记录", "102120200", 3,"","/wms/print-center/barcode-makeup").addChildList( + new Menu("查询", "102120201", 4), + new Menu("导出", "102120202", 4) + ), + new Menu("收货回执", "102120300", 3,"","/wms/print-center/receipt-receipt").addChildList( + new Menu("查询", "102120301", 4) + ), + new Menu("单据打印", "102120400", 3,"","/wms/print-center/document-printing").addChildList( + new Menu("查询", "102120401", 4), + new Menu("打印", "102120402", 4) + ) + ), + //endregion + //region Description 散件业务 + new Menu("散件业务", "102130000", 2).addChildList( + new Menu("散件入库", "102130100", 3,"","/wms/parts-business/parts-instock").addChildList( + new Menu("保存", "102130101", 4), + new Menu("补打", "102130102", 4), + new Menu("查询", "102130103", 4) + ), + new Menu("散件拣货", "102130200", 3,"","/wms/parts-business/parts-picking").addChildList( + new Menu("拣货", "102130201", 4), + new Menu("查询", "102130202", 4), + new Menu("导出", "102130203", 4) + ), + new Menu("散件收货", "102130300", 3,"","/wms/parts-business/parts-receipt").addChildList( + new Menu("查询", "102130301", 4) + ), + new Menu("散件质检", "102130400", 3,"","/wms/parts-business/parts-quality").addChildList( + new Menu("保存", "102130401", 4), + new Menu("补打", "102130402", 4), + new Menu("查询", "102130403", 4) + ), + new Menu("散件盘点", "102130500", 3,"","/wms/parts-business/parts-check").addChildList( + new Menu("保存", "102130501", 4), + new Menu("补打", "102130502", 4), + new Menu("查询", "102130503", 4) + ), + new Menu("散件移库", "102130600", 3,"","/wms/parts-business/parts-transfer").addChildList( + new Menu("保存", "102130601", 4), + new Menu("补打", "102130602", 4), + new Menu("查询", "102130603", 4) + ) + ) + //endregion + ), + //endregion + //region Description MES + new Menu("MES", "103000000", 1, "","/mes").addChildList( + //region Description 报表设置 + new Menu("基础数据维护", "103010000", 2).addChildList( + new Menu("BOM", "103010100", 3,"","").addChildList( + new Menu("新增", "103010101", 4), + new Menu("修改", "103010102", 4), + new Menu("删除", "103010103", 4), + new Menu("查询", "103010104", 4) + ) + ) + //endregion + ), + //endregion + //region Description 动态表单 + new Menu("动态表单", "104000000", 1, "fa fa-newspaper-o","/form").addChildList( + //region Description 基础信息管理 + new Menu("表单设置", "104010000", 2).addChildList( + new Menu("对象管理", "104010100", 3,"","/form/obj").addChildList( + new Menu("新增", "104010101", 4), + new Menu("修改", "104010102", 4), + new Menu("删除", "104010103", 4), + new Menu("查询", "104010104", 4), + new Menu("导入", "104010105", 4), + new Menu("对象属性-修改", "104010106", 4), + new Menu("对象属性-删除", "104010107", 4) + ), + new Menu("元素管理", "104010200", 3,"","/form/ele").addChildList( + new Menu("新增", "104010201", 4), + new Menu("修改", "104010202", 4), + new Menu("删除", "104010203", 4), + new Menu("查询", "104010204", 4), + new Menu("元素属性-修改", "104010205", 4), + new Menu("元素属性-删除", "104010206", 4), + new Menu("虚拟属性-新增", "104010207", 4), + new Menu("虚拟属性-修改", "104010208", 4), + new Menu("虚拟属性-删除", "104010209", 4), + new Menu("虚拟属性-查询", "104010210", 4) + ), + new Menu("拦截器管理", "104010300", 3,"","/form/interceptor").addChildList( + new Menu("新增", "104010301", 4), + new Menu("修改", "104010302", 4), + new Menu("删除", "104010303", 4), + new Menu("查询", "104010304", 4), + new Menu("启用", "104010305", 4), + new Menu("禁用", "104010306", 4), + new Menu("子表-新增", "104010307", 4), + new Menu("子表-修改", "104010308", 4), + new Menu("子表-删除", "104010309", 4), + new Menu("子表-查询", "104010310", 4) + ), + new Menu("按钮管理", "104010400", 3,"","/form/button").addChildList( + new Menu("新增", "104010401", 4), + new Menu("修改", "104010402", 4), + new Menu("删除", "104010403", 4), + new Menu("查询", "104010404", 4), + new Menu("绑定-新增", "104010405", 4), + new Menu("绑定-修改", "104010406", 4), + new Menu("绑定-删除", "104010407", 4), + new Menu("绑定-查询", "104010408", 4) + ), + new Menu("功能管理", "104010500", 3,"","/form/func").addChildList( + new Menu("新增", "104010501", 4), + new Menu("修改", "104010502", 4), + new Menu("删除", "104010503", 4), + new Menu("查询", "104010504", 4) + ), + new Menu("功能明细管理", "104010600", 3,"","/form/func-details").addChildList( + new Menu("新增", "104010601", 4), + new Menu("修改", "104010602", 4), + new Menu("删除", "104010603", 4), + new Menu("查询", "104010604", 4), + new Menu("关联属性-新增", "104010605", 4), + new Menu("关联属性-修改", "104010606", 4), + new Menu("关联属性-删除", "104010607", 4), + new Menu("关联属性-查询", "104010608", 4) + ), + new Menu("布局管理", "104010700", 3,"","/form/layout").addChildList( + new Menu("新增", "104010701", 4), + new Menu("修改", "104010702", 4), + new Menu("删除", "104010703", 4), + new Menu("查询", "104010704", 4), + new Menu("预览", "104010705", 4) + ), + new Menu("功能目录", "104010800", 3,"","").addChildList( + new Menu("新增", "104010801", 4), + new Menu("修改", "104010802", 4), + new Menu("删除", "104010803", 4), + new Menu("查询", "104010804", 4), + new Menu("启用", "104010805", 4), + new Menu("禁用", "104010806", 4) + ), + new Menu("级联管理", "104010900", 3,"","/form/func-catalog").addChildList( + new Menu("新增", "104010901", 4), + new Menu("修改", "104010902", 4), + new Menu("删除", "104010903", 4), + new Menu("查询", "104010904", 4), + new Menu("明细-新增", "104010905", 4), + new Menu("明细-修改", "104010906", 4), + new Menu("明细-删除", "104010907", 4), + new Menu("明细-查询", "104010908", 4) + ), + new Menu("权限分配", "104011000", 3,"","/form/permission").addChildList( + new Menu("分配权限", "104011001", 4), + new Menu("删除", "104011002", 4), + new Menu("查询", "104011003", 4) + ) + ) + //endregion + ), + //endregion + //region Description 动态报表 + new Menu("动态报表", "105000000", 1, "fa fa-book","/report").addChildList( + //region Description 报表设置 + new Menu("报表设置", "105010000", 2).addChildList( + new Menu("元素管理", "105010100", 3,"","/report/ele").addChildList( + new Menu("新增", "105010101", 4), + new Menu("修改", "105010102", 4), + new Menu("删除", "105010103", 4), + new Menu("查询", "105010104", 4) + ), + new Menu("目录管理", "105010200", 3,"","/report/catalog").addChildList( + new Menu("新增", "105010201", 4), + new Menu("修改", "105010202", 4), + new Menu("删除", "105010203", 4), + new Menu("查询", "105010204", 4), + new Menu("启用", "105010205", 4), + new Menu("禁用", "105010206", 4) + ), + new Menu("报表管理", "105010300", 3,"","/report/manage").addChildList( + new Menu("新增", "105010301", 4), + new Menu("修改", "105010302", 4), + new Menu("删除", "105010303", 4), + new Menu("查询", "105010304", 4), + new Menu("预览", "105010305", 4) + ), + new Menu("模板管理", "105010400", 3,"","/report/templet").addChildList( + new Menu("新增", "105010401", 4), + new Menu("修改", "105010402", 4), + new Menu("删除", "105010403", 4), + new Menu("查询", "105010404", 4), + new Menu("预览", "105010405", 4) + ), + new Menu("布局管理", "105010500", 3,"","/report/layout").addChildList( + new Menu("新增", "105010501", 4), + new Menu("修改", "105010502", 4), + new Menu("删除", "105010503", 4), + new Menu("查询", "105010504", 4), + new Menu("预览", "105010505", 4) + ) + ) + //endregion + ), + //endregion + //region Description WMS-PDA + new Menu("WMS-PDA", "106000000", 1, "fa fa-barcode","/wms-pda").addChildList( + //region Description 收货 + new Menu("收货", "106010100", 2,"#icon-purchasereceipt").addChildList( + new Menu("ASN收货", "106010101", 3,"#icon-shouhuoshou--","/handle?transCode=10070").addChildList(), + new Menu("PO收货", "106010102", 3,"#icon-recept","/handle?transCode=10080").addChildList() + ), + //endregion + //region Description 质检 + new Menu("质检", "106020000", 2,"#icon-shouye-").addChildList( + new Menu("条码打印", "106020100", 3).addChildList() + ), + //endregion + //region Description 生产领料 + new Menu("生产领料", "106030000", 2,"#icon-lingqu").addChildList( + new Menu("条码打印", "106030100", 3).addChildList() + ), + //endregion + //region Description 生产退料 + new Menu("生产退料", "106040000", 2,"#icon-shengchanlingliaoyutuiliao").addChildList( + new Menu("条码打印", "106040100", 3).addChildList() + ), + //endregion + //region Description 内部移库 + new Menu("内部移库", "106050000", 2,"#icon-yiku").addChildList( + new Menu("条码打印", "106050100", 3).addChildList() + ), + //endregion + //region Description 零星出库 + new Menu("零星出库", "106060000", 2,"#icon-ico_kufangguanli_qinglingchuku").addChildList( + new Menu("条码打印", "106060100", 3).addChildList() + ), + //endregion + //region Description 零星入库 + new Menu("零星入库", "106070000", 2,"#icon-zhcc_ruku").addChildList( + new Menu("条码打印", "106070100", 3).addChildList() + ), + //endregion + //region Description 盘点 + new Menu("盘点", "106080000", 2,"#icon-PDA").addChildList( + new Menu("条码打印", "106080100", 3).addChildList() + ), + //endregion + //region Description 入库上架 + new Menu("入库上架", "106090000", 2,"#icon-ico_zongkuguanli_caigouruku").addChildList( + new Menu("标准入库", "106090100", 3).addChildList() + ) + //endregion + ), + //endregion + //region Description MES-PCN + new Menu("MES-PCN", "107000000", 1, "","/mes-pcn"), + //endregion + //region Description SWEB + new Menu("SWEB", "108000000", 1, "fa fa-file-word-o","/sweb").addChildList( + //region Description 基础数据维护 + new Menu("基础数据维护", "108010000", 2).addChildList( + new Menu("供应商信息", "108010100", 3,"","/sweb/base-data/supplier-info").addChildList( + new Menu("新增", "108010101", 4), + new Menu("修改", "108010102", 4), + new Menu("删除", "108010103", 4), + new Menu("查询", "108010104", 4), + new Menu("启用", "108010105", 4), + new Menu("禁用", "108010106", 4) + ), + new Menu("开口合同", "108010200", 3,"","/sweb/base-data/open-end").addChildList( + new Menu("新增", "108010201", 4), + new Menu("修改", "108010202", 4), + new Menu("删除", "108010203", 4), + new Menu("查询", "108010204", 4), + new Menu("启用", "108010205", 4), + new Menu("禁用", "108010206", 4) + ), + new Menu("系统配置", "108010300", 3,"","/sweb/base-data/config-info").addChildList( + new Menu("新增", "108010301", 4), + new Menu("修改", "108010302", 4), + new Menu("删除", "108010303", 4), + new Menu("查询", "108010304", 4), + new Menu("启用", "108010305", 4), + new Menu("禁用", "108010306", 4) + ) + ), + //endregion + //region Description 工厂订单管理 + new Menu("工厂订单管理", "108020000", 2).addChildList( + new Menu("条码打印", "108020100", 3,"","/sweb/factory-order/barcode-printing").addChildList( + new Menu("新增", "108020101", 4), + new Menu("修改", "108020102", 4), + new Menu("删除", "108020103", 4), + new Menu("查询", "108020104", 4), + new Menu("信息录入", "108020105", 4), + new Menu("打印", "108020106", 4), + new Menu("启用", "108020107", 4), + new Menu("禁用", "108020108", 4) + ), + new Menu("订单发布", "108020200", 3,"","/sweb/factory-order/order-release").addChildList( + new Menu("新增", "108020201", 4), + new Menu("修改", "108020202", 4), + new Menu("删除", "108020203", 4), + new Menu("查询", "108020204", 4), + new Menu("保存", "108020205", 4), + new Menu("发布", "108020206", 4), + new Menu("导入", "108020207", 4), + new Menu("启用", "108020208", 4), + new Menu("禁用", "108020209", 4) + ), + new Menu("订单管理", "108020300", 3,"","/sweb/factory-order/order-manage").addChildList( + new Menu("新增", "108020301", 4), + new Menu("修改", "108020302", 4), + new Menu("删除", "108020303", 4), + new Menu("查询", "108020304", 4), + new Menu("启用", "108020305", 4), + new Menu("禁用", "108020306", 4) + ) + ), + //endregion + //region Description 供应商订单管理 + new Menu("供应商订单管理", "108030000", 2).addChildList( + new Menu("打包", "108030100", 3,"","/sweb/base-data/physical-pack").addChildList( + new Menu("新增", "108030101", 4), + new Menu("修改", "108030102", 4), + new Menu("删除", "108030103", 4), + new Menu("查询", "108030104", 4) + ), + new Menu("订单查看", "108030200", 3,"","/sweb/supplier-manage/order-view").addChildList( + new Menu("新增", "108030201", 4), + new Menu("修改", "108030202", 4), + new Menu("删除", "108030203", 4), + new Menu("查询", "108030204", 4) + ), + new Menu("订单确认与发布", "108030300", 3,"","/sweb/supplier-manage/order-check").addChildList( + new Menu("新增", "108030301", 4), + new Menu("修改", "108030302", 4), + new Menu("删除", "108030303", 4), + new Menu("查询", "108030304", 4), + new Menu("订单确认", "108030305", 4) + ), + new Menu("条码打印", "108030400", 3,"","/sweb/supplier-manage/barcode-printing").addChildList( + new Menu("新增", "108030401", 4), + new Menu("修改", "108030402", 4), + new Menu("删除", "108030403", 4), + new Menu("查询", "108030404", 4), + new Menu("添加卷", "108030405", 4), + new Menu("编辑卷", "108030406", 4), + new Menu("导出", "108030407", 4), + new Menu("打印", "108030408", 4), + new Menu("录入生产日期", "108030409", 4), + new Menu("拆卷导入", "108030410", 4) + ) + ) + //endregion + ), + //endregion + //region Description LES + new Menu("LES", "109000000", 1, ""), + //endregion + //region Description 安灯-管理 + new Menu("安灯-管理", "110000000", 1, "","/andon-management").addChildList( + //region Description 异常管理 + new Menu("异常管理", "110010000", 2).addChildList( + new Menu("任务管理", "110010100", 3,"","/andon-management/error-manage/task-manage").addChildList( + new Menu("事件维护信息", "110010101", 4), + new Menu("操作详情", "110010102", 4) + ) + ), + //endregion + //region Description 报表管理 + new Menu("报表管理", "110020000", 2).addChildList( + new Menu("人员统计报表", "110020100", 3,"","/andon-management/report-manage/personnel-report").addChildList( + new Menu("新增", "110020101", 4) + ), + new Menu("工位统计报表", "110020200", 3,"","/andon-management/report-manage/workstation-report").addChildList( + new Menu("新增", "110020201", 4) + ), + new Menu("原因统计报表", "110020300", 3,"","/andon-management/report-manage/reason-report").addChildList( + new Menu("查询", "110020301", 4) + ), + new Menu("统计分析柏拉图", "11002040", 3,"","/andon-management/report-manage/statistical-plato").addChildList( + new Menu("查询", "110020401", 4) + ) + ), + //endregion + //region Description 基础数据维护 + new Menu("基础数据维护", "110030000", 2).addChildList( + new Menu("Andon类型", "110030100", 3,"","/andon-management/basic-data/andon-type").addChildList( + new Menu("新增", "110030101", 4), + new Menu("修改", "110030102", 4), + new Menu("删除", "110030103", 4), + new Menu("查询", "110030104", 4) + ), + new Menu("组织模型", "110030200", 3,"","/andon-management/base-data/factorymodel").addChildList( + new Menu("新增", "110030201", 4), + new Menu("修改", "110030202", 4), + new Menu("删除", "110030203", 4), + new Menu("查询", "110030204", 4) + ) + ) + //endregion + ), + //endregion + //region Description 安灯-工位 + new Menu("安灯-工位", "111000000", 1, "","/andon-station").addChildList( + //region Description ANDON 看板 + new Menu("ANDON 看板", "111010000", 2,"","/andon-station").addChildList(), + //endregion + //region Description ANDON 作业 + new Menu("ANDON 作业", "111020000", 2).addChildList() + //endregion + ) + //endregion + ); + + + public static void main(String[] args)throws Exception { + Map map = getChildList(menu); + List list = new ArrayList<>(); + + map.forEach((k, v) -> { + list.add(v.getSysMenu()); + }); + list.sort(Comparator.comparing(SysMenu::getMenuCode)); + + System.out.println("\n\n\n"); + list.forEach(menu -> { + System.out.println("INSERT INTO sys_menu (id, is_deleted, is_valid, menu_class_path, menu_code, menu_css, " + + "menu_description, menu_grade, menu_icon, menu_sort, menu_status, menu_type, menu_url, name, parent_id," + + " parent_name_rdd, name_zh_shortening) VALUES " + + "("+menu.getId()+", 2, 1, '"+getValue(menu.getMenuClassPath())+"', '"+getValue(menu.getMenuCode())+"', '"+getValue(menu.getMenuCss())+"'," + + " '"+getValue(menu.getMenuDescription())+"', '"+menu.getMenuGrade()+"', '"+getValue(menu.getMenuIcon())+"', '0', 1, "+menu.getMenuType()+", " + + "'"+getValue(menu.getMenuUrl())+"', '"+getValue(menu.getName())+"', "+menu.getParentId()+", '"+getValue(menu.getParentNameRdd())+"', '"+getValue(menu.getNameZhShortening())+"');"); + }); + System.out.println("\n\n\n"); + + // 将excel导出至临时文件夹并上传 + File file = new File("E:\\test.xls"); + file.createNewFile(); + + ExcelUtil.exportData(file, list, SysMenu.class, new String[]{ + "menuCode", "name","parentId","menuType","menuStatus","parentNameRdd","menuUrl","menuClassPath","menuGrade","menuSort" + ,"menuCss","menuIcon","menuDescription" + }); + + System.out.println("----------------------------"); + } + + public static Map getChildList(Menu menu) { + Map result = new HashMap<>(); + if (menu.getChildList() != null && menu.getChildList().size() > 0) { + menu.getChildList().forEach(m -> { + m.setParentNameRdd(menu.getName()); + m.setParentId(Long.parseLong(menu.getMenuCode())); + Map childMap = getChildList(m); + + childMap.forEach((k, v) -> { + if (!result.containsKey(k)) { + result.put(k, v); + } else { + throw new RuntimeException(k + " Menu Code 重复"); + } + }); + }); + } + if (!result.containsKey(menu.getMenuCode())) { + result.put(menu.getMenuCode(), menu); + } else { + throw new RuntimeException(menu.getMenuCode() + " Menu Code 重复"); + } + return result; + } + + public static String getValue(String str){ + return StringUtils.isNotBlank(str) ? str : ""; + } + +} + + +@Data +class Menu { + private String name; + private String menuCode; + private Integer menuType; + private Long parentId; + private String parentNameRdd; + private String menuClassPath; + private String menuGrade; + private Integer menuSort; + private String menuUrl; + private String menuCss; + private String menuIcon; + private String menuDescription; + private Integer menuStatus; + private List childList = new ArrayList<>(); + + public Menu(String name, String menuCode, Integer menuType) { + this.name = name; + this.menuCode = menuCode; + this.menuType = menuType; + } + + public Menu(String name, String menuCode, Integer menuType, String menuIcon) { + this.name = name; + this.menuCode = menuCode; + this.menuType = menuType; + this.menuIcon = menuIcon; + } + + public Menu(String name, String menuCode, Integer menuType, String menuIcon,String menuUrl) { + this.name = name; + this.menuCode = menuCode; + this.menuType = menuType; + this.menuIcon = menuIcon; + this.menuUrl = menuUrl; + } + + public Menu(String name, String menuCode, Integer menuType, Long parentId, String menuIcon) { + this.name = name; + this.menuCode = menuCode; + this.menuType = menuType; + this.parentId = parentId; + this.menuIcon = menuIcon; + } + + public Menu(String name, String menuCode, Integer menuType, Long parentId, String parentNameRdd, String menuClassPath, String menuGrade, Integer menuSort, String menuUrl, String menuCss, String menuIcon, String menuDescription, Integer menuStatus, List childList) { + this.name = name; + this.menuCode = menuCode; + this.menuType = menuType; + this.parentId = parentId; + this.parentNameRdd = parentNameRdd; + this.menuClassPath = menuClassPath; + this.menuGrade = menuGrade; + this.menuSort = menuSort; + this.menuUrl = menuUrl; + this.menuCss = menuCss; + this.menuIcon = menuIcon; + this.menuDescription = menuDescription; + this.menuStatus = menuStatus; + this.childList = childList; + } + + public SysMenu getSysMenu() { + SysMenu menu = new SysMenu(); + menu.setId(Long.parseLong(this.menuCode)); + menu.setName(this.name); + menu.setMenuCode(this.menuCode); + menu.setMenuType(this.menuType); + menu.setParentId(this.parentId); + menu.setParentNameRdd(this.parentNameRdd); + menu.setMenuClassPath(this.menuClassPath); + menu.setMenuGrade(this.menuGrade); + menu.setMenuSort(this.menuSort); + menu.setMenuUrl(this.menuUrl); + menu.setMenuCss(this.menuCss); + menu.setMenuIcon(this.menuIcon); + menu.setMenuDescription(this.menuDescription); + menu.setMenuStatus(1); + menu.setNameZhShortening(StringTool.getAllFirstLetter(this.name)); + + return menu; + } + + public Menu addChildList(Menu... menus) { + for (Menu menu : menus) { + this.childList.add(menu); + } + return this; + } + +} \ No newline at end of file diff --git a/pom.xml b/pom.xml index c95548e..6255553 100644 --- a/pom.xml +++ b/pom.xml @@ -108,6 +108,11 @@ + i3plus.platform + i3plus-platform-plugin + ${project.version} + + i3plus.pojo i3plus-pojo-platform ${project.version} @@ -129,7 +134,7 @@ ${project.version} - + i3plus.icloud i3plus-icloud-core @@ -255,6 +260,7 @@ jaxen 1.1.6 +