Переглянути джерело

feat:新增供应商管理

qingwudarao 5 місяців тому
батько
коміт
cdffdcd309

+ 39 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/controller/SupplierController.java

@@ -0,0 +1,39 @@
+package org.dromara.InventoryManagement.controller;
+
+import lombok.RequiredArgsConstructor;
+import org.dromara.InventoryManagement.domain.bo.SupplierBo;
+import org.dromara.InventoryManagement.domain.vo.SupplierVo;
+import org.dromara.InventoryManagement.service.impl.SupplierServiceImpl;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/inventoryManagement/Supplier")
+public class SupplierController extends BaseController {
+
+    private final SupplierServiceImpl supplierService;
+
+    @GetMapping("/PageList")
+    public TableDataInfo<SupplierVo> selectPageSupplierList(SupplierBo supplierBo, PageQuery pageQuery) {
+        return supplierService.selectPageSupplierList(supplierBo, pageQuery);
+    }
+
+    @PostMapping()
+    public int insertSupplier(@Validated @RequestBody SupplierBo supplierBo) {
+        return supplierService.insertSupplier(supplierBo);
+    }
+
+    @PutMapping()
+    public int updateSupplier(@Validated @RequestBody SupplierBo supplierBo) {
+        return supplierService.updateSupplier(supplierBo);
+    }
+
+    @DeleteMapping("/{supplierIds}")
+    public int deleteSupplierById(@PathVariable Long[] supplierIds) {
+        return supplierService.deleteSupplierById(supplierIds);
+    }
+}

+ 112 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/Supplier.java

@@ -0,0 +1,112 @@
+package org.dromara.InventoryManagement.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.tenant.core.TenantEntity;
+
+import java.util.Date;
+
+@Data
+@TableName("fa_ykjp_info_supplier")
+@EqualsAndHashCode(callSuper = true)
+public class Supplier extends TenantEntity {
+
+    /**
+     * ID
+     */
+    private Long id;
+
+    /**
+     * 供应商编码
+     */
+    private String code;
+
+    /**
+     * 供应商名称
+     */
+    private String name;
+
+    /**
+     * 简称
+     */
+    @TableField("abbname")
+    private String abbreviation;
+
+    /**
+     * 联系人
+     */
+    private String contact;
+
+    /**
+     * 联系方式
+     */
+    private String phone;
+
+    /**
+     * 区域
+     */
+    private String city;
+
+    /**
+     * 详细地址
+     */
+    private String address;
+
+    /**
+     * 传真
+     */
+    private String fax;
+
+    /**
+     * 公司电话
+     */
+    private String mobile;
+
+    /**
+     * 开户银行
+     */
+    private String bank;
+
+    /**
+     * 银行账号
+     */
+    @TableField("banknums")
+    private String bankNumber;
+
+    /**
+     * 账期(天)
+     */
+    private int term;
+
+    /**
+     * 纳税人识别号
+     */
+    private String identifier;
+
+    /**
+     * 社会信用代码
+     */
+    private String credit;
+
+    /**
+     * 信用额度
+     */
+    private int amount;
+
+    /**
+     * 说明
+     */
+    private String description;
+
+    /**
+     * 删除时间
+     */
+    private Date deleteTime;
+
+    /**
+     * 状态
+     */
+    private int status;
+}

+ 115 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/bo/SupplierBo.java

@@ -0,0 +1,115 @@
+package org.dromara.InventoryManagement.domain.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.InventoryManagement.domain.Supplier;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+
+import java.util.Date;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Supplier.class, reverseConvertGenerate = false)
+public class SupplierBo extends BaseEntity {
+
+    /**
+     * ID
+     */
+    private Long id;
+
+    /**
+     * 供应商编号
+     */
+    private String code;
+
+    /**
+     * 供应商名称
+     */
+    @NotNull(message = "供应商名称不能为空")
+    private String name;
+
+    /**
+     * 简称
+     */
+    private String abbreviation;
+
+    /**
+     * 联系人
+     */
+    private String contact;
+
+    /**
+     * 联系方式
+     */
+    @NotNull(message = "联系方式不能为空")
+    @Size(min = 11, max = 11, message = "联系方式长度不能超过11个字符")
+    private String phone;
+
+    /**
+     * 区域
+     */
+    private String city;
+
+    /**
+     * 详细地址
+     */
+    private String address;
+
+    /**
+     * 传真
+     */
+    private String fax;
+
+    /**
+     * 公司电话
+     */
+    private String mobile;
+
+    /**
+     * 开户银行
+     */
+    private String bank;
+
+    /**
+     * 银行账号
+     */
+    private String bankNumber;
+
+    /**
+     * 账期(天)
+     */
+    private int term;
+
+    /**
+     * 纳税人识别号
+     */
+    private String identifier;
+
+    /**
+     * 社会信用代码
+     */
+    private String credit;
+
+    /**
+     * 信用额度
+     */
+    private int amount;
+
+    /**
+     * 说明
+     */
+    private String description;
+
+    /**
+     * 删除时间
+     */
+    private Date deleteTime;
+
+    /**
+     * 状态
+     */
+    private int status;
+}

+ 110 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/domain/vo/SupplierVo.java

