xuhy
4 天以前 feea6a61a270993e5ec7899192d8719e631f70f4
业务员导出
7个文件已修改
1个文件已添加
139 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSalespersonController.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/export/TCrmSalespersonExport.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TCrmSalespersonMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TCrmSalesperson.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TCrmSalespersonService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSalespersonServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TCrmSalespersonVO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TCrmSalespersonMapper.xml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSalespersonController.java
@@ -1,6 +1,8 @@
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;
@@ -8,24 +10,31 @@
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;
@@ -219,5 +228,45 @@
        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();
            }
        }
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/export/TCrmSalespersonExport.java
New file
@@ -0,0 +1,32 @@
package com.ruoyi.system.export;
import cn.afterturn.easypoi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@ApiModel(value = "crm业务员管理导出")
public class TCrmSalespersonExport implements Serializable {
    @Excel(name = "业务员姓名", width = 20)
    private String salespersonName;
    @Excel(name = "联系电话", width = 20)
    private String phone;
    @Excel(name = "所属分公司", width = 20)
    private String branchName;
    @Excel(name = "剩余积分数", width = 20)
    private Integer userPoints;
    @Excel(name = "分佣比例", width = 20)
    private BigDecimal moneyCommission;
    @Excel(name = "获取1积分所需采购金额", width = 20)
    private BigDecimal pointsCommission;
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TCrmSalespersonMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.export.TCrmSalespersonExport;
import com.ruoyi.system.model.TCrmSalesperson;
import com.ruoyi.system.query.TCrmSalespersonQuery;
import com.ruoyi.system.vo.TCrmSalespersonVO;
@@ -26,4 +27,12 @@
     * @return
     */
    List<TCrmSalespersonVO> pageList(@Param("query") TCrmSalespersonQuery query, @Param("pageInfo")PageInfo<TCrmSalespersonVO> pageInfo);
    /**
     * 导出列表查询
     *
     * @param query 列表查询参数
     * @return
     */
    List<TCrmSalespersonExport> listExport(@Param("query")TCrmSalespersonQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TCrmSalesperson.java
@@ -1,5 +1,6 @@
package com.ruoyi.system.model;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
ruoyi-system/src/main/java/com/ruoyi/system/service/TCrmSalespersonService.java
@@ -5,9 +5,12 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.dto.TCrmBranchDTO;
import com.ruoyi.system.dto.TCrmSalespersonDTO;
import com.ruoyi.system.export.TCrmSalespersonExport;
import com.ruoyi.system.model.TCrmSalesperson;
import com.ruoyi.system.query.TCrmSalespersonQuery;
import com.ruoyi.system.vo.TCrmSalespersonVO;
import java.util.List;
/**
 * <p>
@@ -46,4 +49,12 @@
     * @return
     */
    boolean isExit(TCrmSalespersonDTO dto);
    /**
     * crm业务员管理信息导出
     *
     * @param query 查询参数
     */
    List<TCrmSalespersonExport> listExport(TCrmSalespersonQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSalespersonServiceImpl.java
@@ -8,6 +8,7 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.dto.TCrmSalespersonDTO;
import com.ruoyi.system.export.TCrmSalespersonExport;
import com.ruoyi.system.mapper.TCrmSalespersonMapper;
import com.ruoyi.system.model.TCrmBranch;
import com.ruoyi.system.model.TCrmBranchArea;
@@ -104,4 +105,10 @@
            return this.count(Wrappers.lambdaQuery(TCrmSalesperson.class).eq(TCrmSalesperson::getSalespersonName, dto.getSalespersonName())) > 0;
        }
    }
    @Override
    public List<TCrmSalespersonExport> listExport(TCrmSalespersonQuery query) {
        List<TCrmSalespersonExport> list = this.baseMapper.listExport(query);
        return list;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TCrmSalespersonVO.java
@@ -1,5 +1,6 @@
package com.ruoyi.system.vo;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.ruoyi.system.model.TCrmSalesperson;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
ruoyi-system/src/main/resources/mapper/system/TCrmSalespersonMapper.xml
@@ -47,5 +47,28 @@
        </where>
        ORDER BY tcs.create_time DESC
    </select>
    <select id="listExport" resultType="com.ruoyi.system.export.TCrmSalespersonExport">
        select
        tcs.id, tcs.user_id, tcs.salesperson_name, tcs.phone, tcs.branch_id, tcs.money_commission, tcs.points_commission, tcs.user_points,
        tcs.status, tcs.create_time, tcs.update_time, tcs.create_by, tcs.update_by, tcs.disabled, tcb.branch_name
        from t_crm_salesperson tcs
        left join t_crm_branch tcb on tcs.branch_id = tcb.id
        <where>
            <if test="query.salespersonName != null and query.salespersonName != ''">
                and tcs.salesperson_name like concat('%',#{query.salespersonName},'%')
            </if>
            <if test="query.phone != null and query.phone != ''">
                and tcs.phone like concat('%',#{query.phone},'%')
            </if>
            <if test="query.branchId != null and query.branchId != ''">
                and tcs.branch_id = #{query.branchId}
            </if>
            <if test="query.status != null">
                and tcs.status = #{query.status}
            </if>
            AND tcs.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY tcs.create_time DESC
    </select>
</mapper>