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 >= #{query.startTime} AND tccp.create_time <= #{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 >= #{query.startTime} AND tccp.create_time <= #{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 >= #{query.startTime} AND tccp.create_time <= #{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 >= #{query.startTime} AND tccp.create_time <= #{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 >= #{query.startTime} AND tccp.create_time <= #{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 >= #{query.startTime} AND tccp.create_time <= #{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>