Search in sources :

Example 6 with MDDOrderLine

use of org.eevolution.model.MDDOrderLine in project adempiere by adempiere.

the class MRP method createDDOrder.

protected void createDDOrder(int AD_Org_ID, int PP_MRP_ID, MProduct product, BigDecimal QtyPlanned, Timestamp DemandDateStartSchedule, String trxName) throws AdempiereException, SQLException {
    //TODO vpj-cd I need to create logic for DRP-040 Shipment Due  Action Notice
    //Indicates that a shipment for a Order Distribution is due. 
    // Action should be taken at the source warehouse to ensure that the order is received on time.
    //TODO vpj-cd I need to create logic for DRP-050 Shipment Pas Due  Action Notice
    //Indicates that a shipment for a Order Distribution is past due. You should either delay the orders created the requirement for the product 
    //or expedite them when the product does arrive.
    //Setting DRP Change net Update out the model validator
    MPPMRP.setIsRequired(m_product_planning, MPPProductPlanning.COLUMNNAME_IsRequiredDRP, false, trxName);
    if (m_product_planning.getDD_NetworkDistribution_ID() == 0) {
        //Indicates that the Product Planning Data for this product does not specify a valid network distribution.
        createMRPNote("DRP-060", AD_Org_ID, PP_MRP_ID, product, (String) null, null, null, trxName);
    }
    //TODO: Create functionality for Valid form and Valid To for an Network Distribution
    MDDNetworkDistribution network = MDDNetworkDistribution.get(getCtx(), m_product_planning.getDD_NetworkDistribution_ID());
    MDDNetworkDistributionLine[] network_lines = network.getLines(m_product_planning.getM_Warehouse_ID());
    int M_Shipper_ID = 0;
    MDDOrder order = null;
    Integer DD_Order_ID = 0;
    for (MDDNetworkDistributionLine network_line : network_lines) {
        if (network_line.getM_Shipper_ID() == 0) {
            String comment = Msg.translate(getCtx(), MDDNetworkDistribution.COLUMNNAME_Name) + " : " + network.getName();
            createMRPNote("DRP-030", AD_Org_ID, PP_MRP_ID, product, null, null, comment, trxName);
            continue;
        }
        //get supply source warehouse and locator
        MWarehouse source = new MWarehouse(getCtx(), network_line.getM_WarehouseSource_ID(), trxName);
        MLocator locator = MLocator.getDefault(source);
        if (locator == null || locator.getM_Locator_ID() <= 0) {
            String comment = Msg.translate(getCtx(), " @M_Locator_ID@ @Default@ @NotFound@ @To@ ") + source.getName();
            createMRPNote("DRP-001", AD_Org_ID, PP_MRP_ID, product, null, null, comment, trxName);
            continue;
        }
        //get supply target warehouse and locator
        MWarehouse target = new MWarehouse(getCtx(), network_line.getM_Warehouse_ID(), trxName);
        MLocator locator_to = MLocator.getDefault(target);
        if (locator_to == null || locator_to.getM_Locator_ID() <= 0) {
            String comment = Msg.translate(getCtx(), " @M_Locator_ID@ @Default@ @NotFound@ @To@ ") + source.getName();
            createMRPNote("DRP-001", AD_Org_ID, PP_MRP_ID, product, null, null, comment, trxName);
            continue;
        }
        //get the transfer time
        BigDecimal transferTime = network_line.getTransferTime();
        if (transferTime.compareTo(Env.ZERO) <= 0) {
            transferTime = m_product_planning.getTransferTime();
        }
        if (locator == null || locator_to == null) {
            String comment = Msg.translate(getCtx(), MDDNetworkDistributionLine.COLUMNNAME_M_WarehouseSource_ID) + " : " + source.getName();
            createMRPNote("DRP-001", AD_Org_ID, PP_MRP_ID, product, null, null, comment, trxName);
            continue;
        }
        //get the warehouse in transit
        MWarehouse[] wsts = MWarehouse.getInTransitForOrg(getCtx(), source.getAD_Org_ID());
        if (wsts == null || wsts.length == 0) {
            String comment = Msg.translate(getCtx(), MOrg.COLUMNNAME_Name) + " : " + MOrg.get(getCtx(), AD_Org_ID).getName();
            createMRPNote("DRP-010", AD_Org_ID, PP_MRP_ID, product, null, null, comment, trxName);
            continue;
        }
        if (M_Shipper_ID != network_line.getM_Shipper_ID()) {
            //Org Must be linked to BPartner
            MOrg org = MOrg.get(getCtx(), locator_to.getAD_Org_ID());
            int C_BPartner_ID = org.getLinkedC_BPartner_ID(trxName);
            if (C_BPartner_ID == 0) {
                String comment = Msg.translate(getCtx(), MOrg.COLUMNNAME_Name) + " : " + MOrg.get(getCtx(), AD_Org_ID).getName();
                createMRPNote("DRP-020", AD_Org_ID, PP_MRP_ID, product, null, null, comment, trxName);
                continue;
            }
            MBPartner bp = getBPartner(C_BPartner_ID);
            // Try found some order with Shipper , Business Partner and Doc Status = Draft 
            // Consolidate the demand in a single order for each Shipper , Business Partner , DemandDateStartSchedule
            DD_Order_ID = getDDOrder_ID(AD_Org_ID, wsts[0].get_ID(), network_line.getM_Shipper_ID(), bp.getC_BPartner_ID(), TimeUtil.getDay(DemandDateStartSchedule.getTime()), trxName);
            if (DD_Order_ID <= 0) {
                order = new MDDOrder(getCtx(), 0, trxName);
                order.setAD_Org_ID(target.getAD_Org_ID());
                order.setC_BPartner_ID(C_BPartner_ID);
                order.setAD_User_ID(bp.getPrimaryAD_User_ID());
                order.setC_DocType_ID(docTypeDO_ID);
                order.setM_Warehouse_ID(wsts[0].get_ID());
                order.setDocAction(MDDOrder.DOCACTION_Complete);
                order.setDateOrdered(TimeUtil.addDays(DemandDateStartSchedule, (m_product_planning.getDeliveryTime_Promised().add(transferTime)).negate().intValueExact()));
                order.setDatePromised(DemandDateStartSchedule);
                order.setM_Shipper_ID(network_line.getM_Shipper_ID());
                order.setIsInDispute(false);
                order.setIsInTransit(false);
                order.setSalesRep_ID(m_product_planning.getPlanner_ID());
                order.setProcessed(false);
                order.setProcessing(false);
                order.saveEx();
                order.addDescription(Msg.parseTranslation(getCtx(), "@DD_Order_ID@ @DocumentNo@ " + order.getDocumentNo() + " @Generate@ @from@ " + getName()));
                order.saveEx();
                DD_Order_ID = order.get_ID();
                String key = order.getAD_Org_ID() + "#" + order.getM_Warehouse_ID() + "#" + network_line.getM_Shipper_ID() + "#" + C_BPartner_ID + "#" + TimeUtil.getDay(DemandDateStartSchedule.getTime()) + "DR";
                dd_order_id_cache.put(key, DD_Order_ID);
            } else {
                order = new MDDOrder(getCtx(), DD_Order_ID, trxName);
            }
            M_Shipper_ID = network_line.getM_Shipper_ID();
        }
        BigDecimal QtyOrdered = QtyPlanned.multiply(network_line.getPercent()).divide(Env.ONEHUNDRED);
        MDDOrderLine oline = new MDDOrderLine(getCtx(), 0, trxName);
        oline.setDD_Order_ID(order.getDD_Order_ID());
        oline.setAD_Org_ID(target.getAD_Org_ID());
        oline.setM_Locator_ID(locator.getM_Locator_ID());
        oline.setM_LocatorTo_ID(locator_to.getM_Locator_ID());
        oline.setM_Product_ID(m_product_planning.getM_Product_ID());
        oline.setDateOrdered(order.getDateOrdered());
        oline.setDatePromised(DemandDateStartSchedule);
        oline.setQtyEntered(QtyOrdered);
        oline.setQtyOrdered(QtyOrdered);
        oline.setTargetQty(MPPMRP.getQtyReserved(getCtx(), target.getM_Warehouse_ID(), m_product_planning.getM_Product_ID(), DemandDateStartSchedule, trxName));
        oline.setIsInvoiced(false);
        oline.saveEx();
        // Set Correct Dates for Plan
        final String whereClause = MPPMRP.COLUMNNAME_DD_OrderLine_ID + "=?";
        List<MPPMRP> mrpList = new Query(getCtx(), MPPMRP.Table_Name, whereClause, trxName).setParameters(new Object[] { oline.getDD_OrderLine_ID() }).list();
        for (MPPMRP mrp : mrpList) {
            mrp.setDateOrdered(getToday());
            mrp.setDateOrdered(mrp.getDD_Order().getDateOrdered());
            mrp.setDateStartSchedule(mrp.getDateOrdered());
            mrp.setDatePromised(DemandDateStartSchedule);
            mrp.setDateFinishSchedule(DemandDateStartSchedule);
            mrp.saveEx();
            if (MPPMRP.TYPEMRP_Supply.equals(mrp.getTypeMRP()))
                supplies.put(mrp.get_ID(), mrp.getQty());
        }
        count_DO += 1;
    }
}
Also used : MDDNetworkDistributionLine(org.eevolution.model.MDDNetworkDistributionLine) Query(org.compiere.model.Query) MBPartner(org.compiere.model.MBPartner) MPPMRP(org.eevolution.model.MPPMRP) MWarehouse(org.compiere.model.MWarehouse) BigDecimal(java.math.BigDecimal) MDDNetworkDistribution(org.eevolution.model.MDDNetworkDistribution) MDDOrderLine(org.eevolution.model.MDDOrderLine) MOrg(org.compiere.model.MOrg) MLocator(org.compiere.model.MLocator) MDDOrder(org.eevolution.model.MDDOrder)

