使用oracle做的数据上传系统后台
kongdeqiang
2026-03-24 f2cbc818993dab5646c99886810b17c6c79668ee
feat: 去除权限控制
5个文件已修改
64 ■■■■ 已修改文件
src/main/java/com/example/controller/DataExcelController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/controller/DepartmentController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/controller/IndexController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/service/DataExcelService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/service/impl/DataExcelServiceImpl.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/controller/DataExcelController.java
@@ -38,10 +38,8 @@
            @RequestParam(required = false) String unitCode,
            @RequestParam(required = false) String transactionNo,
            @RequestParam(required = false) String accountingPeriod) {
        String currentDeptCode = UserContext.getCurrentDeptCode();
        List<String> permissionDeptCodes = departmentService.getChildDeptCodes(currentDeptCode);
        IPage<DataExcel> page = dataExcelService.getDataExcelPage(current, size, unitCode, transactionNo, accountingPeriod, permissionDeptCodes);
        return Result.success(new PageResult<>(page.getTotal(), current, size, page.getRecords()));
        IPage<DataExcel> page2 = dataExcelService.getDataExcelPageNew(current, size, unitCode, transactionNo, accountingPeriod);
        return Result.success(new PageResult<>(page2.getTotal(), current, size, page2.getRecords()));
    }
    @GetMapping("/{id}")
src/main/java/com/example/controller/DepartmentController.java
@@ -3,6 +3,7 @@
import com.example.common.Result;
import com.example.entity.Department;
import com.example.security.UserContext;
import com.example.service.DataExcelService;
import com.example.service.DepartmentService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -17,6 +18,9 @@
    @Autowired
    private DepartmentService departmentService;
    @Autowired
    private DataExcelService dataExcelService;
    @GetMapping("/list")
    public Result<List<Department>> list() {
        String currentDeptCode = UserContext.getCurrentDeptCode();
@@ -25,8 +29,7 @@
    @GetMapping("/tree")
    public Result<List<Department>> tree() {
        String currentDeptCode = UserContext.getCurrentDeptCode();
        return Result.success(departmentService.getDepartmentTreeWithPermission(currentDeptCode));
        return Result.success(dataExcelService.getDepartmentTree());
    }
    @GetMapping("/{id}")
src/main/java/com/example/controller/IndexController.java
@@ -1,7 +1,10 @@
package com.example.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.common.PageResult;
import com.example.common.Result;
import com.example.entity.DataExcel;
import com.example.entity.Department;
import com.example.entity.User;
import com.example.service.DataExcelService;
import com.example.service.DepartmentService;
@@ -36,9 +39,9 @@
    @RequestMapping("/getCount")
    public Result<Map> getCount(){
        int userSize = userService.list().size();
        int deptSize = departmentService.list().size();
        int dataSize = dataExcelService.list().size();
        int userSize = userService.list(new QueryWrapper<User>().lambda().eq(User::getDeleted, 0)).size();
        int deptSize = departmentService.list(new QueryWrapper<Department>().lambda().eq(Department::getDeleted, 0)).size();
        int dataSize = dataExcelService.list(new QueryWrapper<DataExcel>().lambda().eq(DataExcel::getDeleted, 0)).size();
        Map<String, Object> map = new HashMap<>();
        map.put("userSize", userSize);
        map.put("deptSize", deptSize);
src/main/java/com/example/service/DataExcelService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.entity.DataExcel;
import com.example.entity.Department;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -12,4 +13,9 @@
    IPage<DataExcel> getDataExcelPage(Long current, Long size, String unitCode, String transactionNo, String accountingPeriod, List<String> permissionDeptCodes);
    String importData(MultipartFile file, List<String> permissionDeptCodes);
    IPage<DataExcel> getDataExcelPageNew(Long current, Long size, String unitCode, String transactionNo, String accountingPeriod);
    List<Department> getDepartmentTree();
}
src/main/java/com/example/service/impl/DataExcelServiceImpl.java
@@ -4,10 +4,12 @@
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
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.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.entity.DataExcel;
import com.example.entity.Department;
import com.example.excel.DataExcelImport;
import com.example.mapper.DataExcelMapper;
import com.example.service.DataExcelService;
@@ -36,6 +38,35 @@
    }
    @Override
    public IPage<DataExcel> getDataExcelPageNew(Long current, Long size, String unitCode, String transactionNo, String accountingPeriod) {
        Page<DataExcel> page = new Page<>(current, size);
        page.setOptimizeJoinOfCountSql(false);
        page.setOptimizeCountSql(false);
        LambdaQueryWrapper<DataExcel> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(unitCode != null && !unitCode.isEmpty(), DataExcel::getUnitCode, unitCode)
                .like(transactionNo != null && !transactionNo.isEmpty(), DataExcel::getTransactionNo, transactionNo)
                .eq(accountingPeriod != null && !accountingPeriod.isEmpty(), DataExcel::getAccountingPeriod, accountingPeriod)
                .orderByDesc(DataExcel::getId);
        return page(page, wrapper);
    }
    @Override
    public List<Department> getDepartmentTree() {
        QueryWrapper<DataExcel> wrapper = new QueryWrapper<>();
        // 关键:两个字段去重(DISTINCT 作用于这两个字段的组合)
       wrapper.select("distinct unit_code, unit_name");
        List<DataExcel> list = baseMapper.selectList(wrapper);
        List<Department> resultList = new ArrayList<>();
        for (DataExcel dataExcel : list) {
            Department department = new Department();
            department.setDeptCode(dataExcel.getUnitCode());
            department.setDeptName(dataExcel.getUnitName());
            resultList.add(department);
        }
        return resultList;
    }
    @Override
    public String importData(MultipartFile file, List<String> permissionDeptCodes) {
        List<DataExcel> insertList = new ArrayList<>();
        List<DataExcel> updateList = new ArrayList<>();
@@ -51,11 +82,6 @@
                        errorMsgs.add("第" + data.getSeqNo() + "行单位编码为空");
                        return;
                    }
//                    if (!permissionDeptCodes.contains(data.getUnitCode())) {
//                        errorMsgs.add("第" + data.getSeqNo() + "行无权限导入部门编码: " + data.getUnitCode());
//                        return;
//                    }
                    DataExcel entity = new DataExcel();
                    entity.setSortNo(data.getSortNo());
                    entity.setSeqNo(data.getSeqNo());