From d6d5a5f7ce4a4573d855fe0470497659479fb225 Mon Sep 17 00:00:00 2001 From: liuzongkun999 Date: Wed, 12 Mar 2025 13:46:44 +0800 Subject: [PATCH] =?UTF-8?q?CRM=20=E9=80=9A=E8=BF=87=E5=95=86=E6=9C=BA?= =?UTF-8?q?=E8=81=94=E6=9F=A5=E4=BA=A7=E5=93=81=E5=AE=8C=E6=88=90=20?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E5=A4=8D=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= =?UTF-8?q?=E7=9A=84mapper.xml=E6=A0=BC=E5=BC=8F=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oa/controller/OaBusinessController.java | 11 +++++++++++ .../com/ruoyi/oa/domain/bo/OaBusinessBo.java | 16 ---------------- .../com/ruoyi/oa/mapper/OaBusinessMapper.java | 12 ++++++++++++ .../com/ruoyi/oa/service/IOaBusinessService.java | 7 +++++++ .../oa/service/impl/OaBusinessServiceImpl.java | 12 ++++++++++++ .../resources/mapper/oa/OaBusinessMapper.xml | 11 +++++++++-- .../mapper/oa/OaBusinessProductMapper.xml | 1 - .../main/resources/mapper/oa/OaClueMapper.xml | 1 - .../resources/mapper/oa/OaCustomerMapper.xml | 1 - .../mapper/oa/OaFollowUpRecordMapper.xml | 2 -- .../main/resources/mapper/oa/OaProductMapper.xml | 1 - 11 files changed, 51 insertions(+), 24 deletions(-) diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaBusinessController.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaBusinessController.java index b94ee3c..2d1bd6a 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaBusinessController.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaBusinessController.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.Arrays; import java.util.concurrent.TimeUnit; +import com.ruoyi.oa.domain.vo.OaProductVo; import lombok.RequiredArgsConstructor; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.*; @@ -105,4 +106,14 @@ public class OaBusinessController extends BaseController { @PathVariable Long[] businessIds) { return toAjax(iOaBusinessService.deleteWithValidByIds(Arrays.asList(businessIds), true)); } + + + /** + * 联查商机与产品以及其关联表 + */ + @SaCheckPermission("oa:business:query") + @GetMapping("/BusinessProducts") + public R> getBusinessProducts(OaBusinessBo bo) { + return R.ok(iOaBusinessService.getBusinessProducts(bo)); + } } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaBusinessBo.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaBusinessBo.java index 0fddeda..664a894 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaBusinessBo.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaBusinessBo.java @@ -27,97 +27,81 @@ public class OaBusinessBo extends BaseEntity { /** * 编号 */ - @NotNull(message = "编号不能为空", groups = { EditGroup.class }) private Long businessId; /** * 商机名称 */ - @NotBlank(message = "商机名称不能为空", groups = { AddGroup.class, EditGroup.class }) private String name; /** * 客户编号 */ - @NotNull(message = "客户编号不能为空", groups = { AddGroup.class, EditGroup.class }) private Long customerId; /** * 跟进状态 */ - @NotNull(message = "跟进状态不能为空", groups = { AddGroup.class, EditGroup.class }) private Integer followUpStatus; /** * 最后跟进时间 */ - @NotNull(message = "最后跟进时间不能为空", groups = { AddGroup.class, EditGroup.class }) private Date contactLastTime; /** * 下次联系时间 */ - @NotNull(message = "下次联系时间不能为空", groups = { AddGroup.class, EditGroup.class }) private Date contactNextTime; /** * 负责人的用户编号 */ - @NotNull(message = "负责人的用户编号不能为空", groups = { AddGroup.class, EditGroup.class }) private Long ownerUserId; /** * 商机状态类型编号 */ - @NotNull(message = "商机状态类型编号不能为空", groups = { AddGroup.class, EditGroup.class }) private Long statusTypeId; /** * 商机状态编号 */ - @NotNull(message = "商机状态编号不能为空", groups = { AddGroup.class, EditGroup.class }) private Long statusId; /** * 结束状态:1-赢单 2-输单3-无效 */ - @NotNull(message = "结束状态:1-赢单 2-输单3-无效不能为空", groups = { AddGroup.class, EditGroup.class }) private Long endStatus; /** * 预计成交日期 */ - @NotNull(message = "预计成交日期不能为空", groups = { AddGroup.class, EditGroup.class }) private Date dealTime; /** * 产品总金额,单位:元 */ - @NotNull(message = "产品总金额,单位:元不能为空", groups = { AddGroup.class, EditGroup.class }) private BigDecimal totalProductPrice; /** * 整单折扣,百分比 */ - @NotNull(message = "整单折扣,百分比不能为空", groups = { AddGroup.class, EditGroup.class }) private BigDecimal discountPercent; /** * 商机总金额,单位:元 */ - @NotNull(message = "商机总金额,单位:元不能为空", groups = { AddGroup.class, EditGroup.class }) private BigDecimal totalPrice; /** * 备注 */ - @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class }) private String remark; /** * 结束时的备注 */ - @NotBlank(message = "结束时的备注不能为空", groups = { AddGroup.class, EditGroup.class }) private String endRemark; diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaBusinessMapper.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaBusinessMapper.java index 2a27f0a..18e89aa 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaBusinessMapper.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaBusinessMapper.java @@ -1,8 +1,16 @@ package com.ruoyi.oa.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; import com.ruoyi.oa.domain.OaBusiness; +import com.ruoyi.oa.domain.bo.OaBusinessBo; +import com.ruoyi.oa.domain.bo.SysOaProjectBo; import com.ruoyi.oa.domain.vo.OaBusinessVo; import com.ruoyi.common.core.mapper.BaseMapperPlus; +import com.ruoyi.oa.domain.vo.OaProductVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * CRM 商机Mapper接口 @@ -12,4 +20,8 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus; */ public interface OaBusinessMapper extends BaseMapperPlus { + /** + * 联查商机与产品以及其关联表 + */ + List getBusinessProducts(OaBusinessBo bo,@Param(Constants.WRAPPER) QueryWrapper queryWrapper); } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaBusinessService.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaBusinessService.java index e81dcfd..cb3a949 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaBusinessService.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaBusinessService.java @@ -5,6 +5,7 @@ import com.ruoyi.oa.domain.vo.OaBusinessVo; import com.ruoyi.oa.domain.bo.OaBusinessBo; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.domain.PageQuery; +import com.ruoyi.oa.domain.vo.OaProductVo; import java.util.Collection; import java.util.List; @@ -46,4 +47,10 @@ public interface IOaBusinessService { * 校验并批量删除CRM 商机信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + + /** + * 联查商机与产品以及其关联表 + */ + TableDataInfo getBusinessProducts(OaBusinessBo bo); } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaBusinessServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaBusinessServiceImpl.java index d998832..1f18946 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaBusinessServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaBusinessServiceImpl.java @@ -1,12 +1,14 @@ package com.ruoyi.oa.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.domain.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.oa.domain.vo.OaProductVo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import com.ruoyi.oa.domain.bo.OaBusinessBo; @@ -119,4 +121,14 @@ public class OaBusinessServiceImpl implements IOaBusinessService { } return baseMapper.deleteBatchIds(ids) > 0; } + + /** + * 联查商机与产品以及其关联表 + */ + @Override + public TableDataInfo getBusinessProducts(OaBusinessBo bo) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(bo.getBusinessId() != null,"oa_business.business_id", bo.getBusinessId()); + return TableDataInfo.build(baseMapper.getBusinessProducts(bo,queryWrapper)); + } } diff --git a/ruoyi-oa/src/main/resources/mapper/oa/OaBusinessMapper.xml b/ruoyi-oa/src/main/resources/mapper/oa/OaBusinessMapper.xml index 15817df..6ff3d92 100644 --- a/ruoyi-oa/src/main/resources/mapper/oa/OaBusinessMapper.xml +++ b/ruoyi-oa/src/main/resources/mapper/oa/OaBusinessMapper.xml @@ -1,5 +1,3 @@ - - + + + diff --git a/ruoyi-oa/src/main/resources/mapper/oa/OaBusinessProductMapper.xml b/ruoyi-oa/src/main/resources/mapper/oa/OaBusinessProductMapper.xml index 69adff8..f698da0 100644 --- a/ruoyi-oa/src/main/resources/mapper/oa/OaBusinessProductMapper.xml +++ b/ruoyi-oa/src/main/resources/mapper/oa/OaBusinessProductMapper.xml @@ -1,4 +1,3 @@ -