huminmin
3 天以前 5ba8934c35a1ad0378b09f397ea2f285ceac300a
修改厂家导入
已修改3个文件
75 ■■■■■ 文件已修改
src/main/java/com/ruoyi/stock/controller/ManufacturerController.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/stock/service/ManufacturerService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/stock/service/impl/ManufacturerServiceImpl.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/stock/controller/ManufacturerController.java
@@ -4,7 +4,7 @@
import com.ruoyi.common.utils.poi.ExcelUtil;
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 com.ruoyi.stock.dto.ManufacturerDto;
import com.ruoyi.stock.execl.ManufacturerExcelDto;
import com.ruoyi.stock.pojo.Manufacturer;
@@ -43,9 +43,9 @@
    @PostMapping("/add")
    @Log(title = "厂家-新增", businessType = BusinessType.INSERT)
    @Operation(summary = "新增厂家")
    public AjaxResult add(@RequestBody Manufacturer manufacturer) {
    public R add(@RequestBody Manufacturer manufacturer) {
        manufacturerService.saveManufacturer(manufacturer);
        return AjaxResult.success();
        return R.ok();
    }
    /**
@@ -56,12 +56,12 @@
    @DeleteMapping("/del")
    @Log(title = "厂家-删除", businessType = BusinessType.DELETE)
    @Operation(summary = "删除厂家")
    public AjaxResult delManufacturer(@RequestBody List<Long> ids) {
    public R delManufacturer(@RequestBody List<Long> ids) {
        if(CollectionUtils.isEmpty(ids)){
            return AjaxResult.error("请选择至少一条数据");
            return R.fail("请选择至少一条数据");
        }
        manufacturerService.delManufacturer(ids);
        return AjaxResult.success();
        return R.ok();
    }
    /**
@@ -72,8 +72,8 @@
    @GetMapping("/{id}")
    @Log(title = "厂家-详情", businessType = BusinessType.OTHER)
    @Operation(summary = "厂家详情")
    public AjaxResult manufacturerDetail(@PathVariable("id") Long id) {
        return AjaxResult.success(manufacturerService.manufacturerDetail(id));
    public R manufacturerDetail(@PathVariable("id") Long id) {
        return R.ok(manufacturerService.manufacturerDetail(id));
    }
    /**
@@ -84,9 +84,9 @@
    @PostMapping("/update")
    @Log(title = "厂家-修改", businessType = BusinessType.UPDATE)
    @Operation(summary = "修改厂家")
    public AjaxResult update(@RequestBody Manufacturer manufacturer) {
    public R update(@RequestBody Manufacturer manufacturer) {
        manufacturerService.manufacturerUpdate(manufacturer);
        return AjaxResult.success();
        return R.ok();
    }
    /**
@@ -98,8 +98,8 @@
    @GetMapping("/listPage")
    @Log(title = "厂家-分页查询", businessType = BusinessType.OTHER)
    @Operation(summary = "厂家分页查询")
    public AjaxResult manufacturerListPage(Page page, ManufacturerDto manufacturerDto) {
        return AjaxResult.success(manufacturerService.manufacturerListPage(page, manufacturerDto));
    public R manufacturerListPage(Page page, ManufacturerDto manufacturerDto) {
        return R.ok(manufacturerService.manufacturerListPage(page, manufacturerDto));
    }
    /**
@@ -132,12 +132,8 @@
    @PostMapping("/import")
    @Log(title = "厂家-导入", businessType = BusinessType.IMPORT)
    @Operation(summary = "导入厂家")
    public AjaxResult importData(MultipartFile file) {
        Boolean b = manufacturerService.importData(file);
        if (b) {
            return AjaxResult.success("导入成功");
        }
        return AjaxResult.error("导入失败");
    public R importData(MultipartFile file) {
        return manufacturerService.importData(file);
    }
    /**
@@ -147,7 +143,7 @@
    @GetMapping("/getOptions")
    @Log(title = "厂家-选项接口", businessType = BusinessType.OTHER)
    @Operation(summary = "获取厂家选项")
    public AjaxResult getOptions() {
        return AjaxResult.success(manufacturerService.list());
    public R getOptions() {
        return R.ok(manufacturerService.list());
    }
}
src/main/java/com/ruoyi/stock/service/ManufacturerService.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.stock.dto.ManufacturerDto;
import com.ruoyi.stock.pojo.Manufacturer;
import jakarta.servlet.http.HttpServletResponse;
@@ -67,5 +69,5 @@
     * @param file
     * @return
     */
    Boolean importData(MultipartFile file);
    R importData(MultipartFile file);
}
src/main/java/com/ruoyi/stock/service/impl/ManufacturerServiceImpl.java
@@ -10,6 +10,10 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.stock.dto.ManufacturerDto;
import com.ruoyi.stock.execl.ManufacturerExcelDto;
import com.ruoyi.stock.mapper.ManufacturerMapper;
@@ -43,6 +47,7 @@
    private final StockInventoryMapper stockInventoryMapper;
    private final ManufacturerMapper manufacturerMapper;
    private final SysUserMapper sysUserMapper;
    /**
     * 厂商新增
@@ -53,7 +58,7 @@
        LambdaQueryWrapper<Manufacturer> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Manufacturer::getName,manufacturer.getName());
        if (baseMapper.selectCount(queryWrapper) > 0) {
            throw new RuntimeException("供应商已存在");
            throw new RuntimeException("厂家已存在");
        }
        baseMapper.insert(manufacturer);
@@ -109,7 +114,7 @@
    public void manufacturerExport(HttpServletResponse response, ManufacturerDto manufacturerDto) {
        List<ManufacturerExcelDto> list = manufacturerMapper.manufacturerExportList(manufacturerDto);
        ExcelUtil<ManufacturerExcelDto> util = new ExcelUtil<>(ManufacturerExcelDto.class);
        util.exportExcel(response, list, "厂商数据");
        util.exportExcel(response, list, "厂家数据");
    }
    /**
@@ -117,23 +122,39 @@
     */
    @Override
    @Transactional
    public Boolean importData(MultipartFile file) {
    public R importData(MultipartFile file) {
        try {
            ExcelUtil<ManufacturerExcelDto> util = new ExcelUtil<>(ManufacturerExcelDto.class);
            List<ManufacturerExcelDto> list = util.importExcel(file.getInputStream());
            ArrayList<Manufacturer> manufacturers = new ArrayList<>();
            list.stream().forEach(dto -> {
                Manufacturer manufacturer = new Manufacturer();
                BeanUtils.copyProperties(dto,manufacturer);
                BeanUtils.copyProperties(dto, manufacturer);
                manufacturer.setMaintainTime(LocalDate.now());
                manufacturer.setMaintainUserId(SecurityUtils.getLoginUser().getUser().getUserId());
                // 检查厂家名称是否重复
                LambdaQueryWrapper<Manufacturer> queryWrapper = new LambdaQueryWrapper<>();
                queryWrapper.eq(Manufacturer::getName, manufacturer.getName());
                if (baseMapper.selectCount(queryWrapper) > 0) {
                    throw new RuntimeException("厂家名称已存在: " + manufacturer.getName());
                }
                if (StringUtils.isEmpty(dto.getMaintainUserName())) {
                    manufacturer.setMaintainUserId(SecurityUtils.getLoginUser().getUser().getUserId());
                } else {
                    SysUser sysUser = sysUserMapper.selectOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getNickName, dto.getMaintainUserName()));
                    if (sysUser == null) {
                        throw new RuntimeException("维护人不存在: " + dto.getMaintainUserName());
                    }
                    manufacturer.setMaintainUserId(sysUser.getUserId());
                }
                manufacturers.add(manufacturer);
            });
            this.saveOrUpdateBatch(manufacturers);
            return true;
            return R.ok("导入成功");
        } catch (Exception e) {
            log.error("导入失败", e);
            return false;
            return R.fail("导入失败: " + e.getMessage());
        }
    }
}