@@ -0,0 +1,110 @@
+package org.dromara.InventoryManagement.domain.vo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.InventoryManagement.domain.Supplier;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+
+import java.util.Date;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Supplier.class)
+public class SupplierVo extends BaseEntity {
+
+    /**
+     * ID
+     */
+    private Long id;
+
+    /**
+     * 供应商编码
+     */
+    private String code;
+
+    /**
+     * 供应商名称
+     */
+    private String name;
+
+    /**
+     * 简称
+     */
+    private String abbreviation;
+
+    /**
+     * 联系人
+     */
+    private String contact;
+
+    /**
+     * 联系方式
+     */
+    private String phone;
+
+    /**
+     * 区域
+     */
+    private String city;
+
+    /**
+     * 详细地址
+     */
+    private String address;
+
+    /**
+     * 传真
+     */
+    private String fax;
+
+    /**
+     * 公司电话
+     */
+    private String mobile;
+
+    /**
+     * 开户银行
+     */
+    private String bank;
+
+    /**
+     * 银行账号
+     */
+    private String bankNumber;
+
+    /**
+     * 账期(天)
+     */
+    private int term;
+
+    /**
+     * 纳税人识别号
+     */
+    private String identifier;
+
+    /**
+     * 社会信用代码
+     */
+    private String credit;
+
+    /**
+     * 信用额度
+     */
+    private int amount;
+
+    /**
+     * 说明
+     */
+    private String description;
+
+    /**
+     * 删除时间
+     */
+    private Date deleteTime;
+
+    /**
+     * 状态
+     */
+    private int status;
+}

+ 10 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/mapper/SupplierMapper.java

@@ -0,0 +1,10 @@
+package org.dromara.InventoryManagement.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.dromara.InventoryManagement.domain.Supplier;
+import org.dromara.InventoryManagement.domain.vo.SupplierVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+@Mapper
+public interface SupplierMapper extends BaseMapperPlus<Supplier, SupplierVo> {
+}

+ 38 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/service/SupplierService.java

@@ -0,0 +1,38 @@
+package org.dromara.InventoryManagement.service;
+
+import org.dromara.InventoryManagement.domain.bo.SupplierBo;
+import org.dromara.InventoryManagement.domain.vo.SupplierVo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+public interface SupplierService {
+
+    /**
+     * 分页查询供应商
+     * @param supplierBo 供应商BO对象
+     * @param pageQuery 分页参数
+     * @return 分页结果
+     */
+    TableDataInfo<SupplierVo> selectPageSupplierList(SupplierBo supplierBo, PageQuery pageQuery);
+
+    /**
+     * 新增供应商
+     * @param supplierBo 供应商BO对象
+     * @return 结果
+     */
+    int insertSupplier(SupplierBo supplierBo);
+
+    /**
+     * 修改供应商
+     * @param supplierBo 供应商BO对象
+     * @return 影响行数
+     */
+    int updateSupplier(SupplierBo supplierBo);
+
+    /**
+     * 删除供应商
+     * @param supplierIds 供应商ID
+     * @return 影响行数
+     */
+    int deleteSupplierById(Long[] supplierIds);
+}

+ 71 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/java/org/dromara/InventoryManagement/service/impl/SupplierServiceImpl.java

@@ -0,0 +1,71 @@
+package org.dromara.InventoryManagement.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.RequiredArgsConstructor;
+import org.dromara.InventoryManagement.domain.Supplier;
+import org.dromara.InventoryManagement.domain.bo.SupplierBo;
+import org.dromara.InventoryManagement.domain.vo.SupplierVo;
+import org.dromara.InventoryManagement.mapper.SupplierMapper;
+import org.dromara.InventoryManagement.service.SupplierService;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.OrderNumberGenerator;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+
+@Service
+@RequiredArgsConstructor
+public class SupplierServiceImpl implements SupplierService {
+
+    private final SupplierMapper supplierMapper;
+    private final OrderNumberGenerator generator = OrderNumberGenerator.getInstance();
+
+    /**
+     * 分页查询供应商
+     * @param supplierBo 供应商BO对象
+     * @param pageQuery  分页参数
+     * @return 分页结果
+     */
+    @Override
+    public TableDataInfo<SupplierVo> selectPageSupplierList(SupplierBo supplierBo, PageQuery pageQuery) {
+        QueryWrapper<Supplier> qw = new QueryWrapper<>();
+        qw.like(StringUtils.isNotBlank(supplierBo.getCode()),"code", supplierBo.getCode());
+        Page<SupplierVo> page = supplierMapper.selectVoPage(pageQuery.build(), qw);
+        return TableDataInfo.build(page);
+    }
+
+    /**
+     * 新增供应商
+     * @param supplierBo 供应商BO对象
+     * @return 结果
+     */
+    @Override
+    public int insertSupplier(SupplierBo supplierBo) {
+        supplierBo.setCode(generator.generateOrderNumber("SP"));
+        return supplierMapper.insert(MapstructUtils.convert(supplierBo, Supplier.class));
+    }
+
+    /**
+     * 修改供应商
+     * @param supplierBo 供应商BO对象
+     * @return 影响行数
+     */
+    @Override
+    public int updateSupplier(SupplierBo supplierBo) {
+        return supplierMapper.updateById(MapstructUtils.convert(supplierBo, Supplier.class));
+    }
+
+    /**
+     * 删除供应商
+     * @param supplierIds 供应商ID
+     * @return 影响行数
+     */
+    @Override
+    public int deleteSupplierById(Long[] supplierIds) {
+        return supplierMapper.deleteByIds(Arrays.asList(supplierIds));
+    }
+}

+ 7 - 0
ruoyi-modules/ruoyi-InventoryManagement/src/main/resources/mapper/SupplierMapper.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.SupplierMapper">
+
+</mapper>