ItEr40S22CUProcuraOrganizacionsTraballoItEr32S10: Modified work report behaviour to take into account that order elements code is now unique.
This commit is contained in:
parent
12c6e231ce
commit
c76d379f1a
6 changed files with 3 additions and 89 deletions
|
|
@ -59,16 +59,6 @@ public interface IOrderElementDAO extends IGenericDAO<OrderElement, Long> {
|
|||
public List<OrderElement> findParent(
|
||||
OrderElement orderElement);
|
||||
|
||||
/**
|
||||
* Returns the unique code that distinguishes an OrderElement (unique path
|
||||
* from root to OrderElement)
|
||||
*
|
||||
* @param orderElement must be attached
|
||||
* @return
|
||||
*/
|
||||
public String getDistinguishedCode(OrderElement orderElement)
|
||||
throws InstanceNotFoundException;
|
||||
|
||||
/**
|
||||
* Returns the number of assigned hours for an {@link OrderElement}
|
||||
*
|
||||
|
|
|
|||
|
|
@ -96,18 +96,6 @@ public class OrderElementDAO extends GenericDAOHibernate<OrderElement, Long>
|
|||
return ((List<OrderElement>) c.list());
|
||||
}
|
||||
|
||||
public String getDistinguishedCode(OrderElement orderElement)
|
||||
throws InstanceNotFoundException {
|
||||
String code = orderElement.getCode();
|
||||
|
||||
while (orderElement.getParent() != null) {
|
||||
OrderElement parent = find(orderElement.getParent().getId());
|
||||
code = parent.getCode() + "-" + code;
|
||||
orderElement = parent;
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public int getAssignedHours(OrderElement orderElement) {
|
||||
|
|
|
|||
|
|
@ -170,36 +170,6 @@ public class OrderElementDAOTest {
|
|||
assertFalse(list.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFindDistinguishedCode() {
|
||||
// Create OrderLineGroupLine
|
||||
OrderLineGroup orderLineGroup = createValidOrderLineGroup();
|
||||
orderElementDAO.save(orderLineGroup);
|
||||
orderLineGroup.setCode(((Long) orderLineGroup.getId()).toString());
|
||||
orderElementDAO.save(orderLineGroup);
|
||||
|
||||
// Create OrderLineGroup
|
||||
OrderLine orderLine = createValidOrderLine();
|
||||
orderElementDAO.save(orderLine);
|
||||
orderLine.setCode(((Long) orderLine.getId()).toString());
|
||||
orderLineGroup.add(orderLine);
|
||||
orderElementDAO.save(orderLine);
|
||||
|
||||
try {
|
||||
String distinguishedCode = orderElementDAO
|
||||
.getDistinguishedCode(orderLine);
|
||||
String code = orderLine.getCode();
|
||||
OrderElement orderElement = orderLine;
|
||||
while (orderElement.getParent() != null) {
|
||||
code = orderLine.getParent().getCode() + "-" + code;
|
||||
orderElement = orderElement.getParent();
|
||||
}
|
||||
assertTrue(distinguishedCode.equals(code));
|
||||
} catch (InstanceNotFoundException e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSaveOrderLineWithAdvanceAssignments()
|
||||
throws DuplicateValueTrueReportGlobalAdvanceException,
|
||||
|
|
|
|||
|
|
@ -76,15 +76,6 @@ public interface IWorkReportModel {
|
|||
*/
|
||||
Worker findWorker(String nif) throws InstanceNotFoundException;
|
||||
|
||||
/**
|
||||
* Returns distinguished code for {@link OrderElement}
|
||||
*
|
||||
* @param orderElement
|
||||
* @return
|
||||
*/
|
||||
String getDistinguishedCode(OrderElement orderElement)
|
||||
throws InstanceNotFoundException;
|
||||
|
||||
/**
|
||||
* Gets the current {@link WorkReport}.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -741,12 +741,7 @@ public class WorkReportCRUDController extends GenericForwardComposer implements
|
|||
@Override
|
||||
public String get() {
|
||||
if (workReportLine.getOrderElement() != null) {
|
||||
try {
|
||||
return workReportModel
|
||||
.getDistinguishedCode(workReportLine
|
||||
.getOrderElement());
|
||||
} catch (InstanceNotFoundException e) {
|
||||
}
|
||||
return workReportLine.getOrderElement().getCode();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
|
@ -1063,11 +1058,7 @@ public class WorkReportCRUDController extends GenericForwardComposer implements
|
|||
public String getCodeOrderElement() {
|
||||
if ((getWorkReport() != null)
|
||||
&& (getWorkReport().getOrderElement() != null)) {
|
||||
try {
|
||||
return workReportModel.getDistinguishedCode(getWorkReport()
|
||||
.getOrderElement());
|
||||
} catch (InstanceNotFoundException e) {
|
||||
}
|
||||
return getWorkReport().getOrderElement().getCode();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -220,17 +220,7 @@ public class WorkReportModel implements IWorkReportModel {
|
|||
@Transactional
|
||||
public OrderElement findOrderElement(String orderCode)
|
||||
throws InstanceNotFoundException {
|
||||
String[] parts = orderCode.split("-");
|
||||
|
||||
OrderElement parent = orderElementDAO.findUniqueByCodeAndParent(null,
|
||||
parts[0]);
|
||||
for (int i = 1; i < parts.length && parent != null; i++) {
|
||||
OrderElement child = orderElementDAO.findUniqueByCodeAndParent(
|
||||
parent, parts[i]);
|
||||
parent = child;
|
||||
}
|
||||
|
||||
return parent;
|
||||
return orderElementDAO.findUniqueByCode(orderCode);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -278,12 +268,6 @@ public class WorkReportModel implements IWorkReportModel {
|
|||
return editing;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public String getDistinguishedCode(OrderElement orderElement) throws InstanceNotFoundException {
|
||||
return orderElementDAO.getDistinguishedCode(orderElement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkReportLine addWorkReportLine() {
|
||||
WorkReportLine workReportLine = WorkReportLine.create();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue