提交 ce87bc49 authored 作者: 吕本才's avatar 吕本才

1、下拉列表接口

上级 1350e406
package com.link.bi.controller.query;
import com.github.pagehelper.PageInfo;
import com.link.bi.pojo.request.FinanceSelectCommonVo;
import com.link.bi.pojo.request.FinanceCostVo;
import com.link.bi.pojo.response.FinanceBaseProductListDto;
import com.link.bi.pojo.response.FinanceZbjTypeListDto;
import com.link.bi.service.FinanceBaseProductService;
import com.link.bi.service.FinanceBaseZbjTypeService;
import com.link.bi.service.FinanceOrderDetailService;
import com.sfa.common.core.web.controller.BaseController;
import com.sfa.common.security.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 财务bi分析
......@@ -22,9 +26,13 @@ import org.springframework.web.bind.annotation.RestController;
public class FinanceOrderQueryController extends BaseController {
@Autowired
private FinanceOrderDetailService detailService;
@Autowired
private FinanceBaseZbjTypeService baseZbjTypeService;
@Autowired
private FinanceBaseProductService baseProductService;
/**
* 财务成本聚合查询
* 财务成本聚合列表
*/
@RequiresPermissions("bi:finance:list")
@PostMapping("/cost/list")
......@@ -34,7 +42,7 @@ public class FinanceOrderQueryController extends BaseController {
/**
* 财务成本聚合查询
* 财务成本聚合详情查询
*/
@RequiresPermissions("bi:finance:list")
@PostMapping("/cost/detail/list")
......@@ -42,4 +50,35 @@ public class FinanceOrderQueryController extends BaseController {
return detailService.selectBiFinanceCostDetailList(financeCostVo);
}
// 直播间类型下拉
@RequiresPermissions("bi:finance:list")
@GetMapping("/zbjType/list")
public List<FinanceZbjTypeListDto> baseZbjTypeList(FinanceSelectCommonVo commonVo) {
return baseZbjTypeService.baseZbjTypeList(commonVo);
}
// 口味
@RequiresPermissions("bi:finance:list")
@GetMapping("/flavor/list")
public List<FinanceBaseProductListDto> flavorList(FinanceSelectCommonVo commonVo) {
return baseProductService.flavorList(commonVo);
}
// 规格
@RequiresPermissions("bi:finance:list")
@GetMapping("/spec/list")
public List<FinanceBaseProductListDto> specList(FinanceSelectCommonVo commonVo) {
return baseProductService.specList(commonVo);
}
// 系列
@RequiresPermissions("bi:finance:list")
@GetMapping("/serieses/list")
public List<FinanceBaseProductListDto> seriesList(FinanceSelectCommonVo commonVo) {
return baseProductService.seriesList(commonVo);
}
// 商品名称
@RequiresPermissions("bi:finance:list")
@GetMapping("/productName/list")
public List<FinanceBaseProductListDto> productNameList(FinanceSelectCommonVo commonVo) {
return baseProductService.productNameList(commonVo);
}
}
......@@ -8,7 +8,7 @@ import java.math.BigDecimal;
/**
* finance_base_product 表对应的 料号基本信息表。
* 主要字段实际成本、标准成本、规格、口味
* @author lvbcai
* @author lvbencai
* @date 2025年01月07日10:04:25
*/
@Data
......@@ -34,6 +34,9 @@ public class FinanceBaseProduct {
private String spec;
// 口味
private String flavor;
// 系列
private String series;
// 产品分类编码
private String productClassificationCode;
// 产品分类
......
package com.link.bi.domain.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.link.bi.domain.entity.FinanceBaseProduct;
import org.apache.ibatis.annotations.Mapper;
public interface FinanceBaseProductMapper extends BaseMapper<FinanceBaseProduct> {
@Mapper
public interface FinanceBaseProductMapper extends BaseMapper<FinanceBaseProduct> {
}
package com.link.bi.domain.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.link.bi.domain.entity.FinanceBaseZbjType;
import org.apache.ibatis.annotations.Mapper;
public interface FinanceBaseZbjTypeMapper extends BaseMapper<FinanceBaseZbjType> {
@Mapper
public interface FinanceBaseZbjTypeMapper extends BaseMapper<FinanceBaseZbjType> {
}
package com.link.bi.pojo.request;
import lombok.Data;
/**
* 财务成本页面下拉选择框搜索的通用vo
*/
@Data
public class FinanceSelectCommonVo {
private String keyword;
}
package com.link.bi.pojo.response;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
/**
* 财务成本计算基础产品信息列表DTO
* @date : 2025-01-15 17:01:00
* @author : lvbencai
*/
@Data
public class FinanceBaseProductListDto {
@JsonInclude(JsonInclude.Include.NON_NULL)
private Integer fbpId;
// 料号
@JsonInclude(JsonInclude.Include.NON_NULL)
private String prdCode;
// 品名
@JsonInclude(JsonInclude.Include.NON_NULL)
private String prdName;
// 规格
@JsonInclude(JsonInclude.Include.NON_NULL)
private String spec;
// 口味
@JsonInclude(JsonInclude.Include.NON_NULL)
private String flavor;
@JsonInclude(JsonInclude.Include.NON_NULL)
private String series;
}
package com.link.bi.pojo.response;
import lombok.Data;
/**
* 财务订单明细对应的直播间类型
* @date : 2025-01-15 17:01:00
* @author : lvbencai
*/
@Data
public class FinanceZbjTypeListDto {
// 分销商名称
private String fenxiaoName;
// 直播间渠道类型 有分销商id,不是以上几类的,统一为达人 没有分销商id的,默认为商城
private String zbjQdType;
}
package com.link.bi.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.link.bi.domain.entity.FinanceBaseProduct;
import com.link.bi.pojo.request.FinanceSelectCommonVo;
import com.link.bi.pojo.response.FinanceBaseProductListDto;
import java.util.List;
import java.util.Map;
public interface FinanceBaseProductService extends IService<FinanceBaseProduct> {
Map<String,FinanceBaseProduct> selectBaseProduct();
Map<String,FinanceBaseProduct> selectBaseProduct();
boolean saveProduct(FinanceBaseProduct product);
boolean removeProductById(Integer id);
boolean updateProduct(FinanceBaseProduct product);
FinanceBaseProduct getProductById(Integer id);
IPage<FinanceBaseProduct> pageProduct(IPage<FinanceBaseProduct> page, Wrapper<FinanceBaseProduct> wrapper);
List<FinanceBaseProductListDto> flavorList(FinanceSelectCommonVo commonVo);
List<FinanceBaseProductListDto> specList(FinanceSelectCommonVo commonVo);
List<FinanceBaseProductListDto> productNameList(FinanceSelectCommonVo commonVo);
List<FinanceBaseProductListDto> seriesList(FinanceSelectCommonVo commonVo);
}
package com.link.bi.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.link.bi.domain.entity.FinanceBaseZbjType;
import com.link.bi.pojo.request.FinanceSelectCommonVo;
import com.link.bi.pojo.response.FinanceZbjTypeListDto;
import java.util.List;
import java.util.Map;
public interface FinanceBaseZbjTypeService extends IService<FinanceBaseZbjType> {
public interface FinanceBaseZbjTypeService extends IService<FinanceBaseZbjType> {
boolean saveFinanceBaseZbjType(FinanceBaseZbjType financeBaseZbjType);
boolean removeFinanceBaseZbjTypeById(Long id);
boolean updateFinanceBaseZbjTypeById(FinanceBaseZbjType financeBaseZbjType);
FinanceBaseZbjType getFinanceBaseZbjTypeById(Long id);
IPage<FinanceZbjTypeListDto> pageFinanceBaseZbjType(String keyword);
Map<String,String> selectBaseZbjType();
List<FinanceZbjTypeListDto> baseZbjTypeList(FinanceSelectCommonVo commonVo);
}
package com.link.bi.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.link.bi.domain.entity.FinanceBaseProduct;
import com.link.bi.domain.mapper.FinanceBaseProductMapper;
import com.link.bi.pojo.request.FinanceSelectCommonVo;
import com.link.bi.pojo.response.FinanceBaseProductListDto;
import com.link.bi.service.FinanceBaseProductService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 旺店通订单Service业务层处理
......@@ -23,6 +33,7 @@ import java.util.Map;
@Service
public class FinanceBaseProductServiceImpl extends ServiceImpl<FinanceBaseProductMapper, FinanceBaseProduct> implements FinanceBaseProductService {
@Override
public Map<String, FinanceBaseProduct> selectBaseProduct() {
// 查询所有商品
......@@ -31,5 +42,124 @@ public class FinanceBaseProductServiceImpl extends ServiceImpl<FinanceBaseProduc
Map<String, FinanceBaseProduct> map = list.stream()
.collect(HashMap::new, (k, v) -> k.put(v.getPrdCode(), v), HashMap::putAll);
return map;
}
}
@Override
public boolean saveProduct(FinanceBaseProduct product) {
return this.save(product);
}
@Override
public boolean removeProductById(Integer id) {
return this.removeById(id);
}
@Override
public boolean updateProduct(FinanceBaseProduct product) {
return this.updateById(product);
}
@Override
public FinanceBaseProduct getProductById(Integer id) {
return this.getById(id);
}
@Override
public IPage<FinanceBaseProduct> pageProduct(IPage<FinanceBaseProduct> page, Wrapper<FinanceBaseProduct> wrapper) {
return this.page(page, wrapper);
}
@Override
public List<FinanceBaseProductListDto> flavorList(FinanceSelectCommonVo commonVo) {
LambdaQueryWrapper<FinanceBaseProduct> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(FinanceBaseProduct::getFlavor);
queryWrapper.like(commonVo.getKeyword() != null && !commonVo.getKeyword().isEmpty(), FinanceBaseProduct::getFlavor, commonVo.getKeyword());
queryWrapper.groupBy(FinanceBaseProduct::getFlavor);
queryWrapper.orderByDesc(FinanceBaseProduct::getFlavor);
List<FinanceBaseProduct> list = list(queryWrapper);
// 转化成List<FinanceZbjTypeListDto>
List<FinanceBaseProductListDto> collect = list.stream()
.filter(Objects::nonNull)
.map(item -> {
FinanceBaseProductListDto dto = new FinanceBaseProductListDto();
dto.setFbpId(item.getFbpId());
dto.setPrdCode(item.getPrdCode());
dto.setPrdName(item.getPrdName());
dto.setFlavor(item.getFlavor());
return dto;
}).collect(Collectors.toList());
return collect;
}
@Override
public List<FinanceBaseProductListDto> specList(FinanceSelectCommonVo commonVo) {
LambdaQueryWrapper<FinanceBaseProduct> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(FinanceBaseProduct::getSpec);
queryWrapper.like(commonVo.getKeyword() != null && !commonVo.getKeyword().isEmpty(), FinanceBaseProduct::getSpec, commonVo.getKeyword());
queryWrapper.groupBy(FinanceBaseProduct::getSpec);
queryWrapper.orderByDesc(FinanceBaseProduct::getSpec);
List<FinanceBaseProduct> list = list(queryWrapper);
// 转化成List<FinanceZbjTypeListDto>
List<FinanceBaseProductListDto> collect = list.stream()
.filter(Objects::nonNull)
.map(item -> {
FinanceBaseProductListDto dto = new FinanceBaseProductListDto();
BeanUtils.copyProperties(item, dto);
return dto;
}).collect(Collectors.toList());
return collect;
}
@Override
public List<FinanceBaseProductListDto> productNameList(FinanceSelectCommonVo commonVo) {
LambdaQueryWrapper<FinanceBaseProduct> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(FinanceBaseProduct::getPrdName);
queryWrapper.like(commonVo.getKeyword() != null && !commonVo.getKeyword().isEmpty(), FinanceBaseProduct::getPrdName, commonVo.getKeyword());
queryWrapper.groupBy(FinanceBaseProduct::getPrdName);
queryWrapper.orderByDesc(FinanceBaseProduct::getPrdName);
List<FinanceBaseProduct> list = list(queryWrapper);
// 转化成List<FinanceZbjTypeListDto>
List<FinanceBaseProductListDto> collect = list.stream().map(item -> {
FinanceBaseProductListDto dto = new FinanceBaseProductListDto();
dto.setFbpId(item.getFbpId());
dto.setPrdCode(item.getPrdCode());
dto.setPrdName(item.getPrdName());
dto.setFlavor(item.getFlavor());
return dto;
}).collect(Collectors.toList());
return collect;
}
@Override
public List<FinanceBaseProductListDto> seriesList(FinanceSelectCommonVo commonVo) {
LambdaQueryWrapper<FinanceBaseProduct> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(FinanceBaseProduct::getSeries);
queryWrapper.like(commonVo.getKeyword() != null && !commonVo.getKeyword().isEmpty(), FinanceBaseProduct::getSeries, commonVo.getKeyword());
queryWrapper.groupBy(FinanceBaseProduct::getSeries);
queryWrapper.orderByDesc(FinanceBaseProduct::getSeries);
List<FinanceBaseProduct> list = list(queryWrapper);
// 转化成List<FinanceZbjTypeListDto>
List<FinanceBaseProductListDto> collect = list.stream()
.filter(Objects::nonNull)
.map(item -> {
FinanceBaseProductListDto dto = new FinanceBaseProductListDto();
dto.setFbpId(item.getFbpId());
dto.setPrdCode(item.getPrdCode());
dto.setPrdName(item.getPrdName());
dto.setFlavor(item.getFlavor());
dto.setSeries(item.getSeries());
return dto;
}).collect(Collectors.toList());
return collect;
}
}
package com.link.bi.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.link.bi.domain.entity.FinanceBaseZbjType;
import com.link.bi.domain.mapper.FinanceBaseZbjTypeMapper;
import com.link.bi.pojo.request.FinanceSelectCommonVo;
import com.link.bi.pojo.response.FinanceZbjTypeListDto;
import com.link.bi.service.FinanceBaseZbjTypeService;
import lombok.extern.slf4j.Slf4j;
import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.common.core.web.page.TableSupport;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 旺店通订单Service业务层处理
......@@ -19,10 +30,8 @@ import java.util.Map;
* @date 2025年01月07日17:00:16
*/
@DS("bi")
@Slf4j
@Service
public class FinanceBaseZbjTypeServiceImpl extends ServiceImpl<FinanceBaseZbjTypeMapper, FinanceBaseZbjType> implements FinanceBaseZbjTypeService {
@Override
public Map<String, String> selectBaseZbjType() {
List<FinanceBaseZbjType> list = list();
......@@ -31,4 +40,70 @@ public class FinanceBaseZbjTypeServiceImpl extends ServiceImpl<FinanceBaseZbjTyp
.collect(HashMap::new, (k, v) -> k.put(v.getFenxiaoName(), v.getZbjQdType()), HashMap::putAll);
return map;
}
@Override
public boolean saveFinanceBaseZbjType(FinanceBaseZbjType financeBaseZbjType) {
return this.save(financeBaseZbjType);
}
@Override
public boolean removeFinanceBaseZbjTypeById(Long id) {
return this.removeById(id);
}
@Override
public boolean updateFinanceBaseZbjTypeById(FinanceBaseZbjType financeBaseZbjType) {
return this.updateById(financeBaseZbjType);
}
@Override
public FinanceBaseZbjType getFinanceBaseZbjTypeById(Long id) {
return this.getById(id);
}
/**
* 分页查询
*
* @param keyword
* @return
*/
@Override
public IPage<FinanceZbjTypeListDto> pageFinanceBaseZbjType(String keyword) {
QueryWrapper<FinanceBaseZbjType> queryWrapper = new QueryWrapper<>();
if (keyword != null && !keyword.isEmpty()) {
queryWrapper.like("zbj_qd_type", keyword);
}
Page<FinanceBaseZbjType> page = this.page(TableSupport.pageI(), queryWrapper);
Page<FinanceZbjTypeListDto> result = new Page<>();
BeanUtils.copyProperties(page, result);
result.setRecords(page.getRecords().stream().map(item -> {
FinanceZbjTypeListDto dto = new FinanceZbjTypeListDto();
BeanUtils.copyProperties(item, dto);
return dto;
}).collect(Collectors.toList()));
result.setTotal(page.getTotal());
result.setPages(page.getPages());
result.setCurrent(page.getCurrent());
return result;
}
@Override
public List<FinanceZbjTypeListDto> baseZbjTypeList(FinanceSelectCommonVo commonVo) {
LambdaQueryWrapper<FinanceBaseZbjType> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(commonVo.getKeyword() != null && !commonVo.getKeyword().isEmpty(), FinanceBaseZbjType::getZbjQdType, commonVo.getKeyword());
List<FinanceBaseZbjType> list = list(queryWrapper);
// 转化成List<FinanceZbjTypeListDto>
List<FinanceZbjTypeListDto> result = new ArrayList<>();
list.forEach(item -> {
FinanceZbjTypeListDto dto = new FinanceZbjTypeListDto();
BeanUtils.copyProperties(item, dto);
result.add(dto);
});
return result;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论