feat: 实现VoableService接口并重构相关服务

refactor: 优化WebSocket通信和任务处理逻辑

fix: 修复客户和供应商路径选择功能

docs: 更新任务通信规则文档

build: 更新项目版本至0.0.86-SNAPSHOT

style: 清理无用导入和日志输出

test: 添加CustomerFileMoveTasker测试类

chore: 更新tasker_mapper.json注册信息
This commit is contained in:
2025-09-25 18:57:17 +08:00
parent bf90117116
commit 45f7b611c5
61 changed files with 1638 additions and 286 deletions

View File

@@ -368,4 +368,5 @@ public class Contract
vo.setVersion(getVersion());
return vo;
}
}

View File

@@ -4,6 +4,8 @@ import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.EmployeeVo;
import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -20,6 +22,7 @@ import jakarta.persistence.JoinTable;
import jakarta.persistence.ManyToMany;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import jakarta.persistence.Version;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@@ -106,6 +109,12 @@ public class Employee implements BasedEntity, IdentityEntity, NamedEntity, Seria
@JsonIgnore
private java.util.List<EmployeeRole> roles = new java.util.ArrayList<>();
@Version
@ColumnDefault("0")
@Column(name = "VERSION", nullable = false)
@ToString.Exclude
private int version;
@Override
public String toPrettyString() {
if (code == null) {

View File

@@ -47,6 +47,10 @@ public class InventoryHistoryPrice implements IdentityEntity, Serializable, Voab
this.year = Year.of(year);
}
public void setYear(Year year) {
this.year = year;
}
/**
* 最新价格
*/

View File

@@ -107,7 +107,6 @@ public class ProjectFundPlan
vo.setId(id);
if (project != null) {
vo.setProjectId(project.getId());
vo.setProjectName(project.getName());
}
vo.setPayDate(payDate);
if (payWay != null) {
@@ -118,7 +117,6 @@ public class ProjectFundPlan
vo.setPayTerm(payTerm);
if (contractPayPlan != null) {
vo.setContractPayPlanId(contractPayPlan.getId());
// 注意ContractPayPlan实体类中没有name字段无法设置contractPayPlanName
}
vo.setUpdateDate(updateDate);
return vo;

View File

@@ -1,9 +1,9 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ProjectTypeVo;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -21,7 +21,8 @@ import lombok.Setter;
@Setter
@Entity
@Table(name = "PROJECT_TYPE")
public class ProjectType implements IdentityEntity, NamedEntity, BasedEntity, java.io.Serializable {
public class ProjectType
implements IdentityEntity, NamedEntity, BasedEntity, java.io.Serializable, Voable<ProjectTypeVo> {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "ID", nullable = false)
@@ -61,4 +62,9 @@ public class ProjectType implements IdentityEntity, NamedEntity, BasedEntity, ja
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ProjectTypeVo toVo() {
throw new UnsupportedOperationException("Unimplemented method 'toVo'");
}
}

View File

@@ -2,9 +2,11 @@ package com.ecep.contract.model;
public interface Voable<T> {
/**
* 转换为Vo
* 转换为Vo
*
* @return
*/
T toVo();
}

View File

@@ -16,10 +16,8 @@ public class EmployeeVo implements IdentityEntity, NamedEntity {
private String alias;
private String code;
private Integer departmentId;
private String position;
private String phone;
private String email;
private String idCard;
private LocalDate created;
private LocalDate entryDate;
private LocalDate leaveDate;
@@ -32,4 +30,5 @@ public class EmployeeVo implements IdentityEntity, NamedEntity {
private String currencyFormatter;
private boolean active = false;
private String description;
private int version;
}

View File

@@ -12,13 +12,11 @@ import lombok.Data;
public class ProjectFundPlanVo implements IdentityEntity {
private Integer id;
private Integer projectId;
private String projectName;
private LocalDate payDate;
private ContractPayWay payWay;
private float payRatio;
private double payCurrency;
private String payTerm;
private Integer contractPayPlanId;
private String contractPayPlanName;
private LocalDateTime updateDate;
}