Schedule2Part1Helper.java
package com.tradecloud.dto.duties;
import com.tradecloud.domain.duties.DutySchedule;
import com.tradecloud.domain.duties.DutyUnit;
import com.tradecloud.domain.duties.Schedule2Part1;
import com.tradecloud.tariffing.domain.AntiDumping;
import com.tradecloud.tariffing.domain.BaseTariff;
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Schedule2Part1Helper {
public static void populateSchedule2Part1(DutySchedule dutySchedule, BaseTariff baseTariff) {
Schedule2Part1 schedule2Part1 = (Schedule2Part1) dutySchedule;
setSchedule2Part1Duties(schedule2Part1, baseTariff);
}
private static void setSchedule2Part1Duties(Schedule2Part1 schedule2Part1, BaseTariff baseTariff) {
if (baseTariff instanceof AntiDumping) {
AntiDumping antiDumping = (AntiDumping) baseTariff;
String dutyDescription = antiDumping.getRateOfDuty().toLowerCase();
if (dutyDescription.contains("kg")){
String cents = dutyDescription. split("c")[0];
schedule2Part1.getDutyRate().getOtherDuty1().setValue(
new BigDecimal(TariffGeneralHelper.stringToDouble(cents)/ 100).setScale(5, RoundingMode.HALF_DOWN));
schedule2Part1.getDutyRate().getOtherDuty1().setUnit(DutyUnit.MASS_KG);
} else if(dutyDescription.contains("c/m")) {
String cents = dutyDescription. split("c")[0];
schedule2Part1.getDutyRate().getOtherDuty1().setValue(
new BigDecimal(TariffGeneralHelper.stringToDouble(cents)/ 100).setScale(5, RoundingMode.HALF_DOWN));
schedule2Part1.getDutyRate().getOtherDuty1().setUnit(DutyUnit.AREA_M2);
} else {
schedule2Part1.getDutyRate().setPercentage(TariffGeneralHelper.extractPercentage(dutyDescription));
}
schedule2Part1.setOriginatingPlace(antiDumping.getCountry());
schedule2Part1.setCalculationMethod(TariffGeneralHelper.getCalculationMethod(dutyDescription));
}
}
}