diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java index 3d893f86..57f37ecc 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java @@ -1022,7 +1022,6 @@ public class DepositoryController { parm.put("end", months.get(num)); parm.put("tname", materialTypeAll.get(j).getTname()); //根据条件获取月份中物料的总额 - Double materialCountByMonth = depositoryRecordService.findMaterialCountByMonth(parm); // 测试 Double materialCountByMonth1 = depositoryRecordService.findMaterialCountByMonth1(parm); ((Map) sourceList.get(num)).put(materialTypeAll.get(j).getTname(), materialCountByMonth1); 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 80fef45e..5171732b 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java @@ -102,11 +102,14 @@ public class DepositoryRecordController { // isDone 为0为未完成,1为已完成 String isDone = (String) (map.get("isDone")); UserByPort userToken= (UserByPort) request.getAttribute("userToken"); - // 获取当前用户下的所有扫码出库订单 + // 获取当前用户下所有未完成的扫码出库订单 String key = "user:"+userToken.getId().toString(); String minRecord = (String) redisTemplateForHash.opsForHash().get(key, "minRecord"); - if(minRecord == null){ + + if(minRecord == null && "0".equals(isDone)){ return new RestResponse(result,result.size(),200); + }else if(minRecord == null && "1".equals(isDone)){ + minRecord = "[]"; } // 获取子订单键值 String[] split = minRecord.replace("[","").replace("]","").split(","); @@ -117,17 +120,27 @@ public class DepositoryRecordController { String state = (String) redisTemplateForHash.opsForHash().get(split[i],"state"); if("1".equals(state)){ // 如果当前订单未完成 - ongoingSplit+= split[i]+","; + ongoingSplit += split[i]+","; }else if ("2".equals(state)){ // 如果当前订单已完成 - completeSplit+= split[i]+","; + completeSplit += split[i]+","; } } // 用户管理仓库 Map userManageHouse = new HashMap<>(); if("1".equals(isDone)){ // 如果要获取已完成 - split = completeSplit.split(","); +// split = completeSplit.split(","); + Map params = new HashMap<>(); + params.put("checkId",userToken.getId()); + // 获取当前用户所有已完成的订单 + List applicationOutMinByCondition = depositoryRecordService.findApplicationOutMinByCondition(params); + split = new String[applicationOutMinByCondition.size()]; + for (int i = 0; i < applicationOutMinByCondition.size(); i++) { + String tempSplit = "minRecord:"+applicationOutMinByCondition.get(i).getId(); + split[i] = tempSplit; + } + }else{ // 如果获取未完成 split = ongoingSplit.split(","); @@ -336,6 +349,7 @@ public class DepositoryRecordController { // 当前仓库中该用户的子订单详情 @GetMapping("/ApplicationOutMinByDid") public RestResponse ApplicationOutMinByDid(@RequestParam Map map, HttpServletRequest request){ + List applicationOutRecordMinList = new ArrayList<>(); Integer depositoryId =ObjectFormatUtil.toInteger(map.get("depositoryId")); // 0未完成1已完成 Integer stateOnView =ObjectFormatUtil.toInteger(map.get("state")); @@ -345,19 +359,29 @@ public class DepositoryRecordController { // 获取当前用户要处理的记录信息 String minRecord = (String) redisTemplateForHash.opsForHash().get("user:"+userToken.getId(),"minRecord"); // 获取子订单键值 - String[] split = minRecord.replace("[","").replace("]","").split(","); - List applicationOutRecordMinList = new ArrayList<>(); + if(minRecord == null && Integer.compare(stateOnView,0) == 0){ + return new RestResponse(applicationOutRecordMinList,applicationOutRecordMinList.size(),200); + } + else if(minRecord == null && Integer.compare(stateOnView,1) == 0){ + minRecord = "[]"; + } + String[] split = minRecord.replace("[", "").replace("]", "").split(","); + if(Integer.compare(stateOnView,1) == 0){ + // 如果要获取已完成的任务 + Map param = new HashMap<>(); + param.put("depositoryId",depositoryId); + param.put("checkId",userToken.getId()); + // 获取所有发送请求用户处理完成的子订单 + List applicationOutMinByCondition = depositoryRecordService.findApplicationOutMinByCondition(param); + split = new String[applicationOutMinByCondition.size()]; + for (int i = 0; i < applicationOutMinByCondition.size(); i++) { + split[i] = "minRecord:"+applicationOutMinByCondition.get(i).getId(); + } + } + for (int i = 0; i < split.length; i++) { //获取当前订单状态 String state = (String) redisTemplateForHash.opsForHash().get(split[i], "state"); - if(Integer.compare(stateOnView,0) == 0 && !"1".equals(state)){ - // 如果当前要查看的是未完成的并且当前订单不是未完成 - continue; - } - if(Integer.compare(stateOnView,1) == 0 && !"2".equals(state)){ - // 如果当前要查看的是已完成的并且当前订单不是已完成 - continue; - } if("1".equals(state)){ // 如果当前订单未完成 state = "进行中"; @@ -831,12 +855,8 @@ public class DepositoryRecordController { // 如果是仓库,则使用默认库位 map.put("placeId",0); } - Integer integer = depositoryRecordService.completeApplicationOutMinRecord(map, userToken); - if(integer == 1){ - return new RestResponse("",200,new StatusInfo("出库成功","出库成功")); - }else{ - return new RestResponse("",500,new StatusInfo("出库失败","出库失败,请联系开发人员")); - } + RestResponse restResponse = depositoryRecordService.completeApplicationOutMinRecord(map, userToken); + return restResponse; } 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 b7644318..598ee1ec 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java @@ -75,6 +75,9 @@ public class MaterialController { 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("code")||map.containsKey("mname"))){ for (int i = 0; i < depositoryByAdminorg.size(); i++) { Integer did = depositoryByAdminorg.get(i).getId(); @@ -83,10 +86,11 @@ public class MaterialController { List inventory = materialService.findInventory(map); list.addAll(inventory); total += materialService.findInventoryCount(map); + if(list.size() >= size){ + break; + } } - if (map.containsKey("size")) { - size = ObjectFormatUtil.toInteger(map.get("size")); - } + for (RoleAndDepository roleAndDepository : depositoryAndRole) { Integer depositoryId = roleAndDepository.getDepositoryId(); if(didList.contains(depositoryId)){ @@ -101,7 +105,6 @@ public class MaterialController { page=ObjectFormatUtil.toInteger(map.get("page")); } // 计算所有页数 - Double pageAll = Math.ceil(total / size); // 判断当前是在全新一页还是包含上述内容 if(size - list.size() != size){ // 如果当前不是崭新一页 diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java index 09417faa..9258bcc0 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java @@ -200,46 +200,6 @@ public class PageController { menu.put("child", menu_childs); allMenus.add(menu); } - /*for (int i = 0; i < menusByNoParent.size(); i++) { - Map menu = new HashMap<>(); - menu.put("title",menusByNoParent.get(i).getName()); - menu.put("href",menusByNoParent.get(i).getUrl()); - menu.put("icon",menusByNoParent.get(i).getIcon()); - menu.put("target",menusByNoParent.get(i).getTarget()); - Map map = new HashMap<>(); - map.put("roleId",role); - map.put("menuparent",menusByNoParent.get(i).getId()); - List accessstoAddressByParent = accessAddressService.findAccessToAddressByUser(map); - List menu_childs = new ArrayList<>(); - for (int j = 0; j < accessstoAddressByParent.size(); j++) { - Map menu_child = new HashMap<>(); - menu_child.put("title",accessstoAddressByParent.get(j).getName()); - menu_child.put("href",accessstoAddressByParent.get(j).getUrl()); - menu_child.put("icon",accessstoAddressByParent.get(j).getIcon()); - menu_child.put("target",accessstoAddressByParent.get(j).getTarget()); - List menu_childs1 = new ArrayList<>(); - if(accessstoAddressByParent.get(j).getIschild() == 1){ - Map map1 = new HashMap<>(); - map1.put("roleId",role); - map1.put("menuparent",accessstoAddressByParent.get(j).getId()); - List accessstoAddressByParent1 = accessAddressService.findAccessToAddressByUser(map1); - for (int k = 0; k < accessstoAddressByParent1.size(); k++) { - Map menu_child1 = new HashMap<>(); - menu_child1.put("title", accessstoAddressByParent1.get(k).getName()); - menu_child1.put("href", accessstoAddressByParent1.get(k).getUrl()); - menu_child1.put("icon", accessstoAddressByParent1.get(k).getIcon()); - menu_child1.put("target", accessstoAddressByParent1.get(k).getTarget()); - menu_childs1.add(((HashMap) menu_child1).clone()); - menu_child1.clear(); - } - } - menu_child.put("child", ((ArrayList) menu_childs1).clone()); - menu_childs.add(((HashMap) menu_child).clone()); - menu_child.clear(); - } - menu.put("child",menu_childs); - allMenus.add(menu); - }*/ Map menuInfo = new HashMap<>(); menuInfo.put("menuInfo", allMenus); menuInfo.put("homeInfo", homeInfo); @@ -510,9 +470,6 @@ public class PageController { public ModelAndView application_in() { ModelAndView mv = new ModelAndView(); mv.setViewName("pages/application/application-in"); - mv.addObject("depositories", depositoryService.findDepositoryAll()); - mv.addObject("reviewers", userService.findReviewers()); - mv.addObject("materials", materialService.findMaterialAll()); return mv; } @@ -552,9 +509,6 @@ public class PageController { public ModelAndView application_out() { ModelAndView mv = new ModelAndView(); mv.setViewName("pages/application/application-out"); - mv.addObject("depositories", depositoryService.findDepositoryAll()); - mv.addObject("reviewers", userService.findReviewers()); - mv.addObject("materials", materialService.findMaterialAll()); return mv; } @@ -583,9 +537,6 @@ public class PageController { public ModelAndView application_transfer() { ModelAndView mv = new ModelAndView(); mv.setViewName("pages/application/application-transfer"); - mv.addObject("depositories", depositoryService.findDepositoryAll()); - mv.addObject("reviewers", userService.findReviewers()); - mv.addObject("materials", materialService.findMaterialAll()); return mv; } @@ -593,8 +544,6 @@ public class PageController { public ModelAndView table_in() { ModelAndView mv = new ModelAndView(); mv.setViewName("pages/depository/table-in"); - mv.addObject("depositories", depositoryService.findDepositoryAll()); - mv.addObject("materials", materialService.findMaterialAll()); return mv; } @@ -602,8 +551,6 @@ public class PageController { public ModelAndView table_out() { ModelAndView mv = new ModelAndView(); mv.setViewName("pages/depository/table-out"); - mv.addObject("depositories", depositoryService.findDepositoryAll()); - mv.addObject("materials", materialService.findMaterialAll()); return mv; } diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/PlaceController.java b/src/main/java/com/dreamchaser/depository_manage/controller/PlaceController.java index 193ec77e..7f24d5e7 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/PlaceController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/PlaceController.java @@ -60,8 +60,10 @@ public class PlaceController { mname.append(materialById.getMname()+","); } placeP.setMname(mname.toString()); - placeP.setDepositoryName(depositoryById.getDname()); - placeP.setDepositoryCode(depositoryById.getCode()); + if(depositoryById != null) { + placeP.setDepositoryName(depositoryById.getDname()); + placeP.setDepositoryCode(depositoryById.getCode()); + } placePList.add(placeP); } return new RestResponse(placePList, placeService.findPlaceCountByCondition(map), 200); diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml index 21c0bf9d..7b61908b 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml @@ -283,6 +283,7 @@ and (departmentHeadTime != 0 and departmenthead=#{userId} and DepartmentheadPass != 3) or (depositoryManagerTime != 0 and FIND_IN_SET(#{userId},depositoryManager) != 0 and depositoryManagerPass != 3) + group by aorid LIMIT #{begin},#{size} @@ -375,9 +376,11 @@ and placeId = #{placeId} + GROUP BY aorid LIMIT #{begin},#{size} + select - count(*) + count(DISTINCT aorid) from applicationOutRecordInfo where 1 = 1 @@ -504,6 +508,7 @@ and istransfer = #{istransfer} + @@ -695,6 +700,9 @@ and aorm.checkId = #{checkId} + + and aorm.depositoryId = #{depositoryId} + and aorm.parentId = #{parentId} @@ -1055,7 +1063,7 @@ - + +
+ +
- - + + + + + +
@@ -73,14 +73,19 @@
diff --git a/src/main/resources/templates/pages/depository/table-out.html b/src/main/resources/templates/pages/depository/table-out.html index 9be7d8bf..0f1211fa 100644 --- a/src/main/resources/templates/pages/depository/table-out.html +++ b/src/main/resources/templates/pages/depository/table-out.html @@ -38,10 +38,12 @@
- +
@@ -74,6 +76,8 @@ diff --git a/target/classes/templates/pages/depository/table-out.html b/target/classes/templates/pages/depository/table-out.html index 9be7d8bf..0f1211fa 100644 --- a/target/classes/templates/pages/depository/table-out.html +++ b/target/classes/templates/pages/depository/table-out.html @@ -38,10 +38,12 @@
- +
@@ -74,6 +76,8 @@