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 dbe6a6fd..574fb9d5 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java @@ -110,12 +110,67 @@ public class DepositoryRecordController { @PostMapping("/applicationIn") public RestResponse insertApplicationInRecord(@RequestBody Map map, HttpServletRequest request){ UserByPort userToken= (UserByPort) request.getAttribute("userToken"); - map.put("applicantId",userToken.getId()); - Integer integer = depositoryRecordService.applicationIn(map); - if (integer != 0) { - return CrudUtil.postHandle(integer, 1); + List params = (List) map.get("params"); + Integer integer = 0; + map.put("applicantId", userToken.getId()); + if(params.size() < 1 && map.size() > 3) { + integer += depositoryRecordService.applicationIn(map); }else{ + for (int i = 0; i < params.size(); i++) { + Integer temp = params.get(i); + Map insert = new HashMap<>(); + insert.put("applicantId",userToken.getId()); + insert.put("mid",map.get("mid"+temp)); + insert.put("quantity",map.get("quantity"+temp)); + insert.put("depositoryId",map.get("depositoryId"+temp)); + insert.put("applyRemark",map.get("applyRemark"+temp)); + insert.put("code",map.get("code"+temp)); + integer += depositoryRecordService.applicationIn(insert); + } + integer += depositoryRecordService.applicationIn(map); + } + if (integer != 0 && params.size() < 1) { + return CrudUtil.postHandle(integer, 1); + }else if(integer != 0 && params.size() > 0){ + return CrudUtil.postHandle(integer,params.size() + 1); + } + else{ return new RestResponse("",666,new StatusInfo("存储失败","超出最大存储量,请重新选择存储位")); + } + + } + + // 出库申请 + @PostMapping("/applicationOut") + public RestResponse insertApplicationOutRecord(@RequestBody Map map, HttpServletRequest request){ + UserByPort userToken= (UserByPort) request.getAttribute("userToken"); + map.put("applicantId",userToken.getId()); + UserByPort departmentHeadByUser = findDepartmentHeadByUser(userToken); + map.put("departmenthead",departmentHeadByUser.getId()); + List params = (List) map.get("params"); + Integer integer = 0; + if(params.size() < 1 && map.size() > 3){ + integer += depositoryRecordService.insertApplicationOutRecord(map); + }else{ + for (int i = 0; i < params.size(); i++) { + Integer temp = params.get(i); + Map insert = new HashMap<>(); + insert.put("applicantId",userToken.getId()); + insert.put("departmenthead",departmentHeadByUser.getId()); + insert.put("mid",map.get("mid"+temp)); + insert.put("quantity",map.get("quantity"+temp)); + insert.put("applyRemark",map.get("applyRemark"+temp)); + insert.put("code",map.get("code"+temp)); + integer += depositoryRecordService.insertApplicationOutRecord(insert); + } + integer += depositoryRecordService.insertApplicationOutRecord(map); + } + if(integer != 0 && params.size() < 1){ + return CrudUtil.postHandle(integer,1); + }else if(integer != 0 && params.size() >0 ){ + return CrudUtil.postHandle(integer,params.size() + 1); + }else{ + return new RestResponse("",666,new StatusInfo("出库失败","请联系管理员进行操作")); } } @@ -217,11 +272,36 @@ public class DepositoryRecordController { public RestResponse transfer(@RequestBody Map map, HttpServletRequest request){ UserByPort userToken= (UserByPort) request.getAttribute("userToken"); UserByPort departmentHeadByUser = findDepartmentHeadByUser(userToken); + List params = (List) map.get("params"); map.put("departmenthead",departmentHeadByUser.getId()); map.put("applicantId",userToken.getId()); map.put("toId",map.get("depositoryId")); map.remove("depositoryId"); - return CrudUtil.postHandle(depositoryRecordService.transferApply(map),1); + Integer integer = 0; + if(params.size() < 1 && map.size() > 4){ + integer += depositoryRecordService.transferApply(map); + }else if(params.size() > 0){ + for (int i = 0; i < params.size(); i++) { + Integer temp = params.get(i); + Map insert = new HashMap<>(); + insert.put("departmenthead",departmentHeadByUser.getId()); + insert.put("applicantId",userToken.getId()); + insert.put("toId",map.get("depositoryId"+temp)); + insert.put("mid",map.get("mid"+temp)); + insert.put("quantity",map.get("quantity"+temp)); + insert.put("applyRemark",map.get("applyRemark"+temp)); + insert.put("code",map.get("code"+temp)); + integer += depositoryRecordService.transferApply(insert); + } + integer += depositoryRecordService.transferApply(map); + } + if(params.size() < 1) { + return CrudUtil.postHandle(integer, 1); + }else if(params.size() > 0){ + return CrudUtil.postHandle(integer,params.size() + 1); + }else{ + return new RestResponse("",666,new StatusInfo("转移失败","请联系管理员进行操作")); + } } // 删除入库记录 @@ -252,15 +332,7 @@ public class DepositoryRecordController { } } - // 出库申请 - @PostMapping("/applicationOut") - public RestResponse insertApplicationOutRecord(@RequestBody Map map, HttpServletRequest request){ - UserByPort userToken= (UserByPort) request.getAttribute("userToken"); - map.put("applicantId",userToken.getId()); - UserByPort departmentHeadByUser = findDepartmentHeadByUser(userToken); - map.put("departmenthead",departmentHeadByUser.getId()); - return CrudUtil.postHandle(depositoryRecordService.insertApplicationOutRecord(map),1); - } + /** * 自动生成出入库订单 * @param map 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 3e825d9e..962b94ce 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java @@ -380,12 +380,14 @@ public class PageController { return mv; } + // 材料类型树形菜单页面 @GetMapping("/selectType") public String selectType(){ return "pages/material/selectType"; } + // 仓库树形菜单页面 @GetMapping("/selectDepository") public ModelAndView selectDepository(Integer type,HttpServletRequest request){ ModelAndView mv = new ModelAndView(); @@ -398,6 +400,22 @@ public class PageController { return mv; } + + // 专用于卡片仓库树形菜单页面 + @GetMapping("/selectDepositoryByCard") + public ModelAndView selectDepositoryByCard(Integer type,String clickObj,HttpServletRequest request){ + ModelAndView mv = new ModelAndView(); + UserByPort userToken = (UserByPort) request.getAttribute("userToken"); + if(type == 1) { + Integer maindeparment = userToken.getMaindeparment(); + mv.addObject("adminorg", maindeparment); + mv.addObject("clickObj", clickObj); + } + mv.setViewName("pages/material/selectDepositoryByCard"); + return mv; + } + + // 材料树形菜单页面 @GetMapping("/selectMaterial") public ModelAndView selectMaterial(String mname,String type){ ModelAndView mv = new ModelAndView(); @@ -407,6 +425,19 @@ public class PageController { return mv; } + // 专用于卡片材料树形菜单页面 + @GetMapping("/selectMaterialByCard") + public ModelAndView selectMaterialByCard(String mname,String type,String clickObj){ + ModelAndView mv = new ModelAndView(); + mv.addObject("mname",mname); + mv.addObject("type",type); + mv.addObject("clickObj",clickObj); + mv.setViewName("pages/material/selectMaterialByCard"); + return mv; + } + + + @GetMapping("material_view") public ModelAndView material_view(Integer id) { ModelAndView mv = new ModelAndView(); diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java index f9b24dee..195929b2 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java @@ -306,6 +306,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { param.put("depositoryId",transferRecor.getToId()); List materiallist = materialMapper.findMaterialByCondition(param); if(materiallist.size() > 0){ + map.put("depositoryId",transferRecor.getToId()); applicationIn(map); map.put("mid",materiallist.get(0).getId()); }else{ @@ -326,57 +327,6 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { materialMapper.insertMaterial(insert); } } - /* @Override - @Transactional - public Integer review(Map map, Integer userid) { - if (map.containsKey("reviewPass")) { - String simpleTime = DateUtil.getSimpleTime(new Date()); - map.put("reviewTime", DateUtil.DateTimeToTimeStamp(simpleTime)); - map.put("reviewerId", userid); - Integer reviewPass = (Integer) map.get("reviewPass"); - if (reviewPass == 1) { - map.put("state", "待验收"); - } else { - map.put("state", "审核未通过"); - } - } else { - String simpleTime = DateUtil.getSimpleTime(new Date()); - map.put("checkTime", DateUtil.DateTimeToTimeStamp(simpleTime)); - map.put("checkerId", userid); - DepositoryRecord record = depositoryRecordMapper.findDepositoryRecordById(ObjectFormatUtil.toInteger(map.get("id"))); - map.put("depositoryId", record.getDepositoryId()); - map.put("mname", record.getMname()); - List list = materialMapper.findMaterialByCondition(map); - Material material = list.get(0); - Integer checkPass = (Integer) map.get("checkPass"); - if (checkPass == 1) { - if (1 == record.getType()) { - map.put("state", "已入库"); - //这里貌似会引起并发问题 - // 当前入库金额 - Double sum = material.getPrice() * record.getQuantity(); - material.setAmounts(material.getAmounts() + sum); -// material.setPrice(material.getPrice() * material.getQuantity() + record.getPrice()); - material.setQuantity(material.getQuantity() + record.getQuantity()); - materialMapper.updateMaterial(material); - } else { - if (material.getQuantity() >= record.getQuantity()) { - // 当前出库金额 - Double sum = material.getPrice() * record.getQuantity(); - material.setAmounts(material.getAmounts() - sum); - material.setQuantity(material.getQuantity() - record.getQuantity()); - materialMapper.updateMaterial(material); - } else { - throw new MyException("库存不足于该出库请求"); - } - map.put("state", "已出库"); - } - } else { - map.put("state", "验收未通过"); - } - } - return depositoryRecordMapper.updateDepositoryRecord(map); - }*/ /** * 根据id修改仓库调度记录 diff --git a/src/main/resources/templates/pages/application/application-in.html b/src/main/resources/templates/pages/application/application-in.html index 849f9666..9f311727 100644 --- a/src/main/resources/templates/pages/application/application-in.html +++ b/src/main/resources/templates/pages/application/application-in.html @@ -14,64 +14,72 @@
-
-
- + - \ No newline at end of file diff --git a/src/main/resources/templates/pages/application/application-out.html b/src/main/resources/templates/pages/application/application-out.html index 6ecadce1..739e2fdf 100644 --- a/src/main/resources/templates/pages/application/application-out.html +++ b/src/main/resources/templates/pages/application/application-out.html @@ -14,74 +14,82 @@
-
-
-