package com.nanometer.smartlab.entity; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.nanometer.smartlab.entity.enumtype.ApplyStatus; import com.nanometer.smartlab.entity.enumtype.ValidFlag; import com.nanometer.smartlab.util.Validator; import lombok.Getter; import lombok.Setter; import java.io.Serializable; import java.math.BigDecimal; import java.sql.Timestamp; import java.util.*; /** * Created by johnny on 17/11/23. */ @Setter @Getter @JsonIgnoreProperties(value = {"handler"}) public class OpeApply implements Serializable,Comparable { private Long id; private String applyCode; private Long reagentId; private Integer used; private Integer num; private Timestamp deadline; private Long applyUserId; private Long projectId; private ApplyStatus status; private Timestamp createTime; private Timestamp updateTime; private ValidFlag validFlag; private Long approveUserId; private String memo; private Long beforeApproveUserId; private String before_memo; private String startReagentCode; private String endReagentCode; private Integer arrivalNum; private Long houseId; private String place; private Long containerId; private String articleNumber; private String applyGoal; private BigDecimal applyPrice; private Integer stockFlag; private Long firstUser; private Long consigneeId; private Timestamp arrivalTime; //非数据库字段 private String firName; private SysReagent reagent; private OpeOrder order; private String applyUserName; private String applyUserProject; private String applyUserDepartment; private String approveUserName; private String secondUserName; private ApplyStatus orderStatus; // 用于订单入库的时候表格编辑字段 private List reagentCodeList; private String projectName; private String projectOwner; private Long ownerDepartment; private String stockFlagValue; //用于存放仓库 和仓库货柜的id private Long warehouseId; private Long warehouseContainerId; private String first; private String second; @Override public int compareTo(OpeApply o) { if(this.projectOwner == null || o.getProjectOwner() == null){ return 1; } if(this.projectOwner.compareTo(o.getProjectOwner()) == -1) { return 1; }else { return -1; } } @Override public String toString() { final StringBuilder sb = new StringBuilder("OpeApply{"); sb.append("firName='").append(firName).append('\''); sb.append(", firstUser='").append(firstUser).append('\''); sb.append(", approveUserId='").append(approveUserId).append('\''); sb.append(", beforeApproveUserId='").append(beforeApproveUserId).append('\''); sb.append(", approveUserName='").append(approveUserName).append('\''); sb.append(", secondUserName='").append(secondUserName).append('\''); sb.append('}'); return sb.toString(); } }