From 269d0866b24f253baf4823b0a6b92384b6773b13 Mon Sep 17 00:00:00 2001 From: erdanergou Date: Tue, 11 Apr 2023 16:24:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BA=93=E5=AD=98=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MaterialController.java | 101 +++-------------- .../mapper/MaterialMapper.java | 18 +++ .../mapper/MaterialMapper.xml | 105 ++++++++++++++++++ .../service/MaterialService.java | 13 +++ .../service/impl/MaterialServiceImpl.java | 97 ++++++++++------ .../mapper/MaterialMapper.xml | 105 ++++++++++++++++++ 6 files changed, 322 insertions(+), 117 deletions(-) diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java b/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java index 90499d45..f6278dcb 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java @@ -154,94 +154,28 @@ public class MaterialController { UserByPort userToken = AuthenticationTokenPool.getUserToken(token); List list = new ArrayList<>(); Integer total = 0; - if (Integer.compare(userToken.getMaindeparment(), 361) != 0) { + Integer isadmin = userToken.getIsadmin(); + if (isadmin == null) { + isadmin = 1; + } + if (isadmin != 4 && Integer.compare(userToken.getMaindeparment(), 361) != 0) { // 查询当前用户管理的仓库 List depositoryAndRole = roleService.findDepositoryAndRole(userToken.getId()); // 查询当前用户部门拥有的仓库 List depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString()); // 定义仓库编号列表 List didList = new ArrayList<>(); - - Integer size = 10, page = 1; // 定义每页展示数量 - if (map.containsKey("size")) { - size = ObjectFormatUtil.toInteger(map.get("size")); + for (RoleAndDepository andDepository : depositoryAndRole) { + didList.add(andDepository.getId()); + } + for (Depository value : depositoryByAdminorg) { + didList.add(value.getId()); } - if (!(map.containsKey("depositoryId") || map.containsKey("mcode") || map.containsKey("mname") || map.containsKey("version"))) { - // 用于标识是一次就查询成功 - boolean flag = true; - for (Depository depository : depositoryByAdminorg) { - Integer did = depository.getId(); - didList.add(did); - map.put("depositoryId", did); - List inventory = null; - if (!flag) { - // 如果不是一次成功 - page = ObjectFormatUtil.toInteger(map.get("page")); - if (page == null) { - page = 1; - } - if (size - list.size() != size) { - // 如果当前不是崭新一页 - map.put("begin", 0); - } else { - map.put("begin", (page - 1) * size - total); - } - map.put("size", size - list.size()); - - } - if (!map.containsKey("begin")) { - inventory = materialService.findInventory(map); - } else { - inventory = materialService.findInventoryByDepository(map); - } - total += materialService.findInventoryCount(map); + map.put("depositoryIds", didList); - if (list.size() < size) { - list.addAll(inventory); - // 如果本次没有达到数目 - if (list.size() < size) { - flag = false; - } - } - } - - for (RoleAndDepository roleAndDepository : depositoryAndRole) { - Integer depositoryId = roleAndDepository.getDepositoryId(); - if (didList.contains(depositoryId)) { - // 如果当前仓库编号存在 - continue; // 跳过本次循环 - } - map.put("depositoryId", depositoryId); - // 如果当前数目不足 - if (map.containsKey("page")) { - // 当前页 - page = ObjectFormatUtil.toInteger(map.get("page")); - } - // 计算所有页数 - // 判断当前是在全新一页还是包含上述内容 - if (size - list.size() != size) { - // 如果当前不是崭新一页 - map.put("begin", 0); - } else { - map.put("begin", (page - 1) * size - total); - } - map.put("size", size - list.size()); - if (list.size() < size) { - List materialByDepository = materialService.findInventoryByDepository(map); - list.addAll(materialByDepository); - } - total += materialService.findMaterialByDepositoryCount(map); - } - } else { - List inventory = materialService.findInventory(map); - list.addAll(inventory); - total += materialService.findInventoryCount(map); - } - for (InventoryP inventoryP : list - ) { - inventoryP.setSplitInfoList(splitUnitService.findSplitInfoByMid(inventoryP.getMid())); - } + list = materialService.findInventoryByDids(map); + total = materialService.findInventoryCountByDids(map); } else { list = materialService.findInventory(map); total = materialService.findInventoryCount(map); @@ -257,13 +191,13 @@ public class MaterialController { * @return */ @PostMapping("/material_add") - public RestResponse materialAdd(@RequestBody Map map,HttpServletRequest request) { + public RestResponse materialAdd(@RequestBody Map map, HttpServletRequest request) { String token = request.getHeader("user-token"); if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); - map.put("uid",userToken.getId()); + map.put("uid", userToken.getId()); return CrudUtil.insertHandle(materialService.insertMaterial(map), 1); } @@ -293,13 +227,13 @@ public class MaterialController { * @return */ @PostMapping("/material_edit") - public RestResponse updateDepository(@RequestBody Map map,HttpServletRequest request) { + public RestResponse updateDepository(@RequestBody Map map, HttpServletRequest request) { String token = request.getHeader("user-token"); if (token == null) { token = (String) request.getSession().getAttribute("userToken"); } UserByPort userToken = AuthenticationTokenPool.getUserToken(token); - map.put("uid",userToken.getId()); + map.put("uid", userToken.getId()); if (map.containsKey("state")) { map.put("state", 1); } else { @@ -1691,6 +1625,7 @@ public class MaterialController { /** * 用于库存盘点时根据物料查询所处位置 + * * @param map * @param request * @return diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.java b/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.java index cc2b18c3..df0111eb 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.java +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.java @@ -1,6 +1,7 @@ package com.dreamchaser.depository_manage.mapper; import com.dreamchaser.depository_manage.entity.*; +import com.dreamchaser.depository_manage.pojo.InventoryP; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; @@ -144,6 +145,21 @@ public interface MaterialMapper { */ List findInventory(Map map); + + /** + * 根据条件查询符合条件的库存 + * @param map + * @return + */ + List findInventoryByDids(Map map); + + /** + * 根据条件查询符合条件的库存数量 + * @param map + * @return + */ + Integer findInventoryCountByDids(Map map); + /** * 根据条件查询符合条件的库存 * @param map @@ -167,6 +183,8 @@ public interface MaterialMapper { */ List findInventoryByMidAndDids(Map map); + + /** * 根据id查询库存信息 * @param id 库存id diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml b/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml index f253360c..906277f1 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml @@ -352,6 +352,111 @@ + + + + + + + + + + + +