Эх сурвалжийг харах

feat:新增出库管理模块中的出库类型增删改查和回收站功能

kgy 5 сар өмнө
parent
commit
4a50b901cd

+ 117 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/controller/PutOutStorageTypeController.java

@@ -0,0 +1,117 @@
+package org.dromara.InventoryManagement.controller;
+
+import lombok.RequiredArgsConstructor;
+import org.dromara.InventoryManagement.domain.bo.PutOutStorageTypeBo;
+import org.dromara.InventoryManagement.domain.vo.PutOutStorageTypeVo;
+import org.dromara.InventoryManagement.service.PutOutStorageTypeService;
+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.*;
+
+import java.util.List;
+
+/**
+ * 出库类型管理接口
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/inventoryManagement/putoutstoragetype")
+public class PutOutStorageTypeController extends BaseController {
+    private final PutOutStorageTypeService putOutStorageTypeService;
+
+    /**
+     * 根据条件获取出库类型管理列表
+     * @param putOutStorageTypeBo 出库类型Bo对象
+     * @param pageQuery 分页信息
+     * @return 查询结果
+     */
+    @GetMapping("/PageList")
+    public TableDataInfo<PutOutStorageTypeVo> selectPutOutStorageTypePageList(PutOutStorageTypeBo putOutStorageTypeBo, PageQuery pageQuery) {
+        return putOutStorageTypeService.selectPutOutStorageTypePageList(putOutStorageTypeBo, pageQuery);
+    }
+
+    /**
+     * 新增出库类型
+     * @param putOutStorageTypeBo 出库类型Bo对象
+     * @return 新增结果
+     */
+    @PostMapping
+    public R<Void> insertPutOutStorageType(@RequestBody PutOutStorageTypeBo putOutStorageTypeBo) {
+        return toAjax(putOutStorageTypeService.insertPutOutStorageType(putOutStorageTypeBo));
+    }
+
+    /**
+     * 修改出库类型
+     * @param putOutStorageTypeBo 出库类型Bo对象
+     * @return 修改结果
+     */
+    @PutMapping
+    public R<Void> updatePutOutStorageType(@RequestBody PutOutStorageTypeBo putOutStorageTypeBo) {
+        return toAjax(putOutStorageTypeService.updatePutOutStorageType(putOutStorageTypeBo));
+    }
+
+    /**
+     * 将出库类型放入回收站
+     * @param ids 出库类型Ids
+     * @return 回收结果
+     */
+    @DeleteMapping("/{ids}")
+    public R<Void> deletePutOutStorageTypeByIds(@PathVariable List<Integer> ids) {
+        return toAjax(putOutStorageTypeService.deletePutOutStorageTypeByIds(ids));
+    }
+
+    /**
+     * 根据条件查询回收站出库类型列表
+     * @param putOutStorageTypeBo 出库类型Bo对象
+     * @param pageQuery 分页信息
+     * @return 查询结果
+     */
+    @GetMapping("/recycle")
+    public TableDataInfo<PutOutStorageTypeVo> selectRecyclePutOutStorageTypeList(PutOutStorageTypeBo putOutStorageTypeBo, PageQuery pageQuery) {
+        return putOutStorageTypeService.selectRecyclePutOutStorageTypeList(putOutStorageTypeBo, pageQuery);
+    }
+
+    /**
+     * 还原回收站中指定id的出库类型
+     * @param ids 出库类型Ids
+     * @return 还原结果
+     */
+    @PostMapping("/recycle/back/{ids}")
+    public R<Void> backPutOutStorageTypeByIds(@PathVariable List<Integer> ids) {
+        return toAjax(putOutStorageTypeService.backPutOutStorageTypeByIds(ids));
+    }
+
+    /**
+     * 还原回收站中所有出库类型
+     * @return 还原结果
+     */
+    @PostMapping("/recycle/back/all")
+    public R<Void> backPutOutStorageTypeAll() {
+        return toAjax(putOutStorageTypeService.backPutOutStorageTypeAll());
+    }
+
+    /**
+     * 销毁回收站中指定id的出库类型
+     * @param ids 出库类型Ids
+     * @return 销毁结果
+     */
+    @DeleteMapping("/recycle/{ids}")
+    public R<Void> deleteRecyclePutOutStorageTypeByIds(@PathVariable List<Integer> ids) {
+        int status = putOutStorageTypeService.deleteRecyclePutOutStorageTypeByIds(ids);
+        if(status==1){
+            return toAjax(1);
+        }
+        return R.fail("该回收站中不存在此出库类型或已被删除");
+    }
+
+    /**
+     * 销毁回收站中所有出库类型
+     * @return 销毁结果
+     */
+    @DeleteMapping("recycle/all")
+    public R<Void> deleteRecyclePutOutStorageTypeAll() {
+        return toAjax(putOutStorageTypeService.deleteRecyclePutOutStorageTypeAll());
+    }
+}

