huminmin
6 天以前 b693c7b6a73ea83a4bfc66f3846e0d9517af2642
导入供应商增加类型,并校验
已修改5个文件
45 ■■■■■ 文件已修改
src/main/java/com/ruoyi/basic/controller/SupplierManageController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/excel/SupplierManageExcelDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/pojo/SupplierManage.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/service/ISupplierService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/controller/SupplierManageController.java
@@ -8,6 +8,7 @@
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.framework.web.domain.R;
import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
import org.springframework.util.CollectionUtils;
@@ -102,12 +103,8 @@
     */
    @PostMapping("/import")
    @Log(title = "供应商导入", businessType = BusinessType.IMPORT)
    public AjaxResult importData(MultipartFile file) {
        Boolean b = supplierService.importData(file);
        if (b) {
            return AjaxResult.success("导入成功");
        }
        return AjaxResult.error("导入失败");
    public R importData(MultipartFile file) throws Exception {
       return supplierService.importData(file);
    }
src/main/java/com/ruoyi/basic/excel/SupplierManageExcelDto.java
@@ -15,6 +15,9 @@
    @Excel(name = "供应商名称")
    private String supplierName;
    @Excel(name = "供应商类型")
    private String supplierType;
    @Excel(name = "纳税人识别号")
    private String taxpayerIdentificationNum;
src/main/java/com/ruoyi/basic/pojo/SupplierManage.java
@@ -20,6 +20,11 @@
    @Excel(name = "供应商名称")
    private String supplierName;
    @Schema(description = "供应商类型")
    @TableField(value = "supplier_type")
    @Excel(name = "供应商类型")
    private String supplierType;
    @Schema(description = "纳税人识别号")
    @Excel(name = "纳税人识别号")
    private String taxpayerIdentificationNum;
@@ -79,10 +84,6 @@
    @Schema(description = "租户ID")
    @TableField(fill = FieldFill.INSERT)
    private Long tenantId;
    @Schema(description = "供应商类型")
    @TableField(value = "supplier_type")
    private String supplierType;
    @TableField(fill = FieldFill.INSERT)
    private Long deptId;
src/main/java/com/ruoyi/basic/service/ISupplierService.java
@@ -6,6 +6,7 @@
import com.ruoyi.basic.dto.SupplierManageDto;
import com.ruoyi.basic.pojo.SupplierManage;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.framework.web.domain.R;
import org.springframework.web.multipart.MultipartFile;
import jakarta.servlet.http.HttpServletResponse;
@@ -56,5 +57,5 @@
     */
    void supplierExport(HttpServletResponse response, SupplierManageDto supplierManageDto);
    Boolean importData(MultipartFile file);
    R importData(MultipartFile file);
}
src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.dto.SupplierManageDto;
@@ -12,6 +13,8 @@
import com.ruoyi.basic.service.ISupplierService;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.project.system.mapper.SysDictDataMapper;
import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
import com.ruoyi.purchase.pojo.PurchaseLedger;
import jakarta.servlet.http.HttpServletResponse;
@@ -30,6 +33,7 @@
    private final SupplierManageMapper supplierMapper;
    private final PurchaseLedgerMapper purchaseLedgerMapper;
    private final SysDictDataMapper sysDictDataMapper;
    /**
     * 供应商新增
@@ -107,13 +111,22 @@
    }
    @Override
    public Boolean importData(MultipartFile file) {
    public R importData(MultipartFile file) {
        try {
            ExcelUtil<SupplierManageExcelDto> util = new ExcelUtil<SupplierManageExcelDto>(SupplierManageExcelDto.class);
            List<SupplierManageExcelDto> list = util.importExcel(file.getInputStream());
            if (CollectionUtils.isEmpty(list)) {
                return R.fail("模板错误或导入数据为空");
            }
            ArrayList<SupplierManage> supplierManages = new ArrayList<>();
            list.stream().forEach(dto -> {
                // 供应商类型是否存在 (甲乙丙丁)
                String supplierType = dto.getSupplierType();
                if (!supplierType.equals("甲") && !supplierType.equals("乙") && !supplierType.equals("丙") && !supplierType.equals("丁")) {
                    throw new RuntimeException("供应商类型 " + supplierType + " 不存在!");
                }
                SupplierManage supplierManage = new SupplierManage();
                BeanUtils.copyProperties(dto,supplierManage);
                supplierManage.setMaintainTime(LocalDate.now());
@@ -124,10 +137,10 @@
            });
            this.saveOrUpdateBatch(supplierManages);
            return true;
            return R.ok("导入成功");
        }catch (Exception e){
            e.printStackTrace();
            return R.fail(e.getMessage());
        }
        return false;
    }
}