From f1fa71d3cc7d8a5da79c5458b603e05e0ad62a16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Wed, 19 May 2021 23:29:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BB=93=E5=BA=93=E5=92=8C?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E7=B1=BB=E5=9E=8B=E7=9A=84=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=9D=83=E9=99=90=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsh/erp/controller/DepotController.java | 30 +-------- .../erp/controller/DepotHeadController.java | 2 +- .../controller/SystemConfigController.java | 2 +- .../jsh/erp/controller/UserController.java | 15 +++-- .../jsh/erp/service/depot/DepotService.java | 62 ++++++++++++++++++- .../service/depotHead/DepotHeadComponent.java | 6 +- .../service/depotHead/DepotHeadService.java | 9 ++- 7 files changed, 82 insertions(+), 44 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotController.java index 780698fe3..3d1474cea 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotController.java @@ -37,15 +37,9 @@ public class DepotController { @Resource private DepotService depotService; - @Resource - private UserService userService; - @Resource private UserBusinessService userBusinessService; - @Resource - private SystemConfigService systemConfigService; - @Resource private MaterialService materialService; @@ -126,29 +120,7 @@ public class DepotController { public BaseResponseInfo findDepotByCurrentUser(HttpServletRequest request) throws Exception{ BaseResponseInfo res = new BaseResponseInfo(); try { - JSONArray arr = new JSONArray(); - String type = "UserDepot"; - Long userId = userService.getUserId(request); - List dataList = depotService.findUserDepot(); - //开始拼接json数据 - if (null != dataList) { - boolean depotFlag = systemConfigService.getDepotFlag(); - for (Depot depot : dataList) { - JSONObject item = new JSONObject(); - //勾选判断1 - Boolean flag = false; - try { - flag = userBusinessService.checkIsUserBusinessExist(type, userId.toString(), "[" + depot.getId().toString() + "]"); - } catch (DataAccessException e) { - logger.error(">>>>>>>>>>>>>>>>>查询用户对应的仓库:类型" + type + " KeyId为: " + userId + " 存在异常!"); - } - if (!depotFlag || flag) { - item.put("id", depot.getId()); - item.put("depotName", depot.getName()); - arr.add(item); - } - } - } + JSONArray arr = depotService.findDepotByCurrentUser(); res.code = 200; res.data = arr; } catch (Exception e) { diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java index 7beb23944..3d35d2191 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java @@ -326,7 +326,7 @@ public class DepotHeadController { String rows = body.getRows(); Long billsNumLimit = Long.parseLong(redisService.getObjectFromSessionByKey(request,"billsNumLimit").toString()); Long tenantId = Long.parseLong(redisService.getObjectFromSessionByKey(request,"tenantId").toString()); - Long count = depotHeadService.countDepotHead(null,null,null,null,null,null,null,null,null); + Long count = depotHeadService.countDepotHead(null,null,null,null,null,null,null,null); if(count>= billsNumLimit) { throw new BusinessParamCheckingException(ExceptionConstants.DEPOT_HEAD_OVER_LIMIT_FAILED_CODE, ExceptionConstants.DEPOT_HEAD_OVER_LIMIT_FAILED_MSG); diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/SystemConfigController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/SystemConfigController.java index ed2475c92..728b0a90f 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/SystemConfigController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/SystemConfigController.java @@ -96,8 +96,8 @@ public class SystemConfigController { BaseResponseInfo res = new BaseResponseInfo(); try{ List list = systemConfigService.getSystemConfig(); + res.code = 200; if(list.size()>0) { - res.code = 200; res.data = list.get(0); } } catch(Exception e){ diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/UserController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/UserController.java index db948d453..159b83de8 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/UserController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/UserController.java @@ -112,8 +112,6 @@ public class UserController { token = token + "_" + user.getTenantId(); } redisService.storageObjectBySession(token,"userId",user.getId()); - String roleType = userService.getRoleTypeByUserId(user.getId()); //角色类型 - redisService.storageObjectBySession(token,"roleType",roleType); if(user.getTenantId()!=null) { Tenant tenant = tenantService.getTenantByTenantId(user.getTenantId()); if(tenant!=null) { @@ -136,6 +134,8 @@ public class UserController { Map data = new HashMap(); data.put("msgTip", msgTip); if(user!=null){ + String roleType = userService.getRoleTypeByUserId(user.getId()); //角色类型 + redisService.storageObjectBySession(token,"roleType",roleType); redisService.storageObjectBySession(token,"token", token); logService.insertLogWithUserId(user.getId(), user.getTenantId(), "用户", new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_LOGIN).append(user.getLoginName()).toString(), @@ -145,6 +145,7 @@ public class UserController { data.put("user", user); //用户的按钮权限 data.put("userBtn", btnStrArr); + data.put("roleType", roleType); } res.code = 200; res.data = data; @@ -366,8 +367,14 @@ public class UserController { } return arr; } - @GetMapping("/getRoleTypeByUserId") - public BaseResponseInfo getRoleTypeByUserId(HttpServletRequest request) { + + /** + * 获取当前用户的角色类型 + * @param request + * @return + */ + @GetMapping("/getRoleTypeByCurrentUser") + public BaseResponseInfo getRoleTypeByCurrentUser(HttpServletRequest request) { BaseResponseInfo res = new BaseResponseInfo(); try { Map data = new HashMap(); diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depot/DepotService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depot/DepotService.java index b71e05f74..f5c96f7fd 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depot/DepotService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depot/DepotService.java @@ -1,18 +1,24 @@ package com.jsh.erp.service.depot; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.jsh.erp.constants.BusinessConstants; import com.jsh.erp.constants.ExceptionConstants; import com.jsh.erp.datasource.entities.*; -import com.jsh.erp.datasource.mappers.*; +import com.jsh.erp.datasource.mappers.DepotHeadMapperEx; +import com.jsh.erp.datasource.mappers.DepotItemMapperEx; +import com.jsh.erp.datasource.mappers.DepotMapper; +import com.jsh.erp.datasource.mappers.DepotMapperEx; import com.jsh.erp.exception.BusinessRunTimeException; import com.jsh.erp.exception.JshException; import com.jsh.erp.service.log.LogService; +import com.jsh.erp.service.systemConfig.SystemConfigService; import com.jsh.erp.service.user.UserService; +import com.jsh.erp.service.userBusiness.UserBusinessService; import com.jsh.erp.utils.StringUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.context.request.RequestContextHolder; @@ -23,7 +29,6 @@ import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.Map; @Service public class DepotService { @@ -37,6 +42,10 @@ public class DepotService { @Resource private UserService userService; @Resource + private SystemConfigService systemConfigService; + @Resource + private UserBusinessService userBusinessService; + @Resource private LogService logService; @Resource private DepotHeadMapperEx depotHeadMapperEx; @@ -264,4 +273,51 @@ public class DepotService { } return id; } + + public JSONArray findDepotByCurrentUser() throws Exception { + JSONArray arr = new JSONArray(); + String type = "UserDepot"; + Long userId = userService.getCurrentUser().getId(); + List dataList = findUserDepot(); + //开始拼接json数据 + if (null != dataList) { + boolean depotFlag = systemConfigService.getDepotFlag(); + for (Depot depot : dataList) { + JSONObject item = new JSONObject(); + //勾选判断1 + Boolean flag = false; + try { + flag = userBusinessService.checkIsUserBusinessExist(type, userId.toString(), "[" + depot.getId().toString() + "]"); + } catch (DataAccessException e) { + logger.error(">>>>>>>>>>>>>>>>>查询用户对应的仓库:类型" + type + " KeyId为: " + userId + " 存在异常!"); + } + if (!depotFlag || flag) { + item.put("id", depot.getId()); + item.put("depotName", depot.getName()); + item.put("isDefault", depot.getIsDefault()); + arr.add(item); + } + } + } + return arr; + } + + /** + * 当前用户有权限使用的仓库列表的id,用逗号隔开 + * @return + * @throws Exception + */ + public String findDepotStrByCurrentUser() throws Exception { + JSONArray arr = findDepotByCurrentUser(); + StringBuffer sb = new StringBuffer(); + for(Object object: arr) { + JSONObject obj = (JSONObject)object; + sb.append(obj.getLong("id")).append(","); + } + String depotStr = sb.toString(); + if(StringUtil.isNotEmpty(depotStr)){ + depotStr = depotStr.substring(0, depotStr.length()-1); + } + return depotStr; + } } diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadComponent.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadComponent.java index 1dd5c6d2b..4fcb77c41 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadComponent.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadComponent.java @@ -39,8 +39,7 @@ public class DepotHeadComponent implements ICommonQuery { String beginTime = StringUtil.getInfo(search, "beginTime"); String endTime = StringUtil.getInfo(search, "endTime"); String materialParam = StringUtil.getInfo(search, "materialParam"); - String depotIds = StringUtil.getInfo(search, "depotIds"); - return depotHeadService.select(type, subType, roleType, status, number, beginTime, endTime, materialParam, depotIds, QueryUtils.offset(map), QueryUtils.rows(map)); + return depotHeadService.select(type, subType, roleType, status, number, beginTime, endTime, materialParam, QueryUtils.offset(map), QueryUtils.rows(map)); } @Override @@ -54,8 +53,7 @@ public class DepotHeadComponent implements ICommonQuery { String beginTime = StringUtil.getInfo(search, "beginTime"); String endTime = StringUtil.getInfo(search, "endTime"); String materialParam = StringUtil.getInfo(search, "materialParam"); - String depotIds = StringUtil.getInfo(search, "depotIds"); - return depotHeadService.countDepotHead(type, subType, roleType, status, number, beginTime, endTime, materialParam, depotIds); + return depotHeadService.countDepotHead(type, subType, roleType, status, number, beginTime, endTime, materialParam); } @Override diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java index ef1628bcb..14cba6b2d 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java @@ -14,6 +14,7 @@ import com.jsh.erp.datasource.vo.DepotHeadVo4StatementAccount; import com.jsh.erp.exception.BusinessRunTimeException; import com.jsh.erp.exception.JshException; import com.jsh.erp.service.account.AccountService; +import com.jsh.erp.service.depot.DepotService; import com.jsh.erp.service.depotItem.DepotItemService; import com.jsh.erp.service.log.LogService; import com.jsh.erp.service.orgaUserRel.OrgaUserRelService; @@ -49,6 +50,8 @@ public class DepotHeadService { @Resource private UserService userService; @Resource + private DepotService depotService; + @Resource DepotItemService depotItemService; @Resource private SupplierService supplierService; @@ -90,10 +93,11 @@ public class DepotHeadService { } public List select(String type, String subType, String roleType, String status, String number, String beginTime, String endTime, - String materialParam, String depotIds, int offset, int rows)throws Exception { + String materialParam, int offset, int rows)throws Exception { List resList = new ArrayList(); List list=new ArrayList<>(); try{ + String depotIds = depotService.findDepotStrByCurrentUser(); String [] creatorArray = getCreatorArray(roleType); Map personMap = personService.getPersonMap(); Map accountMap = accountService.getAccountMap(); @@ -135,9 +139,10 @@ public class DepotHeadService { } public Long countDepotHead(String type, String subType, String roleType, String status, String number, String beginTime, String endTime, - String materialParam, String depotIds) throws Exception{ + String materialParam) throws Exception{ Long result=null; try{ + String depotIds = depotService.findDepotStrByCurrentUser(); String [] creatorArray = getCreatorArray(roleType); result=depotHeadMapperEx.countsByDepotHead(type, subType, creatorArray, status, number, beginTime, endTime, materialParam, depotIds); }catch(Exception e){