Example 7 with MDDOrderLine

use of org.eevolution.model.MDDOrderLine in project adempiere by adempiere.

the class MRPApproval method createDistributionOrder.

private MDDOrder createDistributionOrder(MPPMRP mrp) {
    MLocator locatorFrom = MLocator.get(mrp.getCtx(), getLocatorId());
    MLocator locatorTo = MLocator.get(mrp.getCtx(), getLocatorToId());
    int docTypeId = MPPMRP.getDocType(getCtx(), MDocType.DOCBASETYPE_DistributionOrder, locatorTo.getAD_Org_ID(), Env.getAD_User_ID(getCtx()), get_TrxName());
    MBPartner partner = MBPartner.get(mrp.getCtx(), getBusinessPartnerId());
    MDDOrder order = new MDDOrder(getCtx(), 0, get_TrxName());
    order.setAD_Org_ID(mrp.getAD_Org_ID());
    order.addDescription("Generated by MRP");
    order.setC_BPartner_ID(getBusinessPartnerId());
    order.setAD_User_ID(partner.getPrimaryAD_User_ID());
    order.setC_DocType_ID(docTypeId);
    order.setM_Warehouse_ID(getWarehouseinTransitId());
    if (getReferenceNo() != null)
        order.setPOReference(getReferenceNo());
    order.setDocStatus(MDDOrder.DOCSTATUS_Drafted);
    order.setDocAction(MDDOrder.DOCACTION_Complete);
    order.setDateOrdered(mrp.getDateFinishSchedule());
    order.setDatePromised(mrp.getDatePromised());
    order.setM_Shipper_ID(getShipperId());
    if (getPriority() != null)
        order.setPriorityRule(getPriority());
    order.setIsInDispute(false);
    order.setIsInTransit(false);
    order.setSalesRep_ID(mrp.getPlanner_ID());
    order.saveEx();
    MDDOrderLine orderLine = new MDDOrderLine(getCtx(), 0, get_TrxName());
    orderLine.setDD_Order_ID(order.getDD_Order_ID());
    orderLine.setAD_Org_ID(locatorTo.getAD_Org_ID());
    orderLine.setM_Locator_ID(locatorFrom.getM_Locator_ID());
    orderLine.setM_LocatorTo_ID(locatorTo.getM_Locator_ID());
    orderLine.setM_Product_ID(mrp.getM_Product_ID());
    orderLine.setDateOrdered(order.getDateOrdered());
    orderLine.setDatePromised(mrp.getDatePromised());
    orderLine.setQtyEntered(getSelectionAsBigDecimal(mrp.getPP_MRP_ID(), "MRP_" + MPPMRP.COLUMNNAME_Qty));
    orderLine.setQtyOrdered(getSelectionAsBigDecimal(mrp.getPP_MRP_ID(), "MRP_" + MPPMRP.COLUMNNAME_Qty));
    orderLine.setConfirmedQty(getSelectionAsBigDecimal(mrp.getPP_MRP_ID(), "DL_" + MDDOrderLine.COLUMNNAME_ConfirmedQty));
    orderLine.setTargetQty(MPPMRP.getQtyReserved(getCtx(), locatorTo.getM_Warehouse_ID(), mrp.getM_Product_ID(), mrp.getDateStartSchedule(), get_TrxName()));
    orderLine.setIsInvoiced(false);
    orderLine.saveEx();
    order.processIt(DocAction.ACTION_Prepare);
    order.saveEx();
    return order;
}
Also used : MDDOrderLine(org.eevolution.model.MDDOrderLine) MLocator(org.compiere.model.MLocator) MBPartner(org.compiere.model.MBPartner) MDDOrder(org.eevolution.model.MDDOrder)

