fourcal/src/main/java/cn/palmte/work/model/Project.java

556 lines
13 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package cn.palmte.work.model;
import cn.palmte.work.bean.ApproveStatusEnum;
import org.hibernate.annotations.GenericGenerator;
import top.jfunc.common.datetime.DatetimeUtils;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
/**
* 项目实体
* @author xiongshiyan at 2021/10/29 , contact me with email yanshixiong@126.com or phone 15208384257
*/
@Entity
@Table(name = "project")
public class Project {
public static final int STATUS_ESTIMATE = 1;
public static final int STATUS_BUDGET = 5;
public static final int STATUS_SETTLE = 10;
public static final int STATUS_FINAL = 15;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@GenericGenerator(name = "persistenceGenerator", strategy = "increment")
private int id;
/**
* 序号
*/
@Transient
private int tempId;
/**
* 项目编号
*/
private String projectNo;
/**
* 项目名称
*/
private String name;
/**
* 项目类型1工程集成类、2设备集成类、3战略合作类
*/
private int type;
@Column(name = "type_desc")
private String typeDesc;
/**
* 项目状态1项目创建(概算)5预算10结算15决算
*/
private int status;
@Column(name = "status_desc")
private String statusDesc;
/**
* 概算、预算、结算、决算审核状态0草稿1待审核2审核通过3审核不通过
*/
@Column(name = "approve_status_estimate")
private int approveStatusEstimate = -1;
@Column(name = "approve_status_budget")
private int approveStatusBudget = -1;
@Column(name = "approve_status_settle")
private int approveStatusSettle = -1;
@Column(name = "approve_status_final")
private int approveStatusFinal = -1;
/**
* 审核人id
*/
@Column(name = "approve_id")
private int approveId = 0;
@Column(name = "approve_name")
private String approveName;
/**
* 项目创建者id
*/
@Column(name = "creator_id")
private int creatorId;
@Column(name = "creator_name")
private String creatorName;
/**
* 项目部门id
*/
@Column(name = "dept_id")
private int deptId;
@Column(name = "dept_name")
private String deptName;
/**
* 项目开始时间,精确到月
*/
@Column(name = "start_date")
@Temporal(TemporalType.TIMESTAMP)
private Date startDate;
/**
* 项目结束时间,精确到月
*/
@Column(name = "end_date")
@Temporal(TemporalType.TIMESTAMP)
private Date endDate;
/**
* 垫资模式1A类-不垫资战略合作2B类-不垫资背靠背3C类-垫资账期覆盖4D类-垫资(账期不覆盖)
*/
@Column(name = "underwritten_mode")
private int underwrittenMode;
/**
* 客户名称
*/
@Column(name = "customer")
private String customer;
/**
* 终端客户名称
*/
@Column(name = "terminal_customer")
private String terminalCustomer;
// /**
// * 垫资利息(元为单位)
// */
// @Column(name = "advance_interest_amount")
// private BigDecimal advanceInterestAmount;
// /**
// * 垫资峰值
// */
// @Column(name = "advance_peak_amount")
// private BigDecimal advancePeakAmount;
/**
* 合同金额
*/
@Column(name = "contract_amount")
private BigDecimal contractAmount;
/**
* 行业场景应用
*/
@Column(name = "industry_scenario")
private String industryScenario;
/**
*华智产品金额
*/
@Column(name = "huazhi_product_amount")
private BigDecimal huazhiProductAmount;
/**
*其他产品金额
*/
@Column(name = "ziguang_other_amount")
private BigDecimal ziguangOtherAmount;
/**
* 主合同收款条款
*/
@Column(name = "main_contract_collection_terms")
private String mainContractCollectionTerms;
/**
* 价值及风险
*/
@Column(name = "value_risk")
private String valueRisk;
/**
* 其他中的小类名称
*/
@Column(name = "other_name")
private String otherName;
/**
* 项目创建时的配置的阀值
*/
@Column(name = "project_contribution_profit_rate_threshold")
private BigDecimal projectContributionProfitRateThreshold;
/**
* 项目创建配置的年利率
*/
@Column(name = "underwritten_tax_rate")
private BigDecimal underwrittenTaxRate;
/**
* 创建时间
*/
@Column(name = "create_time")
@Temporal(TemporalType.TIMESTAMP)
private Date createTime;
/**
* 最后更新时间
*/
@Column(name = "last_update_time")
@Temporal(TemporalType.TIMESTAMP)
private Date lastUpdateTime;
@Column(name = "plan_start_str")
private String planStartStr;
@Column(name = "plan_end_str")
private String planEndStr;
@Transient
private String underwrittenModeDesc;
@Transient
private String certainty;
@Transient
private BigDecimal grossProfit;
@Transient
private BigDecimal grossProfitMargin;
@Transient
private BigDecimal huizhiProductAmount;
@Transient
private BigDecimal huasanProductAmount;
@Transient
private String principal;
@Transient
private Date contractTime;
@Transient
private Date bidsTime;
@Transient
private String isSecondStr;
@Transient
private String signTypeStr;
@Transient
private String resolvePlanStr;
@Transient
private String mainContractResolvePlan;
@Transient
private String CalculationCollection;
@Transient
private String contractRound;
@Transient
private String huazhiRound;
@Transient
private String ziguangRound;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getTempId() {
return tempId;
}
public void setTempId(int tempId) {
this.tempId = tempId;
}
public String getProjectNo() {
return projectNo;
}
public void setProjectNo(String projectNo) {
this.projectNo = projectNo;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getTypeDesc() {
return typeDesc;
}
public void setTypeDesc(String typeDesc) {
this.typeDesc = typeDesc;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getStatusDesc() {
return statusDesc;
}
public void setStatusDesc(String statusDesc) {
this.statusDesc = statusDesc;
}
public int getApproveStatus() {
if(status == STATUS_ESTIMATE){
return approveStatusEstimate;
}
if(status == STATUS_BUDGET){
return approveStatusBudget;
}
if(status == STATUS_SETTLE){
return approveStatusSettle;
}
if(status == STATUS_FINAL){
return approveStatusFinal;
}
return -1;
}
public String getApproveStatusDesc() {
int approveStatus = getApproveStatus();
if(-1 == approveStatus){
return "未知";
}
return ApproveStatusEnum.parseApproveStatus(approveStatus).getApproveStatusDesc();
}
public String getApproveName() {
return approveName;
}
public void setApproveName(String approveName) {
this.approveName = approveName;
}
public int getCreatorId() {
return creatorId;
}
public void setCreatorId(int creatorId) {
this.creatorId = creatorId;
}
public String getCreatorName() {
return creatorName;
}
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
public int getDeptId() {
return deptId;
}
public void setDeptId(int deptId) {
this.deptId = deptId;
}
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public Date getStartDate() {
return startDate;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public Date getEndDate() {
return endDate;
}
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
public int getUnderwrittenMode() {
return underwrittenMode;
}
public void setUnderwrittenMode(int underwrittenMode) {
this.underwrittenMode = underwrittenMode;
}
public String getCustomer() {
return customer;
}
public void setCustomer(String customer) {
this.customer = customer;
}
public String getTerminalCustomer() {
return terminalCustomer;
}
public void setTerminalCustomer(String terminalCustomer) {
this.terminalCustomer = terminalCustomer;
}
public BigDecimal getContractAmount() {
return contractAmount;
}
public void setContractAmount(BigDecimal contractAmount) {
this.contractAmount = contractAmount;
}
public String getIndustryScenario() {
return industryScenario;
}
public void setIndustryScenario(String industryScenario) {
this.industryScenario = industryScenario;
}
public BigDecimal getHuazhiProductAmount() {
return huazhiProductAmount;
}
public void setHuazhiProductAmount(BigDecimal huazhiProductAmount) {
this.huazhiProductAmount = huazhiProductAmount;
}
public BigDecimal getZiguangOtherAmount() {
return ziguangOtherAmount;
}
public void setZiguangOtherAmount(BigDecimal ziguangOtherAmount) {
this.ziguangOtherAmount = ziguangOtherAmount;
}
public String getMainContractCollectionTerms() {
return mainContractCollectionTerms;
}
public void setMainContractCollectionTerms(String mainContractCollectionTerms) {
this.mainContractCollectionTerms = mainContractCollectionTerms;
}
public String getValueRisk() {
return valueRisk;
}
public void setValueRisk(String valueRisk) {
this.valueRisk = valueRisk;
}
public String getOtherName() {
return otherName;
}
public void setOtherName(String otherName) {
this.otherName = otherName;
}
public BigDecimal getProjectContributionProfitRateThreshold() {
return projectContributionProfitRateThreshold;
}
public void setProjectContributionProfitRateThreshold(BigDecimal projectContributionProfitRateThreshold) {
this.projectContributionProfitRateThreshold = projectContributionProfitRateThreshold;
}
public BigDecimal getUnderwrittenTaxRate() {
return underwrittenTaxRate;
}
public void setUnderwrittenTaxRate(BigDecimal underwrittenTaxRate) {
this.underwrittenTaxRate = underwrittenTaxRate;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getLastUpdateTime() {
return lastUpdateTime;
}
public void setLastUpdateTime(Date lastUpdateTime) {
this.lastUpdateTime = lastUpdateTime;
}
public int getApproveStatusEstimate() {
return approveStatusEstimate;
}
public void setApproveStatusEstimate(int approveStatusEstimate) {
this.approveStatusEstimate = approveStatusEstimate;
}
public int getApproveStatusBudget() {
return approveStatusBudget;
}
public void setApproveStatusBudget(int approveStatusBudget) {
this.approveStatusBudget = approveStatusBudget;
}
public int getApproveStatusSettle() {
return approveStatusSettle;
}
public void setApproveStatusSettle(int approveStatusSettle) {
this.approveStatusSettle = approveStatusSettle;
}
public int getApproveStatusFinal() {
return approveStatusFinal;
}
public void setApproveStatusFinal(int approveStatusFinal) {
this.approveStatusFinal = approveStatusFinal;
}
public int getApproveId() {
return approveId;
}
public void setApproveId(int approveId) {
this.approveId = approveId;
}
public String getStartDateYM(){
return DatetimeUtils.toStr(this.startDate,"yyyy-MM");
}
public String getEndDateYM(){
return DatetimeUtils.toStr(this.endDate,"yyyy-MM");
}
public String getPlanStartStr() {
return planStartStr;
}
public void setPlanStartStr(String planStartStr) {
this.planStartStr = planStartStr;
}
public String getPlanEndStr() {
return planEndStr;
}
public void setPlanEndStr(String planEndStr) {
this.planEndStr = planEndStr;
}
}