|
@@ -0,0 +1,168 @@
|
|
|
+package com.sd.business.service.sku.impl;
|
|
|
+
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.ruoyi.common.constant.StatusConstant;
|
|
|
+import com.ruoyi.common.core.domain.BaseIdPo;
|
|
|
+import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
+import com.sd.business.entity.common.po.CommonPackingBomDetail;
|
|
|
+import com.sd.business.entity.common.vo.CommonPackingBomDetailVo;
|
|
|
+import com.sd.business.entity.sku.dto.SkuDefaultPackageSpecDto;
|
|
|
+import com.sd.business.entity.sku.dto.SkuDefaultPackageSpecSelectDto;
|
|
|
+import com.sd.business.entity.sku.po.SkuDefaultPackage;
|
|
|
+import com.sd.business.entity.sku.po.SkuDefaultPackageSpec;
|
|
|
+import com.sd.business.entity.sku.vo.SkuDefaultPackageSpecVo;
|
|
|
+import com.sd.business.mapper.sku.SkuDefaultPackageSpecMapper;
|
|
|
+import com.sd.business.service.bom.BomSpecService;
|
|
|
+import com.sd.business.service.sku.SkuDefaultPackageService;
|
|
|
+import com.sd.business.service.sku.SkuDefaultPackageSpecService;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * sku包材配置规格 服务实现类
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author
|
|
|
+ * @since 2023-11-08
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class SkuDefaultPackageSpecServiceImpl extends ServiceImpl<SkuDefaultPackageSpecMapper, SkuDefaultPackageSpec> implements SkuDefaultPackageSpecService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SkuDefaultPackageService skuDefaultPackageService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private BomSpecService bomSpecService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Page<SkuDefaultPackageSpecVo> getPage(SkuDefaultPackageSpecSelectDto dto) {
|
|
|
+ IWrapper<SkuDefaultPackageSpec> wrapper = getWrapper();
|
|
|
+ wrapper.orderByDesc("sdps", SkuDefaultPackageSpec::getId);
|
|
|
+ wrapper.like("sdps", SkuDefaultPackageSpec::getSpec, dto.getSpec());
|
|
|
+ Page<SkuDefaultPackageSpecVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public SkuDefaultPackageSpecVo detail(Long id) {
|
|
|
+ SkuDefaultPackageSpec skuDefaultPackageSpec = this.getById(id);
|
|
|
+ SkuDefaultPackageSpecVo result = BeanUtil.toBean(skuDefaultPackageSpec, SkuDefaultPackageSpecVo.class);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void add(SkuDefaultPackageSpecDto skuDefaultPackageSpecDto) {
|
|
|
+ this.save(skuDefaultPackageSpecDto);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void edit(SkuDefaultPackageSpecDto skuDefaultPackageSpecDto) {
|
|
|
+ this.updateById(skuDefaultPackageSpecDto);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void delete(Long id) {
|
|
|
+ this.removeById(id);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<CommonPackingBomDetailVo> getPackLiLst(SkuDefaultPackageSpecSelectDto dto) {
|
|
|
+
|
|
|
+ SkuDefaultPackage skuDefaultPackage = skuDefaultPackageService.getOne(q -> q
|
|
|
+ .eq(SkuDefaultPackage::getSkuId, dto.getSkuId())
|
|
|
+ .orderByDesc(BaseIdPo::getId));
|
|
|
+
|
|
|
+ if (skuDefaultPackage == null) {
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+
|
|
|
+ SkuDefaultPackageSpec skuDefaultPackageSpec = getOne(q -> q
|
|
|
+ .like(SkuDefaultPackageSpec::getSpec, dto.getSpec())
|
|
|
+ .orderByDesc(BaseIdPo::getId));
|
|
|
+
|
|
|
+ if (skuDefaultPackageSpec == null) {
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+
|
|
|
+ ArrayList<CommonPackingBomDetailVo> result = new ArrayList<>();
|
|
|
+
|
|
|
+ if (StatusConstant.YES.equals(skuDefaultPackage.getColouredPaper()) && Objects.nonNull(skuDefaultPackageSpec.getColouredPaperId())) {
|
|
|
+ CommonPackingBomDetailVo commonPackingBomDetailVo = new CommonPackingBomDetailVo();
|
|
|
+ commonPackingBomDetailVo.setBomSpecId(skuDefaultPackageSpec.getColouredPaperId());
|
|
|
+ result.add(commonPackingBomDetailVo);
|
|
|
+ }
|
|
|
+ if (StatusConstant.YES.equals(skuDefaultPackage.getOppMembrane()) && Objects.nonNull(skuDefaultPackageSpec.getOppMembraneId())) {
|
|
|
+ CommonPackingBomDetailVo commonPackingBomDetailVo = new CommonPackingBomDetailVo();
|
|
|
+ commonPackingBomDetailVo.setBomSpecId(skuDefaultPackageSpec.getOppMembraneId());
|
|
|
+ result.add(commonPackingBomDetailVo);
|
|
|
+ }
|
|
|
+ if (StatusConstant.YES.equals(skuDefaultPackage.getPeBag()) && Objects.nonNull(skuDefaultPackageSpec.getPeBagId())) {
|
|
|
+ CommonPackingBomDetailVo commonPackingBomDetailVo = new CommonPackingBomDetailVo();
|
|
|
+ commonPackingBomDetailVo.setBomSpecId(skuDefaultPackageSpec.getPeBagId());
|
|
|
+ result.add(commonPackingBomDetailVo);
|
|
|
+ }
|
|
|
+ if (StatusConstant.YES.equals(skuDefaultPackage.getMeshBag()) && Objects.nonNull(skuDefaultPackageSpec.getMeshBagId())) {
|
|
|
+ CommonPackingBomDetailVo commonPackingBomDetailVo = new CommonPackingBomDetailVo();
|
|
|
+ commonPackingBomDetailVo.setBomSpecId(skuDefaultPackageSpec.getMeshBagId());
|
|
|
+ result.add(commonPackingBomDetailVo);
|
|
|
+ }
|
|
|
+ if (StatusConstant.YES.equals(skuDefaultPackage.getPaperBox()) && Objects.nonNull(skuDefaultPackageSpec.getPaperBoxId())) {
|
|
|
+ CommonPackingBomDetailVo commonPackingBomDetailVo = new CommonPackingBomDetailVo();
|
|
|
+ commonPackingBomDetailVo.setBomSpecId(skuDefaultPackageSpec.getPaperBoxId());
|
|
|
+ result.add(commonPackingBomDetailVo);
|
|
|
+ }
|
|
|
+ if (StatusConstant.YES.equals(skuDefaultPackage.getBubblePack()) && Objects.nonNull(skuDefaultPackageSpec.getBubblePackId())) {
|
|
|
+ CommonPackingBomDetailVo commonPackingBomDetailVo = new CommonPackingBomDetailVo();
|
|
|
+ commonPackingBomDetailVo.setBomSpecId(skuDefaultPackageSpec.getBubblePackId());
|
|
|
+ result.add(commonPackingBomDetailVo);
|
|
|
+ }
|
|
|
+ if (StatusConstant.YES.equals(skuDefaultPackage.getLogisticsPackagingMaterial()) && Objects.nonNull(skuDefaultPackageSpec.getLogisticsPackagingMaterialId())) {
|
|
|
+ CommonPackingBomDetailVo commonPackingBomDetailVo = new CommonPackingBomDetailVo();
|
|
|
+ commonPackingBomDetailVo.setBomSpecId(skuDefaultPackageSpec.getLogisticsPackagingMaterialId());
|
|
|
+ result.add(commonPackingBomDetailVo);
|
|
|
+ }
|
|
|
+ if (StatusConstant.YES.equals(skuDefaultPackage.getOtherPackingMaterial()) && Objects.nonNull(skuDefaultPackageSpec.getOtherPackingMaterialId())) {
|
|
|
+ CommonPackingBomDetailVo commonPackingBomDetailVo = new CommonPackingBomDetailVo();
|
|
|
+ commonPackingBomDetailVo.setBomSpecId(skuDefaultPackageSpec.getOtherPackingMaterialId());
|
|
|
+ result.add(commonPackingBomDetailVo);
|
|
|
+ }
|
|
|
+ if (StatusConstant.YES.equals(skuDefaultPackage.getSelfAdhesiveSticker()) && Objects.nonNull(skuDefaultPackageSpec.getSelfAdhesiveStickerId())) {
|
|
|
+ CommonPackingBomDetailVo commonPackingBomDetailVo = new CommonPackingBomDetailVo();
|
|
|
+ commonPackingBomDetailVo.setBomSpecId(skuDefaultPackageSpec.getSelfAdhesiveStickerId());
|
|
|
+ result.add(commonPackingBomDetailVo);
|
|
|
+ }
|
|
|
+ if (StatusConstant.YES.equals(skuDefaultPackage.getDrop()) && Objects.nonNull(skuDefaultPackageSpec.getDropId())) {
|
|
|
+ CommonPackingBomDetailVo commonPackingBomDetailVo = new CommonPackingBomDetailVo();
|
|
|
+ commonPackingBomDetailVo.setBomSpecId(skuDefaultPackageSpec.getDropId());
|
|
|
+ result.add(commonPackingBomDetailVo);
|
|
|
+ }
|
|
|
+ if (StatusConstant.YES.equals(skuDefaultPackage.getSuspenders()) && Objects.nonNull(skuDefaultPackageSpec.getSuspendersId())) {
|
|
|
+ CommonPackingBomDetailVo commonPackingBomDetailVo = new CommonPackingBomDetailVo();
|
|
|
+ commonPackingBomDetailVo.setBomSpecId(skuDefaultPackageSpec.getSuspendersId());
|
|
|
+ result.add(commonPackingBomDetailVo);
|
|
|
+ }
|
|
|
+ if (StatusConstant.YES.equals(skuDefaultPackage.getAccessory()) && Objects.nonNull(skuDefaultPackageSpec.getAccessoryId())) {
|
|
|
+ CommonPackingBomDetailVo commonPackingBomDetailVo = new CommonPackingBomDetailVo();
|
|
|
+ commonPackingBomDetailVo.setBomSpecId(skuDefaultPackageSpec.getAccessoryId());
|
|
|
+ result.add(commonPackingBomDetailVo);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ bomSpecService.attributeAssign(result, CommonPackingBomDetail::getBomSpecId, (item, bomSpec) -> {
|
|
|
+ item.setBomSpecName(bomSpec.getName());
|
|
|
+ item.setBomSpecCode(bomSpec.getCode());
|
|
|
+ });
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|