Ver código fonte

Merge remote-tracking branch 'origin/master'

24282 1 ano atrás
pai
commit
b0f30a6525
19 arquivos alterados com 501 adições e 4 exclusões
  1. 71 0
      sd-business/src/main/java/com/sd/business/controller/packaging/PackagingAssemblyController.java
  2. 10 0
      sd-business/src/main/java/com/sd/business/entity/order/dto/OrderInfoDto.java
  3. 41 0
      sd-business/src/main/java/com/sd/business/entity/order/vo/OrderInfoVo.java
  4. 16 0
      sd-business/src/main/java/com/sd/business/entity/packaging/dto/PackagingAssemblyBomDto.java
  5. 25 0
      sd-business/src/main/java/com/sd/business/entity/packaging/dto/PackagingAssemblyDto.java
  6. 17 0
      sd-business/src/main/java/com/sd/business/entity/packaging/dto/PackagingAssemblySelectDto.java
  7. 25 0
      sd-business/src/main/java/com/sd/business/entity/packaging/po/PackagingAssembly.java
  8. 30 0
      sd-business/src/main/java/com/sd/business/entity/packaging/po/PackagingAssemblyBom.java
  9. 17 0
      sd-business/src/main/java/com/sd/business/entity/packaging/vo/PackagingAssemblyBomVo.java
  10. 16 0
      sd-business/src/main/java/com/sd/business/entity/packaging/vo/PackagingAssemblyVo.java
  11. 15 0
      sd-business/src/main/java/com/sd/business/mapper/packaging/PackagingAssemblyBomMapper.java
  12. 21 0
      sd-business/src/main/java/com/sd/business/mapper/packaging/PackagingAssemblyMapper.java
  13. 30 4
      sd-business/src/main/java/com/sd/business/service/order/impl/OrderServiceImpl.java
  14. 15 0
      sd-business/src/main/java/com/sd/business/service/packaging/PackagingAssemblyBomService.java
  15. 50 0
      sd-business/src/main/java/com/sd/business/service/packaging/PackagingAssemblyService.java
  16. 12 0
      sd-business/src/main/java/com/sd/business/service/packaging/impl/PackagingAssemblyBomServiceImpl.java
  17. 69 0
      sd-business/src/main/java/com/sd/business/service/packaging/impl/PackagingAssemblyServiceImpl.java
  18. 5 0
      sd-business/src/main/resources/mapper/packging/PackagingAssemblyBomMapper.xml
  19. 16 0
      sd-business/src/main/resources/mapper/packging/PackagingAssemblyMapper.xml

+ 71 - 0
sd-business/src/main/java/com/sd/business/controller/packaging/PackagingAssemblyController.java

@@ -0,0 +1,71 @@
+package com.sd.business.controller.packaging;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.sd.business.entity.bom.vo.BomSpecVo;
+import com.sd.business.entity.packaging.dto.PackagingAssemblyDto;
+import com.sd.business.entity.packaging.dto.PackagingAssemblySelectDto;
+import com.sd.business.entity.packaging.vo.PackagingAssemblyVo;
+import com.sd.business.service.packaging.PackagingAssemblyService;
+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>
+ * 包装组合 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-09-12
+ */
+@RestController
+@RequestMapping("/packagingAssembly")
+public class PackagingAssemblyController {
+    @Autowired
+    private PackagingAssemblyService packagingAssemblyService;
+
+    /**
+     * 包装组合分页
+     */
+    @PostMapping("/page")
+    public Page<PackagingAssemblyVo> page(@RequestBody PackagingAssemblySelectDto dto) {
+        return packagingAssemblyService.getPage(dto);
+    }
+
+    /**
+     * 包装组合新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody PackagingAssemblyDto packagingAssemblyDto) {
+        packagingAssemblyService.add(packagingAssemblyDto);
+    }
+
+    /**
+     * 包装组合编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody PackagingAssemblyDto packagingAssemblyDto) {
+        packagingAssemblyService.edit(packagingAssemblyDto);
+    }
+
+    /**
+     * 包装组合删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        packagingAssemblyService.delete(dto.getId());
+    }
+
+    /**
+     * 包装组合bom规格 列表
+     */
+    @PostMapping("/getPackagingBomList")
+    public List<BomSpecVo> packagingBomList(@RequestBody BaseSelectDto dto) {
+        return packagingAssemblyService.getPackagingBomSpecList(dto);
+    }
+}

