Search in sources :

Example 6 with I_M_HU_LUTU_Configuration

use of de.metas.handlingunits.model.I_M_HU_LUTU_Configuration in project metasfresh-webui-api by metasfresh.

the class WEBUI_M_ReceiptSchedule_ReceiveHUs_Base method doIt.

@Override
@RunOutOfTrx
protected final String doIt() throws Exception {
    final I_M_ReceiptSchedule receiptSchedule = getM_ReceiptSchedule();
    final ReceiptScheduleHUGenerator huGenerator = ReceiptScheduleHUGenerator.newInstance(this).addM_ReceiptSchedule(receiptSchedule).setUpdateReceiptScheduleDefaultConfiguration(isUpdateReceiptScheduleDefaultConfiguration());
    // 
    // Get/Create the initial LU/TU configuration
    final I_M_HU_LUTU_Configuration lutuConfigurationOrig = getCurrentLUTUConfiguration(receiptSchedule);
    // 
    // Create the effective LU/TU configuration
    final I_M_HU_LUTU_Configuration lutuConfiguration = createM_HU_LUTU_Configuration(lutuConfigurationOrig);
    Services.get(ILUTUConfigurationFactory.class).save(lutuConfiguration);
    huGenerator.setM_HU_LUTU_Configuration(lutuConfiguration);
    // 
    // Calculate the target CUs that we want to allocate
    final ILUTUProducerAllocationDestination lutuProducer = huGenerator.getLUTUProducerAllocationDestination();
    final Quantity qtyCUsTotal = lutuProducer.calculateTotalQtyCU();
    if (qtyCUsTotal.isInfinite()) {
        throw new TerminalException("LU/TU configuration is resulting to infinite quantity: " + lutuConfiguration);
    }
    huGenerator.setQtyToAllocateTarget(qtyCUsTotal);
    // 
    // Generate the HUs
    final List<I_M_HU> hus = huGenerator.generateWithinOwnTransaction();
    openHUsToReceive(hus);
    return MSG_OK;
}
Also used : I_M_HU_LUTU_Configuration(de.metas.handlingunits.model.I_M_HU_LUTU_Configuration) I_M_HU(de.metas.handlingunits.model.I_M_HU) TerminalException(de.metas.adempiere.form.terminal.TerminalException) I_M_ReceiptSchedule(de.metas.handlingunits.model.I_M_ReceiptSchedule) Quantity(de.metas.quantity.Quantity) ILUTUConfigurationFactory(de.metas.handlingunits.allocation.ILUTUConfigurationFactory) ILUTUProducerAllocationDestination(de.metas.handlingunits.allocation.ILUTUProducerAllocationDestination) ReceiptScheduleHUGenerator(de.metas.handlingunits.receiptschedule.impl.ReceiptScheduleHUGenerator) RunOutOfTrx(de.metas.process.RunOutOfTrx)

Example 7 with I_M_HU_LUTU_Configuration

use of de.metas.handlingunits.model.I_M_HU_LUTU_Configuration in project metasfresh-webui-api by metasfresh.

the class WEBUI_M_ReceiptSchedule_ReceiveHUs_UsingDefaults method buildDefaultPackingInfo.

private String buildDefaultPackingInfo(final IProcessPreconditionsContext context) {
    final I_M_ReceiptSchedule receiptSchedule = context.getSelectedModel(I_M_ReceiptSchedule.class);
    if (receiptSchedule == null) {
        // no override
        return null;
    }
    final I_M_HU_LUTU_Configuration lutuConfig = getCurrentLUTUConfiguration(receiptSchedule);
    adjustLUTUConfiguration(lutuConfig, receiptSchedule);
    return HUPackingInfoFormatter.newInstance().setShowLU(// NOTE: don't show LU info because makes the whole label to long. see https://github.com/metasfresh/metasfresh-webui-frontend/issues/315#issuecomment-280624562
    false).format(HUPackingInfos.of(lutuConfig));
}
Also used : I_M_HU_LUTU_Configuration(de.metas.handlingunits.model.I_M_HU_LUTU_Configuration) I_M_ReceiptSchedule(de.metas.handlingunits.model.I_M_ReceiptSchedule)

Example 8 with I_M_HU_LUTU_Configuration

use of de.metas.handlingunits.model.I_M_HU_LUTU_Configuration in project metasfresh-webui-api by metasfresh.

the class WEBUI_M_ReceiptSchedule_ReceiveHUs_UsingDefaults method createM_HU_LUTU_Configuration.

