Эх сурвалжийг харах

feat:新增供应商管理下载模块功能

Eternity 5 сар өмнө
parent
commit
19900304dc

+ 17 - 3
ruoyi-modules/ruoyi-dataManagement/src/main/java/org/dromara/dataManagement/controller/SupplierController.java

@@ -5,18 +5,19 @@ import cn.dev33.satoken.annotation.SaIgnore;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import org.dromara.common.core.domain.R;
-import org.dromara.common.excel.core.DropDownOptions;
+import org.dromara.common.excel.core.ExcelResult;
 import org.dromara.common.excel.utils.ExcelUtil;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.web.core.BaseController;
 import org.dromara.dataManagement.domain.bo.SupplierBo;
+import org.dromara.dataManagement.domain.vo.SupplierExcelVo;
 import org.dromara.dataManagement.domain.vo.SupplierVo;
 import org.dromara.dataManagement.service.SupplierService;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 
@@ -41,7 +42,20 @@ public class SupplierController extends BaseController {
      */
     @GetMapping("/downloadTemplate")
     public void getExampleExcel(HttpServletResponse response){
-        ExcelUtil.exportExcel(new ArrayList<>(), "供应商导入模板", SupplierVo.class, response);
+        ExcelUtil.exportExcel(new ArrayList<>(), "供应商导入模板", SupplierExcelVo.class, response);
+    }
+
+    /**
+     * Excel导入供应商信息
+     * @param file
+     * @return
+     * @throws Exception
+     */
+    @PostMapping("/importExcel")
+    public R<Void> importExcel(@RequestPart("file") MultipartFile file) throws Exception {
+        ExcelResult<SupplierExcelVo> result = ExcelUtil.importExcel(file.getInputStream(), SupplierExcelVo.class,false);
+        supplierService.insertImportExcel(result);
+        return R.ok(result.getAnalysis());
     }
 
     /**

+ 81 - 0
ruoyi-modules/ruoyi-dataManagement/src/main/java/org/dromara/dataManagement/domain/vo/SupplierExcelVo.java

@@ -0,0 +1,81 @@
+package org.dromara.dataManagement.domain.vo;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.dataManagement.domain.Supplier;
+
+import java.io.Serializable;
+
+@Data
+@AutoMapper(target = Supplier.class)
+public class SupplierExcelVo implements Serializable {
+
+    /**
+     * 供应商类别
+     */
+    @ExcelProperty(value = "供应商类别", order = 1)
+    private int supplyertypeId;
+
+    /**
+     * 供应商编号
+     */
+    @ExcelProperty(value = "供应商编号", order = 2)
+    private String supplyerCode;
+
+    /**
+     * 供应商名称
+     */
+    @ExcelProperty(value = "供应商名称", order = 3)
+    private String supplyerName;
+
+    /**
+     * 首要联系人
+     */
+    @ExcelProperty(value = "首要联系人", order = 4)
+    private String firstConnectName;
+
+    /**
+     * 首要联系人手机号
+     */
+    @ExcelProperty(value = "首要联系人手机号", order = 5)
+    private String firstConnectMobile;
+
+    /**
+     * 首要联系人座机号
+     */
+    @ExcelProperty(value = "首要联系人座机号", order = 6)
+    private String firstConnectPhone;
+
+    /**
+     * 首要联系人QQ/微信/Email
+     */
+    @ExcelProperty(value = "首要联系人QQ/微信/Email", order = 7)
+    private String qqWxEmail;
+
+    /**
+     * 联系地址
+     */
+    @ExcelProperty(value = "联系地址", order = 8)
+    private String connectAddress;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注", order = 9)
+    private String note;
+
+    /**
+     * 应付余额
+     */
+    @ExcelProperty(value = "应付余额", order = 10)
+    private double needGiveAccount;
+
+    /**
+     * 状态
+     */
+    @ExcelProperty(value = "状态", order = 11)
+    private String status;
+
+}

+ 4 - 0
ruoyi-modules/ruoyi-dataManagement/src/main/java/org/dromara/dataManagement/service/SupplierService.java

@@ -1,9 +1,11 @@
 package org.dromara.dataManagement.service;
 
 
+import org.dromara.common.excel.core.ExcelResult;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.dataManagement.domain.bo.SupplierBo;
+import org.dromara.dataManagement.domain.vo.SupplierExcelVo;
 import org.dromara.dataManagement.domain.vo.SupplierVo;
 
 import java.util.List;
@@ -13,4 +15,6 @@ public interface SupplierService {
     TableDataInfo<SupplierVo> selectPageSupplierList(SupplierBo supplierBo, PageQuery pageQuery);
 
     int deleteRecycleFactoryByIds(List<Integer> supplyertypeId);
+
+    void insertImportExcel(ExcelResult<SupplierExcelVo> result);
 }

+ 13 - 0
ruoyi-modules/ruoyi-dataManagement/src/main/java/org/dromara/dataManagement/service/impl/SupplierServiceImpl.java

@@ -5,15 +5,18 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
 import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.excel.core.ExcelResult;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.dataManagement.domain.Supplier;
 import org.dromara.dataManagement.domain.bo.SupplierBo;
+import org.dromara.dataManagement.domain.vo.SupplierExcelVo;
 import org.dromara.dataManagement.domain.vo.SupplierVo;
 import org.dromara.dataManagement.mapper.SupplierMapper;
 import org.dromara.dataManagement.service.SupplierService;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 
@@ -51,4 +54,14 @@ public class SupplierServiceImpl implements SupplierService {
         qw.in("supplyertype_id",supplyertypeId);
         return supplierMapper.delete(qw);
     }
+
+    /**
+     * 处理Excel数据
+     * @param result
+     */
+    @Override
+    public void insertImportExcel(ExcelResult<SupplierExcelVo> result) {
+
+
+    }
 }

+ 0 - 0
ruoyi-modules/ruoyi-dataManagement/src/main/resources/excel/供应商导出模版.xlsx