Merge tag 'v1_11_3(122)' into develop
Finish Frudis_calcoloQta
This commit is contained in:
commit
395b5abdab
@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services'
|
||||
|
||||
android {
|
||||
|
||||
def appVersionCode = 121
|
||||
def appVersionName = '1.11.2'
|
||||
def appVersionCode = 122
|
||||
def appVersionName = '1.11.3'
|
||||
|
||||
signingConfigs {
|
||||
release {
|
||||
|
||||
@ -95,7 +95,8 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
|
||||
MtbColr mtbColr = mMtbColt.getMtbColr().get(0);
|
||||
BigDecimal residuoCol = mtbColr.getQtaCol();
|
||||
BigDecimal residuoCnf = mtbColr.getNumCnf();
|
||||
BigDecimal offset = BigDecimal.ZERO.add(residuoCol);
|
||||
BigDecimal offsetCol = BigDecimal.ZERO.add(residuoCol);
|
||||
BigDecimal offsetCnf = BigDecimal.ZERO.add(residuoCnf);
|
||||
mtbColr.setQtaCnf(mtbColr.getQtaCol().divide(mtbColr.getNumCnf(),5,BigDecimal.ROUND_HALF_UP));
|
||||
|
||||
List<CheckableOrdineLavoro> ordiniSelezionati = getSelectedData();
|
||||
@ -103,23 +104,40 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
|
||||
for (CheckableOrdineLavoro c : ordiniSelezionati) {
|
||||
BigDecimal usedCol, usedCnf;
|
||||
float perc = (c.getItem().getOrdineLav().getHrNum() * 100) / totalHr;
|
||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().isFlagQtaCnfFissa())) {
|
||||
usedCnf = residuoCnf.multiply(BigDecimal.valueOf(perc)).divide(BigDecimal.valueOf(100)).setScale(0, BigDecimal.ROUND_CEILING);
|
||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().isFlagQtaCnfFissa()) ){
|
||||
usedCnf = residuoCnf.multiply(BigDecimal.valueOf(perc)).divide(BigDecimal.valueOf(100)).setScale(0, BigDecimal.ROUND_FLOOR);
|
||||
if (usedCnf.compareTo(BigDecimal.ZERO) <= 0 && offsetCnf.compareTo(BigDecimal.ZERO) > 0){
|
||||
usedCnf = BigDecimal.ONE;
|
||||
}
|
||||
usedCol = usedCnf.multiply(mtbColr.getQtaCnf()).setScale(0,BigDecimal.ROUND_FLOOR);
|
||||
} else {
|
||||
usedCol = residuoCol.multiply(BigDecimal.valueOf(perc)).divide(BigDecimal.valueOf(100)).setScale(0, BigDecimal.ROUND_FLOOR);
|
||||
usedCnf = usedCol.divide(mtbColr.getQtaCnf()).setScale(0, BigDecimal.ROUND_CEILING);
|
||||
if (usedCol.compareTo(BigDecimal.ZERO) <= 0 && offsetCol.compareTo(BigDecimal.ZERO) > 0){
|
||||
usedCol = BigDecimal.ONE;
|
||||
}
|
||||
usedCnf = usedCol.divide(mtbColr.getQtaCnf()).setScale(3, BigDecimal.ROUND_FLOOR);
|
||||
}
|
||||
offset = offset.subtract(usedCol);
|
||||
offsetCol = offsetCol.subtract(usedCol);
|
||||
offsetCnf = offsetCnf.subtract(usedCnf);
|
||||
c.setQtaCol(usedCol.floatValue());
|
||||
c.setNumCnf(usedCnf.floatValue());
|
||||
}
|
||||
if (ordiniSelezionati.size() > 0 && offset.floatValue() != 0) {
|
||||
if (ordiniSelezionati.size() > 0) {
|
||||
CheckableOrdineLavoro majorOrder = Stream.of(ordiniSelezionati).max((o1, o2) -> Integer.compare(o1.getItem().getOrdineLav().getHrNum(), o2.getItem().getOrdineLav().getHrNum())).get();
|
||||
if (majorOrder == null) {
|
||||
majorOrder = ordiniSelezionati.get(0);
|
||||
}
|
||||
majorOrder.setQtaCol(majorOrder.getQtaCol().get() + offset.floatValue());
|
||||
if (offsetCnf.floatValue() != 0 || offsetCol.floatValue() != 0){
|
||||
if ( SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().isFlagQtaCnfFissa())) {
|
||||
majorOrder.setNumCnf(majorOrder.getNumCnf().get() + offsetCnf.floatValue());
|
||||
majorOrder.setQtaCol(majorOrder.getQtaCol().get() + offsetCol.floatValue());
|
||||
} else {
|
||||
majorOrder.setQtaCol(majorOrder.getQtaCol().get() + offsetCol.floatValue());
|
||||
majorOrder.setNumCnf(majorOrder.getQtaCol().get() / mtbColr.getQtaCnf().floatValue());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user