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

View File

@@ -0,0 +1,19 @@
## AdoptOpenJDK 停止发布 OpenJDK 二进制,而 Eclipse Temurin 是它的延伸,提供更好的稳定性
## 感谢复旦核博士的建议!灰子哥,牛皮!
FROM eclipse-temurin:21-jre
## 创建目录,并使用它作为工作目录
RUN mkdir -p /yudao-module-erp-server
WORKDIR /yudao-module-erp-server
## 将后端项目的 Jar 文件,复制到镜像中
COPY ./target/yudao-module-erp-server.jar app.jar
## 设置 TZ 时区
## 设置 JAVA_OPTS 环境变量,可通过 docker run -e "JAVA_OPTS=" 进行覆盖
ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms512m -Xmx512m"
## 暴露后端项目的 48088 端口
EXPOSE 48088
## 启动后端项目
CMD java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar app.jar

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,30 @@
package cn.iocoder.yudao.module.erp;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* 项目的启动类
* <p>
* 如果你碰到启动的问题,请认真阅读 https://cloud.iocoder.cn/quick-start/ 文章
* 如果你碰到启动的问题,请认真阅读 https://cloud.iocoder.cn/quick-start/ 文章
* 如果你碰到启动的问题,请认真阅读 https://cloud.iocoder.cn/quick-start/ 文章
*
* @author 芋道源码
*/
@SpringBootApplication
public class ErpServerApplication {
public static void main(String[] args) {
// 如果你碰到启动的问题,请认真阅读 https://cloud.iocoder.cn/quick-start/ 文章
// 如果你碰到启动的问题,请认真阅读 https://cloud.iocoder.cn/quick-start/ 文章
// 如果你碰到启动的问题,请认真阅读 https://cloud.iocoder.cn/quick-start/ 文章
SpringApplication.run(ErpServerApplication.class, args);
// 如果你碰到启动的问题,请认真阅读 https://cloud.iocoder.cn/quick-start/ 文章
// 如果你碰到启动的问题,请认真阅读 https://cloud.iocoder.cn/quick-start/ 文章
// 如果你碰到启动的问题,请认真阅读 https://cloud.iocoder.cn/quick-start/ 文章
}
}

View File

@@ -0,0 +1,24 @@
package cn.iocoder.yudao.module.erp.controller.admin.finance.vo.account;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@Schema(description = "管理后台 - ERP 结算账户分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ErpAccountPageReqVO extends PageParam {
@Schema(description = "账户编码", example = "A88")
private String no;
@Schema(description = "账户名称", example = "张三")
private String name;
@Schema(description = "备注", example = "随便")
private String remark;
}

View File

@@ -0,0 +1,50 @@
package cn.iocoder.yudao.module.erp.controller.admin.finance.vo.account;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - ERP 结算账户 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ErpAccountRespVO {
@Schema(description = "结算账户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "28684")
@ExcelProperty("结算账户编号")
private Long id;
@Schema(description = "账户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@ExcelProperty("账户名称")
private String name;
@Schema(description = "账户编码", example = "A88")
@ExcelProperty("账户编码")
private String no;
@Schema(description = "备注", example = "随便")
@ExcelProperty("备注")
private String remark;
@Schema(description = "开启状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@ExcelProperty("开启状态")
@DictFormat(DictTypeConstants.COMMON_STATUS)
private Integer status;
@Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@ExcelProperty("排序")
private Integer sort;
@Schema(description = "是否默认", example = "1")
@ExcelProperty("是否默认")
private Boolean defaultStatus;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,36 @@
package cn.iocoder.yudao.module.erp.controller.admin.finance.vo.account;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.validation.InEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Schema(description = "管理后台 - ERP 结算账户新增/修改 Request VO")
@Data
public class ErpAccountSaveReqVO {
@Schema(description = "结算账户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "28684")
private Long id;
@Schema(description = "账户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@NotEmpty(message = "账户名称不能为空")
private String name;
@Schema(description = "账户编码", example = "A88")
private String no;
@Schema(description = "备注", example = "随便")
private String remark;
@Schema(description = "开启状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotNull(message = "开启状态不能为空")
@InEnum(value = CommonStatusEnum.class)
private Integer status;
@Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotNull(message = "排序不能为空")
private Integer sort;
}

View File

@@ -0,0 +1,48 @@
package cn.iocoder.yudao.module.erp.controller.admin.finance.vo.payment;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - ERP 付款单分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ErpFinancePaymentPageReqVO extends PageParam {
@Schema(description = "付款单编号", example = "XS001")
private String no;
@Schema(description = "付款时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] paymentTime;
@Schema(description = "供应商编号", example = "1724")
private Long supplierId;
@Schema(description = "创建者", example = "666")
private String creator;
@Schema(description = "财务人员编号", example = "888")
private String financeUserId;
@Schema(description = "结算账户编号", example = "31189")
private Long accountId;
@Schema(description = "付款状态", example = "2")
private Integer status;
@Schema(description = "备注", example = "你猜")
private String remark;
@Schema(description = "业务编号", example = "123")
private String bizNo;
}

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