diff --git a/module/pom.xml b/module/pom.xml index 6d7928af..d5bad703 100644 --- a/module/pom.xml +++ b/module/pom.xml @@ -20,8 +20,8 @@ order shop open - - + stock + UTF-8 diff --git a/module/stock/pom.xml b/module/stock/pom.xml new file mode 100644 index 00000000..9c7ed737 --- /dev/null +++ b/module/stock/pom.xml @@ -0,0 +1,41 @@ + + 4.0.0 + + cn.qihangerp.module + module + 1.0 + + + cn.qihangerp.module + stock + jar + + wms + http://maven.apache.org + + + UTF-8 + + + + + cn.qihangerp.core + common + 1.0 + compile + + + cn.qihangerp.module + goods + 1.0 + compile + + + junit + junit + 3.8.1 + test + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/App.java b/module/stock/src/main/java/cn/qihangerp/module/App.java new file mode 100644 index 00000000..06eca50c --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/App.java @@ -0,0 +1,13 @@ +package cn.qihangerp.module; + +/** + * Hello world! + * + */ +public class App +{ + public static void main( String[] args ) + { + System.out.println( "Hello World!" ); + } +} diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/a.java b/module/stock/src/main/java/cn/qihangerp/module/stock/a.java new file mode 100644 index 00000000..40307137 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/a.java @@ -0,0 +1,4 @@ +package cn.qihangerp.module.stock; + +public class a { +} diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsInventoryOperation.java b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsInventoryOperation.java new file mode 100644 index 00000000..019778e1 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsInventoryOperation.java @@ -0,0 +1,134 @@ +package cn.qihangerp.module.stock.domain; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * 仓库库存操作记录表 + * @TableName wms_inventory_operation + */ +@Data +public class WmsInventoryOperation implements Serializable { + /** + * 主键ID + */ + private Long id; + + /** + * 商品id + */ + private Long goodsId; + + /** + * 商品编码 + */ + private String goodsNum; + + /** + * 商品规格id + */ + private Long skuId; + + /** + * 规格编码(唯一) + */ + private String skuCode; + + /** + * 库存批次id + */ + private Long batchId; + + /** + * 库存批次号 + */ + private String batchNum; + + /** + * 库存类型(1增加库存2减少库存3锁定库存) + */ + private Integer type; + + /** + * 商品库存id(本表id减库存的时候关联) + */ + private Long inventoryDetailId; + + /** + * 操作库存数量 + */ + private Integer quantity; + + /** + * 锁定库存数量(status变成已结算时把该字段值更新到quantity) + */ + private Integer lockedQuantity; + + /** + * 价格(type=1采购价格;type=2出库时的价格) + */ + private Double price; + + /** + * 业务类型(10采购入库20采购退货30退货入库40订单出库) + */ + private Integer bizType; + + /** + * 业务单id + */ + private Long bizId; + + /** + * 业务单号 + */ + private String bizNum; + + /** + * 业务单itemId + */ + private Long bizItemId; + + /** + * 状态(0待结算1已结算) + */ + private Integer status; + + /** + * 备注 + */ + private String remark; + + /** + * 仓库id + */ + private Long warehouseId; + + /** + * 仓位id + */ + private Long positionId; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 创建人 + */ + private String createBy; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 更新人 + */ + private String updateBy; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsStockIn.java b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsStockIn.java new file mode 100644 index 00000000..906e8bb7 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsStockIn.java @@ -0,0 +1,108 @@ +package cn.qihangerp.module.stock.domain; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +/** + * 入库单 + * @TableName wms_stock_in + */ +@Data +public class WmsStockIn implements Serializable { + /** + * 主键ID + */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + /** + * 入库单据编号 + */ + private String stockInNum; + + /** + * 来源类型(1采购订单2退货订单) + */ + private Integer stockInType; + + /** + * 来源单号 + */ + private String sourceNo; + + /** + * 来源单id + */ + private Long sourceId; + + /** + * 采购订单商品数 + */ + private Integer sourceGoodsUnit; + + /** + * 采购订单总件数 + */ + private Integer sourceSpecUnitTotal; + + /** + * 采购订单商品规格数 + */ + private Integer sourceSpecUnit; + + /** + * 备注 + */ + private String remark; + + /** + * 操作入库人id + */ + private String stockInOperatorId; + + /** + * 操作入库人 + */ + private String stockInOperator; + + /** + * 入库时间 + */ + private Date stockInTime; + + /** + * 状态(0待入库1部分入库2全部入库) + */ + private Integer status; + + /** + * 创建人 + */ + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新人 + */ + private String updateBy; + + /** + * 更新时间 + */ + private Date updateTime; + + @TableField(exist = false) + private List itemList; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsStockInItem.java b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsStockInItem.java new file mode 100644 index 00000000..39f60292 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsStockInItem.java @@ -0,0 +1,128 @@ +package cn.qihangerp.module.stock.domain; + +import java.io.Serializable; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Data; + +/** + * 入库单明细 + * @TableName wms_stock_in_item + */ +@Data +public class WmsStockInItem implements Serializable { + /** + * + */ + private String id; + + /** + * 入库单id + */ + private Long stockInId; + + /** + * 来源类型(1采购订单2退货订单) + */ + private Integer stockInType; + + /** + * 来源单号 + */ + private String sourceNo; + + /** + * 来源单id + */ + private Long sourceId; + + /** + * 来源单itemId + */ + private Long sourceItemId; + + /** + * 商品id + */ + private String goodsId; + + /** + * 商品编码 + */ + private String goodsNum; + + /** + * 商品名称 + */ + private String goodsName; + + /** + * 商品图片 + */ + private String goodsImage; + + /** + * 商品规格id + */ + private String skuId; + + /** + * 商品规格编码 + */ + private String skuCode; + + /** + * 颜色 + */ + private String skuName; + + /** + * 原始数量 + */ + private Integer quantity; + + /** + * 入库数量 + */ + private Integer inQuantity; + + /** + * 备注 + */ + private String remark; + + /** + * 状态(0待入库1部分入库2全部入库) + */ + private Integer status; + + /** + * 创建人 + */ + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新人 + */ + private String updateBy; + + /** + * 更新时间 + */ + private Date updateTime; + + @TableField(exist = false) + private Integer intoQuantity; + @TableField(exist = false) + private Integer positionId; + @TableField(exist = false) + private String positionNum; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsStockOut.java b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsStockOut.java new file mode 100644 index 00000000..8f43d045 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsStockOut.java @@ -0,0 +1,119 @@ +package cn.qihangerp.module.stock.domain; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * 出库单 + * @TableName wms_stock_out + */ +@Data +public class WmsStockOut implements Serializable { + /** + * + */ + private Long id; + + /** + * 出库单编号 + */ + private String stockOutNum; + + /** + * 来源单据号 + */ + private String sourceNum; + + /** + * 来源单据Id + */ + private Long sourceId; + + /** + * 出库类型1订单拣货出库2采购退货出库3盘点出库4报损出库 + */ + private Integer stockOutType; + + /** + * 商品数 + */ + private Integer goodsUnit; + + /** + * 商品规格数 + */ + private Integer specUnit; + + /** + * 总件数 + */ + private Integer specUnitTotal; + + /** + * 已出库数量 + */ + private Integer outTotal; + + /** + * 备注 + */ + private String remark; + + /** + * 状态:0待出库1部分出库2全部出库 + */ + private Integer status; + + /** + * 打印状态:是否打印1已打印0未打印 + */ + private Integer printStatus; + + /** + * 打印时间 + */ + private Date printTime; + + /** + * 出库时间 + */ + private Date outTime; + + /** + * 完成出库时间 + */ + private Date completeTime; + + /** + * 出库操作人userid + */ + private Integer operatorId; + + /** + * 出库操作人 + */ + private String operatorName; + + /** + * 创建日期 + */ + private Date createTime; + + /** + * 创建人 + */ + private String createBy; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 更新人 + */ + private String updateBy; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsStockOutItem.java b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsStockOutItem.java new file mode 100644 index 00000000..93b8b5c0 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsStockOutItem.java @@ -0,0 +1,94 @@ +package cn.qihangerp.module.stock.domain; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * 出库单明细 + * @TableName wms_stock_out_item + */ +@Data +public class WmsStockOutItem implements Serializable { + /** + * 主键ID + */ + private Long id; + + /** + * 出库类型1订单拣货出库2采购退货出库3盘点出库4报损出库 + */ + private Integer stockOutType; + + /** + * 出库单id(外键) + */ + private Long entryId; + + /** + * 来源订单id + */ + private Long sourceOrderId; + + /** + * 来源订单itemId出库对应的itemId,如:order_item表id、invoice_info表id + */ + private Long sourceOrderItemId; + + /** + * 来源订单号 + */ + private String sourceOrderNum; + + /** + * 商品id + */ + private Integer goodsId; + + /** + * 商品规格id + */ + private Integer specId; + + /** + * 规格编码 + */ + private String specNum; + + /** + * 总数量 + */ + private Long originalQuantity; + + /** + * 已出库数量 + */ + private Long outQuantity; + + /** + * 完成出库时间 + */ + private Date completeTime; + + /** + * 完成拣货时间 + */ + private Date pickedTime; + + /** + * 状态:0待出库1部分出库2全部出库 + */ + private Integer status; + + /** + * + */ + private Date createTime; + + /** + * + */ + private Date updateTime; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsStockOutItemPosition.java b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsStockOutItemPosition.java new file mode 100644 index 00000000..7e759419 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsStockOutItemPosition.java @@ -0,0 +1,64 @@ +package cn.qihangerp.module.stock.domain; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * 出库仓位详情 + * @TableName wms_stock_out_item_position + */ +@Data +public class WmsStockOutItemPosition implements Serializable { + /** + * 主键ID + */ + private Long id; + + /** + * 出库单ID + */ + private Long entryId; + + /** + * 出库单ItemID + */ + private Long entryItemId; + + /** + * 库存ID + */ + private Long goodsInventoryId; + + /** + * 库存详情ID + */ + private Long goodsInventoryDetailId; + + /** + * 出库数量 + */ + private Long quantity; + + /** + * 出库仓位ID + */ + private Integer locationId; + + /** + * 出库操作人userid + */ + private Integer operatorId; + + /** + * 出库操作人 + */ + private String operatorName; + + /** + * 出库时间 + */ + private Date outTime; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsWarehouse.java b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsWarehouse.java new file mode 100644 index 00000000..51ddb3d9 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsWarehouse.java @@ -0,0 +1,88 @@ +package cn.qihangerp.module.stock.domain; + +import java.io.Serializable; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +/** + * 仓库表 + * @TableName wms_warehouse + */ +@Data +public class WmsWarehouse implements Serializable { + /** + * + */ + @TableId(value = "id",type = IdType.AUTO) + private Integer id; + + /** + * 仓库编号 + */ + private String number; + + /** + * 仓库名称 + */ + private String name; + + /** + * 省 + */ + private String province; + + /** + * 市 + */ + private String city; + + /** + * 区 + */ + private String district; + + /** + * 街道 + */ + private String street; + + /** + * 地址 + */ + private String address; + + /** + * 备注 + */ + private String remark; + + /** + * 状态0禁用 1正常 + */ + private Integer status; + + /** + * 创建人 + */ + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新人 + */ + private String updateBy; + + /** + * 更新时间 + */ + private Date updateTime; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsWarehousePosition.java b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsWarehousePosition.java new file mode 100644 index 00000000..ee7b6654 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/domain/WmsWarehousePosition.java @@ -0,0 +1,93 @@ +package cn.qihangerp.module.stock.domain; + +import java.io.Serializable; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +/** + * 仓库仓位表 + * @TableName wms_warehouse_position + */ +@Data +public class WmsWarehousePosition implements Serializable { + /** + * + */ + @TableId(value = "id",type = IdType.AUTO) + private Integer id; + + /** + * 仓库id + */ + private Integer warehouseId; + + /** + * 仓库/货架编号 + */ + private String number; + + /** + * 仓位/货架名称 + */ + private String name; + + /** + * 上级id + */ + private Integer parentId; + + /** + * 层级深度1级2级3级 + */ + private Integer depth; + + /** + * 一级类目id + */ + private Integer parentId1; + + /** + * 二级类目id + */ + private Integer parentId2; + + /** + * 地址 + */ + private String address; + + /** + * 备注 + */ + private String remark; + + /** + * 0正常 1删除 + */ + private Integer isDelete; + + /** + * 创建人 + */ + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新人 + */ + private String updateBy; + + /** + * 更新时间 + */ + private Date updateTime; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsInventoryOperationMapper.java b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsInventoryOperationMapper.java new file mode 100644 index 00000000..4c8009e8 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsInventoryOperationMapper.java @@ -0,0 +1,19 @@ +package cn.qihangerp.module.stock.mapper; + + +import cn.qihangerp.module.stock.domain.WmsInventoryOperation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author qilip +* @description 针对表【wms_inventory_operation(仓库库存操作记录表)】的数据库操作Mapper +* @createDate 2024-09-23 22:35:19 +* @Entity cn.qihangerp.wms.domain.WmsInventoryOperation +*/ +public interface WmsInventoryOperationMapper extends BaseMapper { + +} + + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsStockInItemMapper.java b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsStockInItemMapper.java new file mode 100644 index 00000000..ae9cc13a --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsStockInItemMapper.java @@ -0,0 +1,19 @@ +package cn.qihangerp.module.stock.mapper; + + +import cn.qihangerp.module.stock.domain.WmsStockInItem; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author qilip +* @description 针对表【wms_stock_in_item(入库单明细)】的数据库操作Mapper +* @createDate 2024-09-22 16:28:57 +* @Entity cn.qihangerp.wms.domain.WmsStockInItem +*/ +public interface WmsStockInItemMapper extends BaseMapper { + +} + + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsStockInMapper.java b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsStockInMapper.java new file mode 100644 index 00000000..63d2d271 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsStockInMapper.java @@ -0,0 +1,19 @@ +package cn.qihangerp.module.stock.mapper; + + +import cn.qihangerp.module.stock.domain.WmsStockIn; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author qilip +* @description 针对表【wms_stock_in(入库单)】的数据库操作Mapper +* @createDate 2024-09-22 16:10:08 +* @Entity cn.qihangerp.wms.domain.WmsStockIn +*/ +public interface WmsStockInMapper extends BaseMapper { + +} + + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsStockOutItemMapper.java b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsStockOutItemMapper.java new file mode 100644 index 00000000..3d65306a --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsStockOutItemMapper.java @@ -0,0 +1,19 @@ +package cn.qihangerp.module.stock.mapper; + + +import cn.qihangerp.module.stock.domain.WmsStockOutItem; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author qilip +* @description 针对表【wms_stock_out_item(出库单明细)】的数据库操作Mapper +* @createDate 2024-09-22 11:13:23 +* @Entity cn.qihangerp.wms.domain.WmsStockOutItem +*/ +public interface WmsStockOutItemMapper extends BaseMapper { + +} + + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsStockOutItemPositionMapper.java b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsStockOutItemPositionMapper.java new file mode 100644 index 00000000..910b4362 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsStockOutItemPositionMapper.java @@ -0,0 +1,19 @@ +package cn.qihangerp.module.stock.mapper; + + +import cn.qihangerp.module.stock.domain.WmsStockOutItemPosition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author qilip +* @description 针对表【wms_stock_out_item_position(出库仓位详情)】的数据库操作Mapper +* @createDate 2024-09-22 11:13:23 +* @Entity cn.qihangerp.wms.domain.WmsStockOutItemPosition +*/ +public interface WmsStockOutItemPositionMapper extends BaseMapper { + +} + + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsStockOutMapper.java b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsStockOutMapper.java new file mode 100644 index 00000000..32c7f7bb --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsStockOutMapper.java @@ -0,0 +1,19 @@ +package cn.qihangerp.module.stock.mapper; + + +import cn.qihangerp.module.stock.domain.WmsStockOut; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author qilip +* @description 针对表【wms_stock_out(出库单)】的数据库操作Mapper +* @createDate 2024-09-22 11:13:23 +* @Entity cn.qihangerp.wms.domain.WmsStockOut +*/ +public interface WmsStockOutMapper extends BaseMapper { + +} + + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsWarehouseMapper.java b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsWarehouseMapper.java new file mode 100644 index 00000000..eadd9338 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsWarehouseMapper.java @@ -0,0 +1,19 @@ +package cn.qihangerp.module.stock.mapper; + + +import cn.qihangerp.module.stock.domain.WmsWarehouse; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author qilip +* @description 针对表【wms_warehouse(仓库表)】的数据库操作Mapper +* @createDate 2024-09-22 11:13:23 +* @Entity cn.qihangerp.wms.domain.WmsWarehouse +*/ +public interface WmsWarehouseMapper extends BaseMapper { + +} + + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsWarehousePositionMapper.java b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsWarehousePositionMapper.java new file mode 100644 index 00000000..3d768d7b --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/mapper/WmsWarehousePositionMapper.java @@ -0,0 +1,19 @@ +package cn.qihangerp.module.stock.mapper; + + +import cn.qihangerp.module.stock.domain.WmsWarehousePosition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author qilip +* @description 针对表【wms_warehouse_position(仓库仓位表)】的数据库操作Mapper +* @createDate 2024-09-22 11:13:23 +* @Entity cn.qihangerp.wms.domain.WmsWarehousePosition +*/ +public interface WmsWarehousePositionMapper extends BaseMapper { + +} + + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/request/StockInCreateItem.java b/module/stock/src/main/java/cn/qihangerp/module/stock/request/StockInCreateItem.java new file mode 100644 index 00000000..9584300d --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/request/StockInCreateItem.java @@ -0,0 +1,14 @@ +package cn.qihangerp.module.stock.request; + +import lombok.Data; + +@Data +public class StockInCreateItem { + private String skuId; + private String goodsId; + private Integer quantity; + private String skuCode; + private String goodsName; + private String goodsImg; + private String skuName; +} diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/request/StockInCreateRequest.java b/module/stock/src/main/java/cn/qihangerp/module/stock/request/StockInCreateRequest.java new file mode 100644 index 00000000..b9c2a1e8 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/request/StockInCreateRequest.java @@ -0,0 +1,15 @@ +package cn.qihangerp.module.stock.request; + +import lombok.Data; + +import java.util.List; + +@Data +public class StockInCreateRequest { + private String stockInNum; + private Integer stockInType; + private String sourceNo; + private String stockInOperator; + private String remark; + private List itemList; +} diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/request/StockInItem.java b/module/stock/src/main/java/cn/qihangerp/module/stock/request/StockInItem.java new file mode 100644 index 00000000..da3fe9f1 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/request/StockInItem.java @@ -0,0 +1,11 @@ +package cn.qihangerp.module.stock.request; + +import lombok.Data; + +@Data +public class StockInItem { + private Long id; + private Long intoQuantity; + private Long positionId; + private String positionNum; +} diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/request/StockInRequest.java b/module/stock/src/main/java/cn/qihangerp/module/stock/request/StockInRequest.java new file mode 100644 index 00000000..fc23dd11 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/request/StockInRequest.java @@ -0,0 +1,13 @@ +package cn.qihangerp.module.stock.request; + +import lombok.Data; + +import java.util.List; + +@Data +public class StockInRequest { + private Long stockInId; + private Long warehouseId; + private String stockInOperator; + private List itemList; +} diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsInventoryOperationService.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsInventoryOperationService.java new file mode 100644 index 00000000..9c9f15a6 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsInventoryOperationService.java @@ -0,0 +1,13 @@ +package cn.qihangerp.module.stock.service; + +import cn.qihangerp.module.stock.domain.WmsInventoryOperation; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author qilip +* @description 针对表【wms_inventory_operation(仓库库存操作记录表)】的数据库操作Service +* @createDate 2024-09-23 22:35:19 +*/ +public interface WmsInventoryOperationService extends IService { + +} diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsStockInItemService.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsStockInItemService.java new file mode 100644 index 00000000..6544ff13 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsStockInItemService.java @@ -0,0 +1,14 @@ +package cn.qihangerp.module.stock.service; + + +import cn.qihangerp.module.stock.domain.WmsStockInItem; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author qilip +* @description 针对表【wms_stock_in_item(入库单明细)】的数据库操作Service +* @createDate 2024-09-22 16:28:57 +*/ +public interface WmsStockInItemService extends IService { + +} diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsStockInService.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsStockInService.java new file mode 100644 index 00000000..d6665982 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsStockInService.java @@ -0,0 +1,23 @@ +package cn.qihangerp.module.stock.service; + +import cn.qihangerp.common.PageQuery; +import cn.qihangerp.common.PageResult; +import cn.qihangerp.common.ResultVo; + +import cn.qihangerp.module.stock.domain.WmsStockIn; +import cn.qihangerp.module.stock.request.StockInCreateRequest; +import cn.qihangerp.module.stock.request.StockInRequest; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author qilip +* @description 针对表【wms_stock_in(入库单)】的数据库操作Service +* @createDate 2024-09-22 16:10:08 +*/ +public interface WmsStockInService extends IService { + PageResult queryPageList(WmsStockIn bo, PageQuery pageQuery); + ResultVo createEntry(Long userId, String userName, StockInCreateRequest request); + ResultVo stockIn(Long userId, String userName, StockInRequest request); + + WmsStockIn getDetailAndItemById(Long id); +} diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsStockOutItemPositionService.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsStockOutItemPositionService.java new file mode 100644 index 00000000..dcef11e7 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsStockOutItemPositionService.java @@ -0,0 +1,14 @@ +package cn.qihangerp.module.stock.service; + + +import cn.qihangerp.module.stock.domain.WmsStockOutItemPosition; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author qilip +* @description 针对表【wms_stock_out_item_position(出库仓位详情)】的数据库操作Service +* @createDate 2024-09-22 11:13:23 +*/ +public interface WmsStockOutItemPositionService extends IService { + +} diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsStockOutItemService.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsStockOutItemService.java new file mode 100644 index 00000000..8fca86d5 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsStockOutItemService.java @@ -0,0 +1,14 @@ +package cn.qihangerp.module.stock.service; + + +import cn.qihangerp.module.stock.domain.WmsStockOutItem; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author qilip +* @description 针对表【wms_stock_out_item(出库单明细)】的数据库操作Service +* @createDate 2024-09-22 11:13:23 +*/ +public interface WmsStockOutItemService extends IService { + +} diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsStockOutService.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsStockOutService.java new file mode 100644 index 00000000..bf92e48b --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsStockOutService.java @@ -0,0 +1,14 @@ +package cn.qihangerp.module.stock.service; + + +import cn.qihangerp.module.stock.domain.WmsStockOut; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author qilip +* @description 针对表【wms_stock_out(出库单)】的数据库操作Service +* @createDate 2024-09-22 11:13:23 +*/ +public interface WmsStockOutService extends IService { + +} diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsWarehousePositionService.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsWarehousePositionService.java new file mode 100644 index 00000000..8fb46ca1 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsWarehousePositionService.java @@ -0,0 +1,14 @@ +package cn.qihangerp.module.stock.service; + + +import cn.qihangerp.module.stock.domain.WmsWarehousePosition; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author qilip +* @description 针对表【wms_warehouse_position(仓库仓位表)】的数据库操作Service +* @createDate 2024-09-22 11:13:23 +*/ +public interface WmsWarehousePositionService extends IService { + +} diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsWarehouseService.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsWarehouseService.java new file mode 100644 index 00000000..f01c1f8e --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/WmsWarehouseService.java @@ -0,0 +1,14 @@ +package cn.qihangerp.module.stock.service; + + +import cn.qihangerp.module.stock.domain.WmsWarehouse; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author qilip +* @description 针对表【wms_warehouse(仓库表)】的数据库操作Service +* @createDate 2024-09-22 11:13:23 +*/ +public interface WmsWarehouseService extends IService { + +} diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsInventoryOperationServiceImpl.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsInventoryOperationServiceImpl.java new file mode 100644 index 00000000..e5b0a4ec --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsInventoryOperationServiceImpl.java @@ -0,0 +1,23 @@ +package cn.qihangerp.module.stock.service.impl; + +import cn.qihangerp.module.stock.domain.WmsInventoryOperation; +import cn.qihangerp.module.stock.mapper.WmsInventoryOperationMapper; +import cn.qihangerp.module.stock.service.WmsInventoryOperationService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import org.springframework.stereotype.Service; + +/** +* @author qilip +* @description 针对表【wms_inventory_operation(仓库库存操作记录表)】的数据库操作Service实现 +* @createDate 2024-09-23 22:35:19 +*/ +@Service +public class WmsInventoryOperationServiceImpl extends ServiceImpl + implements WmsInventoryOperationService { + +} + + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsStockInItemServiceImpl.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsStockInItemServiceImpl.java new file mode 100644 index 00000000..7de1ccb0 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsStockInItemServiceImpl.java @@ -0,0 +1,23 @@ +package cn.qihangerp.module.stock.service.impl; + +import cn.qihangerp.module.stock.domain.WmsStockInItem; +import cn.qihangerp.module.stock.mapper.WmsStockInItemMapper; +import cn.qihangerp.module.stock.service.WmsStockInItemService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import org.springframework.stereotype.Service; + +/** +* @author qilip +* @description 针对表【wms_stock_in_item(入库单明细)】的数据库操作Service实现 +* @createDate 2024-09-22 16:28:57 +*/ +@Service +public class WmsStockInItemServiceImpl extends ServiceImpl + implements WmsStockInItemService { + +} + + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsStockInServiceImpl.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsStockInServiceImpl.java new file mode 100644 index 00000000..0dd93931 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsStockInServiceImpl.java @@ -0,0 +1,208 @@ +package cn.qihangerp.module.stock.service.impl; + +import cn.qihangerp.common.PageQuery; +import cn.qihangerp.common.PageResult; +import cn.qihangerp.common.ResultVo; +import cn.qihangerp.common.ResultVoEnum; +import cn.qihangerp.common.utils.DateUtils; + +import cn.qihangerp.module.goods.domain.OGoodsInventory; +import cn.qihangerp.module.goods.domain.OGoodsInventoryBatch; +import cn.qihangerp.module.goods.service.OGoodsInventoryBatchService; +import cn.qihangerp.module.goods.service.OGoodsInventoryService; +import cn.qihangerp.module.stock.domain.WmsStockIn; +import cn.qihangerp.module.stock.domain.WmsStockInItem; +import cn.qihangerp.module.stock.mapper.WmsStockInMapper; +import cn.qihangerp.module.stock.request.StockInCreateItem; +import cn.qihangerp.module.stock.request.StockInCreateRequest; +import cn.qihangerp.module.stock.request.StockInItem; +import cn.qihangerp.module.stock.request.StockInRequest; +import cn.qihangerp.module.stock.service.WmsStockInItemService; +import cn.qihangerp.module.stock.service.WmsStockInService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** +* @author qilip +* @description 针对表【wms_stock_in(入库单)】的数据库操作Service实现 +* @createDate 2024-09-22 16:10:08 +*/ +@AllArgsConstructor +@Service +public class WmsStockInServiceImpl extends ServiceImpl + implements WmsStockInService { + private final WmsStockInMapper mapper; + private final WmsStockInItemService inItemService; + private final OGoodsInventoryBatchService inventoryBatchService; + private final OGoodsInventoryService inventoryService; + @Override + public PageResult queryPageList(WmsStockIn bo, PageQuery pageQuery) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq( bo.getStatus()!=null,WmsStockIn::getStatus, bo.getStatus()) + .eq( bo.getStockInType()!=null,WmsStockIn::getStockInType, bo.getStockInType()) + .eq(StringUtils.isNotBlank(bo.getStockInNum()),WmsStockIn::getStockInNum, bo.getStockInNum()) + .eq(StringUtils.isNotBlank(bo.getSourceNo()),WmsStockIn::getSourceNo, bo.getSourceNo()) + .eq(bo.getSourceId()!=null,WmsStockIn::getSourceId, bo.getSourceId()) + ; + + Page pages = mapper.selectPage(pageQuery.build(), queryWrapper); + return PageResult.build(pages); + } + + @Transactional + @Override + public ResultVo createEntry(Long userId, String userName, StockInCreateRequest request) { + if(request.getStockInType() == null ) return ResultVo.error(ResultVoEnum.ParamsError,"缺少参数stockInType"); + if(request.getItemList().isEmpty()) return ResultVo.error(ResultVoEnum.ParamsError,"缺少参数itemList"); + if(StringUtils.isBlank(request.getStockInNum())){ + request.setStockInNum(DateUtils.parseDateToStr("yyyyMMddHHmmss",new Date())); + } + if(StringUtils.isBlank(request.getStockInOperator())){ + request.setStockInOperator(userName); + } + + Map> goodsGroup = request.getItemList().stream().collect(Collectors.groupingBy(x -> x.getGoodsId())); + Long total = request.getItemList().stream().mapToLong(StockInCreateItem::getQuantity).sum(); + //添加主表信息 + WmsStockIn insert = new WmsStockIn(); + insert.setStockInNum(request.getStockInNum()); + insert.setStockInType(request.getStockInType()); + insert.setStockInOperator(request.getStockInOperator()); + insert.setStockInOperatorId(userId+""); +// insert.setStockInTime(new Date()); + insert.setSourceNo(request.getSourceNo()); + insert.setRemark(request.getRemark()); + insert.setCreateBy(userName); + insert.setCreateTime(new Date()); + insert.setSourceGoodsUnit(goodsGroup.size()); + insert.setSourceSpecUnit(request.getItemList().size()); + insert.setSourceSpecUnitTotal(total.intValue()); + insert.setStatus(0);//状态(0待入库1部分入库2全部入库) + mapper.insert(insert); + + //添加子表信息 + List itemList = new ArrayList<>(); + for(StockInCreateItem item: request.getItemList()){ + WmsStockInItem inItem = new WmsStockInItem(); + inItem.setStockInId(insert.getId()); + inItem.setStockInType(insert.getStockInType()); + inItem.setSourceNo(insert.getSourceNo()); + inItem.setSourceId(0L); + inItem.setSourceItemId(0L); + inItem.setGoodsId(item.getGoodsId()); + inItem.setGoodsName(item.getGoodsName()); + inItem.setGoodsImage(item.getGoodsImg()); + inItem.setSkuName(item.getSkuName()); + inItem.setSkuId(item.getSkuId()); + inItem.setSkuCode(item.getSkuCode()); + inItem.setQuantity(item.getQuantity()); + inItem.setInQuantity(0); + inItem.setStatus(0); + inItem.setCreateBy(userName); + inItem.setCreateTime(new Date()); + itemList.add(inItem); + } + inItemService.saveBatch(itemList); + return ResultVo.success(); + } + + @Transactional + @Override + public ResultVo stockIn(Long userId, String userName, StockInRequest request) { + if (request.getStockInId() == null) return ResultVo.error(ResultVoEnum.ParamsError, "缺少参数stockInId"); + if (request.getWarehouseId() == null) return ResultVo.error(ResultVoEnum.ParamsError, "缺少参数warehouseId"); + if (request.getItemList().isEmpty()) return ResultVo.error(ResultVoEnum.ParamsError, "缺少入库数据"); + + WmsStockIn wmsStockIn = mapper.selectById(request.getStockInId()); + if (wmsStockIn == null) return ResultVo.error(ResultVoEnum.NotFound, "没有找到入库单"); + else if (wmsStockIn.getStatus() == 2) { + return ResultVo.error(ResultVoEnum.SystemException, "入库单状态不能入库"); + } + + List waitList = new ArrayList<>(); + for (var item : request.getItemList()) { + if (item.getIntoQuantity() == null || item.getPositionId() == null) { + waitList.add(item); + } + } + if (waitList.size() == 0) return ResultVo.error(ResultVoEnum.ParamsError, "缺少入库明细数据"); + + // 开始入库 + for (var item:waitList) { + // 查询明细 + WmsStockInItem stockInItem = inItemService.getById(item.getId()); + if(stockInItem == null){ + return ResultVo.error(ResultVoEnum.DataError, "数据错误!没有找到入库单明细"); + } + // 添加库存操作表 + + // 增加商品库存批次表 + OGoodsInventoryBatch inventoryBatch = new OGoodsInventoryBatch(); + inventoryBatch.setBatchNum(DateUtils.parseDateToStr("yyyyMMddHHmmss",new Date())); + inventoryBatch.setOriginQty(item.getIntoQuantity()); + inventoryBatch.setCurrentQty(item.getIntoQuantity()); + inventoryBatch.setPurPrice(0.0); + inventoryBatch.setPurId(0L); + inventoryBatch.setPurItemId(0L); + inventoryBatch.setSkuId(stockInItem.getSkuId()); + inventoryBatch.setSkuCode(stockInItem.getSkuCode()); + inventoryBatch.setGoodsId(stockInItem.getGoodsId()); + inventoryBatch.setWarehouseId(request.getWarehouseId()); + inventoryBatch.setPositionId(item.getPositionId()); + inventoryBatch.setCreateTime(new Date()); + inventoryBatch.setCreateBy(userName); + inventoryBatchService.save(inventoryBatch); + // 增加商品库存表 + List inventoryList = inventoryService.list(new LambdaQueryWrapper().eq(OGoodsInventory::getSkuId, stockInItem.getSkuId())); + if(inventoryList.isEmpty()) { + // 新增 + OGoodsInventory inventory = new OGoodsInventory(); + inventory.setGoodsId(stockInItem.getGoodsId()); + inventory.setGoodsNum(stockInItem.getGoodsNum()); + inventory.setSkuId(stockInItem.getSkuId()); + inventory.setSkuCode(stockInItem.getSkuCode()); + inventory.setQuantity(stockInItem.getIntoQuantity().longValue()); + inventory.setIsDelete(0); + inventory.setCreateBy(userName); + inventory.setCreateTime(new Date()); + inventoryService.save(inventory); + }else{ + //修改 + OGoodsInventory update = new OGoodsInventory(); + update.setId(inventoryList.get(0).getId()); + update.setUpdateBy(userName); + update.setUpdateTime(new Date()); + update.setQuantity(inventoryList.get(0).getQuantity()+stockInItem.getIntoQuantity().longValue()); + inventoryService.updateById(update); + + } + } + return ResultVo.success(); + } + + @Override + public WmsStockIn getDetailAndItemById(Long id) { + WmsStockIn wmsStockIn = mapper.selectById(id); + if(wmsStockIn!=null){ + wmsStockIn.setItemList(inItemService.list(new LambdaQueryWrapper().eq(WmsStockInItem::getStockInId,id))); + return wmsStockIn; + }else + return null; + } +} + + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsStockOutItemPositionServiceImpl.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsStockOutItemPositionServiceImpl.java new file mode 100644 index 00000000..f573a11b --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsStockOutItemPositionServiceImpl.java @@ -0,0 +1,23 @@ +package cn.qihangerp.module.stock.service.impl; + +import cn.qihangerp.module.stock.domain.WmsStockOutItemPosition; +import cn.qihangerp.module.stock.mapper.WmsStockOutItemPositionMapper; +import cn.qihangerp.module.stock.service.WmsStockOutItemPositionService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import org.springframework.stereotype.Service; + +/** +* @author qilip +* @description 针对表【wms_stock_out_item_position(出库仓位详情)】的数据库操作Service实现 +* @createDate 2024-09-22 11:13:23 +*/ +@Service +public class WmsStockOutItemPositionServiceImpl extends ServiceImpl + implements WmsStockOutItemPositionService { + +} + + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsStockOutItemServiceImpl.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsStockOutItemServiceImpl.java new file mode 100644 index 00000000..2fa7ef1b --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsStockOutItemServiceImpl.java @@ -0,0 +1,23 @@ +package cn.qihangerp.module.stock.service.impl; + +import cn.qihangerp.module.stock.domain.WmsStockOutItem; +import cn.qihangerp.module.stock.mapper.WmsStockOutItemMapper; +import cn.qihangerp.module.stock.service.WmsStockOutItemService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import org.springframework.stereotype.Service; + +/** +* @author qilip +* @description 针对表【wms_stock_out_item(出库单明细)】的数据库操作Service实现 +* @createDate 2024-09-22 11:13:23 +*/ +@Service +public class WmsStockOutItemServiceImpl extends ServiceImpl + implements WmsStockOutItemService { + +} + + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsStockOutServiceImpl.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsStockOutServiceImpl.java new file mode 100644 index 00000000..6ebdce77 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsStockOutServiceImpl.java @@ -0,0 +1,23 @@ +package cn.qihangerp.module.stock.service.impl; + +import cn.qihangerp.module.stock.domain.WmsStockOut; +import cn.qihangerp.module.stock.mapper.WmsStockOutMapper; +import cn.qihangerp.module.stock.service.WmsStockOutService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import org.springframework.stereotype.Service; + +/** +* @author qilip +* @description 针对表【wms_stock_out(出库单)】的数据库操作Service实现 +* @createDate 2024-09-22 11:13:23 +*/ +@Service +public class WmsStockOutServiceImpl extends ServiceImpl + implements WmsStockOutService { + +} + + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsWarehousePositionServiceImpl.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsWarehousePositionServiceImpl.java new file mode 100644 index 00000000..f77fc471 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsWarehousePositionServiceImpl.java @@ -0,0 +1,23 @@ +package cn.qihangerp.module.stock.service.impl; + +import cn.qihangerp.module.stock.domain.WmsWarehousePosition; +import cn.qihangerp.module.stock.mapper.WmsWarehousePositionMapper; +import cn.qihangerp.module.stock.service.WmsWarehousePositionService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import org.springframework.stereotype.Service; + +/** +* @author qilip +* @description 针对表【wms_warehouse_position(仓库仓位表)】的数据库操作Service实现 +* @createDate 2024-09-22 11:13:23 +*/ +@Service +public class WmsWarehousePositionServiceImpl extends ServiceImpl + implements WmsWarehousePositionService { + +} + + + + diff --git a/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsWarehouseServiceImpl.java b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsWarehouseServiceImpl.java new file mode 100644 index 00000000..379113f8 --- /dev/null +++ b/module/stock/src/main/java/cn/qihangerp/module/stock/service/impl/WmsWarehouseServiceImpl.java @@ -0,0 +1,23 @@ +package cn.qihangerp.module.stock.service.impl; + +import cn.qihangerp.module.stock.domain.WmsWarehouse; +import cn.qihangerp.module.stock.mapper.WmsWarehouseMapper; +import cn.qihangerp.module.stock.service.WmsWarehouseService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import org.springframework.stereotype.Service; + +/** +* @author qilip +* @description 针对表【wms_warehouse(仓库表)】的数据库操作Service实现 +* @createDate 2024-09-22 11:13:23 +*/ +@Service +public class WmsWarehouseServiceImpl extends ServiceImpl + implements WmsWarehouseService { + +} + + + + diff --git a/module/stock/src/main/resources/mapper/WmsInventoryOperationMapper.xml b/module/stock/src/main/resources/mapper/WmsInventoryOperationMapper.xml new file mode 100644 index 00000000..192e89c0 --- /dev/null +++ b/module/stock/src/main/resources/mapper/WmsInventoryOperationMapper.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,goods_id,goods_num, + sku_id,sku_code,batch_id, + batch_num,type,inventory_detail_id, + quantity,locked_quantity,price, + biz_type,biz_id,biz_num, + biz_item_id,status,remark, + warehouse_id,position_id,create_time, + create_by,update_time,update_by + + diff --git a/module/stock/src/main/resources/mapper/WmsStockInItemMapper.xml b/module/stock/src/main/resources/mapper/WmsStockInItemMapper.xml new file mode 100644 index 00000000..1701f268 --- /dev/null +++ b/module/stock/src/main/resources/mapper/WmsStockInItemMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,stock_in_id,stock_in_type, + source_no,source_id,source_item_id, + goods_id,goods_num,goods_name, + goods_image,sku_id,sku_code, + sku_name,quantity,in_quantity, + remark,status,create_by, + create_time,update_by,update_time + + diff --git a/module/stock/src/main/resources/mapper/WmsStockInMapper.xml b/module/stock/src/main/resources/mapper/WmsStockInMapper.xml new file mode 100644 index 00000000..ce015967 --- /dev/null +++ b/module/stock/src/main/resources/mapper/WmsStockInMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id,stock_in_num,stock_in_type, + source_no,source_id,source_goods_unit, + source_spec_unit_total,source_spec_unit,remark, + stock_in_operator_id,stock_in_operator,stock_in_time, + status,create_by,create_time, + update_by,update_time + + diff --git a/module/stock/src/main/resources/mapper/WmsStockOutItemMapper.xml b/module/stock/src/main/resources/mapper/WmsStockOutItemMapper.xml new file mode 100644 index 00000000..81ae79c9 --- /dev/null +++ b/module/stock/src/main/resources/mapper/WmsStockOutItemMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + id,stock_out_type,entry_id, + source_order_id,source_order_item_id,source_order_num, + goods_id,spec_id,spec_num, + original_quantity,out_quantity,complete_time, + picked_time,status,create_time, + update_time + + diff --git a/module/stock/src/main/resources/mapper/WmsStockOutItemPositionMapper.xml b/module/stock/src/main/resources/mapper/WmsStockOutItemPositionMapper.xml new file mode 100644 index 00000000..0c13b229 --- /dev/null +++ b/module/stock/src/main/resources/mapper/WmsStockOutItemPositionMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + id,entry_id,entry_item_id, + goods_inventory_id,goods_inventory_detail_id,quantity, + location_id,operator_id,operator_name, + out_time + + diff --git a/module/stock/src/main/resources/mapper/WmsStockOutMapper.xml b/module/stock/src/main/resources/mapper/WmsStockOutMapper.xml new file mode 100644 index 00000000..a2dbe821 --- /dev/null +++ b/module/stock/src/main/resources/mapper/WmsStockOutMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,stock_out_num,source_num, + source_id,stock_out_type,goods_unit, + spec_unit,spec_unit_total,out_total, + remark,status,print_status, + print_time,out_time,complete_time, + operator_id,operator_name,create_time, + create_by,update_time,update_by + + diff --git a/module/stock/src/main/resources/mapper/WmsWarehouseMapper.xml b/module/stock/src/main/resources/mapper/WmsWarehouseMapper.xml new file mode 100644 index 00000000..18740049 --- /dev/null +++ b/module/stock/src/main/resources/mapper/WmsWarehouseMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + id,number,name, + province,city,district, + street,address,remark, + status,create_by,create_time, + update_by,update_time + + diff --git a/module/stock/src/main/resources/mapper/WmsWarehousePositionMapper.xml b/module/stock/src/main/resources/mapper/WmsWarehousePositionMapper.xml new file mode 100644 index 00000000..f7d51644 --- /dev/null +++ b/module/stock/src/main/resources/mapper/WmsWarehousePositionMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + id,warehouse_id,number, + name,parent_id,depth, + parent_id1,parent_id2,address, + remark,is_delete,create_by, + create_time,update_by,update_time + + diff --git a/module/stock/src/test/java/cn/qihangerp/module/AppTest.java b/module/stock/src/test/java/cn/qihangerp/module/AppTest.java new file mode 100644 index 00000000..26ece1c0 --- /dev/null +++ b/module/stock/src/test/java/cn/qihangerp/module/AppTest.java @@ -0,0 +1,38 @@ +package cn.qihangerp.module; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +/** + * Unit test for simple App. + */ +public class AppTest + extends TestCase +{ + /** + * Create the test case + * + * @param testName name of the test case + */ + public AppTest( String testName ) + { + super( testName ); + } + + /** + * @return the suite of tests being tested + */ + public static Test suite() + { + return new TestSuite( AppTest.class ); + } + + /** + * Rigourous Test :-) + */ + public void testApp() + { + assertTrue( true ); + } +}