liujie
2 天以前 09d4077e7343fa3105ae1bed901c0f10027f97b4
Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/haizhentong
1个文件已删除
6个文件已修改
3个文件已添加
765 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmChangePointsController.java 170 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/export/OpticalInspectionExport.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/export/TCrmChangePointsBranchExport.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/export/TCrmChangePointsClinicExport.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/export/TCrmChangePointsSalespersonExport.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TCrmChangePointsMapper.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TCrmChangePointsService.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmChangePointsServiceImpl.java 178 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TCrmChangePointsVO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TCrmChangePointsMapper.xml 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmChangePointsController.java
@@ -1,22 +1,42 @@
package com.ruoyi.web.controller.api;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
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.enums.BusinessType;
import com.ruoyi.common.utils.WebUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.export.TCrmChangePointsBranchExport;
import com.ruoyi.system.export.TCrmChangePointsClinicExport;
import com.ruoyi.system.export.TCrmChangePointsSalespersonExport;
import com.ruoyi.system.export.TCrmSalespersonExport;
import com.ruoyi.system.model.TCrmBranch;
import com.ruoyi.system.query.TCrmBranchQuery;
import com.ruoyi.system.query.TCrmChangePointsQuery;
import com.ruoyi.system.query.TCrmSalespersonQuery;
import com.ruoyi.system.service.*;
import com.ruoyi.system.vo.TCrmBranchVO;
import com.ruoyi.system.vo.TCrmChangePointsVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
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;
/**
 * <p>
@@ -43,27 +63,135 @@
    /**
     * 分公司积分变更明细分页列表
     */
