setExpreEndDate - genscript-lz/manufacturing GitHub Wiki
public void updateExptdEndDate() { if(exptdStartDate!=null) { if(this.getOperation()==null) { this.exptdEndDate = exptdStartDate; return; } String uom = this.getOperation().getUom(); if(StringUtils.isEmpty(uom)) { uom = "Hour"; } // long exptdStartTime = customStartDate.getTime(); Date date = exptdStartDate; BigDecimal totalAdd = new BigDecimal(0); if(this.getOperation().getRunTime()!=null) { totalAdd = this.getOperation().getRunTime(); } if(this.getOperation().getSetupTime()!=null) { totalAdd = totalAdd.add(new BigDecimal(this.getOperation().getSetupTime())); } if(totalAdd.equals(new BigDecimal(0))) { this.exptdEndDate = exptdStartDate; return; } // long exptdEndTime = 0; if(uom.toLowerCase().startsWith("hour")) { // exptdEndTime = exptdStartTime+totalAdd.multiply(new BigDecimal(3600)).multiply(new BigDecimal(1000)).longValue(); date = DateUtils.hoursBefore2Date(date, totalAdd.intValue()); } else if(uom.toLowerCase().startsWith("day")) { // exptdEndTime = exptdStartTime+totalAdd.multiply(new BigDecimal(24)).multiply(new BigDecimal(3600)).multiply(new BigDecimal(1000)).longValue(); date = DateUtils.dayBefore2Date(date, totalAdd.intValue()); } else if(uom.toLowerCase().startsWith("month")) { // date = new java.sql.Timestamp(DateUtils.defineMonthBefore2Date(customStartDate,totalAdd.intValue()).getTime()); // date = (date==null?customStartDate:date); // exptdEndTime = date.getTime()+totalAdd.subtract(new BigDecimal(totalAdd.intValue())).multiply(new BigDecimal(24)).multiply(new BigDecimal(3600)).multiply(new BigDecimal(1000)).longValue(); date = DateUtils.defineMonthBefore2Date(exptdStartDate,totalAdd.intValue()); } else if(uom.toLowerCase().startsWith("year")) { // date = new java.sql.Timestamp(DateUtils.defineMonthBefore2Date(customStartDate,totalAdd.multiply(new BigDecimal(12)).intValue()).getTime()); // date = (date==null?customStartDate:date); // exptdEndTime = date.getTime()+totalAdd.multiply(new BigDecimal(12)).subtract(totalAdd.multiply(new BigDecimal(12))).multiply(new BigDecimal(3600)).multiply(new BigDecimal(1000)).longValue(); date = DateUtils.defineMonthBefore2Date(exptdStartDate,totalAdd.multiply(new BigDecimal(12)).intValue()); } this.exptdEndDate = new java.sql.Timestamp(date.getTime()); }