提交 3a251bd8 authored 作者: 000516's avatar 000516

档期陈列、零食陈列根据ID个性

上级 2a5ed7ca
......@@ -8,19 +8,38 @@ import org.springframework.web.bind.annotation.*;
/**
* @author : liqiulin
* @date : 2025-09-16 15
* @describe :
* @describe : 常规陈列、档期陈列、零食陈列
*/
@RestController
@RequestMapping("/sales/ap_display/core")
@RequestMapping("/sales/ap_display")
public class ApDisplayCoreController {
@Autowired
private IApDisplayCoreService apDisplayCoreService;
/**
* 根据id更新
* 常规陈列 根据id更新
*/
@PutMapping("/{id}")
@PutMapping("/core/{id}")
public void putDetail(@PathVariable("id") Long sadId, @RequestBody SalesApRequest request){
request.setSadId(sadId);
apDisplayCoreService.updateDetail(request);
}
/**
* 档期陈列 根据id更新
*/
@PutMapping("/core_pro/{id}")
public void putProDisplayDetail(@PathVariable("id") Long sapdId, @RequestBody SalesApRequest request){
request.setSapdId(sapdId);
apDisplayCoreService.putProDisplayDetail(request);
}
/**
* 零食陈列 根据id更新
*/
@PutMapping("/core_snack/{id}")
public void putSnackDisplayDetail(@PathVariable("id") Long sasdId, @RequestBody SalesApRequest request){
request.setSasdId(sasdId);
apDisplayCoreService.putSnackDisplayDetail(request);
}
}
......@@ -2,6 +2,7 @@ package com.sfa.operation.domain.sales.dao;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.operation.domain.sales.wq.SalesApWq;
import com.sfa.operation.pojo.sales.response.SalesApPromotionDisplayDto;
/**
* @author : liqiulin
......@@ -10,4 +11,6 @@ import com.sfa.operation.domain.sales.wq.SalesApWq;
*/
public interface ISalesApPromotionDisplayDao {
PageInfo page(SalesApWq salesApWq);
void updateDetail(SalesApPromotionDisplayDto pdDto);
}
......@@ -2,6 +2,7 @@ package com.sfa.operation.domain.sales.dao;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.operation.domain.sales.wq.SalesApWq;
import com.sfa.operation.pojo.sales.response.SalesApSnacksDisplayDto;
/**
* @author : liqiulin
......@@ -10,4 +11,6 @@ import com.sfa.operation.domain.sales.wq.SalesApWq;
*/
public interface ISalesApSnacksDisplayDao {
PageInfo page(SalesApWq salesApWq);
void updateDetail(SalesApSnacksDisplayDto sdDto);
}
......@@ -10,6 +10,8 @@ import com.sfa.operation.domain.sales.dao.ISalesApPromotionDisplayDao;
import com.sfa.operation.domain.sales.entity.SalesApPromotionDisplay;
import com.sfa.operation.domain.sales.mapper.SalesApPromotionDisplayMapper;
import com.sfa.operation.domain.sales.wq.SalesApWq;
import com.sfa.operation.pojo.sales.response.SalesApPromotionDisplayDto;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -31,6 +33,14 @@ public class SalesApPromotionDisplayDaoImpl implements ISalesApPromotionDisplayD
Page<SalesApPromotionDisplay> page = salesApPromotionDisplayMapper.selectPage(TableSupport.pageI(), qw);
return new PageInfo<>(page);
}
@Override
public void updateDetail(SalesApPromotionDisplayDto pdDto) {
SalesApPromotionDisplay pd = new SalesApPromotionDisplay();
BeanUtils.copyProperties(pdDto,pd);
salesApPromotionDisplayMapper.updateById(pd);
}
private LambdaQueryWrapper<SalesApPromotionDisplay> buildWq(SalesApWq salesApWq) {
LambdaQueryWrapper<SalesApPromotionDisplay> qw = new LambdaQueryWrapper<>();
if (Objects.nonNull(salesApWq.getSalesMonth())){
......
......@@ -10,6 +10,8 @@ import com.sfa.operation.domain.sales.dao.ISalesApSnacksDisplayDao;
import com.sfa.operation.domain.sales.entity.SalesApSnacksDisplay;
import com.sfa.operation.domain.sales.mapper.SalesApSnacksDisplayMapper;
import com.sfa.operation.domain.sales.wq.SalesApWq;
import com.sfa.operation.pojo.sales.response.SalesApSnacksDisplayDto;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -32,6 +34,13 @@ public class SalesApSnacksDisplayDaoImpl implements ISalesApSnacksDisplayDao {
return new PageInfo(page);
}
@Override
public void updateDetail(SalesApSnacksDisplayDto sdDto) {
SalesApSnacksDisplay salesApSnacksDisplay = new SalesApSnacksDisplay();
BeanUtils.copyProperties(sdDto, salesApSnacksDisplay);
salesapsnackdsDisplayMapper.updateById(salesApSnacksDisplay);
}
private LambdaQueryWrapper<SalesApSnacksDisplay> buildWq(SalesApWq salesApWq) {
LambdaQueryWrapper<SalesApSnacksDisplay> qw = new LambdaQueryWrapper<>();
if (Objects.nonNull(salesApWq.getSalesMonth())){
......
......@@ -16,18 +16,35 @@ import java.util.Date;
@Accessors(chain = true)
@Data
public class SalesApRequest {
// ######################## 通用查询 ########################
private String dealerCode;
private String salesMonth;
private String cityManager;
private String deptName;
private String nickName;
private Long sadId;
private Long sapId;
// ######################## 通用查询 ########################
/**
* 常规陈列表ID
*/
private Long sadId;
private Display display;
/**
* 档期计划表ID
*/
private Long sapId;
private Promotion promotion;
private String deptName;
private String nickName;
private Long sapdId;
private PromotionDisplay promotionDisplay;
/**
* 零食陈列表ID
*/
private Long sasdId;
private SnackDisplay snackDisplay;
@Data
......@@ -180,6 +197,61 @@ public class SalesApRequest {
private String posterExecutionStatus;
}
private class SnackDisplay {
/**
* 实际-陈列形式
*/
private String actualDisplay;
/**
* 实际-端架数量(组)
*/
private Double actualEndCapQty;
}
private class PromotionDisplay {
/**
* 实际端架-数量
*/
private Double actualEndCapQty;
/**
* 实际端架-是否执行
*/
private String actualEndCapExecuted;
/**
* 实际地堆-平米数(㎡)
*/
private Double actualFloorStackArea;
/**
* 实际地堆-数量
*/
private Integer actualFloorStackQty;
/**
* 实际地堆是否执行
*/
private String actualFloorStackExecuted;
/**
* 实际其他陈列-数量+形式
*/
private String actualOtherDisplay;
/**
* 实际其他陈列-是否执行
*/
private String actualOtherDisplayExecuted;
/**
* 档期陈列是否执行
*/
private String promotionDisplayExecuted;
}
}
package com.sfa.operation.pojo.sales.response;
import lombok.Data;
/**
* @author : liqiulin
* @date : 2025-09-26 15
* @describe :
*/
@Data
public class SalesApPromotionDisplayDto {
private Long sapdId;
/**
* 实际端架-数量
*/
private Double actualEndCapQty;
/**
* 实际端架-是否执行
*/
private String actualEndCapExecuted;
/**
* 实际地堆-平米数(㎡)
*/
private Double actualFloorStackArea;
/**
* 实际地堆-数量
*/
private Integer actualFloorStackQty;
/**
* 实际地堆是否执行
*/
private String actualFloorStackExecuted;
/**
* 实际其他陈列-数量+形式
*/
private String actualOtherDisplay;
/**
* 实际其他陈列-是否执行
*/
private String actualOtherDisplayExecuted;
/**
* 档期陈列是否执行
*/
private String promotionDisplayExecuted;
}
package com.sfa.operation.pojo.sales.response;
import lombok.Data;
/**
* @author : liqiulin
* @date : 2025-09-26 14
* @describe :
*/
@Data
public class SalesApSnacksDisplayDto {
private Long sasdId;
/**
* 实际-陈列形式
*/
private String actualDisplay;
/**
* 实际-端架数量(组)
*/
private Double actualEndCapQty;
}
......@@ -9,4 +9,8 @@ import com.sfa.operation.pojo.sales.request.SalesApRequest;
*/
public interface IApDisplayCoreService {
void updateDetail(SalesApRequest request);
void putSnackDisplayDetail(SalesApRequest request);
void putProDisplayDetail(SalesApRequest request);
}
package com.sfa.operation.service.sales.impl;
import com.sfa.operation.domain.sales.dao.ISalesApDisplayDao;
import com.sfa.operation.domain.sales.dao.ISalesApPromotionDisplayDao;
import com.sfa.operation.domain.sales.dao.ISalesApSnacksDisplayDao;
import com.sfa.operation.pojo.sales.request.SalesApRequest;
import com.sfa.operation.pojo.sales.response.SalesApDisplayDto;
import com.sfa.operation.pojo.sales.response.SalesApPromotionDisplayDto;
import com.sfa.operation.pojo.sales.response.SalesApSnacksDisplayDto;
import com.sfa.operation.service.sales.IApDisplayCoreService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -16,7 +20,11 @@ import org.springframework.stereotype.Service;
@Service
public class ApDisplayCoreServiceImpl implements IApDisplayCoreService {
@Autowired
ISalesApDisplayDao salesApDisplayDao;
private ISalesApDisplayDao salesApDisplayDao;
@Autowired
private ISalesApSnacksDisplayDao salesApSnacksDisplayDao;
@Autowired
private ISalesApPromotionDisplayDao salesApPromotionDisplayDao;
@Override
public void updateDetail(SalesApRequest request) {
SalesApDisplayDto salesApDisplayDto = new SalesApDisplayDto();
......@@ -24,4 +32,20 @@ public class ApDisplayCoreServiceImpl implements IApDisplayCoreService {
salesApDisplayDto.setSadId(request.getSadId());
salesApDisplayDao.updateDetail(salesApDisplayDto);
}
@Override
public void putSnackDisplayDetail(SalesApRequest request) {
SalesApSnacksDisplayDto sdDto = new SalesApSnacksDisplayDto();
BeanUtils.copyProperties(request.getSnackDisplay(), sdDto);
sdDto.setSasdId(request.getSasdId());
salesApSnacksDisplayDao.updateDetail(sdDto);
}
@Override
public void putProDisplayDetail(SalesApRequest request) {
SalesApPromotionDisplayDto pdDto = new SalesApPromotionDisplayDto();
BeanUtils.copyProperties(request.getPromotionDisplay(), pdDto);
pdDto.setSapdId(request.getSapdId());
salesApPromotionDisplayDao.updateDetail(pdDto);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论