+ 32 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/PutOutStorageType.java

@@ -0,0 +1,32 @@
+package org.dromara.InventoryManagement.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * 出库类型基类
+ */
+@Data
+@TableName("fa_ykjp_warehouse_out")
+public class PutOutStorageType {
+    /**
+     * ID
+     */
+    private int ID;
+    /**
+     * 出库类型
+     */
+    private String name;
+    /**
+     * 创建时间
+     */
+    private String createtime;
+    /**
+     * 更新时间
+     */
+    private String updatetime;
+    /**
+     * 删除时间
+     */
+    private String deletetime;
+}

+ 44 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/bo/PutOutStorageTypeBo.java

@@ -0,0 +1,44 @@
+package org.dromara.InventoryManagement.domain.bo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.InventoryManagement.domain.PutOutStorageType;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 出库类型业务对象
+ */
+@Data
+@AutoMapper(target = PutOutStorageType.class, reverseConvertGenerate = false)
+public class PutOutStorageTypeBo {
+    /**
+     * ID
+     */
+    private int ID;
+    /**
+     * 出库类型
+     */
+    private String name;
+    /**
+     * 创建时间
+     */
+    private String createtime;
+    /**
+     * 更新时间
+     */
+    private String updatetime;
+    /**
+     * 删除时间
+     */
+    private String deletetime;
+    /**
+     * 请求参数
+     */
+    @JsonInclude(JsonInclude.Include.NON_EMPTY)
+    @TableField(exist = false)
+    private Map<String, Object> params = new HashMap<>();
+}

+ 33 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/vo/PutOutStorageTypeVo.java

@@ -0,0 +1,33 @@
+package org.dromara.InventoryManagement.domain.vo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.InventoryManagement.domain.PutOutStorageType;
+
+/**
+ * 出库类型值对象
+ */
+@Data
+@AutoMapper(target = PutOutStorageType.class)
+public class PutOutStorageTypeVo {
+    /**
+     * ID
+     */
+    private int ID;
+    /**
+     * 出库类型
+     */
+    private String name;
+    /**
+     * 创建时间
+     */
+    private String createtime;
+    /**
+     * 更新时间
+     */
+    private String updatetime;
+    /**
+     * 删除时间
+     */
+    private String deletetime;
+}

+ 14 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/mapper/PutOutStorageTypeMapper.java

@@ -0,0 +1,14 @@
+package org.dromara.InventoryManagement.mapper;
+
+
+import org.apache.ibatis.annotations.Mapper;
+import org.dromara.InventoryManagement.domain.PutOutStorageType;
+import org.dromara.InventoryManagement.domain.vo.PutOutStorageTypeVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 出库类型Mapper
+ */
+@Mapper
+public interface PutOutStorageTypeMapper extends BaseMapperPlus<PutOutStorageType, PutOutStorageTypeVo> {
+}

+ 76 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/service/PutOutStorageTypeService.java