+ 10 - 0
sd-business/src/main/java/com/sd/business/entity/order/dto/OrderInfoDto.java

@@ -37,4 +37,14 @@ public class OrderInfoDto extends OrderInfo {
     private List<ObsFile> fileList;
 
 
+    /**
+     * 订单包装bom
+     */
+    private List<OrderPackageBomDto> orderPackageBomList;
+
+
+    /**
+     * 外箱不干胶文件
+     */
+    private ObsFile outerBoxSelfAdhesiveStickerFile;
 }

+ 41 - 0
sd-business/src/main/java/com/sd/business/entity/order/vo/OrderInfoVo.java

@@ -4,6 +4,7 @@ import com.sd.business.entity.order.po.OrderInfo;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -31,4 +32,44 @@ public class OrderInfoVo extends OrderInfo {
      */
     private List<OrderSkuVo> orderSkuList;
 
+    /**
+     * 订单包装bom列表
+     */
+    private List<OrderInfoVo.OrderPackage> orderPackageList;
+
+    @Getter
+    @Setter
+    public static class OrderPackage {
+
+        /**
+         * bom规格id
+         */
+        private Long id;
+
+        /**
+         * bom规格编号
+         */
+        private String code;
+
+        /**
+         * bom规格名称
+         */
+        private String name;
+
+        /**
+         * 数量
+         */
+        private BigDecimal quantity;
+
+        /**
+         * 成本价
+         */
+        private BigDecimal costPrice;
+
+        /**
+         * 对内销售价(含税)
+         */
+        private BigDecimal internalSellingPrice;
+    }
+
 }

+ 16 - 0
sd-business/src/main/java/com/sd/business/entity/packaging/dto/PackagingAssemblyBomDto.java

@@ -0,0 +1,16 @@
+package com.sd.business.entity.packaging.dto;
+
+import com.sd.business.entity.packaging.po.PackagingAssemblyBom;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 包装组合 bom关联新增编辑入参实体
+ *
+ * @author
+ * @since 2023-09-12
+ */
+@Getter
+@Setter
+public class PackagingAssemblyBomDto extends PackagingAssemblyBom {
+}

+ 25 - 0
sd-business/src/main/java/com/sd/business/entity/packaging/dto/PackagingAssemblyDto.java

