| src/main/java/com/example/controller/DataExcelController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/example/controller/DepartmentController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/example/controller/IndexController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/example/service/DataExcelService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/example/service/impl/DataExcelServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | 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());