CRM 通过商机联查产品完成 ,修复代码生成的mapper.xml格式错误
This commit is contained in:
@@ -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<TableDataInfo<OaProductVo>> getBusinessProducts(OaBusinessBo bo) {
|
||||
return R.ok(iOaBusinessService.getBusinessProducts(bo));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
|
||||
@@ -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<OaBusinessMapper, OaBusiness, OaBusinessVo> {
|
||||
|
||||
/**
|
||||
* 联查商机与产品以及其关联表
|
||||
*/
|
||||
List<OaProductVo> getBusinessProducts(OaBusinessBo bo,@Param(Constants.WRAPPER) QueryWrapper<OaBusiness> queryWrapper);
|
||||
}
|
||||
|
||||
@@ -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<Long> ids, Boolean isValid);
|
||||
|
||||
|
||||
/**
|
||||
* 联查商机与产品以及其关联表
|
||||
*/
|
||||
TableDataInfo<OaProductVo> getBusinessProducts(OaBusinessBo bo);
|
||||
}
|
||||
|
||||
@@ -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<OaProductVo> getBusinessProducts(OaBusinessBo bo) {
|
||||
QueryWrapper<OaBusiness> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq(bo.getBusinessId() != null,"oa_business.business_id", bo.getBusinessId());
|
||||
return TableDataInfo.build(baseMapper.getBusinessProducts(bo,queryWrapper));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
@@ -31,4 +29,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
|
||||
<select id="getBusinessProducts" resultType="com.ruoyi.oa.domain.vo.OaProductVo">
|
||||
select op.product_id, op.product_name, op.product_number, op.unit, op.price, op.status, op.category_id, op.description, op.deleted
|
||||
from oa_business ob
|
||||
left join oa_business_product obp on ob.business_id = obp.business_id
|
||||
left join oa_product op on obp.product_id = op.product_id
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
Reference in New Issue
Block a user