@Override
protected I_M_HU_LUTU_Configuration createM_HU_LUTU_Configuration(final I_M_HU_LUTU_Configuration template) {
    final I_M_HU_LUTU_Configuration lutuConfigurationNew = InterfaceWrapperHelper.copy().setFrom(template).copyToNew(I_M_HU_LUTU_Configuration.class);
    adjustLUTUConfiguration(lutuConfigurationNew, getM_ReceiptSchedule());
    // NOTE: don't save it
    return lutuConfigurationNew;
}
Also used : I_M_HU_LUTU_Configuration(de.metas.handlingunits.model.I_M_HU_LUTU_Configuration)

Example 9 with I_M_HU_LUTU_Configuration

use of de.metas.handlingunits.model.I_M_HU_LUTU_Configuration in project metasfresh-webui-api by metasfresh.

the class WEBUI_M_ReceiptSchedule_ReceiveHUs_UsingConfig method getDefaultLUTUConfiguration.

private I_M_HU_LUTU_Configuration getDefaultLUTUConfiguration() {
    if (_defaultLUTUConfiguration == null) {
        final I_M_ReceiptSchedule receiptSchedule = getM_ReceiptSchedule();
        final I_M_HU_LUTU_Configuration defaultLUTUConfiguration = getCurrentLUTUConfiguration(receiptSchedule);
        adjustLUTUConfiguration(defaultLUTUConfiguration, receiptSchedule);
        _defaultLUTUConfiguration = defaultLUTUConfiguration;
    }
    return _defaultLUTUConfiguration;
}
Also used : I_M_HU_LUTU_Configuration(de.metas.handlingunits.model.I_M_HU_LUTU_Configuration) I_M_ReceiptSchedule(de.metas.handlingunits.model.I_M_ReceiptSchedule)

Example 10 with I_M_HU_LUTU_Configuration

use of de.metas.handlingunits.model.I_M_HU_LUTU_Configuration in project metasfresh-webui-api by metasfresh.

the class PPOrderLinesLoader method computePackingInfo.

private String computePackingInfo(@NonNull final I_PP_Order_BOMLine ppOrderBOMLine) {
    final IHUPPOrderBL huPPOrderBL = Services.get(IHUPPOrderBL.class);
    final I_M_HU_LUTU_Configuration lutuConfig = huPPOrderBL.createReceiptLUTUConfigurationManager(ppOrderBOMLine).getCreateLUTUConfiguration();
    return extractPackingInfoString(lutuConfig);
}
Also used : IHUPPOrderBL(de.metas.handlingunits.pporder.api.IHUPPOrderBL) I_M_HU_LUTU_Configuration(de.metas.handlingunits.model.I_M_HU_LUTU_Configuration)

Aggregations

I_M_HU_LUTU_Configuration (de.metas.handlingunits.model.I_M_HU_LUTU_Configuration)12 I_M_ReceiptSchedule (de.metas.handlingunits.model.I_M_ReceiptSchedule)3 IHUPPOrderBL (de.metas.handlingunits.pporder.api.IHUPPOrderBL)2 RunOutOfTrx (de.metas.process.RunOutOfTrx)2 BigDecimal (java.math.BigDecimal)2 FillMandatoryException (org.adempiere.exceptions.FillMandatoryException)2 TerminalException (de.metas.adempiere.form.terminal.TerminalException)1 IHUPIItemProductDAO (de.metas.handlingunits.IHUPIItemProductDAO)1 IHandlingUnitsDAO (de.metas.handlingunits.IHandlingUnitsDAO)1 ILUTUConfigurationFactory (de.metas.handlingunits.allocation.ILUTUConfigurationFactory)1 ILUTUProducerAllocationDestination (de.metas.handlingunits.allocation.ILUTUProducerAllocationDestination)1 I_M_HU (de.metas.handlingunits.model.I_M_HU)1 I_M_HU_PI (de.metas.handlingunits.model.I_M_HU_PI)1 I_M_HU_PI_Item (de.metas.handlingunits.model.I_M_HU_PI_Item)1 I_M_HU_PI_Item_Product (de.metas.handlingunits.model.I_M_HU_PI_Item_Product)1 I_M_HU_PI_Version (de.metas.handlingunits.model.I_M_HU_PI_Version)1 IPPOrderReceiptHUProducer (de.metas.handlingunits.pporder.api.IPPOrderReceiptHUProducer)1 ReceiptScheduleHUGenerator (de.metas.handlingunits.receiptschedule.impl.ReceiptScheduleHUGenerator)1 Quantity (de.metas.quantity.Quantity)1 PPOrderLineRow (de.metas.ui.web.pporder.PPOrderLineRow)1