@@ -0,0 +1,25 @@
+package com.sd.business.entity.packaging.dto;
+
+import com.sd.business.entity.packaging.po.PackagingAssembly;
+import com.sd.business.entity.packaging.po.PackagingAssemblyBom;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 包装组合新增编辑入参实体
+ *
+ * @author
+ * @since 2023-09-12
+ */
+
+@Getter
+@Setter
+public class PackagingAssemblyDto extends PackagingAssembly {
+
+    /**
+     * 包装组合bom 详情数据
+     */
+    private List<PackagingAssemblyBom> packagingAssemblyBomList;
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/packaging/dto/PackagingAssemblySelectDto.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.packaging.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 包装组合查询入参实体
+ *
+ * @author
+ * @since 2023-09-12
+ */
+@Getter
+@Setter
+public class PackagingAssemblySelectDto extends BaseSelectDto {
+    private String name;
+}

+ 25 - 0
sd-business/src/main/java/com/sd/business/entity/packaging/po/PackagingAssembly.java

@@ -0,0 +1,25 @@
+package com.sd.business.entity.packaging.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 包装组合
+ * </p>
+ *
+ * @author
+ * @since 2023-09-12
+ */
+@Getter
+@Setter
+@TableName("packaging_assembly")
+public class PackagingAssembly extends BasePo {
+
+    /**
+     * 名称
+     */
+    private String name;
+}

+ 30 - 0
sd-business/src/main/java/com/sd/business/entity/packaging/po/PackagingAssemblyBom.java

@@ -0,0 +1,30 @@
+package com.sd.business.entity.packaging.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 包装组合 bom 关联
+ * </p>
+ *
+ * @author
+ * @since 2023-09-12
+ */
+@Getter
+@Setter
+@TableName("packaging_assembly_bom")
+public class PackagingAssemblyBom extends BasePo {
+
+    /**
+     * 包装组合id
+     */
+    private Long packagingAssemblyId;
+
+    /**
+     * bom规格id
+     */
+    private Long bomSpecId;
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/packaging/vo/PackagingAssemblyBomVo.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.packaging.vo;
+
+
+import com.sd.business.entity.packaging.po.PackagingAssemblyBom;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 包装组合 bom关联列表查询返回值实体
+ *
+ * @author
+ * @since 2023-09-12
+ */
+@Getter
+@Setter
+public class PackagingAssemblyBomVo extends PackagingAssemblyBom {
+}

+ 16 - 0
sd-business/src/main/java/com/sd/business/entity/packaging/vo/PackagingAssemblyVo.java

@@ -0,0 +1,16 @@
+package com.sd.business.entity.packaging.vo;
+
+import com.sd.business.entity.packaging.po.PackagingAssembly;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 包装组合列表查询返回值实体
+ *
+ * @author
+ * @since 2023-09-12
+ */
+@Getter
+@Setter
+public class PackagingAssemblyVo extends PackagingAssembly {
+}

+ 15 - 0
sd-business/src/main/java/com/sd/business/mapper/packaging/PackagingAssemblyBomMapper.java

@@ -0,0 +1,15 @@
+package com.sd.business.mapper.packaging;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sd.business.entity.packaging.po.PackagingAssemblyBom;
+
+/**
+ * <p>
+ * 包装组合关联bom Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2023-09-12
+ */
+public interface PackagingAssemblyBomMapper extends BaseMapper<PackagingAssemblyBom> {
+}

+ 21 - 0
sd-business/src/main/java/com/sd/business/mapper/packaging/PackagingAssemblyMapper.java

@@ -0,0 +1,21 @@
+package com.sd.business.mapper.packaging;
+
+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.packaging.po.PackagingAssembly;
+import com.sd.business.entity.packaging.vo.PackagingAssemblyVo;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 包装组合 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2023-09-12
+ */
+public interface PackagingAssemblyMapper extends BaseMapper<PackagingAssembly> {
+
+    Page<PackagingAssemblyVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<PackagingAssembly> wrapper);
+}

+ 30 - 4
sd-business/src/main/java/com/sd/business/service/order/impl/OrderServiceImpl.java

@@ -25,10 +25,7 @@ import com.sd.business.entity.in.dto.InOutStorageDto;
 import com.sd.business.entity.in.emums.InDetailTypeEnum;
 import com.sd.business.entity.in.emums.InOutTypeEnum;
 import com.sd.business.entity.in.po.InOutStorageBom;
-import com.sd.business.entity.order.dto.OrderInfoDto;
-import com.sd.business.entity.order.dto.OrderSelectDto;
-import com.sd.business.entity.order.dto.OrderSkuDto;
-import com.sd.business.entity.order.dto.SkuSpecPriceDto;
+import com.sd.business.entity.order.dto.*;
 import com.sd.business.entity.order.enums.OrderExceptionTypeEnum;
 import com.sd.business.entity.order.enums.OrderStatusEnum;
 import com.sd.business.entity.order.po.*;
@@ -212,6 +209,23 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
             orderSkuVo.setOrderSkuBomList(orderSkuBomMap.getOrDefault(orderSkuVo.getId(), Collections.emptyList()));
         }
 
+        // 赋值包装明细
+        List<OrderPackageBom> list = orderPackageBomService.list(q -> q.eq(OrderPackageBom::getOrderId, id));
+
+        List<OrderInfoVo.OrderPackage> orderPackageList = list.stream().map(item -> {
+            OrderInfoVo.OrderPackage orderPackage = new OrderInfoVo.OrderPackage();
+            orderPackage.setId(item.getBomSpecId());
+            orderPackage.setQuantity(item.getQuantity());
+            orderPackage.setCostPrice(item.getCostPrice());
+            orderPackage.setInternalSellingPrice(item.getInternalSellingPrice());
+            return orderPackage;
+        }).collect(Collectors.toList());
+        // 赋值品名 品号 销售单价 成本价
+        bomSpecService.attributeAssign(orderPackageList, OrderInfoVo.OrderPackage::getId, (item, bomSpec) -> {
+            item.setCode(bomSpec.getCode());
+            item.setName(bomSpec.getName());
+        });
+
         return result;
     }
 
