Finish Frudis_calcoloQta
This commit is contained in:
commit
fe5e6f9141
@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services'
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
def appVersionCode = 121
|
def appVersionCode = 122
|
||||||
def appVersionName = '1.11.2'
|
def appVersionName = '1.11.3'
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
|
|||||||
@ -95,7 +95,8 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
|
|||||||
MtbColr mtbColr = mMtbColt.getMtbColr().get(0);
|
MtbColr mtbColr = mMtbColt.getMtbColr().get(0);
|
||||||
BigDecimal residuoCol = mtbColr.getQtaCol();
|
BigDecimal residuoCol = mtbColr.getQtaCol();
|
||||||
BigDecimal residuoCnf = mtbColr.getNumCnf();
|
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));
|
mtbColr.setQtaCnf(mtbColr.getQtaCol().divide(mtbColr.getNumCnf(),5,BigDecimal.ROUND_HALF_UP));
|
||||||
|
|
||||||
List<CheckableOrdineLavoro> ordiniSelezionati = getSelectedData();
|
List<CheckableOrdineLavoro> ordiniSelezionati = getSelectedData();
|
||||||
@ -103,23 +104,40 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
|
|||||||
for (CheckableOrdineLavoro c : ordiniSelezionati) {
|
for (CheckableOrdineLavoro c : ordiniSelezionati) {
|
||||||
BigDecimal usedCol, usedCnf;
|
BigDecimal usedCol, usedCnf;
|
||||||
float perc = (c.getItem().getOrdineLav().getHrNum() * 100) / totalHr;
|
float perc = (c.getItem().getOrdineLav().getHrNum() * 100) / totalHr;
|
||||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().isFlagQtaCnfFissa())) {
|
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);
|
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);
|
usedCol = usedCnf.multiply(mtbColr.getQtaCnf()).setScale(0,BigDecimal.ROUND_FLOOR);
|
||||||
} else {
|
} else {
|
||||||
usedCol = residuoCol.multiply(BigDecimal.valueOf(perc)).divide(BigDecimal.valueOf(100)).setScale(0, BigDecimal.ROUND_FLOOR);
|
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.setQtaCol(usedCol.floatValue());
|
||||||
c.setNumCnf(usedCnf.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();
|
CheckableOrdineLavoro majorOrder = Stream.of(ordiniSelezionati).max((o1, o2) -> Integer.compare(o1.getItem().getOrdineLav().getHrNum(), o2.getItem().getOrdineLav().getHrNum())).get();
|
||||||
if (majorOrder == null) {
|
if (majorOrder == null) {
|
||||||
majorOrder = ordiniSelezionati.get(0);
|
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