MatchingItemReader.java
1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package com.batch.config;
import java.util.List;
import java.util.Map;
import org.springframework.batch.core.configuration.annotation.StepScope;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import com.batch.config.MatchingSetup.Matching;
import com.batch.mapper.primary.MatchingInnerDelingMapper;
import com.batch.util.FileUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Component
@StepScope
@RequiredArgsConstructor
public class MatchingItemReader {
@Value("#{jobParameters}")
private final Map<String, String> params;
@Autowired
MatchingInnerDelingMapper matchingInnerDelingMapper;
/*
* 자기 상대 법인단위로 작업할 단위를 읽는다.
*/
public List<Map> customRead(){
log.debug("customRead.params : " + this.params.toString());
// customRead.params : {sysSe=KUMKANG, searchCond=mtch_ky is null, run.id=1, syncDate=2024-02-02-03-52-27:50deede8-ce3d-4841-ba65-f733bdd38533, jobType=F, accnutYm=202112}
String sMatchType = this.params.get("jobType");
StringBuffer sb = FileUtil.readFileToString("matchingSetup.json");
MatchingSetup matchingSetup = (MatchingSetup) FileUtil.strToObj(sb.toString(), MatchingSetup.class);
Matching matcning = matchingSetup.getMatching(sMatchType);
List<Map> retData = matchingInnerDelingMapper.getCustomItemReadData(this.params);
//레코드에 jobParameters 정보 추가
for (Map rec : retData) {
rec.put("jobParameters", this.params);
rec.put("matchingType", matcning);
}
log.debug(">> customRead >> " + FileUtil.objToStr(retData));
return retData;
}
}