@@ -245,6 +259,16 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
                 .collect(Collectors.toList());
         orderSkuBomService.saveBatch(orderSkuBomList);
 
+        if (ObjectUtil.isNotEmpty(orderDto.getOrderPackageBomList())) {
+            // 保存订单包装信息
+            List<OrderPackageBomDto> tempOrderPackageBomList = orderDto.getOrderPackageBomList();
+            List<OrderPackageBom> orderPackageBomList = tempOrderPackageBomList.stream()
+                    .peek(item -> item.setOrderId(orderDto.getId()))
+                    .map(item -> (OrderPackageBom) item)
+                    .collect(Collectors.toList());
+            orderPackageBomService.saveBatch(orderPackageBomList);
+        }
+
         OrderOperatingLog orderOperatingLog = new OrderOperatingLog();
         orderOperatingLog.setType(10);
         orderOperatingLog.setOrderId(orderDto.getId());
@@ -252,6 +276,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
         orderOperatingLogService.save(orderOperatingLog);
 
         ObsFileUtil.saveFile(orderDto.getFileList(), orderDto.getId());
+        // 保存 外箱不干胶图稿, 文件业务类型为 1
+        ObsFileUtil.saveFile(Collections.singletonList(orderDto.getOuterBoxSelfAdhesiveStickerFile()), orderDto.getId(), 1);
     }
 
     @DSTransactional

+ 15 - 0
sd-business/src/main/java/com/sd/business/service/packaging/PackagingAssemblyBomService.java

@@ -0,0 +1,15 @@
+package com.sd.business.service.packaging;
+
+import com.ruoyi.common.core.service.BaseService;
+import com.sd.business.entity.packaging.po.PackagingAssemblyBom;
+
+/**
+ * <p>
+ * 包装组合 关联bom 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-09-12
+ */
+public interface PackagingAssemblyBomService extends BaseService<PackagingAssemblyBom> {
+}

+ 50 - 0
sd-business/src/main/java/com/sd/business/service/packaging/PackagingAssemblyService.java

@@ -0,0 +1,50 @@
+package com.sd.business.service.packaging;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.ruoyi.common.core.service.BaseService;
+import com.sd.business.entity.bom.vo.BomSpecVo;
+import com.sd.business.entity.packaging.dto.PackagingAssemblyDto;
+import com.sd.business.entity.packaging.dto.PackagingAssemblySelectDto;
+import com.sd.business.entity.packaging.po.PackagingAssembly;
+import com.sd.business.entity.packaging.vo.PackagingAssemblyVo;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 包装组合 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-09-12
+ */
+public interface PackagingAssemblyService extends BaseService<PackagingAssembly> {
+    /**
+     * 包装组合分页
+     */
+    Page<PackagingAssemblyVo> getPage(PackagingAssemblySelectDto dto);
+
+    /**
+     * 包装组合新增
+     */
+    void add(PackagingAssemblyDto dto);
+
+    /**
+     * 包装组合编辑
+     */
+    void edit(PackagingAssemblyDto dto);
+
+    /**
+     * 包装组合删除
+     */
+    void delete(Long id);
+
+    /**
+     * 包装组合bom规格 列表
+     * @param dto
+     * @return
+     */
+    List<BomSpecVo> getPackagingBomSpecList(BaseSelectDto dto);
+}

+ 12 - 0
sd-business/src/main/java/com/sd/business/service/packaging/impl/PackagingAssemblyBomServiceImpl.java

@@ -0,0 +1,12 @@
+package com.sd.business.service.packaging.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sd.business.entity.packaging.po.PackagingAssemblyBom;
+import com.sd.business.mapper.packaging.PackagingAssemblyBomMapper;
+import com.sd.business.service.packaging.PackagingAssemblyBomService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class PackagingAssemblyBomServiceImpl extends ServiceImpl<PackagingAssemblyBomMapper, PackagingAssemblyBom> implements PackagingAssemblyBomService {
+
+}

