package pwc.taxtech.atms.dto.vatdto; import pwc.taxtech.atms.common.util.MyAsserts; import pwc.taxtech.atms.entity.Project; import pwc.taxtech.atms.entity.Template; import pwc.taxtech.atms.exception.Exceptions; import pwc.taxtech.atms.vat.entity.PeriodJob; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.UUID; public class WrapPeriodJobDto { public static final String STATUS_BEGIN = "Begin"; public static final String STATUS_CANCEL = "Cancel"; public static final String STATUS_ERROR = "Error"; public static final String STATUS_END = "End"; public static final String STEP_UPDATE_CONFIG = "UpdateConfig"; public static PeriodJob createReportGenJob(String projectId, Integer period, List<Template> templates) { MyAsserts.assertNotEmpty(templates, Exceptions.NOT_FOUND_TEMPLATE_EXCEPTION); PeriodJob job = new PeriodJob(); job.setCreateTime(new Date()); job.setName("Gen All Report"); job.setProjectId(projectId); job.setPeriod(period); job.setId(UUID.randomUUID().toString()); job.setStatus(STATUS_BEGIN); job.setCurrentStep(STEP_UPDATE_CONFIG); StringBuilder builder = new StringBuilder(STEP_UPDATE_CONFIG); templates.forEach(m -> { builder.append(",").append(m.getCode()); }); job.setStepsCode(builder.toString()); return job; } }