食堂进销
This commit is contained in:
1 parent
8c5fa585a1
commit
0ff90611b7
4 files changed
+103
No files matched your search
+23
@@ -11,6 +11,7 @@ import com.bsd.pjcloud.canteen.dto.CanteenSpuUpdateStockReqDTO;
|
||||
import com.bsd.pjcloud.canteen.entity.CanteenErpMaterialEntity;
|
||||
import com.bsd.pjcloud.canteen.entity.CanteenOnlineSpuEntity;
|
||||
import com.bsd.pjcloud.canteen.vo.erp.CanteenSpuSimpleVO;
|
||||
import com.bsd.pjcloud.canteen.vo.erp.CanteenSpuStockVO;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.log.annotation.SysLog;
|
||||
import com.bsd.pjcloud.canteen.entity.CanteenSpuEntity;
|
||||
@@ -60,6 +61,14 @@ public class CanteenSpuController {
|
||||
}
|
||||
|
||||
|
||||
@Operation(summary = "erp分页查询", description = "erp分页查询")
|
||||
@GetMapping("/erp/page")
|
||||
@PreAuthorize("@pms.hasPermission('canteen_canteenSpu_view')")
|
||||
public R<Page<CanteenSpuStockVO>> getCanteenSpuErpPage(@ParameterObject Page page, @ParameterObject CanteenSpuEntity canteenSpu) {
|
||||
return R.ok(canteenSpuService.erpPageScope(page, canteenSpu));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 选择菜品分页查询
|
||||
* 1.生产加工模版选择菜品
|
||||
@@ -130,6 +139,20 @@ public class CanteenSpuController {
|
||||
return R.ok(canteenSpuService.updateById(canteenSpu));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改菜品spu
|
||||
*
|
||||
* @param canteenSpu 菜品spu
|
||||
* @return R
|
||||
*/
|
||||
// @Operation(summary = "修改erp菜品库存", description = "修改erp菜品库存")
|
||||
// @SysLog("修改erp菜品库存")
|
||||
// @PutMapping("/editor")
|
||||
// @PreAuthorize("@pms.hasPermission('canteen_canteenSpu_edit')")
|
||||
// public R updateById(@RequestBody CanteenSpuEntity canteenSpu) {
|
||||
// return R.ok(canteenSpuService.updateById(canteenSpu));
|
||||
// }
|
||||
|
||||
/**
|
||||
* 通过id删除菜品spu
|
||||
*
|
||||
|
||||
+10
@@ -7,6 +7,7 @@ import com.bsd.pjcloud.canteen.dto.CanteenDailySpuDTO;
|
||||
import com.bsd.pjcloud.canteen.dto.CanteenSpuUpdateStockReqDTO;
|
||||
import com.bsd.pjcloud.canteen.entity.CanteenSpuEntity;
|
||||
import com.bsd.pjcloud.canteen.vo.erp.CanteenSpuSimpleVO;
|
||||
import com.bsd.pjcloud.canteen.vo.erp.CanteenSpuStockVO;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
|
||||
public interface CanteenSpuService extends IService<CanteenSpuEntity> {
|
||||
@@ -54,4 +55,13 @@ public interface CanteenSpuService extends IService<CanteenSpuEntity> {
|
||||
Object pageDailyScope(Page page, CanteenDailySpuDTO canteenDailySpuDTO);
|
||||
|
||||
Page<CanteenSpuSimpleVO> getCanteenSpuSimplePageScope(Page page, CanteenSpuEntity canteenSpu);
|
||||
|
||||
|
||||
/**
|
||||
* erp分页查询
|
||||
* @param page
|
||||
* @param canteenSpu 查询参数
|
||||
* @return 分页菜品库存VO
|
||||
*/
|
||||
Page<CanteenSpuStockVO> erpPageScope(Page page, CanteenSpuEntity canteenSpu);
|
||||
}
|
||||
+70
@@ -11,13 +11,17 @@ import com.bsd.pjcloud.canteen.entity.CanteenCategoryEntity;
|
||||
import com.bsd.pjcloud.canteen.entity.CanteenDailyMenuEntity;
|
||||
import com.bsd.pjcloud.canteen.entity.CanteenOnlineSpuEntity;
|
||||
import com.bsd.pjcloud.canteen.entity.CanteenSpuEntity;
|
||||
import com.bsd.pjcloud.canteen.entity.CanteenStockEntity;
|
||||
import com.bsd.pjcloud.canteen.mapper.CanteenCategoryMapper;
|
||||
import com.bsd.pjcloud.canteen.mapper.CanteenDailyMenuMapper;
|
||||
import com.bsd.pjcloud.canteen.mapper.CanteenSpuMapper;
|
||||
import com.bsd.pjcloud.canteen.mapper.CanteenStockMapper;
|
||||
import com.bsd.pjcloud.canteen.service.CanteenDailyMenuService;
|
||||
import com.bsd.pjcloud.canteen.service.CanteenSpuService;
|
||||
import com.bsd.pjcloud.canteen.service.CanteenStockService;
|
||||
import com.bsd.pjcloud.canteen.vo.ADCanteenSpuListVO;
|
||||
import com.bsd.pjcloud.canteen.vo.erp.CanteenSpuSimpleVO;
|
||||
import com.bsd.pjcloud.canteen.vo.erp.CanteenSpuStockVO;
|
||||
import com.bsd.pjcloud.common.core.util.BeanUtils;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
@@ -27,6 +31,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
@@ -45,6 +50,7 @@ public class CanteenSpuServiceImpl extends ServiceImpl<CanteenSpuMapper, Canteen
|
||||
|
||||
private final CanteenDailyMenuMapper canteenDailyMenuMapper;
|
||||
private final CanteenCategoryMapper canteenCategoryMapper;
|
||||
private final CanteenStockMapper canteenStockMapper;
|
||||
@Override
|
||||
public Object selectFoodList(LambdaQueryWrapper<CanteenSpuEntity> wrapper) {
|
||||
return baseMapper.selectListByScope(wrapper, DataScope.of());
|
||||
@@ -149,5 +155,69 @@ public class CanteenSpuServiceImpl extends ServiceImpl<CanteenSpuMapper, Canteen
|
||||
return canteenSpuSimpleVOPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<CanteenSpuStockVO> erpPageScope(Page page, CanteenSpuEntity canteenSpu) {
|
||||
LambdaQueryWrapper<CanteenSpuEntity> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.like(StrUtil.isNotBlank(canteenSpu.getName()), CanteenSpuEntity::getName, canteenSpu.getName());
|
||||
wrapper.eq(Objects.nonNull(canteenSpu.getCategoryId()), CanteenSpuEntity::getCategoryId, canteenSpu.getCategoryId());
|
||||
wrapper.orderByAsc(CanteenSpuEntity::getSort).orderByDesc(CanteenSpuEntity::getId);
|
||||
|
||||
// 查询SPU分页数据
|
||||
Page<CanteenSpuEntity> pageData = baseMapper.selectPageByScope(page, wrapper, DataScope.of());
|
||||
List<CanteenSpuEntity> records = pageData.getRecords();
|
||||
|
||||
// 构建返回的VO列表
|
||||
List<CanteenSpuStockVO> resultList = new ArrayList<>();
|
||||
|
||||
if (!CollectionUtils.isEmpty(records)) {
|
||||
// 获取所有SPU ID
|
||||
List<Long> spuIds = records.stream()
|
||||
.map(CanteenSpuEntity::getId)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 查询对应的库存信息
|
||||
LambdaQueryWrapper<CanteenStockEntity> stockWrapper = Wrappers.lambdaQuery();
|
||||
stockWrapper.in(CanteenStockEntity::getItemId, spuIds);
|
||||
stockWrapper.eq(CanteenStockEntity::getItemType, "2"); // 假设"成品"表示菜品的类型
|
||||
List<CanteenStockEntity> stockList = canteenStockMapper.selectList(stockWrapper);
|
||||
|
||||
// 将库存信息映射到SPU ID
|
||||
Map<Long, CanteenStockEntity> stockMap = stockList.stream()
|
||||
.collect(Collectors.toMap(CanteenStockEntity::getItemId, stock -> stock, (v1, v2) -> v1));
|
||||
|
||||
// 构建返回结果
|
||||
for (CanteenSpuEntity spu : records) {
|
||||
CanteenSpuStockVO vo = new CanteenSpuStockVO();
|
||||
// vo.setId(spu.getId());
|
||||
vo.setName(spu.getName());
|
||||
vo.setPicUrl(spu.getPicUrl());
|
||||
|
||||
// 设置库存信息
|
||||
CanteenStockEntity stock = stockMap.get(spu.getId());
|
||||
if (stock != null) {
|
||||
vo.setId(stock.getId());
|
||||
vo.setBaseStock(stock.getBaseStock());
|
||||
vo.setCurrentStock(stock.getCurrentStock());
|
||||
} else {
|
||||
// 如果没有对应的库存记录,则设置默认值
|
||||
vo.setBaseStock(0.0);
|
||||
vo.setCurrentStock(0.0);
|
||||
}
|
||||
|
||||
resultList.add(vo);
|
||||
}
|
||||
}
|
||||
|
||||
// 构建分页返回对象
|
||||
Page<CanteenSpuStockVO> resultPage = new Page<>();
|
||||
resultPage.setRecords(resultList);
|
||||
resultPage.setTotal(pageData.getTotal());
|
||||
resultPage.setSize(pageData.getSize());
|
||||
resultPage.setCurrent(pageData.getCurrent());
|
||||
resultPage.setPages(pageData.getPages());
|
||||
|
||||
return resultPage;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
BIN
Binary file not shown.
Reference in new issue
Block a user