+ 69 - 0
sd-business/src/main/java/com/sd/business/service/packaging/impl/PackagingAssemblyServiceImpl.java

@@ -0,0 +1,69 @@
+package com.sd.business.service.packaging.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.core.domain.BaseSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.sd.business.entity.bom.po.BomSpec;
+import com.sd.business.entity.bom.vo.BomSpecVo;
+import com.sd.business.entity.packaging.dto.PackagingAssemblyDto;
+import com.sd.business.entity.packaging.dto.PackagingAssemblySelectDto;
+import com.sd.business.entity.packaging.po.PackagingAssembly;
+import com.sd.business.entity.packaging.po.PackagingAssemblyBom;
+import com.sd.business.entity.packaging.vo.PackagingAssemblyVo;
+import com.sd.business.mapper.packaging.PackagingAssemblyMapper;
+import com.sd.business.service.bom.BomSpecService;
+import com.sd.business.service.packaging.PackagingAssemblyBomService;
+import com.sd.business.service.packaging.PackagingAssemblyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+public class PackagingAssemblyServiceImpl extends ServiceImpl<PackagingAssemblyMapper, PackagingAssembly> implements PackagingAssemblyService {
+
+    @Autowired
+    private PackagingAssemblyBomService packagingAssemblyBomService;
+
+    @Autowired
+    private BomSpecService bomSpecService;
+
+    @Override
+    public Page<PackagingAssemblyVo> getPage(PackagingAssemblySelectDto dto) {
+        IWrapper<PackagingAssembly> wrapper = getWrapper();
+        wrapper.orderByDesc("pa", PackagingAssembly::getId);
+        wrapper.like("pa", PackagingAssembly::getName, dto.getName());
+        return this.baseMapper.getPage(dto.getPage(), wrapper);
+    }
+
+    @Override
+    public void add(PackagingAssemblyDto dto) {
+        this.save(dto);
+        // 保存包装组合bom关联信息
+        List<PackagingAssemblyBom> packagingAssemblyBomList = dto.getPackagingAssemblyBomList();
+        packagingAssemblyBomList.forEach(q -> q.setId(dto.getId()));
+        packagingAssemblyBomService.saveBatch(packagingAssemblyBomList);
+    }
+
+    @Override
+    public void edit(PackagingAssemblyDto dto) {
+
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+        packagingAssemblyBomService.remove(q -> q.eq(PackagingAssemblyBom::getPackagingAssemblyId, id));
+    }
+
+    @Override
+    public List<BomSpecVo> getPackagingBomSpecList(BaseSelectDto dto) {
+        List<PackagingAssemblyBom> list = packagingAssemblyBomService.list(q -> q.eq(PackagingAssemblyBom::getPackagingAssemblyId, dto.getId()));
+        List<Long> bomSpecIdList = list.stream().map(PackagingAssemblyBom::getBomSpecId).collect(Collectors.toList());
+        List<BomSpec> bomSpecs = bomSpecService.list(q -> q.in(BomSpec::getId, bomSpecIdList));
+        return BeanUtil.copyToList(bomSpecs, BomSpecVo.class);
+    }
+}

+ 5 - 0
sd-business/src/main/resources/mapper/packging/PackagingAssemblyBomMapper.xml

@@ -0,0 +1,5 @@
+<?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.packaging.PackagingAssemblyBomMapper">
+
+</mapper>

+ 16 - 0
sd-business/src/main/resources/mapper/packging/PackagingAssemblyMapper.xml

@@ -0,0 +1,16 @@
+<?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.packaging.PackagingAssemblyMapper">
+    <select id="getPage" resultType="com.sd.business.entity.packaging.vo.PackagingAssemblyVo">
+        SELECT
+            pa.id,
+            pa.name,
+            pa.create_user,
+            pa.create_time,
+            pa.update_user,
+            pa.update_time
+        FROM
+            packaging_assembly pa
+            ${ew.customSqlSegment}
+    </select>
+</mapper>