Browse Source

根据skuId和规格获取默认配置包材

24282 1 year ago
parent
commit
a721124593

+ 80 - 0
sd-business/src/main/java/com/sd/business/controller/sku/SkuDefaultPackageSpecController.java

@@ -0,0 +1,80 @@
+package com.sd.business.controller.sku;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+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.vo.SkuDefaultPackageSpecVo;
+import com.sd.business.service.sku.SkuDefaultPackageSpecService;
+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 java.util.List;
+
+
+/**
+ * <p>
+ * sku包材配置规格 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-11-08
+ */
+@RestController
+@RequestMapping("/skuDefaultPackageSpec")
+public class SkuDefaultPackageSpecController {
+
+    @Autowired
+    private SkuDefaultPackageSpecService skuDefaultPackageSpecService;
+
+    /**
+     * sku包材配置规格分页
+     */
+    @PostMapping("/page")
+    public Page<SkuDefaultPackageSpecVo> page(@RequestBody SkuDefaultPackageSpecSelectDto dto) {
+        return skuDefaultPackageSpecService.getPage(dto);
+    }
+
+    /**
+     * sku包材配置规格明细
+     */
+    @PostMapping("/detail")
+    public SkuDefaultPackageSpecVo detail(@RequestBody BaseSelectDto dto) {
+        return skuDefaultPackageSpecService.detail(dto.getId());
+    }
+
+    /**
+     * sku包材配置规格新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody SkuDefaultPackageSpecDto skuDefaultPackageSpecDto) {
+        skuDefaultPackageSpecService.add(skuDefaultPackageSpecDto);
+    }
+
+    /**
+     * sku包材配置规格编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody SkuDefaultPackageSpecDto skuDefaultPackageSpecDto) {
+        skuDefaultPackageSpecService.edit(skuDefaultPackageSpecDto);
+    }
+
+    /**
+     * sku包材配置规格删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        skuDefaultPackageSpecService.delete(dto.getId());
+    }
+
+    @PostMapping("/getPackList")
+    public List<CommonPackingBomDetailVo> getPackLiLst(@RequestBody SkuDefaultPackageSpecSelectDto dto) {
+        return skuDefaultPackageSpecService.getPackLiLst(dto);
+    }
+
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/sku/dto/SkuDefaultPackageSpecDto.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.sku.dto;
+
+import com.sd.business.entity.sku.po.SkuDefaultPackageSpec;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * sku包材配置规格新增编辑入参实体
+ *
+ * @author
+ * @since 2023-11-08
+ */
+@Getter
+@Setter
+public class SkuDefaultPackageSpecDto extends SkuDefaultPackageSpec {
+
+}

+ 27 - 0
sd-business/src/main/java/com/sd/business/entity/sku/dto/SkuDefaultPackageSpecSelectDto.java

@@ -0,0 +1,27 @@
+package com.sd.business.entity.sku.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * sku包材配置规格列表查询入参实体
+ *
+ * @author
+ * @since 2023-11-08
+ */
+@Getter
+@Setter
+public class SkuDefaultPackageSpecSelectDto extends BaseSelectDto {
+
+    /**
+     * 规格
+     */
+    private String spec;
+
+    /**
+     * sku id
+     */
+    private Long skuId;
+
+}

+ 86 - 0
sd-business/src/main/java/com/sd/business/entity/sku/po/SkuDefaultPackageSpec.java

@@ -0,0 +1,86 @@
+package com.sd.business.entity.sku.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * sku包材配置规格
+ * </p>
+ *
+ * @author
+ * @since 2023-11-08
+ */
+@Getter
+@Setter
+@TableName("sku_default_package_spec")
+public class SkuDefaultPackageSpec extends BasePo {
+
+    /**
+     * 规格
+     */
+    private String spec;
+
+    /**
+     * 彩纸id
+     */
+    private Long colouredPaperId;
+
+    /**
+     * OPP膜id
+     */
+    private Long oppMembraneId;
+
+    /**
+     * PE袋id
+     */
+    private Long peBagId;
+
+    /**
+     * 网包id
+     */
+    private Long meshBagId;
+
+    /**
+     * 纸箱id
+     */
+    private Long paperBoxId;
+
+    /**
+     * 气泡袋id
+     */
+    private Long bubblePackId;
+
+    /**
+     * 快递包材id
+     */
+    private Long logisticsPackagingMaterialId;
+
+    /**
+     * 其他包材id
+     */
+    private Long otherPackingMaterialId;
+
+    /**
+     * 不干胶id
+     */
+    private Long selfAdhesiveStickerId;
+
+    /**
+     * 吊牌id
+     */
+    private Long dropId;
+
+    /**
+     * 背带id
+     */
+    private Long suspendersId;
+
+    /**
+     * 辅料id
+     */
+    private Long accessoryId;
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/sku/vo/SkuDefaultPackageSpecVo.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.sku.vo;
+
+import com.sd.business.entity.sku.po.SkuDefaultPackageSpec;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * sku包材配置规格列表查询返回值实体
+ *
+ * @author
+ * @since 2023-11-08
+ */
+@Getter
+@Setter
+public class SkuDefaultPackageSpecVo extends SkuDefaultPackageSpec {
+
+}

+ 26 - 0
sd-business/src/main/java/com/sd/business/mapper/sku/SkuDefaultPackageSpecMapper.java

@@ -0,0 +1,26 @@
+package com.sd.business.mapper.sku;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.sd.business.entity.sku.po.SkuDefaultPackageSpec;
+import com.sd.business.entity.sku.vo.SkuDefaultPackageSpecVo;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * sku包材配置规格 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2023-11-08
+ */
+public interface SkuDefaultPackageSpecMapper extends BaseMapper<SkuDefaultPackageSpec> {
+
+    /**
+     * sku包材配置规格分页
+     */
+    Page<SkuDefaultPackageSpecVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<SkuDefaultPackageSpec> wrapper);
+
+}

+ 51 - 0
sd-business/src/main/java/com/sd/business/service/sku/SkuDefaultPackageSpecService.java

@@ -0,0 +1,51 @@
+package com.sd.business.service.sku;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.service.BaseService;
+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.SkuDefaultPackageSpec;
+import com.sd.business.entity.sku.vo.SkuDefaultPackageSpecVo;
+
+import java.util.List;
+
+
+/**
+ * <p>
+ * sku包材配置规格 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-11-08
+ */
+public interface SkuDefaultPackageSpecService extends BaseService<SkuDefaultPackageSpec> {
+
+    /**
+     * sku包材配置规格分页
+     */
+    Page<SkuDefaultPackageSpecVo> getPage(SkuDefaultPackageSpecSelectDto dto);
+
+    /**
+     * sku包材配置规格明细
+     */
+    SkuDefaultPackageSpecVo detail(Long id);
+
+    /**
+     * sku包材配置规格新增
+     */
+    void add(SkuDefaultPackageSpecDto skuDefaultPackageSpecDto);
+
+    /**
+     * sku包材配置规格编辑
+     */
+    void edit(SkuDefaultPackageSpecDto skuDefaultPackageSpecDto);
+
+    /**
+     * sku包材配置规格删除
+     */
+    void delete(Long id);
+
+    List<CommonPackingBomDetailVo> getPackLiLst(SkuDefaultPackageSpecSelectDto dto);
+
+}

+ 168 - 0
sd-business/src/main/java/com/sd/business/service/sku/impl/SkuDefaultPackageSpecServiceImpl.java

@@ -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;
+    }
+
+}

+ 27 - 0
sd-business/src/main/resources/mapper/sku/SkuDefaultPackageSpecMapper.xml

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sd.business.mapper.sku.SkuDefaultPackageSpecMapper">
+    <select id="getPage" resultType="com.sd.business.entity.sku.vo.SkuDefaultPackageSpecVo">
+        select sdps.id,
+               sdps.spec,
+               sdps.coloured_paper_id,
+               sdps.opp_membrane_id,
+               sdps.pe_bag_id,
+               sdps.mesh_bag_id,
+               sdps.paper_box_id,
+               sdps.bubble_pack_id,
+               sdps.logistics_packaging_material_id,
+               sdps.other_packing_material_id,
+               sdps.self_adhesive_sticker_id,
+               sdps.drop_id,
+               sdps.suspenders_id,
+               sdps.accessory_id,
+               sdps.create_user,
+               sdps.create_time,
+               sdps.update_user,
+               sdps.update_time
+        from sku_default_package_spec sdps
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>