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 f7bc6b2f..d1ebc3f9 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java @@ -130,32 +130,16 @@ public class MaterialController { size = ObjectFormatUtil.toInteger(map.get("size")); } if (!(map.containsKey("depositoryId") || map.containsKey("code") || map.containsKey("mname"))) { + // 用于标识是一次就查询成功 + boolean flag = true; for (Depository depository : depositoryByAdminorg) { Integer did = depository.getId(); didList.add(did); map.put("depositoryId", did); - List inventory = materialService.findInventory(map); - - total += materialService.findInventoryCount(map); - if (list.size() < size) { - list.addAll(inventory); - } - } - if (list.size() < size) { - 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")); - } - // 计算所有页数 - // 判断当前是在全新一页还是包含上述内容 + List inventory = null; + if (!flag) { + // 如果不是一次成功 + page = ObjectFormatUtil.toInteger(map.get("page")); if (size - list.size() != size) { // 如果当前不是崭新一页 map.put("begin", 0); @@ -163,10 +147,51 @@ 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; + } + } + } + + 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); } + total += materialService.findMaterialByDepositoryCount(map); } } else { List inventory = materialService.findInventory(map); @@ -653,8 +678,7 @@ public class MaterialController { } } } - } - else { + } else { // 获取当前要转移的库位 Place place = placeService.findPlaceById(placeId); if (Integer.compare(place.getId(), 0) != 0) { @@ -756,7 +780,7 @@ public class MaterialController { int codeFlag = ObjectFormatUtil.toInteger(map.get("codeFlag")); // 根据扫描的二维码获取对应的物料编码 String mcode = materialService.findMaterialCodeByQrCode(qrCode); - if(mcode == null){ + if (mcode == null) { return new RestResponse(null); } // 根据物料编码获取物料 @@ -796,8 +820,7 @@ public class MaterialController { mp.setSplitInfoList(splitInfoByMid); return new RestResponse(mp); } - } - else { + } else { return new RestResponse(null); } @@ -815,7 +838,7 @@ public class MaterialController { // 根据扫描的二维码获取对应的物料编码 String mcode = materialService.findMaterialCodeByQrCode(qrCode); InventoryP mp = null; - if(mcode == null){ + if (mcode == null) { return new RestResponse(mp); } // 根据物料编码获取物料 @@ -868,7 +891,7 @@ public class MaterialController { InventoryP mp = null; - if(mcode == null){ + if (mcode == null) { return new RestResponse(mp); } // 根据物料编码获取物料 @@ -980,7 +1003,7 @@ public class MaterialController { String qrCode = (String) map.get("qrCode"); // 根据扫描的二维码获取对应的物料编码 String mcode = materialService.findMaterialCodeByQrCode(qrCode); - if(mcode == null){ + if (mcode == null) { return new RestResponse(null); } // 根据物料编码获取物料 diff --git a/src/main/resources/templates/pages/application/application-in.html b/src/main/resources/templates/pages/application/application-in.html index 751a462d..3d587778 100644 --- a/src/main/resources/templates/pages/application/application-in.html +++ b/src/main/resources/templates/pages/application/application-in.html @@ -875,7 +875,7 @@ } var unit = $("#unit" + idNumber); unit.empty(); - $("#unit" + idNumber).append(new Option(material.baseUnit, "-1")); + $("#unit" + idNumber).append(new Option(material.unit, "-1")); var unitList = material["splitInfoList"]; for (let i = 0; i < unitList.length; i++) { $("#unit" + idNumber).append(new Option(unitList[i].newUnit, unitList[i].newUnit));