From 25486dd71284f9b8cb724ae1f0e711305a18802c Mon Sep 17 00:00:00 2001
From: xiebin <123456>
Date: Fri, 16 Sep 2022 18:13:45 +0800
Subject: [PATCH] 增加库存管理功能
---
src/main/java/org/springblade/modules/inventory/dto/InventoryDTO.java | 34 ++
src/main/java/org/springblade/modules/inventory/service/impl/InvreqRecordServiceImpl.java | 59 +++
src/main/java/org/springblade/modules/inventory/controller/InvreqRecordController.java | 132 ++++++++
src/main/java/org/springblade/modules/inventory/mapper/InventoryMapper.java | 43 ++
src/main/java/org/springblade/modules/inventory/mapper/InvreqRecordMapper.xml | 27 +
src/main/java/org/springblade/modules/inventory/vo/InventoryVO.java | 35 ++
src/main/java/org/springblade/modules/inventory/mapper/InvreqRecordMapper.java | 43 ++
src/main/java/org/springblade/modules/inventory/vo/InvreqRecordVO.java | 35 ++
src/main/java/org/springblade/modules/inventory/dto/InvreqRecordDTO.java | 34 ++
src/main/java/org/springblade/modules/inventory/service/IInvreqRecordService.java | 49 +++
src/main/java/sql/inventory.menu.sql | 10
src/main/java/org/springblade/modules/inventory/service/impl/InventoryServiceImpl.java | 42 ++
src/main/java/org/springblade/modules/inventory/service/IInventoryService.java | 42 ++
src/main/java/org/springblade/modules/inventory/entity/InventoryEntity.java | 60 ++++
src/main/java/org/springblade/modules/inventory/entity/InvreqRecordEntity.java | 60 ++++
src/main/java/org/springblade/modules/inventory/controller/InventoryController.java | 139 +++++++++
src/main/java/sql/invreqrecord.menu.sql | 10
src/main/java/org/springblade/modules/inventory/mapper/InventoryMapper.xml | 28 +
18 files changed, 882 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/modules/inventory/controller/InventoryController.java b/src/main/java/org/springblade/modules/inventory/controller/InventoryController.java
new file mode 100644
index 0000000..af4a817
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/controller/InventoryController.java
@@ -0,0 +1,139 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.inventory.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.system.entity.User;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.inventory.entity.InventoryEntity;
+import org.springblade.modules.inventory.vo.InventoryVO;
+import org.springblade.modules.inventory.service.IInventoryService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+import java.util.List;
+
+/**
+ * 库存表 控制器
+ *
+ * @author aix
+ * @since 2022-09-16
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("inventory/inventory")
+@Api(value = "库存表", tags = "库存表接口")
+public class InventoryController extends BladeController {
+
+ private final IInventoryService inventoryService;
+
+ /**
+ * 库存表 详情
+ */
+ @GetMapping("/detail")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "详情", notes = "传入inventory")
+ public R<InventoryEntity> detail(InventoryEntity inventory) {
+ InventoryEntity detail = inventoryService.getOne(Condition.getQueryWrapper(inventory));
+ return R.data(detail);
+ }
+ /**
+ * 库存表 分页
+ */
+ @GetMapping("/list")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "分页", notes = "传入inventory")
+ public R<IPage<InventoryEntity>> list(InventoryEntity inventory, Query query) {
+ IPage<InventoryEntity> pages = inventoryService.page(Condition.getPage(query), Condition.getQueryWrapper(inventory));
+ return R.data(pages);
+ }
+
+ @GetMapping("/inv-list")
+ @ApiOperationSupport(order = 11)
+ @ApiOperation(value = "材料列表", notes = "传入inventory")
+ public R<List<InventoryEntity>> userList(InventoryEntity inventory) {
+ QueryWrapper<InventoryEntity> queryWrapper = Condition.getQueryWrapper(inventory);
+ List<InventoryEntity> list = inventoryService.list();
+ return R.data(list);
+ }
+
+ /**
+ * 库存表 自定义分页
+ */
+ @GetMapping("/page")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "分页", notes = "传入inventory")
+ public R<IPage<InventoryVO>> page(InventoryVO inventory, Query query) {
+ IPage<InventoryVO> pages = inventoryService.selectInventoryPage(Condition.getPage(query), inventory);
+ return R.data(pages);
+ }
+
+ /**
+ * 库存表 新增
+ */
+ @PostMapping("/save")
+ @ApiOperationSupport(order = 4)
+ @ApiOperation(value = "新增", notes = "传入inventory")
+ public R save(@Valid @RequestBody InventoryEntity inventory) {
+ return R.status(inventoryService.save(inventory));
+ }
+
+ /**
+ * 库存表 修改
+ */
+ @PostMapping("/update")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "修改", notes = "传入inventory")
+ public R update(@Valid @RequestBody InventoryEntity inventory) {
+ return R.status(inventoryService.updateById(inventory));
+ }
+
+ /**
+ * 库存表 新增或修改
+ */
+ @PostMapping("/submit")
+ @ApiOperationSupport(order = 6)
+ @ApiOperation(value = "新增或修改", notes = "传入inventory")
+ public R submit(@Valid @RequestBody InventoryEntity inventory) {
+ return R.status(inventoryService.saveOrUpdate(inventory));
+ }
+
+ /**
+ * 库存表 删除
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 7)
+ @ApiOperation(value = "逻辑删除", notes = "传入ids")
+ public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ return R.status(inventoryService.deleteLogic(Func.toLongList(ids)));
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/inventory/controller/InvreqRecordController.java b/src/main/java/org/springblade/modules/inventory/controller/InvreqRecordController.java
new file mode 100644
index 0000000..ef808b4
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/controller/InvreqRecordController.java
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.inventory.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.inventory.entity.InvreqRecordEntity;
+import org.springblade.modules.inventory.vo.InvreqRecordVO;
+import org.springblade.modules.inventory.service.IInvreqRecordService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ * 库存申请 控制器
+ *
+ * @author aix
+ * @since 2022-09-16
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("invreqRecord/invreqRecord")
+@Api(value = "库存申请", tags = "库存申请接口")
+public class InvreqRecordController extends BladeController {
+
+ private final IInvreqRecordService invreqRecordService;
+
+ /**
+ * 库存申请 详情
+ */
+ @GetMapping("/detail")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "详情", notes = "传入invreqRecord")
+ public R<InvreqRecordEntity> detail(InvreqRecordEntity invreqRecord) {
+ InvreqRecordEntity detail = invreqRecordService.getOne(Condition.getQueryWrapper(invreqRecord));
+ return R.data(detail);
+ }
+ /**
+ * 库存申请 分页
+ */
+ @GetMapping("/list")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "分页", notes = "传入invreqRecord")
+ public R<IPage<InvreqRecordEntity>> list(InvreqRecordEntity invreqRecord, Query query) {
+ IPage<InvreqRecordEntity> pages = invreqRecordService.page(Condition.getPage(query), Condition.getQueryWrapper(invreqRecord));
+ return R.data(pages);
+ }
+
+ /**
+ * 库存申请 自定义分页
+ */
+ @GetMapping("/page")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "分页", notes = "传入invreqRecord")
+ public R<IPage<InvreqRecordVO>> page(InvreqRecordVO invreqRecord, Query query) {
+ IPage<InvreqRecordVO> pages = invreqRecordService.selectInvreqRecordPage(Condition.getPage(query), invreqRecord);
+ return R.data(pages);
+ }
+
+ /**
+ * 库存申请 新增
+ */
+ @PostMapping("/save")
+ @ApiOperationSupport(order = 4)
+ @ApiOperation(value = "新增", notes = "传入invreqRecord")
+ public R save(@Valid @RequestBody InvreqRecordEntity invreqRecord) {
+ return R.status(invreqRecordService.save(invreqRecord));
+ }
+
+ /**
+ * 库存申请 修改
+ */
+ @PostMapping("/update")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "修改", notes = "传入invreqRecord")
+ public R update(@Valid @RequestBody InvreqRecordEntity invreqRecord) {
+ return R.status(invreqRecordService.updateById(invreqRecord));
+ }
+
+ /**
+ * 库存申请 新增或修改
+ */
+ @PostMapping("/submit")
+ @ApiOperationSupport(order = 6)
+ @ApiOperation(value = "新增或修改", notes = "传入invreqRecord")
+ public R submit(@Valid @RequestBody InvreqRecordEntity invreqRecord) {
+ return R.status(invreqRecordService.saveOrUpdate(invreqRecord));
+ }
+
+ /**
+ * 库存申请 删除
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 7)
+ @ApiOperation(value = "逻辑删除", notes = "传入ids")
+ public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ return R.status(invreqRecordService.deleteLogic(Func.toLongList(ids)));
+ }
+
+ @PostMapping("/outboundByids")
+ @ApiOperationSupport(order = 7)
+ @ApiOperation(value = "出库", notes = "传入ids")
+ public R outboundByids(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ return R.status(invreqRecordService.outboundByids(Func.toLongList(ids)));
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/inventory/dto/InventoryDTO.java b/src/main/java/org/springblade/modules/inventory/dto/InventoryDTO.java
new file mode 100644
index 0000000..7a7b81e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/dto/InventoryDTO.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.inventory.dto;
+
+import org.springblade.modules.inventory.entity.InventoryEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 库存表 数据传输对象实体类
+ *
+ * @author aix
+ * @since 2022-09-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class InventoryDTO extends InventoryEntity {
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/inventory/dto/InvreqRecordDTO.java b/src/main/java/org/springblade/modules/inventory/dto/InvreqRecordDTO.java
new file mode 100644
index 0000000..758dc00
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/dto/InvreqRecordDTO.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.inventory.dto;
+
+import org.springblade.modules.inventory.entity.InvreqRecordEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 库存申请 数据传输对象实体类
+ *
+ * @author aix
+ * @since 2022-09-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class InvreqRecordDTO extends InvreqRecordEntity {
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/inventory/entity/InventoryEntity.java b/src/main/java/org/springblade/modules/inventory/entity/InventoryEntity.java
new file mode 100644
index 0000000..f19373e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/entity/InventoryEntity.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.inventory.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.Date;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.tenant.mp.TenantEntity;
+
+/**
+ * 库存表 实体类
+ *
+ * @author aix
+ * @since 2022-09-16
+ */
+@Data
+@TableName("ins_inventory")
+@ApiModel(value = "Inventory对象", description = "库存表")
+@EqualsAndHashCode(callSuper = true)
+public class InventoryEntity extends TenantEntity {
+
+ /**
+ * 名称
+ */
+ @ApiModelProperty(value = "名称")
+ private String name;
+ /**
+ * 单位
+ */
+ @ApiModelProperty(value = "单位")
+ private String unit;
+ /**
+ * 库存数量
+ */
+ @ApiModelProperty(value = "库存数量")
+ private Integer inventoryNum;
+ /**
+ * 备注
+ */
+ @ApiModelProperty(value = "备注")
+ private String remark;
+
+}
diff --git a/src/main/java/org/springblade/modules/inventory/entity/InvreqRecordEntity.java b/src/main/java/org/springblade/modules/inventory/entity/InvreqRecordEntity.java
new file mode 100644
index 0000000..c2a6077
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/entity/InvreqRecordEntity.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.inventory.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.Date;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.tenant.mp.TenantEntity;
+
+/**
+ * 库存申请 实体类
+ *
+ * @author aix
+ * @since 2022-09-16
+ */
+@Data
+@TableName("ins_invreq_record")
+@ApiModel(value = "InvreqRecord对象", description = "库存申请")
+@EqualsAndHashCode(callSuper = true)
+public class InvreqRecordEntity extends TenantEntity {
+
+ /**
+ * 材料
+ */
+ @ApiModelProperty(value = "材料")
+ private Long inventoryId;
+ /**
+ * 申请数量
+ */
+ @ApiModelProperty(value = "申请数量")
+ private Integer reqNum;
+ /**
+ * 申请状态
+ */
+ @ApiModelProperty(value = "申请状态")
+ private String state;
+ /**
+ * 备注
+ */
+ @ApiModelProperty(value = "备注")
+ private String remark;
+
+}
diff --git a/src/main/java/org/springblade/modules/inventory/mapper/InventoryMapper.java b/src/main/java/org/springblade/modules/inventory/mapper/InventoryMapper.java
new file mode 100644
index 0000000..481a378
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/mapper/InventoryMapper.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.inventory.mapper;
+
+import org.springblade.modules.inventory.entity.InventoryEntity;
+import org.springblade.modules.inventory.vo.InventoryVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * 库存表 Mapper 接口
+ *
+ * @author aix
+ * @since 2022-09-16
+ */
+public interface InventoryMapper extends BaseMapper<InventoryEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param inventory
+ * @return
+ */
+ List<InventoryVO> selectInventoryPage(IPage page, InventoryVO inventory);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/inventory/mapper/InventoryMapper.xml b/src/main/java/org/springblade/modules/inventory/mapper/InventoryMapper.xml
new file mode 100644
index 0000000..5cef4dd
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/mapper/InventoryMapper.xml
@@ -0,0 +1,28 @@
+<?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.springblade.modules.inventory.mapper.InventoryMapper">
+
+ <!-- 通用查询映射结果 -->
+ <resultMap id="inventoryResultMap" type="org.springblade.modules.inventory.entity.InventoryEntity">
+ <result column="id" property="id"/>
+ <result column="name" property="name"/>
+ <result column="unit" property="unit"/>
+ <result column="inventory_num" property="inventoryNum"/>
+ <result column="remark" property="remark"/>
+ <result column="create_user" property="createUser"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_user" property="updateUser"/>
+ <result column="update_time" property="updateTime"/>
+ <result column="status" property="status"/>
+ <result column="is_deleted" property="isDeleted"/>
+ <result column="tenant_id" property="tenantId"/>
+ <result column="create_dept" property="createDept"/>
+ </resultMap>
+
+
+ <select id="selectInventoryPage" resultMap="inventoryResultMap">
+ select * from ins_inventory where is_deleted = 0
+ </select>
+
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/inventory/mapper/InvreqRecordMapper.java b/src/main/java/org/springblade/modules/inventory/mapper/InvreqRecordMapper.java
new file mode 100644
index 0000000..8f4b280
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/mapper/InvreqRecordMapper.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.inventory.mapper;
+
+import org.springblade.modules.inventory.entity.InvreqRecordEntity;
+import org.springblade.modules.inventory.vo.InvreqRecordVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * 库存申请 Mapper 接口
+ *
+ * @author aix
+ * @since 2022-09-16
+ */
+public interface InvreqRecordMapper extends BaseMapper<InvreqRecordEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param invreqRecord
+ * @return
+ */
+ List<InvreqRecordVO> selectInvreqRecordPage(IPage page, InvreqRecordVO invreqRecord);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/inventory/mapper/InvreqRecordMapper.xml b/src/main/java/org/springblade/modules/inventory/mapper/InvreqRecordMapper.xml
new file mode 100644
index 0000000..db364ae
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/mapper/InvreqRecordMapper.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="org.springblade.modules.inventory.mapper.InvreqRecordMapper">
+
+ <!-- 通用查询映射结果 -->
+ <resultMap id="invreqRecordResultMap" type="org.springblade.modules.inventory.entity.InvreqRecordEntity">
+ <result column="id" property="id"/>
+ <result column="inventory_id" property="inventoryId"/>
+ <result column="req_num" property="reqNum"/>
+ <result column="state" property="state"/>
+ <result column="create_user" property="createUser"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_user" property="updateUser"/>
+ <result column="update_time" property="updateTime"/>
+ <result column="status" property="status"/>
+ <result column="is_deleted" property="isDeleted"/>
+ <result column="tenant_id" property="tenantId"/>
+ <result column="create_dept" property="createDept"/>
+ </resultMap>
+
+
+ <select id="selectInvreqRecordPage" resultMap="invreqRecordResultMap">
+ select * from ins_invreq_record where is_deleted = 0
+ </select>
+
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/inventory/service/IInventoryService.java b/src/main/java/org/springblade/modules/inventory/service/IInventoryService.java
new file mode 100644
index 0000000..a9f7420
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/service/IInventoryService.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.inventory.service;
+
+import org.springblade.modules.inventory.entity.InventoryEntity;
+import org.springblade.modules.inventory.vo.InventoryVO;
+import org.springblade.core.mp.base.BaseService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ * 库存表 服务类
+ *
+ * @author aix
+ * @since 2022-09-16
+ */
+public interface IInventoryService extends BaseService<InventoryEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param inventory
+ * @return
+ */
+ IPage<InventoryVO> selectInventoryPage(IPage<InventoryVO> page, InventoryVO inventory);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/inventory/service/IInvreqRecordService.java b/src/main/java/org/springblade/modules/inventory/service/IInvreqRecordService.java
new file mode 100644
index 0000000..f35a078
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/service/IInvreqRecordService.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.inventory.service;
+
+import org.springblade.modules.inventory.entity.InvreqRecordEntity;
+import org.springblade.modules.inventory.vo.InvreqRecordVO;
+import org.springblade.core.mp.base.BaseService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * 库存申请 服务类
+ *
+ * @author aix
+ * @since 2022-09-16
+ */
+public interface IInvreqRecordService extends BaseService<InvreqRecordEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param invreqRecord
+ * @return
+ */
+ IPage<InvreqRecordVO> selectInvreqRecordPage(IPage<InvreqRecordVO> page, InvreqRecordVO invreqRecord);
+
+ @Transactional(
+ rollbackFor = {Exception.class}
+ )
+ boolean outboundByids(@NotEmpty List<Long> ids);
+}
diff --git a/src/main/java/org/springblade/modules/inventory/service/impl/InventoryServiceImpl.java b/src/main/java/org/springblade/modules/inventory/service/impl/InventoryServiceImpl.java
new file mode 100644
index 0000000..3b534b3
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/service/impl/InventoryServiceImpl.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.inventory.service.impl;
+
+import org.springblade.modules.inventory.entity.InventoryEntity;
+import org.springblade.modules.inventory.vo.InventoryVO;
+import org.springblade.modules.inventory.mapper.InventoryMapper;
+import org.springblade.modules.inventory.service.IInventoryService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ * 库存表 服务实现类
+ *
+ * @author aix
+ * @since 2022-09-16
+ */
+@Service
+public class InventoryServiceImpl extends BaseServiceImpl<InventoryMapper, InventoryEntity> implements IInventoryService {
+
+ @Override
+ public IPage<InventoryVO> selectInventoryPage(IPage<InventoryVO> page, InventoryVO inventory) {
+ return page.setRecords(baseMapper.selectInventoryPage(page, inventory));
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/inventory/service/impl/InvreqRecordServiceImpl.java b/src/main/java/org/springblade/modules/inventory/service/impl/InvreqRecordServiceImpl.java
new file mode 100644
index 0000000..ddd5386
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/service/impl/InvreqRecordServiceImpl.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.inventory.service.impl;
+
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.modules.inventory.entity.InvreqRecordEntity;
+import org.springblade.modules.inventory.vo.InvreqRecordVO;
+import org.springblade.modules.inventory.mapper.InvreqRecordMapper;
+import org.springblade.modules.inventory.service.IInvreqRecordService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 库存申请 服务实现类
+ *
+ * @author aix
+ * @since 2022-09-16
+ */
+@Service
+public class InvreqRecordServiceImpl extends BaseServiceImpl<InvreqRecordMapper, InvreqRecordEntity> implements IInvreqRecordService {
+
+ @Override
+ public IPage<InvreqRecordVO> selectInvreqRecordPage(IPage<InvreqRecordVO> page, InvreqRecordVO invreqRecord) {
+ return page.setRecords(baseMapper.selectInvreqRecordPage(page, invreqRecord));
+ }
+
+ @Override
+ public boolean outboundByids(List<Long> ids) {
+ List<InvreqRecordEntity> list = new ArrayList();
+ ids.forEach((id) -> {
+ InvreqRecordEntity entity = getById(id);
+ entity.setUpdateTime(DateUtil.now());
+ entity.setId(id);
+ entity.setState("1");// 已出库
+ list.add(entity);
+ });
+ return updateBatchById(list);
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/inventory/vo/InventoryVO.java b/src/main/java/org/springblade/modules/inventory/vo/InventoryVO.java
new file mode 100644
index 0000000..7fe46fa
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/vo/InventoryVO.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.inventory.vo;
+
+import org.springblade.modules.inventory.entity.InventoryEntity;
+import org.springblade.core.tool.node.INode;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 库存表 视图实体类
+ *
+ * @author aix
+ * @since 2022-09-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class InventoryVO extends InventoryEntity {
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/inventory/vo/InvreqRecordVO.java b/src/main/java/org/springblade/modules/inventory/vo/InvreqRecordVO.java
new file mode 100644
index 0000000..fbf519c
--- /dev/null
+++ b/src/main/java/org/springblade/modules/inventory/vo/InvreqRecordVO.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.inventory.vo;
+
+import org.springblade.modules.inventory.entity.InvreqRecordEntity;
+import org.springblade.core.tool.node.INode;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 库存申请 视图实体类
+ *
+ * @author aix
+ * @since 2022-09-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class InvreqRecordVO extends InvreqRecordEntity {
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/sql/inventory.menu.sql b/src/main/java/sql/inventory.menu.sql
new file mode 100644
index 0000000..7535172
--- /dev/null
+++ b/src/main/java/sql/inventory.menu.sql
@@ -0,0 +1,10 @@
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1570691096262303746', 1570691632042692610, 'inventory', '库存列表', 'menu', '/inventory/inventory', NULL, 1, 1, 0, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1570691096262303747', '1570691096262303746', 'inventory_add', '新增', 'add', '/inventory/inventory/add', 'plus', 1, 2, 1, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1570691096262303748', '1570691096262303746', 'inventory_edit', '修改', 'edit', '/inventory/inventory/edit', 'form', 2, 2, 2, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1570691096262303749', '1570691096262303746', 'inventory_delete', '删除', 'delete', '/api/inventory/inventory/remove', 'delete', 3, 2, 3, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1570691096262303750', '1570691096262303746', 'inventory_view', '查看', 'view', '/inventory/inventory/view', 'file-text', 4, 2, 2, 1, NULL, 0);
diff --git a/src/main/java/sql/invreqrecord.menu.sql b/src/main/java/sql/invreqrecord.menu.sql
new file mode 100644
index 0000000..52cfe94
--- /dev/null
+++ b/src/main/java/sql/invreqrecord.menu.sql
@@ -0,0 +1,10 @@
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1570697986476167170', 1570691632042692610, 'invreqRecord', '库存申请', 'menu', '/inventory/invreqRecord', NULL, 1, 1, 0, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1570697986476167171', '1570697986476167170', 'invreqRecord_add', '新增', 'add', '/inventory/invreqRecord/add', 'plus', 1, 2, 1, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1570697986476167172', '1570697986476167170', 'invreqRecord_edit', '修改', 'edit', '/inventory/invreqRecord/edit', 'form', 2, 2, 2, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1570697986476167173', '1570697986476167170', 'invreqRecord_delete', '删除', 'delete', '/api/invreqRecord/invreqRecord/remove', 'delete', 3, 2, 3, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1570697986476167174', '1570697986476167170', 'invreqRecord_view', '查看', 'view', '/inventory/invreqRecord/view', 'file-text', 4, 2, 2, 1, NULL, 0);
--
Gitblit v1.9.3