From feea6a61a270993e5ec7899192d8719e631f70f4 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期六, 13 九月 2025 14:58:02 +0800 Subject: [PATCH] 业务员导出 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSalespersonController.java | 86 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 79 insertions(+), 7 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSalespersonController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSalespersonController.java index 953ba3a..6b5a85d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSalespersonController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSalespersonController.java @@ -1,29 +1,40 @@ package com.ruoyi.web.controller.api; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.WebUtils; +import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.TCrmSalespersonDTO; -import com.ruoyi.system.model.TCrmBranch; -import com.ruoyi.system.model.TCrmChangePoints; -import com.ruoyi.system.model.TCrmSalesperson; +import com.ruoyi.system.export.TCrmSalespersonExport; +import com.ruoyi.system.model.*; import com.ruoyi.system.query.TCrmSalespersonQuery; +import com.ruoyi.system.query.TErpGoodsQuery; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.TCrmBranchService; import com.ruoyi.system.service.TCrmChangePointsService; import com.ruoyi.system.service.TCrmSalespersonService; import com.ruoyi.system.vo.TCrmSalespersonVO; +import com.ruoyi.system.vo.TErpGoodsVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URLEncoder; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -45,12 +56,14 @@ private final ISysUserService sysUserService; private final TCrmChangePointsService crmChangePointsService; private final TCrmBranchService crmBranchService; + private final TokenService tokenService; @Autowired - public TCrmSalespersonController(TCrmSalespersonService crmSalespersonService, ISysUserService sysUserService, TCrmChangePointsService crmChangePointsService, TCrmBranchService crmBranchService) { + public TCrmSalespersonController(TCrmSalespersonService crmSalespersonService, ISysUserService sysUserService, TCrmChangePointsService crmChangePointsService, TCrmBranchService crmBranchService, TokenService tokenService) { this.crmSalespersonService = crmSalespersonService; this.sysUserService = sysUserService; this.crmChangePointsService = crmChangePointsService; this.crmBranchService = crmBranchService; + this.tokenService = tokenService; } /** @@ -59,6 +72,15 @@ @ApiOperation(value = "获取crm业务员管理分页列表") @PostMapping(value = "/pageList") public R<PageInfo<TCrmSalespersonVO>> pageList(@RequestBody TCrmSalespersonQuery query) { + Long userId = tokenService.getLoginUser().getUser().getUserId(); + Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); + if(roleType == 2){ + // 查询分公司信息 + TCrmBranch crmBranch = crmBranchService.getOne(Wrappers.lambdaQuery(TCrmBranch.class) + .eq(TCrmBranch::getUserId, userId) + .last("LIMIT 1")); + query.setBranchId(crmBranch.getId()); + } return R.ok(crmSalespersonService.pageList(query)); } @@ -68,9 +90,19 @@ @ApiOperation(value = "获取crm业务员管理列表") @PostMapping(value = "/list") public R<List<TCrmSalesperson>> list() { - return R.ok(crmSalespersonService.list(Wrappers.lambdaQuery(TCrmSalesperson.class) - .eq(TCrmSalesperson::getStatus,1) - .orderByDesc(TCrmSalesperson::getCreateTime))); + Long userId = tokenService.getLoginUser().getUser().getUserId(); + Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); + LambdaQueryWrapper<TCrmSalesperson> wrapper = new LambdaQueryWrapper<>(); + if(roleType == 2){ + // 查询分公司信息 + TCrmBranch crmBranch = crmBranchService.getOne(Wrappers.lambdaQuery(TCrmBranch.class) + .eq(TCrmBranch::getUserId, userId) + .last("LIMIT 1")); + wrapper.eq(TCrmSalesperson::getBranchId,crmBranch.getId()); + } + wrapper.eq(TCrmSalesperson::getStatus,1) + .orderByDesc(TCrmSalesperson::getCreateTime); + return R.ok(crmSalespersonService.list(wrapper)); } /** @@ -195,6 +227,46 @@ crmChangePointsService.save(changePoints); return R.ok(); } + + @Log(title = "crm业务员管理信息-crm业务员管理信息导出", businessType = BusinessType.EXPORT) + @ApiOperation(value = "crm业务员管理信息导出") + @PostMapping("/export") + public void listExport(@RequestBody TCrmSalespersonQuery query) + { + Long userId = tokenService.getLoginUser().getUser().getUserId(); + Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); + if(roleType == 2){ + // 查询分公司信息 + TCrmBranch crmBranch = crmBranchService.getOne(Wrappers.lambdaQuery(TCrmBranch.class) + .eq(TCrmBranch::getUserId, userId) + .last("LIMIT 1")); + query.setBranchId(crmBranch.getId()); + } + List<TCrmSalespersonExport> crmSalespersonExports = crmSalespersonService.listExport(query); + Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TCrmSalespersonExport.class, crmSalespersonExports); + HttpServletResponse response = WebUtils.response(); + assert response != null; + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf-8"); + ServletOutputStream outputStream = null; + try { + String fileName = URLEncoder.encode("业务员管理信息.xls", "utf-8"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName); + response.setContentType("application/vnd.ms-excel;charset=UTF-8"); + response.setHeader("Pragma", "no-cache"); + response.setHeader("Cache-Control", "no-cache"); + outputStream = response.getOutputStream(); + workbook.write(outputStream); + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + outputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } } -- Gitblit v1.7.1