Число дней, прошедших с обновления задачи
Скрипт возвращает число дней, прошедших с момента последнего обновления незакрытой задачи.
package scripts.task_custom_field_value;
import com.trackstudio.exception.GranException;
import com.trackstudio.external.TaskUDFValueScript;
import com.trackstudio.secured.SecuredTaskBean;
import java.util.Calendar;
/**
* Возвращает число дней, прошедших с момента последнего обновления незакрытой задачи.
* Закрытой считается задача, находящаяся в финальном состоянии.
* Для нее возвращается 0
*/
public class DaysSinceUpdate implements TaskUDFValueScript {
public Object calculate(SecuredTaskBean securedTaskBean) throws GranException {
if (!securedTaskBean.getStatus().isFinish()) {
Calendar now = Calendar.getInstance();
now.set(Calendar.HOUR_OF_DAY, 0);
now.set(Calendar.MINUTE, 0);
now.set(Calendar.SECOND, 0);
now.set(Calendar.MILLISECOND, 0);
Calendar update = securedTaskBean.getUpdatedate();
update.set(Calendar.HOUR_OF_DAY, 0);
update.set(Calendar.MINUTE, 0);
update.set(Calendar.SECOND, 0);
update.set(Calendar.MILLISECOND, 0);
long l = now.getTimeInMillis() - update.getTimeInMillis();
return (int) (l / (24 * 60 * 60 * 1000));
} else return 0;
}
}