import ims.ocrr.vo.SpecimenContainerVo; //導入方法依賴的package包/類
private void addOrEditSpecimenContainerChildRow(DynamicGridRow row, DynamicGrid grid, OrderInvestigationVo voOrderInvestigation, SpecimenVo specimen, boolean bProfileProcessed, boolean bUsePaediatricContainer, SpecimenContainerVo specimenContainer, Float requiredVal)
{
if (specimenContainer == null)
{
engine.showMessage("Config Error - No Container specified");
return;
}
// WDEV-11747
if (specimenContainer.getVolumeIsNotNull())
requiredVal = specimenContainer.getVolume();
Float containerVal = specimenContainer.getSpecContainer().getVolume();
boolean isAddNew = row.getRows().size() == 0;
for (int i = 0; i < row.getRows().size(); i++)
{
DynamicGridRow childRow = row.getRows().get(i);
DynamicGridCell specimenCell = childRow.getCells().get(grid.getColumns().getByIdentifier(SPECIMENTYPE_COLUMN));
if (specimenCell.getIdentifier() != null && ((SpecimenContainerVo)specimenCell.getIdentifier()).getSpecContainer().equals(specimenContainer.getSpecContainer()))
{
editChildRow(grid, requiredVal, containerVal, childRow, voOrderInvestigation, bProfileProcessed);
isAddNew = false;
break;
}
else
{
isAddNew = true;
}
}
if (isAddNew == true)
{
addChildRow(row, grid, voOrderInvestigation, specimen, bUsePaediatricContainer, specimenContainer, containerVal, requiredVal);
}
// adding the orderinvestigation to the collection of
// orderinvestigations for the parent(OrderSpecimen) row
OrderSpecimenVo voOrderSpecimen = (OrderSpecimenVo) row.getValue();
// Test if the oder investigation is DFT
// Test if the investigation OrderSpecimen collection was created
if (voOrderInvestigation.getSpecimen() == null)
voOrderInvestigation.setSpecimen(new OrderSpecimenRefVoCollection());
voOrderInvestigation.getSpecimen().add(voOrderSpecimen);
voOrderSpecimen.getInvestigations().add(voOrderInvestigation);
voOrderSpecimen.setOrder(form.getLocalContext().getOcsOrder());
row.setValue(voOrderSpecimen);
// WDEV-11542 updating the total required for specimen
updateSpecimenRowTotal(row, grid);
}