提交 b9a1640a authored 作者: 000516's avatar 000516

陈列、档期计划【core\query】两类controller合并,方便统一使用条件查询

上级 787c2352
...@@ -23,16 +23,14 @@ import java.util.Optional; ...@@ -23,16 +23,14 @@ import java.util.Optional;
* @describe : 常规陈列、档期陈列、零食陈列 * @describe : 常规陈列、档期陈列、零食陈列
*/ */
@RestController @RestController
@RequestMapping("/sales/ap_display")
public class ApDisplayCoreController { public class ApDisplayCoreController {
@Autowired @Autowired
private IApDisplayCoreService apDisplayCoreService; private IApDisplayCoreService apDisplayCoreService;
@Autowired
private IQinceMarketEmployeeService qinceMarketEmployeeService;
/** /**
* 常规陈列 根据id更新 * 常规陈列 根据id更新
*/ */
@PutMapping("/core/{id}") @PutMapping("/sales/ap_display/core/{id}")
@RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR) @RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR)
public void putDetail(@PathVariable("id") Long sadId, @RequestBody SalesApRequest request){ public void putDetail(@PathVariable("id") Long sadId, @RequestBody SalesApRequest request){
// checkPermission(); // checkPermission();
...@@ -43,7 +41,7 @@ public class ApDisplayCoreController { ...@@ -43,7 +41,7 @@ public class ApDisplayCoreController {
/** /**
* 档期陈列 根据id更新 * 档期陈列 根据id更新
*/ */
@PutMapping("/core_pro/{id}") @PutMapping("/sales/ap_display/core_pro/{id}")
@RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR) @RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR)
public void putProDisplayDetail(@PathVariable("id") Long sapdId, @RequestBody SalesApRequest request){ public void putProDisplayDetail(@PathVariable("id") Long sapdId, @RequestBody SalesApRequest request){
// checkPermission(); // checkPermission();
...@@ -54,7 +52,7 @@ public class ApDisplayCoreController { ...@@ -54,7 +52,7 @@ public class ApDisplayCoreController {
/** /**
* 零食陈列 根据id更新 * 零食陈列 根据id更新
*/ */
@PutMapping("/core_snack/{id}") @PutMapping("/sales/ap_display/core_snack/{id}")
@RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR) @RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR)
public void putSnackDisplayDetail(@PathVariable("id") Long sasdId, @RequestBody SalesApRequest request){ public void putSnackDisplayDetail(@PathVariable("id") Long sasdId, @RequestBody SalesApRequest request){
// checkPermission(); // checkPermission();
...@@ -65,7 +63,7 @@ public class ApDisplayCoreController { ...@@ -65,7 +63,7 @@ public class ApDisplayCoreController {
/** /**
* 三米两秒 * 三米两秒
*/ */
@PutMapping("/core_s/{id}") @PutMapping("/sales/ap_display/core_s/{id}")
@RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR) @RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR)
public void putDisplaySDetail(@PathVariable("id") Long sadsId, @RequestBody SalesApRequest request){ public void putDisplaySDetail(@PathVariable("id") Long sadsId, @RequestBody SalesApRequest request){
// checkPermission(); // checkPermission();
...@@ -76,7 +74,7 @@ public class ApDisplayCoreController { ...@@ -76,7 +74,7 @@ public class ApDisplayCoreController {
/** /**
* 六小金刚 * 六小金刚
*/ */
@PutMapping("/core_j/{id}") @PutMapping("/sales/ap_display/core_j/{id}")
@RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR) @RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR)
public void putDisplayJDetail(@PathVariable("id") Long sadjId, @RequestBody SalesApRequest request){ public void putDisplayJDetail(@PathVariable("id") Long sadjId, @RequestBody SalesApRequest request){
// checkPermission(); // checkPermission();
...@@ -84,6 +82,22 @@ public class ApDisplayCoreController { ...@@ -84,6 +82,22 @@ public class ApDisplayCoreController {
apDisplayCoreService.putDisplayJDetail(request); apDisplayCoreService.putDisplayJDetail(request);
} }
/**
* 更新AP促销计划详情
* 大区总、战区经理、城市经理、TM,可以更新
*/
@PutMapping("/sales/ap_promotion/core/{id}")
@RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR)
public void putPromotionDetail(@PathVariable("id") Long sapId, @RequestBody SalesApRequest request) {
// checkPermission();
request.setSapId(sapId);
apDisplayCoreService.putPromotionDetail(request);
}
// @Autowired
// private IQinceMarketEmployeeService qinceMarketEmployeeService;
// private void checkPermission(){ // private void checkPermission(){
// // 是区域销售部的人员,查看人客关系 // // 是区域销售部的人员,查看人客关系
// LoginUser loginUser = SecurityUtils.getLoginUser(); // LoginUser loginUser = SecurityUtils.getLoginUser();
......
package com.sfa.operation.controller.sales.core;
import com.sfa.common.core.constant.RoleConstants;
import com.sfa.common.core.enums.ECode;
import com.sfa.common.core.exception.CheckedException;
import com.sfa.common.security.annotation.Logical;
import com.sfa.common.security.annotation.RequiresRoles;
import com.sfa.common.security.utils.SecurityUtils;
import com.sfa.operation.pojo.sales.request.SalesApRequest;
import com.sfa.operation.service.qc.IQinceMarketEmployeeService;
import com.sfa.operation.service.sales.IApPromotionCoreService;
import com.sfa.system.api.domain.SysRole;
import com.sfa.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Optional;
/**
* @author : liqiulin
* @date : 2025-09-17 15
* @describe : 档期计划
*/
@RestController
@RequestMapping("/sales/ap_promotion/core")
public class ApPromotionCoreController {
@Autowired
private IApPromotionCoreService apPromotionCoreService;
@Autowired
private IQinceMarketEmployeeService qinceMarketEmployeeService;
/**
* 更新AP促销计划详情
* 大区总、战区经理、城市经理、TM,可以更新
*/
@PutMapping("/{id}")
@RequiresRoles(value = {RoleConstants.OPERATION_AP_MANAGER, RoleConstants.OPERATIONZQ_AP_MANAGER, RoleConstants.OPERATIONDQ_AP_MANAGER, RoleConstants.DISTRICT_AP_MANAGER}, logical = Logical.OR)
public void putDetail(@PathVariable("id") Long sapId, @RequestBody SalesApRequest request) {
// checkPermission();
request.setSapId(sapId);
apPromotionCoreService.updateDetail(request);
}
// private void checkPermission(){
// // 是区域销售部的人员,查看人客关系
// LoginUser loginUser = SecurityUtils.getLoginUser();
// // 只有销售(促销AP管理:cxapgl)、大区TM(大区TM促销AP管理:dqtmcxapgl)两种角色才可以修改
// List<SysRole> roles = loginUser.getSysUser().getRoles();
// Optional<SysRole> first = roles.stream().filter(role -> RoleConstants.DISTRICT_AP_MANAGER.equals(role.getRoleKey()) || RoleConstants.OPERATION_AP_MANAGER.equals(role.getRoleKey())).findFirst();
// if (!first.isPresent()) {
// throw new CheckedException(ECode.ZZ_PRODUCT_QUALITY_AP_ERROR);
// }
//
//// String empNo = loginUser.getUsername();
//// List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo);
//// if (dealerCodes.isEmpty()){
//// throw new CheckedException(ECode.QC_MARKET_EMP_ERROR);
//// }
// }
}
...@@ -31,9 +31,7 @@ import java.util.Optional; ...@@ -31,9 +31,7 @@ import java.util.Optional;
* 三米两秒 * 三米两秒
* 六小金刚 * 六小金刚
*/ */
@RequiresPermissions("promotion:display_schedule:list")
@RestController @RestController
@RequestMapping("/sales/ap_display/query")
public class ApDisplayQueryController { public class ApDisplayQueryController {
@Autowired @Autowired
private IApDisplayQueryService apDisplayQueryService; private IApDisplayQueryService apDisplayQueryService;
...@@ -45,7 +43,7 @@ public class ApDisplayQueryController { ...@@ -45,7 +43,7 @@ public class ApDisplayQueryController {
/** /**
* 常规陈列 * 常规陈列
*/ */
@GetMapping("/page") @GetMapping("/sales/ap_display/query/page")
public PageInfo page(SalesApRequest salesApRequest){ public PageInfo page(SalesApRequest salesApRequest){
checkPermission(salesApRequest); checkPermission(salesApRequest);
return apDisplayQueryService.page(salesApRequest); return apDisplayQueryService.page(salesApRequest);
...@@ -54,7 +52,7 @@ public class ApDisplayQueryController { ...@@ -54,7 +52,7 @@ public class ApDisplayQueryController {
/** /**
* 档期陈列 * 档期陈列
*/ */
@GetMapping("/pro_page") @GetMapping("/sales/ap_display/query/pro_page")
public PageInfo proPage(SalesApRequest salesApRequest){ public PageInfo proPage(SalesApRequest salesApRequest){
checkPermission(salesApRequest); checkPermission(salesApRequest);
return apDisplayQueryService.proPage(salesApRequest); return apDisplayQueryService.proPage(salesApRequest);
...@@ -63,7 +61,7 @@ public class ApDisplayQueryController { ...@@ -63,7 +61,7 @@ public class ApDisplayQueryController {
/** /**
* 零食陈列 * 零食陈列
*/ */
@GetMapping("/snack_page") @GetMapping("/sales/ap_display/query/snack_page")
public PageInfo snackPage(SalesApRequest salesApRequest){ public PageInfo snackPage(SalesApRequest salesApRequest){
checkPermission(salesApRequest); checkPermission(salesApRequest);
return apDisplayQueryService.snackPage(salesApRequest); return apDisplayQueryService.snackPage(salesApRequest);
...@@ -72,7 +70,7 @@ public class ApDisplayQueryController { ...@@ -72,7 +70,7 @@ public class ApDisplayQueryController {
/** /**
* 三米两秒 * 三米两秒
*/ */
@GetMapping("/sl_page") @GetMapping("/sales/ap_display/query/sl_page")
public PageInfo slPage(SalesApRequest salesApRequest){ public PageInfo slPage(SalesApRequest salesApRequest){
checkPermission(salesApRequest); checkPermission(salesApRequest);
return apDisplayQueryService.slPage(salesApRequest); return apDisplayQueryService.slPage(salesApRequest);
...@@ -81,12 +79,21 @@ public class ApDisplayQueryController { ...@@ -81,12 +79,21 @@ public class ApDisplayQueryController {
/** /**
* 六小金刚 * 六小金刚
*/ */
@GetMapping("/jg_page") @GetMapping("/sales/ap_display/query/jg_page")
public PageInfo jgPage(SalesApRequest salesApRequest){ public PageInfo jgPage(SalesApRequest salesApRequest){
checkPermission(salesApRequest); checkPermission(salesApRequest);
return apDisplayQueryService.jgPage(salesApRequest); return apDisplayQueryService.jgPage(salesApRequest);
} }
/**
* 档期计划
*/
@GetMapping("/sales/ap_promotion/query/page")
public PageInfo promotionPage(SalesApRequest salesApRequest){
checkPermission(salesApRequest);
return apDisplayQueryService.promotionPage(salesApRequest);
}
/** /**
* 判断登录人权限 * 判断登录人权限
* 判断是否存在人客关系,存在:根据负责经销商查询数据;不存在:判断是否是销售部人员。是:根据部门查询;不是:返回全部数据 * 判断是否存在人客关系,存在:根据负责经销商查询数据;不存在:判断是否是销售部人员。是:根据部门查询;不是:返回全部数据
......
package com.sfa.operation.controller.sales.query;
import com.sfa.common.core.constant.RoleConstants;
import com.sfa.common.core.enums.ECode;
import com.sfa.common.core.exception.CheckedException;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.security.utils.SecurityUtils;
import com.sfa.operation.config.ConstantValue;
import com.sfa.operation.pojo.sales.request.SalesApRequest;
import com.sfa.operation.service.qc.IQinceMarketEmployeeService;
import com.sfa.operation.service.sales.IApPromotionQueryService;
import com.sfa.system.api.domain.SysRole;
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.Arrays;
import java.util.List;
import java.util.Optional;
/**
* @author : liqiulin
* @date : 2025-09-17 15
* @describe : 档期计划
*/
@RestController
@RequestMapping("/sales/ap_promotion/query")
public class ApPromotionQueryController {
@Autowired
private IApPromotionQueryService apPromotionQueryService;
@Autowired
private IQinceMarketEmployeeService qinceMarketEmployeeService;
@Autowired
private ConstantValue constantValue;
@GetMapping("/page")
public PageInfo page(SalesApRequest salesApRequest){
checkPermission(salesApRequest);
return apPromotionQueryService.page(salesApRequest);
}
/**
* 判断登录人权限
* 判断是否存在人客关系,存在:根据负责经销商查询数据;不存在:判断是否是销售部人员。是:根据部门查询;不是:返回全部数据
*/
private void checkPermission(SalesApRequest salesApRequest) {
LoginUser loginUser = SecurityUtils.getLoginUser();
String ancestors = loginUser.getSysUser().getDept().getAncestors();
List<SysRole> roles = loginUser.getSysUser().getRoles();
// 不是区域销售部的人员,可以查看所有
if (!ancestors.contains(constantValue.deptYX) && roles.stream().filter(role -> RoleConstants.OPERATION_CENTER_AP_MANAGER.equals(role.getRoleKey())).findFirst().isPresent()) {
return;
}
// 是区域销售部的人员:1、销售查看人客关系;2、大区TM查看当前部门下所有数据
// 判断是否是大区TM
String empNo = loginUser.getUsername();
Optional<SysRole> first = roles.stream().filter(role -> RoleConstants.DISTRICT_AP_MANAGER.equals(role.getRoleKey())).findFirst();
if (first.isPresent()) {
String deptName = loginUser.getSysUser().getDept().getDeptName();
salesApRequest.setDeptNames("000889".equals(empNo) ? Arrays.asList(deptName,"北京特区") : Arrays.asList(deptName));
return;
}
// 不是大区TM,判断是否是销售人员(人客关系)
List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo);
if (dealerCodes.isEmpty()) {
throw new CheckedException(ECode.QC_MARKET_EMP_ERROR);
}
// salesApRequest.setNickName(loginUser.getNickName());
salesApRequest.setDealerCodes(dealerCodes);
}
}
...@@ -17,4 +17,6 @@ public interface IApDisplayCoreService { ...@@ -17,4 +17,6 @@ public interface IApDisplayCoreService {
void putDisplaySDetail(SalesApRequest request); void putDisplaySDetail(SalesApRequest request);
void putDisplayJDetail(SalesApRequest request); void putDisplayJDetail(SalesApRequest request);
void putPromotionDetail(SalesApRequest request);
} }
...@@ -21,6 +21,8 @@ public interface IApDisplayQueryService { ...@@ -21,6 +21,8 @@ public interface IApDisplayQueryService {
PageInfo jgPage(SalesApRequest salesApRequest); PageInfo jgPage(SalesApRequest salesApRequest);
PageInfo promotionPage(SalesApRequest salesApRequest);
Object queryStoreAPReport(SalesApRequest request); Object queryStoreAPReport(SalesApRequest request);
Object queryDeptAPReport(SalesApRequest request); Object queryDeptAPReport(SalesApRequest request);
......
package com.sfa.operation.service.sales;
import com.sfa.operation.pojo.sales.request.SalesApRequest;
/**
* @author : liqiulin
* @date : 2025-09-17 15
* @describe :
*/
public interface IApPromotionCoreService {
void updateDetail(SalesApRequest request);
}
package com.sfa.operation.service.sales;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.operation.pojo.sales.request.SalesApRequest;
/**
* @author : liqiulin
* @date : 2025-09-17 15
* @describe :
*/
public interface IApPromotionQueryService {
PageInfo page(SalesApRequest salesApRequest);
}
package com.sfa.operation.service.sales.impl; package com.sfa.operation.service.sales.impl;
import cn.hutool.core.date.DatePattern;
import com.sfa.common.security.utils.SecurityUtils; import com.sfa.common.security.utils.SecurityUtils;
import com.sfa.operation.domain.sales.dao.*; import com.sfa.operation.domain.sales.dao.*;
import com.sfa.operation.pojo.sales.request.SalesApRequest; import com.sfa.operation.pojo.sales.request.SalesApRequest;
...@@ -9,6 +10,10 @@ import org.springframework.beans.BeanUtils; ...@@ -9,6 +10,10 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.util.Date;
import java.util.Objects;
/** /**
* @author : liqiulin * @author : liqiulin
* @date : 2025-09-16 16 * @date : 2025-09-16 16
...@@ -26,6 +31,8 @@ public class ApDisplayCoreServiceImpl implements IApDisplayCoreService { ...@@ -26,6 +31,8 @@ public class ApDisplayCoreServiceImpl implements IApDisplayCoreService {
private ISalesApDisplaySDao salesApDisplaySDao; private ISalesApDisplaySDao salesApDisplaySDao;
@Autowired @Autowired
private ISalesApDisplayJDao salesApDisplayJDao; private ISalesApDisplayJDao salesApDisplayJDao;
@Autowired
private ISalesApPromotionDao salesApPromotionDao;
@Override @Override
public void updateDetail(SalesApRequest request) { public void updateDetail(SalesApRequest request) {
SalesApDisplayDto salesApDisplayDto = new SalesApDisplayDto(); SalesApDisplayDto salesApDisplayDto = new SalesApDisplayDto();
...@@ -70,4 +77,37 @@ public class ApDisplayCoreServiceImpl implements IApDisplayCoreService { ...@@ -70,4 +77,37 @@ public class ApDisplayCoreServiceImpl implements IApDisplayCoreService {
djDto.setUpdateBy(SecurityUtils.getNickName()); djDto.setUpdateBy(SecurityUtils.getNickName());
salesApDisplayJDao.updateDetail(djDto); salesApDisplayJDao.updateDetail(djDto);
} }
@Override
public void putPromotionDetail(SalesApRequest request) {
// 修改DB 日期值为null
try {
SalesApPromotionDto dto = new SalesApPromotionDto();
SalesApRequest.Promotion promotion = request.getPromotion();
BeanUtils.copyProperties(promotion, dto);
dto.setSapId(request.getSapId());
Date parse = DatePattern.NORM_DATE_FORMAT.parse("2000-01-01");
if (Objects.isNull(promotion.getActualPromotionStartDate())) {
dto.setIsActualPromotionStartDate(true);
} else if (promotion.getActualPromotionStartDate().compareTo(parse) == 0) {
dto.setIsActualPromotionStartDate(false);
}else {
dto.setIsActualPromotionStartDate(true);
}
if (Objects.isNull(promotion.getActualPromotionEndDate())) {
// DB 日期值无需修改
dto.setIsActualPromotionEndDate(true);
} else if (promotion.getActualPromotionEndDate().compareTo(parse) == 0) {
// DB 日期值无需修改
dto.setIsActualPromotionEndDate(false);
}else {
dto.setIsActualPromotionEndDate(true);
}
dto.setUpdateBy(SecurityUtils.getNickName());
salesApPromotionDao.updateById(dto);
} catch (ParseException e) {
e.printStackTrace();
}
}
} }
...@@ -2,6 +2,7 @@ package com.sfa.operation.service.sales.impl; ...@@ -2,6 +2,7 @@ package com.sfa.operation.service.sales.impl;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.sfa.common.core.utils.StringUtils;
import com.sfa.common.core.utils.bean.BeanUtils; 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;
...@@ -11,8 +12,10 @@ import com.sfa.operation.pojo.sales.request.SalesApRequest; ...@@ -11,8 +12,10 @@ import com.sfa.operation.pojo.sales.request.SalesApRequest;
import com.sfa.operation.service.sales.IApDisplayQueryService; import com.sfa.operation.service.sales.IApDisplayQueryService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.awt.dnd.Autoscroll; import java.awt.dnd.Autoscroll;
import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
...@@ -32,7 +35,8 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService { ...@@ -32,7 +35,8 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService {
private ISalesApDisplaySDao salesApDisplaySDao; private ISalesApDisplaySDao salesApDisplaySDao;
@Autowired @Autowired
private ISalesApDisplayJDao salesApDisplayJDao; private ISalesApDisplayJDao salesApDisplayJDao;
@Autowired
private ISalesApPromotionDao salesApPromotionDao;
@Override @Override
public PageInfo page(SalesApRequest salesApRequest) { public PageInfo page(SalesApRequest salesApRequest) {
...@@ -59,6 +63,11 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService { ...@@ -59,6 +63,11 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService {
return salesApDisplayJDao.page(build(salesApRequest)); return salesApDisplayJDao.page(build(salesApRequest));
} }
@Override
public PageInfo promotionPage(SalesApRequest salesApRequest) {
return salesApPromotionDao.page(build(salesApRequest));
}
@Override @Override
public Object queryStoreAPReport(SalesApRequest salesApRequest) { public Object queryStoreAPReport(SalesApRequest salesApRequest) {
return salesApDisplayDao.queryStoreAPReport(build(salesApRequest)); return salesApDisplayDao.queryStoreAPReport(build(salesApRequest));
...@@ -73,6 +82,12 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService { ...@@ -73,6 +82,12 @@ public class ApDisplayQueryServiceImpl implements IApDisplayQueryService {
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);
// departmentName 部门名称
if (StringUtils.isNotBlank(salesApRequest.getDeptName())){
List<String> deptNames = CollectionUtils.isEmpty(salesApWq.getDeptNames()) ? Arrays.asList() : salesApWq.getDeptNames();
deptNames.add(salesApRequest.getDeptName());
salesApWq.setDeptNames(deptNames);
}
return salesApWq; return salesApWq;
} }
} }
package com.sfa.operation.service.sales.impl;
import cn.hutool.core.date.DatePattern;
import com.sfa.common.security.utils.SecurityUtils;
import com.sfa.operation.domain.sales.dao.ISalesApPromotionDao;
import com.sfa.operation.pojo.sales.request.SalesApRequest;
import com.sfa.operation.pojo.sales.response.SalesApPromotionDto;
import com.sfa.operation.service.sales.IApPromotionCoreService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.util.Date;
import java.util.Objects;
/**
* @author : liqiulin
* @date : 2025-09-17 15
* @describe :
*/
@Service
public class ApPromotionCoreServiceImpl implements IApPromotionCoreService {
@Autowired
private ISalesApPromotionDao salesApPromotionDao;
@Override
public void updateDetail(SalesApRequest request) {
// 修改DB 日期值为null
try {
SalesApPromotionDto dto = new SalesApPromotionDto();
SalesApRequest.Promotion promotion = request.getPromotion();
BeanUtils.copyProperties(promotion, dto);
dto.setSapId(request.getSapId());
Date parse = DatePattern.NORM_DATE_FORMAT.parse("2000-01-01");
if (Objects.isNull(promotion.getActualPromotionStartDate())) {
dto.setIsActualPromotionStartDate(true);
} else if (promotion.getActualPromotionStartDate().compareTo(parse) == 0) {
dto.setIsActualPromotionStartDate(false);
}else {
dto.setIsActualPromotionStartDate(true);
}
if (Objects.isNull(promotion.getActualPromotionEndDate())) {
// DB 日期值无需修改
dto.setIsActualPromotionEndDate(true);
} else if (promotion.getActualPromotionEndDate().compareTo(parse) == 0) {
// DB 日期值无需修改
dto.setIsActualPromotionEndDate(false);
}else {
dto.setIsActualPromotionEndDate(true);
}
dto.setUpdateBy(SecurityUtils.getNickName());
salesApPromotionDao.updateById(dto);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
package com.sfa.operation.service.sales.impl;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.operation.domain.sales.dao.ISalesApPromotionDao;
import com.sfa.operation.domain.sales.wq.SalesApWq;
import com.sfa.operation.pojo.sales.request.SalesApRequest;
import com.sfa.operation.service.sales.IApPromotionQueryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author : liqiulin
* @date : 2025-09-17 15
* @describe :
*/
@Service
public class ApPromotionQueryServiceImpl implements IApPromotionQueryService {
@Autowired
private ISalesApPromotionDao salesApPromotionDao;
@Override
public PageInfo page(SalesApRequest salesApRequest) {
SalesApWq salesApWq = new SalesApWq();
BeanUtils.copyProperties(salesApRequest,salesApWq);
salesApWq.setSalesMonth(salesApRequest.getSalesMonth() != null ? DateUtil.parse(salesApRequest.getSalesMonth() + "-01", DatePattern.NORM_DATE_PATTERN) : null);
return salesApPromotionDao.page(salesApWq);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论