diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java index 33a2ce15..315e3244 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java @@ -710,7 +710,17 @@ public class DepositoryRecordController { public RestResponse findApplicationOutRecordByCondition(@RequestParam Map map, HttpServletRequest request) { UserByPort userByPort = (UserByPort) request.getAttribute("userToken"); // 获取对应主订单 - List list = depositoryRecordService.findApplicationOutRecordPByUser(userByPort, map); + List list = new ArrayList<>(); + Integer countBy = 0; + if(Integer.compare(userByPort.getMaindeparment(),361)==0){ + list = depositoryRecordService.findApplicationOutRecordPByCondition(map,userByPort); + countBy = depositoryRecordService.findApplicationOutRecordPCountByCondition(map); + }else{ + + list = depositoryRecordService.findApplicationOutRecordPByUser(userByPort, map); + countBy = depositoryRecordService.findApplicationOutRecordPCountByUser(userByPort, map); + } + for (ApplicationOutRecordP outRecordP : list) { // 根据主订单获取所有子订单 List applicationOutMinByParentId = depositoryRecordService.findApplicationOutMinByParentId(outRecordP.getId()); @@ -718,10 +728,9 @@ public class DepositoryRecordController { StringBuilder mcode = new StringBuilder(); StringBuilder depositoryName = new StringBuilder(); Integer sumQuantity = 0; - Double sumPrice = 0.0; - for (int j = 0; j < applicationOutMinByParentId.size(); j++) { + double sumPrice = 0.0; + for (ApplicationOutRecordMin applicationOutRecordMin : applicationOutMinByParentId) { // 获取子订单信息 - ApplicationOutRecordMin applicationOutRecordMin = applicationOutMinByParentId.get(j); // 获取出库物料信息 Inventory inventory = materialService.findInventoryById(applicationOutRecordMin.getMid()); // 获取出库物料仓库信息 @@ -738,7 +747,7 @@ public class DepositoryRecordController { outRecordP.setQuantity(sumQuantity); outRecordP.setPrice(sumPrice); } - return new RestResponse(list, depositoryRecordService.findApplicationOutRecordPCountByUser(userByPort, map), 200); + return new RestResponse(list, countBy, 200); } 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 9bf816ba..99bebd91 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java @@ -116,30 +116,72 @@ public class MaterialController { @GetMapping("/findInventory") public RestResponse findInventory(@RequestParam Map map, HttpServletRequest request) { UserByPort userToken = (UserByPort) request.getAttribute("userToken"); - // 查询当前用户管理的仓库 - List depositoryAndRole = roleService.findDepositoryAndRole(userToken.getId()); - // 查询当前用户部门拥有的仓库 - List depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString()); - // 定义仓库编号列表 - List didList = new ArrayList<>(); - List list = new ArrayList<>(); Integer total = 0; - Integer size = 10, page = 1; // 定义每页展示数量 - if (map.containsKey("size")) { - size = ObjectFormatUtil.toInteger(map.get("size")); - } - 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(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")); + } + 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 (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); + + + 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); @@ -147,61 +189,26 @@ public class MaterialController { 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); - - - if (list.size() < size) { - list.addAll(inventory); - // 如果本次没有达到数目 if (list.size() < size) { - flag = false; + 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 (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); + for (InventoryP inventoryP : list + ) { + inventoryP.setSplitInfoList(splitUnitService.findSplitInfoByMid(inventoryP.getMid())); } - } else { - List inventory = materialService.findInventory(map); - list.addAll(inventory); - total += materialService.findInventoryCount(map); - } - for (InventoryP inventoryP : list - ) { - inventoryP.setSplitInfoList(splitUnitService.findSplitInfoByMid(inventoryP.getMid())); + }else{ + list = materialService.findInventory(map); + total = materialService.findInventoryCount(map); } + return new RestResponse(list, total, 200); }