//    @ApiOperation(value = "分公司积分变更明细分页列表")
//    @PostMapping(value = "/pageListBranch")
//    public R<PageInfo<TCrmChangePointsVO>> pageListBranch(@RequestBody TCrmChangePointsQuery query) {
//        return R.ok(crmChangePointsService.pageListBranch(query));
//    }
//    /**
//     * 业务员积分变更明细分页列表
//     */
//    @ApiOperation(value = "业务员积分变更明细分页列表")
//    @PostMapping(value = "/pageListBranch")
//    public R<PageInfo<TCrmChangePointsVO>> pageListSalesperson(@RequestBody TCrmChangePointsQuery query) {
//        return R.ok(crmChangePointsService.pageListSalesperson(query));
//    }
//    /**
//     * 诊所积分变更明细分页列表
//     */
//    @ApiOperation(value = "诊所积分变更明细分页列表")
//    @PostMapping(value = "/pageListClinic")
//    public R<PageInfo<TCrmChangePointsVO>> pageListClinic(@RequestBody TCrmChangePointsQuery query) {
//        return R.ok(crmChangePointsService.pageListClinic(query));
//    }
    @ApiOperation(value = "分公司积分变更明细分页列表")
    @PostMapping(value = "/pageListBranch")
    public R<PageInfo<TCrmChangePointsVO>> pageListBranch(@RequestBody TCrmChangePointsQuery query) {
        return R.ok(crmChangePointsService.pageListBranch(query));
    }
    /**
     * 业务员积分变更明细分页列表
     */
    @ApiOperation(value = "业务员积分变更明细分页列表")
    @PostMapping(value = "/pageListSalesperson")
    public R<PageInfo<TCrmChangePointsVO>> pageListSalesperson(@RequestBody TCrmChangePointsQuery query) {
        return R.ok(crmChangePointsService.pageListSalesperson(query));
    }
    /**
     * 诊所积分变更明细分页列表
     */
    @ApiOperation(value = "诊所积分变更明细分页列表")
    @PostMapping(value = "/pageListClinic")
    public R<PageInfo<TCrmChangePointsVO>> pageListClinic(@RequestBody TCrmChangePointsQuery query) {
        return R.ok(crmChangePointsService.pageListClinic(query));
    }
    @Log(title = "修改积分记录-分公司积分变更明细导出", businessType = BusinessType.EXPORT)
    @ApiOperation(value = "分公司积分变更明细导出")
    @PostMapping("/exportBranch")
    public void listExportBranch(@RequestBody TCrmChangePointsQuery query){
        List<TCrmChangePointsBranchExport> crmChangePointsBranchExports = crmChangePointsService.pageListBranchExport(query);
        for (TCrmChangePointsBranchExport crmChangePointsBranchExport : crmChangePointsBranchExports) {
            if(Objects.nonNull(crmChangePointsBranchExport.getPayMoney())){
                crmChangePointsBranchExport.setPayMoneyStr("¥"+crmChangePointsBranchExport.getPayMoney());
            }
            crmChangePointsBranchExport.setCreateTimeStr(crmChangePointsBranchExport.getCreateTime().toLocalDate().toString());
        }
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TCrmChangePointsBranchExport.class, crmChangePointsBranchExports);
        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();
            }
        }
    }
    @Log(title = "修改积分记录-业务员积分变更明细导出", businessType = BusinessType.EXPORT)
    @ApiOperation(value = "业务员积分变更明细导出")
    @PostMapping("/exportSalesperson")
    public void listExportSalesperson(@RequestBody TCrmChangePointsQuery query){
        List<TCrmChangePointsSalespersonExport> crmChangePointsSalespersonExports = crmChangePointsService.pageListSalespersonExport(query);
        for (TCrmChangePointsSalespersonExport crmChangePointsSalespersonExport : crmChangePointsSalespersonExports) {
            if(Objects.nonNull(crmChangePointsSalespersonExport.getPayMoney())){
                crmChangePointsSalespersonExport.setPayMoneyStr("¥"+crmChangePointsSalespersonExport.getPayMoney());
            }
            crmChangePointsSalespersonExport.setCreateTimeStr(crmChangePointsSalespersonExport.getCreateTime().toLocalDate().toString());
        }
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TCrmChangePointsSalespersonExport.class, crmChangePointsSalespersonExports);
        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();
            }
        }
    }
    @Log(title = "修改积分记录-诊所积分变更明细导出", businessType = BusinessType.EXPORT)
    @ApiOperation(value = "诊所积分变更明细导出")
    @PostMapping("/exportClinic")
    public void listExportClinic(@RequestBody TCrmChangePointsQuery query){
        List<TCrmChangePointsClinicExport> crmChangePointsClinicExports = crmChangePointsService.pageListClinicExport(query);
        for (TCrmChangePointsClinicExport crmChangePointsClinicExport : crmChangePointsClinicExports) {
            if(Objects.nonNull(crmChangePointsClinicExport.getPayMoney())){
                crmChangePointsClinicExport.setPayMoneyStr("¥"+crmChangePointsClinicExport.getPayMoney());
            }
            crmChangePointsClinicExport.setCreateTimeStr(crmChangePointsClinicExport.getCreateTime().toLocalDate().toString());
        }
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TCrmChangePointsClinicExport.class, crmChangePointsClinicExports);
        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/OpticalInspectionExport.java
