From d52ac2ed5792153d93957b9ad68bdfe605871676 Mon Sep 17 00:00:00 2001 From: erdanergou Date: Sat, 4 Feb 2023 13:38:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=87=BA=E5=BA=93=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E6=9F=A5=E8=AF=A2=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DepositoryRecordController.java | 25 +++++-- .../controller/PageController.java | 12 +++- .../mapper/DepositoryRecordMapper.java | 30 +++++++++ .../mapper/DepositoryRecordMapper.xml | 62 +++++++++++++++++ .../service/DepositoryRecordService.java | 7 ++ .../impl/DepositoryRecordServiceImpl.java | 67 +++++++++++++++++-- .../templates/pages/depository/table-out.html | 4 +- 7 files changed, 195 insertions(+), 12 deletions(-) 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 a29e2548..bb394357 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java @@ -453,7 +453,7 @@ public class DepositoryRecordController { } if (integer != 0 && params.size() < 1) { return CrudUtil.postHandle(integer, 1); - } else if (integer != 0 && params.size() > 1) { + } else if (integer != 0 && params.size() >= 1) { return CrudUtil.postHandle(integer, params.size() + 1); } else { return new RestResponse("", 666, new StatusInfo("出库失败", "请联系管理员进行操作")); @@ -599,8 +599,9 @@ public class DepositoryRecordController { // 查看出库申请 @GetMapping("/applicationOutView") public RestResponse findApplicationOutRecordByCondition(@RequestParam Map map, HttpServletRequest request) { + UserByPort userByPort = (UserByPort) request.getAttribute("userToken"); // 获取对应主订单 - List list = depositoryRecordService.findApplicationOutRecordPByCondition(map, request); + List list = depositoryRecordService.findApplicationOutRecordPByUser(userByPort,map); for (ApplicationOutRecordP outRecordP : list) { // 根据主订单获取所有子订单 List applicationOutMinByParentId = depositoryRecordService.findApplicationOutMinByParentId(outRecordP.getId()); @@ -628,7 +629,7 @@ public class DepositoryRecordController { outRecordP.setQuantity(sumQuantity); outRecordP.setPrice(sumPrice); } - return new RestResponse(list, depositoryRecordService.findApplicationOutRecordPCountByCondition(map), 200); + return new RestResponse(list, depositoryRecordService.findApplicationOutRecordPCountByUser(userByPort,map), 200); } @@ -833,7 +834,7 @@ public class DepositoryRecordController { } // 删除入库记录 - @PostMapping("deleteApplicationInRecord") + @PostMapping("/deleteApplicationInRecord") public RestResponse deleteApplicationInRecord(@RequestBody Map map) { if (map.containsKey("id")) { Integer id = ObjectFormatUtil.toInteger(map.get("id")); @@ -847,7 +848,7 @@ public class DepositoryRecordController { } // 删除出库记录 - @PostMapping("deleteApplicationOutRecord") + @PostMapping("/deleteApplicationOutRecord") public RestResponse deleteApplicationOutRecord(@RequestBody Map map) { if (map.containsKey("id")) { Integer id = ObjectFormatUtil.toInteger(map.get("id")); @@ -860,6 +861,20 @@ public class DepositoryRecordController { } } + // 用于判断该记录是否正在运行 + @PostMapping("/judgeApplicationOutRecordStatus") + public RestResponse judgeApplicationOutRecordStatus(@RequestBody Map map){ + if (map.containsKey("id")) { + Integer id = ObjectFormatUtil.toInteger(map.get("id")); + + } else if (map.containsKey("ids")) { + List ids = (List) map.get("ids"); + } + return null; + } + + + /** * 自动生成出入库订单 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 c1f5a127..fe2ccef2 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java @@ -765,8 +765,18 @@ public class PageController { } @GetMapping("/table_out") - public ModelAndView table_out() { + public ModelAndView table_out(HttpServletRequest request) { ModelAndView mv = new ModelAndView(); + UserByPort userToken = (UserByPort) request.getAttribute("userToken"); + Integer isadmin = userToken.getIsadmin(); + if (isadmin == null) { + isadmin = 1; + } + if (isadmin == 4) { + mv.addObject("display", "inline-block"); + } else { + mv.addObject("display", "none"); + } mv.setViewName("pages/depository/table-out"); return mv; } diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java index ef64e11b..58579d9d 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java @@ -252,6 +252,19 @@ public interface DepositoryRecordMapper { */ List findApplicationOutRecordPByCondition(Map map); + /** + * 查询当前用户出库记录及其管理仓库的出库记录 + * @param map 查询条件 + * @return + */ + List findApplicationOutRecordPByUser(Map map); + + /** + * 查询当前用户出库记录及其管理仓库的出库记录数目 + * @param map 查询条件 + * @return + */ + Integer findApplicationOutRecordPCountByUser(Map map); /** @@ -311,6 +324,15 @@ public interface DepositoryRecordMapper { */ Integer deleteApplicationOutRecordById(Integer id); + + /** + * 根据主id删除具体出库记录 + * @return 受影响的行数 + * @param id + */ + Integer deleteApplicationOutRecordMinById(Integer id); + + /** * 根据id集合删除多条出库记录 * @param list id集合 @@ -318,6 +340,14 @@ public interface DepositoryRecordMapper { */ Integer deleteApplicationOutRecordByIds(List list); + + /** + * 根据主id集合删除多条出库记录 + * @param list id集合 + * @return 受影响的行数 + */ + Integer deleteApplicationOutRecordMinByIds(List list); + /** * 根据申请单号获取入库申请 * @param code 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 f40534d4..a7522bf2 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml @@ -481,6 +481,56 @@ + + + + + + + DELETE FROM application_in_record WHERE id = #{id} @@ -1353,5 +1404,16 @@ + + delete from application_out_record_min where parentId = #{id} + + + + DELETE FROM application_out_record_min WHERE parentId IN + + #{id} + + + \ No newline at end of file diff --git a/src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java b/src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java index 7bbfe098..9e7bbbd4 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java @@ -431,4 +431,11 @@ public interface DepositoryRecordService { * @return */ Integer reviewByQyWxApproval(String mainId, ApprovalInfo_Details approvalInfo_details, String userAgent,String spStatus,String spNo,boolean flagForFirst); + + /** + * 判断当前出库记录运行状态 + * @param id + * @return + */ + boolean judgeApplicationOutRecordStatus(Integer id); } 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 ec3f1469..d840d913 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 @@ -230,14 +230,37 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { return depositoryRecordMapper.insertApplicationOutRecord(map); } + /** + * 根据id删除出库记录 + * @return 受影响的行数 + * @param id + */ + @Transactional(rollbackFor = Exception.class) @Override public Integer deleteApplicationOutRecordById(Integer id) { - return depositoryRecordMapper.deleteApplicationOutRecordById(id); + // 删除主单 + Integer integer = depositoryRecordMapper.deleteApplicationOutRecordById(id); + // 开启一个线程去删除子订单 + new Thread(new Runnable() { + @Override + public void run() { + depositoryRecordMapper.deleteApplicationOutRecordMinById(id); + } + }).start(); + return integer; } + @Transactional(rollbackFor = Exception.class) @Override public Integer deleteApplicationOutRecordByIds(List list) { - return depositoryRecordMapper.deleteApplicationOutRecordByIds(list); + Integer integer = depositoryRecordMapper.deleteApplicationOutRecordByIds(list); + new Thread(new Runnable() { + @Override + public void run() { + depositoryRecordMapper.deleteApplicationOutRecordMinByIds(list); + } + }).start(); + return integer; } /** @@ -1813,6 +1836,16 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { } + /** + * 判断当前出库记录运行状态 + * @param id + * @return + */ + @Override + public boolean judgeApplicationOutRecordStatus(Integer id) { + return false; + } + /** * 转移申请 * @@ -2974,7 +3007,18 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { String applyTime = (String) map.get("applyTime"); map.put("applicantTime", DateUtil.DateTimeByDayToTimeStamp(applyTime)); } - List list = depositoryRecordMapper.findApplicationOutRecordPByCondition(map); + List depositoryAndRole = roleService.findDepositoryAndRole(userByPort.getId()); + List depositoryIdList = new ArrayList<>(); + for (RoleAndDepository depository: depositoryAndRole + ) { + depositoryIdList.add(depository.getDepositoryId()); + } + if(depositoryIdList.size() == 0){ + depositoryIdList = null; + } + map.put("depositoryIdList",depositoryIdList); + map.put("applicantId",userByPort.getId()); + List list = depositoryRecordMapper.findApplicationOutRecordPByUser(map); for (ApplicationOutRecordP recordP : list) { UserByPort userByPortById = LinkInterfaceUtil.FindUserById(recordP.getApplicantId(), userByPort); String time = DateUtil.TimeStampToDateTime(Long.valueOf(recordP.getApplicantTime())); @@ -2992,7 +3036,22 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { */ @Override public Integer findApplicationOutRecordPCountByUser(UserByPort userByPort, Map map) { - return null; + if (map.containsKey("applyTime")) { + String applyTime = (String) map.get("applyTime"); + map.put("applicantTime", DateUtil.DateTimeByDayToTimeStamp(applyTime)); + } + List depositoryAndRole = roleService.findDepositoryAndRole(userByPort.getId()); + List depositoryIdList = new ArrayList<>(); + for (RoleAndDepository depository: depositoryAndRole + ) { + depositoryIdList.add(depository.getDepositoryId()); + } + if(depositoryIdList.size() == 0){ + depositoryIdList = null; + } + map.put("depositoryIdList",depositoryIdList); + map.put("applicantId",userByPort.getId()); + return depositoryRecordMapper.findApplicationOutRecordPCountByUser(map); } diff --git a/src/main/resources/templates/pages/depository/table-out.html b/src/main/resources/templates/pages/depository/table-out.html index 028c934f..0474cdef 100644 --- a/src/main/resources/templates/pages/depository/table-out.html +++ b/src/main/resources/templates/pages/depository/table-out.html @@ -72,7 +72,7 @@ @@ -80,7 +80,7 @@