ItEr35S08CUAsignacionCalendarioLaboralRecursoItEr25S09: Adding calendar property to order.
This commit is contained in:
parent
e83acbdccc
commit
5d5a71b990
6 changed files with 114 additions and 0 deletions
|
|
@ -26,6 +26,8 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
|
||||
import org.hibernate.validator.AssertTrue;
|
||||
import org.hibernate.validator.NotNull;
|
||||
import org.navalplanner.business.calendars.entities.BaseCalendar;
|
||||
import org.navalplanner.business.planner.entities.DayAssignment;
|
||||
import org.navalplanner.business.planner.entities.ResourceAllocation;
|
||||
import org.navalplanner.business.planner.entities.Task;
|
||||
|
|
@ -62,6 +64,9 @@ public class Order extends OrderLineGroup {
|
|||
|
||||
private Boolean dependenciesConstraintsHavePriority;
|
||||
|
||||
@NotNull
|
||||
private BaseCalendar calendar;
|
||||
|
||||
public String getResponsible() {
|
||||
return responsible;
|
||||
}
|
||||
|
|
@ -171,4 +176,12 @@ public class Order extends OrderLineGroup {
|
|||
this.dependenciesConstraintsHavePriority = dependenciesConstraintsHavePriority;
|
||||
}
|
||||
|
||||
public void setCalendar(BaseCalendar calendar) {
|
||||
this.calendar = calendar;
|
||||
}
|
||||
|
||||
public BaseCalendar getCalendar() {
|
||||
return calendar;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
<param name="enumClass">org.navalplanner.business.orders.entities.SchedulingState$Type</param>
|
||||
</type>
|
||||
</property>
|
||||
|
||||
<set name="directAdvanceAssignments" access="field" cascade="all,delete-orphan" inverse="true">
|
||||
<key column="DIRECT_ORDER_ELEMENT_ID" />
|
||||
<one-to-many class="org.navalplanner.business.advance.entities.DirectAdvanceAssignment" />
|
||||
|
|
@ -59,6 +60,10 @@
|
|||
<property name="responsible" access="field"></property>
|
||||
<property name="customer" access="field"></property>
|
||||
<property name="dependenciesConstraintsHavePriority" access="field"></property>
|
||||
|
||||
<many-to-one name="calendar" column="BASE_CALENDAR_ID" cascade="none"
|
||||
class="org.navalplanner.business.calendars.entities.BaseCalendar"/>
|
||||
|
||||
</joined-subclass>
|
||||
|
||||
</joined-subclass>
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ package org.navalplanner.web.orders;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.navalplanner.business.calendars.entities.BaseCalendar;
|
||||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.labels.entities.Label;
|
||||
import org.navalplanner.business.orders.entities.IOrderLineGroup;
|
||||
|
|
@ -84,4 +85,12 @@ public interface IOrderModel {
|
|||
|
||||
void setOrder(Order order);
|
||||
|
||||
List<BaseCalendar> getBaseCalendars();
|
||||
|
||||
BaseCalendar getDefaultCalendar();
|
||||
|
||||
BaseCalendar getCalendar();
|
||||
|
||||
void setCalendar(BaseCalendar calendar);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import java.util.List;
|
|||
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.hibernate.validator.InvalidValue;
|
||||
import org.navalplanner.business.calendars.entities.BaseCalendar;
|
||||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.orders.entities.IOrderLineGroup;
|
||||
import org.navalplanner.business.orders.entities.Order;
|
||||
|
|
@ -41,6 +42,9 @@ import org.springframework.beans.factory.config.BeanDefinition;
|
|||
import org.springframework.context.annotation.Scope;
|
||||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.util.GenericForwardComposer;
|
||||
import org.zkoss.zul.Combobox;
|
||||
import org.zkoss.zul.Comboitem;
|
||||
import org.zkoss.zul.ComboitemRenderer;
|
||||
import org.zkoss.zul.Label;
|
||||
import org.zkoss.zul.Messagebox;
|
||||
import org.zkoss.zul.Tab;
|
||||
|
|
@ -99,6 +103,8 @@ public class OrderCRUDController extends GenericForwardComposer {
|
|||
|
||||
private IOrderPlanningGate planningControllerEntryPoints;
|
||||
|
||||
private BaseCalendarsComboitemRenderer baseCalendarsComboitemRenderer = new BaseCalendarsComboitemRenderer();
|
||||
|
||||
@Override
|
||||
public void doAfterCompose(Component comp) throws Exception {
|
||||
super.doAfterCompose(comp);
|
||||
|
|
@ -330,4 +336,33 @@ public class OrderCRUDController extends GenericForwardComposer {
|
|||
this.onUp = onUp;
|
||||
}
|
||||
|
||||
public List<BaseCalendar> getBaseCalendars() {
|
||||
return orderModel.getBaseCalendars();
|
||||
}
|
||||
|
||||
public BaseCalendarsComboitemRenderer getBaseCalendarsComboitemRenderer() {
|
||||
return baseCalendarsComboitemRenderer;
|
||||
}
|
||||
|
||||
private class BaseCalendarsComboitemRenderer implements ComboitemRenderer {
|
||||
|
||||
@Override
|
||||
public void render(Comboitem item, Object data) throws Exception {
|
||||
BaseCalendar calendar = (BaseCalendar) data;
|
||||
item.setLabel(calendar.getName());
|
||||
item.setValue(calendar);
|
||||
|
||||
BaseCalendar current = orderModel.getCalendar();
|
||||
if ((current != null) && calendar.getId().equals(current.getId())) {
|
||||
Combobox combobox = (Combobox) item.getParent();
|
||||
combobox.setSelectedItem(item);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void setBaseCalendar(BaseCalendar calendar) {
|
||||
orderModel.setCalendar(calendar);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,6 +35,9 @@ import org.apache.commons.lang.Validate;
|
|||
import org.navalplanner.business.advance.entities.AdvanceMeasurement;
|
||||
import org.navalplanner.business.advance.entities.DirectAdvanceAssignment;
|
||||
import org.navalplanner.business.advance.entities.IndirectAdvanceAssignment;
|
||||
import org.navalplanner.business.calendars.daos.IBaseCalendarDAO;
|
||||
import org.navalplanner.business.calendars.entities.BaseCalendar;
|
||||
import org.navalplanner.business.common.daos.IConfigurationDAO;
|
||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.labels.daos.ILabelDAO;
|
||||
|
|
@ -103,6 +106,12 @@ public class OrderModel implements IOrderModel {
|
|||
@Autowired
|
||||
private ITaskElementDAO taskElementDAO;
|
||||
|
||||
@Autowired
|
||||
private IBaseCalendarDAO baseCalendarDAO;
|
||||
|
||||
@Autowired
|
||||
private IConfigurationDAO configurationDAO;
|
||||
|
||||
@Override
|
||||
public List<Label> getLabels() {
|
||||
final List<Label> result = new ArrayList<Label>();
|
||||
|
|
@ -151,6 +160,7 @@ public class OrderModel implements IOrderModel {
|
|||
this.orderElementTreeModel = new OrderElementTreeModel(this.order);
|
||||
forceLoadAdvanceAssignmentsAndMeasurements(this.order);
|
||||
forceLoadCriterionRequirements(this.order);
|
||||
forceLoadCalendar(this.getCalendar());
|
||||
}
|
||||
|
||||
private void initializeCacheLabels() {
|
||||
|
|
@ -235,6 +245,7 @@ public class OrderModel implements IOrderModel {
|
|||
this.order = Order.create();
|
||||
this.orderElementTreeModel = new OrderElementTreeModel(this.order);
|
||||
this.order.setInitDate(new Date());
|
||||
this.order.setCalendar(getDefaultCalendar());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -351,4 +362,38 @@ public class OrderModel implements IOrderModel {
|
|||
this.order = order;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public List<BaseCalendar> getBaseCalendars() {
|
||||
return baseCalendarDAO.getBaseCalendars();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public BaseCalendar getDefaultCalendar() {
|
||||
BaseCalendar defaultCalendar = configurationDAO.getConfiguration()
|
||||
.getDefaultCalendar();
|
||||
forceLoadCalendar(defaultCalendar);
|
||||
return defaultCalendar;
|
||||
}
|
||||
|
||||
private void forceLoadCalendar(BaseCalendar calendar) {
|
||||
calendar.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseCalendar getCalendar() {
|
||||
if (order == null) {
|
||||
return null;
|
||||
}
|
||||
return order.getCalendar();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCalendar(BaseCalendar calendar) {
|
||||
if (order != null) {
|
||||
order.setCalendar(calendar);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,6 +83,13 @@
|
|||
<checkbox
|
||||
checked="@{controller.order.dependenciesConstraintsHavePriority}" />
|
||||
</row>
|
||||
<row>
|
||||
<label value="${i18n:_('Calendar')}" />
|
||||
<combobox id="calendarCombobox"
|
||||
model="@{controller.baseCalendars}"
|
||||
itemRenderer="@{controller.baseCalendarsComboitemRenderer}"
|
||||
onSelect="controller.setBaseCalendar(self.selectedItem.value);" />
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</tabpanel>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue