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/ISysOrderNoRuleService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysOrderNoRuleService.java index 4f651c2..a177138 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysOrderNoRuleService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysOrderNoRuleService.java @@ -61,7 +61,7 @@ public interface ISysOrderNoRuleService { * @return 单号信息 */ @ApiOperation(value = "根据code查询最新单号规则") - SysOrderNoRule getSysOrderNoRuleCode(String code); + SysOrderNoRule doGetSysOrderNoRuleCode(String code); /** * 根据id修改单号规则状态 diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestService.java index 7d4bc9a..c7fcc10 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestService.java @@ -27,6 +27,15 @@ public interface ITestService { @ApiOperation(value = "in条件封装查询") List querySysUserByPack(DdlPackBean packBean); + @ApiOperation(value = "添加用户") + void insertSysUser(SysUser sysUser); + + @ApiOperation(value = "修改用户") + void updateSysUser(SysUser sysUser); + + @ApiOperation(value = "查询用户") + List listSysUser(); + @ApiOperation(value = "读写分离测试写") @Transactional void write(); diff --git a/modules/i3plus-core-apiservice/pom.xml b/modules/i3plus-core-apiservice/pom.xml index 3e4de62..9c4153e 100644 --- a/modules/i3plus-core-apiservice/pom.xml +++ b/modules/i3plus-core-apiservice/pom.xml @@ -77,17 +77,35 @@ mysql-connector-java + + com.oracle + ojdbc6 + + org.apache.tomcat.embed tomcat-embed-jasper + org.apache.commons commons-lang3 + + + com.microsoft.sqlserver + sqljdbc4 + + + + + org.postgresql + postgresql + + org.apache.shiro diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoDdlPackController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoDdlPackController.java index a9890a1..dc2c3b6 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoDdlPackController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoDdlPackController.java @@ -15,9 +15,7 @@ import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; @@ -101,4 +99,39 @@ public class DemoDdlPackController { ListPager listPager = testService.querySysUserByPager(user,pager); return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } + + /** + * 测试添加长文本数据 + * @param sysUser + * @return + */ + @PostMapping(value="/test-insert") + @ApiOperation(value="测试添加长文本数据") + public BaseResultBean testInsertSysUserLob(SysUser sysUser){ + testService.insertSysUser(sysUser); + return ResultBean.success("操作成功").setResultObject(sysUser).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } + /** + * 测试添加长文本数据 + * @param sysUser + * @return + */ + @PutMapping(value="/test-update") + @ApiOperation(value="测试添加长文本数据") + public BaseResultBean testUpdateSysUserLob(SysUser sysUser){ + testService.updateSysUser(sysUser); + return ResultBean.success("操作成功").setResultObject(sysUser).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } + /** + * 测试查询长文本数据 + * @return + */ + @PutMapping(value="/test-list") + @ApiOperation(value="测试添加长文本数据") + public BaseResultBean testListSysUserLob(){ + List sysUserList = testService.listSysUser(); + return ResultBean.success("操作成功").setResultList(sysUserList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } + + } 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 153a974..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; /** 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 24d1053..f2c58a0 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 @@ -50,6 +50,8 @@ public class BaseMessageController extends CoreBaseController { */ public ResultBean basaeInsertSysMessage(SysMessage sysMessage) { try { + startMultiService(); + // 条件校验 ValidatorBean.beginValid(sysMessage) .notNull("messageTitle", sysMessage.getMessageTitle()) 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 dd4510d..64a709f 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 @@ -112,6 +112,8 @@ public class WhiteController extends CoreBaseController { @ApiOperation(value="登陆",notes="登陆") public ResultBean login(HttpServletRequest request, String loginName, String loginPwd, String languageCode, @RequestParam(required = false) String ipAddr){ + startMultiService(); + LOGGER.info("用户登陆 loginName:{} loginPwd:{} languageCode:{}",loginName,loginPwd,languageCode); ResultBean result = null; this.startMultiService(); @@ -139,6 +141,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); @@ -210,6 +213,8 @@ public class WhiteController extends CoreBaseController { @ApiOperation(value = "根据语言代码查询资源") public ResultBean findSysLocaleResourceByLanguageCode(String languageCode){ try { + startMultiService(); + ValidatorBean.checkNotNull(languageCode,"语言代码不能为空"); if (sysLocaleLanguageService.getSysLocaleLanguageByCode(languageCode) == null) { throw ImppExceptionBuilder.newInstance() @@ -238,6 +243,8 @@ public class WhiteController extends CoreBaseController { @ApiOperation(value = "新增文件资源", notes = "新增文件资源") public ResultBean insertSysFile(@RequestBody SysFile sysFile){ try { + startMultiService(); + // 条件验证 ValidatorBean.beginValid(sysFile) .notNull("dfsFileName", sysFile.getDfsFileName()) @@ -298,7 +305,7 @@ public class WhiteController extends CoreBaseController { try { ValidatorBean.checkNotNull(code, "code不能为空"); - SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.getSysOrderNoRuleCode(code); + SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.doGetSysOrderNoRuleCode(code); return ResultBean.success("操作成功").setResultObject(sysOrderNoRule).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/controller/busi/PersonnelController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java index 1767283..f3f2a6c 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,9 +4,11 @@ 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; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; @@ -19,7 +21,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; @@ -64,6 +65,8 @@ public class PersonnelController extends CoreBaseController { @ApiOperation(value = "添加用户信息", notes = "返回内容添加用户信息") public ResultBean insertUserDetailModel(UserDetailModel model) { try { + startMultiService(); + SysUser user = model.getSysUser(); SysUserInfo info = model.getSysUserInfo(); @@ -143,6 +146,8 @@ public class PersonnelController extends CoreBaseController { @ApiOperation(value = "修改用户信息", notes = "返回内容添加用户信息") public ResultBean updateUserDetailModel(UserDetailModel model) { try { + startMultiService(); + SysUser user = model.getSysUser(); SysUserInfo info = model.getSysUserInfo(); @@ -228,6 +233,8 @@ public class PersonnelController extends CoreBaseController { @ApiOperation(value = "修改用户信息", notes = "返回内容添加用户信息") public ResultBean updateUserModel(UserDetailModel model) { try { + startMultiService(); + checkUserModel(model); SysUser user = personnelService.getSysUserById(Long.parseLong(model.getUserId())); initUser(model, user); @@ -334,6 +341,8 @@ public class PersonnelController extends CoreBaseController { @ApiOperation(value = "删除用户信息", notes = "根据用户信息id删除信息") public ResultBean deleteSysUserInfo(@PathVariable("id") String id) { try { + startMultiService(); + //条件验证 ValidatorBean.checkNotNull(id, "id为空"); @@ -362,6 +371,8 @@ public class PersonnelController extends CoreBaseController { @ApiOperation(value = "根据id批量删除", notes = "根据id批量删除") public ResultBean deleteSysUserInfoByIds(String[] ids) { try { + startMultiService(); + ids = ConvertBean.modelSafeArrayNumber(ids, true); if (ids.length == 0) { throw ImppExceptionBuilder.newInstance() @@ -405,6 +416,8 @@ public class PersonnelController extends CoreBaseController { @ApiOperation(value = "删除账号信息", notes = "根据账号信息id删除信息") public ResultBean deleteSysUser(@PathVariable("id") String id) { try { + startMultiService(); + //条件验证 ValidatorBean.checkNotNull(id, "id为空"); @@ -433,6 +446,8 @@ public class PersonnelController extends CoreBaseController { @ApiOperation(value = "根据id批量删除", notes = "根据id批量删除") public ResultBean deleteSysUserByIds(String[] ids) { try { + startMultiService(); + ids = ConvertBean.modelSafeArrayNumber(ids, true); if (ids.length == 0) { throw ImppExceptionBuilder.newInstance() @@ -559,6 +574,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 用户信息 @@ -588,7 +654,7 @@ public class PersonnelController extends CoreBaseController { /** * 数据必填校验 * - * @param model数据消息 + * @param model 数据消息 * @throws Exception */ public void checkUserModel(UserDetailModel model) throws Exception { @@ -631,6 +697,8 @@ public class PersonnelController extends CoreBaseController { * @param model 用户模型 */ public void refreshRef(SysUser user, SysUserInfo info, UserDetailModel model) { + startMultiService(); + if (user != null) { // 刷新账号 部门关系 personnelService.refreshRefSysUserDepartment(user.getId(), StringTool.getArrayLong(model.getUserDepartmentIdList())); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysBarcodeRuleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysBarcodeRuleController.java index 9534a57..455772d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysBarcodeRuleController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysBarcodeRuleController.java @@ -97,6 +97,8 @@ public class SysBarcodeRuleController extends CoreBaseController { @ApiOperation(value = "删除条码规则",notes = "删除条码规则") public ResultBean deleteSysBarcodeRuleById(@PathVariable("id") String idStr) { try { + startMultiService(); + // 条件验证 ValidatorBean.checkNotNull(idStr,"id不能为空"); SysBarcodeRule sysBarcodeRule = sysBarcodeRuleService.getSysBarcodeRuleById(Long.parseLong(idStr)); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java index ab5ac9e..2bdb25e 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java @@ -93,6 +93,8 @@ public class SysConfigController extends CoreBaseController { @ApiOperation(value = "根据id删除系统参数", notes = "根据id删除系统参数") public ResultBean deleteSysConfig(@PathVariable("id") String idStr) { try { + startMultiService(); + // 条件验证 ValidatorBean.checkNotNull(idStr,"id不能为空"); if(sysConfigService.getSysConfigById(Long.parseLong(idStr)) == null){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java index 371dca1..0ff516e 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java @@ -115,6 +115,8 @@ public class SysDictionaryController extends CoreBaseController{ @ApiOperation(value = "根据id删除字典",notes = "根据id删除字典") public ResultBean updateSysDictionary(@PathVariable("id") String idStr) { try { + startMultiService(); + // 条件验证 ValidatorBean.checkNotNull(idStr,"id不能为空"); SysDictionary sysDictionary = sysDictionaryService.getSysDictionaryById(Long.parseLong(idStr)); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java index 737944a..bf2a37d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java @@ -87,6 +87,8 @@ public class SysFileController extends CoreBaseController{ @ApiOperation(value = "根据id删除文件资源", notes = "根据id删除文件资源") public ResultBean deleteSysFileById(@PathVariable("id") String idStr){ try { + startMultiService(); + ValidatorBean.checkNotNull(idStr, "id不能为空"); SysFile sysFile = sysFileService.getSysFileById(Long.parseLong(idStr)); ValidatorBean.checkNotNull(sysFile, "文件信息不存在"); @@ -132,7 +134,7 @@ public class SysFileController extends CoreBaseController{ @ApiOperation(value = "根据id查询文件资源", notes = "根据id查询文件资源") public ResultBean getSysFileById(@PathVariable("id") String id){ try { - ValidatorBean.checkIsNumber(id, "id必须为数字"); + ValidatorBean.checkIsNumber(id, "id必须为数字[" + id + "]"); SysFile sysFile = sysFileService.getSysFileById(Long.parseLong(id)); ValidatorBean.checkNotNull(sysFile, "文件信息不存在"); @@ -201,6 +203,8 @@ public class SysFileController extends CoreBaseController{ @ApiOperation(value = "文件上传", notes = "文件上传") public ResultBean singleFileUpload(@RequestParam("file") MultipartFile file) { try { + startMultiService(); + if(file.isEmpty()){ throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) @@ -239,6 +243,8 @@ public class SysFileController extends CoreBaseController{ @ApiOperation(value = "文件下载", notes = "文件下载") public ResultBean singleDownload(@PathVariable("id")String id, HttpServletResponse response) { try { + startMultiService(); + ValidatorBean.checkIsNumber(id, "文件ID不能为空"); SysFile sysFile = sysFileService.getSysFileById(Long.parseLong(id)); @@ -306,6 +312,8 @@ public class SysFileController extends CoreBaseController{ @ApiOperation(value = "新增文件资源", notes = "新增文件资源") public ResultBean insertSysFile(@RequestBody SysFile sysFile){ try { + startMultiService(); + // 条件验证 ValidatorBean.beginValid(sysFile) .notNull("dfsFileName", sysFile.getDfsFileName()) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLabelTemplateController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLabelTemplateController.java index 4677662..69388b8 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLabelTemplateController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLabelTemplateController.java @@ -81,6 +81,8 @@ public class SysLabelTemplateController extends CoreBaseController { @ApiOperation(value = "根据id删除打印模板", notes = "根据id删除打印模板") public ResultBean deleteSysLabelTemplate(@PathVariable("id") String idStr) { try { + startMultiService(); + // 条件验证 ValidatorBean.checkNotNull(idStr,"id不能为空"); if(sysLabelTemplateService.getSysLabelTemplateById(Long.parseLong(idStr)) == null){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java index 0dc2245..9668077 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java @@ -110,6 +110,8 @@ public class SysLocaleLanguageController extends CoreBaseController { @ApiOperation(value = "根据id删除系统语言",notes = "根据id删除系统语言") public ResultBean deleteSysLocaleLanguageById(@PathVariable("id") String idStr){ try { + startMultiService(); + //条件验证 ValidatorBean.checkNotNull(idStr,"id不能为空"); SysLocaleLanguage sysLocaleLanguage =sysLocaleLanguageService.getSysLocaleLanguageById(Long.parseLong(idStr)); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java index b8b7c38..78b3b74 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java @@ -120,6 +120,8 @@ public class SysLocaleResourceController extends CoreBaseController { @ApiOperation(value = "根据id删除系统语言资源",notes = "根据id删除系统语言资源") public ResultBean deleteSysLocaleResourceById(@PathVariable("id") String idStr){ try { + startMultiService(); + //条件验证 ValidatorBean.checkNotNull(idStr,"id不能为空"); SysLocaleResource sysLocaleResource =sysLocaleResourceService.getSysLocaleResourceById(Long.parseLong(idStr)); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogExceptionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogExceptionController.java index 5e437e0..83f7e97 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogExceptionController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogExceptionController.java @@ -103,6 +103,8 @@ public class SysLogExceptionController extends CoreBaseController { @GetMapping(value = "/export") @ApiOperation(value = "导出系统异常日志") public ResultBean exportSysLogException(SysLogException sysLogException, String[] colName, int pageSize,boolean isZip) { + startMultiService(); + ListPager listPager; List result = new ArrayList(); File zipFile = null; diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogOperateController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogOperateController.java index 1e05f78..d3c236f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogOperateController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogOperateController.java @@ -190,6 +190,8 @@ public class SysLogOperateController extends CoreBaseController { File excelDir = null; File excelFile; try { + startMultiService(); + Pager pager = new Pager(); pager.setCurrentPage(1); // 判断是否超过excel最大导出数量设定值 diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogSystemController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogSystemController.java index 7162179..ee07de4 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogSystemController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogSystemController.java @@ -178,6 +178,8 @@ public class SysLogSystemController extends CoreBaseController{ File excelDir = null; File excelFile; try { + startMultiService(); + Pager pager = new Pager(); pager.setCurrentPage(1); // 判断是否超过excel最大导出数量设定值 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..add6f22 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,118 @@ 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(); + } + System.out.println("hhh"); + 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())); + 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 -> { + if(menu.getParentId().longValue() != -1){ + SysMenu mu = map.get(menu.getParentId().toString()); + ValidatorBean.checkNotNull(mu, "【"+menu.getParentId()+"】不存在的父节点信息"); + 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/SysOrderNoRuleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java index 550a9eb..b9a4709 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java @@ -311,6 +311,8 @@ public class SysOrderNoRuleController extends CoreBaseController { @ApiOperation(value = "下载导入模板") public ResultBean downSysOrderNoRuleTemplate() { try { + startMultiService(); + FastDFSFile fastDFSFile = new FastDFSFile(SysOrderNoRule.class.getSimpleName() + "ImportTemplate.xls", ExcelUtil.importTemplate(SysOrderNoRule.class), "xls"); @@ -381,7 +383,7 @@ public class SysOrderNoRuleController extends CoreBaseController { try { ValidatorBean.checkNotNull(code, "code不能为空"); - SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.getSysOrderNoRuleCode(code); + SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.doGetSysOrderNoRuleCode(code); return ResultBean.success("操作成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); @@ -405,7 +407,7 @@ public class SysOrderNoRuleController extends CoreBaseController { List orderNoList = new ArrayList<>(); for (int i = 0; i < num; i++) { - orderNoList.add(sysOrderNoRuleService.getSysOrderNoRuleCode(code).getOrderNo()); + orderNoList.add(sysOrderNoRuleService.doGetSysOrderNoRuleCode(code).getOrderNo()); } return ResultBean.success("操作成功").setResultList(orderNoList).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/SysRoleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java index 4c75aca..317b7f7 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java @@ -52,6 +52,8 @@ public class SysRoleController extends CoreBaseController{ @ApiOperation(value = "新增系统角色", notes = "系统角色") public ResultBean insertSysRole(SysRole role) { try { + startMultiService(); + //条件验证 ValidatorBean.beginValid(role) .notNull("name", role.getName()); @@ -82,6 +84,8 @@ public class SysRoleController extends CoreBaseController{ @ApiOperation(value = "修改系统角色", notes = "系统角色") public ResultBean updateSysRole(SysRole role) { try { + startMultiService(); + // 数据校验 ValidatorBean.beginValid(role) .notNull("id", role.getId()) @@ -283,6 +287,8 @@ public class SysRoleController extends CoreBaseController{ @ApiOperation(value = "新增角色权限关系", notes = "新增角色权限关系") public ResultBean insertRefMenu(String roleId,String[] refIds) { try { + startMultiService(); + // 数据校验 ValidatorBean.checkNotNull(roleId, "角色roleId 不能为空"); @@ -308,6 +314,8 @@ public class SysRoleController extends CoreBaseController{ @ApiOperation(value = "批量新增角色权限关系", notes = "批量新增角色权限关系") public ResultBean insertBatchRefMenu(String[] roleIds,String[] menuIds) { try { + startMultiService(); + roleIds = ConvertBean.modelSafeArrayNumber(roleIds,true); menuIds = ConvertBean.modelSafeArrayNumber(menuIds,true); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskController.java index b3d00c5..2df8449 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskController.java @@ -158,6 +158,8 @@ public class SysTaskController extends CoreBaseController { @ApiOperation(value = "删除任务", notes = "删除任务") public ResultBean deleteSysTaskById(@PathVariable("id") String idStr) { try { + startMultiService(); + // 数据校验 ValidatorBean.checkNotNull(idStr, "id不能为空"); if (sysTaskService.getSysTaskById(Long.parseLong(idStr)) == null) { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskCycleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskCycleController.java index 10a20fc..a927f17 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskCycleController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskCycleController.java @@ -165,6 +165,8 @@ public class SysTaskCycleController extends CoreBaseController { @ApiOperation(value = "删除任务周期", notes = "删除任务周期") public ResultBean deleteSysTaskCycle(@PathVariable("id") String idStr) { try { + startMultiService(); + // 数据校验 ValidatorBean.checkNotNull(idStr, "时间表达式id 不能为空"); if (sysTaskCycleService.getSysTaskCycleById(Long.parseLong(idStr)) == null) { 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 2de0ddd..c5d2e1c 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 @@ -114,6 +114,8 @@ public class SysTaskPlanController extends CoreBaseController { @ApiOperation(value = "新增任务计划", notes = "任务计划") public ResultBean insertSysTaskTime(SysTaskPlan sysTaskPlan, Integer isExecute) { try { + startMultiService(); + // 数据校验 ValidatorBean.beginValid(sysTaskPlan) .notNull("name", sysTaskPlan.getName()) @@ -195,6 +197,8 @@ public class SysTaskPlanController extends CoreBaseController { @ApiOperation(value = "修改任务计划", notes = "任务计划") public ResultBean updateSysTaskTime(SysTaskPlan sysTaskPlan, Integer isExecute) { try { + startMultiService(); + ResultBean resultBean = ResultBean.success("操作成功") .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) .setResultObject(sysTaskPlan); @@ -270,6 +274,8 @@ public class SysTaskPlanController extends CoreBaseController { @ApiOperation(value = "删除任务计划", notes = "删除任务计划") public ResultBean deleteSysTaskTime(@PathVariable("id") String id) { try { + startMultiService(); + // 数据校验 ValidatorBean.checkNotNull(id, "任务计划id 不能为空"); SysTaskPlan sysTaskPlan = sysTaskPlanService.getSysTaskPlanById(Long.parseLong(id)); @@ -339,6 +345,8 @@ public class SysTaskPlanController extends CoreBaseController { @ApiOperation(value = "修改任务计划状态", notes = "根据ID修改任务计划状态") public ResultBean updateQuartzStatus(@PathVariable("id") String idStr, @PathVariable("status") Integer status) { try { + startMultiService(); + // 数据校验 ValidatorBean.checkNotNull(idStr, "id 不能为空"); ValidatorBean.checkNotZero(status, "状态不能为空"); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysToolTypeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysToolTypeController.java index 0894b3a..903cf0b 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysToolTypeController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysToolTypeController.java @@ -102,6 +102,8 @@ public class SysToolTypeController extends CoreBaseController{ @ApiOperation(value = "根据id删除硬件类型",notes = "根据id删除硬件类型") public ResultBean deleteSysToolType(@PathVariable("id") String idStr){ try { + startMultiService(); + ValidatorBean.checkNotNull(idStr,"id不能为空"); if(toolTypeService.getSysToolTypeById(Long.parseLong(idStr)) == null){ throw ImppExceptionBuilder.newInstance() 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 4669dc9..0945239 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 @@ -72,6 +72,8 @@ public class SysUserController extends CoreBaseController{ @ApiOperation(value = "新增用户", notes = "新增系统用户") public ResultBean insertSysUser(SysUser sysUser,String[] roleIds) { try { + startMultiService(); + ConvertBean.modelSafeArrayNumber(roleIds,true); ValidatorBean.beginValid(sysUser) @@ -133,6 +135,8 @@ public class SysUserController extends CoreBaseController{ @ApiOperation(value = "修改用户", notes = "修改用户信息") public ResultBean updateSysUser(SysUser sysUser,String[] roleIds) { try { + startMultiService(); + ConvertBean.modelSafeArrayNumber(roleIds,true); ValidatorBean.beginValid(sysUser) .numberCheck("id",sysUser.getUserInfoId()) @@ -248,6 +252,8 @@ public class SysUserController extends CoreBaseController{ @ApiOperation(value = "修改密码", notes = "修改当前登录用户密码") public ResultBean updateSysUserPassword(String password,String newPwd) { try { + startMultiService(); + SessionUser sessionUser = AuthUtil.getSessionUser(); // 数据校验 ValidatorBean.checkNotNull(password, "旧密码不能为空"); @@ -382,6 +388,8 @@ public class SysUserController extends CoreBaseController{ @ApiOperation(value = "密码重置",notes = "根据id重置用户密码") public ResultBean updateResetPassword(@PathVariable String id){ try { + startMultiService(); + SysUser user = sysUserService.getSysUserById(Long.parseLong(id)); if(user != null){ Integer num = personnelService.checkSysUserResetPassword(user); @@ -531,6 +539,8 @@ public class SysUserController extends CoreBaseController{ @ApiOperation(value = "修改用户操作组织id") public ResultBean updateSysUserOrganize(String idStr, String organizeIdStr){ try{ + startMultiService(); + ValidatorBean.checkNotNull(idStr, "id不能为空"); SysUser sysUser = sysUserService.getSysUserById(Long.parseLong(idStr)); ValidatorBean.checkNotNull(sysUser, "用户不存在"); 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 8cea910..5ab49dd 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 @@ -71,6 +71,8 @@ public class SysUserInfoController extends CoreBaseController{ @ApiOperation(value="添加用户信息",notes="返回内容添加用户信息") public ResultBean insertSysUserInfo(SysUserInfo userInfo){ try { + startMultiService(); + //登陆用户 SessionUser user = AuthUtil.getSessionUser(); @@ -103,6 +105,8 @@ public class SysUserInfoController extends CoreBaseController{ @ApiOperation(value="修改用户信息",notes="根据用户信息id修改信息") public ResultBean updateSysUserInfoById(SysUserInfo userInfo){ try { + startMultiService(); + //登陆用户 SessionUser user = AuthUtil.getSessionUser(); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java index 2d5d5e2..6a8720d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java @@ -4,6 +4,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService; import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService; import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; import cn.estsh.i3plus.core.apiservice.websocket.MessageWebSocket; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.JsonUtilTool; import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.tool.TimeTool; @@ -68,6 +69,7 @@ public class MessageLetterQueueReceiver { LOGGER.info("【MQ-{}】 数据接收成功:{}", PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE, data); SysMessage msg = JsonUtilTool.decode(data, SysMessage.class); try { + ConvertBean.serviceModelInitialize(msg, "system"); msg = sysMessageService.insertSysMessage(msg); if (!StringUtils.isBlank(msg.getMessageReceiversId())) { @@ -92,6 +94,7 @@ public class MessageLetterQueueReceiver { refUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue()); refUserMessage.setReceiverTime(TimeTool.getNowTime(true)); refUserMessage.setIsUrgent(msg.getIsUrgent()); + ConvertBean.serviceModelInitialize(refUserMessage, "system"); insertList.add(refUserMessage); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java index 273a919..cd8ec35 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java @@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.apiservice.mq; import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskPlanService; import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.JsonUtilTool; import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.tool.TimeTool; @@ -73,6 +74,7 @@ public class ScheduleQueueReceiver { logTaskTime.setTaskSoftTypeRdd(taskPlan.getTaskSoftTypeRdd()); logTaskTime.setTaskCycleNameRdd(taskPlan.getTaskCycleNameRdd()); logTaskTime.setTaskCycleExpsRdd(taskPlan.getTaskCycleExpsRdd()); + ConvertBean.serviceModelInitialize(logTaskTime, "system"); sysTaskPlanService.logInsertSysLogTaskTime(logTaskTime); // 定时任务失败通知 @@ -91,6 +93,8 @@ public class ScheduleQueueReceiver { sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue()); sysMessage.setMessageSendTime(TimeTool.getNowTime(true)); sysMessage.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + // 初始数据 + ConvertBean.serviceModelInitialize(sysMessage, "system"); // 是否内部成员 if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == taskPlan.getIsInternalUser()) { 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..950828d 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 @@ -176,6 +176,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/SysOrderNoRuleService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrderNoRuleService.java index ffc051a..274cd74 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrderNoRuleService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrderNoRuleService.java @@ -89,7 +89,7 @@ public class SysOrderNoRuleService implements ISysOrderNoRuleService { @Override @ApiOperation(value = "根据code查询最新单号规则") - public synchronized SysOrderNoRule getSysOrderNoRuleCode(String code) { + public synchronized SysOrderNoRule doGetSysOrderNoRuleCode(String code) { SysOrderNoRule sysOrderNoRule = sysOrderNoRuleRDao.getByProperty("orderNoRuleCode", code); if (sysOrderNoRule == null) { 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..5d493c4 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 @@ -282,7 +282,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/TestService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestService.java index 2175a9f..9baa9e4 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestService.java @@ -105,4 +105,19 @@ public class TestService implements ITestService { u = testTransUserRepository.insert(u); System.out.println("插入对象:" + u); } + + @Override + public void insertSysUser(SysUser sysUser) { + sysUserRDao.insert(sysUser); + } + + @Override + public void updateSysUser(SysUser sysUser) { + sysUserRDao.update(sysUser); + } + + @Override + public List listSysUser() { + return sysUserRDao.list(); + } } 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/resources/application-dev.properties b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties index 4537466..c35e513 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties @@ -58,17 +58,15 @@ spring.datasource.time-between-eviction-runs-millis=18800 ##主数据源,读写 #impp.write.datasource.type=com.zaxxer.hikari.HikariDataSource impp.write.datasource.driver-class-name=com.mysql.jdbc.Driver -impp.write.datasource.jdbc-url=jdbc:mysql://192.168.1.60:3306/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8 -#impp.write.datasource.jdbc-url=jdbc:mysql://192.168.1.44:3306/40_impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8 +impp.write.datasource.jdbc-url=jdbc:mysql://192.168.1.55:3306/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8 impp.write.datasource.username=impp_i3_core_user impp.write.datasource.password=impp_i3_core_pwd ##辅数据源,只读 #impp.read.datasource.type=com.zaxxer.hikari.HikariDataSource impp.read.datasource.driver-class-name=com.mysql.jdbc.Driver -impp.read.datasource.jdbc-url=jdbc:mysql://192.168.1.60:3307/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8 -#impp.read.datasource.jdbc-url=jdbc:mysql://192.168.1.44:3306/40_impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8 -impp.read.datasource.username=impp_i3_schedule_user_3307 +impp.read.datasource.jdbc-url=jdbc:mysql://192.168.1.55:3306/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8 +impp.read.datasource.username=impp_i3_core_user impp.read.datasource.password=impp_i3_core_pwd ################ 日志数据源 ################ 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 8856ec8..7210ea7 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-docker.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-docker.properties @@ -106,9 +106,9 @@ impp.schedule.thread-priority=5 ################################ 其他功能设置 ################################ #redisIP -redis.hostName=192.168.1.55 +redis.hostName=redis #端口号 -redis.port=16376 +redis.port=6379 #如果有密码 redis.password= ##其他redis配置需要调整的加在此处 @@ -167,9 +167,9 @@ spring.sleuth.sampler.probability=1.0 ################ FastDfs 配置 ################ #tracker服务器ip -fastdfs.tracker_servers=tracker:7031 +fastdfs.tracker_servers=tracker:22122 # tracker的http端口 -fastdfs.http_tracker_http_port=7031 +fastdfs.http_tracker_http_port=22122 # 使用自定义工具获取文件展示地址 fastdfs.http.ui.host=http://192.168.1.56:7030 #密码 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 6bbb5aa..0b4e653 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 @@ -143,6 +148,28 @@ 5.1.39 + + + com.oracle + ojdbc6 + 12.1.0.1.0 + + + + + com.microsoft.sqlserver + sqljdbc4 + 4.0 + + + + + org.postgresql + postgresql + 42.2.5 + + + org.apache.commons @@ -233,6 +260,7 @@ jaxen 1.1.6 +