修复每日菜谱分页选择重复

This commit is contained in:
zjf committed 2025-02-18 11:49:44 +08:00
1 parent 406a14237c
commit b16d23ba8a
3 files changed
+98 -5

No files matched your search

@@ -112,7 +112,7 @@ public class CanteenSpuServiceImpl extends ServiceImpl<CanteenSpuMapper, Canteen
DyWrapper.eq(CanteenDailyMenuEntity::getMerchantId, canteenDailySpuDTO.getMerchantId());
List<CanteenDailyMenuEntity> list = canteenDailyMenuMapper.selectList(DyWrapper);
List<Long> spuIds = list.stream().map(CanteenDailyMenuEntity::getSpuId).distinct().collect(java.util.stream.Collectors.toList());
List<Long> spuIds = list.stream().map(CanteenDailyMenuEntity::getSpuId).distinct().collect(Collectors.toList());
wrapper.notIn(!CollectionUtils.isEmpty(list), CanteenSpuEntity::getId, spuIds);
//再次分类餐段过滤
@@ -122,7 +122,7 @@ public class CanteenSpuServiceImpl extends ServiceImpl<CanteenSpuMapper, Canteen
List<Long> caIds = canteenCategoryEntities.stream().map(CanteenCategoryEntity::getId).collect(Collectors.toList());
wrapper.in(!CollectionUtils.isEmpty(caIds), CanteenSpuEntity::getCategoryId, caIds);
wrapper.orderByAsc(CanteenSpuEntity::getSort);
// wrapper.orderByAsc(CanteenSpuEntity::getSort);
return baseMapper.selectPageByScope(page, wrapper, DataScope.of());
}
@@ -0,0 +1,10 @@
package com.bsd.pjcloud.supermarket.dto.inventoryrecords;
import lombok.Data;
@Data
public class ImportCgPlanDTO {
}
@@ -6,10 +6,15 @@ import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bsd.pjcloud.common.core.util.BeanUtils;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.log.annotation.SysLog;
import com.bsd.pjcloud.supermarket.entity.SmErpInventoryRecordsEntity;
import com.bsd.pjcloud.supermarket.service.SmErpInventoryRecordsService;
import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanDTO;
import com.bsd.pjcloud.supermarket.entity.*;
import com.bsd.pjcloud.supermarket.service.*;
import com.bsd.pjcloud.supermarket.vo.cgplan.ErpUnitVo;
import com.bsd.pjcloud.supermarket.vo.cgplan.SmErpCgPlanVo;
import com.bsd.pjcloud.supermarket.vo.cgplan.SmeErpCgPlanItemVo;
import org.springframework.security.access.prepost.PreAuthorize;
import com.bsd.pjcloud.common.excel.annotation.ResponseExcel;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
@@ -22,6 +27,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 出入库记录表
@@ -37,6 +43,10 @@ import java.util.Objects;
public class SmErpInventoryRecordsController {
private final SmErpInventoryRecordsService smErpInventoryRecordsService;
private final SmErpInventoryRecordsItemService smErpInventoryRecordsItemService;
private final SmErpCgPlanService smErpCgPlanService;
private final SmErpSpuService smErpSpuService;
private final SmErpUnitService smErpUnitService;
/**
* 分页查询
@@ -55,6 +65,7 @@ public class SmErpInventoryRecordsController {
}
/**
* 通过id查询出入库记录表
* @param id id
@@ -64,7 +75,44 @@ public class SmErpInventoryRecordsController {
@GetMapping("/{id}" )
@PreAuthorize("@pms.hasPermission('supermarket_smErpInventoryRecords_view')" )
public R getById(@PathVariable("id" ) Long id) {
return R.ok(smErpInventoryRecordsService.getById(id));
SmErpInventoryRecordsEntity smErpInventoryRecordsEntity = smErpInventoryRecordsService.getById(id);
List<SmErpInventoryRecordsItemEntity> list =smErpInventoryRecordsItemService.list(new LambdaQueryWrapper<SmErpInventoryRecordsItemEntity>()
.eq(SmErpInventoryRecordsItemEntity::getInventoryId, id));
//获取采购item下已选择的item的所有包装单位
List<Long> spuIds =list.stream().map(vo -> vo.getErpSpuId()).collect(Collectors.toList());
List<SmErpUnitEntity> unitList = smErpUnitService.list(new LambdaQueryWrapper<SmErpUnitEntity>().in(SmErpUnitEntity::getSpuId, spuIds));
//
// SmErpCgPlanVo bean = BeanUtils.toBean(smErpCgPlanEntity, SmErpCgPlanVo.class, (source) -> {
// List<SmeErpCgPlanItemVo> smeErpCgPlanItemVos = BeanUtils.toBean(list, SmeErpCgPlanItemVo.class);
// smeErpCgPlanItemVos.stream().forEach(item -> {
// List<SmErpUnitEntity> unitEntities = unitList.stream().filter(unit -> unit.getSpuId().equals(item.getErpSpuId())).collect(Collectors.toList());
//
//// unitList.stream().forEach(unit -> {
//// if(unit.getId().equals(item.getUnitId())){
//// item.setSpec(unit.getSpec());
//// item.setUnit(unit.getUnit());
//// item.setPackageNum(unit.getPackageNum());
//// item.setPurchasePrice(unit.getPurchasePrice());
//// }
//// });
// item.setErpUnitVos(BeanUtils.toBean(unitEntities, ErpUnitVo.class));
// });
// source.setItems(smeErpCgPlanItemVos);
// });
// voList.stream().forEach(vo -> {
// List<SmErpUnitEntity> unitEntities = unitList.stream().filter(unit -> unit.getSpuId().equals(vo.getId())).collect(Collectors.toList());
// vo.setErpUnitVos(BeanUtils.toBean(unitEntities, ErpUnitVo.class));
// });
// return R.ok(bean);
return R.ok();
}
/**
@@ -119,4 +167,39 @@ public class SmErpInventoryRecordsController {
public List<SmErpInventoryRecordsEntity> export(SmErpInventoryRecordsEntity smErpInventoryRecords,Long[] ids) {
return smErpInventoryRecordsService.list(Wrappers.lambdaQuery(smErpInventoryRecords).in(ArrayUtil.isNotEmpty(ids), SmErpInventoryRecordsEntity::getId, ids));
}
/**
* 采购分页查询
* @param page 分页对象
* @param smErpCgPlan 采购计划
* @return
*/
@Operation(summary = "导入采购单" , description = "导入采购单" )
@GetMapping("/importSmErpCgPlan" )
@PreAuthorize("@pms.hasPermission('supermarket_smErpInventoryRecords_add')" )
public R importSmErpCgPlan(@ParameterObject Page page, @ParameterObject SmErpCgPlanEntity smErpCgPlan) {
LambdaQueryWrapper<SmErpCgPlanEntity> wrapper = Wrappers.lambdaQuery();
wrapper.like(StrUtil.isNotBlank(smErpCgPlan.getPlanCode()),SmErpCgPlanEntity::getPlanCode,smErpCgPlan.getPlanCode());
wrapper.eq(Objects.nonNull(smErpCgPlan.getPlanDate()),SmErpCgPlanEntity::getPlanDate,smErpCgPlan.getPlanDate());
wrapper.eq(Objects.nonNull(smErpCgPlan.getHandlerUserId()),SmErpCgPlanEntity::getHandlerUserId,smErpCgPlan.getHandlerUserId());
wrapper.eq(StrUtil.isNotBlank(smErpCgPlan.getCheckStatus()),SmErpCgPlanEntity::getCheckStatus,smErpCgPlan.getCheckStatus());
return R.ok(smErpCgPlanService.page(page, wrapper));
}
/**
* 入库选择商品分页数据
* 分页查询
* @param page 分页对象
* @return
*/
@Operation(summary = "选择商品分页数据" , description = "选择商品分页数据" )
@GetMapping("/erpSpuPage" )
@PreAuthorize("@pms.hasPermission('supermarket_smErpInventoryRecords_view')" )
public R getErpSpuPage(@ParameterObject Page page, @ParameterObject ErpCgPlanDTO erpCgPlanDTO) {
return R.ok(smErpSpuService.getErpSpuPage(page, erpCgPlanDTO));
}
}