Переглянути джерело

fix:增加工艺的导出表格功能,补充注释

kgy 6 місяців тому
батько
коміт
2cd953266b

+ 24 - 1
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/controller/CraftController.java

@@ -1,15 +1,20 @@
 package org.dromara.commodityManagement.controller;
-
+import cn.hutool.core.collection.CollUtil;
+import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import org.dromara.commodityManagement.domain.bo.CraftBo;
 import org.dromara.commodityManagement.domain.vo.CraftVo;
 import org.dromara.commodityManagement.service.CraftService;
 import org.dromara.common.core.domain.R;
+import org.dromara.common.excel.utils.ExcelUtil;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.web.core.BaseController;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.HashMap;
+
 /**
  * 工艺管理接口
  */
@@ -56,4 +61,22 @@ public class CraftController extends BaseController {
     public R<Void> deleteCraftByIds(@PathVariable Long[] craftIds) {
         return toAjax(craftService.deleteCraftByIds(craftIds));
     }
+
+    /**
+     * 根据工艺Ids导出Excel
+     * @param response 响应对象
+     */
+    @GetMapping("/exportExcelByIds")
+    public void exportCraftExcel(@RequestParam("ids") Long[] craftIds , HttpServletResponse response) {
+        ExcelUtil.exportTemplate(CollUtil.newArrayList(new HashMap<>(), craftService.selectCraftListByIds(craftIds)),"工艺列表.xlsx","excel/工艺导出模板.xlsx",response);
+    }
+
+    /**
+     * 通过Excel导出工艺数据
+     * @param response 响应对象
+     */
+    @GetMapping("/exportExcel")
+    public void exportCraftExcel(HttpServletResponse response) {
+        ExcelUtil.exportTemplate(CollUtil.newArrayList(new HashMap<>(), craftService.selectCraftList()),"工艺列表.xlsx","excel/工艺导出模板.xlsx",response);
+    }
 }

+ 38 - 0
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/service/CraftService.java

@@ -1,16 +1,54 @@
 package org.dromara.commodityManagement.service;
 
+import org.dromara.commodityManagement.domain.Craft;
 import org.dromara.commodityManagement.domain.bo.CraftBo;
 import org.dromara.commodityManagement.domain.vo.CraftVo;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 
+import java.util.List;
+
+/**
+ * 工艺Service接口
+ */
 public interface CraftService {
+    /**
+     * 查询工艺列表
+     * @param craft 工艺Bo对象
+     * @param pageQuery 分页信息
+     * @return 分页结果
+     */
     TableDataInfo<CraftVo> selectPageCraftList(CraftBo craft, PageQuery pageQuery);
 
+    /**
+     * 新增工艺
+     * @param craftBo 工艺Bo对象
+     * @return 影响行数
+     */
     int insertCraft(CraftBo craftBo);
 
+    /**
+     * 修改工艺
+     * @param craftBo 工艺Bo对象
+     * @return 影响行数
+     */
     int updateCraft(CraftBo craftBo);
 
+    /**
+     * 删除工艺
+     * @param craftIds 工艺ID
+     * @return 影响行数
+     */
     int deleteCraftByIds(Long[] craftIds);
+    /**
+     * 查询工艺列表
+     * @return 工艺列表
+     */
+    List<Craft> selectCraftList();
+
+    /**
+     * 根据工艺Ids查询工艺列表
+     * @return 工艺列表
+     */
+    List<Craft> selectCraftListByIds(Long[] craftIds);
 }

+ 11 - 0
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/service/impl/CraftServiceImpl.java

@@ -16,6 +16,7 @@ import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 import java.util.Arrays;
+import java.util.List;
 
 @RequiredArgsConstructor
 @Service
@@ -76,6 +77,16 @@ public class CraftServiceImpl implements CraftService {
         return craftMapper.deleteByIds(Arrays.asList(craftIds));
     }
 
+    @Override
+    public List<Craft> selectCraftList() {
+        return craftMapper.selectList();
+    }
+
+    @Override
+    public List<Craft> selectCraftListByIds(Long[] craftIds) {
+        return MapstructUtils.convert(craftMapper.selectByIds(Arrays.asList(craftIds)), Craft.class);
+    }
+
     /**
      * 保存前检验
      *