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 @@ -