Browse Source

feat:新增出库单管理

kgy 5 months ago
parent
commit
bfbe0dbba2
14 changed files with 675 additions and 0 deletions
  1. 28 0
      ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/controller/OutBoundOrderController.java
  2. 13 0
      ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/controller/PutOutStorageController.java
  3. 117 0
      ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/OutBoundOrder.java
  4. 56 0
      ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/OutBoundOrderProduct.java
  5. 117 0
      ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/bo/OutBoundOrderBo.java
  6. 52 0
      ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/bo/OutBoundOrderProductBo.java
  7. 51 0
      ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/vo/OutBoundOrderProductVo.java
  8. 118 0
      ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/vo/OutBoundOrderVo.java
  9. 9 0
      ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/mapper/OutBoundOrderMapper.java
  10. 9 0
      ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/mapper/OutBoundOrderProductMapper.java
  11. 16 0
      ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/service/OutBoundOrderService.java
  12. 73 0
      ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/service/impl/OutBoundOrderServiceImpl.java
  13. 8 0
      ruoyi-modules/ruoyi-InventoryManagement/src/main/resources/mapper/OutBoundOrderMapper.xml
  14. 8 0
      ruoyi-modules/ruoyi-InventoryManagement/src/main/resources/mapper/OutBoundOrderProductMapper.xml

+ 28 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/controller/OutBoundOrderController.java

@@ -0,0 +1,28 @@
+package org.dromara.InventoryManagement.controller;
+
+import cn.dev33.satoken.annotation.SaIgnore;
+import lombok.RequiredArgsConstructor;
+import org.dromara.InventoryManagement.domain.bo.OutBoundOrderBo;
+import org.dromara.InventoryManagement.domain.vo.OutBoundOrderVo;
+import org.dromara.InventoryManagement.service.OutBoundOrderService;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.springframework.web.bind.annotation.*;
+
+@SaIgnore
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/inventoryManagement/outBoundOrder")
+public class OutBoundOrderController extends BaseController {
+    private final OutBoundOrderService outBoundOrderService;
+    @GetMapping("/PageList")
+    public TableDataInfo<OutBoundOrderVo> selectOutBoundOrderPageList(OutBoundOrderBo outBoundOrderBo, PageQuery pageQuery) {
+        return outBoundOrderService.selectOutBoundOrderPageList(outBoundOrderBo, pageQuery);
+    }
+    @PostMapping()
+    public R<Void> insertOutBoundOrder(@RequestBody OutBoundOrderBo outBoundOrderBo) {
+        return toAjax(outBoundOrderService.insertOutBoundOrder(outBoundOrderBo));
+    }
+}

+ 13 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/controller/PutOutStorageController.java

@@ -0,0 +1,13 @@
+package org.dromara.InventoryManagement.controller;
+
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.web.core.BaseController;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/inventoryManagement/putOutStorage")
+public class PutOutStorageController extends BaseController {
+
+}

+ 117 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/OutBoundOrder.java

@@ -0,0 +1,117 @@
+package org.dromara.InventoryManagement.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.tenant.core.TenantEntity;
+
+import java.util.Date;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("fa_ykjp_delivery")
+public class OutBoundOrder extends TenantEntity {
+    /**
+     * ID
+     */
+    @TableId(type = IdType.AUTO)
+    private int id;
+    /**
+     * 单据编号
+     */
+    private String code;
+    /**
+     * 销售单单号
+     */
+    private String sellCode;
+    /**
+     * 销售单ID
+     */
+    private int sellId;
+    /**
+     * 客户名称
+     */
+    private String customerName;
+    /**
+     * 客户ID
+     */
+    private int customerInfoId;
+    /**
+     * 联系人
+     */
+    private String linkman;
+    /**
+     * 联系方式
+     */
+    private String phone;
+    /**
+     * 录单人员
+     */
+    private int adminId;
+    /**
+     * 制单时间
+     */
+    private Date billingTime;
+    /**
+     * 交货日期
+     */
+    private Date deliveryTime;
+    /**
+     * 合计
+     */
+    private double totalNums;
+    /**
+     * 交货方式:1=买家自提,2=卖方发货,3=代发
+     */
+    private String type;
+    /**
+     * 所属区域
+     */
+    private String city;
+    /**
+     * 详细地址
+     */
+    private String address;
+    /**
+     * 状态:-1=已作废,1=待审核,2=审核失败,3=待财务审核,4=财务审核失败,5=审核通过,6=确认出库
+     */
+    private String statusList;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 审核人ID
+     */
+    private int reviewerId;
+    /**
+     * 企业ID
+     */
+    private int firmid;
+    /**
+     * 删除时间
+     */
+    private Date deletetime;
+    /**
+     * 作废理由
+     */
+    private String reason;
+    /**
+     * 审核失败理由
+     */
+    private String cause;
+    /**
+     *
+     */
+    private String outboundType;
+    /**
+     *
+     */
+    private double money;
+    /**
+     *
+     */
+    private int financialUserId;
+}

