From 0916bb4ea987c0599b6af6bb8dd251a071770e05 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 23 十月 2025 14:32:15 +0800
Subject: [PATCH] 通用下拉选择框值从视图获取
---
src/main/java/com/zy/asrs/controller/OrderController.java | 87 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 84 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 39c3cbe..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()));
}
@@ -168,7 +174,7 @@
param.getCstmr(), // 瀹㈡埛缂栧彿
param.getCstmrName(), // 瀹㈡埛
param.getTel(), // 鑱旂郴鏂瑰紡
- null, // 鎿嶄綔浜哄憳
+ getUser().getUsername(), // 鎿嶄綔浜哄憳
null, // 鍚堣閲戦
null, // 浼樻儬鐜�
null, // 浼樻儬閲戦
@@ -191,6 +197,7 @@
now, // 淇敼鏃堕棿
null // 澶囨敞
);
+ order.setOperMemb(getUser().getUsername());
if (!orderService.insert(order)) {
throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触");
}
@@ -317,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);
}
}
}
@@ -469,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