提交 6d5f3fb5 authored 作者: 000516's avatar 000516

三米两秒分页查询

...@@ -61,6 +61,15 @@ public class ApDisplayQueryController { ...@@ -61,6 +61,15 @@ public class ApDisplayQueryController {
return apDisplayQueryService.snackPage(salesApRequest); return apDisplayQueryService.snackPage(salesApRequest);
} }
/**
* 三米两秒
*/
@GetMapping("/sl_page")
public PageInfo slPage(SalesApRequest salesApRequest){
checkPermission(salesApRequest);
return apDisplayQueryService.slPage(salesApRequest);
}
/** /**
* 判断登录人权限 * 判断登录人权限
* 判断是否存在人客关系,存在:根据负责经销商查询数据;不存在:判断是否是销售部人员。是:根据部门查询;不是:返回全部数据 * 判断是否存在人客关系,存在:根据负责经销商查询数据;不存在:判断是否是销售部人员。是:根据部门查询;不是:返回全部数据
......
package com.sfa.operation.domain.sales.dao;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.operation.domain.sales.wq.SalesApWq;
/**
* @author : liqiulin
* @date : 2025-11-21 13
* @describe :
*/
public interface ISalesApDisplaySDao {
PageInfo page(SalesApWq wq);
}
package com.sfa.operation.domain.sales.dao.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sfa.common.core.utils.StringUtils;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.core.web.page.TableSupport;
import com.sfa.operation.domain.sales.dao.ISalesApDisplaySDao;
import com.sfa.operation.domain.sales.entity.SalesApDisplayS;
import com.sfa.operation.domain.sales.mapper.SalesApDisplaySMapper;
import com.sfa.operation.domain.sales.wq.SalesApWq;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Objects;
/**
* @author : liqiulin
* @date : 2025-11-21 13
* @describe : 三米两秒表
*/
@DS("bi")
@Service
public class SalesApDisplaySDaoImpl implements ISalesApDisplaySDao {
@Autowired
private SalesApDisplaySMapper salesApDisplaySMapper;
@Override
public PageInfo page(SalesApWq wq) {
LambdaQueryWrapper<SalesApDisplayS> qw = buildWq(wq);
Page<SalesApDisplayS> salesApDisplaySPage = salesApDisplaySMapper.selectPage(TableSupport.pageI(), qw);
return new PageInfo<>(salesApDisplaySPage);
}
private LambdaQueryWrapper<SalesApDisplayS> buildWq(SalesApWq salesApWq) {
LambdaQueryWrapper<SalesApDisplayS> qw = new LambdaQueryWrapper<>();
if (Objects.nonNull(salesApWq.getSalesMonth())){
qw.eq(SalesApDisplayS::getSalesMonth, salesApWq.getSalesMonth());
}
if (!CollectionUtils.isEmpty(salesApWq.getDealerCodes())) {
qw.in(SalesApDisplayS::getDealerCode, salesApWq.getDealerCodes());
}
if (StringUtils.isNotBlank(salesApWq.getDeptName())){
qw.and(
wrapper -> wrapper.eq(SalesApDisplayS::getRegionName, salesApWq.getDeptName())
.or()
.eq(SalesApDisplayS::getDistrictName, salesApWq.getDeptName())
);
}
if (StringUtils.isNotBlank(salesApWq.getNickName())){
qw.and(
wrapper -> wrapper.eq(SalesApDisplayS::getRegionManager, salesApWq.getNickName())
.or()
.eq(SalesApDisplayS::getDistrictManager, salesApWq.getNickName())
.or()
.eq(SalesApDisplayS::getCityManager, salesApWq.getNickName())
);
}
if (StringUtils.isNotBlank(salesApWq.getDealerCN())){
qw.and(
wrapper -> wrapper.like(SalesApDisplayS::getDealerName, salesApWq.getDealerCN())
.or()
.like(SalesApDisplayS::getDealerCode, salesApWq.getDealerCN())
);
}
if (StringUtils.isNotBlank(salesApWq.getStoreCN())){
qw.and(
wrapper -> wrapper.like(SalesApDisplayS::getStoreName, salesApWq.getStoreCN())
.or()
.like(SalesApDisplayS::getStoreCode, salesApWq.getStoreCN())
);
}
if (StringUtils.isNotBlank(salesApWq.getLineNameLike())){
qw.like(SalesApDisplayS::getLineName, salesApWq.getLineNameLike());
}
return qw;
}
}
package com.sfa.operation.domain.sales.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
/**
* 六小金刚批发挂网执行表
* @TableName sales_ap_display_j
*/
@TableName(value ="sales_ap_display_j")
@Data
public class SalesApDisplayJ implements Serializable {
/**
* 主键ID(自增)
*/
@TableId(type = IdType.AUTO)
private Long sadjId;
/**
* 陈列所属月份
*/
private Date salesMonth;
/**
* 销售大区
*/
private String regionName;
/**
* 销售战区
*/
private String districtName;
/**
* 经销商-省份
*/
private String dealerProvince;
/**
* 经销商-城市
*/
private String dealerCity;
/**
* 经销商-代码
*/
private String dealerCode;
/**
* 经销商名称
*/
private String dealerName;
/**
* 大区总监
*/
private String regionManager;
/**
* 战区经理
*/
private String districtManager;
/**
* 城市经理
*/
private String cityManager;
/**
* 门店编码
*/
private String storeCode;
/**
* 门店名称
*/
private String storeName;
/**
* 门店-省份
*/
private String storeProvince;
/**
* 门店-城市
*/
private String storeCity;
/**
* 系统名称
*/
private String lineName;
/**
* 系统类型
*/
private String lineType;
/**
* 渠道大类
*/
private String channelDl;
/**
* 渠道小类
*/
private String channelXl;
/**
* 门店类型
*/
private String storeType;
/**
* 系统业态
*/
private String lineLf;
/**
* 计划执行-六小金刚批发挂网
*/
private String plannedGw6;
/**
* 实际执行-六小金刚批发挂网
*/
private String actualGw6;
/**
* 六小金刚批发挂网陈列费
*/
private BigDecimal totalCostGw6;
/**
* 六小金刚批发挂网-是否执行(Y=是,N=否)
*/
private String gwExecuted6;
/**
* 六小金刚批发挂网目标网点数
*/
private Integer gwSn6;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新者
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.sfa.operation.domain.sales.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
/**
* 三米两秒表
* @TableName sales_ap_display_s
*/
@TableName(value ="sales_ap_display_s")
@Data
public class SalesApDisplayS implements Serializable {
/**
* 主键ID(自增)
*/
@TableId(type = IdType.AUTO)
private Long sadsId;
/**
* 陈列所属月份
*/
private Date salesMonth;
/**
* 销售大区
*/
private String regionName;
/**
* 销售战区
*/
private String districtName;
/**
* 经销商-省份
*/
private String dealerProvince;
/**
* 经销商-城市
*/
private String dealerCity;
/**
* 经销商-代码
*/
private String dealerCode;
/**
* 经销商名称
*/
private String dealerName;
/**
* 大区总监
*/
private String regionManager;
/**
* 战区经理
*/
private String districtManager;
/**
* 城市经理
*/
private String cityManager;
/**
* 门店编码
*/
private String storeCode;
/**
* 门店名称
*/
private String storeName;
/**
* 门店-省份
*/
private String storeProvince;
/**
* 门店-城市
*/
private String storeCity;
/**
* 系统名称
*/
private String lineName;
/**
* 系统类型
*/
private String lineType;
/**
* 渠道大类
*/
private String channelDl;
/**
* 渠道小类
*/
private String channelXl;
/**
* 门店类型
*/
private String storeType;
/**
* 系统业态
*/
private String lineLf;
/**
* 计划-60g挂条陈列数量
*/
private Integer plannedDisplayQty60;
/**
* 实际-60g挂条陈列数量
*/
private Integer actualDisplayQty60;
/**
* 60g挂条陈列费
*/
private BigDecimal totalCost60;
/**
* 60g挂条陈列-是否执行
*/
private String displayQtyExecuted60;
/**
* 60g挂条陈列目标网点数
*/
private Integer displaySn60;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新者
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.sfa.operation.domain.sales.mapper;
import com.sfa.operation.domain.sales.entity.SalesApDisplayJ;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* @author a02200059
* @description 针对表【sales_ap_display_j(六小金刚批发挂网执行表)】的数据库操作Mapper
* @createDate 2025-11-21 13:42:23
* @Entity com.sfa.operation.domain.sales.entity.SalesApDisplayJ
*/
@Repository
public interface SalesApDisplayJMapper extends BaseMapper<SalesApDisplayJ> {
}
package com.sfa.operation.domain.sales.mapper;
import com.sfa.operation.domain.sales.entity.SalesApDisplayS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* @author a02200059
* @description 针对表【sales_ap_display_s(三米两秒表)】的数据库操作Mapper
* @createDate 2025-11-21 13:42:23
* @Entity com.sfa.operation.domain.sales.entity.SalesApDisplayS
*/
@Repository
public interface SalesApDisplaySMapper extends BaseMapper<SalesApDisplayS> {
}
...@@ -16,4 +16,6 @@ public interface IApDisplayQueryService { ...@@ -16,4 +16,6 @@ public interface IApDisplayQueryService {
PageInfo proPage(SalesApRequest salesApRequest); PageInfo proPage(SalesApRequest salesApRequest);
PageInfo snackPage(SalesApRequest salesApRequest); PageInfo snackPage(SalesApRequest salesApRequest);
PageInfo slPage(SalesApRequest salesApRequest);
} }
...@@ -6,6 +6,7 @@ import com.sfa.common.core.utils.bean.BeanUtils; ...@@ -6,6 +6,7 @@ import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.common.core.web.domain.PageInfo; import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.operation.domain.feishu.dao.IQinceMarketEmployeeDao; import com.sfa.operation.domain.feishu.dao.IQinceMarketEmployeeDao;
import com.sfa.operation.domain.sales.dao.ISalesApDisplayDao; import com.sfa.operation.domain.sales.dao.ISalesApDisplayDao;
import com.sfa.operation.domain.sales.dao.ISalesApDisplaySDao;
import com.sfa.operation.domain.sales.dao.ISalesApPromotionDisplayDao; import com.sfa.operation.domain.sales.dao.ISalesApPromotionDisplayDao;
import com.sfa.operation.domain.sales.dao.ISalesApSnacksDisplayDao; import com.sfa.operation.domain.sales.dao.ISalesApSnacksDisplayDao;
import com.sfa.operation.domain.sales.wq.SalesApWq; import com.sfa.operation.domain.sales.wq.SalesApWq;
...@@ -30,29 +31,34 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService { ...@@ -30,29 +31,34 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService {
private ISalesApPromotionDisplayDao salesApPromotionDisplayDao; private ISalesApPromotionDisplayDao salesApPromotionDisplayDao;
@Autowired @Autowired
private ISalesApSnacksDisplayDao salesapsnackdsDisplayDao; private ISalesApSnacksDisplayDao salesapsnackdsDisplayDao;
@Autowired
private ISalesApDisplaySDao salesApDisplaySDao;
@Override @Override
public PageInfo page(SalesApRequest salesApRequest) { public PageInfo page(SalesApRequest salesApRequest) {
SalesApWq salesApWq = new SalesApWq(); return salesApDisplayDao.page(build(salesApRequest));
BeanUtils.copyProperties(salesApRequest,salesApWq);
salesApWq.setSalesMonth(salesApRequest.getSalesMonth() != null ? DateUtil.parse(salesApRequest.getSalesMonth() + "-01", DatePattern.NORM_DATE_PATTERN) : null);
return salesApDisplayDao.page(salesApWq);
} }
@Override @Override
public PageInfo proPage(SalesApRequest salesApRequest) { public PageInfo proPage(SalesApRequest salesApRequest) {
SalesApWq salesApWq = new SalesApWq(); return salesApPromotionDisplayDao.page(build(salesApRequest));
BeanUtils.copyProperties(salesApRequest,salesApWq);
salesApWq.setSalesMonth(salesApRequest.getSalesMonth() != null ? DateUtil.parse(salesApRequest.getSalesMonth() + "-01", DatePattern.NORM_DATE_PATTERN) : null);
return salesApPromotionDisplayDao.page(salesApWq);
} }
@Override @Override
public PageInfo snackPage(SalesApRequest salesApRequest) { public PageInfo snackPage(SalesApRequest salesApRequest) {
return salesapsnackdsDisplayDao.page(build(salesApRequest));
}
@Override
public PageInfo slPage(SalesApRequest salesApRequest) {
return salesApDisplaySDao.page(build(salesApRequest));
}
private SalesApWq build(SalesApRequest salesApRequest){
SalesApWq salesApWq = new SalesApWq(); SalesApWq salesApWq = new SalesApWq();
BeanUtils.copyProperties(salesApRequest,salesApWq); BeanUtils.copyProperties(salesApRequest,salesApWq);
salesApWq.setSalesMonth(salesApRequest.getSalesMonth() != null ? DateUtil.parse(salesApRequest.getSalesMonth() + "-01", DatePattern.NORM_DATE_PATTERN) : null); salesApWq.setSalesMonth(salesApRequest.getSalesMonth() != null ? DateUtil.parse(salesApRequest.getSalesMonth() + "-01", DatePattern.NORM_DATE_PATTERN) : null);
return salesapsnackdsDisplayDao.page(salesApWq); return salesApWq;
} }
} }
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sfa.operation.domain.sales.mapper.SalesApDisplayJMapper">
<resultMap id="SalesApDisplayJBase" type="com.sfa.operation.domain.sales.entity.SalesApDisplayJ">
<id property="sadjId" column="sadj_id" jdbcType="BIGINT"/>
<result property="salesMonth" column="sales_month" jdbcType="DATE"/>
<result property="regionName" column="region_name" jdbcType="VARCHAR"/>
<result property="districtName" column="district_name" jdbcType="VARCHAR"/>
<result property="dealerProvince" column="dealer_province" jdbcType="VARCHAR"/>
<result property="dealerCity" column="dealer_city" jdbcType="VARCHAR"/>
<result property="dealerCode" column="dealer_code" jdbcType="VARCHAR"/>
<result property="dealerName" column="dealer_name" jdbcType="VARCHAR"/>
<result property="regionManager" column="region_manager" jdbcType="VARCHAR"/>
<result property="districtManager" column="district_manager" jdbcType="VARCHAR"/>
<result property="cityManager" column="city_manager" jdbcType="VARCHAR"/>
<result property="storeCode" column="store_code" jdbcType="VARCHAR"/>
<result property="storeName" column="store_name" jdbcType="VARCHAR"/>
<result property="storeProvince" column="store_province" jdbcType="VARCHAR"/>
<result property="storeCity" column="store_city" jdbcType="VARCHAR"/>
<result property="lineName" column="line_name" jdbcType="VARCHAR"/>
<result property="lineType" column="line_type" jdbcType="VARCHAR"/>
<result property="channelDl" column="channel_dl" jdbcType="VARCHAR"/>
<result property="channelXl" column="channel_xl" jdbcType="VARCHAR"/>
<result property="storeType" column="store_type" jdbcType="VARCHAR"/>
<result property="lineLf" column="line_lf" jdbcType="VARCHAR"/>
<result property="plannedGw6" column="planned_gw_6" jdbcType="VARCHAR"/>
<result property="actualGw6" column="actual_gw_6" jdbcType="VARCHAR"/>
<result property="totalCostGw6" column="total_cost_gw_6" jdbcType="DECIMAL"/>
<result property="gwExecuted6" column="gw_executed_6" jdbcType="VARCHAR"/>
<result property="gwSn6" column="gw_sn_6" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sfa.operation.domain.sales.mapper.SalesApDisplaySMapper">
<resultMap id="SalesApDisplaySBase" type="com.sfa.operation.domain.sales.entity.SalesApDisplayS">
<id property="sadsId" column="sads_id" jdbcType="BIGINT"/>
<result property="salesMonth" column="sales_month" jdbcType="DATE"/>
<result property="regionName" column="region_name" jdbcType="VARCHAR"/>
<result property="districtName" column="district_name" jdbcType="VARCHAR"/>
<result property="dealerProvince" column="dealer_province" jdbcType="VARCHAR"/>
<result property="dealerCity" column="dealer_city" jdbcType="VARCHAR"/>
<result property="dealerCode" column="dealer_code" jdbcType="VARCHAR"/>
<result property="dealerName" column="dealer_name" jdbcType="VARCHAR"/>
<result property="regionManager" column="region_manager" jdbcType="VARCHAR"/>
<result property="districtManager" column="district_manager" jdbcType="VARCHAR"/>
<result property="cityManager" column="city_manager" jdbcType="VARCHAR"/>
<result property="storeCode" column="store_code" jdbcType="VARCHAR"/>
<result property="storeName" column="store_name" jdbcType="VARCHAR"/>
<result property="storeProvince" column="store_province" jdbcType="VARCHAR"/>
<result property="storeCity" column="store_city" jdbcType="VARCHAR"/>
<result property="lineName" column="line_name" jdbcType="VARCHAR"/>
<result property="lineType" column="line_type" jdbcType="VARCHAR"/>
<result property="channelDl" column="channel_dl" jdbcType="VARCHAR"/>
<result property="channelXl" column="channel_xl" jdbcType="VARCHAR"/>
<result property="storeType" column="store_type" jdbcType="VARCHAR"/>
<result property="lineLf" column="line_lf" jdbcType="VARCHAR"/>
<result property="plannedDisplayQty60" column="planned_display_qty_60" jdbcType="INTEGER"/>
<result property="actualDisplayQty60" column="actual_display_qty_60" jdbcType="INTEGER"/>
<result property="totalCost60" column="total_cost_60" jdbcType="DECIMAL"/>
<result property="displayQtyExecuted60" column="display_qty_executed_60" jdbcType="VARCHAR"/>
<result property="displaySn60" column="display_sn_60" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论