ChargementItemWriter.java
- package com.sintia.ffl.admin.optique.specifique.isea.writer;
- import com.sintia.ffl.admin.optique.specifique.isea.helpers.ModeleVerreIteHelper;
- import com.sintia.ffl.admin.optique.specifique.isea.helpers.SupplementVerreIteHelper;
- import com.sintia.ffl.admin.optique.specifique.isea.helpers.VerreSupplementAssoIteHelper;
- import com.sintia.ffl.admin.optique.specifique.isea.models.FabricantCSV;
- import com.sintia.ffl.admin.optique.specifique.isea.models.FournisseurCSV;
- import com.sintia.ffl.admin.optique.specifique.isea.models.SupplementCSV;
- import com.sintia.ffl.admin.optique.specifique.isea.models.VerreCSV;
- import com.sintia.ffl.admin.optique.specifique.isea.models.VerreSupplementAssoCSV;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.batch.core.ExitStatus;
- import org.springframework.batch.core.StepContribution;
- import org.springframework.batch.core.StepExecution;
- import org.springframework.batch.core.StepExecutionListener;
- import org.springframework.batch.core.configuration.annotation.StepScope;
- import org.springframework.batch.core.scope.context.ChunkContext;
- import org.springframework.batch.core.step.tasklet.Tasklet;
- import org.springframework.batch.repeat.RepeatStatus;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import java.util.Date;
- import java.util.List;
- @Component
- @StepScope
- @Slf4j
- public class ChargementItemWriter implements Tasklet, StepExecutionListener {
-
- @Autowired
- private ModeleVerreIteHelper modeleVerreHelper;
-
- @Autowired
- private SupplementVerreIteHelper supplementVerreIteHelper;
-
- @Autowired
- private VerreSupplementAssoIteHelper verreSupplementAssoIteHelper;
-
- List<VerreCSV> verreCSVList;
- List<SupplementCSV> supplementCSVList;
- List<VerreSupplementAssoCSV> verreSupplementAssoCSVList;
- List<FabricantCSV> fabricantCSVList;
- List<FournisseurCSV> fournisseurCSVList;
-
- @Override
- public void beforeStep(StepExecution stepExecution) {
- // Do nothing
- }
-
- @Override
- public ExitStatus afterStep(StepExecution stepExecution) {
- return ExitStatus.COMPLETED;
- }
-
- @Override
- public RepeatStatus execute(StepContribution stepContribution, ChunkContext chunkContext) throws Exception {
- log.info("ChargementItemWriter - execute()");
- Date date = (Date) stepContribution.getStepExecution().getJobExecution().getJobParameters().getParameters().get("scriptDate").getValue();
- log.info("Date : " + date);
- verreCSVList = (List<VerreCSV>) stepContribution.getStepExecution().getJobExecution().getExecutionContext().get("verres");
- log.info("verreCSVList.size() : " + verreCSVList.size());
- supplementCSVList = (List<SupplementCSV>) stepContribution.getStepExecution().getJobExecution().getExecutionContext().get("supplements");
- log.info("supplementCSVList.size() : " + supplementCSVList.size());
- verreSupplementAssoCSVList = (List<VerreSupplementAssoCSV>) stepContribution.getStepExecution().getJobExecution().getExecutionContext().get("verresupplements");
- log.info("verreSupplementAssoCSVList.size() : " + verreSupplementAssoCSVList.size());
- fabricantCSVList = (List<FabricantCSV>) stepContribution.getStepExecution().getJobExecution().getExecutionContext().get("fabricants");
- log.info("fabricantCSVList.size() : " + fabricantCSVList.size());
- fournisseurCSVList = (List<FournisseurCSV>) stepContribution.getStepExecution().getJobExecution().getExecutionContext().get("fournisseurs");
- log.info("fournisseurCSVList.size() : " + fournisseurCSVList.size());
- // Create and Write in DB Modeleverre
- log.info("Create and Write in DB Modeleverre");
- modeleVerreHelper.process(verreCSVList, verreSupplementAssoCSVList, fabricantCSVList.get(0).getCodeFabricant(),
- fournisseurCSVList.get(0).getCodeFournisseur(), date);
-
- // Create and Write in DB SupplementVerre
- log.info("Create and Write in DB SupplementVerre");
- supplementVerreIteHelper.process(supplementCSVList, fabricantCSVList.get(0).getCodeFabricant(),
- fournisseurCSVList.get(0).getCodeFournisseur(), date);
-
- // Create and Write in DB SupplementVerreAsso
- log.info("Create and Write in DB SupplementVerreAsso");
- verreSupplementAssoIteHelper.process(verreSupplementAssoCSVList, date);
- log.info("ChargementItemWriter - execute() - END");
- return RepeatStatus.FINISHED;
- }
-
- }