提交 9c602951 authored 作者: 000516's avatar 000516

AP执行-常规陈列、档期计划查看数据时,按部门添加权限(管理角色可以查看全部)

package com.sfa.operation.controller.sales.query;
import com.sfa.common.core.context.UserRoles;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.security.annotation.RequiresPermissions;
import com.sfa.common.security.utils.SecurityUtils;
import com.sfa.operation.pojo.sales.request.SalesApRequest;
import com.sfa.operation.service.sales.IApDisplayQueryService;
import com.sfa.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Set;
/**
* @author : liqiulin
* @date : 2025-09-08 13
......@@ -23,8 +29,20 @@ public class ApDisplayQueryController {
* 查询条件:经销商dealer_code、计划月份sales_month、城市经理city_manager、
* @return
*/
@RequiresPermissions("promotion:display_schedule:list")
@GetMapping("/page")
public PageInfo page(SalesApRequest salesApRequest){
// 判断登录人权限
LoginUser loginUser = SecurityUtils.getLoginUser();
Set<String> roles = loginUser.getRoles();
// 促销AP管理角色,可查看所有数据
if (!roles.contains(UserRoles.PROMOTION_AP_MANAGER)) {
// 查询当前人员部门、姓名
String deptName = loginUser.getSysUser().getDept().getDeptName();
String nickname = loginUser.getNickName();
salesApRequest.setDeptName(deptName)
.setNickName(nickname);
}
return apDisplayQueryService.page(salesApRequest);
}
}
package com.sfa.operation.controller.sales.query;
import com.sfa.common.core.context.UserRoles;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.security.annotation.RequiresPermissions;
import com.sfa.common.security.utils.SecurityUtils;
import com.sfa.operation.pojo.sales.request.SalesApRequest;
import com.sfa.operation.service.sales.IApPromotionQueryService;
import com.sfa.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Set;
/**
* @author : liqiulin
* @date : 2025-09-17 15
......@@ -19,8 +25,20 @@ public class ApPromotionQueryController {
@Autowired
private IApPromotionQueryService apPromotionQueryService;
@RequiresPermissions("promotion:display_schedule:list")
@GetMapping("/page")
public PageInfo page(SalesApRequest salesApRequest){
// 判断登录人权限
LoginUser loginUser = SecurityUtils.getLoginUser();
Set<String> roles = loginUser.getRoles();
// 促销AP管理角色,可查看所有数据
if (!roles.contains(UserRoles.PROMOTION_AP_MANAGER)) {
// 查询当前人员部门、姓名
String deptName = loginUser.getSysUser().getDept().getDeptName();
String nickname = loginUser.getNickName();
salesApRequest.setDeptName(deptName)
.setNickName(nickname);
}
return apPromotionQueryService.page(salesApRequest);
}
......
......@@ -54,6 +54,22 @@ public class SalesApDisplayDaoImpl implements ISalesApDisplayDao {
if (Objects.nonNull(salesApWq.getSalesMonth())){
qw.eq(SalesApDisplay::getSalesMonth, salesApWq.getSalesMonth());
}
if (StringUtils.isNotBlank(salesApWq.getDeptName())){
qw.and(
wrapper -> wrapper.eq(SalesApDisplay::getRegionName, salesApWq.getDeptName())
.or()
.eq(SalesApDisplay::getDistrictName, salesApWq.getDeptName())
);
}
if (StringUtils.isNotBlank(salesApWq.getNickName())){
qw.and(
wrapper -> wrapper.eq(SalesApDisplay::getRegionManager, salesApWq.getNickName())
.or()
.eq(SalesApDisplay::getDistrictManager, salesApWq.getNickName())
.or()
.eq(SalesApDisplay::getCityManager, salesApWq.getNickName())
);
}
return qw;
}
}
......@@ -10,6 +10,7 @@ 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.ISalesApPromotionDao;
import com.sfa.operation.domain.sales.entity.SalesApDisplay;
import com.sfa.operation.domain.sales.entity.SalesApPromotion;
import com.sfa.operation.domain.sales.mapper.SalesApPromotionMapper;
import com.sfa.operation.domain.sales.wq.SalesApWq;
......@@ -79,6 +80,22 @@ public class SalesApPromotionImplDao implements ISalesApPromotionDao {
if (Objects.nonNull(salesApWq.getSalesMonth())){
qw.eq(SalesApPromotion::getSalesMonth, salesApWq.getSalesMonth());
}
if (StringUtils.isNotBlank(salesApWq.getDeptName())){
qw.and(
wrapper -> wrapper.eq(SalesApPromotion::getRegionName, salesApWq.getDeptName())
.or()
.eq(SalesApPromotion::getDistrictName, salesApWq.getDeptName())
);
}
if (StringUtils.isNotBlank(salesApWq.getNickName())){
qw.and(
wrapper -> wrapper.eq(SalesApPromotion::getRegionManager, salesApWq.getNickName())
.or()
.eq(SalesApPromotion::getDistrictManager, salesApWq.getNickName())
.or()
.eq(SalesApPromotion::getCityManager, salesApWq.getNickName())
);
}
return qw;
}
}
......@@ -14,4 +14,6 @@ public class SalesApWq {
private String dealerCode;
private Date salesMonth;
private String cityManager;
private String deptName;
private String nickName;
}
package com.sfa.operation.pojo.sales.request;
import cn.hutool.core.date.DatePattern;
import lombok.Builder;
import lombok.Data;
import lombok.Value;
import lombok.*;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.text.ParseException;
......@@ -14,6 +13,7 @@ import java.util.Date;
* @date : 2025-09-16 14
* @describe :
*/
@Accessors(chain = true)
@Data
public class SalesApRequest {
private String dealerCode;
......@@ -26,6 +26,10 @@ public class SalesApRequest {
private Display display;
private Promotion promotion;
private String deptName;
private String nickName;
@Data
public static class Display{
/**
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论