5.0 Source Code

Committing 5.0 Source Code
This commit is contained in:
2023-04-06 18:58:04 +01:00
parent 0f3ede77fa
commit 0282345603
1680 changed files with 241310 additions and 0 deletions
@@ -0,0 +1,85 @@
// uniCenta oPOS - Touch Friendly Point Of Sale
// Copyright (c) 2009-2018 uniCenta & previous Openbravo POS works
// https://unicenta.com
//
// This file is part of uniCenta oPOS
//
// uniCenta oPOS is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// uniCenta oPOS is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
package com.unicenta.pos.inventory;
import com.unicenta.pos.panels.ComboItemLocal;
/**
*
* @author adrianromero
*/
public class MovementReason extends ComboItemLocal {
// IN values
public static final MovementReason IN_PURCHASE = new MovementReason(+1, "stock.in.purchase");
public static final MovementReason IN_REFUND = new MovementReason(+2, "stock.in.refund");
public static final MovementReason IN_MOVEMENT = new MovementReason(+4, "stock.in.movement");
// OUT values
public static final MovementReason OUT_SALE = new MovementReason(-1, "stock.out.sale");
public static final MovementReason OUT_REFUND = new MovementReason(-2, "stock.out.refund");
public static final MovementReason OUT_BREAK = new MovementReason(-3, "stock.out.break");
public static final MovementReason OUT_MOVEMENT = new MovementReason(-4, "stock.out.movement");
public static final MovementReason OUT_SAMPLE = new MovementReason(-5, "stock.out.sample");
public static final MovementReason OUT_FREE = new MovementReason(-6, "stock.out.free");
public static final MovementReason OUT_USED = new MovementReason(-7, "stock.out.used");
public static final MovementReason OUT_SUBTRACT = new MovementReason(-8, "stock.out.subtract");
// TRANSFER
public static final MovementReason OUT_CROSSING = new MovementReason(1000, "stock.out.crossing");
private MovementReason(Integer iKey, String sKeyValue) {
super(iKey, sKeyValue);
}
public boolean isInput() {
return m_iKey.intValue() > 0;
}
public Double samesignum(Double d) {
if (d == null || m_iKey == null) {
return d;
} else if ((m_iKey.intValue() > 0 && d.doubleValue() < 0.0) ||
(m_iKey.intValue() < 0 && d.doubleValue() > 0.0)) {
return -d.doubleValue();
} else {
return d;
}
}
/**
*
* @param dBuyPrice
* @param dSellPrice
* @return
*/
public Double getPrice(Double dBuyPrice, Double dSellPrice) {
if (this == IN_PURCHASE || this == OUT_REFUND || this == OUT_BREAK) {
return dBuyPrice;
} else if (this == OUT_SALE || this == IN_REFUND) {
return dSellPrice;
} else {
return null;
}
}
}