From 509a326fbc00239d0a54009ddf3f785e02389912 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Thu, 13 Feb 2025 14:43:43 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E8=AE=A1=E5=88=92-4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/cgplan/ErpCgPlanEditDTO.java | 2 +- .../dto/cgplan/SmCgPlanEditItemDTO.java | 6 +- .../supermarket/entity/SmErpCgPlanEntity.java | 0 .../entity/SmErpCgPlanItemEntity.java | 0 .../supermarket/entity/SmErpStockEntity.java | 0 .../supermarket/entity/SmSpuEntity.java | 0 .../ErpSpuWithUnitPageVo.java | 2 +- .../vo/{purchase => cgplan}/ErpUnitVo.java | 2 +- .../supermarket/vo/cgplan/SmErpCgPlanVo.java | 100 ++++++++++++++++++ .../vo/cgplan/SmeErpCgPlanItemVo.java | 60 +++++++++++ .../controller/SmErpCgPlanController.java | 21 +++- .../supermarket/service/SmErpSpuService.java | 2 +- .../service/impl/SmErpCgPlanServiceImpl.java | 18 +++- .../service/impl/SmErpSpuServiceImpl.java | 4 +- 14 files changed, 205 insertions(+), 12 deletions(-) rename pjcloud-supermarket/{pjcloud-supermarket-biz => pjcloud-supermarket-api}/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpCgPlanEntity.java (100%) rename pjcloud-supermarket/{pjcloud-supermarket-biz => pjcloud-supermarket-api}/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpCgPlanItemEntity.java (100%) rename pjcloud-supermarket/{pjcloud-supermarket-biz => pjcloud-supermarket-api}/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpStockEntity.java (100%) rename pjcloud-supermarket/{pjcloud-supermarket-biz => pjcloud-supermarket-api}/src/main/java/com/bsd/pjcloud/supermarket/entity/SmSpuEntity.java (100%) rename pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/{purchase => cgplan}/ErpSpuWithUnitPageVo.java (97%) rename pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/{purchase => cgplan}/ErpUnitVo.java (96%) create mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/cgplan/SmErpCgPlanVo.java create mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/cgplan/SmeErpCgPlanItemVo.java diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpCgPlanEditDTO.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpCgPlanEditDTO.java index 539a68dbb..8313ebb1b 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpCgPlanEditDTO.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpCgPlanEditDTO.java @@ -78,7 +78,7 @@ public class ErpCgPlanEditDTO { * @Link SmCgPlanEditItemDTO */ @Schema(description="采购计划-item") - private List items; + private List items; diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/SmCgPlanEditItemDTO.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/SmCgPlanEditItemDTO.java index 30aa0ee44..882c8fbb0 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/SmCgPlanEditItemDTO.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/SmCgPlanEditItemDTO.java @@ -22,7 +22,11 @@ public class SmCgPlanEditItemDTO { @Schema(description="库存商品id") private Long erpSpuId; - + /** + * 采购id + */ + @Schema(description="采购id") + private Long planId; /** * 数量 */ diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpCgPlanEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpCgPlanEntity.java similarity index 100% rename from pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpCgPlanEntity.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpCgPlanEntity.java diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpCgPlanItemEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpCgPlanItemEntity.java similarity index 100% rename from pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpCgPlanItemEntity.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpCgPlanItemEntity.java diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpStockEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpStockEntity.java similarity index 100% rename from pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpStockEntity.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpStockEntity.java diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SmSpuEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmSpuEntity.java similarity index 100% rename from pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SmSpuEntity.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmSpuEntity.java diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/purchase/ErpSpuWithUnitPageVo.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/cgplan/ErpSpuWithUnitPageVo.java similarity index 97% rename from pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/purchase/ErpSpuWithUnitPageVo.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/cgplan/ErpSpuWithUnitPageVo.java index d80b96b4d..b9f928f6f 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/purchase/ErpSpuWithUnitPageVo.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/cgplan/ErpSpuWithUnitPageVo.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.supermarket.vo.purchase; +package com.bsd.pjcloud.supermarket.vo.cgplan; import com.baomidou.mybatisplus.annotation.*; diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/purchase/ErpUnitVo.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/cgplan/ErpUnitVo.java similarity index 96% rename from pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/purchase/ErpUnitVo.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/cgplan/ErpUnitVo.java index def2fd2fa..546bda0c1 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/purchase/ErpUnitVo.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/cgplan/ErpUnitVo.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.supermarket.vo.purchase; +package com.bsd.pjcloud.supermarket.vo.cgplan; import com.bsd.pjcloud.common.core.util.MoneyDeserializer; import com.bsd.pjcloud.common.core.util.MoneySerializer; diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/cgplan/SmErpCgPlanVo.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/cgplan/SmErpCgPlanVo.java new file mode 100644 index 000000000..5c7d96771 --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/cgplan/SmErpCgPlanVo.java @@ -0,0 +1,100 @@ +package com.bsd.pjcloud.supermarket.vo.cgplan; + + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; + +@Schema(description = "采购根据id查询-编辑回显 vo") +@Data +public class SmErpCgPlanVo { + + @Schema(description ="id") + private Long id; + /** + * 采购计划编号 + */ + @Schema(description="采购计划编号") + private String planCode; + + /** + * 采购计划单据日期 + */ + @Schema(description="采购计划单据日期") + private LocalDate planDate; + + /** + * 仓库id + */ + @Schema(description="仓库id") + private String warehouseId; + + /** + * 经办人id + */ + @Schema(description="经办人id") + private Long handlerUserId; + + + /** + * 累计进货数量 + */ + @Schema(description="累计进货数量") + private Integer totalNumber; + + /** + * 累计总金额 + */ + @Schema(description="累计总金额") + private Integer totalAmount; + + /** + * 货商 + */ + @Schema(description="货商") + private Long supplierId; + + /** + * 备注 + */ + @Schema(description="备注") + private String remark; + + /** + * 订单编号 + */ + @Schema(description="订单编号") + private String orderNumber; + + /** + * 创建人 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description="创建人") + private String createBy; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description="创建时间") + private LocalDateTime createTime; + + /** + * 审批状态 + */ + @Schema(description="审批状态") + private String checkStatus; + + /** + * @Link SmErpCgPlanVo + */ + @Schema(description="采购计划-item") + private List items; + +} diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/cgplan/SmeErpCgPlanItemVo.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/cgplan/SmeErpCgPlanItemVo.java new file mode 100644 index 000000000..1a365625f --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/cgplan/SmeErpCgPlanItemVo.java @@ -0,0 +1,60 @@ +package com.bsd.pjcloud.supermarket.vo.cgplan; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 采购计划-item + * + * @author zjf + * @date 2025-02-11 17:11:41 + */ +@Data +@Schema(description = "采购计划-item") +public class SmeErpCgPlanItemVo { + + @Schema(description = "id") + private Long id; + + /** + * 库存商品id + */ + @Schema(description="库存商品id") + private Long erpSpuId; + + /** + * 采购id + */ + @Schema(description="采购id") + private Long planId; + /** + * 数量 + */ + @Schema(description="数量") + private Integer quantity; + + /** + * 进价 + */ + @Schema(description="进价") + private Integer unitPrice; + + /** + * 累计总金额 + */ + @Schema(description="累计总金额") + private Integer totalAmount; + + /** + * 备注 + */ + @Schema(description="备注") + private String remark; + + /** + * 包装单位id + */ + @Schema(description="包装单位id") + private Long unitId; + +} \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCgPlanController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCgPlanController.java index 92ffe7886..59cfc9f73 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCgPlanController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCgPlanController.java @@ -6,14 +6,19 @@ 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.dto.cgplan.ErpCgPlanDTO; import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanEditDTO; import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanSaveDTO; import com.bsd.pjcloud.supermarket.entity.SmErpCgPlanEntity; +import com.bsd.pjcloud.supermarket.entity.SmErpCgPlanItemEntity; +import com.bsd.pjcloud.supermarket.service.SmErpCgPlanItemService; import com.bsd.pjcloud.supermarket.service.SmErpCgPlanService; import com.bsd.pjcloud.supermarket.service.SmErpSpuService; +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.http.HttpHeaders; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -44,6 +50,8 @@ public class SmErpCgPlanController { private final SmErpSpuService smErpSpuService; + private final SmErpCgPlanItemService smErpCgPlanItemService; + /** * 分页查询 * @param page 分页对象 @@ -98,7 +106,13 @@ public class SmErpCgPlanController { @GetMapping("/{id}" ) @PreAuthorize("@pms.hasPermission('supermarket_smErpCgPlan_view')" ) public R getById(@PathVariable("id" ) Long id) { - return R.ok(smErpCgPlanService.getById(id)); + SmErpCgPlanEntity smErpCgPlanEntity = smErpCgPlanService.getById(id); + List list = smErpCgPlanItemService.list(new LambdaQueryWrapper() + .eq(SmErpCgPlanItemEntity::getPlanId, id)); + BeanUtils.toBean(smErpCgPlanEntity, SmErpCgPlanVo.class, (source) -> { + source.setItems(BeanUtils.toBean(list, SmeErpCgPlanItemVo.class)); + }); + return R.ok(smErpCgPlanEntity); } /** @@ -123,8 +137,11 @@ public class SmErpCgPlanController { @SysLog("通过id删除采购计划" ) @DeleteMapping @PreAuthorize("@pms.hasPermission('supermarket_smErpCgPlan_del')" ) + @Transactional public R removeById(@RequestBody Long[] ids) { - return R.ok(smErpCgPlanService.removeBatchByIds(CollUtil.toList(ids))); + boolean b = smErpCgPlanService.removeBatchByIds(CollUtil.toList(ids)); + smErpCgPlanItemService.remove(Wrappers.lambdaQuery(SmErpCgPlanItemEntity.class).in(SmErpCgPlanItemEntity::getPlanId, ids)); + return R.ok(b); } diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpSpuService.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpSpuService.java index 7646eecaf..77696949a 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpSpuService.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpSpuService.java @@ -8,7 +8,7 @@ import com.bsd.pjcloud.supermarket.dto.SupermarketSpuQueryDTO; import com.bsd.pjcloud.supermarket.dto.SupermarketSpuUpdateStockReqDTO; import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanDTO; import com.bsd.pjcloud.supermarket.entity.SmErpSpuEntity; -import com.bsd.pjcloud.supermarket.vo.purchase.ErpSpuWithUnitPageVo; +import com.bsd.pjcloud.supermarket.vo.cgplan.ErpSpuWithUnitPageVo; import com.bsd.pjcloud.supermarket.vo.sm.smspu.SmErpPageScopeVo; import java.util.ArrayList; diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCgPlanServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCgPlanServiceImpl.java index 0e0a8ed6f..6bad9f6d7 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCgPlanServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCgPlanServiceImpl.java @@ -7,9 +7,11 @@ import com.bsd.pjcloud.common.security.util.SecurityUtils; import com.bsd.pjcloud.common.sequence.sequence.Sequence; import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanEditDTO; import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanSaveDTO; +import com.bsd.pjcloud.supermarket.dto.cgplan.SmCgPlanEditItemDTO; import com.bsd.pjcloud.supermarket.dto.cgplan.SmCgPlanSaveItemDTO; import com.bsd.pjcloud.supermarket.entity.SmErpCgPlanEntity; import com.bsd.pjcloud.supermarket.entity.SmErpCgPlanItemEntity; +import com.bsd.pjcloud.supermarket.entity.SmErpUnitEntity; import com.bsd.pjcloud.supermarket.mapper.SmErpCgPlanItemMapper; import com.bsd.pjcloud.supermarket.mapper.SmErpCgPlanMapper; import com.bsd.pjcloud.supermarket.service.SmErpCgPlanService; @@ -19,6 +21,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.stream.Collectors; /** * 采购计划 @@ -57,12 +60,21 @@ public class SmErpCgPlanServiceImpl extends ServiceImpl items = erpCgPlanEditDTO.getItems(); + List items = erpCgPlanEditDTO.getItems(); + List cgPlanItemEntities = BeanUtils.toBean(items, SmErpCgPlanItemEntity.class); +// List insertCollect = cgPlanItemEntities.stream() +// .filter(supermarketUnitEntity -> supermarketUnitEntity.getId() == null).collect(Collectors.toList()); +// insertCollect.forEach(c -> c.setPlanId(smErpCgPlanEntity.getId())); +// +// List updateCollect = cgPlanItemEntities.stream() +// .filter(supermarketUnitEntity -> supermarketUnitEntity.getId() != null).collect(Collectors.toList()); +// smErpCgPlanItemMapper.updateById(updateCollect); + smErpCgPlanItemMapper.insertOrUpdate(cgPlanItemEntities); - return null; + return R.ok(i); } } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java index db440ae8d..9fb96fb53 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java @@ -23,8 +23,8 @@ import com.bsd.pjcloud.supermarket.vo.app.SupermarketAppUnitVo; import com.bsd.pjcloud.supermarket.vo.erp.SmErpAuxiliaryCodeVo; import com.bsd.pjcloud.supermarket.vo.erp.SmErpSpuVo; import com.bsd.pjcloud.supermarket.vo.erp.SmErpUnitVo; -import com.bsd.pjcloud.supermarket.vo.purchase.ErpSpuWithUnitPageVo; -import com.bsd.pjcloud.supermarket.vo.purchase.ErpUnitVo; +import com.bsd.pjcloud.supermarket.vo.cgplan.ErpSpuWithUnitPageVo; +import com.bsd.pjcloud.supermarket.vo.cgplan.ErpUnitVo; import com.bsd.pjcloud.supermarket.vo.sm.smspu.SmErpPageScopeVo; import lombok.AllArgsConstructor; import org.apache.commons.collections4.CollectionUtils;