1. 新增用户与部门,一对多的关系;
2. 新增管理多部门用户,如果有为公司的多个部门可以进行选择登录(选择后,直到下次变更访问公司前,只能访问此次选择公的业务数据,使用 company_id 控制,后续补充此数据权限的实现);
3. sql 转化工具修复,现在可以正确的对 mysql 进行不同数据库实例的转化了;
4. 所有表格主键,修改为分布式 Id 实现;
5. 补全在初始版本中没有被纳入的其他预制功能模块
This commit is contained in:
Administrator
2025-07-01 07:30:25 +00:00
parent 84ddc8ca6e
commit 06b278563e
1254 changed files with 85893 additions and 1524 deletions

24
yudao-module-erp/pom.xml Normal file
View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao</artifactId>
<version>${revision}</version>
</parent>
<modules>
<module>yudao-module-erp-api</module>
<module>yudao-module-erp-server</module>
</modules>
<modelVersion>4.0.0</modelVersion>
<artifactId>yudao-module-erp</artifactId>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<description>
erp 包下企业资源管理Enterprise Resource Planning
例如说:采购、销售、库存、财务、产品等等
</description>
</project>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-module-erp</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yudao-module-erp-api</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>
erp 模块 API暴露给其它模块调用
</description>
<dependencies>
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-common</artifactId>
</dependency>
<!-- 参数校验 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,4 @@
/**
* erp API 包,定义暴露给其它模块的 API
*/
package cn.iocoder.yudao.module.erp.api;

View File

@@ -0,0 +1,23 @@
package cn.iocoder.yudao.module.erp.enums;
import cn.iocoder.yudao.framework.common.enums.RpcConstants;
/**
* API 相关的枚举
*
* @author 芋道源码
*/
public class ApiConstants {
/**
* 服务名
*
* 注意,需要保证和 spring.application.name 保持一致
*/
public static final String NAME = "erp-server";
public static final String PREFIX = RpcConstants.RPC_API_PREFIX + "/erp";
public static final String VERSION = "1.0.0";
}

View File

@@ -0,0 +1,13 @@
package cn.iocoder.yudao.module.erp.enums;
/**
* ERP 字典类型的枚举类
*
* @author 芋道源码
*/
public interface DictTypeConstants {
String AUDIT_STATUS = "erp_audit_status"; // 审核状态
String STOCK_RECORD_BIZ_TYPE = "erp_stock_record_biz_type"; // 库存明细的业务类型
}

View File

@@ -0,0 +1,39 @@
package cn.iocoder.yudao.module.erp.enums;
import cn.iocoder.yudao.framework.common.core.ArrayValuable;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import java.util.Arrays;
/**
* ERP 审核状态枚举
*
* TODO 芋艿:目前只有待审批、已审批两个状态,未来接入工作流后,会丰富下:待提交(草稿)=》已提交(待审核)=》审核通过、审核不通过;另外,工作流需要支持“反审核”,把工作流退回到原点;
*
* @author 芋道源码
*/
@RequiredArgsConstructor
@Getter
public enum ErpAuditStatus implements ArrayValuable<Integer> {
PROCESS(10, "未审核"), // 审核中
APPROVE(20, "已审核"); // 审核通过
public static final Integer[] ARRAYS = Arrays.stream(values()).map(ErpAuditStatus::getStatus).toArray(Integer[]::new);
/**
* 状态
*/
private final Integer status;
/**
* 状态名
*/
private final String name;
@Override
public Integer[] array() {
return ARRAYS;
}
}

View File

@@ -0,0 +1,12 @@
package cn.iocoder.yudao.module.erp.enums;
/**
* ERP 操作日志枚举
* 目的:统一管理,也减少 Service 里各种“复杂”字符串
*
* @author 芋道源码
*/
public interface LogRecordConstants {
}

View File

@@ -0,0 +1,43 @@
package cn.iocoder.yudao.module.erp.enums.common;
import cn.iocoder.yudao.framework.common.core.ArrayValuable;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import java.util.Arrays;
/**
* ERP 业务类型枚举
*
* @author HUIHUI
*/
@RequiredArgsConstructor
@Getter
public enum ErpBizTypeEnum implements ArrayValuable<Integer> {
PURCHASE_ORDER(10, "采购订单"),
PURCHASE_IN(11, "采购入库"),
PURCHASE_RETURN(12, "采购退货"),
SALE_ORDER(20, "销售订单"),
SALE_OUT(21, "销售出库"),
SALE_RETURN(22, "销售退货"),
;
public static final Integer[] ARRAYS = Arrays.stream(values()).map(ErpBizTypeEnum::getType).toArray(Integer[]::new);
/**
* 类型
*/
private final Integer type;
/**
* 名称
*/
private final String name;
@Override
public Integer[] array() {
return ARRAYS;
}
}

View File

@@ -0,0 +1,63 @@
package cn.iocoder.yudao.module.erp.enums.stock;
import cn.iocoder.yudao.framework.common.core.ArrayValuable;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import java.util.Arrays;
/**
* ERP 库存明细 - 业务类型枚举
*
* @author 芋道源码
*/
@RequiredArgsConstructor
@Getter
public enum ErpStockRecordBizTypeEnum implements ArrayValuable<Integer> {
OTHER_IN(10, "其它入库"),
OTHER_IN_CANCEL(11, "其它入库(作废)"),
OTHER_OUT(20, "其它出库"),
OTHER_OUT_CANCEL(21, "其它出库(作废)"),
MOVE_IN(30, "调拨入库"),
MOVE_IN_CANCEL(31, "调拨入库(作废)"),
MOVE_OUT(32, "调拨出库"),
MOVE_OUT_CANCEL(33, "调拨出库(作废)"),
CHECK_MORE_IN(40, "盘盈入库"),
CHECK_MORE_IN_CANCEL(41, "盘盈入库(作废)"),
CHECK_LESS_OUT(42, "盘亏出库"),
CHECK_LESS_OUT_CANCEL(43, "盘亏出库(作废)"),
SALE_OUT(50, "销售出库"),
SALE_OUT_CANCEL(51, "销售出库(作废)"),
SALE_RETURN(60, "销售退货入库"),
SALE_RETURN_CANCEL(61, "销售退货入库(作废)"),
PURCHASE_IN(70, "采购入库"),
PURCHASE_IN_CANCEL(71, "采购入库(作废)"),
PURCHASE_RETURN(80, "采购退货出库"),
PURCHASE_RETURN_CANCEL(81, "采购退货出库(作废)"),
;
public static final Integer[] ARRAYS = Arrays.stream(values()).map(ErpStockRecordBizTypeEnum::getType).toArray(Integer[]::new);
/**
* 类型
*/
private final Integer type;
/**
* 名字
*/
private final String name;
@Override
public Integer[] array() {
return ARRAYS;
}
}

Some files were not shown because too many files have changed in this diff Show More