@@ -0,0 +1,76 @@
+package org.dromara.InventoryManagement.service;
+
+import org.dromara.InventoryManagement.domain.bo.PutOutStorageTypeBo;
+import org.dromara.InventoryManagement.domain.vo.PutOutStorageTypeVo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+import java.util.List;
+
+/**
+ * 出库类型服务层
+ */
+public interface PutOutStorageTypeService {
+    /**
+     * 根据条件查询出库类型列表
+     * @param putOutStorageTypeBo 出库类型Bo对象
+     * @param pageQuery 分页信息
+     * @return 分页结果
+     */
+    TableDataInfo<PutOutStorageTypeVo> selectPutOutStorageTypePageList(PutOutStorageTypeBo putOutStorageTypeBo, PageQuery pageQuery);
+
+    /**
+     * 新增出库类型
+     * @param putOutStorageTypeBo 出库类型Bo对象
+     * @return 影响行数
+     */
+    int insertPutOutStorageType(PutOutStorageTypeBo putOutStorageTypeBo);
+
+    /**
+     * 修改出库类型
+     * @param putOutStorageTypeBo 出库类型Bo对象
+     * @return 影响行数
+     */
+    int updatePutOutStorageType(PutOutStorageTypeBo putOutStorageTypeBo);
+
+    /**
+     * 将出库类型放入回收站
+     * @param putOutStorageTypeIds 出库类型ids
+     * @return 影响行数
+     */
+    int deletePutOutStorageTypeByIds(List<Integer> putOutStorageTypeIds);
+
+    /**
+     * 查询回收站中的出库类型类别
+     * @param putOutStorageTypeBo 出库类型Bo对象
+     * @param pageQuery 分页信息
+     * @return 分页结果
+     */
+    TableDataInfo<PutOutStorageTypeVo> selectRecyclePutOutStorageTypeList(PutOutStorageTypeBo putOutStorageTypeBo, PageQuery pageQuery);
+
+    /**
+     * 将指定id的出库类型从回收站中回复
+     * @param putOutStorageTypeIds 出库类型ids
+     * @return 影响行数
+     */
+    int backPutOutStorageTypeByIds(List<Integer> putOutStorageTypeIds);
+
+    /**
+     * 将回收站中的出库类型全部回复
+     * @return 影响行数
+     */
+    int backPutOutStorageTypeAll();
+
+    /**
+     * 销毁回收站中指定id的出库类型
+     * @param putOutStorageTypeIds 出库类型ids
+     * @return 影响行数
+     */
+    int deleteRecyclePutOutStorageTypeByIds(List<Integer> putOutStorageTypeIds);
+
+    /**
+     * 销毁回收站中的全部出库类型
+     * @return 影响行数
+     */
+    int deleteRecyclePutOutStorageTypeAll();
+}

+ 149 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/service/impl/PutOutStorageTypeServiceImpl.java