+ 56 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/OutBoundOrderProduct.java

@@ -0,0 +1,56 @@
+package org.dromara.InventoryManagement.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.tenant.core.TenantEntity;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("fa_ykjp_delivery_product")
+public class OutBoundOrderProduct extends TenantEntity {
+    /**
+     * ID
+     */
+    private int id;
+    /**
+     * 销售出库表ID
+     */
+    private int deliveryId;
+    /**
+     * 产品ID
+     */
+    private int productId;
+    /**
+     * 关联表ID
+     */
+    private int wpId;
+    /**
+     * 销售单副单ID
+     */
+    private int sellProId;
+    /**
+     * 单价
+     */
+    private double price;
+    /**
+     * 出库数量
+     */
+    private double nums;
+    /**
+     * 总价小计
+     */
+    private double subtotal;
+    /**
+     * 单位
+     */
+    private String unit;
+    /**
+     * 企业ID
+     */
+    private int firmid;
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 117 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/bo/OutBoundOrderBo.java

@@ -0,0 +1,117 @@
+package org.dromara.InventoryManagement.domain.bo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class OutBoundOrderBo extends BaseEntity {
+    /**
+     * ID
+     */
+    private int id;
+    /**
+     * 单据编号
+     */
+    private String code;
+    /**
+     * 销售单单号
+     */
+    private String sellCode;
+    /**
+     * 销售单ID
+     */
+    private int sellId;
+    /**
+     * 客户名称
+     */
+    private String customerName;
+    /**
+     * 客户ID
+     */
+    private int customerInfoId;
+    /**
+     * 联系人
+     */
+    private String linkman;
+    /**
+     * 联系方式
+     */
+    private String phone;
+    /**
+     * 录单人员
+     */
+    private int adminId;
+    /**
+     * 制单时间
+     */
+    private Date billingTime;
+    /**
+     * 交货日期
+     */
+    private Date deliveryTime;
+    /**
+     * 合计
+     */
+    private double totalNums;
+    /**
+     * 交货方式:1=买家自提,2=卖方发货,3=代发
+     */
+    private String type;
+    /**
+     * 所属区域
+     */
+    private String city;
+    /**
+     * 详细地址
+     */
+    private String address;
+    /**
+     * 状态:-1=已作废,1=待审核,2=审核失败,3=待财务审核,4=财务审核失败,5=审核通过,6=确认出库
+     */
+    private String statusList;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 审核人ID
+     */
+    private int reviewerId;
+    /**
+     * 企业ID
+     */
+    private int firmid;
+    /**
+     * 删除时间
+     */
+    private Date deletetime;
+    /**
+     * 作废理由
+     */
+    private String reason;
+    /**
+     * 审核失败理由
+     */
+    private String cause;
+    /**
+     *
+     */
+    private String outboundType;
+    /**
+     *
+     */
+    private double money;
+    /**
+     *
+     */
+    private int financialUserId;
+    /**
+     * 出库产品集合
+     */
+    private List<OutBoundOrderProductBo> outBoundOrderProductBoList;
+}

+ 52 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/bo/OutBoundOrderProductBo.java

@@ -0,0 +1,52 @@
+package org.dromara.InventoryManagement.domain.bo;
+
+import lombok.Data;
+
+
+@Data
+public class OutBoundOrderProductBo  {
+    /**
+     * ID
+     */
+    private int id;
+    /**
+     * 销售出库表ID
+     */
+    private int deliveryId;
+    /**
+     * 产品ID
+     */
+    private int productId;
+    /**
+     * 关联表ID
+     */
+    private int wpId;
+    /**
+     * 销售单副单ID
+     */
+    private int sellProId;
+    /**
+     * 单价
+     */
+    private double price;
+    /**
+     * 出库数量
+     */
+    private double nums;
+    /**
+     * 总价小计
+     */
+    private double subtotal;
+    /**
+     * 单位
+     */
+    private String unit;
+    /**
+     * 企业ID
+     */
+    private int firmid;
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 51 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/vo/OutBoundOrderProductVo.java

@@ -0,0 +1,51 @@
+package org.dromara.InventoryManagement.domain.vo;
+
+import lombok.Data;
+
+@Data
+public class OutBoundOrderProductVo {
+    /**
+     * ID
+     */
+    private int id;
+    /**
+     * 销售出库表ID
+     */
+    private int deliveryId;
+    /**
+     * 产品ID
+     */
+    private int productId;
+    /**
+     * 关联表ID
+     */
+    private int wpId;
+    /**
+     * 销售单副单ID
+     */
+    private int sellProId;
+    /**
+     * 单价
+     */
+    private double price;
+    /**
+     * 出库数量
+     */
+    private double nums;
+    /**
+     * 总价小计
+     */
+    private double subtotal;
+    /**
+     * 单位
+     */
+    private String unit;
+    /**
+     * 企业ID
+     */
+    private int firmid;
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 118 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/vo/OutBoundOrderVo.java

@@ -0,0 +1,118 @@
+package org.dromara.InventoryManagement.domain.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.InventoryManagement.domain.bo.OutBoundOrderProductBo;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class OutBoundOrderVo extends BaseEntity {
+    /**
+     * ID
+     */
+    private int id;
+    /**
+     * 单据编号
+     */
+    private String code;
+    /**
+     * 销售单单号
+     */
+    private String sellCode;
+    /**
+     * 销售单ID
+     */
+    private int sellId;
+    /**
+     * 客户名称
+     */
+    private String customerName;
+    /**
+     * 客户ID
+     */
+    private int customerInfoId;
+    /**
+     * 联系人
+     */
+    private String linkman;
+    /**
+     * 联系方式
+     */
+    private String phone;
+    /**
+     * 录单人员
+     */
+    private int adminId;
+    /**
+     * 制单时间
+     */
+    private Date billingTime;
+    /**
+     * 交货日期
+     */
+    private Date deliveryTime;
+    /**
+     * 合计
+     */
+    private double totalNums;
+    /**
+     * 交货方式:1=买家自提,2=卖方发货,3=代发
+     */
+    private String type;
+    /**
+     * 所属区域
+     */
+    private String city;
+    /**
+     * 详细地址
+     */
+    private String address;
+    /**
+     * 状态:-1=已作废,1=待审核,2=审核失败,3=待财务审核,4=财务审核失败,5=审核通过,6=确认出库
+     */
+    private String statusList;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 审核人ID
+     */
+    private int reviewerId;
+    /**
+     * 企业ID
+     */
+    private int firmid;
+    /**
+     * 删除时间
+     */
+    private Date deletetime;
+    /**
+     * 作废理由
+     */
+    private String reason;
+    /**
+     * 审核失败理由
+     */
+    private String cause;
+    /**
+     *
+     */
+    private String outboundType;
+    /**
+     *
+     */
+    private double money;
+    /**
+     *
+     */
+    private int financialUserId;
+    /**
+     * 出库产品集合
+     */
+    private List<OutBoundOrderProductBo> outBoundOrderProductBoList;
+}

+ 9 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/mapper/OutBoundOrderMapper.java

@@ -0,0 +1,9 @@
+package org.dromara.InventoryManagement.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.dromara.InventoryManagement.domain.OutBoundOrder;
+import org.dromara.InventoryManagement.domain.vo.OutBoundOrderVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+@Mapper
+public interface OutBoundOrderMapper extends BaseMapperPlus<OutBoundOrder, OutBoundOrderVo> {
+}

+ 9 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/mapper/OutBoundOrderProductMapper.java

@@ -0,0 +1,9 @@
+package org.dromara.InventoryManagement.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.dromara.InventoryManagement.domain.OutBoundOrderProduct;
+import org.dromara.InventoryManagement.domain.vo.OutBoundOrderProductVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+@Mapper
+public interface OutBoundOrderProductMapper extends BaseMapperPlus<OutBoundOrderProduct, OutBoundOrderProductVo> {
+}

+ 16 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/service/OutBoundOrderService.java

@@ -0,0 +1,16 @@
+package org.dromara.InventoryManagement.service;
+
+import org.dromara.InventoryManagement.domain.bo.OutBoundOrderBo;
+import org.dromara.InventoryManagement.domain.vo.OutBoundOrderProductVo;
+import org.dromara.InventoryManagement.domain.vo.OutBoundOrderVo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+import java.util.List;
+
+public interface OutBoundOrderService {
+    TableDataInfo <OutBoundOrderVo> selectOutBoundOrderPageList(OutBoundOrderBo outBoundOrderBo, PageQuery pageQuery);
+    int insertOutBoundOrder(OutBoundOrderBo outBoundOrderBo);
+    List<OutBoundOrderProductVo> selectOutBoundOrderProductList(int id);
+    int updateOutBoundOrder(OutBoundOrderBo outBoundOrderBo);
+}

+ 73 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/service/impl/OutBoundOrderServiceImpl.java

@@ -0,0 +1,73 @@
+package org.dromara.InventoryManagement.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.RequiredArgsConstructor;
+import org.dromara.InventoryManagement.domain.OutBoundOrder;
+import org.dromara.InventoryManagement.domain.OutBoundOrderProduct;
+import org.dromara.InventoryManagement.domain.bo.OutBoundOrderBo;
+import org.dromara.InventoryManagement.domain.bo.OutBoundOrderProductBo;
+import org.dromara.InventoryManagement.domain.vo.OutBoundOrderProductVo;
+import org.dromara.InventoryManagement.domain.vo.OutBoundOrderVo;
+import org.dromara.InventoryManagement.mapper.OutBoundOrderMapper;
+import org.dromara.InventoryManagement.mapper.OutBoundOrderProductMapper;
+import org.dromara.InventoryManagement.service.OutBoundOrderService;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.OrderNumberGenerator;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Service
+@RequiredArgsConstructor
+public class OutBoundOrderServiceImpl implements OutBoundOrderService {
+    private final OutBoundOrderMapper outBoundOrderMapper;
+    private final OutBoundOrderProductMapper outBoundOrderProductMapper;
+
+    @Override
+    public TableDataInfo<OutBoundOrderVo> selectOutBoundOrderPageList(OutBoundOrderBo outBoundOrderBo, PageQuery pageQuery) {
+        QueryWrapper<OutBoundOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.like(StringUtils.isNotBlank(outBoundOrderBo.getCode()), "code", outBoundOrderBo.getCode());
+        queryWrapper.like(StringUtils.isNotBlank(outBoundOrderBo.getCustomerName()), "customer_name", outBoundOrderBo.getCustomerName());
+        queryWrapper.eq(StringUtils.isNotBlank(outBoundOrderBo.getStatusList()), "status_list", outBoundOrderBo.getStatusList());
+        Page<OutBoundOrderVo> page = outBoundOrderMapper.selectVoPage(pageQuery.build(), queryWrapper);
+        return TableDataInfo.build(page);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int insertOutBoundOrder(OutBoundOrderBo outBoundOrderBo) {
+        OrderNumberGenerator generator = OrderNumberGenerator.getInstance();
+        OutBoundOrder outBoundOrder = MapstructUtils.convert(outBoundOrderBo, OutBoundOrder.class);
+        if (outBoundOrder != null) {
+            outBoundOrder.setCode(generator.generateOrderNumber("YK"));
+        } else {
+            throw new RuntimeException("outBoundOrder is null");
+        }
+        outBoundOrderMapper.insert(outBoundOrder);
+        for (OutBoundOrderProductBo outBoundOrderProductBo : outBoundOrderBo.getOutBoundOrderProductBoList()) {
+            outBoundOrderProductBo.setDeliveryId(outBoundOrder.getId());
+            outBoundOrderProductMapper.insert(MapstructUtils.convert(outBoundOrderProductBo, OutBoundOrderProduct.class));
+        }
+        return 1;
+    }
+
+    @Override
+    public List<OutBoundOrderProductVo> selectOutBoundOrderProductList(int id) {
+        QueryWrapper<OutBoundOrderProduct> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("delivery_id", id);
+        return MapstructUtils.convert(outBoundOrderProductMapper.selectList(queryWrapper), OutBoundOrderProductVo.class);
+    }
+
+    @Override
+    public int updateOutBoundOrder(OutBoundOrderBo outBoundOrderBo) {
+        for (OutBoundOrderProductBo outBoundOrderProductBo : outBoundOrderBo.getOutBoundOrderProductBoList()){
+            outBoundOrderProductMapper.updateById(MapstructUtils.convert(outBoundOrderProductBo, OutBoundOrderProduct.class));
+        }
+        return outBoundOrderMapper.updateById(MapstructUtils.convert(outBoundOrderBo, OutBoundOrder.class));
+    }
+}

+ 8 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/resources/mapper/OutBoundOrderMapper.xml

@@ -0,0 +1,8 @@
+<?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="org.dromara.InventoryManagement.mapper.OutBoundOrderMapper">
+
+
+</mapper>

+ 8 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/resources/mapper/OutBoundOrderProductMapper.xml

@@ -0,0 +1,8 @@
+<?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="org.dromara.InventoryManagement.mapper.OutBoundOrderProductMapper">
+
+
+</mapper>