From 0c33e0cba8ee508ad9ad11b168eb8ede22ac68c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Fri, 22 Apr 2022 23:47:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=BF=9B=E9=94=80=E5=AD=98?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=8A=A5=E8=A1=A8=E7=9A=84=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsh/erp/constants/ExceptionConstants.java | 4 +++ .../erp/controller/DepotItemController.java | 34 ++++++++++++++++--- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java b/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java index ef4f7f0d..f1dd6b74 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java @@ -445,6 +445,10 @@ public class ExceptionConstants { public static final int ORGA_USER_REL_EDIT_FAILED_CODE = 11500002; public static final String ORGA_USER_REL_EDIT_FAILED_MSG = "修改机构用户关联关系失败"; + //进销存统计,如果有权限的仓库数量太多则提示要选择仓库 + public static final int REPORT_TWO_MANY_DEPOT_FAILED_CODE = 510; + public static final String REPORT_TWO_MANY_DEPOT_FAILED_MSG = "请选择仓库,再进行查询"; + //演示用户禁止操作 public static final int SYSTEM_CONFIG_TEST_USER_CODE = -1; public static final String SYSTEM_CONFIG_TEST_USER_MSG = "演示用户禁止操作"; diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotItemController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotItemController.java index fd9fa605..92fd981b 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotItemController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotItemController.java @@ -280,7 +280,7 @@ public class DepotItemController { @ApiOperation(value = "查找所有的明细") public BaseResponseInfo findByAll(@RequestParam("currentPage") Integer currentPage, @RequestParam("pageSize") Integer pageSize, - @RequestParam("depotIds") String depotIds, + @RequestParam(value = "depotIds",required = false) String depotIds, @RequestParam("monthTime") String monthTime, @RequestParam("materialParam") String materialParam, @RequestParam("mpList") String mpList, @@ -290,7 +290,7 @@ public class DepotItemController { try { String timeA = Tools.firstDayOfMonth(monthTime) + BusinessConstants.DAY_FIRST_TIME; String timeB = Tools.lastDayOfMonth(monthTime) + BusinessConstants.DAY_LAST_TIME; - List depotList = StringUtil.strToLongList(depotIds); + List depotList = parseListByDepotIds(depotIds); List dataList = depotItemService.findByAll(StringUtil.toNull(materialParam), timeB,(currentPage-1)*pageSize, pageSize); String[] mpArr = mpList.split(","); @@ -339,6 +339,9 @@ public class DepotItemController { map.put("rows", dataArray); res.code = 200; res.data = map; + } catch (BusinessRunTimeException e) { + res.code = e.getCode(); + res.data = e.getData().get("message"); } catch(Exception e){ e.printStackTrace(); res.code = 500; @@ -357,7 +360,7 @@ public class DepotItemController { */ @GetMapping(value = "/totalCountMoney") @ApiOperation(value = "统计总计金额") - public BaseResponseInfo totalCountMoney(@RequestParam("depotIds") String depotIds, + public BaseResponseInfo totalCountMoney(@RequestParam(value = "depotIds",required = false) String depotIds, @RequestParam("monthTime") String monthTime, @RequestParam("materialParam") String materialParam, HttpServletRequest request) throws Exception{ @@ -365,7 +368,7 @@ public class DepotItemController { Map map = new HashMap<>(); try { String endTime = Tools.lastDayOfMonth(monthTime) + BusinessConstants.DAY_LAST_TIME; - List depotList = StringUtil.strToLongList(depotIds); + List depotList = parseListByDepotIds(depotIds); List dataList = depotItemService.findByAll(StringUtil.toNull(materialParam), endTime, null, null); BigDecimal thisAllPrice = BigDecimal.ZERO; @@ -383,6 +386,9 @@ public class DepotItemController { map.put("totalCount", thisAllPrice); res.code = 200; res.data = map; + } catch (BusinessRunTimeException e) { + res.code = e.getCode(); + res.data = e.getData().get("message"); } catch(Exception e){ e.printStackTrace(); res.code = 500; @@ -391,6 +397,26 @@ public class DepotItemController { return res; } + private List parseListByDepotIds(@RequestParam("depotIds") String depotIds) throws Exception { + List depotList = new ArrayList<>(); + if(StringUtil.isNotEmpty(depotIds)) { + depotList = StringUtil.strToLongList(depotIds); + } else { + //未选择仓库时默认为当前用户有权限的仓库 + JSONArray depotArr = depotService.findDepotByCurrentUser(); + for(Object obj: depotArr) { + JSONObject object = JSONObject.parseObject(obj.toString()); + depotList.add(object.getLong("id")); + } + //如果有权限的仓库数量太多则提示要选择仓库 + if(depotList.size()>10) { + throw new BusinessRunTimeException(ExceptionConstants.REPORT_TWO_MANY_DEPOT_FAILED_CODE, + ExceptionConstants.REPORT_TWO_MANY_DEPOT_FAILED_MSG); + } + } + return depotList; + } + /** * 进货统计 * @param currentPage