@@ -0,0 +1,149 @@
+package org.dromara.InventoryManagement.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.RequiredArgsConstructor;
+import org.dromara.InventoryManagement.domain.PutOutStorageType;
+import org.dromara.InventoryManagement.domain.bo.PutOutStorageTypeBo;
+import org.dromara.InventoryManagement.domain.vo.PutOutStorageTypeVo;
+import org.dromara.InventoryManagement.mapper.PutOutStorageTypeMapper;
+import org.dromara.InventoryManagement.service.PutOutStorageTypeService;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.springframework.stereotype.Service;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 出库类型业务实现
+ */
+@Service
+@RequiredArgsConstructor
+public class PutOutStorageTypeServiceImpl implements PutOutStorageTypeService {
+    private final PutOutStorageTypeMapper putOutStorageTypeMapper;
+
+    /**
+     * 查询出库类型管理列表
+     * @param putOutStorage 出库类型Bo对象
+     * @param pageQuery 分页信息
+     * @return 查询结果
+     */
+    @Override
+    public TableDataInfo<PutOutStorageTypeVo> selectPutOutStorageTypePageList(PutOutStorageTypeBo putOutStorage, PageQuery pageQuery) {
+        QueryWrapper<PutOutStorageType> qw = new QueryWrapper<>();
+        qw.like(putOutStorage.getID() != 0, "id", putOutStorage.getID());
+        qw.like(StringUtils.isNotBlank(putOutStorage.getName()), "name", putOutStorage.getName());
+        Page<PutOutStorageTypeVo> page = putOutStorageTypeMapper.selectVoPage(pageQuery.build(), qw);
+        return TableDataInfo.build(page);
+    }
+
+    /**
+     * 新增出库类型
+     * @param putOutStorageTypeBo 出库类型Bo对象
+     * @return 新增结果
+     */
+    @Override
+    public int insertPutOutStorageType(PutOutStorageTypeBo putOutStorageTypeBo) {
+        PutOutStorageType putOutStorageType = MapstructUtils.convert(putOutStorageTypeBo, PutOutStorageType.class);
+        return putOutStorageTypeMapper.insert(putOutStorageType);
+    }
+
+    /**
+     * 修改出库类型
+     * @param putOutStorageTypeBo 出库类型Bo对象
+     * @return 修改结果
+     */
+    @Override
+    public int updatePutOutStorageType(PutOutStorageTypeBo putOutStorageTypeBo) {
+        PutOutStorageType putOutStorageType = MapstructUtils.convert(putOutStorageTypeBo, PutOutStorageType.class);
+        return putOutStorageTypeMapper.updateById(putOutStorageType);
+    }
+
+    /**
+     * 将指定id的出库类型移入回收站
+     * @param putOutStorageTypeIds 出库类型ids
+     * @return  回收结果
+     */
+    @Override
+    public int deletePutOutStorageTypeByIds(List<Integer> putOutStorageTypeIds) {
+        UpdateWrapper<PutOutStorageType> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.in("id", putOutStorageTypeIds);
+        updateWrapper.set("deletetime", new Date());
+        return putOutStorageTypeMapper.update(updateWrapper);
+    }
+
+    /**
+     * 查询回收站中的出库类型列表
+     * @param putOutStorageTypeBo 出库类型Bo对象
+     * @param pageQuery 分页信息
+     * @return 查询结果
+     */
+    @Override
+    public TableDataInfo<PutOutStorageTypeVo> selectRecyclePutOutStorageTypeList(PutOutStorageTypeBo putOutStorageTypeBo, PageQuery pageQuery) {
+        QueryWrapper<PutOutStorageType> qw = new QueryWrapper<>();
+        Map<String, Object> params = putOutStorageTypeBo.getParams();
+        qw.eq(0 != putOutStorageTypeBo.getID(), "id", putOutStorageTypeBo.getID());
+        qw.like(StringUtils.isNotBlank(putOutStorageTypeBo.getName()), "name", putOutStorageTypeBo.getName());
+        qw.between(params.get("begindeletetime") != null && params.get("enddeletetime") != null,
+            "deletetime", params.get("begindeletetime"), params.get("enddeletetime"));
+        qw.isNotNull("deletetime");
+        Page<PutOutStorageTypeVo> page = putOutStorageTypeMapper.selectVoPage(pageQuery.build(), qw);
+        return TableDataInfo.build(page);
+    }
+
+    /**
+     * 还原回收站中指定id的出库类型
+     * @param putOutStorageTypeIds 出库类型ids
+     * @return 还原结果
+     */
+    @Override
+    public int backPutOutStorageTypeByIds(List<Integer> putOutStorageTypeIds) {
+        UpdateWrapper<PutOutStorageType> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.in("id", putOutStorageTypeIds);
+        updateWrapper.set("deletetime", null);
+        return putOutStorageTypeMapper.update(updateWrapper);
+    }
+
+    /**
+     * 还原回收站中所有出库类型
+     * @return 还原结果
+     */
+    @Override
+    public int backPutOutStorageTypeAll() {
+        UpdateWrapper<PutOutStorageType> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.set("deletetime", null);
+        return putOutStorageTypeMapper.update(updateWrapper);
+    }
+
+    /**
+     * 销毁回收站中指定id的出库类型
+     * @param putOutStorageTypeIds 出库类型ids
+     * @return 销毁结果
+     */
+    @Override
+    public int deleteRecyclePutOutStorageTypeByIds(List<Integer> putOutStorageTypeIds) {
+        QueryWrapper<PutOutStorageType> qw=new QueryWrapper<>();
+        qw.in("id",putOutStorageTypeIds);
+        qw.isNotNull("deletetime");
+        return putOutStorageTypeMapper.delete(qw);
+    }
+
+    /**
+     * 销毁回收站中所有出库类型
+     * @return 销毁结果
+     */
+    @Override
+    public int deleteRecyclePutOutStorageTypeAll() {
+        QueryWrapper<PutOutStorageType> qw=new QueryWrapper<>();
+        qw.isNotNull("deletetime");
+        return putOutStorageTypeMapper.delete(qw);
+    }
+
+}
+
+

+ 7 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/resources/mapper/PutOutStorageTypeMapper.xml

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