From 5ee379241de12cba9be3452a2985192439ca5159 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Tue, 15 Dec 2020 21:38:43 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=99=E5=95=86=E5=93=81=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=A2=9E=E5=8A=A0=E5=95=86=E5=93=81=E7=B1=BB?= =?UTF-8?q?=E5=88=AB=E7=9A=84=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/controller/MaterialController.java | 7 ++-- .../mappers/MaterialCategoryMapperEx.java | 2 + .../datasource/mappers/MaterialMapperEx.java | 6 ++- .../erp/service/material/MaterialService.java | 41 +++++++++++++++++-- .../mapper_xml/MaterialCategoryMapperEx.xml | 12 ++++++ .../resources/mapper_xml/MaterialMapperEx.xml | 12 ++++++ 6 files changed, 71 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/jsh/erp/controller/MaterialController.java b/src/main/java/com/jsh/erp/controller/MaterialController.java index b2c59a47..d2085027 100644 --- a/src/main/java/com/jsh/erp/controller/MaterialController.java +++ b/src/main/java/com/jsh/erp/controller/MaterialController.java @@ -152,7 +152,8 @@ public class MaterialController { * @return */ @GetMapping(value = "/findBySelect") - public JSONObject findBySelect(@RequestParam(value = "q", required = false) String q, + public JSONObject findBySelect(@RequestParam(value = "categoryId", required = false) Long categoryId, + @RequestParam(value = "q", required = false) String q, @RequestParam("mpList") String mpList, @RequestParam(value = "depotId", required = false) Long depotId, @RequestParam("page") Integer currentPage, @@ -161,9 +162,9 @@ public class MaterialController { JSONObject object = new JSONObject(); try { Long tenantId = Long.parseLong(request.getSession().getAttribute("tenantId").toString()); - List dataList = materialService.findBySelectWithBarCode(q, (currentPage-1)*pageSize, pageSize); + List dataList = materialService.findBySelectWithBarCode(categoryId, q, (currentPage-1)*pageSize, pageSize); String[] mpArr = mpList.split(","); - int total = materialService.findBySelectWithBarCodeCount(q); + int total = materialService.findBySelectWithBarCodeCount(categoryId, q); object.put("total", total); JSONArray dataArray = new JSONArray(); //存放数据json数组 diff --git a/src/main/java/com/jsh/erp/datasource/mappers/MaterialCategoryMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/MaterialCategoryMapperEx.java index 063b3634..91f9f4ea 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/MaterialCategoryMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/MaterialCategoryMapperEx.java @@ -37,4 +37,6 @@ public interface MaterialCategoryMapperEx { List getMaterialCategoryBySerialNo(@Param("serialNo") String serialNo, @Param("id") Long id); List getMaterialCategoryListByCategoryIds(@Param("parentIds") String[] categoryIds); + + List getListByParentId(Long parentId); } diff --git a/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java index b272c8b9..786a8e77 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java @@ -41,11 +41,13 @@ public interface MaterialMapperEx { List findByIdWithBarCode(@Param("meId") Long meId); - List findBySelectWithBarCode(@Param("q") String q, + List findBySelectWithBarCode(@Param("idList") List idList, + @Param("q") String q, @Param("offset") Integer offset, @Param("rows") Integer rows); - int findBySelectWithBarCodeCount(@Param("q") String q); + int findBySelectWithBarCodeCount(@Param("idList") List idList, + @Param("q") String q); List findByAll( @Param("name") String name, diff --git a/src/main/java/com/jsh/erp/service/material/MaterialService.java b/src/main/java/com/jsh/erp/service/material/MaterialService.java index 7f51c84b..f0697214 100644 --- a/src/main/java/com/jsh/erp/service/material/MaterialService.java +++ b/src/main/java/com/jsh/erp/service/material/MaterialService.java @@ -46,6 +46,8 @@ public class MaterialService { @Resource private MaterialExtendMapperEx materialExtendMapperEx; @Resource + private MaterialCategoryMapperEx materialCategoryMapperEx; + @Resource private LogService logService; @Resource private UserService userService; @@ -338,26 +340,57 @@ public class MaterialService { return list; } - public List findBySelectWithBarCode(String q,Integer offset, Integer rows)throws Exception{ + public List getListByParentId(Long parentId) { + List idList = new ArrayList(); + List list = materialCategoryMapperEx.getListByParentId(parentId); + idList.add(parentId); + if(list!=null && list.size()>0) { + getIdListByParentId(idList, parentId); + } + return idList; + } + + public List getIdListByParentId(List idList, Long parentId){ + List list = materialCategoryMapperEx.getListByParentId(parentId); + if(list!=null && list.size()>0) { + for(MaterialCategory mc : list){ + idList.add(mc.getId()); + getIdListByParentId(idList, mc.getId()); + } + } + return idList; + } + + public List findBySelectWithBarCode(Long categoryId, String q, Integer offset, Integer rows)throws Exception{ List list =null; try{ + List idList = new ArrayList<>(); + if(categoryId!=null){ + Long parentId = categoryId; + idList = getListByParentId(parentId); + } if(StringUtil.isNotEmpty(q)) { q = q.replace("'", ""); } - list= materialMapperEx.findBySelectWithBarCode(q, offset, rows); + list= materialMapperEx.findBySelectWithBarCode(idList, q, offset, rows); }catch(Exception e){ JshException.readFail(logger, e); } return list; } - public int findBySelectWithBarCodeCount(String q)throws Exception{ + public int findBySelectWithBarCodeCount(Long categoryId, String q)throws Exception{ int result=0; try{ + List idList = new ArrayList<>(); + if(categoryId!=null){ + Long parentId = categoryId; + idList = getListByParentId(parentId); + } if(StringUtil.isNotEmpty(q)) { q = q.replace("'", ""); } - result = materialMapperEx.findBySelectWithBarCodeCount(q); + result = materialMapperEx.findBySelectWithBarCodeCount(idList, q); }catch(Exception e){ logger.error("异常码[{}],异常提示[{}],异常[{}]", ExceptionConstants.DATA_READ_FAIL_CODE,ExceptionConstants.DATA_READ_FAIL_MSG,e); diff --git a/src/main/resources/mapper_xml/MaterialCategoryMapperEx.xml b/src/main/resources/mapper_xml/MaterialCategoryMapperEx.xml index 83a8258b..f225dfed 100644 --- a/src/main/resources/mapper_xml/MaterialCategoryMapperEx.xml +++ b/src/main/resources/mapper_xml/MaterialCategoryMapperEx.xml @@ -46,6 +46,10 @@ ofType="com.jsh.erp.datasource.vo.TreeNode" select="getNextNodeTree"/> + + + + id, name @@ -123,4 +127,12 @@ and ifnull(status,'0') !='2' + + \ No newline at end of file diff --git a/src/main/resources/mapper_xml/MaterialMapperEx.xml b/src/main/resources/mapper_xml/MaterialMapperEx.xml index e8b98af2..932244db 100644 --- a/src/main/resources/mapper_xml/MaterialMapperEx.xml +++ b/src/main/resources/mapper_xml/MaterialMapperEx.xml @@ -106,6 +106,12 @@ and (m.name like '%${q}%' or me.bar_code like '%${q}%') + + and m.category_id in + + #{item} + + and ifnull(m.delete_flag,'0') !='1' ORDER BY id desc @@ -121,6 +127,12 @@ and (m.name like '%${q}%' or me.bar_code like '%${q}%') + + and m.category_id in + + #{item} + + and ifnull(m.delete_flag,'0') !='1'