From 2aa9f8e495bb138cfb4e90fce7242e18eba2874e Mon Sep 17 00:00:00 2001 From: ludj Date: Tue, 29 Nov 2022 19:01:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/common/utils/SecurityUtils.java | 3 +- .../nl/modules/generator/utils/GenUtil.java | 11 +- .../rest/AuthorizationController.java | 43 +- .../rest/MobileAuthorizationController.java | 87 ---- .../security/service/OnlineUserService.java | 5 +- .../modules/system/rest/MenuController.java | 69 ++- .../modules/system/rest/RoleController.java | 41 +- .../modules/system/service/MenuService.java | 52 ++- .../modules/system/service/RoleService.java | 14 +- .../modules/system/service/dto/MenuDto.java | 1 - .../modules/system/service/dto/UserDto.java | 5 +- .../system/service/impl/DataServiceImpl.java | 4 +- .../system/service/impl/MenuServiceImpl.java | 224 +++++---- .../system/service/impl/RoleServiceImpl.java | 39 +- .../system/service/impl/UserServiceImpl.java | 1 - .../org/nl/modules/system/wql/QSYS_MENU01.wql | 109 +++++ .../java/org/nl/modules/system/wql/sys.xls | Bin 240640 -> 246272 bytes .../nl/sso/rest/DataPermissionController.java | 66 +++ .../nl/sso/service/DataPermissionService.java | 71 +++ .../nl/sso/service/dto/DataPermissionDto.java | 81 ++++ .../impl/DataPermissionServiceImpl.java | 132 ++++++ .../org/nl/wms/pdm/rest/DeviceController.java | 77 --- .../nl/wms/pdm/rest/WorkorderController.java | 145 ------ .../org/nl/wms/pdm/service/DeviceService.java | 69 --- .../nl/wms/pdm/service/WorkordeService.java | 124 ----- .../org/nl/wms/pdm/service/dto/DeviceDto.java | 79 ---- .../nl/wms/pdm/service/dto/WorkorderDto.java | 93 ---- .../pdm/service/impl/DeviceServiceImpl.java | 141 ------ .../service/impl/WorkorderServiceImpl.java | 442 ------------------ .../org/nl/wms/pdm/wql/MPS_PRODUCEDURE001.wql | 174 ------- .../org/nl/wms/pdm/wql/PDM_BI_DEVICE01.wql | 58 --- .../template/generator/admin/Controller.ftl | 2 +- .../template/generator/front/index.ftl | 1 + nladmin-ui/src/api/login.js | 1 + nladmin-ui/src/api/system/menu.js | 17 +- nladmin-ui/src/router/index.js | 1 + nladmin-ui/src/store/modules/user.js | 1 + .../system/dataPermission/dataPermission.js | 27 ++ .../src/views/system/dataPermission/index.vue | 136 ++++++ nladmin-ui/src/views/system/menu/index.vue | 61 +-- nladmin-ui/src/views/system/role/index.vue | 224 +++------ 41 files changed, 1054 insertions(+), 1877 deletions(-) delete mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/modules/security/rest/MobileAuthorizationController.java create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/wql/QSYS_MENU01.wql create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/sso/rest/DataPermissionController.java create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/sso/service/DataPermissionService.java create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/sso/service/dto/DataPermissionDto.java create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/sso/service/impl/DataPermissionServiceImpl.java delete mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/rest/DeviceController.java delete mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/rest/WorkorderController.java delete mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/DeviceService.java delete mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/WorkordeService.java delete mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/dto/DeviceDto.java delete mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/dto/WorkorderDto.java delete mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java delete mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java delete mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/wql/MPS_PRODUCEDURE001.wql delete mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/wql/PDM_BI_DEVICE01.wql create mode 100644 nladmin-ui/src/views/system/dataPermission/dataPermission.js create mode 100644 nladmin-ui/src/views/system/dataPermission/index.vue diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/common/utils/SecurityUtils.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/common/utils/SecurityUtils.java index d68991b..9bc4ea2 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/common/utils/SecurityUtils.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/common/utils/SecurityUtils.java @@ -68,7 +68,8 @@ public class SecurityUtils { * @return 系统用户Id */ public static Long getDeptId() { - return getCurrentUser().getUser().getDept().getId(); +// return getCurrentUser().getUser().getDept().getId(); + return 1L; } /** diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/generator/utils/GenUtil.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/generator/utils/GenUtil.java index 46bcf3b..06e878d 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/generator/utils/GenUtil.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/generator/utils/GenUtil.java @@ -62,14 +62,14 @@ public class GenUtil { */ private static List getAdminTemplateNames() { List templateNames = new ArrayList<>(); - // templateNames.add("Entity"); + // templateNames.add("Entity"); templateNames.add("Dto"); - // templateNames.add("Mapper"); + // templateNames.add("Mapper"); templateNames.add("Controller"); //templateNames.add("QueryCriteria"); templateNames.add("Service"); templateNames.add("ServiceImpl"); - // templateNames.add("Repository"); + // templateNames.add("Repository"); return templateNames; } @@ -399,7 +399,10 @@ public class GenUtil { private static String getFrontFilePath(String templateName, String apiPath, String path, String apiName) { if ("api".equals(templateName)) { - return apiPath + File.separator + apiName + ".js"; +// return apiPath + File.separator + apiName + ".js"; + //和vue同文件夹 + return path + File.separator + ".js"; + } if ("index".equals(templateName)) { diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/security/rest/AuthorizationController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/security/rest/AuthorizationController.java index 7b35c07..f2c3199 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/security/rest/AuthorizationController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/security/rest/AuthorizationController.java @@ -40,6 +40,7 @@ import org.nl.modules.security.service.dto.AuthUserDto; import org.nl.modules.system.service.RoleService; import org.nl.modules.system.service.UserService; import org.nl.modules.system.service.dto.UserDto; +import org.nl.modules.wql.core.bean.WQLObject; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -88,27 +89,33 @@ public class AuthorizationController { } // 校验数据库 // 根据用户名查询,在比对密码 - UserDto userDto = userService.findByName(authUser.getUsername()); // 拿不到已经抛出异常 - if (!userDto.getPassword().equals(SaSecureUtil.md5BySalt(password, "salt"))) { // 这里需要密码加密 + + + JSONObject userInfo = WQLObject.getWQLObject("sys_user").query("username = '" + authUser.getUsername() + "'").uniqueResult(0); + + String password1 = userInfo.getString("password"); + if (!password1.equals(SaSecureUtil.md5BySalt(password, "salt"))) { // 这里需要密码加密 throw new BadRequestException("账号或密码错误"); } // 获取权限列表 - 登录查找权限 - List permissionList = roleService.getPermissionList(userDto); + List permissionList = roleService.getPermissionList(userInfo); // 判断是否被锁 - if (!userDto.getEnabled()) throw new BadRequestException("账号未激活"); + String is_used = userInfo.getString("is_used"); + + if (!StrUtil.equals(is_used, "1")) throw new BadRequestException("账号未激活"); // 登录输入,登出删除 CurrentUser user = new CurrentUser(); - user.setId(userDto.getId()); - user.setUsername(userDto.getUsername()); - user.setNickName(userDto.getNickName()); - user.setUser(userDto); + user.setId(userInfo.getLong("user_id")); + user.setUsername(userInfo.getString("username")); + user.setNickName(userInfo.getString("person_name")); + user.setUser(this.getById(userInfo.getLong("user_id"))); user.setPermissions(permissionList); // SaLoginModel 配置登录相关参数 - StpUtil.login(userDto.getId(), new SaLoginModel() + StpUtil.login(userInfo.getLong("user_id"), new SaLoginModel() .setDevice("PC") // 此次登录的客户端设备类型, 用于[同端互斥登录]时指定此次登录的设备类型 .setExtra("loginInfo", user) // Token挂载的扩展参数 (此方法只有在集成jwt插件时才会生效) ); @@ -116,17 +123,25 @@ public class AuthorizationController { // 返回 token 与 用户信息 JSONObject jsonObject = new JSONObject(); jsonObject.put("roles", permissionList); - jsonObject.put("user", userDto); + jsonObject.put("user", userInfo); Map authInfo = new HashMap(2) {{ - put("token", "Bearer "+StpUtil.getTokenValue()); - put("user", jsonObject); + put("token", "Bearer " + StpUtil.getTokenValue()); + put("user", user); }}; // 保存在线信息 - onlineUserService.save(userDto, StpUtil.getTokenValue(), request); +// onlineUserService.save(userDto, StpUtil.getTokenValue(), request); return ResponseEntity.ok(authInfo); } + private UserDto getById(Long user_id) { + WQLObject userTab = WQLObject.getWQLObject("sys_user"); + JSONObject user = userTab.query("user_id = '" + user_id + "'").uniqueResult(0); + UserDto userDto = user.toJavaObject(UserDto.class); + return userDto; + + } + @ApiOperation("获取用户信息") @GetMapping(value = "/info") public ResponseEntity getUserInfo() { @@ -161,7 +176,7 @@ public class AuthorizationController { @ApiOperation("退出登录") @DeleteMapping(value = "/logout") public ResponseEntity logout(HttpServletRequest request) { - if (ObjectUtil.isNotEmpty(StpUtil.getTokenValue())){ + if (ObjectUtil.isNotEmpty(StpUtil.getTokenValue())) { onlineUserService.logout(StpUtil.getTokenValue()); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/security/rest/MobileAuthorizationController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/security/rest/MobileAuthorizationController.java deleted file mode 100644 index bddbc15..0000000 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/security/rest/MobileAuthorizationController.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.nl.modules.security.rest; - -import cn.dev33.satoken.annotation.SaIgnore; -import cn.dev33.satoken.secure.SaSecureUtil; -import cn.dev33.satoken.stp.SaLoginModel; -import cn.dev33.satoken.stp.StpUtil; -import com.alibaba.fastjson.JSONObject; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.common.config.RsaProperties; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.RedisUtils; -import org.nl.modules.common.utils.RsaUtils; -import org.nl.modules.common.utils.dto.CurrentUser; -import org.nl.modules.security.service.dto.AuthUserDto; -import org.nl.modules.system.service.RoleService; -import org.nl.modules.system.service.UserService; -import org.nl.modules.system.service.dto.UserDto; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.servlet.http.HttpServletRequest; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @author: lyd - * @description: 手持登录鉴权 - * @Date: 2022/10/10 - */ -@Slf4j -@RestController -@RequestMapping("/api/pda") -@RequiredArgsConstructor -@Api(tags = "手持:系统授权接口") -public class MobileAuthorizationController { - private final RedisUtils redisUtils; - private final UserService userService; - private final RoleService roleService; - - @ApiOperation("登录授权") - @PostMapping(value = "/login") - @SaIgnore - public ResponseEntity login(@Validated @RequestBody AuthUserDto authUser, HttpServletRequest request) throws Exception { - // 密码解密 - 前端的加密规则: encrypt(根据实际更改) - String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, authUser.getPassword()); - // 校验数据库 - // 根据用户名查询,在比对密码 - UserDto userDto = userService.findByName(authUser.getUsername()); // 拿不到已经抛出异常 - if (!userDto.getPassword().equals(SaSecureUtil.md5BySalt(password, "salt"))) { // 这里需要密码加密 - throw new BadRequestException("账号或密码错误"); - } - // 获取权限列表 - 登录查找权限 - List permissionList = roleService.getPermissionList(userDto); - - // 登录输入,登出删除 - CurrentUser user = new CurrentUser(); - user.setId(userDto.getId()); - user.setUsername(userDto.getUsername()); - user.setNickName(userDto.getNickName()); - user.setUser(userDto); - user.setPermissions(permissionList); - - // SaLoginModel 配置登录相关参数 - StpUtil.login(userDto.getId(), new SaLoginModel() - .setDevice("PE") // 此次登录的客户端设备类型, 用于[同端互斥登录]时指定此次登录的设备类型 - .setExtra("loginInfo", user) // Token挂载的扩展参数 (此方法只有在集成jwt插件时才会生效) - ); - - // 返回 token 与 用户信息 - JSONObject jsonObject = new JSONObject(); - jsonObject.put("user", userDto); - Map authInfo = new HashMap(2) {{ - put("token", "Bearer "+StpUtil.getTokenValue()); - put("user", jsonObject); - }}; - - return ResponseEntity.ok(authInfo); - } -} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/security/service/OnlineUserService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/security/service/OnlineUserService.java index e4b8b5e..619fdda 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/security/service/OnlineUserService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/security/service/OnlineUserService.java @@ -51,14 +51,15 @@ public class OnlineUserService { * @param request / */ public void save(UserDto userDto, String token, HttpServletRequest request){ - String dept = userDto.getDept().getName(); +// String dept = userDto.getDept().getName(); + String dept = ""; String ip = StringUtils.getIp(request); String browser = StringUtils.getBrowser(request); // String address = StringUtils.getCityInfo(ip); String address = "局域网"; OnlineUserDto onlineUserDto = null; try { - onlineUserDto = new OnlineUserDto(userDto.getUsername(), userDto.getNickName(), dept, browser , ip, address, EncryptUtils.desEncrypt(token), new Date()); +// onlineUserDto = new OnlineUserDto(userDto.getUsername(), userDto.getNickName(), dept, browser , ip, address, EncryptUtils.desEncrypt(token), new Date()); } catch (Exception e) { log.error(e.getMessage(),e); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/MenuController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/MenuController.java index 15d3c11..e4dfa0a 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/MenuController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/MenuController.java @@ -19,17 +19,23 @@ import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaMode; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.map.MapUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.PageUtil; +import org.nl.modules.common.utils.SecurityUtils; import org.nl.modules.logging.annotation.Log; import org.nl.modules.system.domain.Menu; import org.nl.modules.system.service.MenuService; import org.nl.modules.system.service.dto.MenuDto; import org.nl.modules.system.service.dto.MenuQueryCriteria; import org.nl.modules.system.service.mapstruct.MenuMapper; +import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -54,9 +60,9 @@ public class MenuController { private static final String ENTITY_NAME = "menu"; @GetMapping(value = "/build") - @ApiOperation("获取前端所需菜单") - public ResponseEntity buildMenus(){ - List menuDtoList = menuService.findByUser(StpUtil.getLoginIdAsLong()); + @ApiOperation("根据用户获取菜单") + public ResponseEntity buildMenus() { + List menuDtoList = menuService.findByUser(SecurityUtils.getCurrentUserId()); List menuDtos = menuService.buildTree(menuDtoList); return new ResponseEntity<>(menuService.buildMenus(menuDtos),HttpStatus.OK); } @@ -64,28 +70,46 @@ public class MenuController { @ApiOperation("返回全部的菜单") @GetMapping(value = "/lazy") @SaCheckPermission(value = {"menu:list", "roles:list"}, mode = SaMode.AND) - public ResponseEntity query(@RequestParam Long pid){ - return new ResponseEntity<>(menuService.getMenus(pid),HttpStatus.OK); + public ResponseEntity query(@RequestParam Long pid) { + return new ResponseEntity<>(menuService.getMenus(pid), HttpStatus.OK); + } + + @ApiOperation("菜单子系统级联选择") + @GetMapping(value = "/getSelectList") + @SaCheckPermission(value = {"menu:list", "roles:list"}, mode = SaMode.AND) + public ResponseEntity getSelectList() { + return new ResponseEntity<>(menuService.getSelectList(), HttpStatus.OK); + } + + @ApiOperation("获取菜单列表") + @PostMapping(value = "/getMenusByRole") + @SaCheckPermission(value = {"menu:list", "roles:list"}, mode = SaMode.AND) + public ResponseEntity getMenusByRole(@RequestBody JSONObject json) { + String role_id = json.getString("role_id"); + String system_type = json.getString("system_type"); + String category = json.getString("category"); + return new ResponseEntity<>(menuService.getMenusByRole(role_id, system_type, category), HttpStatus.OK); } @ApiOperation("根据菜单ID返回所有子节点ID,包含自身ID") @GetMapping(value = "/child") @SaCheckPermission(value = {"menu:list", "roles:list"}, mode = SaMode.AND) - public ResponseEntity child(@RequestParam Long id){ - Set menuSet = new HashSet<>(); + public ResponseEntity child(@RequestParam Long id) { + /* Set menuSet = new HashSet<>(); List menuList = menuService.getMenus(id); menuSet.add(menuService.findOne(id)); menuSet = menuService.getChildMenus(menuMapper.toEntity(menuList), menuSet); - Set ids = menuSet.stream().map(Menu::getId).collect(Collectors.toSet()); - return new ResponseEntity<>(ids,HttpStatus.OK); + Set ids = menuSet.stream().map(Menu::getId).collect(Collectors.toSet());*/ + return new ResponseEntity<>(id, HttpStatus.OK); } @GetMapping @ApiOperation("查询菜单") @SaCheckPermission("menu:list") - public ResponseEntity query(MenuQueryCriteria criteria) throws Exception { - List menuDtoList = menuService.queryAll(criteria, true); - return new ResponseEntity<>(PageUtil.toPage(menuDtoList, menuDtoList.size()),HttpStatus.OK); + public ResponseEntity query(@RequestParam Map whereJson, Pageable page) throws Exception { + JSONObject param = JSONObject.parseObject(JSON.toJSONString(whereJson)); + JSONObject menuDtoList = menuService.queryAll(param, page); + return new ResponseEntity<>(menuDtoList, HttpStatus.OK); } @ApiOperation("查询菜单:根据ID获取同级与上级数据") @@ -93,25 +117,22 @@ public class MenuController { @SaCheckPermission("menu:list") public ResponseEntity getSuperior(@RequestBody List ids) { Set menuDtos = new LinkedHashSet<>(); - if(CollectionUtil.isNotEmpty(ids)){ + if (CollectionUtil.isNotEmpty(ids)) { for (Long id : ids) { MenuDto menuDto = menuService.findById(id); menuDtos.addAll(menuService.getSuperior(menuDto, new ArrayList<>())); } - return new ResponseEntity<>(menuService.buildTree(new ArrayList<>(menuDtos)),HttpStatus.OK); + return new ResponseEntity<>(menuService.buildTree(new ArrayList<>(menuDtos)), HttpStatus.OK); } - return new ResponseEntity<>(menuService.getMenus(null),HttpStatus.OK); + return new ResponseEntity<>(menuService.getMenus(null), HttpStatus.OK); } @Log("新增菜单") @ApiOperation("新增菜单") @PostMapping @SaCheckPermission("menu:add") - public ResponseEntity create(@Validated @RequestBody Menu resources){ - if (resources.getId() != null) { - throw new BadRequestException("A new "+ ENTITY_NAME +" cannot already have an ID"); - } - menuService.create(resources); + public ResponseEntity create(@Validated @RequestBody JSONObject form) { + menuService.create(form); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -119,7 +140,7 @@ public class MenuController { @ApiOperation("修改菜单") @PutMapping @SaCheckPermission("menu:edit") - public ResponseEntity update(@Validated(Menu.Update.class) @RequestBody Menu resources){ + public ResponseEntity update(@Validated(Menu.Update.class) @RequestBody Menu resources) { menuService.update(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -128,12 +149,12 @@ public class MenuController { @ApiOperation("删除菜单") @DeleteMapping @SaCheckPermission("menu:del") - public ResponseEntity delete(@RequestBody Set ids){ + public ResponseEntity delete(@RequestBody Set ids) { Set menuSet = new HashSet<>(); for (Long id : ids) { - List menuList = menuService.getMenus(id); + /* List menuList = menuService.getMenus(id);*/ menuSet.add(menuService.findOne(id)); - menuSet = menuService.getChildMenus(menuMapper.toEntity(menuList), menuSet); + /*menuSet = menuService.getChildMenus(menuMapper.toEntity(menuList), menuSet);*/ } menuService.delete(menuSet); return new ResponseEntity<>(HttpStatus.OK); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/RoleController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/RoleController.java index 1e2088a..bb01975 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/RoleController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/RoleController.java @@ -19,6 +19,8 @@ import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaMode; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.lang.Dict; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -39,6 +41,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Collections; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.stream.Collectors; @@ -59,7 +62,7 @@ public class RoleController { @ApiOperation("获取单个role") @GetMapping(value = "/{id}") @SaCheckPermission("roles:list") - public ResponseEntity query(@PathVariable Long id){ + public ResponseEntity query(@PathVariable Long id) { return new ResponseEntity<>(roleService.findById(id), HttpStatus.OK); } @@ -73,33 +76,30 @@ public class RoleController { @ApiOperation("返回全部的角色") @GetMapping(value = "/all") @SaCheckPermission(value = {"roles:list", "user:add", "user:edit"}, mode = SaMode.AND) - public ResponseEntity query(){ - return new ResponseEntity<>(roleService.queryAll(),HttpStatus.OK); + public ResponseEntity query() { + return new ResponseEntity<>(roleService.queryAll(), HttpStatus.OK); } @ApiOperation("查询角色") @GetMapping @SaCheckPermission("roles:list") - public ResponseEntity query(RoleQueryCriteria criteria, Pageable pageable){ - return new ResponseEntity<>(roleService.queryAll(criteria,pageable),HttpStatus.OK); + public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { + JSONObject param = JSONObject.parseObject(JSON.toJSONString(whereJson)); + return new ResponseEntity<>(roleService.queryAll(param, page), HttpStatus.OK); } @ApiOperation("获取用户级别") @GetMapping(value = "/level") - public ResponseEntity getLevel(){ - return new ResponseEntity<>(Dict.create().set("level", getLevels(null)),HttpStatus.OK); + public ResponseEntity getLevel() { + return new ResponseEntity<>(2, HttpStatus.OK); } @Log("新增角色") @ApiOperation("新增角色") @PostMapping @SaCheckPermission("roles:add") - public ResponseEntity create(@Validated @RequestBody Role resources){ - if (resources.getId() != null) { - throw new BadRequestException("A new "+ ENTITY_NAME +" cannot already have an ID"); - } - getLevels(resources.getLevel()); - roleService.create(resources); + public ResponseEntity create(@Validated @RequestBody JSONObject form) { + roleService.create(form); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -107,7 +107,7 @@ public class RoleController { @ApiOperation("修改角色") @PutMapping @SaCheckPermission("roles:edit") - public ResponseEntity update(@Validated(Role.Update.class) @RequestBody Role resources){ + public ResponseEntity update(@Validated(Role.Update.class) @RequestBody Role resources) { getLevels(resources.getLevel()); roleService.update(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); @@ -117,10 +117,10 @@ public class RoleController { @ApiOperation("修改角色菜单") @PutMapping(value = "/menu") @SaCheckPermission("roles:edit") - public ResponseEntity updateMenu(@RequestBody Role resources){ + public ResponseEntity updateMenu(@RequestBody Role resources) { RoleDto role = roleService.findById(resources.getId()); getLevels(role.getLevel()); - roleService.updateMenu(resources,role); + roleService.updateMenu(resources, role); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -128,7 +128,7 @@ public class RoleController { @ApiOperation("删除角色") @DeleteMapping @SaCheckPermission("roles:del") - public ResponseEntity delete(@RequestBody Set ids){ + public ResponseEntity delete(@RequestBody Set ids) { for (Long id : ids) { RoleDto role = roleService.findById(id); getLevels(role.getLevel()); @@ -141,13 +141,14 @@ public class RoleController { /** * 获取用户的角色级别 + * * @return / */ - private int getLevels(Integer level){ + private int getLevels(Integer level) { List levels = roleService.findByUsersId(StpUtil.getLoginIdAsLong()).stream().map(RoleSmallDto::getLevel).collect(Collectors.toList()); int min = Collections.min(levels); - if(level != null){ - if(level < min){ + if (level != null) { + if (level < min) { throw new BadRequestException("权限不足,你的角色级别:" + min + ",低于操作的角色级别:" + level); } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/MenuService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/MenuService.java index a236636..dba9b8a 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/MenuService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/MenuService.java @@ -15,9 +15,12 @@ */ package org.nl.modules.system.service; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import org.nl.modules.system.domain.Menu; import org.nl.modules.system.service.dto.MenuDto; import org.nl.modules.system.service.dto.MenuQueryCriteria; +import org.springframework.data.domain.Pageable; import java.util.List; import java.util.Set; @@ -29,16 +32,35 @@ import java.util.Set; public interface MenuService { /** - * 查询全部数据 - * @param criteria 条件 - * @param isQuery / - * @throws Exception / - * @return / + * 查询参数 + * + * @param param + * @return + * @throws Exception */ - List queryAll(MenuQueryCriteria criteria, Boolean isQuery) throws Exception; + JSONObject queryAll(JSONObject param, Pageable page) throws Exception; + + + /** + * 构建菜单子系统与菜单类类别的级联选择下拉框 + * + * @return + */ + JSONArray getSelectList(); + + /** + * 1、根据子系统、菜单类别获取菜单列表,并判断对应的角色ID是否拥有该菜单 + * + * @param role_id 角色ID + * @param system_type 子系统 + * @param category 菜单类别 + * @return + */ + JSONArray getMenusByRole(String role_id, String system_type, String category); /** * 根据ID查询 + * * @param id / * @return / */ @@ -46,26 +68,30 @@ public interface MenuService { /** * 创建 - * @param resources / + * + * @param form / */ - void create(Menu resources); + void create(JSONObject form); /** * 编辑 + * * @param resources / */ void update(Menu resources); /** * 获取所有子节点,包含自身ID + * * @param menuList / - * @param menuSet / + * @param menuSet / * @return / */ Set getChildMenus(List menuList, Set menuSet); /** * 构建菜单树 + * * @param menuDtos 原始数据 * @return / */ @@ -73,6 +99,7 @@ public interface MenuService { /** * 构建菜单树 + * * @param menuDtos / * @return / */ @@ -80,6 +107,7 @@ public interface MenuService { /** * 根据ID查询 + * * @param id / * @return / */ @@ -87,19 +115,22 @@ public interface MenuService { /** * 删除 + * * @param menuSet / */ void delete(Set menuSet); /** * 懒加载菜单数据 + * * @param pid / * @return / */ - List getMenus(Long pid); + JSONArray getMenus(Long pid); /** * 根据ID获取同级与上级数据 + * * @param menuDto / * @param objects / * @return / @@ -108,6 +139,7 @@ public interface MenuService { /** * 根据当前用户获取菜单 + * * @param currentUserId / * @return / */ diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/RoleService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/RoleService.java index 9779b46..9704156 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/RoleService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/RoleService.java @@ -15,6 +15,7 @@ */ package org.nl.modules.system.service; +import com.alibaba.fastjson.JSONObject; import org.nl.modules.system.domain.Role; import org.nl.modules.system.service.dto.RoleDto; import org.nl.modules.system.service.dto.RoleQueryCriteria; @@ -25,6 +26,7 @@ import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; +import java.util.Map; import java.util.Set; /** @@ -48,9 +50,9 @@ public interface RoleService { /** * 创建 - * @param resources / + * @param form / */ - void create(Role resources); + void create(JSONObject form); /** * 编辑 @@ -93,11 +95,11 @@ public interface RoleService { /** * 待条件分页查询 - * @param criteria 条件 - * @param pageable 分页参数 + * @param whereJson 条件 + * @param page 分页参数 * @return / */ - Object queryAll(RoleQueryCriteria criteria, Pageable pageable); + Map queryAll(Map whereJson, Pageable page); /** * 查询全部 @@ -126,7 +128,7 @@ public interface RoleService { * @param userDto * @return */ - List getPermissionList(UserDto userDto); + List getPermissionList(JSONObject userDto); /** * 验证是否被用户关联 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/dto/MenuDto.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/dto/MenuDto.java index 0911324..4d2a181 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/dto/MenuDto.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/dto/MenuDto.java @@ -53,7 +53,6 @@ public class MenuDto extends BaseDTO implements Serializable { private Boolean iFrame; - private Boolean isPc; private Boolean cache; diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/dto/UserDto.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/dto/UserDto.java index 11d92f4..c348c98 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/dto/UserDto.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/dto/UserDto.java @@ -38,13 +38,10 @@ public class UserDto extends BaseDTO implements Serializable { private Set roles; - private DeptSmallDto dept; - - private Long deptId; private String username; - private String nickName; + private String personName; private String email; diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/DataServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/DataServiceImpl.java index 24e4d3f..e5be390 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/DataServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/DataServiceImpl.java @@ -61,9 +61,9 @@ public class DataServiceImpl implements DataService { DataScopeEnum dataScopeEnum = DataScopeEnum.find(role.getDataScope()); switch (Objects.requireNonNull(dataScopeEnum)) { case THIS_LEVEL: - if (ObjectUtil.isNotEmpty(user.getDept())){ + /*if (ObjectUtil.isNotEmpty(user.getDept())){ deptIds.add(user.getDept().getId()); - } + }*/ break; case CUSTOMIZE: deptIds.addAll(getCustomize(deptIds, role)); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/MenuServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/MenuServiceImpl.java index 17e3a9f..d601847 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/MenuServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/MenuServiceImpl.java @@ -15,14 +15,15 @@ */ package org.nl.modules.system.service.impl; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.exception.EntityExistException; -import org.nl.modules.common.utils.QueryHelp; -import org.nl.modules.common.utils.RedisUtils; -import org.nl.modules.common.utils.ValidationUtil; +import org.nl.modules.common.utils.*; import org.nl.modules.system.domain.Menu; import org.nl.modules.system.domain.Role; import org.nl.modules.system.domain.User; @@ -36,8 +37,14 @@ import org.nl.modules.system.service.dto.MenuDto; import org.nl.modules.system.service.dto.MenuQueryCriteria; import org.nl.modules.system.service.dto.RoleSmallDto; import org.nl.modules.system.service.mapstruct.MenuMapper; +import org.nl.modules.wql.WQL; +import org.nl.modules.wql.core.bean.ResultBean; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.WqlUtil; +import org.nl.wms.util.IdUtil; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.Cacheable; +import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -61,25 +68,47 @@ public class MenuServiceImpl implements MenuService { private final RedisUtils redisUtils; @Override - public List queryAll(MenuQueryCriteria criteria, Boolean isQuery) throws Exception { - Sort sort = Sort.by(Sort.Direction.ASC, "menuSort"); - if (isQuery) { - criteria.setPidIsNull(true); - List fields = QueryHelp.getAllFields(criteria.getClass(), new ArrayList<>()); - for (Field field : fields) { - //设置对象的访问权限,保证对private的属性的访问 - field.setAccessible(true); - Object val = field.get(criteria); - if ("pidIsNull".equals(field.getName())) { - continue; - } - if (ObjectUtil.isNotNull(val)) { - criteria.setPidIsNull(null); - break; + public JSONObject queryAll(JSONObject param, Pageable page) throws Exception { + ResultBean rb = WQLObject.getWQLObject("sys_menu2").pagequery(WqlUtil.getHttpContext(page), "", ""); + return rb.pageResult(); + } + + @Override + public JSONArray getSelectList() { + JSONArray arr = WQL.getWO("QSYS_MENU01").addParam("flag", "1").process().getResultJSONArray(0); + + JSONArray result = new JSONArray(); + for (int i = 0; i < arr.size(); i++) { + JSONObject json = arr.getJSONObject(i); + JSONObject item = new JSONObject(); + String system_type = json.getString("system_type"); + item.put("label", system_type); + item.put("value", system_type); + + //构建字级节点 + JSONArray children = WQL.getWO("QSYS_MENU01").addParam("flag", "2").addParam("system_type", system_type).process().getResultJSONArray(0); + if (ObjectUtil.isNotEmpty(children)) { + JSONArray childNodes = new JSONArray(); + for (int j = 0; j < children.size(); j++) { + JSONObject childJson = children.getJSONObject(j); + JSONObject childItem = new JSONObject(); + String category = childJson.getString("category"); + childItem.put("label", category); + childItem.put("value", category); + childNodes.add(childItem); } + item.put("children", childNodes); } + + result.add(item); } - return menuMapper.toDto(menuRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), sort)); + return result; + } + + @Override + public JSONArray getMenusByRole(String role_id, String system_type, String category) { + JSONArray arr = WQL.getWO("QSYS_MENU01").addParam("flag", "3").addParam("system_type", system_type).addParam("category", category).process().getResultJSONArray(0); + return arr; } @Override @@ -97,94 +126,73 @@ public class MenuServiceImpl implements MenuService { * @return / */ @Override - @Cacheable(key = "'user:' + #p0") +// @Cacheable(key = "'user:' + #p0") public List findByUser(Long currentUserId) { - List roles = roleService.findByUsersId(currentUserId); - Set roleIds = roles.stream().map(RoleSmallDto::getId).collect(Collectors.toSet()); - LinkedHashSet menus = menuRepository.findByRoleIdsAndTypeNot(roleIds, 2); - return menus.stream().map(menuMapper::toDto).collect(Collectors.toList()); + JSONArray arr = WQL.getWO("QSYS_MENU01").addParam("flag", "4").addParam("user_id", String.valueOf(currentUserId)).process().getResultJSONArray(0); + List list = new ArrayList<>(); + for (int i = 0; i < arr.size(); i++) { + JSONObject json = arr.getJSONObject(i); + + MenuDto dto = new MenuDto(); + dto.setId(json.getLong("menu_id")); + dto.setType(json.getInteger("type")); + dto.setPermission(json.getString("permission")); + dto.setTitle(json.getString("title")); + dto.setPath(json.getString("path")); + dto.setComponentName(json.getString("name")); + dto.setComponent(json.getString("component")); + dto.setIcon(json.getString("icon")); + dto.setMenuSort(json.getInteger("menu_sort")); + dto.setSubCount(json.getInteger("sub_count")); + dto.setPid(json.getLong("pid")); + + + String cache = json.getString("cache"); + String iFrame = json.getString("i_frame"); + String hidden = json.getString("hidden"); + if (StrUtil.equals(cache, "1")) { + dto.setCache(true); + } else { + dto.setCache(false); + } + + if (StrUtil.equals(iFrame, "1")) { + dto.setIFrame(true); + } else { + dto.setIFrame(false); + } + if (StrUtil.equals(hidden, "1")) { + dto.setHidden(true); + } else { + dto.setHidden(false); + } + + + list.add(dto); + } + return list; } @Override @Transactional(rollbackFor = Exception.class) - public void create(Menu resources) { - if (menuRepository.findByTitle(resources.getTitle()) != null) { - throw new EntityExistException(Menu.class, "title", resources.getTitle()); - } - if (StrUtil.isNotEmpty(resources.getComponentName())) { - if (menuRepository.findByComponentName(resources.getComponentName()) != null) { - throw new EntityExistException(Menu.class, "componentName", resources.getComponentName()); - } - } - if (resources.getPid().equals(0L)) { - resources.setPid(null); - } - if (resources.getIFrame()) { - String http = "http://", https = "https://"; - if (!(resources.getPath().toLowerCase().startsWith(http) || resources.getPath().toLowerCase().startsWith(https))) { - throw new BadRequestException("外链必须以http://或者https://开头"); - } - } - menuRepository.save(resources); - // 计算子节点数目 - resources.setSubCount(0); - // 更新父节点菜单数目 - updateSubCnt(resources.getPid()); + public void create(JSONObject form) { + WQLObject menuTab = WQLObject.getWQLObject("sys_menu2"); + String menu_id = IdUtil.getStringId(); + form.put("menu_id", menu_id); + form.put("create_id", SecurityUtils.getCurrentUserId()); + form.put("create_name", SecurityUtils.getCurrentNickName()); + form.put("create_time", DateUtil.now()); + form.put("update_id", SecurityUtils.getCurrentUserId()); + form.put("update_name", SecurityUtils.getCurrentNickName()); + form.put("update_time", DateUtil.now()); + menuTab.insert(form); + //TODO 更新子节点数量 } @Override @Transactional(rollbackFor = Exception.class) public void update(Menu resources) { - if (resources.getId().equals(resources.getPid())) { - throw new BadRequestException("上级不能为自己"); - } - Menu menu = menuRepository.findById(resources.getId()).orElseGet(Menu::new); - ValidationUtil.isNull(menu.getId(), "Permission", "id", resources.getId()); - if (resources.getIFrame()) { - String http = "http://", https = "https://"; - if (!(resources.getPath().toLowerCase().startsWith(http) || resources.getPath().toLowerCase().startsWith(https))) { - throw new BadRequestException("外链必须以http://或者https://开头"); - } - } - Menu menu1 = menuRepository.findByTitle(resources.getTitle()); - - if (menu1 != null && !menu1.getId().equals(menu.getId())) { - throw new EntityExistException(Menu.class, "title", resources.getTitle()); - } - - if (resources.getPid().equals(0L)) { - resources.setPid(null); - } - - // 记录的父节点ID - Long oldPid = menu.getPid(); - Long newPid = resources.getPid(); - - if (StrUtil.isNotEmpty(resources.getComponentName())) { - menu1 = menuRepository.findByComponentName(resources.getComponentName()); - if (menu1 != null && !menu1.getId().equals(menu.getId())) { - throw new EntityExistException(Menu.class, "componentName", resources.getComponentName()); - } - } - menu.setTitle(resources.getTitle()); - menu.setComponent(resources.getComponent()); - menu.setPath(resources.getPath()); - menu.setIcon(resources.getIcon()); - menu.setIFrame(resources.getIFrame()); - menu.setPid(resources.getPid()); - menu.setMenuSort(resources.getMenuSort()); - menu.setCache(resources.getCache()); - menu.setHidden(resources.getHidden()); - menu.setComponentName(resources.getComponentName()); - menu.setPermission(resources.getPermission()); - menu.setType(resources.getType()); - menuRepository.save(menu); - // 计算父级菜单节点数目 - updateSubCnt(oldPid); - updateSubCnt(newPid); - // 清理缓存 - delCaches(resources.getId()); } @Override @@ -212,14 +220,28 @@ public class MenuServiceImpl implements MenuService { } @Override - public List getMenus(Long pid) { - List menus; + public JSONArray getMenus(Long pid) { + // 菜单表【sys_menu2】 + WQLObject menuTab = WQLObject.getWQLObject("sys_menu2"); + JSONArray menus; if (pid != null && !pid.equals(0L)) { - menus = menuRepository.findByPid(pid); + menus = menuTab.query("pid = '" + pid + "'").getResultJSONArray(0); } else { - menus = menuRepository.findByPidIsNull(); + menus = menuTab.query("(pid =0 or pid is null)").getResultJSONArray(0); } - return menuMapper.toDto(menus); + //判断是否叶子节点,用于前端构建树 + for (int i = 0; i < menus.size(); i++) { + JSONObject json = menus.getJSONObject(i); + Integer sub_count = json.getInteger("sub_count"); + if (sub_count <= 0) { + json.put("leaf", true); + json.put("hasChildren", false); + } else { + json.put("leaf", false); + json.put("hasChildren", true); + } + } + return menus; } @Override diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/RoleServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/RoleServiceImpl.java index 93d21e1..f3488cb 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/RoleServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/RoleServiceImpl.java @@ -16,6 +16,7 @@ package org.nl.modules.system.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; @@ -34,6 +35,10 @@ import org.nl.modules.system.service.dto.UserDto; import org.nl.modules.system.service.mapstruct.RoleMapper; import org.nl.modules.system.service.mapstruct.RoleSmallMapper; import org.nl.modules.wql.WQL; +import org.nl.modules.wql.core.bean.ResultBean; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.WqlUtil; +import org.nl.wms.util.IdUtil; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; @@ -75,9 +80,9 @@ public class RoleServiceImpl implements RoleService { } @Override - public Object queryAll(RoleQueryCriteria criteria, Pageable pageable) { - Page page = roleRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable); - return PageUtil.toPage(page.map(roleMapper::toDto)); + public Map queryAll(Map whereJson, Pageable page) { + ResultBean rb = WQLObject.getWQLObject("sys_role").pagequery(WqlUtil.getHttpContext(page), "", ""); + return rb.pageResult(); } @Override @@ -91,11 +96,20 @@ public class RoleServiceImpl implements RoleService { @Override @Transactional(rollbackFor = Exception.class) - public void create(Role resources) { - if (roleRepository.findByName(resources.getName()) != null) { - throw new EntityExistException(Role.class, "username", resources.getName()); - } - roleRepository.save(resources); + public void create(JSONObject form) { +//角色表【sys_role】 + WQLObject roleTab = WQLObject.getWQLObject("sys_role"); + + String role_id = IdUtil.getStringId(); + form.put("role_id", role_id); + form.put("create_id", SecurityUtils.getCurrentUserId()); + form.put("create_name", SecurityUtils.getCurrentNickName()); + form.put("create_time", cn.hutool.core.date.DateUtil.now()); + form.put("update_id", SecurityUtils.getCurrentUserId()); + form.put("update_name", SecurityUtils.getCurrentNickName()); + form.put("update_time", DateUtil.now()); + roleTab.insert(form); + } @Override @@ -161,16 +175,14 @@ public class RoleServiceImpl implements RoleService { } @Override - @Cacheable(key = "'auth:' + #p0.id") - public List getPermissionList(UserDto userDto) { +// @Cacheable(key = "'auth:' + #p0.id") + public List getPermissionList(JSONObject userDto) { List permission = new LinkedList<>(); // 查看是否为管理员 - if (userDto.getIsAdmin()) { // 是管理员 permission.add("admin"); - } HashMap map = new HashMap<>(); map.put("flag", "1"); - map.put("user_id", userDto.getId().toString()); + map.put("user_id",userDto.getString("user_id")); JSONArray rows = WQL.getWO("SYS_MENU").addParamMap(map).process().getResultJSONArray(0); for (int i = 0; i < rows.size(); i++) { JSONObject jsonObject = rows.getJSONObject(i); @@ -207,6 +219,7 @@ public class RoleServiceImpl implements RoleService { /** * 清理缓存 + * * @param id / */ public void delCaches(Long id, List users) { diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/UserServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/UserServiceImpl.java index 0cf4006..b2b5921 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/UserServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/UserServiceImpl.java @@ -206,7 +206,6 @@ public class UserServiceImpl implements UserService { Map map = new LinkedHashMap<>(); map.put("用户名", userDTO.getUsername()); map.put("角色", roles); - map.put("部门", userDTO.getDept().getName()); map.put("邮箱", userDTO.getEmail()); map.put("状态", userDTO.getEnabled() ? "启用" : "禁用"); map.put("手机号码", userDTO.getPhone()); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/wql/QSYS_MENU01.wql b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/wql/QSYS_MENU01.wql new file mode 100644 index 0000000..321a1d4 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/wql/QSYS_MENU01.wql @@ -0,0 +1,109 @@ +[交易说明] + 交易名: 菜单数据 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.system_type TYPEAS s_string + 输入.category TYPEAS s_string + 输入.user_id TYPEAS s_string + + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + IF 输入.flag = "1" + QUERY + SELECT system_type from sys_menu2 GROUP BY system_type + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "2" + QUERY + SELECT category from sys_menu2 + WHERE + 1=1 + OPTION 输入.system_type <> "" + system_type = 输入.system_type + ENDOPTION + GROUP BY category + ENDSELECT + ENDQUERY + ENDIF + + + IF 输入.flag = "3" + QUERY + SELECT + m.* , + (CASE WHEN rm.menu_id IS NULL THEN '0' ELSE '1' END ) AS is_checked , + (CASE WHEN sub_count<=0 THEN true ELSE false END ) AS leaf + FROM + sys_menu2 m + LEFT JOIN sys_roles_menus rm ON m.menu_id = rm.menu_id + where (pid is null or pid=0) + OPTION 输入.system_type <> "" + system_type = 输入.system_type + ENDOPTION + OPTION 输入.category <> "" + category = 输入.category + ENDOPTION + ENDSELECT + ENDQUERY + ENDIF + + + IF 输入.flag = "4" + QUERY + SELECT + * + FROM + sys_menu + WHERE + type <> '2' + and + menu_id IN ( + SELECT + menu_id + FROM + sys_roles_menus + WHERE + role_id IN ( SELECT role_id FROM sys_users_roles where 1=1 + + OPTION 输入.user_id <> "" + user_id = 输入.user_id + ENDOPTION + )) + ENDSELECT + ENDQUERY + ENDIF diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/wql/sys.xls b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/wql/sys.xls index 1af36b26483ed6e19209f4cdcf8c8e190dea9fd1..e79020d38ad8864f1c8b416a407f01226c0b2752 100644 GIT binary patch delta 24881 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 delta 22716 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 query(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(dataPermissionService.queryAll(whereJson, page), HttpStatus.OK); + } + + @PostMapping + @Log("新增数据权限") + @ApiOperation("新增数据权限") + //@SaCheckPermission("@el.check('dataPermission:add')") + public ResponseEntity create(@Validated @RequestBody DataPermissionDto dto) { + dataPermissionService.create(dto); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改数据权限") + @ApiOperation("修改数据权限") + //@SaCheckPermission("@el.check('dataPermission:edit')") + public ResponseEntity update(@Validated @RequestBody DataPermissionDto dto) { + dataPermissionService.update(dto); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除数据权限") + @ApiOperation("删除数据权限") + //@SaCheckPermission("@el.check('dataPermission:del')") + @DeleteMapping + public ResponseEntity delete(@RequestBody Long[] ids) { + dataPermissionService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/sso/service/DataPermissionService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/sso/service/DataPermissionService.java new file mode 100644 index 0000000..6bb3bca --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/sso/service/DataPermissionService.java @@ -0,0 +1,71 @@ +package org.nl.sso.service; + + +import org.nl.sso.service.dto.DataPermissionDto; +import org.springframework.data.domain.Pageable; + +import java.util.Map; +import java.util.List; + +/** + * @author 2 + * @description 服务接口 + * @date 2022-11-28 + **/ +public interface DataPermissionService { + + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map queryAll(Map whereJson, Pageable page); + + /** + * 查询所有数据不分页 + * + * @param whereJson 条件参数 + * @return List + */ + List queryAll(Map whereJson); + + /** + * 根据ID查询 + * + * @param permission_id ID + * @return DataPermission + */ + DataPermissionDto findById(Long permission_id); + + /** + * 根据编码查询 + * + * @param code code + * @return DataPermission + */ + DataPermissionDto findByCode(String code); + + + /** + * 创建 + * + * @param dto / + */ + void create(DataPermissionDto dto); + + /** + * 编辑 + * + * @param dto / + */ + void update(DataPermissionDto dto); + + /** + * 多选删除 + * + * @param ids / + */ + void deleteAll(Long[] ids); +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/sso/service/dto/DataPermissionDto.java b/nladmin-system/nlsso-server/src/main/java/org/nl/sso/service/dto/DataPermissionDto.java new file mode 100644 index 0000000..0ad04a6 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/sso/service/dto/DataPermissionDto.java @@ -0,0 +1,81 @@ +package org.nl.sso.service.dto; + + +import lombok.Data; + +import java.math.BigDecimal; +import java.io.Serializable; + +/** + * @author 2 + * @description / + * @date 2022-11-28 + **/ +@Data +public class DataPermissionDto implements Serializable { + + /** + * permission_id + */ + private Long permission_id; + + /** + * 编码 + */ + private String code; + + /** + * 名称 + */ + private String name; + + /** + * 排序 + */ + private BigDecimal order_sort; + + /** + * 备注 + */ + private String remark; + + /** + * 是否启用 + */ + private String is_used; + + /** + * 是否删除 + */ + private String is_delete; + + /** + * 创建人标识 + */ + private Long create_id; + + /** + * 创建人 + */ + private String create_name; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 修改人标识 + */ + private Long update_optid; + + /** + * 修改人 + */ + private String update_optname; + + /** + * 修改时间 + */ + private String update_time; +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/sso/service/impl/DataPermissionServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/sso/service/impl/DataPermissionServiceImpl.java new file mode 100644 index 0000000..7516cf2 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/sso/service/impl/DataPermissionServiceImpl.java @@ -0,0 +1,132 @@ +package org.nl.sso.service.impl; + + +import com.alibaba.fastjson.JSON; +import lombok.RequiredArgsConstructor; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.sso.service.DataPermissionService; +import org.nl.sso.service.dto.DataPermissionDto; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import org.springframework.data.domain.Pageable; + +import java.util.List; +import java.util.Map; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import org.nl.modules.common.utils.SecurityUtils; +import org.nl.modules.wql.core.bean.ResultBean; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.WqlUtil; +import lombok.extern.slf4j.Slf4j; +import cn.hutool.core.util.ObjectUtil; + +/** + * @author 2 + * @description 服务实现 + * @date 2022-11-28 + **/ +@Service +@RequiredArgsConstructor +@Slf4j +public class DataPermissionServiceImpl implements DataPermissionService { + + @Override + public Map queryAll(Map whereJson, Pageable page) { + WQLObject wo = WQLObject.getWQLObject("sys_data_permission"); + ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "1=1", "update_time desc"); + final JSONObject json = rb.pageResult(); + return json; + } + + @Override + public List queryAll(Map whereJson) { + WQLObject wo = WQLObject.getWQLObject("sys_data_permission"); + JSONArray arr = wo.query().getResultJSONArray(0); + if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(DataPermissionDto.class); + return null; + } + + @Override + public DataPermissionDto findById(Long permission_id) { + WQLObject wo = WQLObject.getWQLObject("sys_data_permission"); + JSONObject json = wo.query("permission_id = '" + permission_id + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)) { + return json.toJavaObject(DataPermissionDto.class); + } + return null; + } + + @Override + public DataPermissionDto findByCode(String code) { + WQLObject wo = WQLObject.getWQLObject("sys_data_permission"); + JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)) { + return json.toJavaObject(DataPermissionDto.class); + } + return null; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(DataPermissionDto dto) { + Long currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + dto.setPermission_id(IdUtil.getSnowflake(1, 1).nextId()); + dto.setCreate_id(currentUserId); + dto.setCreate_name(nickName); + dto.setUpdate_optid(currentUserId); + dto.setUpdate_optname(nickName); + dto.setUpdate_time(now); + dto.setCreate_time(now); + + WQLObject wo = WQLObject.getWQLObject("sys_data_permission"); + JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); + wo.insert(json); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(DataPermissionDto dto) { + DataPermissionDto entity = this.findById(dto.getPermission_id()); + if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); + + Long currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + + String now = DateUtil.now(); + dto.setUpdate_time(now); + dto.setUpdate_optid(currentUserId); + dto.setUpdate_optname(nickName); + + WQLObject wo = WQLObject.getWQLObject("sys_data_permission"); + JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); + wo.update(json); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(Long[] ids) { + Long currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + WQLObject wo = WQLObject.getWQLObject("sys_data_permission"); + for (Long permission_id : ids) { + JSONObject param = new JSONObject(); + param.put("permission_id", String.valueOf(permission_id)); + param.put("is_delete", "1"); + param.put("update_optid", currentUserId); + param.put("update_optname", nickName); + param.put("update_time", now); + wo.update(param); + } + } + +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/rest/DeviceController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/rest/DeviceController.java deleted file mode 100644 index 7dfbfbf..0000000 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/rest/DeviceController.java +++ /dev/null @@ -1,77 +0,0 @@ - -package org.nl.wms.pdm.rest; - - -import com.alibaba.fastjson.JSONObject; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.logging.annotation.Log; -import org.nl.wms.pdm.service.DeviceService; -import org.nl.wms.pdm.service.dto.DeviceDto; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; - -/** -* @author geng by -* @date 2022-05-25 -**/ -@RestController -@RequiredArgsConstructor -@Api(tags = "生产设备管理") -@RequestMapping("/api/device") -@Slf4j -public class DeviceController { - - private final DeviceService deviceService; - - @GetMapping - @Log("查询生产设备") - @ApiOperation("查询生产设备") - //@SaCheckPermission("device:list") - public ResponseEntity query(@RequestParam Map whereJson, Pageable page){ - return new ResponseEntity<>(deviceService.queryAll(whereJson,page),HttpStatus.OK); - } - - @PostMapping - @Log("新增生产设备") - @ApiOperation("新增生产设备") - //@SaCheckPermission("device:add") - public ResponseEntity create(@Validated @RequestBody DeviceDto dto){ - deviceService.create(dto); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PutMapping - @Log("修改生产设备") - @ApiOperation("修改生产设备") - //@SaCheckPermission("device:edit") - public ResponseEntity update(@Validated @RequestBody DeviceDto dto){ - deviceService.update(dto); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除生产设备") - @ApiOperation("删除生产设备") - //@SaCheckPermission("device:del") - @DeleteMapping - public ResponseEntity delete(@RequestBody Long[] ids) { - deviceService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - @PutMapping("/changeActive") - @Log("修改点位启用状态") - @ApiOperation("修改点位启用状态") - public ResponseEntity changeActive(@RequestBody JSONObject json) { - deviceService.changeActive(json); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - -} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/rest/WorkorderController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/rest/WorkorderController.java deleted file mode 100644 index f8792a0..0000000 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/rest/WorkorderController.java +++ /dev/null @@ -1,145 +0,0 @@ -package org.nl.wms.pdm.rest; - - -import com.alibaba.fastjson.JSONObject; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.logging.annotation.Log; -import org.nl.wms.pdm.service.WorkordeService; -import org.nl.wms.pdm.service.dto.WorkorderDto; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; - -/** -* @author qinx -* @date 2022-05-24 -**/ -@RestController -@RequiredArgsConstructor -@Api(tags = "工单管理") -@RequestMapping("/api/workorder") -@Slf4j -public class WorkorderController { - - private final WorkordeService workordeService; - - @GetMapping - @Log("查询工单") - @ApiOperation("查询工单") - //@SaCheckPermission("produceshiftorder:list") - public ResponseEntity query(@RequestParam Map whereJson, Pageable page){ - return new ResponseEntity<>(workordeService.queryAll(whereJson,page),HttpStatus.OK); - } - - @PostMapping - @Log("新增工单") - @ApiOperation("新增工单") - //@SaCheckPermission("produceshiftorder:add") - public ResponseEntity create(@Validated @RequestBody WorkorderDto dto){ - workordeService.create(dto); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PutMapping - @Log("修改工单") - @ApiOperation("修改工单") - //@SaCheckPermission("produceshiftorder:edit") - public ResponseEntity update(@Validated @RequestBody WorkorderDto dto){ - workordeService.update(dto); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除工单") - @ApiOperation("删除工单") - //@SaCheckPermission("produceshiftorder:del") - @DeleteMapping - public ResponseEntity delete(@RequestBody Long[] ids) { - workordeService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - @PutMapping("/submits") - @Log("工单下发") - @ApiOperation("工单下发") - //@SaCheckPermission("produceshiftorder:edit") - public ResponseEntity submits(@RequestBody JSONObject param){ - workordeService.submits(param); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @PostMapping("/getDevice") - @Log("根据登录用户设备下拉") - @ApiOperation("根据登录用户设备下拉") - //@SaCheckPermission("produceshiftorder:list") - public ResponseEntity getDevice(@RequestBody JSONObject param){ - return new ResponseEntity<>(workordeService.getDevice(param),HttpStatus.OK); - } - - @PostMapping("/getTable") - @Log("获取工单生产记录") - @ApiOperation("获取工单生产记录") - //@SaCheckPermission("produceshiftorder:list") - public ResponseEntity getTable(@RequestBody JSONObject param){ - return new ResponseEntity<>(workordeService.getTable(param),HttpStatus.OK); - } - - @PostMapping("/openStart") - @Log("看板开工") - @ApiOperation("看板开工") - //@SaCheckPermission("produceshiftorder:list") - public ResponseEntity openStart(@RequestBody JSONObject param){ - workordeService.openStart(param); - return new ResponseEntity<>(HttpStatus.OK); - } - - @PostMapping("/saveReport") - @Log("看板报工") - @ApiOperation("看板报工") - //@SaCheckPermission("produceshiftorder:list") - public ResponseEntity saveReport(@RequestBody JSONObject param){ - workordeService.saveReport(param); - return new ResponseEntity<>(HttpStatus.OK); - } - - @PostMapping("/finish") - @Log("看板强制完成") - @ApiOperation("看板强制完成") - //@SaCheckPermission("produceshiftorder:list") - public ResponseEntity finish(@RequestBody JSONObject param){ - workordeService.finish(param); - return new ResponseEntity<>(HttpStatus.OK); - } - - @PostMapping("/getReportWork") - @Log("获取当前报工记录") - @ApiOperation("获取当前报工记录") - //@SaCheckPermission("produceshiftorder:list") - public ResponseEntity getReportWork(@RequestBody JSONObject param){ - return new ResponseEntity<>(workordeService.getReportWork(param),HttpStatus.OK); - } - - @PostMapping("/forceFinish") - @Log("工单强制完成") - @ApiOperation("工单强制完成") - //@SaCheckPermission("produceshiftorder:list") - public ResponseEntity forceFinish(@RequestBody JSONObject param){ - workordeService.forceFinish(param); - return new ResponseEntity<>(HttpStatus.OK); - } - - @PostMapping("/getDtl") - @Log("获取当前工单下的工单生产记录") - @ApiOperation("获取当前工单下的工单生产记录") - //@SaCheckPermission("produceshiftorder:list") - public ResponseEntity getDtl(@RequestBody JSONObject param){ - return new ResponseEntity<>(workordeService.getDtl(param),HttpStatus.OK); - } - -} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/DeviceService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/DeviceService.java deleted file mode 100644 index ed999be..0000000 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/DeviceService.java +++ /dev/null @@ -1,69 +0,0 @@ - -package org.nl.wms.pdm.service; - -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import org.nl.wms.pdm.service.dto.DeviceDto; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Map; - -/** -* @description 服务接口 -* @author geng by -* @date 2022-05-25 -**/ -public interface DeviceService { - - /** - * 查询数据分页 - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ - Map queryAll(Map whereJson, Pageable page); - - /** - * 查询所有数据不分页 - * @param whereJson 条件参数 - * @return List - */ - List queryAll(Map whereJson); - - /** - * 根据ID查询 - * @param device_id ID - * @return Device - */ - DeviceDto findById(Long device_id); - - /** - * 根据编码查询 - * @param code code - * @return Device - */ - DeviceDto findByCode(String code); - - - /** - * 创建 - * @param dto / - */ - void create(DeviceDto dto); - - /** - * 编辑 - * @param dto / - */ - void update(DeviceDto dto); - - /** - * 多选删除 - * @param ids / - */ - void deleteAll(Long[] ids); - - - void changeActive(JSONObject json); -} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/WorkordeService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/WorkordeService.java deleted file mode 100644 index 911b33c..0000000 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/WorkordeService.java +++ /dev/null @@ -1,124 +0,0 @@ -package org.nl.wms.pdm.service; - -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import org.nl.wms.pdm.service.dto.WorkorderDto; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Map; - -/** -* @description 服务接口 -* @author qinx -* @date 2022-05-24 -**/ -public interface WorkordeService { - - /** - * 查询数据分页 - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ - Map queryAll(Map whereJson, Pageable page); - - /** - * 查询所有数据不分页 - * @param whereJson 条件参数 - * @return List - */ - List queryAll(Map whereJson); - - /** - * 根据ID查询 - * @param workorder_id ID - * @return Produceshiftorder - */ - WorkorderDto findById(Long workorder_id); - - /** - * 根据编码查询 - * @param code code - * @return Produceshiftorder - */ - WorkorderDto findByCode(String code); - - - /** - * 创建 - * @param dto / - */ - void create(WorkorderDto dto); - - /** - * 编辑 - * @param dto / - */ - void update(WorkorderDto dto); - - /** - * 多选删除 - * @param ids / - */ - void deleteAll(Long[] ids); - - /** - * 工单下发 - * @param param - */ - void submits(JSONObject param); - - /** - * 根据当前登录用户下拉 - * @param param - * @return - */ - JSONArray getDevice(JSONObject param); - - /** - * 获取工单生产记录 - * @param param - * @return - */ - JSONArray getTable(JSONObject param); - - /** - * 看板开工 - * @param param - */ - void openStart(JSONObject param); - - /** - * 看板报工 - * @param param - */ - void saveReport(JSONObject param); - - /** - * 看板强制完成 - * @param param - */ - void finish(JSONObject param); - - /** - * 获取当前报工记录 - * @param param - * @return - */ - JSONObject getReportWork(JSONObject param); - - - /** - * 工单强制完成 - * @param param - */ - void forceFinish(JSONObject param); - - /** - * 获取当前工单下的工单生产记录 - * @param param - * @return - */ - JSONArray getDtl(JSONObject param); -} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/dto/DeviceDto.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/dto/DeviceDto.java deleted file mode 100644 index e191895..0000000 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/dto/DeviceDto.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.nl.wms.pdm.service.dto; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** - * @author geng by - * @description / - * @date 2022-05-25 - **/ -@Data -public class DeviceDto implements Serializable { - - /** 设备标识 */ - /** - * 防止精度丢失 - */ - @JsonSerialize(using = ToStringSerializer.class) - private Long device_id; - - /** - * 设备编码 - */ - private String device_code; - - /** - * 设备名称 - */ - private String device_name; - - /** - * 设备型号 - */ - private String device_model; - - /** - * 外部编码 - */ - private String extend_code; - - /** - * 备注 - */ - private String remark; - - /** - * 是否启用 - */ - private String is_active; - - /** - * 创建人 - */ - private Long create_id; - - /** - * 创建人姓名 - */ - private String create_name; - - /** - * 创建时间 - */ - private String create_time; - - /** - * 是否删除 - */ - private String is_delete; - - /** - * 设备产能 - */ - private BigDecimal productivity; -} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/dto/WorkorderDto.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/dto/WorkorderDto.java deleted file mode 100644 index b4c2586..0000000 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/dto/WorkorderDto.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.nl.wms.pdm.service.dto; - -import lombok.Data; -import java.math.BigDecimal; -import java.io.Serializable; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; - -/** - * @description / - * @author 1 - * @date 2022-10-18 - **/ -@Data -public class WorkorderDto implements Serializable { - - /** 工单标识 */ - /** 防止精度丢失 */ - @JsonSerialize(using= ToStringSerializer.class) - private Long workorder_id; - - /** 生产日期 */ - private String produce_date; - - /** 计划数量 */ - private BigDecimal plan_qty; - - /** 实际数量 */ - private BigDecimal real_qty; - - /** 物料标识 */ - private Long material_id; - - /** 载具类型 */ - private String vehicle_type; - - /** 计划生产开始时间 */ - private String planproducestart_date; - - /** 计划生产结束时间 */ - private String planproduceend_date; - - /** 实际生产开始时间 */ - private String realproducestart_date; - - /** 实际生产结束时间 */ - private String realproduceend_date; - - /** 设备标识 */ - private Long device_id; - - /** 所属工序 */ - private String workorder_procedure; - - /** 工单状态 */ - private String order_status; - - /** 是否搬运 */ - private String is_needmove; - - /** 回传MES状态 */ - private String passback_status; - - /** 设备编码 */ - private String device_code; - - /** 外部标识 */ - private String ext_id; - - /** 是否删除 */ - private String is_delete; - - /** 创建人 */ - private Long create_id; - - /** 创建人 */ - private String create_name; - - /** 创建时间 */ - private String create_time; - - /** 修改人 */ - private Long update_optid; - - /** 修改人 */ - private String update_optname; - - /** 工单编号 */ - private String workorder_code; - - /** 修改时间 */ - private String update_time; -} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java deleted file mode 100644 index 80bedff..0000000 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java +++ /dev/null @@ -1,141 +0,0 @@ - -package org.nl.wms.pdm.service.impl; - - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - - -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.wql.WQL; -import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.pdm.service.DeviceService; -import org.nl.wms.pdm.service.dto.DeviceDto; - -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Map; - -/** - * @author geng by - * @description 服务实现 - * @date 2022-05-25 - **/ -@Service -@RequiredArgsConstructor -@Slf4j -public class DeviceServiceImpl implements DeviceService { - - @Override - public Map queryAll(Map whereJson, Pageable page) { - String search = MapUtil.getStr(whereJson, "search"); - JSONObject map = new JSONObject(); - map.put("flag", "1"); - if (!StrUtil.isEmpty(search)) { - map.put("search", "%" + search + "%"); - } - JSONObject json = WQL.getWO("PDM_BI_DEVICE01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "device.create_time DESC"); - return json; - } - - @Override - public List queryAll(Map whereJson) { - WQLObject wo = WQLObject.getWQLObject("pdm_bi_device"); - JSONArray arr = wo.query().getResultJSONArray(0); - if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(DeviceDto.class); - return null; - } - - @Override - public DeviceDto findById(Long device_id) { - WQLObject wo = WQLObject.getWQLObject("pdm_bi_device"); - JSONObject json = wo.query("device_id = '" + device_id + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(json)) { - return json.toJavaObject(DeviceDto.class); - } - return null; - } - - @Override - public DeviceDto findByCode(String code) { - WQLObject wo = WQLObject.getWQLObject("pdm_bi_device"); - JSONObject json = wo.query("device_code ='" + code + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(json)) { - return json.toJavaObject(DeviceDto.class); - } - return null; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(DeviceDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - //编码唯一性校验 - String device_code = dto.getDevice_code(); - DeviceDto byCode = this.findByCode(device_code); - if (ObjectUtil.isNotEmpty(byCode)) throw new BadRequestException("编码已存在!"); - dto.setDevice_id(IdUtil.getSnowflake(1, 1).nextId()); - dto.setCreate_id(currentUserId); - dto.setCreate_name(nickName); - dto.setCreate_time(now); - - WQLObject wo = WQLObject.getWQLObject("pdm_bi_device"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.insert(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(DeviceDto dto) { - DeviceDto entity = this.findById(dto.getDevice_id()); - if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - - //编码唯一性校验 - WQLObject wo = WQLObject.getWQLObject("pdm_bi_device"); - String where = "is_delete = '0' and device_code = '" + dto.getDevice_code() + "' and device_id != '" + dto.getDevice_id() + "'"; - - JSONObject jsonObject = wo.query(where).uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonObject)) { - throw new BadRequestException("编码已存在!"); - } - - - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.update(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteAll(Long[] ids) { - WQLObject wo = WQLObject.getWQLObject("pdm_bi_device"); - for (Long device_id : ids) { - wo.delete("device_id = '" + device_id + "'"); - } - } - - @Override - public void changeActive(JSONObject json) { - String is_used = "1"; - if (StrUtil.equals("1", json.getString("is_used"))) { - is_used = "0"; - } - json.put("is_used", is_used); - WQLObject.getWQLObject("PDM_BI_Device").update(json); - } - -} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java deleted file mode 100644 index 8addcce..0000000 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java +++ /dev/null @@ -1,442 +0,0 @@ -package org.nl.wms.pdm.service.impl; - - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; - -import org.nl.modules.common.utils.dto.CurrentUser; -import org.nl.modules.system.util.CodeUtil; - -import org.nl.modules.wql.WQL; -import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.service.ClassstandardService; -import org.nl.wms.ext.acs.service.WmsToAcsService; -import org.nl.wms.pdm.service.WorkordeService; -import org.nl.wms.pdm.service.dto.WorkorderDto; - -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Map; - -/** - * @author qinx - * @description 服务实现 - * @date 2022-05-24 - **/ -@Service -@RequiredArgsConstructor -@Slf4j -public class WorkorderServiceImpl implements WorkordeService { - - private final WmsToAcsService wmsToAcsService; - - @Override - public Map queryAll(Map whereJson, Pageable page) { - String produceorder_code = MapUtil.getStr(whereJson, "produceorder_code"); - String material = MapUtil.getStr(whereJson, "material"); - String begin_time = MapUtil.getStr(whereJson, "begin_time"); - String end_time = MapUtil.getStr(whereJson, "end_time"); - String order_type_scode = MapUtil.getStr(whereJson, "order_type_scode"); - String order_status = MapUtil.getStr(whereJson, "order_status"); - String shift_type_scode = MapUtil.getStr(whereJson, "shift_type_scode"); - JSONObject map = new JSONObject(); - map.put("flag", "1"); - map.put("order_type_scode", order_type_scode); - //map.put("order_status", order_status); - map.put("shift_type_scode", shift_type_scode); - map.put("begin_time", begin_time); - map.put("end_time", end_time); - if (StrUtil.isNotEmpty(order_status)) { - order_status = order_status.replace("[\"", "").replace("\"]", "").replace("\"", ""); - } - map.put("order_status", order_status); - //处理状态为未完成 - if (StrUtil.isNotEmpty(order_status) && order_status.contains("-1")) { - map.put("unFinish", "-1"); - map.put("order_status", order_status.replace("-1", "")); - } - if (StrUtil.isNotEmpty(produceorder_code)) { - map.put("produceorder_code", "%" + produceorder_code + "%"); - } - if (StrUtil.isNotEmpty(material)) { - map.put("material", "%" + material + "%"); - } - // 工序名称 - map.put("workorder_procedure", whereJson.get("workorder_procedure")); - JSONObject jsonObject = WQL.getWO("MPS_PRODUCEDURE001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "ShiftOrder.update_time desc"); - return jsonObject; - } - - @Override - public List queryAll(Map whereJson) { - WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder"); - JSONArray arr = wo.query().getResultJSONArray(0); - if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(WorkorderDto.class); - return null; - } - - @Override - public WorkorderDto findById(Long workorder_id) { - WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder"); - JSONObject json = wo.query("workorder_id = '" + workorder_id + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(json)) { - return json.toJavaObject(WorkorderDto.class); - } - return null; - } - - @Override - public WorkorderDto findByCode(String code) { - WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder"); - JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(json)) { - return json.toJavaObject(WorkorderDto.class); - } - return null; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(WorkorderDto dto) { - Long device_id = dto.getDevice_id(); - if (ObjectUtil.isNotEmpty(device_id)) { - WQLObject deviceTab = WQLObject.getWQLObject("PDM_BI_Device"); - JSONObject object = deviceTab.query("device_id = '" + device_id + "'").uniqueResult(0); - dto.setDevice_code(object.getString("device_code")); - } - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - CurrentUser currentUser = SecurityUtils.getCurrentUser(); - Long deptId = currentUser.getUser().getDeptId(); - String newCode = CodeUtil.getNewCode("PDM_SHIFTORDER"); - dto.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId()); - dto.setWorkorder_code(newCode); - dto.setCreate_id(currentUserId); - dto.setCreate_time(now); - dto.setCreate_name(nickName); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - dto.setUpdate_time(now); - WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - json.put("sysdeptid", deptId); - json.put("syscompanyid", deptId); - wo.insert(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(WorkorderDto dto) { - WorkorderDto entity = this.findById(dto.getWorkorder_id()); - if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - - String now = DateUtil.now(); - dto.setUpdate_time(now); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - - WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.update(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder"); - for (Long workorder_id : ids) { - JSONObject param = new JSONObject(); - param.put("workorder_id", String.valueOf(workorder_id)); - param.put("is_delete", "1"); - param.put("update_optid", currentUserId); - param.put("update_optname", nickName); - param.put("update_time", now); - wo.update(param); - } - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void submits(JSONObject param) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder"); - JSONObject json = wo.query("workorder_id = '" + param.getString("workorder_id") + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(json.getString("device_id"))) throw new BadRequestException("请先绑定设备"); - - JSONArray orderArr = wo.query("device_id = '" + param.getString("device_id") + "' and order_status = '02'").getResultJSONArray(0); - if (ObjectUtil.isNotEmpty(orderArr)) throw new BadRequestException("当前设备正在生产中"); - - json.put("order_status", "02"); - json.put("update_optid", currentUserId); - json.put("update_optname", nickName); - json.put("update_time", now); - wo.update(json); - } - - @Override - public JSONArray getDevice(JSONObject param) { - final String workprocedure_id = param.getString("workprocedure_id"); - Long currentUserId = SecurityUtils.getCurrentUserId(); - JSONObject map = new JSONObject(); - map.put("flag", "4"); - map.put("jockey_id", currentUserId + ""); - map.put("workprocedure_id", workprocedure_id); - final JSONArray resultJSONArray = WQL.getWO("MPS_PRODUCEDURE001").addParamMap(map).process().getResultJSONArray(0); - return resultJSONArray; - } - - @Override - public JSONArray getTable(JSONObject param) { - //获取当前登录用户下的所有设备 - Long currentUserId = SecurityUtils.getCurrentUserId(); - JSONObject map1 = new JSONObject(); - map1.put("flag", "2"); - map1.put("jockey_id", currentUserId + ""); - JSONArray devices = WQL.getWO("MPS_PRODUCEDURE001").addParamMap(map1).process().getResultJSONArray(0); - //根据当前用户下的所有设备查询所属工序 - JSONObject map = new JSONObject(); - map.put("flag", "3"); - StringBuilder sb = new StringBuilder(); - if (ObjectUtil.isNotEmpty(devices)) { - sb.append("("); - for (int i = 0; i < devices.size(); i++) { - JSONObject device = devices.getJSONObject(i); - String workprocedure_id = device.getString("workprocedure_id"); - if (devices.size() - 1 == i) { - sb.append("'" + workprocedure_id + "')"); - } - if (devices.size() - 1 != i) { - sb.append("'" + workprocedure_id + "',"); - } - } - map.put("workprocedure_ids", sb.toString()); - } else { - map.put("workprocedure_ids", "('-1')"); - } - //根据当前用户的设备所属的工序查询属于自己的工单表 - JSONArray resultJSONArray = WQL.getWO("MPS_PRODUCEDURE001").addParamMap(map).process().getResultJSONArray(0); - return resultJSONArray; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void openStart(JSONObject param) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - String device_id = param.getString("device_id"); - WQLObject wo_device = WQLObject.getWQLObject("pdm_bi_device"); - JSONObject device = wo_device.query("device_id = '" + device_id + "'").uniqueResult(0); - String device_code = device.getString("device_code"); - JSONObject row = param.getJSONObject("row"); - String workorder_id = row.getString("workorder_id"); - String workprocedure_id = row.getString("workprocedure_id"); - String produceorder_code = row.getString("produceorder_code"); - String material_id = row.getString("material_id"); - String material_code = row.getString("material_code"); - String material_name = row.getString("material_name"); - String material_spec = row.getString("material_spec"); - String is_needmove = row.getString("is_needmove"); - String plan_qty = row.getString("plan_qty"); - String order_status = row.getString("order_status"); - //开工时修改生产班次工单表 生产设备、以及工单状态 - WQLObject wo = WQLObject.getWQLObject("PDM_BD_WORKORDER"); - JSONObject jsonObject1 = wo.query("workorder_id = '" + workorder_id + "'").uniqueResult(0); - JSONObject produceorderMap = new JSONObject(); - produceorderMap.put("workorder_id", workorder_id); - produceorderMap.put("device_id", device_id); - produceorderMap.put("order_status", "02"); - produceorderMap.put("update_optid", currentUserId); - produceorderMap.put("update_optname", nickName); - produceorderMap.put("update_time", now); - if (order_status.equals("01")){ - produceorderMap.put("realproducestart_date", now); - } - wo.update(produceorderMap); - //同时工单记录表中插入一条数据 - WQLObject wo_record = WQLObject.getWQLObject("MPS_BD_MacOperateRecord"); - JSONObject recordMap = new JSONObject(); - recordMap.put("macoperate_id", IdUtil.getSnowflake(1, 1).nextId()); - recordMap.put("device_id", device_id); - recordMap.put("workprocedure_id", workprocedure_id); - recordMap.put("workorder_id", workorder_id); - recordMap.put("produceorder_code", produceorder_code); - recordMap.put("init_qty", jsonObject1.getString("real_qty")); - //填写生产记录表中的生产数量时,先判断是否已经生产过了,如果没有生产过,就将工单记录表中的计划数量付给记录表中的生产数量 - final JSONArray alreadyPro = wo_record.query("workorder_id = '" + workorder_id + "'").getResultJSONArray(0); - if (ObjectUtil.isEmpty(alreadyPro)) { - recordMap.put("produce_qty", plan_qty); - //同时向acs系统下发工单 问题是现在一个工单分多次执行,现在是每开工一次,向acs发送一次工单 - //acs那边就会新增多个工单 - //如果是第一次开工,就向acs下发工单 - // TODO - JSONArray array = new JSONArray(); - JSONObject acsObj = new JSONObject(); - acsObj.put("ext_order_id",workorder_id); - acsObj.put("is_needmove",is_needmove); - acsObj.put("order_code",produceorder_code); - acsObj.put("qty",plan_qty); - acsObj.put("material_uuid",material_id); - acsObj.put("material_code",material_code); - acsObj.put("material_name",material_name); - acsObj.put("material_spec",material_spec); - acsObj.put("device_code",device_code); - array.add(acsObj); - wmsToAcsService.order(array); - } else { - Integer sum = 0; - //如果生产过了,就获取记录表中的报工数量,用计划数量减去生产过的报工数量的和,为这次的生产数量 - for (int i = 0; i < alreadyPro.size(); i++) { - JSONObject jsonObject = alreadyPro.getJSONObject(i); - String report_qty = jsonObject.getString("report_qty"); - sum += Integer.parseInt(report_qty); - } - Integer produce_qty = Integer.parseInt(plan_qty) - sum; - recordMap.put("produce_qty", produce_qty); - //wms向acs发送请求 工单恢复 - //如果不是第一次开工,就向acs发送恢复工单状态 - // TODO - JSONArray array = new JSONArray(); - JSONObject map = new JSONObject(); - map.put("ext_order_id",workorder_id); - map.put("type","2"); - array.add(map); - wmsToAcsService.orderStatusUpdate(array); - } - recordMap.put("operatetime_start", now); - recordMap.put("jockey_id", currentUserId); - wo_record.insert(recordMap); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void saveReport(JSONObject param) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - final String report_qty = param.getString("report_qty"); - final JSONObject row = param.getJSONObject("row"); - final String workorder_id = row.getString("workorder_id"); - //报工时工单的工单状态为暂停,报工数量为这条工单上次加这次报工数量的和,也就是这条工单每次记录的和 - WQLObject wo = WQLObject.getWQLObject("PDM_BD_WORKORDER"); - JSONObject jsonObject = wo.query("workorder_id = '" + workorder_id + "'").uniqueResult(0); - JSONObject produceorderMap = new JSONObject(); - produceorderMap.put("workorder_id",workorder_id); - if (row.getString("report_qty").equals("0") || StrUtil.isEmpty(row.getString("report_qty"))){ - produceorderMap.put("report_qty",report_qty); - }else { - Integer sum = Integer.parseInt(row.getString("report_qty")) + Integer.parseInt(report_qty); - produceorderMap.put("report_qty",sum); - } - produceorderMap.put("order_status", "03"); - produceorderMap.put("update_optid", currentUserId); - produceorderMap.put("update_optname", nickName); - produceorderMap.put("update_time", now); - wo.update(produceorderMap); - //同时修改这条工单对应的记录表中最新的一条数据的报工数量 - WQLObject wo_record = WQLObject.getWQLObject("MPS_BD_MacOperateRecord"); - //获取最新的工单的对应记录信息 - JSONObject newRecord = wo_record.query("workorder_id = '"+workorder_id+"' and (operatetime_end is null or operatetime_end = '')").uniqueResult(0); - newRecord.put("report_qty",report_qty); - newRecord.put("finish_qty",jsonObject.getString("real_qty")); - Integer finishproduct_qty = Integer.parseInt(jsonObject.getString("real_qty")) - Integer.parseInt(newRecord.getString("init_qty")); - newRecord.put("finishproduct_qty",finishproduct_qty); - newRecord.put("operatetime_end",now); - wo_record.update(newRecord); - //wms向acs发送请求 工单暂停 - // 报工的时候同时向acs发送工单暂停状态 - // TODO - JSONArray array = new JSONArray(); - JSONObject map = new JSONObject(); - map.put("ext_order_id",workorder_id); - map.put("type","1"); - array.add(map); - wmsToAcsService.orderStatusUpdate(array); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void finish(JSONObject param) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - JSONObject row = param.getJSONObject("row"); - String workorder_id = row.getString("workorder_id"); - WQLObject wo = WQLObject.getWQLObject("PDM_BD_WORKORDER"); - JSONObject produceorderMap = new JSONObject(); - produceorderMap.put("workorder_id",workorder_id); - produceorderMap.put("order_status","5"); - produceorderMap.put("update_optid", currentUserId); - produceorderMap.put("device_id", null); - produceorderMap.put("update_optname", nickName); - produceorderMap.put("update_time", now); - produceorderMap.put("realproduceend_date", now); - wo.update(produceorderMap); - //wms向acs发送请求 工单强制完成 - // TODO - JSONArray array = new JSONArray(); - JSONObject map = new JSONObject(); - map.put("ext_order_id",workorder_id); - map.put("type","3"); - array.add(map); - wmsToAcsService.orderStatusUpdate(array); - } - - @Override - public JSONObject getReportWork(JSONObject param) { - String workorder_id = param.getString("workorder_id"); - WQLObject wo = WQLObject.getWQLObject("PDM_BD_WORKORDER"); - JSONObject jsonProduceShiftOrder = wo.query("workorder_id = '" + workorder_id + "'").uniqueResult(0); - WQLObject wo_record = WQLObject.getWQLObject("MPS_BD_MacOperateRecord"); - //获取最新的工单的对应记录信息 - JSONObject jsonObject = wo_record.query("workorder_id = '"+workorder_id+"' and (operatetime_end is null or operatetime_end = '')").uniqueResult(0); - String finish_qty = jsonProduceShiftOrder.getString("real_qty"); - jsonObject.put("finish_qty",finish_qty); - Integer finishproduct_qty = Integer.parseInt(finish_qty) - Integer.parseInt(jsonObject.getString("init_qty")); - jsonObject.put("finishproduct_qty",finishproduct_qty); - return jsonObject; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void forceFinish(JSONObject param) { - this.finish(param); - } - - @Override - public JSONArray getDtl(JSONObject param) { - final String workorder_id = param.getString("workorder_id"); - JSONObject map = new JSONObject(); - map.put("flag","5"); - map.put("workorder_id",workorder_id); - JSONArray resultJSONArray = WQL.getWO("MPS_PRODUCEDURE001").addParamMap(map).process().getResultJSONArray(0); - return resultJSONArray; - } - -} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/wql/MPS_PRODUCEDURE001.wql b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/wql/MPS_PRODUCEDURE001.wql deleted file mode 100644 index 634533b..0000000 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/wql/MPS_PRODUCEDURE001.wql +++ /dev/null @@ -1,174 +0,0 @@ -[交易说明] - 交易名: 工单分页查询 - 所属模块: - 功能简述: - 版权所有: - 表引用: - 版本经历: - -[数据库] - --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 - -[IO定义] - ################################################# - ## 表字段对应输入参数 - ################################################# - 输入.flag TYPEAS s_string - 输入.jockey_id TYPEAS s_string - 输入.workorder_id TYPEAS s_string - 输入.workprocedure_id TYPEAS s_string - 输入.order_status TYPEAS s_string - 输入.workorder_procedure TYPEAS s_string - 输入.shift_type_scode TYPEAS s_string - 输入.begin_time TYPEAS s_string - 输入.end_time TYPEAS s_string - 输入.produceorder_code TYPEAS s_string - 输入.material TYPEAS s_string - 输入.product_series TYPEAS f_string - 输入.workprocedure_ids TYPEAS f_string - 输入.unFinish TYPEAS s_string - - -[临时表] - --这边列出来的临时表就会在运行期动态创建 - -[临时变量] - --所有中间过程变量均可在此处定义 - -[业务过程] - - ########################################## - # 1、输入输出检查 # - ########################################## - - - ########################################## - # 2、主过程前处理 # - ########################################## - - - ########################################## - # 3、业务主过程 # - ########################################## - - IF 输入.flag = "1" - PAGEQUERY - SELECT - ShiftOrder.*, - material.material_code, - material.material_name, - material.material_spec, - material.product_series, - classstandard.class_id, - classstandard.class_name, - device.device_name - FROM - PDM_BD_WORKORDER ShiftOrder - LEFT JOIN md_me_materialbase material ON material.material_id = ShiftOrder.material_id - LEFT JOIN pdm_bi_device device ON ShiftOrder.device_id = device.device_id - LEFT JOIN md_pb_classstandard classstandard ON classstandard.class_id = material.product_series - WHERE - ShiftOrder.is_delete = '0' - OPTION 输入.unFinish <> "" - ShiftOrder.order_status <> '5' - ENDOPTION - OPTION 输入.order_status <> "" - find_in_set( ShiftOrder.order_status, 输入.order_status) - ENDOPTION - OPTION 输入.shift_type_scode <> "" - ShiftOrder.shift_type_scode = 输入.shift_type_scode - ENDOPTION - OPTION 输入.workorder_procedure <> "" - ShiftOrder.workorder_procedure = 输入.workorder_procedure - ENDOPTION - OPTION 输入.begin_time <> "" - ShiftOrder.produce_date >= 输入.begin_time - ENDOPTION - OPTION 输入.end_time <> "" - ShiftOrder.produce_date <= 输入.end_time - ENDOPTION - OPTION 输入.produceorder_code <> "" - ShiftOrder.produceorder_code like 输入.produceorder_code - ENDOPTION - OPTION 输入.material <> "" - ( - material.material_code like 输入.material or - material.material_name like 输入.material or - material.material_spec like 输入.material - ) - ENDOPTION - ENDSELECT - ENDPAGEQUERY - ENDIF - - IF 输入.flag = "2" - QUERY - SELECT - personDevice.*, - device.device_code, - device.device_name, - device.workprocedure_id - FROM - PDM_BI_PersonCorrDevice personDevice - LEFT JOIN PDM_BI_Device device ON personDevice.device_id = device.device_id - WHERE - device.is_delete = '0' and personDevice.jockey_id = 输入.jockey_id - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "3" - QUERY - SELECT - shiftOrder.*, - workprocedure.workprocedure_name, - material.material_code, - material.material_name, - material.material_spec - FROM - PDM_BD_WORKORDER shiftOrder - left join PDM_BI_WorkProcedure workprocedure on workprocedure.workprocedure_id = shiftOrder.workprocedure_id - left join md_me_materialbase material on material.material_id = shiftOrder.material_id - WHERE - shiftOrder.is_delete = '0' and shiftOrder.order_status in ('01', '02', '03') - and shiftOrder.workprocedure_id in 输入.workprocedure_ids - order by - shiftOrder.update_time desc - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "4" - QUERY - SELECT - personDevice.*, - device.device_code, - device.device_name - FROM - PDM_BI_PersonCorrDevice personDevice - LEFT JOIN PDM_BI_Device device ON personDevice.device_id = device.device_id - WHERE - device.is_delete = '0' and personDevice.jockey_id = 输入.jockey_id and device.workprocedure_id = 输入.workprocedure_id - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "5" - QUERY - SELECT - record.*, - device.device_code, - device.device_name, - user.nick_name - FROM - MPS_BD_MacOperateRecord record - LEFT JOIN PDM_BI_Device device ON record.device_id = device.device_id - LEFT JOIN sys_user user ON user.user_id = record.jockey_id - WHERE - record.workorder_id = 输入.workorder_id - order by - record.operatetime_start - ENDSELECT - ENDQUERY - ENDIF - diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/wql/PDM_BI_DEVICE01.wql b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/wql/PDM_BI_DEVICE01.wql deleted file mode 100644 index 0578a92..0000000 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/wql/PDM_BI_DEVICE01.wql +++ /dev/null @@ -1,58 +0,0 @@ -[交易说明] - 交易名: 设备查询 - 所属模块: - 功能简述: - 版权所有: - 表引用: - 版本经历: - -[数据库] - --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 - -[IO定义] - ################################################# - ## 表字段对应输入参数 - ################################################# - 输入.flag TYPEAS s_string - 输入.search TYPEAS s_string - - -[临时表] - --这边列出来的临时表就会在运行期动态创建 - -[临时变量] - --所有中间过程变量均可在此处定义 - -[业务过程] - - ########################################## - # 1、输入输出检查 # - ########################################## - - - ########################################## - # 2、主过程前处理 # - ########################################## - - - ########################################## - # 3、业务主过程 # - ########################################## - - IF 输入.flag = "1" - PAGEQUERY - SELECT - device.* - FROM - PDM_BI_Device device - WHERE - device.is_delete = '0' - - OPTION 输入.search <> "" - (device.device_code like 输入.search or - device.device_name like 输入.search) - ENDOPTION - - ENDSELECT - ENDPAGEQUERY - ENDIF \ No newline at end of file diff --git a/nladmin-system/nlsso-server/src/main/resources/template/generator/admin/Controller.ftl b/nladmin-system/nlsso-server/src/main/resources/template/generator/admin/Controller.ftl index 53f849f..93175e7 100644 --- a/nladmin-system/nlsso-server/src/main/resources/template/generator/admin/Controller.ftl +++ b/nladmin-system/nlsso-server/src/main/resources/template/generator/admin/Controller.ftl @@ -57,7 +57,7 @@ public class ${className}Controller { @ApiOperation("删除${apiAlias}") //@SaCheckPermission("@el.check('${changeClassName}:del')") @DeleteMapping - public ResponseEntity delete(@RequestBody ${pkColumnType}[] ids) { + public ResponseEntity delete(@RequestBody Long[] ids) { ${changeClassName}Service.deleteAll(ids); return new ResponseEntity<>(HttpStatus.OK); } diff --git a/nladmin-system/nlsso-server/src/main/resources/template/generator/front/index.ftl b/nladmin-system/nlsso-server/src/main/resources/template/generator/front/index.ftl index 8fe068d..8898e14 100644 --- a/nladmin-system/nlsso-server/src/main/resources/template/generator/front/index.ftl +++ b/nladmin-system/nlsso-server/src/main/resources/template/generator/front/index.ftl @@ -113,6 +113,7 @@ + + diff --git a/nladmin-ui/src/views/system/menu/index.vue b/nladmin-ui/src/views/system/menu/index.vue index f88c5c2..1d8c7c4 100644 --- a/nladmin-ui/src/views/system/menu/index.vue +++ b/nladmin-ui/src/views/system/menu/index.vue @@ -10,10 +10,25 @@ - + + + + 目录 + 菜单 + 按钮 + + + + + LMSPC + LMS手持 + ACSPC + + + - + 目录 菜单 按钮 @@ -35,48 +50,42 @@ - - + + - - + + - - - - - - - - + + - + - + - + - + - + - + - + + + - - -