Example 8 with MDDOrderLine

use of org.eevolution.model.MDDOrderLine in project adempiere by adempiere.

the class MRPSchedule method schedule.

// doIt
private void schedule(MPPMRP mrp) {
    if (!mrp.is_Changed())
        return;
    processRecords++;
    if (MPPMRP.ORDERTYPE_Forecast.equals(mrp.getOrderType())) {
        MForecastLine forecastLine = (MForecastLine) mrp.getM_ForecastLine();
        if (forecastLine != null) {
            forecastLine.setDatePromised(mrp.getDatePromised());
            forecastLine.setSalesRep_ID(mrp.getPlanner_ID());
            forecastLine.saveEx();
        }
    } else if (MPPMRP.ORDERTYPE_MaterialRequisition.equals(mrp.getOrderType())) {
        MRequisition requisition = (MRequisition) mrp.getM_Requisition();
        if (requisition != null) {
            requisition.setDateDoc(mrp.getDateStartSchedule());
            requisition.setDateRequired(mrp.getDatePromised());
            requisition.setAD_User_ID(mrp.getPlanner_ID());
            requisition.setPriorityRule(mrp.getPriority());
            requisition.saveEx();
        }
    } else if (MPPMRP.ORDERTYPE_ManufacturingOrder.equals(mrp.getOrderType())) {
        MPPOrder order = (MPPOrder) mrp.getPP_Order();
        if (order != null) {
            order.setDateStartSchedule(mrp.getDateStartSchedule());
            order.setDateFinishSchedule(mrp.getDateFinishSchedule());
            order.setDatePromised(mrp.getDatePromised());
            order.setPlanner_ID(mrp.getPlanner_ID());
            if (mrp.getPriority() != null)
                order.setPriorityRule(mrp.getPriority());
            order.setLine(lineNo);
            order.saveEx();
        }
    } else if (MPPMRP.ORDERTYPE_DistributionOrder.equals(mrp.getOrderType())) {
        MDDOrderLine orderLine = (MDDOrderLine) mrp.getDD_OrderLine();
        if (orderLine != null) {
            orderLine.setDateOrdered(mrp.getDateStartSchedule());
            orderLine.setDatePromised(mrp.getDatePromised());
            orderLine.saveEx();
            MDDOrder order = orderLine.getParent();
            order.setSalesRep_ID(mrp.getPlanner_ID());
            order.setPriorityRule(mrp.getPriority());
            order.saveEx();
        }
    } else if (MPPMRP.ORDERTYPE_SalesOrder.equals(mrp.getOrderType())) {
        MOrderLine orderLine = (MOrderLine) mrp.getC_OrderLine();
        if (orderLine != null) {
            orderLine.setDateOrdered(mrp.getDateStartSchedule());
            orderLine.setDatePromised(mrp.getDatePromised());
            orderLine.saveEx();
            MOrder order = orderLine.getParent();
            order.setSalesRep_ID(mrp.getPlanner_ID());
            order.setPriorityRule(mrp.getPriority());
            order.saveEx();
        }
    } else if (MPPMRP.ORDERTYPE_PurchaseOrder.equals(mrp.getOrderType())) {
        MOrderLine orderLine = (MOrderLine) mrp.getC_OrderLine();
        if (orderLine != null) {
            orderLine.setDateOrdered(mrp.getDateStartSchedule());
            orderLine.setDatePromised(mrp.getDatePromised());
            orderLine.saveEx();
            MOrder order = orderLine.getParent();
            order.setSalesRep_ID(mrp.getPlanner_ID());
            order.setPriorityRule(mrp.getPriority());
            order.saveEx();
        }
    }
}
Also used : MForecastLine(org.compiere.model.MForecastLine) MDDOrderLine(org.eevolution.model.MDDOrderLine) MOrder(org.compiere.model.MOrder) MDDOrder(org.eevolution.model.MDDOrder) MOrderLine(org.compiere.model.MOrderLine) MRequisition(org.compiere.model.MRequisition) MPPOrder(org.eevolution.model.MPPOrder)

