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 | 82 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 72 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java index 7e97795..c73d459 100644 --- a/src/main/java/com/zy/asrs/controller/OrderController.java +++ b/src/main/java/com/zy/asrs/controller/OrderController.java @@ -10,6 +10,7 @@ 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; @@ -19,6 +20,7 @@ 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.*; @@ -102,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())); } @@ -322,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); } } } @@ -474,18 +476,78 @@ .doWrite(orderDetlVos); } - @PostMapping (value = "/order/exportAll/auth") + @PostMapping (value = "/order/definedExcelExport/auth") @ManagerAuth - public R export() { + public void export(HttpServletResponse response, @RequestBody DefinedExcelExportParam definedExcelExportParam) throws IOException { - User user = getUser(); - Long userId = null; - if (user.getRoleId() != 2 && user.getRoleId() != 24) { - userId = user.getId(); + 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<OrderDetlExcelVo> orderDetlExcelVoList = orderDetlMapper.selectExportExcelAllDataList(userId); - return R.ok(orderDetlExcelVoList); + 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") -- Gitblit v1.9.1