All pastes #2073129 Raw Edit

Miscellany

public java v1 · immutable
#2073129 ·published 2011-06-01 07:37 UTC
rendered paste body
package ru.softded.kem;import java.util.ArrayList;import java.util.List;import java.util.logging.Logger;import javax.jdo.PersistenceManager;import javax.jdo.Query;import org.joda.time.DateTime;import org.joda.time.DateTimeZone;import ru.softded.kem.model.EmployeeModel;import ru.softded.kem.model.TaskModel;public class ProgressTime {     List<TaskModel> taskList;    public List<EmployeeModel> go(String type) {        Integer t = Integer.parseInt(type);        PersistenceManager pm = PMF.get().getPersistenceManager();        Query empQuery = pm.newQuery(EmployeeModel.class);        empQuery.setFilter("type == 2");        List<EmployeeModel> empList = (List<EmployeeModel>) empQuery.execute();        taskList = (List<TaskModel>) pm.newQuery(TaskModel.class).execute();        for (EmployeeModel em : empList) {            String name = em.getThName();            Long dateLong = getTime(em.getId());            if (dateLong == 0) continue;            dateLong += getAverageTime(em.getId(), t);            DateTime date = new DateTime(getTime(em.getId()), DateTimeZone.UTC);            name += " " + date.getHourOfDay() + ":" + date.getMinuteOfHour();            em.setThName(name);            Logger.getLogger("").info(date.toString());        }                return empList;    }        private Long getTime(Long emp) {        List<TaskModel> task = getTaskByEmployee(emp);        Long summ = 0L;        for (TaskModel t : task) {            summ += getAverageTime(emp, t.getTaskType());        }        return summ;    }        private List<TaskModel> getTaskByEmployee(Long emp) {        List<TaskModel> list = new ArrayList<TaskModel>();        for (TaskModel t : taskList) {            if (t.getEmployee() == emp) {                list.add(t);            }        }        return list;    }        private Long getAverageTime(Long employee, Integer type) {        Long summ = 0L;        int i = 0;        for (TaskModel t : taskList) {            if (t.getEmployee() == employee && t.getTaskType() == type) {                if (t.getStartTime().getTime() != 1000000000 && t.getEndTime().getTime() != 1000000000) {                    i++;                    summ += t.getEndTime().getTime() - t.getStartTime().getTime();                }            }        }        if (i > 0) {            return summ/i;        } else {            return 0L;        }    }}