Example 9 with MDDOrderLine

use of org.eevolution.model.MDDOrderLine in project adempiere by adempiere.

the class MRPApproval method executeDistributionOrderApproval.

private void executeDistributionOrderApproval(MPPMRP mrp) {
    MDDOrder order = (MDDOrder) mrp.getDD_Order();
    if (mrp.is_Changed()) {
        validateChanges(mrp, MPPMRP.COLUMNNAME_Priority, order, MDDOrder.COLUMNNAME_PriorityRule);
        order.saveEx();
        MDDOrderLine orderLine = (MDDOrderLine) mrp.getDD_OrderLine();
        orderLine.setQty(getSelectionAsBigDecimal(mrp.getPP_MRP_ID(), "MRP_" + MPPMRP.COLUMNNAME_Qty));
        Timestamp datePromised = getSelectionAsTimestamp(mrp.getPP_MRP_ID(), MDDOrder.COLUMNNAME_DatePromised);
        if (datePromised != null)
            orderLine.setDatePromised(datePromised);
        orderLine.saveEx();
    }
    if (getShipperId() > 0)
        order.setM_Shipper_ID(getShipperId());
    order.processIt(DocAction.ACTION_Prepare);
    order.saveEx();
}
Also used : MDDOrderLine(org.eevolution.model.MDDOrderLine) MDDOrder(org.eevolution.model.MDDOrder) Timestamp(java.sql.Timestamp)

