diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 068b98ba..6527226e 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -12,7 +12,7 @@ ruoyi: profile: D:\ruoyi\uploadPath # 获取ip地址开关 addressEnabled: false - + excelTemplate: D:\ruoyi\excelTemplate # 开发环境配置 server: # 服务器的HTTP端口,默认为80 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/config/RuoYiConfig.java b/ruoyi-common/src/main/java/com/ruoyi/common/config/RuoYiConfig.java index cee48bca..efb5db10 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/config/RuoYiConfig.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/config/RuoYiConfig.java @@ -26,6 +26,7 @@ public class RuoYiConfig /** 上传路径 */ private static String profile; + private static String excelTemplate; /** 获取地址开关 */ private static boolean addressEnabled; @@ -121,4 +122,12 @@ public class RuoYiConfig { return getProfile() + "/upload"; } + + public static String getExcelTemplate() { + return excelTemplate; + } + + public void setExcelTemplate(String excelTemplate) { + RuoYiConfig.excelTemplate = excelTemplate; + } } diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OrderInfoController.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OrderInfoController.java index e5cbf6f0..786b0c8d 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OrderInfoController.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OrderInfoController.java @@ -1,17 +1,23 @@ package com.ruoyi.sip.controller; +import java.io.File; import java.util.List; import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; import cn.hutool.core.collection.CollUtil; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.sip.domain.*; import com.ruoyi.sip.service.IProductInfoService; +import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; @@ -24,6 +30,9 @@ import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + /** * 合同档案Controller * @@ -32,6 +41,7 @@ import org.springframework.web.multipart.MultipartFile; */ @Controller @RequestMapping("/manage/order") +@Slf4j public class OrderInfoController extends BaseController { private String prefix = "manage/order"; @@ -169,11 +179,23 @@ public class OrderInfoController extends BaseController @RequiresPermissions("sip:list:export") @Log(title = "发货清单", businessType = BusinessType.EXPORT) @PostMapping("/list/export") - @ResponseBody - public AjaxResult listExport(OrderList orderList) { - List list = orderInfoService.listExport(orderList); - ExcelUtil util = new ExcelUtil(OrderList.class); - return util.exportExcel(list, "合同清单数据"); + public void listExport(HttpServletRequest request, HttpServletResponse response) { + try + { + + // 本地资源路径 + String localPath = RuoYiConfig.getExcelTemplate(); + // 下载名称 + String fileName = "合同清单明细.xlsx"; + String downloadPath = localPath+ File.separator+ fileName; + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + FileUtils.setAttachmentResponseHeader(response, fileName); + FileUtils.writeBytes(downloadPath, response.getOutputStream()); + } + catch (Exception e) + { + log.error("下载文件失败", e); + } } @PostMapping("/list/importData") @ResponseBody diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/DeliveryListServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/DeliveryListServiceImpl.java index 559930d8..4abb2ced 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/DeliveryListServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/DeliveryListServiceImpl.java @@ -235,7 +235,7 @@ public class DeliveryListServiceImpl implements IDeliveryListService { } private static Date updateStartTimeAndAddList(DeliveryInfoVo deliveryInfoVo, ProductInfo productInfo, Date startTime, List serviceInfoList) { - int year = Integer.parseInt(productInfo.getValue()); + int year = productInfo.getValue() == null ? 0 : Integer.parseInt(productInfo.getValue()); DeliveryInfoVo.ServiceInfo serviceInfo = deliveryInfoVo.new ServiceInfo(); serviceInfo.setServiceLevel(productInfo.getValue()); serviceInfo.setServiceDescribe(productInfo.getDescription());