From d9aab59e3d4c8688eaf00c0d98f6926a218ff57f Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期一, 28 四月 2025 15:28:11 +0800 Subject: [PATCH] 拣货单出库完成,但是库存没减,日志埋点 --- src/main/java/com/zy/asrs/controller/OrderController.java | 84 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 82 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java index 0a28f50..c73d459 100644 --- a/src/main/java/com/zy/asrs/controller/OrderController.java +++ b/src/main/java/com/zy/asrs/controller/OrderController.java @@ -10,14 +10,17 @@ import com.core.common.*; import com.core.exception.CoolException; import com.zy.asrs.entity.*; +import com.zy.asrs.entity.param.DefinedExcelExportParam; import com.zy.asrs.entity.param.OrderDomainParam; import com.zy.asrs.entity.result.OrderDetlVo; +import com.zy.asrs.mapper.OrderDetlMapper; import com.zy.asrs.service.*; import com.zy.common.CodeRes; import com.zy.common.model.DetlDto; import com.zy.common.web.BaseController; import com.zy.system.entity.User; import com.zy.system.service.UserService; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; @@ -52,6 +55,9 @@ @Resource private UserService userService; + + @Resource + private OrderDetlMapper orderDetlMapper; @RequestMapping(value = "/order/nav/list/auth") @ManagerAuth @@ -98,7 +104,7 @@ // 璁㈠崟琛ㄥ彧瀛樹簡鎿嶄綔浜篿d,鎵�浠ユ搷浣滀汉濮撳悕鏌ヨ锛屽彧鑳戒粠濮撳悕鍏堝幓鎵緄d锛� Object userName = param.get("oper_memb"); if (userName != null && user.getRoleId() != 21) { - List<User> users = userService.selectList(new EntityWrapper<User>().like("username", (String) param.get("oper_memb"))); + List<User> users = userService.selectList(new EntityWrapper<User>().eq("username", param.get("oper_memb"))); if (users.size() > 0) { wrapper.in("create_by", users.stream().map(User::getId).collect(Collectors.toList())); } @@ -318,7 +324,7 @@ wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); } else { - wrapper.like(entry.getKey(), val); + wrapper.eq(entry.getKey(), val); } } } @@ -470,6 +476,80 @@ .doWrite(orderDetlVos); } + @PostMapping (value = "/order/definedExcelExport/auth") + @ManagerAuth + public void export(HttpServletResponse response, @RequestBody DefinedExcelExportParam definedExcelExportParam) throws IOException { + + EntityWrapper<OrderDetl> orderDetlEntityWrapper = new EntityWrapper<>(); + + if ("all".equals(definedExcelExportParam.getType())) { + DefinedExcelExportParam.QueryWhere queryWhere = definedExcelExportParam.getQueryWhere(); + EntityWrapper<Order> orderEntityWrapper = new EntityWrapper<>(); + + // 闄愬埗閿�鍞鑹插彧鑳界湅鑷繁鍒涘缓鐨勫崟瀛愶紙閿�鍞鑹瞚d鍥哄畾21锛屼笉鑳介殢鎰忎慨鏀癸級 + User user = getUser(); + if (user.getRoleId() != 2 && user.getRoleId() != 24) { + orderEntityWrapper.eq("create_by", user.getId()); + } + // 鎿嶄綔浜猴細璁㈠崟琛ㄥ彧瀛樹簡鎿嶄綔浜篿d,鎵�浠ユ搷浣滀汉濮撳悕鏌ヨ锛屽彧鑳戒粠濮撳悕鍏堝幓鎵緄d锛� + Object userName = queryWhere.getOper_memb(); + if (userName != null && user.getRoleId() != 21) { + List<User> users = userService.selectList(new EntityWrapper<User>().eq("username", queryWhere.getOper_memb())); + if (users.size() > 0) { + orderEntityWrapper.in("create_by", users.stream().map(User::getId).collect(Collectors.toList())); + } + } + // 璁㈠崟缂栧彿 + if (!Cools.isEmpty(queryWhere.getOrder_no())) { + orderEntityWrapper.eq("order_no", queryWhere.getOrder_no()); + } + // 鍒涘缓鏃堕棿 + if (queryWhere.getCreate_time().contains(RANGE_TIME_LINK)) { + String[] dates = queryWhere.getCreate_time().split(RANGE_TIME_LINK); + orderEntityWrapper.ge("create_time", DateUtils.convert(dates[0])); + orderEntityWrapper.le("create_time", DateUtils.convert(dates[1])); + } + // 鍗曟嵁绫诲瀷 + if (!Cools.isEmpty(queryWhere.getDoc_type())) { + orderEntityWrapper.eq("doc_type", queryWhere.getDoc_type()); + } + // 鍗曟嵁鐘舵�� + if (!Cools.isEmpty(queryWhere.getSettle())) { + orderEntityWrapper.eq("settle", queryWhere.getSettle()); + } + // 瀹㈡埛鍚嶇О + if (!Cools.isEmpty(queryWhere.getCstmr_name())) { + orderEntityWrapper.eq("cstmr_name", queryWhere.getCstmr_name()); + } + // 鏈垹闄� + orderEntityWrapper.eq("status", 1); + orderEntityWrapper.setSqlSelect("order_no as orderNo"); + List<Order> orderList = orderService.selectList(orderEntityWrapper); + orderDetlEntityWrapper.in("order_no", orderList.stream().map(Order::getOrderNo).collect(Collectors.toList())); + + } else { + orderDetlEntityWrapper.in("order_no", definedExcelExportParam.getOrderNoList()); + } + + List<OrderDetl> list = orderDetlService.selectList(orderDetlEntityWrapper); + List<OrderDetlExcelVo> orderDetlExcelVoList = new ArrayList<>(); + + for (OrderDetl orderDetl : list) { + OrderDetlExcelVo orderDetlExcelVo = new OrderDetlExcelVo(); + BeanUtils.copyProperties(orderDetl,orderDetlExcelVo); + orderDetlExcelVoList.add(orderDetlExcelVo); + } + + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf-8"); + String fileName = URLEncoder.encode("鍗曟嵁", "UTF-8"); + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); + EasyExcel.write(response.getOutputStream(), OrderDetlExcelVo.class) + .sheet("琛�1") + .doWrite(orderDetlExcelVoList); + + } + @RequestMapping(value = "/order/list/all") public R orderList() { -- Gitblit v1.9.1