Example 10 with MDDOrderLine

use of org.eevolution.model.MDDOrderLine in project adempiere by adempiere.

the class ReplenishReport method createDO.

//	Create Inventory Movements
/**
	 * 	Create Distribution Order
	 */
private void createDO() throws Exception {
    int noMoves = 0;
    String info = "";
    //
    MClient client = null;
    MDDOrder order = null;
    int M_Warehouse_ID = 0;
    int M_WarehouseSource_ID = 0;
    MWarehouse whSource = null;
    MWarehouse wh = null;
    X_T_Replenish[] replenishs = getReplenishDO("M_WarehouseSource_ID IS NOT NULL");
    for (X_T_Replenish replenish : replenishs) {
        if (whSource == null || whSource.getM_WarehouseSource_ID() != replenish.getM_WarehouseSource_ID())
            whSource = MWarehouse.get(getCtx(), replenish.getM_WarehouseSource_ID());
        if (wh == null || wh.getM_Warehouse_ID() != replenish.getM_Warehouse_ID())
            wh = MWarehouse.get(getCtx(), replenish.getM_Warehouse_ID());
        if (client == null || client.getAD_Client_ID() != whSource.getAD_Client_ID())
            client = MClient.get(getCtx(), whSource.getAD_Client_ID());
        //
        if (order == null || M_WarehouseSource_ID != replenish.getM_WarehouseSource_ID() || M_Warehouse_ID != replenish.getM_Warehouse_ID()) {
            M_WarehouseSource_ID = replenish.getM_WarehouseSource_ID();
            M_Warehouse_ID = replenish.getM_Warehouse_ID();
            order = new MDDOrder(getCtx(), 0, get_TrxName());
            order.setC_DocType_ID(p_C_DocType_ID);
            order.setDescription(Msg.getMsg(getCtx(), "Replenishment") + ": " + whSource.getName() + "->" + wh.getName());
            //	Set Org
            order.setAD_Org_ID(whSource.getAD_Org_ID());
            // Set Org Trx
            MOrg orgTrx = MOrg.get(getCtx(), wh.getAD_Org_ID());
            order.setAD_OrgTrx_ID(orgTrx.getAD_Org_ID());
            int C_BPartner_ID = orgTrx.getLinkedC_BPartner_ID(get_TrxName());
            if (C_BPartner_ID == 0)
                throw new AdempiereUserError(Msg.translate(getCtx(), "C_BPartner_ID") + " @FillMandatory@ ");
            MBPartner bp = new MBPartner(getCtx(), C_BPartner_ID, get_TrxName());
            // Set BPartner Link to Org
            order.setBPartner(bp);
            order.setDateOrdered(new Timestamp(System.currentTimeMillis()));
            //order.setDatePromised(DatePromised);
            order.setDeliveryRule(MDDOrder.DELIVERYRULE_Availability);
            order.setDeliveryViaRule(MDDOrder.DELIVERYVIARULE_Delivery);
            order.setPriorityRule(MDDOrder.PRIORITYRULE_Medium);
            order.setIsInDispute(false);
            order.setIsApproved(false);
            order.setIsDropShip(false);
            order.setIsDelivered(false);
            order.setIsInTransit(false);
            order.setIsPrinted(false);
            order.setIsSelected(false);
            order.setIsSOTrx(false);
            // Warehouse in Transit
            MWarehouse[] whsInTransit = MWarehouse.getForOrg(getCtx(), whSource.getAD_Org_ID());
            for (MWarehouse whInTransit : whsInTransit) {
                if (whInTransit.isInTransit())
                    order.setM_Warehouse_ID(whInTransit.getM_Warehouse_ID());
            }
            if (order.getM_Warehouse_ID() == 0)
                throw new AdempiereUserError("Warehouse inTransit is @FillMandatory@ ");
            if (!order.save())
                return;
            log.fine(order.toString());
            noMoves++;
            info += " - " + order.getDocumentNo();
        }
        //	To
        int M_LocatorTo_ID = wh.getDefaultLocator().getM_Locator_ID();
        int M_Locator_ID = whSource.getDefaultLocator().getM_Locator_ID();
        if (M_LocatorTo_ID == 0 || M_Locator_ID == 0)
            throw new AdempiereUserError(Msg.translate(getCtx(), "M_Locator_ID") + " @FillMandatory@ ");
        //	From: Look-up Storage
        /*MProduct product = MProduct.get(getCtx(), replenish.getM_Product_ID());
			MProductCategory pc = MProductCategory.get(getCtx(), product.getM_Product_Category_ID());
			String MMPolicy = pc.getMMPolicy();
			if (MMPolicy == null || MMPolicy.length() == 0)
				MMPolicy = client.getMMPolicy();
			//
			MStorage[] storages = MStorage.getWarehouse(getCtx(), 
				whSource.getM_Warehouse_ID(), replenish.getM_Product_ID(), 0, 0,
				true, null, 
				MClient.MMPOLICY_FiFo.equals(MMPolicy), get_TrxName());
			
			
			BigDecimal target = replenish.getQtyToOrder();
			for (int j = 0; j < storages.length; j++)
			{
				MStorage storage = storages[j];
				if (storage.getQtyOnHand().signum() <= 0)
					continue;
				BigDecimal moveQty = target;
				if (storage.getQtyOnHand().compareTo(moveQty) < 0)
					moveQty = storage.getQtyOnHand();
				//
				MDDOrderLine line = new MDDOrderLine(order);
				line.setM_Product_ID(replenish.getM_Product_ID());
				line.setQtyEntered(moveQty);
				if (replenish.getQtyToOrder().compareTo(moveQty) != 0)
					line.setDescription("Total: " + replenish.getQtyToOrder());
				line.setM_Locator_ID(storage.getM_Locator_ID());		//	from
				line.setM_AttributeSetInstance_ID(storage.getM_AttributeSetInstance_ID());
				line.setM_LocatorTo_ID(M_LocatorTo_ID);					//	to
				line.setM_AttributeSetInstanceTo_ID(storage.getM_AttributeSetInstance_ID());
				line.setIsInvoiced(false);
				line.saveEx();
				//
				target = target.subtract(moveQty);
				if (target.signum() == 0)
					break;
			}*/
        MDDOrderLine line = new MDDOrderLine(order);
        line.setM_Product_ID(replenish.getM_Product_ID());
        line.setQty(replenish.getQtyToOrder());
        if (replenish.getQtyToOrder().compareTo(replenish.getQtyToOrder()) != 0)
            line.setDescription("Total: " + replenish.getQtyToOrder());
        //	from
        line.setM_Locator_ID(M_Locator_ID);
        line.setM_AttributeSetInstance_ID(0);
        //	to
        line.setM_LocatorTo_ID(M_LocatorTo_ID);
        line.setM_AttributeSetInstanceTo_ID(0);
        line.setIsInvoiced(false);
        line.saveEx();
    }
    if (replenishs.length == 0) {
        m_info = "No Source Warehouse";
        log.warning(m_info);
    } else {
        m_info = "#" + noMoves + info;
        log.info(m_info);
    }
}
Also used : AdempiereUserError(org.compiere.util.AdempiereUserError) MBPartner(org.compiere.model.MBPartner) Timestamp(java.sql.Timestamp) MWarehouse(org.compiere.model.MWarehouse) MClient(org.compiere.model.MClient) MDDOrderLine(org.eevolution.model.MDDOrderLine) MOrg(org.compiere.model.MOrg) X_T_Replenish(org.compiere.model.X_T_Replenish) MDDOrder(org.eevolution.model.MDDOrder)

Aggregations

MDDOrderLine (org.eevolution.model.MDDOrderLine)15 MDDOrder (org.eevolution.model.MDDOrder)12 BigDecimal (java.math.BigDecimal)10 AdempiereException (org.adempiere.exceptions.AdempiereException)8 Timestamp (java.sql.Timestamp)7 MBPartner (org.compiere.model.MBPartner)6 MLocator (org.compiere.model.MLocator)6 MMovementLine (org.compiere.model.MMovementLine)5 MOrg (org.compiere.model.MOrg)5 MWarehouse (org.compiere.model.MWarehouse)5 MClient (org.compiere.model.MClient)4 MMovement (org.compiere.model.MMovement)4 MStorage (org.compiere.model.MStorage)4 List (java.util.List)3 MProduct (org.compiere.model.MProduct)3 Query (org.compiere.model.Query)3 ResultSet (java.sql.ResultSet)2 Properties (java.util.Properties)2 MDocType (org.compiere.model.MDocType)2 MOrderLine (org.compiere.model.MOrderLine)2