File was deleted
ruoyi-system/src/main/java/com/ruoyi/system/export/TCrmChangePointsBranchExport.java
New file
@@ -0,0 +1,36 @@
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;
import java.time.LocalDateTime;
@Data
@ApiModel(value = "分公司积分变更明细导出TCrmChangePointsBranchExport")
public class TCrmChangePointsBranchExport implements Serializable {
    @Excel(name = "分公司名称",width = 20)
    private String branchName;
    @Excel(name = "变更类型",width = 20,replace = {"增加_1","减少_2"})
    private Integer changeType;
    @Excel(name = "变更原因",width = 20,replace = {"诊所采购_1","商城兑换_2","管理员修改_3"})
    private Integer changeReason;
    @Excel(name = "变更数量",width = 20)
    private Integer changeValue;
    @Excel(name = "采购单号",width = 20)
    private String procurementCode;
    @Excel(name = "采购诊所",width = 20)
    private String clinicName;
    @Excel(name = "采购金额",width = 20)
    private String payMoneyStr;
    private BigDecimal payMoney;
    @Excel(name = "变更时间",width = 20)
    private String createTimeStr;
    private LocalDateTime createTime;
    @Excel(name = "备注",width = 20)
    private String remarks;
    private String procurementId;
}
ruoyi-system/src/main/java/com/ruoyi/system/export/TCrmChangePointsClinicExport.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;
import java.time.LocalDateTime;
@Data
@ApiModel(value = "诊所积分变更明细导出TCrmChangePointsClinicExport")
public class TCrmChangePointsClinicExport implements Serializable {
    @Excel(name = "诊所名称",width = 20)
    private String clinicName;
    @Excel(name = "变更类型",width = 20,replace = {"增加_1","减少_2"})
    private Integer changeType;
    @Excel(name = "变更原因",width = 20,replace = {"诊所采购_1","商城兑换_2","管理员修改_3"})
    private Integer changeReason;
    @Excel(name = "变更数量",width = 20)
    private Integer changeValue;
    @Excel(name = "采购单号",width = 20)
    private String procurementCode;
    @Excel(name = "采购金额",width = 20)
    private String payMoneyStr;
    private BigDecimal payMoney;
    @Excel(name = "变更时间",width = 20)
    private String createTimeStr;
    private LocalDateTime createTime;
    private String procurementId;
}
ruoyi-system/src/main/java/com/ruoyi/system/export/TCrmChangePointsSalespersonExport.java
New file
@@ -0,0 +1,36 @@
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;
import java.time.LocalDateTime;
@Data
@ApiModel(value = "业务员积分变更明细导出TCrmChangePointsSalespersonExport")
public class TCrmChangePointsSalespersonExport implements Serializable {
    @Excel(name = "业务员名称",width = 20)
    private String salespersonName;
    @Excel(name = "变更类型",width = 20,replace = {"增加_1","减少_2"})
    private Integer changeType;
    @Excel(name = "变更原因",width = 20,replace = {"诊所采购_1","商城兑换_2","管理员修改_3"})
    private Integer changeReason;
    @Excel(name = "变更数量",width = 20)
    private Integer changeValue;
    @Excel(name = "采购单号",width = 20)
    private String procurementCode;
    @Excel(name = "采购诊所",width = 20)
    private String clinicName;
    @Excel(name = "采购金额",width = 20)
    private String payMoneyStr;
    private BigDecimal payMoney;
    @Excel(name = "变更时间",width = 20)
    private String createTimeStr;
    private LocalDateTime createTime;
    @Excel(name = "备注",width = 20)
    private String remarks;
    private String procurementId;
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TCrmChangePointsMapper.java
@@ -1,7 +1,16 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.export.TCrmChangePointsBranchExport;
import com.ruoyi.system.export.TCrmChangePointsClinicExport;
import com.ruoyi.system.export.TCrmChangePointsSalespersonExport;
import com.ruoyi.system.model.TCrmChangePoints;
import com.ruoyi.system.query.TCrmChangePointsQuery;
import com.ruoyi.system.vo.TCrmChangePointsVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -12,5 +21,45 @@
 * @since 2025-09-02
 */
public interface TCrmChangePointsMapper extends BaseMapper<TCrmChangePoints> {
    /**
     * 分公司积分变更明细分页列表
     * @param query
     * @return
     */
    List<TCrmChangePointsVO> pageListBranch(@Param("query") TCrmChangePointsQuery query, @Param("pageInfo")PageInfo<TCrmChangePointsVO> pageInfo);
    /**
     * 业务员积分变更明细分页列表
     * @param query
     * @return
     */
    List<TCrmChangePointsVO> pageListSalesperson(@Param("query") TCrmChangePointsQuery query, @Param("pageInfo")PageInfo<TCrmChangePointsVO> pageInfo);
    /**
     * 诊所积分变更明细分页列表
     * @param query
     * @return
     */
    List<TCrmChangePointsVO> pageListClinic(@Param("query") TCrmChangePointsQuery query, @Param("pageInfo")PageInfo<TCrmChangePointsVO> pageInfo);
    /**
     * 分公司积分变更明细导出列表
     * @param query
     * @return
     */
    List<TCrmChangePointsBranchExport> pageListBranchExport(@Param("query")TCrmChangePointsQuery query);
    /**
     * 业务员积分变更明细导出列表
     * @param query
     * @return
     */
    List<TCrmChangePointsSalespersonExport> pageListSalespersonExport(@Param("query")TCrmChangePointsQuery query);
    /**
     * 诊所积分变更明细导出列表
     * @param query
     * @return
     */
    List<TCrmChangePointsClinicExport> pageListClinicExport(@Param("query")TCrmChangePointsQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TCrmChangePointsService.java
@@ -1,7 +1,16 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.export.TCrmChangePointsBranchExport;
import com.ruoyi.system.export.TCrmChangePointsClinicExport;
import com.ruoyi.system.export.TCrmChangePointsSalespersonExport;
import com.ruoyi.system.model.TCrmChangePoints;
import com.ruoyi.system.query.TCrmChangePointsQuery;
import com.ruoyi.system.query.TCrmSalespersonQuery;
import com.ruoyi.system.vo.TCrmChangePointsVO;
import java.util.List;
/**
 * <p>
@@ -13,4 +22,45 @@
 */
public interface TCrmChangePointsService extends IService<TCrmChangePoints> {
    /**
     * 分公司积分变更明细分页列表
     * @param query
     * @return
     */
    PageInfo<TCrmChangePointsVO> pageListBranch(TCrmChangePointsQuery query);
    /**
     * 业务员积分变更明细分页列表
     * @param query
     * @return
     */
    PageInfo<TCrmChangePointsVO> pageListSalesperson(TCrmChangePointsQuery query);
    /**
     * 诊所积分变更明细分页列表
     * @param query
     * @return
     */
    PageInfo<TCrmChangePointsVO> pageListClinic(TCrmChangePointsQuery query);
    /**
     * 分公司积分变更明细导出
     * @param query
     * @return
     */
    List<TCrmChangePointsBranchExport> pageListBranchExport(TCrmChangePointsQuery query);
    /**
     * 业务员积分变更明细导出
     * @param query
     * @return
     */
    List<TCrmChangePointsSalespersonExport> pageListSalespersonExport(TCrmChangePointsQuery query);
    /**
     * 诊所积分变更明细导出
     * @param query
     * @return
     */
    List<TCrmChangePointsClinicExport> pageListClinicExport(TCrmChangePointsQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmChangePointsServiceImpl.java
@@ -1,10 +1,28 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.export.TCrmChangePointsBranchExport;
import com.ruoyi.system.export.TCrmChangePointsClinicExport;
import com.ruoyi.system.export.TCrmChangePointsSalespersonExport;
import com.ruoyi.system.mapper.TCrmChangePointsMapper;
import com.ruoyi.system.mapper.TCrmClinicMapper;
import com.ruoyi.system.mapper.TErpProcurementMapper;
import com.ruoyi.system.model.TCrmChangePoints;
import com.ruoyi.system.model.TCrmClinic;
import com.ruoyi.system.model.TErpProcurement;
import com.ruoyi.system.model.TSysActivity;
import com.ruoyi.system.query.TCrmChangePointsQuery;
import com.ruoyi.system.service.TCrmChangePointsService;
import com.ruoyi.system.vo.TCrmChangePointsVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * <p>
@@ -17,4 +35,164 @@
@Service
public class TCrmChangePointsServiceImpl extends ServiceImpl<TCrmChangePointsMapper, TCrmChangePoints> implements TCrmChangePointsService {
    @Autowired
    private TErpProcurementMapper erpProcurementMapper;
    @Autowired
    private TCrmClinicMapper crmClinicMapper;
    @Override
    public PageInfo<TCrmChangePointsVO> pageListBranch(TCrmChangePointsQuery query) {
        PageInfo<TCrmChangePointsVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TCrmChangePointsVO> list = this.baseMapper.pageListBranch(query,pageInfo);
        if(CollectionUtils.isEmpty(list)){
            return pageInfo;
        }
        List<String> procurementIds = list.stream().map(TCrmChangePointsVO::getProcurementId)
                .filter(Objects::nonNull).collect(Collectors.toList());
        // 查询诊所
        List<TCrmClinic> crmClinics = crmClinicMapper.selectList(Wrappers.lambdaQuery(TCrmClinic.class));
        if(!CollectionUtils.isEmpty(procurementIds)){
            List<TErpProcurement> erpProcurements = erpProcurementMapper.selectList(Wrappers.lambdaQuery(TErpProcurement.class).in(TErpProcurement::getId, procurementIds));
            for (TCrmChangePointsVO tCrmChangePointsVO : list) {
                List<TErpProcurement> collect = erpProcurements.stream().filter(tErpProcurement -> tErpProcurement.getId().equals(tCrmChangePointsVO.getProcurementId())).collect(Collectors.toList());
                if(!CollectionUtils.isEmpty(collect)){
                    tCrmChangePointsVO.setProcurementCode(collect.get(0).getProcurementCode());
                    tCrmChangePointsVO.setPayMoney(collect.get(0).getPayMoney());
                    List<TCrmClinic> clinics = crmClinics.stream().filter(tCrmClinic -> tCrmClinic.getId().equals(collect.get(0).getClinicId())).collect(Collectors.toList());
                    if(!CollectionUtils.isEmpty(clinics)){
                        tCrmChangePointsVO.setClinicName(clinics.get(0).getClinicName());
                    }
                }
            }
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
    @Override
    public PageInfo<TCrmChangePointsVO> pageListSalesperson(TCrmChangePointsQuery query) {
        PageInfo<TCrmChangePointsVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TCrmChangePointsVO> list = this.baseMapper.pageListSalesperson(query,pageInfo);
        if(CollectionUtils.isEmpty(list)){
            return pageInfo;
        }
        List<String> procurementIds = list.stream().map(TCrmChangePointsVO::getProcurementId)
                .filter(Objects::nonNull).collect(Collectors.toList());
        // 查询诊所
        List<TCrmClinic> crmClinics = crmClinicMapper.selectList(Wrappers.lambdaQuery(TCrmClinic.class));
        if(!CollectionUtils.isEmpty(procurementIds)){
            List<TErpProcurement> erpProcurements = erpProcurementMapper.selectList(Wrappers.lambdaQuery(TErpProcurement.class).in(TErpProcurement::getId, procurementIds));
            for (TCrmChangePointsVO tCrmChangePointsVO : list) {
                List<TErpProcurement> collect = erpProcurements.stream().filter(tErpProcurement -> tErpProcurement.getId().equals(tCrmChangePointsVO.getProcurementId())).collect(Collectors.toList());
                if(!CollectionUtils.isEmpty(collect)){
                    tCrmChangePointsVO.setProcurementCode(collect.get(0).getProcurementCode());
                    tCrmChangePointsVO.setPayMoney(collect.get(0).getPayMoney());
                    List<TCrmClinic> clinics = crmClinics.stream().filter(tCrmClinic -> tCrmClinic.getId().equals(collect.get(0).getClinicId())).collect(Collectors.toList());
                    if(!CollectionUtils.isEmpty(clinics)){
                        tCrmChangePointsVO.setClinicName(clinics.get(0).getClinicName());
                    }
                }
            }
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
    @Override
    public PageInfo<TCrmChangePointsVO> pageListClinic(TCrmChangePointsQuery query) {
        PageInfo<TCrmChangePointsVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TCrmChangePointsVO> list = this.baseMapper.pageListClinic(query,pageInfo);
        if(CollectionUtils.isEmpty(list)){
            return pageInfo;
        }
        List<String> procurementIds = list.stream().map(TCrmChangePointsVO::getProcurementId)
                .filter(Objects::nonNull).collect(Collectors.toList());
        if(!CollectionUtils.isEmpty(procurementIds)){
            List<TErpProcurement> erpProcurements = erpProcurementMapper.selectList(Wrappers.lambdaQuery(TErpProcurement.class).in(TErpProcurement::getId, procurementIds));
            for (TCrmChangePointsVO tCrmChangePointsVO : list) {
                List<TErpProcurement> collect = erpProcurements.stream().filter(tErpProcurement -> tErpProcurement.getId().equals(tCrmChangePointsVO.getProcurementId())).collect(Collectors.toList());
                if(!CollectionUtils.isEmpty(collect)){
                    tCrmChangePointsVO.setProcurementCode(collect.get(0).getProcurementCode());
                    tCrmChangePointsVO.setPayMoney(collect.get(0).getPayMoney());
                }
            }
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
    @Override
    public List<TCrmChangePointsBranchExport> pageListBranchExport(TCrmChangePointsQuery query) {
        List<TCrmChangePointsBranchExport> list = this.baseMapper.pageListBranchExport(query);
        if(CollectionUtils.isEmpty(list)){
            return list;
        }
        List<String> procurementIds = list.stream().map(TCrmChangePointsBranchExport::getProcurementId)
                .filter(Objects::nonNull).collect(Collectors.toList());
        // 查询诊所
        List<TCrmClinic> crmClinics = crmClinicMapper.selectList(Wrappers.lambdaQuery(TCrmClinic.class));
        if(!CollectionUtils.isEmpty(procurementIds)){
            List<TErpProcurement> erpProcurements = erpProcurementMapper.selectList(Wrappers.lambdaQuery(TErpProcurement.class).in(TErpProcurement::getId, procurementIds));
            for (TCrmChangePointsBranchExport crmChangePointsBranchExport : list) {
                List<TErpProcurement> collect = erpProcurements.stream().filter(tErpProcurement -> tErpProcurement.getId().equals(crmChangePointsBranchExport.getProcurementId())).collect(Collectors.toList());
                if(!CollectionUtils.isEmpty(collect)){
                    crmChangePointsBranchExport.setProcurementCode(collect.get(0).getProcurementCode());
                    crmChangePointsBranchExport.setPayMoney(collect.get(0).getPayMoney());
                    List<TCrmClinic> clinics = crmClinics.stream().filter(tCrmClinic -> tCrmClinic.getId().equals(collect.get(0).getClinicId())).collect(Collectors.toList());
                    if(!CollectionUtils.isEmpty(clinics)){
                        crmChangePointsBranchExport.setClinicName(clinics.get(0).getClinicName());
                    }
                }
            }
        }
        return list;
    }
    @Override
    public List<TCrmChangePointsSalespersonExport> pageListSalespersonExport(TCrmChangePointsQuery query) {
        List<TCrmChangePointsSalespersonExport> list = this.baseMapper.pageListSalespersonExport(query);
        if(CollectionUtils.isEmpty(list)){
            return list;
        }
        List<String> procurementIds = list.stream().map(TCrmChangePointsSalespersonExport::getProcurementId)
                .filter(Objects::nonNull).collect(Collectors.toList());
        // 查询诊所
        List<TCrmClinic> crmClinics = crmClinicMapper.selectList(Wrappers.lambdaQuery(TCrmClinic.class));
        if(!CollectionUtils.isEmpty(procurementIds)){
            List<TErpProcurement> erpProcurements = erpProcurementMapper.selectList(Wrappers.lambdaQuery(TErpProcurement.class).in(TErpProcurement::getId, procurementIds));
            for (TCrmChangePointsSalespersonExport crmChangePointsSalespersonExport : list) {
                List<TErpProcurement> collect = erpProcurements.stream().filter(tErpProcurement -> tErpProcurement.getId().equals(crmChangePointsSalespersonExport.getProcurementId())).collect(Collectors.toList());
                if(!CollectionUtils.isEmpty(collect)){
                    crmChangePointsSalespersonExport.setProcurementCode(collect.get(0).getProcurementCode());
                    crmChangePointsSalespersonExport.setPayMoney(collect.get(0).getPayMoney());
                    List<TCrmClinic> clinics = crmClinics.stream().filter(tCrmClinic -> tCrmClinic.getId().equals(collect.get(0).getClinicId())).collect(Collectors.toList());
                    if(!CollectionUtils.isEmpty(clinics)){
                        crmChangePointsSalespersonExport.setClinicName(clinics.get(0).getClinicName());
                    }
                }
            }
        }
        return list;
    }
    @Override
    public List<TCrmChangePointsClinicExport> pageListClinicExport(TCrmChangePointsQuery query) {
        List<TCrmChangePointsClinicExport> list = this.baseMapper.pageListClinicExport(query);
        if(CollectionUtils.isEmpty(list)){
            return list;
        }
        List<String> procurementIds = list.stream().map(TCrmChangePointsClinicExport::getProcurementId)
                .filter(Objects::nonNull).collect(Collectors.toList());
        if(!CollectionUtils.isEmpty(procurementIds)){
            List<TErpProcurement> erpProcurements = erpProcurementMapper.selectList(Wrappers.lambdaQuery(TErpProcurement.class).in(TErpProcurement::getId, procurementIds));
            for (TCrmChangePointsClinicExport crmChangePointsClinicExport : list) {
                List<TErpProcurement> collect = erpProcurements.stream().filter(tErpProcurement -> tErpProcurement.getId().equals(crmChangePointsClinicExport.getProcurementId())).collect(Collectors.toList());
                if(!CollectionUtils.isEmpty(collect)){
                    crmChangePointsClinicExport.setProcurementCode(collect.get(0).getProcurementCode());
                    crmChangePointsClinicExport.setPayMoney(collect.get(0).getPayMoney());
                }
            }
        }
        return list;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TCrmChangePointsVO.java
@@ -2,12 +2,28 @@
import com.ruoyi.system.model.TCrmChangePoints;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel(value = "修改积分记录视图对象TCrmChangePointsVO")
public class TCrmChangePointsVO extends TCrmChangePoints {
    @ApiModelProperty(value = "业务员名称")
    private String salespersonName;
    @ApiModelProperty(value = " 诊所名称")
    private String clinicName;
    @ApiModelProperty(value = " 分公司名称")
    private String branchName;
    @ApiModelProperty(value = "采购单号")
    private String procurementCode;
    @ApiModelProperty(value = "支付金额")
    private BigDecimal payMoney;
}
ruoyi-system/src/main/resources/mapper/system/TCrmChangePointsMapper.xml
@@ -24,5 +24,162 @@
    <sql id="Base_Column_List">
        id, branch_salesperson_id,procurement_id,exchange_id, user_type, change_type,change_reason, change_value, remarks, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageListBranch" resultType="com.ruoyi.system.vo.TCrmChangePointsVO">
        select
            tccp.id, tccp.branch_salesperson_id,tccp.procurement_id,tccp.exchange_id, tccp.user_type, tccp.change_type,
            tccp.change_reason, tccp.change_value, tccp.remarks, tccp.create_time, tccp.update_time, tccp.create_by,
            tccp.update_by, tccp.disabled,tcb.branch_name as branchName
        from t_crm_change_points tccp
        left join t_crm_branch tcb on tcb.id = tccp.branch_salesperson_id
        <where>
            <if test="query.branchName != null and query.branchName != ''">
                and tcb.branch_name like concat('%',#{query.branchName},'%')
            </if>
            <if test="query.changeType != null">
                and tccp.change_type = #{query.changeType}
            </if>
            <if test="query.changeReason != null">
                and tccp.change_reason = #{query.changeReason}
            </if>
            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                AND tccp.create_time &gt;= #{query.startTime}
                AND tccp.create_time &lt;= #{query.endTime}
            </if>
            AND tccp.user_type = 1
            AND tccp.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY tccp.create_time DESC
    </select>
    <select id="pageListSalesperson" resultType="com.ruoyi.system.vo.TCrmChangePointsVO">
        select
            tccp.id, tccp.branch_salesperson_id,tccp.procurement_id,tccp.exchange_id, tccp.user_type, tccp.change_type,
            tccp.change_reason, tccp.change_value, tccp.remarks, tccp.create_time, tccp.update_time, tccp.create_by,
            tccp.update_by, tccp.disabled,tcs.salesperson_name as salespersonName
        from t_crm_change_points tccp
        left join t_crm_salesperson tcs on tcs.id = tccp.branch_salesperson_id
        <where>
            <if test="query.salespersonName != null and query.salespersonName != ''">
                and tcs.salesperson_name like concat('%',#{query.salespersonName},'%')
            </if>
            <if test="query.changeType != null">
                and tccp.change_type = #{query.changeType}
            </if>
            <if test="query.changeReason != null">
                and tccp.change_reason = #{query.changeReason}
            </if>
            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                AND tccp.create_time &gt;= #{query.startTime}
                AND tccp.create_time &lt;= #{query.endTime}
            </if>
            AND tccp.user_type = 2
            AND tccp.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY tccp.create_time DESC
    </select>
    <select id="pageListClinic" resultType="com.ruoyi.system.vo.TCrmChangePointsVO">
        select
            tccp.id, tccp.branch_salesperson_id,tccp.procurement_id,tccp.exchange_id, tccp.user_type, tccp.change_type,
            tccp.change_reason, tccp.change_value, tccp.remarks, tccp.create_time, tccp.update_time, tccp.create_by,
            tccp.update_by, tccp.disabled,tcc.clinic_name as clinicName
        from t_crm_change_points tccp
        left join t_crm_clinic tcc on tcc.id = tccp.branch_salesperson_id
        <where>
            <if test="query.clinicName != null and query.clinicName != ''">
                and tcc.clinic_name like concat('%',#{query.clinicName},'%')
            </if>
            <if test="query.changeType != null">
                and tccp.change_type = #{query.changeType}
            </if>
            <if test="query.changeReason != null">
                and tccp.change_reason = #{query.changeReason}
            </if>
            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                AND tccp.create_time &gt;= #{query.startTime}
                AND tccp.create_time &lt;= #{query.endTime}
            </if>
            AND tccp.user_type = 3
            AND tccp.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY tccp.create_time DESC
    </select>
    <select id="pageListBranchExport" resultType="com.ruoyi.system.export.TCrmChangePointsBranchExport">
        select
        tccp.id, tccp.branch_salesperson_id,tccp.procurement_id,tccp.exchange_id, tccp.user_type, tccp.change_type,
        tccp.change_reason, tccp.change_value, tccp.remarks, tccp.create_time, tccp.update_time, tccp.create_by,
        tccp.update_by, tccp.disabled,tcb.branch_name as branchName
        from t_crm_change_points tccp
        left join t_crm_branch tcb on tcb.id = tccp.branch_salesperson_id
        <where>
            <if test="query.branchName != null and query.branchName != ''">
                and tcb.branch_name like concat('%',#{query.branchName},'%')
            </if>
            <if test="query.changeType != null">
                and tccp.change_type = #{query.changeType}
            </if>
            <if test="query.changeReason != null">
                and tccp.change_reason = #{query.changeReason}
            </if>
            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                AND tccp.create_time &gt;= #{query.startTime}
                AND tccp.create_time &lt;= #{query.endTime}
            </if>
            AND tccp.user_type = 1
            AND tccp.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY tccp.create_time DESC
    </select>
    <select id="pageListSalespersonExport"
            resultType="com.ruoyi.system.export.TCrmChangePointsSalespersonExport">
        select
        tccp.id, tccp.branch_salesperson_id,tccp.procurement_id,tccp.exchange_id, tccp.user_type, tccp.change_type,
        tccp.change_reason, tccp.change_value, tccp.remarks, tccp.create_time, tccp.update_time, tccp.create_by,
        tccp.update_by, tccp.disabled,tcs.salesperson_name as salespersonName
        from t_crm_change_points tccp
        left join t_crm_salesperson tcs on tcs.id = tccp.branch_salesperson_id
        <where>
            <if test="query.salespersonName != null and query.salespersonName != ''">
                and tcs.salesperson_name like concat('%',#{query.salespersonName},'%')
            </if>
            <if test="query.changeType != null">
                and tccp.change_type = #{query.changeType}
            </if>
            <if test="query.changeReason != null">
                and tccp.change_reason = #{query.changeReason}
            </if>
            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                AND tccp.create_time &gt;= #{query.startTime}
                AND tccp.create_time &lt;= #{query.endTime}
            </if>
            AND tccp.user_type = 2
            AND tccp.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY tccp.create_time DESC
    </select>
    <select id="pageListClinicExport" resultType="com.ruoyi.system.export.TCrmChangePointsClinicExport">
        select
        tccp.id, tccp.branch_salesperson_id,tccp.procurement_id,tccp.exchange_id, tccp.user_type, tccp.change_type,
        tccp.change_reason, tccp.change_value, tccp.remarks, tccp.create_time, tccp.update_time, tccp.create_by,
        tccp.update_by, tccp.disabled,tcc.clinic_name as clinicName
        from t_crm_change_points tccp
        left join t_crm_clinic tcc on tcc.id = tccp.branch_salesperson_id
        <where>
            <if test="query.clinicName != null and query.clinicName != ''">
                and tcc.clinic_name like concat('%',#{query.clinicName},'%')
            </if>
            <if test="query.changeType != null">
                and tccp.change_type = #{query.changeType}
            </if>
            <if test="query.changeReason != null">
                and tccp.change_reason = #{query.changeReason}
            </if>
            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                AND tccp.create_time &gt;= #{query.startTime}
                AND tccp.create_time &lt;= #{query.endTime}
            </if>
            AND tccp.user_type = 3
            AND tccp.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY tccp.create_time DESC
    </select>
</mapper>