package pwc.taxtech.atms.dto.vatdto; import pwc.taxtech.atms.common.util.MyAsserts; import pwc.taxtech.atms.entity.Project; import pwc.taxtech.atms.exception.Exceptions; import pwc.taxtech.atms.vat.entity.PeriodCellTemplate; import pwc.taxtech.atms.vat.entity.PeriodCellTemplateConfig; import pwc.taxtech.atms.vat.entity.PeriodTemplate; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; public class PeriodResources { Project project; List<PeriodTemplate> periodTemplates = new ArrayList<>(); List<PeriodCellTemplate> periodCellTemplates = new ArrayList<>(); List<PeriodCellTemplateConfig> periodCellTemplateConfigs = new ArrayList<>(); public void setProject(Project project) { this.project = project; } public void putAllTemplate(List<PeriodTemplate> periodTemplates) { this.periodTemplates.addAll(periodTemplates); } public List<Long> getTemolateIds() { MyAsserts.assertNotEmpty(periodTemplates, Exceptions.NOT_FOUND_TEMPLATE_EXCEPTION); return periodTemplates.stream() .map(PeriodTemplate::getTemplateId) .collect(Collectors.toList()); } public void putAllCellTemplate(List<PeriodCellTemplate> periodCellTemplates) { this.periodCellTemplates.addAll(periodCellTemplates); } public void putAllCellTemplateConfig(List<PeriodCellTemplateConfig> periodCellTemplateConfigs) { this.periodCellTemplateConfigs.addAll(periodCellTemplateConfigs); } public Long getTemplateGroupId(){ return periodTemplates.get(0).getTemplateGroupId(); } public Project getProject() { return this.project; } public List<PeriodTemplate> getPeriodTemplates() { return this.periodTemplates; } public void setPeriodTemplates(List<PeriodTemplate> periodTemplates) { this.periodTemplates = periodTemplates; } public List<PeriodCellTemplate> getPeriodCellTemplates() { return this.periodCellTemplates; } public void setPeriodCellTemplates(List<PeriodCellTemplate> periodCellTemplates) { this.periodCellTemplates = periodCellTemplates; } public List<PeriodCellTemplateConfig> getPeriodCellTemplateConfigs() { return this.periodCellTemplateConfigs; } public void setPeriodCellTemplateConfigs(List<PeriodCellTemplateConfig> periodCellTemplateConfigs) { this.periodCellTemplateConfigs = periodCellTemplateConfigs; } }