Browse Source

feat:新增供应商管理模块Excel导入导出供应商信息功能

Eternity 5 months ago
parent
commit
e252a90342

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

@@ -1,7 +1,7 @@
 package org.dromara.dataManagement.controller;
 
 
-import cn.dev33.satoken.annotation.SaIgnore;
+import cn.hutool.core.collection.CollUtil;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import org.dromara.common.core.domain.R;
@@ -11,7 +11,6 @@ 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.bo.WorkShopBo;
 import org.dromara.dataManagement.domain.vo.SupplierExcelVo;
 import org.dromara.dataManagement.domain.vo.SupplierVo;
 import org.dromara.dataManagement.service.SupplierService;
@@ -20,10 +19,10 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 
 
-@SaIgnore
 @RestController
 @RequiredArgsConstructor
 @RequestMapping("/dataManagement/supplier")
@@ -79,9 +78,25 @@ public class SupplierController extends BaseController {
         return R.fail("不存在此工厂或此工厂已被删除");
     }
 
+    /**
+     * 根据id修改供应商信息
+     * @param supplierBo
+     * @return
+     */
     @PutMapping
     public R<Void> updateSupplier(@Validated @RequestBody SupplierBo supplierBo){
         return toAjax(supplierService.updateSupplier(supplierBo));
     }
 
+    /**
+     * 导出供应商信息
+     * @param supplierIds
+     * @param response
+     */
+    @GetMapping("/exportExcelByIds")
+    public void exportWorkShopExcel(@RequestParam("ids") Long[] supplierIds,HttpServletResponse response){
+        ExcelUtil.exportTemplate(CollUtil.newArrayList(new HashMap<>(),supplierService.selectSupplierByIds(supplierIds)),
+                "供应商列表.xlsx","excel/供应商导出模板.xlsx",response);
+    }
+
 }

+ 5 - 0
ruoyi-modules/ruoyi-dataManagement/src/main/java/org/dromara/dataManagement/domain/Supplier.java

@@ -10,6 +10,11 @@ import org.dromara.common.tenant.core.TenantEntity;
 @TableName("fa_kuyou_suppliers")
 public class Supplier extends TenantEntity {
 
+    /**
+     * 主键ID
+     */
+    private int id;
+
     /**
      * 供应商类别
      */

+ 7 - 0
ruoyi-modules/ruoyi-dataManagement/src/main/java/org/dromara/dataManagement/domain/bo/SupplierBo.java

@@ -3,6 +3,7 @@ package org.dromara.dataManagement.domain.bo;
 
 import io.github.linpeilie.annotations.AutoMapper;
 import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.dromara.common.mybatis.core.domain.BaseEntity;
@@ -13,9 +14,15 @@ import org.dromara.dataManagement.domain.Supplier;
 @AutoMapper(target = Supplier.class, reverseConvertGenerate = false)
 public class SupplierBo extends BaseEntity {
 
+    /**
+     * 主键Id
+     */
+    private int id;
+
     /**
      * 供应商类别
      */
+    @NotNull
     private int supplyertypeId;
 
     /**

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

@@ -4,6 +4,7 @@ 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.Supplier;
 import org.dromara.dataManagement.domain.bo.SupplierBo;
 import org.dromara.dataManagement.domain.vo.SupplierExcelVo;
 import org.dromara.dataManagement.domain.vo.SupplierVo;
@@ -21,4 +22,6 @@ public interface SupplierService {
     void insertImportExcel(ExcelResult<SupplierExcelVo> result);
 
     int updateSupplier(SupplierBo supplierBo);
+
+    List<Supplier> selectSupplierByIds(Long[] supplierIds);
 }

+ 11 - 3
ruoyi-modules/ruoyi-dataManagement/src/main/java/org/dromara/dataManagement/service/impl/SupplierServiceImpl.java

@@ -2,14 +2,12 @@ package org.dromara.dataManagement.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.WorkShop;
 import org.dromara.dataManagement.domain.bo.SupplierBo;
 import org.dromara.dataManagement.domain.vo.SupplierExcelVo;
 import org.dromara.dataManagement.domain.vo.SupplierVo;
@@ -17,6 +15,7 @@ import org.dromara.dataManagement.mapper.SupplierMapper;
 import org.dromara.dataManagement.service.SupplierService;
 import org.springframework.stereotype.Service;
 
+import java.util.Arrays;
 import java.util.List;
 
 
@@ -75,7 +74,7 @@ public class SupplierServiceImpl implements SupplierService {
     public int updateSupplier(SupplierBo supplierBo) {
         Supplier supplier = MapstructUtils.convert(supplierBo,Supplier.class);
         QueryWrapper<Supplier> qw = new QueryWrapper<>();
-        qw.eq("supplyertype_id",supplierBo.getSupplyertypeId());
+        qw.eq("id",supplierBo.getId());
         return supplierMapper.updateById(supplier);
     }
 
@@ -91,4 +90,13 @@ public class SupplierServiceImpl implements SupplierService {
         return supplierMapper.delete(qw);
     }
 
+    /**
+     * 根据供应商Ids导出Excel
+     * @param supplierIds
+     * @return
+     */
+    @Override
+    public List<Supplier> selectSupplierByIds(Long[] supplierIds) {
+        return MapstructUtils.convert(supplierMapper.selectVoByIds(Arrays.asList(supplierIds)),Supplier.class);
+    }
 }

BIN
ruoyi-modules/ruoyi-dataManagement/src/main/resources/excel/供应商导出模板.xlsx