Resist.java
/*
* @ Copyright 2001 FA Software;
* All right reserved. No part of this program may be reproduced or
* transmitted in any form or by any means, electronic or
* mechanical, including photocopying, recording, or by any
* information storage or retrieval system without written
* permission from FA Software, except for inclusion of brief
* quotations in a review.
*/
package com.mycim.valueobject.ems;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.framework.utils.lang.math.NumberUtils;
import com.mycim.framework.utils.lang.time.DateUtils;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Date;
public class Resist extends ResistMapping implements Serializable {
/**
*
*/
private static final long serialVersionUID = -3369627555162990597L;
private String DAFAULT_SEC = "000000";
private String vendorBarcode;
private Long serialNumber;
private String eqptId;
private String prPipe;
private String unit;
private String expireDate; // 直接从数据库获取的数据 有可能为空
private String actualExpireDate; // 真实的过期时间,根据resist/resist mapping 数据计算而来
private Double lifeTime; // 真实剩余时间
private String expireTime; // 2019/1/31 页面使用
private String expireDates; // 2019/1/31 页面使用
private String prevEntityStatus; // resist_status 表
private String currentEntityStatus; // resist_status 表
// trans
private String comments;
public Resist() {
}
public Resist(String resistId, String namedSpace, String object) {
if (this.instanceId != null) {
this.instanceId = resistId.toUpperCase().trim();
}
this.namedSpace = namedSpace;
this.object = object;
}
public String getComments() {
return comments;
}
public void setComments(String comments) {
this.comments = comments;
}
public String getVendorBarcode() {
return vendorBarcode;
}
public void setVendorBarcode(String vendorBarcode) {
this.vendorBarcode = vendorBarcode;
}
public Long getSerialNumber() {
return serialNumber;
}
public void setSerialNumber(Long serialNumber) {
this.serialNumber = serialNumber;
}
public String getEqptId() {
return eqptId;
}
public void setEqptId(String eqptId) {
this.eqptId = eqptId;
}
public String getPrPipe() {
return prPipe;
}
public void setPrPipe(String prPipe) {
this.prPipe = prPipe;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getExpireDate() {
return expireDate;
}
public void setExpireDate(String expireDate) {
this.expireDate = expireDate;
}
public String getActualExpireDate() {
return actualExpireDate;
}
public void setActualExpireDate(String actualExpireDate) {
this.actualExpireDate = actualExpireDate;
}
public Double getLifeTime() {
return lifeTime;
}
public void setLifeTime(Double lifeTime) {
this.lifeTime = lifeTime;
}
public String getExpireTime() {
return expireTime;
}
public void setExpireTime(String expireTime) {
this.expireTime = expireTime;
}
public String getExpireDates() {
return expireDates;
}
public void setExpireDates(String expireDates) {
this.expireDates = expireDates;
}
public String getPrevEntityStatus() {
return prevEntityStatus;
}
public void setPrevEntityStatus(String prevEntityStatus) {
this.prevEntityStatus = prevEntityStatus;
}
public String getCurrentEntityStatus() {
return currentEntityStatus;
}
public void setCurrentEntityStatus(String currentEntityStatus) {
this.currentEntityStatus = currentEntityStatus;
}
public void buildExpireInfo() {
if (StringUtils.isNotBlank(this.expireDate)) {
this.actualExpireDate = this.expireDate;
} else {
if (StringUtils.equalsIgnoreCase(getLifeTimeType(), "0")) {// follow bottle life
Calendar cal = Calendar.getInstance();
String year = String.valueOf(cal.get(Calendar.YEAR));
year = year.substring(NumberUtils.INTEGER_ZERO, NumberUtils.INTEGER_TWO);
String tempExpireDate = year + getInstanceId().substring(15, 21);
actualExpireDate = DateUtils
.formatDate(DateUtils.parse(tempExpireDate + DAFAULT_SEC, DateUtils.DATE_FORMAT4NOSPLICING),
DateUtils.DATE_FORMAT4DATE);
} else {// buffer days
Long millsec = getCreateTime().getTime() + DateUtils.getSecondsTime(getDefrostTime()) * 1000L +
getBufferDays() * 24L * 60L * 60L * 1000L;
this.actualExpireDate = DateUtils.formatDate(new Date(millsec), DateUtils.DATE_FORMAT4DATE);
}
}
Date date = DateUtils.parse(actualExpireDate, DateUtils.DATE_FORMAT4DATE);
Long dateTime = date.getTime() - System.currentTimeMillis();
Double days = BigDecimal.valueOf(dateTime.doubleValue() / 1000 / 60 / 60 / 24)
.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
this.lifeTime = days;
}
}