Commit 30bbef42a0db1669e40ab1f2bfdc8163e5e36053
1 parent
dec8d909
ai sub Matching 추가
실행시 추가로 자가및 상대법인 파라미터로 받을 수 있도록 추가
Showing
11 changed files
with
710 additions
and
15 deletions
Show diff stats
src/main/java/com/batch/config/MatchingAiSubProcessorAuto.java
0 → 100644
1 | +package com.batch.config; | ||
2 | + | ||
3 | +import java.math.BigDecimal; | ||
4 | +import java.math.MathContext; | ||
5 | +import java.math.RoundingMode; | ||
6 | +import java.text.SimpleDateFormat; | ||
7 | +import java.util.ArrayList; | ||
8 | +import java.util.Date; | ||
9 | +import java.util.HashMap; | ||
10 | +import java.util.List; | ||
11 | +import java.util.Map; | ||
12 | +import java.util.UUID; | ||
13 | + | ||
14 | +import com.batch.mapper.primary.MatchingInnerDelingMapper; | ||
15 | +import com.batch.util.StatisticsUtil; | ||
16 | + | ||
17 | +import lombok.RequiredArgsConstructor; | ||
18 | +import lombok.extern.slf4j.Slf4j; | ||
19 | + | ||
20 | +@Slf4j | ||
21 | +@RequiredArgsConstructor | ||
22 | +public class MatchingAiSubProcessorAuto { | ||
23 | + | ||
24 | + private final MatchingInnerDelingMapper matchingInnerDelingMapper; | ||
25 | + | ||
26 | + @SuppressWarnings("unchecked") | ||
27 | + public void process(Map paramRec, int iCmbnOwnCnt, int iCmbnTranCnt, int iStartOwn, int iStartTran) throws Exception { | ||
28 | + | ||
29 | + //Job Create Log | ||
30 | + UUID uuid = UUID.randomUUID(); | ||
31 | + HashMap<String, String> mt = new HashMap<String, String>(); | ||
32 | + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss"); | ||
33 | + String sDate = dateFormat.format(new Date()) + ":" + uuid.toString(); | ||
34 | + | ||
35 | + Map<String, Object> paramLog = new HashMap<String, Object>(); | ||
36 | + paramLog.put("user_job_id", sDate); | ||
37 | + paramLog.put("user_job_name", "AI Sub 조합매칭(" + paramRec.toString() + ",[" + iCmbnOwnCnt + "," + iStartOwn + "],[" + iCmbnTranCnt + "," + iStartTran + "])"); | ||
38 | + matchingInnerDelingMapper.createUserJob(paramLog); | ||
39 | + | ||
40 | + | ||
41 | + int iUpdated = 0; | ||
42 | + | ||
43 | + String sSysSe = (String) paramRec.get("sys_se"); | ||
44 | + String sAccnutYm = (String) paramRec.get("accnut_ym"); | ||
45 | + String sMtchTy = (String) paramRec.get("mtch_ty"); | ||
46 | + Long lngMtchKy = (Long) paramRec.get("mtch_ky"); | ||
47 | + String sCprCode = (String) paramRec.get("cpr_code"); | ||
48 | + String sPartCpr = (String) paramRec.get("partn_cpr"); | ||
49 | + String sConds = (String) paramRec.get("conds"); | ||
50 | + | ||
51 | + Integer iErrorRange = 0; | ||
52 | + if (paramRec.get("error_range") != null) iErrorRange = Integer.parseInt((String) paramRec.get("error_range")); | ||
53 | + | ||
54 | + //작업시작 | ||
55 | + Map<String, Object> mParam = new HashMap<String, Object>(); | ||
56 | + mParam.put("sysSe", sSysSe); | ||
57 | + mParam.put("accnutYm", sAccnutYm); | ||
58 | + mParam.put("mtchTy", sMtchTy); | ||
59 | + mParam.put("mtchKy", lngMtchKy); | ||
60 | + mParam.put("conds", sConds); | ||
61 | + | ||
62 | + //---------------------------------------------------------------------------- | ||
63 | + //자기법인 데이타 가져오기 | ||
64 | + mParam.put("cprCode", sCprCode); | ||
65 | + mParam.put("partnCpr", sPartCpr); | ||
66 | + List<Map> lMatchingDataOne = matchingInnerDelingMapper.getAiSubDataOne(mParam); | ||
67 | + | ||
68 | + //상대법인 데이타 가져오기 | ||
69 | + mParam.put("cprCode", sPartCpr); | ||
70 | + mParam.put("partnCpr", sCprCode); | ||
71 | + List<Map> lMatchingDataTwo = matchingInnerDelingMapper.getAiSubDataTwo(mParam); | ||
72 | + | ||
73 | + //Combination 데이타 만들기 | ||
74 | + List<Map> compResult = new ArrayList<Map>(); | ||
75 | + List<List<Map>> llMatchingDataOne = new ArrayList<List<Map>>(); | ||
76 | + List<List<Map>> llMatchingDataTwo = new ArrayList<List<Map>>(); | ||
77 | + | ||
78 | + int iEndOwn = lMatchingDataOne.size(); | ||
79 | + if (iCmbnOwnCnt == 2) { | ||
80 | + iEndOwn = iStartOwn + 1000; | ||
81 | + if (iEndOwn > lMatchingDataOne.size()) iEndOwn = lMatchingDataOne.size(); | ||
82 | + } | ||
83 | + if (iCmbnOwnCnt == 3) { | ||
84 | + iEndOwn = iStartOwn + 50; | ||
85 | + if (iEndOwn > lMatchingDataOne.size()) iEndOwn = lMatchingDataOne.size(); | ||
86 | + } | ||
87 | + if (iCmbnOwnCnt > 3) { | ||
88 | + iEndOwn = iStartOwn + 25; | ||
89 | + if (iEndOwn > lMatchingDataOne.size()) iEndOwn = lMatchingDataOne.size(); | ||
90 | + } | ||
91 | + | ||
92 | + int iEndTran = lMatchingDataTwo.size(); | ||
93 | + if (iCmbnTranCnt == 2) { | ||
94 | + iEndTran = iStartTran + 1000; | ||
95 | + if (iEndTran > lMatchingDataTwo.size()) iEndTran = lMatchingDataTwo.size(); | ||
96 | + } | ||
97 | + if (iCmbnTranCnt == 3) { | ||
98 | + iEndTran = iStartTran + 50; | ||
99 | + if (iEndTran > lMatchingDataTwo.size()) iEndTran = lMatchingDataTwo.size(); | ||
100 | + } | ||
101 | + if (iCmbnTranCnt > 3) { | ||
102 | + iEndTran = iStartTran + 25; | ||
103 | + if (iEndTran > lMatchingDataTwo.size()) iEndTran = lMatchingDataTwo.size(); | ||
104 | + } | ||
105 | + | ||
106 | + StatisticsUtil.reculsion(lMatchingDataOne, compResult, iStartOwn, iEndOwn, iCmbnOwnCnt, llMatchingDataOne); | ||
107 | + StatisticsUtil.reculsion(lMatchingDataTwo, compResult, iStartTran, iEndTran, iCmbnTranCnt, llMatchingDataTwo); | ||
108 | + | ||
109 | + //---------------------------------------------------------------------------- | ||
110 | + //자기법인 데이타를 맵으로 처리한다. | ||
111 | + Map<BigDecimal, List<List<Map>>> mMatchingDataOne = new HashMap<BigDecimal, List<List<Map>>>(); | ||
112 | + for (List<Map> curlMap : llMatchingDataOne) { | ||
113 | + BigDecimal bdKey = BigDecimal.ZERO; | ||
114 | + for(Map curMap : curlMap) { | ||
115 | + bdKey = bdKey.add((BigDecimal) curMap.get("delng_amt")); | ||
116 | + } | ||
117 | + List<List<Map>> curllMap = new ArrayList<List<Map>>(); | ||
118 | + if (mMatchingDataOne.containsKey(bdKey)) curllMap = mMatchingDataOne.get(bdKey); | ||
119 | + curllMap.add(curlMap); | ||
120 | + mMatchingDataOne.put(bdKey, curllMap); | ||
121 | + } | ||
122 | + | ||
123 | + //키를 Ceiling 처리하여 다시 작성 | ||
124 | + Map<BigDecimal, List<List<Map>>> mMatchingDataOneNew = new HashMap<BigDecimal, List<List<Map>>>(); | ||
125 | + for (BigDecimal bdKey : mMatchingDataOne.keySet()) { | ||
126 | + BigDecimal bdKeyNew = bdKey.setScale(iErrorRange, RoundingMode.HALF_UP); | ||
127 | + mMatchingDataOneNew.put(bdKeyNew, mMatchingDataOne.get(bdKey)); | ||
128 | + } | ||
129 | + mMatchingDataOne = mMatchingDataOneNew; | ||
130 | + | ||
131 | + //상대법인 데이타를 맵으로 처리한다. | ||
132 | + Map<BigDecimal, List<List<Map>>> mMatchingDataTwo = new HashMap<BigDecimal, List<List<Map>>>(); | ||
133 | + for (List<Map> curlMap : llMatchingDataTwo) { | ||
134 | + BigDecimal bdKey = BigDecimal.ZERO; | ||
135 | + for(Map curMap : curlMap) { | ||
136 | + bdKey = bdKey.add((BigDecimal) curMap.get("delng_amt")); | ||
137 | + } | ||
138 | + List<List<Map>> curllMap = new ArrayList<List<Map>>(); | ||
139 | + if (mMatchingDataTwo.containsKey(bdKey)) curllMap = mMatchingDataTwo.get(bdKey); | ||
140 | + curllMap.add(curlMap); | ||
141 | + mMatchingDataTwo.put(bdKey, curllMap); | ||
142 | + } | ||
143 | + | ||
144 | + //키를 Ceiling 처리하여 다시 작성 | ||
145 | + Map<BigDecimal, List<List<Map>>> mMatchingDataTwoNew = new HashMap<BigDecimal, List<List<Map>>>(); | ||
146 | + for (BigDecimal bdKey : mMatchingDataTwo.keySet()) { | ||
147 | + BigDecimal bdKeyNew = bdKey.setScale(iErrorRange, RoundingMode.HALF_UP); | ||
148 | + mMatchingDataTwoNew.put(bdKeyNew, mMatchingDataTwo.get(bdKey)); | ||
149 | + } | ||
150 | + mMatchingDataTwo = mMatchingDataTwoNew; | ||
151 | + | ||
152 | + //여기서 매칭 비교 | ||
153 | + //비교 lMatchingDataOne vs mMatchingDataTwo | ||
154 | + List<Map> lMatchingResultUpdate = new ArrayList<Map>(); //업데이트할 대상 | ||
155 | + | ||
156 | + int mtchNumber = 0; | ||
157 | + String mtchSys = "AUTO"; | ||
158 | + String mtchType = "AI_" + iCmbnOwnCnt + "_" + iCmbnTranCnt; | ||
159 | + String mtchTypeName = "자기(" + iCmbnOwnCnt + "건Sum), 상대(" + iCmbnTranCnt + "건Sum), 비교(금액)"; | ||
160 | + for (BigDecimal curKey : mMatchingDataOne.keySet()) { | ||
161 | + if (mMatchingDataTwo.containsKey(curKey)) { | ||
162 | + List<List<Map>> llMapOne = mMatchingDataOne.get(curKey); | ||
163 | + List<List<Map>> llMapTwo = mMatchingDataTwo.get(curKey); | ||
164 | + | ||
165 | + //위와 관련된 동일 레코드가 있는 리스트 삭제 | ||
166 | + for (int i=llMapOne.size()-1; i>=0;i--) { | ||
167 | + List<Map> curlMap = llMapOne.get(i); | ||
168 | + for (Map curMap : lMatchingResultUpdate) { | ||
169 | + int curIdx = curlMap.indexOf(curMap); | ||
170 | + if (curIdx != -1) { | ||
171 | + llMapOne.remove(i); | ||
172 | + break; | ||
173 | + } | ||
174 | + } | ||
175 | + } | ||
176 | + for (int i=llMapTwo.size()-1; i>=0;i--) { | ||
177 | + List<Map> curlMap = llMapTwo.get(i); | ||
178 | + for (Map curMap : lMatchingResultUpdate) { | ||
179 | + int curIdx = curlMap.indexOf(curMap); | ||
180 | + if (curIdx != -1) { | ||
181 | + llMapTwo.remove(i); | ||
182 | + break; | ||
183 | + } | ||
184 | + } | ||
185 | + } | ||
186 | + | ||
187 | + | ||
188 | + int iMin = Math.min(llMapOne.size(), llMapTwo.size()); | ||
189 | + if (iMin > 0) mtchNumber++; | ||
190 | + while (iMin > 0) { | ||
191 | + List<Map> curlMapOne = llMapOne.get(0); | ||
192 | + for (Map curMap : curlMapOne) { | ||
193 | + curMap.put("mtch_sys", mtchSys); | ||
194 | + curMap.put("mtch_ty", mtchType); | ||
195 | + curMap.put("mtch_ty_nm", mtchTypeName); | ||
196 | + curMap.put("mtch_ky", mtchNumber); | ||
197 | + lMatchingResultUpdate.add(curMap); | ||
198 | + } | ||
199 | + llMapOne.remove(0); | ||
200 | + | ||
201 | + List<Map> curlMapTwo = llMapTwo.get(0); | ||
202 | + for (Map curMap : curlMapTwo) { | ||
203 | + curMap.put("mtch_sys", mtchSys); | ||
204 | + curMap.put("mtch_ty", mtchType); | ||
205 | + curMap.put("mtch_ty_nm", mtchTypeName); | ||
206 | + curMap.put("mtch_ky", mtchNumber); | ||
207 | + lMatchingResultUpdate.add(curMap); | ||
208 | + } | ||
209 | + llMapTwo.remove(0); | ||
210 | + | ||
211 | + //위와 관련된 동일 레코드가 있는 리스트 삭제(추가 업데이트 목록) | ||
212 | + for (int i=llMapOne.size()-1; i>=0;i--) { | ||
213 | + List<Map> curlMap = llMapOne.get(i); | ||
214 | + for (Map curMap : curlMapOne) { | ||
215 | + int curIdx = curlMap.indexOf(curMap); | ||
216 | + if (curIdx != -1) { | ||
217 | + llMapOne.remove(i); | ||
218 | + break; | ||
219 | + } | ||
220 | + } | ||
221 | + } | ||
222 | + for (int i=llMapTwo.size()-1; i>=0;i--) { | ||
223 | + List<Map> curlMap = llMapTwo.get(i); | ||
224 | + for (Map curMap : curlMapTwo) { | ||
225 | + int curIdx = curlMap.indexOf(curMap); | ||
226 | + if (curIdx != -1) { | ||
227 | + llMapTwo.remove(i); | ||
228 | + break; | ||
229 | + } | ||
230 | + } | ||
231 | + } | ||
232 | + iMin = Math.min(llMapOne.size(), llMapTwo.size()); | ||
233 | + } | ||
234 | + } | ||
235 | + } | ||
236 | + | ||
237 | + //---------------------------------------------------------------------------- | ||
238 | + //여기서 결과 업데이트 | ||
239 | + iUpdated = 0; | ||
240 | + int limit = 1000; //1000건씩 batch | ||
241 | + List<Map> lUpdated = new ArrayList<Map>(); | ||
242 | + for (Map curMap : lMatchingResultUpdate) { | ||
243 | + lUpdated.add(curMap); | ||
244 | + if (lUpdated.size() == limit) { | ||
245 | + matchingInnerDelingMapper.setExtraResult(Map.of("itemList", lUpdated)); | ||
246 | + iUpdated = iUpdated + lUpdated.size(); | ||
247 | + lUpdated.clear(); | ||
248 | + } | ||
249 | + } | ||
250 | + if (lUpdated.size() > 0) { | ||
251 | + matchingInnerDelingMapper.setExtraResult(Map.of("itemList", lUpdated)); | ||
252 | + iUpdated = iUpdated + lUpdated.size(); | ||
253 | + } | ||
254 | + log.debug("Updated OrgData : " + iUpdated + "건"); | ||
255 | + | ||
256 | + //작업종료에 대한 로그 업데이트 | ||
257 | + paramLog.put("exit_code", "0"); | ||
258 | + paramLog.put("exit_message", ""); | ||
259 | + matchingInnerDelingMapper.finishUserJob(paramLog); | ||
260 | + | ||
261 | + } | ||
262 | + | ||
263 | +} | ||
0 | \ No newline at end of file | 264 | \ No newline at end of file |
src/main/java/com/batch/config/MatchingItemProcessorAuto.java
@@ -71,12 +71,14 @@ public class MatchingItemProcessorAuto implements ItemProcessor<Map, Map> { | @@ -71,12 +71,14 @@ public class MatchingItemProcessorAuto implements ItemProcessor<Map, Map> { | ||
71 | params.put("cprCode", item.get("cpr_code")); | 71 | params.put("cprCode", item.get("cpr_code")); |
72 | params.put("partnCpr", item.get("partn_cpr")); | 72 | params.put("partnCpr", item.get("partn_cpr")); |
73 | params.put("amtField", matching.getAmtField()); | 73 | params.put("amtField", matching.getAmtField()); |
74 | + params.put("currencyField", matching.getCurrencyField()); | ||
74 | params.put("cond", condOne.getCond() ); //조건리스트 | 75 | params.put("cond", condOne.getCond() ); //조건리스트 |
75 | List<Map> lMatchingDataOne = matchingInnerDelingMapper.getMatchingData(params); | 76 | List<Map> lMatchingDataOne = matchingInnerDelingMapper.getMatchingData(params); |
76 | 77 | ||
77 | //상대법인 데이타 가져오기 | 78 | //상대법인 데이타 가져오기 |
78 | params.put("cprCode", item.get("partn_cpr")); | 79 | params.put("cprCode", item.get("partn_cpr")); |
79 | params.put("partnCpr", item.get("cpr_code")); | 80 | params.put("partnCpr", item.get("cpr_code")); |
81 | + params.put("currencyField", matching.getCurrencyField()); | ||
80 | params.put("amtField", matching.getAmtField()); | 82 | params.put("amtField", matching.getAmtField()); |
81 | params.put("cond", condTwo.getCond() ); //조건리스트 | 83 | params.put("cond", condTwo.getCond() ); //조건리스트 |
82 | List<Map> lMatchingDataTwo = matchingInnerDelingMapper.getMatchingData(params); | 84 | List<Map> lMatchingDataTwo = matchingInnerDelingMapper.getMatchingData(params); |
src/main/java/com/batch/config/MatchingItemReader.java
@@ -32,7 +32,7 @@ public class MatchingItemReader { | @@ -32,7 +32,7 @@ public class MatchingItemReader { | ||
32 | */ | 32 | */ |
33 | public List<Map> customRead(){ | 33 | public List<Map> customRead(){ |
34 | log.debug("customRead.params : " + this.params.toString()); | 34 | log.debug("customRead.params : " + this.params.toString()); |
35 | - // 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} | 35 | + // customRead.params : {sysSe=KUMKANG, run.id=1, syncDate=2024-02-02-03-52-27:50deede8-ce3d-4841-ba65-f733bdd38533, jobType=F, accnutYm=202112} |
36 | String sMatchType = this.params.get("jobType"); | 36 | String sMatchType = this.params.get("jobType"); |
37 | StringBuffer sb = FileUtil.readFileToString("matchingSetup.json"); | 37 | StringBuffer sb = FileUtil.readFileToString("matchingSetup.json"); |
38 | MatchingSetup matchingSetup = (MatchingSetup) FileUtil.strToObj(sb.toString(), MatchingSetup.class); | 38 | MatchingSetup matchingSetup = (MatchingSetup) FileUtil.strToObj(sb.toString(), MatchingSetup.class); |
src/main/java/com/batch/config/MatchingSetup.java
@@ -20,6 +20,7 @@ public class MatchingSetup { | @@ -20,6 +20,7 @@ public class MatchingSetup { | ||
20 | List<String> uniqueKey; | 20 | List<String> uniqueKey; |
21 | String compareKey; | 21 | String compareKey; |
22 | List<String> compareField; | 22 | List<String> compareField; |
23 | + String currencyField; | ||
23 | String amtField; | 24 | String amtField; |
24 | String matchingType; | 25 | String matchingType; |
25 | String matchingTypeName; | 26 | String matchingTypeName; |
src/main/java/com/batch/controller/JobController.java
1 | package com.batch.controller; | 1 | package com.batch.controller; |
2 | 2 | ||
3 | +import java.math.BigDecimal; | ||
3 | import java.util.ArrayList; | 4 | import java.util.ArrayList; |
4 | import java.util.HashMap; | 5 | import java.util.HashMap; |
5 | import java.util.List; | 6 | import java.util.List; |
@@ -85,6 +86,8 @@ public class JobController { | @@ -85,6 +86,8 @@ public class JobController { | ||
85 | * { | 86 | * { |
86 | * "sysSe": "LS_ALL", | 87 | * "sysSe": "LS_ALL", |
87 | * "accnutYm": "202306", | 88 | * "accnutYm": "202306", |
89 | + * "cpr_code": "xxxxx", | ||
90 | + * "partn_cpr": "xxxxx", | ||
88 | * } | 91 | * } |
89 | */ | 92 | */ |
90 | //Job Create Log | 93 | //Job Create Log |
@@ -109,6 +112,8 @@ public class JobController { | @@ -109,6 +112,8 @@ public class JobController { | ||
109 | * { | 112 | * { |
110 | * "sysSe": "LS_ALL", | 113 | * "sysSe": "LS_ALL", |
111 | * "accnutYm": "202306", | 114 | * "accnutYm": "202306", |
115 | + * "cpr_code": "xxxxx", | ||
116 | + * "partn_cpr": "xxxxx", | ||
112 | * "searchOne": "dta_ty in ('11','21','31','33','35','37','41')", | 117 | * "searchOne": "dta_ty in ('11','21','31','33','35','37','41')", |
113 | * "searchTwo": "dta_ty in ('11','21','31','33','35','37','41')" | 118 | * "searchTwo": "dta_ty in ('11','21','31','33','35','37','41')" |
114 | * } | 119 | * } |
@@ -145,6 +150,44 @@ public class JobController { | @@ -145,6 +150,44 @@ public class JobController { | ||
145 | } | 150 | } |
146 | 151 | ||
147 | 152 | ||
153 | + @PostMapping("/aisubmatching") | ||
154 | + public Map<String, String> aiSubMatchingJob( @RequestBody Map<String, String> params) throws Exception { | ||
155 | + | ||
156 | + /* | ||
157 | + * { | ||
158 | + * "sysSe": "LS_ALL", | ||
159 | + * "accnutYm": "202306", | ||
160 | + * "mtch_ty": "AI_SLT" | ||
161 | + * "cpr_code": "xxxxx", | ||
162 | + * "partn_cpr": "xxxxx" | ||
163 | + * } | ||
164 | + */ | ||
165 | + //Job Create Log | ||
166 | + UUID uuid = UUID.randomUUID(); | ||
167 | + String sJobGroup = uuid.toString(); | ||
168 | + | ||
169 | + log.debug("Start AI Sub Matching Job"); | ||
170 | + List<Map> retData = matchingInnerDelingMapper.getAiSubReadData(params); | ||
171 | + | ||
172 | + //AI의 경우 수익비용만 매칭하고 있음 | ||
173 | + for(Map curMap : retData) { | ||
174 | + Map<String, String> cParams = new HashMap<String, String>(); | ||
175 | + cParams.putAll(params); | ||
176 | + cParams.putAll(curMap); | ||
177 | + cParams.put("conds", "T"); | ||
178 | + jobService.aiSubJobSub(sJobGroup, cParams); | ||
179 | + } | ||
180 | + | ||
181 | + log.debug("End Extra Matching Job"); | ||
182 | + | ||
183 | + Map<String, String> rtnMap = new HashMap<String, String>(); | ||
184 | + rtnMap.put("jobGroupId", sJobGroup); | ||
185 | + rtnMap.put("jobMessage", "Extra 매칭작업을 시작합니다. 작업이 끝난후 작업결과는 별도로 확인 바랍니다."); | ||
186 | + | ||
187 | + return rtnMap; | ||
188 | + } | ||
189 | + | ||
190 | + | ||
148 | @PostMapping("/aimatching") | 191 | @PostMapping("/aimatching") |
149 | public Map<String, String> aiMatchingJob( @RequestBody Map<String, String> params) throws Exception { | 192 | public Map<String, String> aiMatchingJob( @RequestBody Map<String, String> params) throws Exception { |
150 | 193 | ||
@@ -152,6 +195,9 @@ public class JobController { | @@ -152,6 +195,9 @@ public class JobController { | ||
152 | * { | 195 | * { |
153 | * "sysSe": "LS_ALL", | 196 | * "sysSe": "LS_ALL", |
154 | * "accnutYm": "202306", | 197 | * "accnutYm": "202306", |
198 | + * "cpr_code": "xxxxx", | ||
199 | + * "partn_cpr": "xxxxx", | ||
200 | + * "error_range": "0" | ||
155 | * } | 201 | * } |
156 | */ | 202 | */ |
157 | //Job Create Log | 203 | //Job Create Log |
@@ -161,7 +207,10 @@ public class JobController { | @@ -161,7 +207,10 @@ public class JobController { | ||
161 | log.debug("Start AI Matching Job"); | 207 | log.debug("Start AI Matching Job"); |
162 | List<Map> retData = matchingInnerDelingMapper.getAiReadData(params); | 208 | List<Map> retData = matchingInnerDelingMapper.getAiReadData(params); |
163 | for(Map curMap : retData) { | 209 | for(Map curMap : retData) { |
164 | - jobService.aiJobSub(sJobGroup, curMap); | 210 | + Map<String, Object> curMParams = new HashMap<String, Object>(); |
211 | + curMParams.putAll(curMap); | ||
212 | + curMParams.put("error_range", params.get("error_range")); | ||
213 | + jobService.aiJobSub(sJobGroup, curMParams); | ||
165 | } | 214 | } |
166 | log.debug("End AI Matching Job"); | 215 | log.debug("End AI Matching Job"); |
167 | 216 |
src/main/java/com/batch/mapper/primary/MatchingInnerDelingMapper.java
@@ -13,7 +13,6 @@ public interface MatchingInnerDelingMapper { | @@ -13,7 +13,6 @@ public interface MatchingInnerDelingMapper { | ||
13 | */ | 13 | */ |
14 | @SuppressWarnings("rawtypes") | 14 | @SuppressWarnings("rawtypes") |
15 | List<Map> getCustomItemReadData(Map param); | 15 | List<Map> getCustomItemReadData(Map param); |
16 | - | ||
17 | 16 | ||
18 | /** | 17 | /** |
19 | * 작업키 업데이트 (파라미터 : 자기데이타/상대데이타) | 18 | * 작업키 업데이트 (파라미터 : 자기데이타/상대데이타) |
@@ -168,5 +167,27 @@ public interface MatchingInnerDelingMapper { | @@ -168,5 +167,27 @@ public interface MatchingInnerDelingMapper { | ||
168 | */ | 167 | */ |
169 | @SuppressWarnings("rawtypes") | 168 | @SuppressWarnings("rawtypes") |
170 | List<Map> getUserJobStatus(Map param); | 169 | List<Map> getUserJobStatus(Map param); |
170 | + | ||
171 | + /* | ||
172 | + * AI Sub 작업리스트 | ||
173 | + */ | ||
174 | + @SuppressWarnings("rawtypes") | ||
175 | + List<Map> getAiSubReadData(Map param); | ||
176 | + | ||
177 | + /** | ||
178 | + * AI Sub matching을 위한 자료 조회 | ||
179 | + * @param param | ||
180 | + * @return | ||
181 | + */ | ||
182 | + @SuppressWarnings("rawtypes") | ||
183 | + List<Map> getAiSubDataOne(Map param); | ||
184 | + | ||
185 | + /** | ||
186 | + * AI Sub matching을 위한 자료 조회 | ||
187 | + * @param param | ||
188 | + * @return | ||
189 | + */ | ||
190 | + @SuppressWarnings("rawtypes") | ||
191 | + List<Map> getAiSubDataTwo(Map param); | ||
171 | 192 | ||
172 | } | 193 | } |
173 | \ No newline at end of file | 194 | \ No newline at end of file |
src/main/java/com/batch/service/JobService.java
1 | package com.batch.service; | 1 | package com.batch.service; |
2 | 2 | ||
3 | +import java.math.BigDecimal; | ||
3 | import java.text.SimpleDateFormat; | 4 | import java.text.SimpleDateFormat; |
4 | import java.util.ArrayList; | 5 | import java.util.ArrayList; |
5 | import java.util.Arrays; | 6 | import java.util.Arrays; |
@@ -12,6 +13,7 @@ import java.util.UUID; | @@ -12,6 +13,7 @@ import java.util.UUID; | ||
12 | import org.springframework.batch.core.BatchStatus; | 13 | import org.springframework.batch.core.BatchStatus; |
13 | import org.springframework.batch.core.Job; | 14 | import org.springframework.batch.core.Job; |
14 | import org.springframework.batch.core.JobExecution; | 15 | import org.springframework.batch.core.JobExecution; |
16 | +import org.springframework.batch.core.JobParameter; | ||
15 | import org.springframework.batch.core.JobParameters; | 17 | import org.springframework.batch.core.JobParameters; |
16 | import org.springframework.batch.core.JobParametersBuilder; | 18 | import org.springframework.batch.core.JobParametersBuilder; |
17 | import org.springframework.batch.core.JobParametersInvalidException; | 19 | import org.springframework.batch.core.JobParametersInvalidException; |
@@ -27,6 +29,7 @@ import org.springframework.stereotype.Service; | @@ -27,6 +29,7 @@ import org.springframework.stereotype.Service; | ||
27 | import org.zeroturnaround.exec.ProcessExecutor; | 29 | import org.zeroturnaround.exec.ProcessExecutor; |
28 | import org.zeroturnaround.exec.stream.LogOutputStream; | 30 | import org.zeroturnaround.exec.stream.LogOutputStream; |
29 | 31 | ||
32 | +import com.batch.config.MatchingAiSubProcessorAuto; | ||
30 | import com.batch.config.MatchingExtraProcessorAuto; | 33 | import com.batch.config.MatchingExtraProcessorAuto; |
31 | import com.batch.config.MatchingSetup; | 34 | import com.batch.config.MatchingSetup; |
32 | import com.batch.config.MatchingSetup.Matching; | 35 | import com.batch.config.MatchingSetup.Matching; |
@@ -160,8 +163,20 @@ public class JobService { | @@ -160,8 +163,20 @@ public class JobService { | ||
160 | matchingExtraProcessorAuto.process(paramRec, 1, 3, 0, i); | 163 | matchingExtraProcessorAuto.process(paramRec, 1, 3, 0, i); |
161 | } | 164 | } |
162 | for (int i=0; i<2000;i=i+50) { | 165 | for (int i=0; i<2000;i=i+50) { |
166 | + matchingExtraProcessorAuto.process(paramRec, 2, 3, 0, i); | ||
167 | + } | ||
168 | + for (int i=0; i<2000;i=i+50) { | ||
169 | + matchingExtraProcessorAuto.process(paramRec, 3, 3, 0, i); | ||
170 | + } | ||
171 | + for (int i=0; i<2000;i=i+50) { | ||
163 | matchingExtraProcessorAuto.process(paramRec, 3, 1, i, 0); | 172 | matchingExtraProcessorAuto.process(paramRec, 3, 1, i, 0); |
164 | } | 173 | } |
174 | + for (int i=0; i<2000;i=i+50) { | ||
175 | + matchingExtraProcessorAuto.process(paramRec, 3, 2, i, 0); | ||
176 | + } | ||
177 | + for (int i=0; i<2000;i=i+50) { | ||
178 | + matchingExtraProcessorAuto.process(paramRec, 3, 3, i, 0); | ||
179 | + } | ||
165 | 180 | ||
166 | //4건씩 매칭일 경우 최대 2000건 까지 | 181 | //4건씩 매칭일 경우 최대 2000건 까지 |
167 | for (int i=0; i<2000;i=i+25) { | 182 | for (int i=0; i<2000;i=i+25) { |
@@ -183,6 +198,79 @@ public class JobService { | @@ -183,6 +198,79 @@ public class JobService { | ||
183 | } | 198 | } |
184 | 199 | ||
185 | @SuppressWarnings("rawtypes") | 200 | @SuppressWarnings("rawtypes") |
201 | + @Async("extAsync") | ||
202 | + public void aiSubJobSub(String jobGroupId, Map paramRec) throws Exception { | ||
203 | + | ||
204 | + //Job Create Log | ||
205 | + UUID uuid = UUID.randomUUID(); | ||
206 | + HashMap<String, String> mt = new HashMap<String, String>(); | ||
207 | + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss"); | ||
208 | + String sDate = dateFormat.format(new Date()) + ":" + uuid.toString(); | ||
209 | + | ||
210 | + Map<String, Object> paramLog = new HashMap<String, Object>(); | ||
211 | + paramLog.put("user_job_group", jobGroupId); | ||
212 | + paramLog.put("user_job_id", sDate); | ||
213 | + paramLog.put("user_job_name", "AI Sub 매칭(" + paramRec.toString() + ")"); | ||
214 | + matchingInnerDelingMapper.createUserJob(paramLog); | ||
215 | + | ||
216 | + String sThreadName = Thread.currentThread().getName(); | ||
217 | + long startTime = System.currentTimeMillis(); | ||
218 | + log.info("AI Sub [" + sThreadName + "]Job Started : " + startTime); | ||
219 | + log.debug("AI Sub [" + sThreadName + "]params=" + paramRec.toString()); | ||
220 | + | ||
221 | + MatchingAiSubProcessorAuto matchingAiSubProcessorAuto = new MatchingAiSubProcessorAuto(matchingInnerDelingMapper); | ||
222 | + | ||
223 | + //2건씩 합산 매칭일 경우 최대 20000건 까지 | ||
224 | + for (int i=0; i<20000;i=i+1000) { | ||
225 | + matchingAiSubProcessorAuto.process(paramRec, 1, 2, 0, i); | ||
226 | + } | ||
227 | + for (int i=0; i<20000;i=i+1000) { | ||
228 | + matchingAiSubProcessorAuto.process(paramRec, 2, 1, i, 0); | ||
229 | + } | ||
230 | + for (int i=0; i<20000;i=i+1000) { | ||
231 | + matchingAiSubProcessorAuto.process(paramRec, 2, 2, i, i); | ||
232 | + } | ||
233 | + | ||
234 | + //3건씩 매칭일 경우 최대 2000건 까지 | ||
235 | + for (int i=0; i<2000;i=i+50) { | ||
236 | + matchingAiSubProcessorAuto.process(paramRec, 1, 3, 0, i); | ||
237 | + } | ||
238 | + for (int i=0; i<2000;i=i+50) { | ||
239 | + matchingAiSubProcessorAuto.process(paramRec, 2, 3, 0, i); | ||
240 | + } | ||
241 | + for (int i=0; i<2000;i=i+50) { | ||
242 | + matchingAiSubProcessorAuto.process(paramRec, 3, 3, 0, i); | ||
243 | + } | ||
244 | + for (int i=0; i<2000;i=i+50) { | ||
245 | + matchingAiSubProcessorAuto.process(paramRec, 3, 1, i, 0); | ||
246 | + } | ||
247 | + for (int i=0; i<2000;i=i+50) { | ||
248 | + matchingAiSubProcessorAuto.process(paramRec, 3, 2, i, 0); | ||
249 | + } | ||
250 | + for (int i=0; i<2000;i=i+50) { | ||
251 | + matchingAiSubProcessorAuto.process(paramRec, 3, 3, i, 0); | ||
252 | + } | ||
253 | + | ||
254 | + //4건씩 매칭일 경우 최대 2000건 까지 | ||
255 | + for (int i=0; i<2000;i=i+25) { | ||
256 | + matchingAiSubProcessorAuto.process(paramRec, 1, 4, 0, i); | ||
257 | + } | ||
258 | + for (int i=0; i<2000;i=i+25) { | ||
259 | + matchingAiSubProcessorAuto.process(paramRec, 4, 1, i, 0); | ||
260 | + } | ||
261 | + | ||
262 | + long endTime = System.currentTimeMillis(); | ||
263 | + log.info("AI Sub [" + sThreadName + "]Job Ended: " + endTime); | ||
264 | + log.info("AI Sub [" + sThreadName + "]Running Time : " + (endTime - startTime) + "ms"); | ||
265 | + | ||
266 | + //작업종료에 대한 로그 업데이트 | ||
267 | + paramLog.put("exit_code", "0"); | ||
268 | + paramLog.put("exit_message", ""); | ||
269 | + matchingInnerDelingMapper.finishUserJob(paramLog); | ||
270 | + | ||
271 | + } | ||
272 | + | ||
273 | + @SuppressWarnings("rawtypes") | ||
186 | @Async("aiAsync") | 274 | @Async("aiAsync") |
187 | public void aiJobSub(String jobGroupId, Map paramRec) throws Exception { | 275 | public void aiJobSub(String jobGroupId, Map paramRec) throws Exception { |
188 | 276 | ||
@@ -209,12 +297,13 @@ public class JobService { | @@ -209,12 +297,13 @@ public class JobService { | ||
209 | String sCprCode = (String) paramRec.get("cpr_code"); | 297 | String sCprCode = (String) paramRec.get("cpr_code"); |
210 | String sPartCpr = (String) paramRec.get("partn_cpr"); | 298 | String sPartCpr = (String) paramRec.get("partn_cpr"); |
211 | String sDelngCrncy = (String) paramRec.get("delng_crncy"); | 299 | String sDelngCrncy = (String) paramRec.get("delng_crncy"); |
300 | + String sErrorRange = (String) paramRec.get("error_range"); | ||
212 | 301 | ||
213 | String sThreadName = Thread.currentThread().getName(); | 302 | String sThreadName = Thread.currentThread().getName(); |
214 | 303 | ||
215 | log.debug("call python"); | 304 | log.debug("call python"); |
216 | new ProcessExecutor() | 305 | new ProcessExecutor() |
217 | - .command(sPythonPrg, sPythonAiTarget, sThreadName, sSysSe, sAccnutYm, sCprCode, sPartCpr, sDelngCrncy) | 306 | + .command(sPythonPrg, sPythonAiTarget, sThreadName, sSysSe, sAccnutYm, sCprCode, sPartCpr, sDelngCrncy, sErrorRange) |
218 | .redirectOutput(new LogOutputStream() { | 307 | .redirectOutput(new LogOutputStream() { |
219 | @Override | 308 | @Override |
220 | protected void processLine(String line) { | 309 | protected void processLine(String line) { |
@@ -242,14 +331,17 @@ public class JobService { | @@ -242,14 +331,17 @@ public class JobService { | ||
242 | HashMap<String, String> mt = new HashMap<String, String>(); | 331 | HashMap<String, String> mt = new HashMap<String, String>(); |
243 | SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss"); | 332 | SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss"); |
244 | final String date = dateFormat.format(new Date()) + ":" + uuid.toString(); | 333 | final String date = dateFormat.format(new Date()) + ":" + uuid.toString(); |
245 | - JobParameters jobParameters = new JobParametersBuilder() | ||
246 | - .addString("syncDate", date) | ||
247 | - .addString("jobType", jobType) | ||
248 | - .addString("sysSe", params.get("sysSe")) | ||
249 | - .addString("accnutYm", params.get("accnutYm")) | ||
250 | - .addString("searchCond", params.get("searchCond")) | ||
251 | - .toJobParameters(); | 334 | + JobParametersBuilder jobParametersBuilder = new JobParametersBuilder(); |
335 | + jobParametersBuilder | ||
336 | + .addString("syncDate", date) | ||
337 | + .addString("jobType", jobType) | ||
338 | + .addString("sysSe", params.get("sysSe")) | ||
339 | + .addString("accnutYm", params.get("accnutYm")); | ||
340 | + if (params.get("cpr_code") != null) jobParametersBuilder.addString("cpr_code", params.get("cpr_code")); | ||
341 | + if (params.get("partn_cpr") != null) jobParametersBuilder.addString("partn_cpr", params.get("partn_cpr")); | ||
252 | 342 | ||
343 | + JobParameters jobParameters = jobParametersBuilder.toJobParameters(); | ||
344 | + | ||
253 | var jobToStart = context.getBean(jobName, Job.class); | 345 | var jobToStart = context.getBean(jobName, Job.class); |
254 | JobExecution jobExe = jobLauncher.run(jobToStart, jobParameters); | 346 | JobExecution jobExe = jobLauncher.run(jobToStart, jobParameters); |
255 | 347 |
src/main/resources/application.properties
@@ -46,7 +46,7 @@ decorator.datasource.p6spy.enable-logging=true | @@ -46,7 +46,7 @@ decorator.datasource.p6spy.enable-logging=true | ||
46 | 46 | ||
47 | logging.level.root=info | 47 | logging.level.root=info |
48 | logging.level.com.batch=info | 48 | logging.level.com.batch=info |
49 | -logging.level.p6spy=debug | 49 | +logging.level.p6spy=off |
50 | 50 | ||
51 | #Thread Count 설정 | 51 | #Thread Count 설정 |
52 | thread.comm.count=10 | 52 | thread.comm.count=10 |
src/main/resources/matchingSetup.json
@@ -35,6 +35,7 @@ | @@ -35,6 +35,7 @@ | ||
35 | "sn" | 35 | "sn" |
36 | ], | 36 | ], |
37 | "compareKey": "compare_ky", | 37 | "compareKey": "compare_ky", |
38 | + "currencyField": "delng_crncy", | ||
38 | "amtField": "sum(delng_amt) as delng_amt", | 39 | "amtField": "sum(delng_amt) as delng_amt", |
39 | "compareField": [ | 40 | "compareField": [ |
40 | "accnut_ym", | 41 | "accnut_ym", |
@@ -81,6 +82,7 @@ | @@ -81,6 +82,7 @@ | ||
81 | "sn" | 82 | "sn" |
82 | ], | 83 | ], |
83 | "compareKey": "compare_ky", | 84 | "compareKey": "compare_ky", |
85 | + "currencyField": "delng_crncy", | ||
84 | "amtField": "sum(delng_amt) as delng_amt", | 86 | "amtField": "sum(delng_amt) as delng_amt", |
85 | "compareField": [ | 87 | "compareField": [ |
86 | "accnut_ym", | 88 | "accnut_ym", |
@@ -131,6 +133,7 @@ | @@ -131,6 +133,7 @@ | ||
131 | "sn" | 133 | "sn" |
132 | ], | 134 | ], |
133 | "compareKey": "compare_ky", | 135 | "compareKey": "compare_ky", |
136 | + "currencyField": "delng_crncy", | ||
134 | "amtField": "sum(delng_amt) as delng_amt", | 137 | "amtField": "sum(delng_amt) as delng_amt", |
135 | "compareField": [ | 138 | "compareField": [ |
136 | "accnut_ym", | 139 | "accnut_ym", |
@@ -176,6 +179,7 @@ | @@ -176,6 +179,7 @@ | ||
176 | "sn" | 179 | "sn" |
177 | ], | 180 | ], |
178 | "compareKey": "compare_ky", | 181 | "compareKey": "compare_ky", |
182 | + "currencyField": "delng_crncy", | ||
179 | "amtField": "sum(delng_amt) as delng_amt", | 183 | "amtField": "sum(delng_amt) as delng_amt", |
180 | "compareField": [ | 184 | "compareField": [ |
181 | "accnut_ym", | 185 | "accnut_ym", |
@@ -227,6 +231,7 @@ | @@ -227,6 +231,7 @@ | ||
227 | "sn" | 231 | "sn" |
228 | ], | 232 | ], |
229 | "compareKey": "compare_ky", | 233 | "compareKey": "compare_ky", |
234 | + "currencyField": "delng_crncy", | ||
230 | "amtField": "sum(delng_amt) as delng_amt", | 235 | "amtField": "sum(delng_amt) as delng_amt", |
231 | "compareField": [ | 236 | "compareField": [ |
232 | "accnut_ym", | 237 | "accnut_ym", |
@@ -271,6 +276,7 @@ | @@ -271,6 +276,7 @@ | ||
271 | "sn" | 276 | "sn" |
272 | ], | 277 | ], |
273 | "compareKey": "compare_ky", | 278 | "compareKey": "compare_ky", |
279 | + "currencyField": "delng_crncy", | ||
274 | "amtField": "sum(delng_amt) as delng_amt", | 280 | "amtField": "sum(delng_amt) as delng_amt", |
275 | "compareField": [ | 281 | "compareField": [ |
276 | "accnut_ym", | 282 | "accnut_ym", |
@@ -318,6 +324,7 @@ | @@ -318,6 +324,7 @@ | ||
318 | "sn" | 324 | "sn" |
319 | ], | 325 | ], |
320 | "compareKey": "compare_ky", | 326 | "compareKey": "compare_ky", |
327 | + "currencyField": "delng_crncy", | ||
321 | "amtField": "sum(delng_amt) as delng_amt", | 328 | "amtField": "sum(delng_amt) as delng_amt", |
322 | "compareField": [ | 329 | "compareField": [ |
323 | "accnut_ym", | 330 | "accnut_ym", |
@@ -359,6 +366,7 @@ | @@ -359,6 +366,7 @@ | ||
359 | "sn" | 366 | "sn" |
360 | ], | 367 | ], |
361 | "compareKey": "compare_ky", | 368 | "compareKey": "compare_ky", |
369 | + "currencyField": "delng_crncy", | ||
362 | "amtField": "sum(delng_amt) as delng_amt", | 370 | "amtField": "sum(delng_amt) as delng_amt", |
363 | "compareField": [ | 371 | "compareField": [ |
364 | "accnut_ym", | 372 | "accnut_ym", |
@@ -405,6 +413,7 @@ | @@ -405,6 +413,7 @@ | ||
405 | "sn" | 413 | "sn" |
406 | ], | 414 | ], |
407 | "compareKey": "compare_ky", | 415 | "compareKey": "compare_ky", |
416 | + "currencyField": "delng_crncy", | ||
408 | "amtField": "sum(delng_amt) as delng_amt", | 417 | "amtField": "sum(delng_amt) as delng_amt", |
409 | "compareField": [ | 418 | "compareField": [ |
410 | "accnut_ym", | 419 | "accnut_ym", |
@@ -446,6 +455,7 @@ | @@ -446,6 +455,7 @@ | ||
446 | "sn" | 455 | "sn" |
447 | ], | 456 | ], |
448 | "compareKey": "compare_ky", | 457 | "compareKey": "compare_ky", |
458 | + "currencyField": "delng_crncy", | ||
449 | "amtField": "sum(delng_amt) as delng_amt", | 459 | "amtField": "sum(delng_amt) as delng_amt", |
450 | "compareField": [ | 460 | "compareField": [ |
451 | "accnut_ym", | 461 | "accnut_ym", |
@@ -497,6 +507,7 @@ | @@ -497,6 +507,7 @@ | ||
497 | "sn" | 507 | "sn" |
498 | ], | 508 | ], |
499 | "compareKey": "compare_ky", | 509 | "compareKey": "compare_ky", |
510 | + "currencyField": "delng_crncy", | ||
500 | "amtField": "sum(delng_amt) as delng_amt", | 511 | "amtField": "sum(delng_amt) as delng_amt", |
501 | "compareField": [ | 512 | "compareField": [ |
502 | "accnut_ym", | 513 | "accnut_ym", |
@@ -540,6 +551,7 @@ | @@ -540,6 +551,7 @@ | ||
540 | "sn" | 551 | "sn" |
541 | ], | 552 | ], |
542 | "compareKey": "compare_ky", | 553 | "compareKey": "compare_ky", |
554 | + "currencyField": "delng_crncy", | ||
543 | "amtField": "sum(delng_amt) as delng_amt", | 555 | "amtField": "sum(delng_amt) as delng_amt", |
544 | "compareField": [ | 556 | "compareField": [ |
545 | "accnut_ym", | 557 | "accnut_ym", |
@@ -590,6 +602,7 @@ | @@ -590,6 +602,7 @@ | ||
590 | "sn" | 602 | "sn" |
591 | ], | 603 | ], |
592 | "compareKey": "compare_ky", | 604 | "compareKey": "compare_ky", |
605 | + "currencyField": "delng_crncy", | ||
593 | "amtField": "sum(delng_amt) as delng_amt", | 606 | "amtField": "sum(delng_amt) as delng_amt", |
594 | "compareField": [ | 607 | "compareField": [ |
595 | "accnut_ym", | 608 | "accnut_ym", |
@@ -635,6 +648,7 @@ | @@ -635,6 +648,7 @@ | ||
635 | "sn" | 648 | "sn" |
636 | ], | 649 | ], |
637 | "compareKey": "compare_ky", | 650 | "compareKey": "compare_ky", |
651 | + "currencyField": "delng_crncy", | ||
638 | "amtField": "sum(delng_amt) as delng_amt", | 652 | "amtField": "sum(delng_amt) as delng_amt", |
639 | "compareField": [ | 653 | "compareField": [ |
640 | "accnut_ym", | 654 | "accnut_ym", |
@@ -688,6 +702,7 @@ | @@ -688,6 +702,7 @@ | ||
688 | "sn" | 702 | "sn" |
689 | ], | 703 | ], |
690 | "compareKey": "compare_ky", | 704 | "compareKey": "compare_ky", |
705 | + "currencyField": "delng_crncy", | ||
691 | "amtField": "sum(delng_amt) as delng_amt", | 706 | "amtField": "sum(delng_amt) as delng_amt", |
692 | "compareField": [ | 707 | "compareField": [ |
693 | "accnut_ym", | 708 | "accnut_ym", |
@@ -733,6 +748,7 @@ | @@ -733,6 +748,7 @@ | ||
733 | "sn" | 748 | "sn" |
734 | ], | 749 | ], |
735 | "compareKey": "compare_ky", | 750 | "compareKey": "compare_ky", |
751 | + "currencyField": "delng_crncy", | ||
736 | "amtField": "sum(delng_amt) as delng_amt", | 752 | "amtField": "sum(delng_amt) as delng_amt", |
737 | "compareField": [ | 753 | "compareField": [ |
738 | "accnut_ym", | 754 | "accnut_ym", |
@@ -780,6 +796,7 @@ | @@ -780,6 +796,7 @@ | ||
780 | "sn" | 796 | "sn" |
781 | ], | 797 | ], |
782 | "compareKey": "compare_ky", | 798 | "compareKey": "compare_ky", |
799 | + "currencyField": "delng_crncy", | ||
783 | "amtField": "sum(delng_amt) as delng_amt", | 800 | "amtField": "sum(delng_amt) as delng_amt", |
784 | "compareField": [ | 801 | "compareField": [ |
785 | "accnut_ym", | 802 | "accnut_ym", |
@@ -827,6 +844,7 @@ | @@ -827,6 +844,7 @@ | ||
827 | "sn" | 844 | "sn" |
828 | ], | 845 | ], |
829 | "compareKey": "compare_ky", | 846 | "compareKey": "compare_ky", |
847 | + "currencyField": "delng_crncy", | ||
830 | "amtField": "sum(delng_amt) as delng_amt", | 848 | "amtField": "sum(delng_amt) as delng_amt", |
831 | "compareField": [ | 849 | "compareField": [ |
832 | "accnut_ym", | 850 | "accnut_ym", |
@@ -872,6 +890,7 @@ | @@ -872,6 +890,7 @@ | ||
872 | "sn" | 890 | "sn" |
873 | ], | 891 | ], |
874 | "compareKey": "compare_ky", | 892 | "compareKey": "compare_ky", |
893 | + "currencyField": "delng_crncy", | ||
875 | "amtField": "sum(delng_amt) as delng_amt", | 894 | "amtField": "sum(delng_amt) as delng_amt", |
876 | "compareField": [ | 895 | "compareField": [ |
877 | "accnut_ym", | 896 | "accnut_ym", |
@@ -917,6 +936,7 @@ | @@ -917,6 +936,7 @@ | ||
917 | "sn" | 936 | "sn" |
918 | ], | 937 | ], |
919 | "compareKey": "compare_ky", | 938 | "compareKey": "compare_ky", |
939 | + "currencyField": "delng_crncy", | ||
920 | "amtField": "sum(delng_amt) as delng_amt", | 940 | "amtField": "sum(delng_amt) as delng_amt", |
921 | "compareField": [ | 941 | "compareField": [ |
922 | "accnut_ym", | 942 | "accnut_ym", |
@@ -964,6 +984,7 @@ | @@ -964,6 +984,7 @@ | ||
964 | "sn" | 984 | "sn" |
965 | ], | 985 | ], |
966 | "compareKey": "compare_ky", | 986 | "compareKey": "compare_ky", |
987 | + "currencyField": "delng_crncy", | ||
967 | "amtField": "sum(delng_amt) as delng_amt", | 988 | "amtField": "sum(delng_amt) as delng_amt", |
968 | "compareField": [ | 989 | "compareField": [ |
969 | "accnut_ym", | 990 | "accnut_ym", |
@@ -1011,6 +1032,7 @@ | @@ -1011,6 +1032,7 @@ | ||
1011 | "sn" | 1032 | "sn" |
1012 | ], | 1033 | ], |
1013 | "compareKey": "compare_ky", | 1034 | "compareKey": "compare_ky", |
1035 | + "currencyField": "delng_crncy", | ||
1014 | "amtField": "sum(delng_amt) as delng_amt", | 1036 | "amtField": "sum(delng_amt) as delng_amt", |
1015 | "compareField": [ | 1037 | "compareField": [ |
1016 | "accnut_ym", | 1038 | "accnut_ym", |
@@ -1059,6 +1081,7 @@ | @@ -1059,6 +1081,7 @@ | ||
1059 | "sn" | 1081 | "sn" |
1060 | ], | 1082 | ], |
1061 | "compareKey": "compare_ky", | 1083 | "compareKey": "compare_ky", |
1084 | + "currencyField": "delng_crncy", | ||
1062 | "amtField": "sum(delng_amt) as delng_amt", | 1085 | "amtField": "sum(delng_amt) as delng_amt", |
1063 | "compareField": [ | 1086 | "compareField": [ |
1064 | "accnut_ym", | 1087 | "accnut_ym", |
@@ -1104,6 +1127,7 @@ | @@ -1104,6 +1127,7 @@ | ||
1104 | "sn" | 1127 | "sn" |
1105 | ], | 1128 | ], |
1106 | "compareKey": "compare_ky", | 1129 | "compareKey": "compare_ky", |
1130 | + "currencyField": "delng_crncy", | ||
1107 | "amtField": "sum(delng_amt) as delng_amt", | 1131 | "amtField": "sum(delng_amt) as delng_amt", |
1108 | "compareField": [ | 1132 | "compareField": [ |
1109 | "accnut_ym", | 1133 | "accnut_ym", |
@@ -1151,6 +1175,7 @@ | @@ -1151,6 +1175,7 @@ | ||
1151 | "sn" | 1175 | "sn" |
1152 | ], | 1176 | ], |
1153 | "compareKey": "compare_ky", | 1177 | "compareKey": "compare_ky", |
1178 | + "currencyField": "delng_crncy", | ||
1154 | "amtField": "sum(delng_amt) as delng_amt", | 1179 | "amtField": "sum(delng_amt) as delng_amt", |
1155 | "compareField": [ | 1180 | "compareField": [ |
1156 | "accnut_ym", | 1181 | "accnut_ym", |
@@ -1196,6 +1221,7 @@ | @@ -1196,6 +1221,7 @@ | ||
1196 | "sn" | 1221 | "sn" |
1197 | ], | 1222 | ], |
1198 | "compareKey": "compare_ky", | 1223 | "compareKey": "compare_ky", |
1224 | + "currencyField": "delng_crncy", | ||
1199 | "amtField": "sum(delng_amt) as delng_amt", | 1225 | "amtField": "sum(delng_amt) as delng_amt", |
1200 | "compareField": [ | 1226 | "compareField": [ |
1201 | "accnut_ym", | 1227 | "accnut_ym", |
@@ -1241,6 +1267,7 @@ | @@ -1241,6 +1267,7 @@ | ||
1241 | "sn" | 1267 | "sn" |
1242 | ], | 1268 | ], |
1243 | "compareKey": "compare_ky", | 1269 | "compareKey": "compare_ky", |
1270 | + "currencyField": "delng_crncy", | ||
1244 | "amtField": "sum(delng_amt) as delng_amt", | 1271 | "amtField": "sum(delng_amt) as delng_amt", |
1245 | "compareField": [ | 1272 | "compareField": [ |
1246 | "accnut_ym", | 1273 | "accnut_ym", |
@@ -1286,6 +1313,7 @@ | @@ -1286,6 +1313,7 @@ | ||
1286 | "sn" | 1313 | "sn" |
1287 | ], | 1314 | ], |
1288 | "compareKey": "compare_ky", | 1315 | "compareKey": "compare_ky", |
1316 | + "currencyField": "delng_crncy", | ||
1289 | "amtField": "sum(delng_amt) as delng_amt", | 1317 | "amtField": "sum(delng_amt) as delng_amt", |
1290 | "compareField": [ | 1318 | "compareField": [ |
1291 | "accnut_ym", | 1319 | "accnut_ym", |
@@ -1333,6 +1361,7 @@ | @@ -1333,6 +1361,7 @@ | ||
1333 | "sn" | 1361 | "sn" |
1334 | ], | 1362 | ], |
1335 | "compareKey": "compare_ky", | 1363 | "compareKey": "compare_ky", |
1364 | + "currencyField": "delng_crncy", | ||
1336 | "amtField": "sum(delng_amt) as delng_amt", | 1365 | "amtField": "sum(delng_amt) as delng_amt", |
1337 | "compareField": [ | 1366 | "compareField": [ |
1338 | "accnut_ym", | 1367 | "accnut_ym", |
@@ -1378,6 +1407,7 @@ | @@ -1378,6 +1407,7 @@ | ||
1378 | "sn" | 1407 | "sn" |
1379 | ], | 1408 | ], |
1380 | "compareKey": "compare_ky", | 1409 | "compareKey": "compare_ky", |
1410 | + "currencyField": "delng_crncy", | ||
1381 | "amtField": "sum(delng_amt) as delng_amt", | 1411 | "amtField": "sum(delng_amt) as delng_amt", |
1382 | "compareField": [ | 1412 | "compareField": [ |
1383 | "accnut_ym", | 1413 | "accnut_ym", |
@@ -1426,6 +1456,7 @@ | @@ -1426,6 +1456,7 @@ | ||
1426 | "sn" | 1456 | "sn" |
1427 | ], | 1457 | ], |
1428 | "compareKey": "compare_ky", | 1458 | "compareKey": "compare_ky", |
1459 | + "currencyField": "delng_crncy", | ||
1429 | "amtField": "sum(delng_amt) as delng_amt", | 1460 | "amtField": "sum(delng_amt) as delng_amt", |
1430 | "compareField": [ | 1461 | "compareField": [ |
1431 | "accnut_ym", | 1462 | "accnut_ym", |
@@ -1470,6 +1501,7 @@ | @@ -1470,6 +1501,7 @@ | ||
1470 | "sn" | 1501 | "sn" |
1471 | ], | 1502 | ], |
1472 | "compareKey": "compare_ky", | 1503 | "compareKey": "compare_ky", |
1504 | + "currencyField": "delng_crncy", | ||
1473 | "amtField": "sum(delng_amt) as delng_amt", | 1505 | "amtField": "sum(delng_amt) as delng_amt", |
1474 | "compareField": [ | 1506 | "compareField": [ |
1475 | "accnut_ym", | 1507 | "accnut_ym", |
@@ -1514,6 +1546,7 @@ | @@ -1514,6 +1546,7 @@ | ||
1514 | "sn" | 1546 | "sn" |
1515 | ], | 1547 | ], |
1516 | "compareKey": "compare_ky", | 1548 | "compareKey": "compare_ky", |
1549 | + "currencyField": "delng_crncy", | ||
1517 | "amtField": "sum(delng_amt) as delng_amt", | 1550 | "amtField": "sum(delng_amt) as delng_amt", |
1518 | "compareField": [ | 1551 | "compareField": [ |
1519 | "accnut_ym", | 1552 | "accnut_ym", |
@@ -1558,6 +1591,7 @@ | @@ -1558,6 +1591,7 @@ | ||
1558 | "sn" | 1591 | "sn" |
1559 | ], | 1592 | ], |
1560 | "compareKey": "compare_ky", | 1593 | "compareKey": "compare_ky", |
1594 | + "currencyField": "delng_crncy", | ||
1561 | "amtField": "sum(delng_amt) as delng_amt", | 1595 | "amtField": "sum(delng_amt) as delng_amt", |
1562 | "compareField": [ | 1596 | "compareField": [ |
1563 | "accnut_ym", | 1597 | "accnut_ym", |
@@ -1602,6 +1636,7 @@ | @@ -1602,6 +1636,7 @@ | ||
1602 | "sn" | 1636 | "sn" |
1603 | ], | 1637 | ], |
1604 | "compareKey": "compare_ky", | 1638 | "compareKey": "compare_ky", |
1639 | + "currencyField": "delng_crncy", | ||
1605 | "amtField": "sum(delng_amt) as delng_amt", | 1640 | "amtField": "sum(delng_amt) as delng_amt", |
1606 | "compareField": [ | 1641 | "compareField": [ |
1607 | "accnut_ym", | 1642 | "accnut_ym", |
@@ -1646,6 +1681,7 @@ | @@ -1646,6 +1681,7 @@ | ||
1646 | "sn" | 1681 | "sn" |
1647 | ], | 1682 | ], |
1648 | "compareKey": "compare_ky", | 1683 | "compareKey": "compare_ky", |
1684 | + "currencyField": "delng_crncy", | ||
1649 | "amtField": "sum(delng_amt) as delng_amt", | 1685 | "amtField": "sum(delng_amt) as delng_amt", |
1650 | "compareField": [ | 1686 | "compareField": [ |
1651 | "accnut_ym", | 1687 | "accnut_ym", |
@@ -1693,6 +1729,7 @@ | @@ -1693,6 +1729,7 @@ | ||
1693 | "sn" | 1729 | "sn" |
1694 | ], | 1730 | ], |
1695 | "compareKey": "compare_ky", | 1731 | "compareKey": "compare_ky", |
1732 | + "currencyField": "delng_crncy", | ||
1696 | "amtField": "sum(delng_amt) as delng_amt", | 1733 | "amtField": "sum(delng_amt) as delng_amt", |
1697 | "compareField": [ | 1734 | "compareField": [ |
1698 | "accnut_ym", | 1735 | "accnut_ym", |
@@ -1737,6 +1774,7 @@ | @@ -1737,6 +1774,7 @@ | ||
1737 | "sn" | 1774 | "sn" |
1738 | ], | 1775 | ], |
1739 | "compareKey": "compare_ky", | 1776 | "compareKey": "compare_ky", |
1777 | + "currencyField": "delng_crncy", | ||
1740 | "amtField": "sum(delng_amt) as delng_amt", | 1778 | "amtField": "sum(delng_amt) as delng_amt", |
1741 | "compareField": [ | 1779 | "compareField": [ |
1742 | "accnut_ym", | 1780 | "accnut_ym", |
@@ -1781,6 +1819,7 @@ | @@ -1781,6 +1819,7 @@ | ||
1781 | "sn" | 1819 | "sn" |
1782 | ], | 1820 | ], |
1783 | "compareKey": "compare_ky", | 1821 | "compareKey": "compare_ky", |
1822 | + "currencyField": "delng_crncy", | ||
1784 | "amtField": "sum(delng_amt) as delng_amt", | 1823 | "amtField": "sum(delng_amt) as delng_amt", |
1785 | "compareField": [ | 1824 | "compareField": [ |
1786 | "accnut_ym", | 1825 | "accnut_ym", |
@@ -1825,6 +1864,7 @@ | @@ -1825,6 +1864,7 @@ | ||
1825 | "sn" | 1864 | "sn" |
1826 | ], | 1865 | ], |
1827 | "compareKey": "compare_ky", | 1866 | "compareKey": "compare_ky", |
1867 | + "currencyField": "delng_crncy", | ||
1828 | "amtField": "sum(delng_amt) as delng_amt", | 1868 | "amtField": "sum(delng_amt) as delng_amt", |
1829 | "compareField": [ | 1869 | "compareField": [ |
1830 | "accnut_ym", | 1870 | "accnut_ym", |
@@ -1869,6 +1909,7 @@ | @@ -1869,6 +1909,7 @@ | ||
1869 | "sn" | 1909 | "sn" |
1870 | ], | 1910 | ], |
1871 | "compareKey": "compare_ky", | 1911 | "compareKey": "compare_ky", |
1912 | + "currencyField": "delng_crncy", | ||
1872 | "amtField": "sum(delng_amt) as delng_amt", | 1913 | "amtField": "sum(delng_amt) as delng_amt", |
1873 | "compareField": [ | 1914 | "compareField": [ |
1874 | "accnut_ym", | 1915 | "accnut_ym", |
@@ -1913,6 +1954,7 @@ | @@ -1913,6 +1954,7 @@ | ||
1913 | "sn" | 1954 | "sn" |
1914 | ], | 1955 | ], |
1915 | "compareKey": "compare_ky", | 1956 | "compareKey": "compare_ky", |
1957 | + "currencyField": "delng_crncy", | ||
1916 | "amtField": "sum(delng_amt) as delng_amt", | 1958 | "amtField": "sum(delng_amt) as delng_amt", |
1917 | "compareField": [ | 1959 | "compareField": [ |
1918 | "accnut_ym", | 1960 | "accnut_ym", |
@@ -1962,6 +2004,7 @@ | @@ -1962,6 +2004,7 @@ | ||
1962 | "sn" | 2004 | "sn" |
1963 | ], | 2005 | ], |
1964 | "compareKey": "compare_ky", | 2006 | "compareKey": "compare_ky", |
2007 | + "currencyField": "delng_crncy", | ||
1965 | "amtField": "sum(delng_amt) as delng_amt", | 2008 | "amtField": "sum(delng_amt) as delng_amt", |
1966 | "compareField": [ | 2009 | "compareField": [ |
1967 | "accnut_ym", | 2010 | "accnut_ym", |
@@ -2007,6 +2050,7 @@ | @@ -2007,6 +2050,7 @@ | ||
2007 | "sn" | 2050 | "sn" |
2008 | ], | 2051 | ], |
2009 | "compareKey": "compare_ky", | 2052 | "compareKey": "compare_ky", |
2053 | + "currencyField": "delng_crncy", | ||
2010 | "amtField": "sum(delng_amt) as delng_amt", | 2054 | "amtField": "sum(delng_amt) as delng_amt", |
2011 | "compareField": [ | 2055 | "compareField": [ |
2012 | "accnut_ym", | 2056 | "accnut_ym", |
@@ -2052,6 +2096,7 @@ | @@ -2052,6 +2096,7 @@ | ||
2052 | "sn" | 2096 | "sn" |
2053 | ], | 2097 | ], |
2054 | "compareKey": "compare_ky", | 2098 | "compareKey": "compare_ky", |
2099 | + "currencyField": "delng_crncy", | ||
2055 | "amtField": "sum(delng_amt) as delng_amt", | 2100 | "amtField": "sum(delng_amt) as delng_amt", |
2056 | "compareField": [ | 2101 | "compareField": [ |
2057 | "accnut_ym", | 2102 | "accnut_ym", |
@@ -2097,6 +2142,7 @@ | @@ -2097,6 +2142,7 @@ | ||
2097 | "sn" | 2142 | "sn" |
2098 | ], | 2143 | ], |
2099 | "compareKey": "compare_ky", | 2144 | "compareKey": "compare_ky", |
2145 | + "currencyField": "delng_crncy", | ||
2100 | "amtField": "sum(delng_amt) as delng_amt", | 2146 | "amtField": "sum(delng_amt) as delng_amt", |
2101 | "compareField": [ | 2147 | "compareField": [ |
2102 | "accnut_ym", | 2148 | "accnut_ym", |
@@ -2143,6 +2189,7 @@ | @@ -2143,6 +2189,7 @@ | ||
2143 | "sn" | 2189 | "sn" |
2144 | ], | 2190 | ], |
2145 | "compareKey": "compare_ky", | 2191 | "compareKey": "compare_ky", |
2192 | + "currencyField": "delng_crncy", | ||
2146 | "amtField": "sum(delng_amt) as delng_amt", | 2193 | "amtField": "sum(delng_amt) as delng_amt", |
2147 | "compareField": [ | 2194 | "compareField": [ |
2148 | "accnut_ym", | 2195 | "accnut_ym", |
@@ -2188,6 +2235,7 @@ | @@ -2188,6 +2235,7 @@ | ||
2188 | "sn" | 2235 | "sn" |
2189 | ], | 2236 | ], |
2190 | "compareKey": "compare_ky", | 2237 | "compareKey": "compare_ky", |
2238 | + "currencyField": "delng_crncy", | ||
2191 | "amtField": "sum(delng_amt) as delng_amt", | 2239 | "amtField": "sum(delng_amt) as delng_amt", |
2192 | "compareField": [ | 2240 | "compareField": [ |
2193 | "accnut_ym", | 2241 | "accnut_ym", |
@@ -2233,6 +2281,7 @@ | @@ -2233,6 +2281,7 @@ | ||
2233 | "sn" | 2281 | "sn" |
2234 | ], | 2282 | ], |
2235 | "compareKey": "compare_ky", | 2283 | "compareKey": "compare_ky", |
2284 | + "currencyField": "delng_crncy", | ||
2236 | "amtField": "sum(delng_amt) as delng_amt", | 2285 | "amtField": "sum(delng_amt) as delng_amt", |
2237 | "compareField": [ | 2286 | "compareField": [ |
2238 | "accnut_ym", | 2287 | "accnut_ym", |
@@ -2278,6 +2327,7 @@ | @@ -2278,6 +2327,7 @@ | ||
2278 | "sn" | 2327 | "sn" |
2279 | ], | 2328 | ], |
2280 | "compareKey": "compare_ky", | 2329 | "compareKey": "compare_ky", |
2330 | + "currencyField": "delng_crncy", | ||
2281 | "amtField": "sum(delng_amt) as delng_amt", | 2331 | "amtField": "sum(delng_amt) as delng_amt", |
2282 | "compareField": [ | 2332 | "compareField": [ |
2283 | "accnut_ym", | 2333 | "accnut_ym", |
@@ -2336,6 +2386,7 @@ | @@ -2336,6 +2386,7 @@ | ||
2336 | "sn" | 2386 | "sn" |
2337 | ], | 2387 | ], |
2338 | "compareKey": "compare_ky", | 2388 | "compareKey": "compare_ky", |
2389 | + "currencyField": "delng_crncy", | ||
2339 | "amtField": "sum(delng_amt) as delng_amt", | 2390 | "amtField": "sum(delng_amt) as delng_amt", |
2340 | "compareField": [ | 2391 | "compareField": [ |
2341 | "accnut_ym", | 2392 | "accnut_ym", |
@@ -2381,6 +2432,7 @@ | @@ -2381,6 +2432,7 @@ | ||
2381 | "sn" | 2432 | "sn" |
2382 | ], | 2433 | ], |
2383 | "compareKey": "compare_ky", | 2434 | "compareKey": "compare_ky", |
2435 | + "currencyField": "delng_crncy", | ||
2384 | "amtField": "sum(delng_amt) as delng_amt", | 2436 | "amtField": "sum(delng_amt) as delng_amt", |
2385 | "compareField": [ | 2437 | "compareField": [ |
2386 | "accnut_ym", | 2438 | "accnut_ym", |
@@ -2426,6 +2478,7 @@ | @@ -2426,6 +2478,7 @@ | ||
2426 | "sn" | 2478 | "sn" |
2427 | ], | 2479 | ], |
2428 | "compareKey": "compare_ky", | 2480 | "compareKey": "compare_ky", |
2481 | + "currencyField": "delng_crncy", | ||
2429 | "amtField": "sum(delng_amt) as delng_amt", | 2482 | "amtField": "sum(delng_amt) as delng_amt", |
2430 | "compareField": [ | 2483 | "compareField": [ |
2431 | "accnut_ym", | 2484 | "accnut_ym", |
@@ -2471,6 +2524,7 @@ | @@ -2471,6 +2524,7 @@ | ||
2471 | "sn" | 2524 | "sn" |
2472 | ], | 2525 | ], |
2473 | "compareKey": "compare_ky", | 2526 | "compareKey": "compare_ky", |
2527 | + "currencyField": "delng_crncy", | ||
2474 | "amtField": "sum(delng_amt) as delng_amt", | 2528 | "amtField": "sum(delng_amt) as delng_amt", |
2475 | "compareField": [ | 2529 | "compareField": [ |
2476 | "accnut_ym", | 2530 | "accnut_ym", |
@@ -2516,6 +2570,7 @@ | @@ -2516,6 +2570,7 @@ | ||
2516 | "sn" | 2570 | "sn" |
2517 | ], | 2571 | ], |
2518 | "compareKey": "compare_ky", | 2572 | "compareKey": "compare_ky", |
2573 | + "currencyField": "delng_crncy", | ||
2519 | "amtField": "sum(delng_amt) as delng_amt", | 2574 | "amtField": "sum(delng_amt) as delng_amt", |
2520 | "compareField": [ | 2575 | "compareField": [ |
2521 | "accnut_ym", | 2576 | "accnut_ym", |
@@ -2561,6 +2616,7 @@ | @@ -2561,6 +2616,7 @@ | ||
2561 | "sn" | 2616 | "sn" |
2562 | ], | 2617 | ], |
2563 | "compareKey": "compare_ky", | 2618 | "compareKey": "compare_ky", |
2619 | + "currencyField": "delng_crncy", | ||
2564 | "amtField": "sum(delng_amt) as delng_amt", | 2620 | "amtField": "sum(delng_amt) as delng_amt", |
2565 | "compareField": [ | 2621 | "compareField": [ |
2566 | "accnut_ym", | 2622 | "accnut_ym", |
@@ -2606,6 +2662,7 @@ | @@ -2606,6 +2662,7 @@ | ||
2606 | "sn" | 2662 | "sn" |
2607 | ], | 2663 | ], |
2608 | "compareKey": "compare_ky", | 2664 | "compareKey": "compare_ky", |
2665 | + "currencyField": "delng_crncy", | ||
2609 | "amtField": "sum(delng_amt) as delng_amt", | 2666 | "amtField": "sum(delng_amt) as delng_amt", |
2610 | "compareField": [ | 2667 | "compareField": [ |
2611 | "accnut_ym", | 2668 | "accnut_ym", |
@@ -2651,6 +2708,7 @@ | @@ -2651,6 +2708,7 @@ | ||
2651 | "sn" | 2708 | "sn" |
2652 | ], | 2709 | ], |
2653 | "compareKey": "compare_ky", | 2710 | "compareKey": "compare_ky", |
2711 | + "currencyField": "delng_crncy", | ||
2654 | "amtField": "sum(delng_amt) as delng_amt", | 2712 | "amtField": "sum(delng_amt) as delng_amt", |
2655 | "compareField": [ | 2713 | "compareField": [ |
2656 | "accnut_ym", | 2714 | "accnut_ym", |
@@ -2700,6 +2758,7 @@ | @@ -2700,6 +2758,7 @@ | ||
2700 | "sn" | 2758 | "sn" |
2701 | ], | 2759 | ], |
2702 | "compareKey": "compare_ky", | 2760 | "compareKey": "compare_ky", |
2761 | + "currencyField": "delng_crncy", | ||
2703 | "amtField": "sum(delng_amt) as delng_amt", | 2762 | "amtField": "sum(delng_amt) as delng_amt", |
2704 | "compareField": [ | 2763 | "compareField": [ |
2705 | "accnut_ym", | 2764 | "accnut_ym", |
@@ -2745,6 +2804,7 @@ | @@ -2745,6 +2804,7 @@ | ||
2745 | "sn" | 2804 | "sn" |
2746 | ], | 2805 | ], |
2747 | "compareKey": "compare_ky", | 2806 | "compareKey": "compare_ky", |
2807 | + "currencyField": "delng_crncy", | ||
2748 | "amtField": "sum(delng_amt) as delng_amt", | 2808 | "amtField": "sum(delng_amt) as delng_amt", |
2749 | "compareField": [ | 2809 | "compareField": [ |
2750 | "accnut_ym", | 2810 | "accnut_ym", |
@@ -2790,6 +2850,7 @@ | @@ -2790,6 +2850,7 @@ | ||
2790 | "sn" | 2850 | "sn" |
2791 | ], | 2851 | ], |
2792 | "compareKey": "compare_ky", | 2852 | "compareKey": "compare_ky", |
2853 | + "currencyField": "delng_crncy", | ||
2793 | "amtField": "sum(delng_amt) as delng_amt", | 2854 | "amtField": "sum(delng_amt) as delng_amt", |
2794 | "compareField": [ | 2855 | "compareField": [ |
2795 | "accnut_ym", | 2856 | "accnut_ym", |
@@ -2836,6 +2897,7 @@ | @@ -2836,6 +2897,7 @@ | ||
2836 | "sn" | 2897 | "sn" |
2837 | ], | 2898 | ], |
2838 | "compareKey": "compare_ky", | 2899 | "compareKey": "compare_ky", |
2900 | + "currencyField": "delng_crncy", | ||
2839 | "amtField": "sum(delng_amt) as delng_amt", | 2901 | "amtField": "sum(delng_amt) as delng_amt", |
2840 | "compareField": [ | 2902 | "compareField": [ |
2841 | "accnut_ym", | 2903 | "accnut_ym", |
@@ -2879,6 +2941,7 @@ | @@ -2879,6 +2941,7 @@ | ||
2879 | "sn" | 2941 | "sn" |
2880 | ], | 2942 | ], |
2881 | "compareKey": "compare_ky", | 2943 | "compareKey": "compare_ky", |
2944 | + "currencyField": "delng_crncy", | ||
2882 | "amtField": "sum(delng_amt) as delng_amt", | 2945 | "amtField": "sum(delng_amt) as delng_amt", |
2883 | "compareField": [ | 2946 | "compareField": [ |
2884 | "accnut_ym", | 2947 | "accnut_ym", |
@@ -2922,6 +2985,7 @@ | @@ -2922,6 +2985,7 @@ | ||
2922 | "sn" | 2985 | "sn" |
2923 | ], | 2986 | ], |
2924 | "compareKey": "compare_ky", | 2987 | "compareKey": "compare_ky", |
2988 | + "currencyField": "delng_crncy", | ||
2925 | "amtField": "sum(delng_amt) as delng_amt", | 2989 | "amtField": "sum(delng_amt) as delng_amt", |
2926 | "compareField": [ | 2990 | "compareField": [ |
2927 | "accnut_ym", | 2991 | "accnut_ym", |
@@ -2967,6 +3031,7 @@ | @@ -2967,6 +3031,7 @@ | ||
2967 | "sn" | 3031 | "sn" |
2968 | ], | 3032 | ], |
2969 | "compareKey": "compare_ky", | 3033 | "compareKey": "compare_ky", |
3034 | + "currencyField": "delng_crncy", | ||
2970 | "amtField": "sum(delng_amt) as delng_amt", | 3035 | "amtField": "sum(delng_amt) as delng_amt", |
2971 | "compareField": [ | 3036 | "compareField": [ |
2972 | "accnut_ym", | 3037 | "accnut_ym", |
@@ -3010,6 +3075,7 @@ | @@ -3010,6 +3075,7 @@ | ||
3010 | "sn" | 3075 | "sn" |
3011 | ], | 3076 | ], |
3012 | "compareKey": "compare_ky", | 3077 | "compareKey": "compare_ky", |
3078 | + "currencyField": "delng_crncy", | ||
3013 | "amtField": "sum(delng_amt) as delng_amt", | 3079 | "amtField": "sum(delng_amt) as delng_amt", |
3014 | "compareField": [ | 3080 | "compareField": [ |
3015 | "accnut_ym", | 3081 | "accnut_ym", |
@@ -3053,6 +3119,7 @@ | @@ -3053,6 +3119,7 @@ | ||
3053 | "sn" | 3119 | "sn" |
3054 | ], | 3120 | ], |
3055 | "compareKey": "compare_ky", | 3121 | "compareKey": "compare_ky", |
3122 | + "currencyField": "delng_crncy", | ||
3056 | "amtField": "sum(delng_amt) as delng_amt", | 3123 | "amtField": "sum(delng_amt) as delng_amt", |
3057 | "compareField": [ | 3124 | "compareField": [ |
3058 | "accnut_ym", | 3125 | "accnut_ym", |
@@ -3093,6 +3160,7 @@ | @@ -3093,6 +3160,7 @@ | ||
3093 | "sn" | 3160 | "sn" |
3094 | ], | 3161 | ], |
3095 | "compareKey": "compare_ky", | 3162 | "compareKey": "compare_ky", |
3163 | + "currencyField": "delng_crncy", | ||
3096 | "amtField": "sum(delng_amt) as delng_amt", | 3164 | "amtField": "sum(delng_amt) as delng_amt", |
3097 | "compareField": [ | 3165 | "compareField": [ |
3098 | "accnut_ym", | 3166 | "accnut_ym", |
@@ -3134,6 +3202,7 @@ | @@ -3134,6 +3202,7 @@ | ||
3134 | "sn" | 3202 | "sn" |
3135 | ], | 3203 | ], |
3136 | "compareKey": "compare_ky", | 3204 | "compareKey": "compare_ky", |
3205 | + "currencyField": "delng_crncy", | ||
3137 | "amtField": "sum(delng_amt) as delng_amt", | 3206 | "amtField": "sum(delng_amt) as delng_amt", |
3138 | "compareField": [ | 3207 | "compareField": [ |
3139 | "accnut_ym", | 3208 | "accnut_ym", |
@@ -3183,6 +3252,7 @@ | @@ -3183,6 +3252,7 @@ | ||
3183 | "sn" | 3252 | "sn" |
3184 | ], | 3253 | ], |
3185 | "compareKey": "compare_ky", | 3254 | "compareKey": "compare_ky", |
3255 | + "currencyField": "delng_crncy", | ||
3186 | "amtField": "sum(delng_amt) as delng_amt", | 3256 | "amtField": "sum(delng_amt) as delng_amt", |
3187 | "compareField": [ | 3257 | "compareField": [ |
3188 | "accnut_ym", | 3258 | "accnut_ym", |
@@ -3228,6 +3298,7 @@ | @@ -3228,6 +3298,7 @@ | ||
3228 | "sn" | 3298 | "sn" |
3229 | ], | 3299 | ], |
3230 | "compareKey": "compare_ky", | 3300 | "compareKey": "compare_ky", |
3301 | + "currencyField": "delng_crncy", | ||
3231 | "amtField": "sum(delng_amt) as delng_amt", | 3302 | "amtField": "sum(delng_amt) as delng_amt", |
3232 | "compareField": [ | 3303 | "compareField": [ |
3233 | "accnut_ym", | 3304 | "accnut_ym", |
@@ -3273,6 +3344,7 @@ | @@ -3273,6 +3344,7 @@ | ||
3273 | "sn" | 3344 | "sn" |
3274 | ], | 3345 | ], |
3275 | "compareKey": "compare_ky", | 3346 | "compareKey": "compare_ky", |
3347 | + "currencyField": "delng_crncy", | ||
3276 | "amtField": "sum(delng_amt) as delng_amt", | 3348 | "amtField": "sum(delng_amt) as delng_amt", |
3277 | "compareField": [ | 3349 | "compareField": [ |
3278 | "accnut_ym", | 3350 | "accnut_ym", |
@@ -3321,6 +3393,7 @@ | @@ -3321,6 +3393,7 @@ | ||
3321 | "sn" | 3393 | "sn" |
3322 | ], | 3394 | ], |
3323 | "compareKey": "compare_ky", | 3395 | "compareKey": "compare_ky", |
3396 | + "currencyField": "delng_crncy", | ||
3324 | "amtField": "sum(delng_amt) as delng_amt", | 3397 | "amtField": "sum(delng_amt) as delng_amt", |
3325 | "compareField": [ | 3398 | "compareField": [ |
3326 | "accnut_ym", | 3399 | "accnut_ym", |
@@ -3366,6 +3439,7 @@ | @@ -3366,6 +3439,7 @@ | ||
3366 | "sn" | 3439 | "sn" |
3367 | ], | 3440 | ], |
3368 | "compareKey": "compare_ky", | 3441 | "compareKey": "compare_ky", |
3442 | + "currencyField": "delng_crncy", | ||
3369 | "amtField": "sum(delng_amt) as delng_amt", | 3443 | "amtField": "sum(delng_amt) as delng_amt", |
3370 | "compareField": [ | 3444 | "compareField": [ |
3371 | "accnut_ym", | 3445 | "accnut_ym", |
@@ -3411,6 +3485,7 @@ | @@ -3411,6 +3485,7 @@ | ||
3411 | "sn" | 3485 | "sn" |
3412 | ], | 3486 | ], |
3413 | "compareKey": "compare_ky", | 3487 | "compareKey": "compare_ky", |
3488 | + "currencyField": "delng_crncy", | ||
3414 | "amtField": "sum(delng_amt) as delng_amt", | 3489 | "amtField": "sum(delng_amt) as delng_amt", |
3415 | "compareField": [ | 3490 | "compareField": [ |
3416 | "accnut_ym", | 3491 | "accnut_ym", |
@@ -3459,6 +3534,7 @@ | @@ -3459,6 +3534,7 @@ | ||
3459 | "sn" | 3534 | "sn" |
3460 | ], | 3535 | ], |
3461 | "compareKey": "compare_ky", | 3536 | "compareKey": "compare_ky", |
3537 | + "currencyField": "delng_crncy", | ||
3462 | "amtField": "sum(delng_amt) as delng_amt", | 3538 | "amtField": "sum(delng_amt) as delng_amt", |
3463 | "compareField": [ | 3539 | "compareField": [ |
3464 | "accnut_ym", | 3540 | "accnut_ym", |
@@ -3504,6 +3580,7 @@ | @@ -3504,6 +3580,7 @@ | ||
3504 | "sn" | 3580 | "sn" |
3505 | ], | 3581 | ], |
3506 | "compareKey": "compare_ky", | 3582 | "compareKey": "compare_ky", |
3583 | + "currencyField": "delng_crncy", | ||
3507 | "amtField": "sum(delng_amt) as delng_amt", | 3584 | "amtField": "sum(delng_amt) as delng_amt", |
3508 | "compareField": [ | 3585 | "compareField": [ |
3509 | "accnut_ym", | 3586 | "accnut_ym", |
@@ -3549,6 +3626,7 @@ | @@ -3549,6 +3626,7 @@ | ||
3549 | "sn" | 3626 | "sn" |
3550 | ], | 3627 | ], |
3551 | "compareKey": "compare_ky", | 3628 | "compareKey": "compare_ky", |
3629 | + "currencyField": "delng_crncy", | ||
3552 | "amtField": "sum(delng_amt) as delng_amt", | 3630 | "amtField": "sum(delng_amt) as delng_amt", |
3553 | "compareField": [ | 3631 | "compareField": [ |
3554 | "accnut_ym", | 3632 | "accnut_ym", |
@@ -3599,6 +3677,7 @@ | @@ -3599,6 +3677,7 @@ | ||
3599 | "sn" | 3677 | "sn" |
3600 | ], | 3678 | ], |
3601 | "compareKey": "compare_ky", | 3679 | "compareKey": "compare_ky", |
3680 | + "currencyField": "delng_crncy", | ||
3602 | "amtField": "sum(delng_amt) as delng_amt", | 3681 | "amtField": "sum(delng_amt) as delng_amt", |
3603 | "compareField": [ | 3682 | "compareField": [ |
3604 | "accnut_ym", | 3683 | "accnut_ym", |
@@ -3644,6 +3723,7 @@ | @@ -3644,6 +3723,7 @@ | ||
3644 | "sn" | 3723 | "sn" |
3645 | ], | 3724 | ], |
3646 | "compareKey": "compare_ky", | 3725 | "compareKey": "compare_ky", |
3726 | + "currencyField": "delng_crncy", | ||
3647 | "amtField": "sum(delng_amt) as delng_amt", | 3727 | "amtField": "sum(delng_amt) as delng_amt", |
3648 | "compareField": [ | 3728 | "compareField": [ |
3649 | "accnut_ym", | 3729 | "accnut_ym", |
@@ -3687,6 +3767,7 @@ | @@ -3687,6 +3767,7 @@ | ||
3687 | "sn" | 3767 | "sn" |
3688 | ], | 3768 | ], |
3689 | "compareKey": "compare_ky", | 3769 | "compareKey": "compare_ky", |
3770 | + "currencyField": "delng_crncy", | ||
3690 | "amtField": "sum(delng_amt) as delng_amt", | 3771 | "amtField": "sum(delng_amt) as delng_amt", |
3691 | "compareField": [ | 3772 | "compareField": [ |
3692 | "accnut_ym", | 3773 | "accnut_ym", |
@@ -3732,6 +3813,7 @@ | @@ -3732,6 +3813,7 @@ | ||
3732 | "sn" | 3813 | "sn" |
3733 | ], | 3814 | ], |
3734 | "compareKey": "compare_ky", | 3815 | "compareKey": "compare_ky", |
3816 | + "currencyField": "delng_crncy", | ||
3735 | "amtField": "sum(delng_amt) as delng_amt", | 3817 | "amtField": "sum(delng_amt) as delng_amt", |
3736 | "compareField": [ | 3818 | "compareField": [ |
3737 | "accnut_ym", | 3819 | "accnut_ym", |
@@ -3777,6 +3859,7 @@ | @@ -3777,6 +3859,7 @@ | ||
3777 | "sn" | 3859 | "sn" |
3778 | ], | 3860 | ], |
3779 | "compareKey": "compare_ky", | 3861 | "compareKey": "compare_ky", |
3862 | + "currencyField": "delng_crncy", | ||
3780 | "amtField": "sum(delng_amt) as delng_amt", | 3863 | "amtField": "sum(delng_amt) as delng_amt", |
3781 | "compareField": [ | 3864 | "compareField": [ |
3782 | "accnut_ym", | 3865 | "accnut_ym", |
@@ -3820,6 +3903,7 @@ | @@ -3820,6 +3903,7 @@ | ||
3820 | "sn" | 3903 | "sn" |
3821 | ], | 3904 | ], |
3822 | "compareKey": "compare_ky", | 3905 | "compareKey": "compare_ky", |
3906 | + "currencyField": "delng_crncy", | ||
3823 | "amtField": "sum(delng_amt) as delng_amt", | 3907 | "amtField": "sum(delng_amt) as delng_amt", |
3824 | "compareField": [ | 3908 | "compareField": [ |
3825 | "accnut_ym", | 3909 | "accnut_ym", |
src/main/resources/mybatis/primaryMapper/MatchingInnerDelingMapper.xml
@@ -24,6 +24,12 @@ | @@ -24,6 +24,12 @@ | ||
24 | and accnut_ym = #{accnutYm} | 24 | and accnut_ym = #{accnutYm} |
25 | and mtch_ty is null | 25 | and mtch_ty is null |
26 | and dta_ty in ('11','21','31','33','35','37','41') | 26 | and dta_ty in ('11','21','31','33','35','37','41') |
27 | + <if test='cpr_code != null and !cpr_code.equals("")'> | ||
28 | + and cpr_code = #{cpr_code} | ||
29 | + </if> | ||
30 | + <if test='partn_cpr != null and !partn_cpr.equals("")'> | ||
31 | + and partn_cpr = #{partn_cpr} | ||
32 | + </if> | ||
27 | GROUP BY | 33 | GROUP BY |
28 | sys_se | 34 | sys_se |
29 | , accnut_ym | 35 | , accnut_ym |
@@ -43,6 +49,12 @@ | @@ -43,6 +49,12 @@ | ||
43 | and accnut_ym = #{accnutYm} | 49 | and accnut_ym = #{accnutYm} |
44 | and mtch_ty is null | 50 | and mtch_ty is null |
45 | and dta_ty in ('12','22','32','34','36','38','42') | 51 | and dta_ty in ('12','22','32','34','36','38','42') |
52 | + <if test='cpr_code != null and !cpr_code.equals("")'> | ||
53 | + and partn_cpr = #{partn_cpr} | ||
54 | + </if> | ||
55 | + <if test='partn_cpr != null and !partn_cpr.equals("")'> | ||
56 | + and cpr_code = #{cpr_code} | ||
57 | + </if> | ||
46 | GROUP BY | 58 | GROUP BY |
47 | sys_se | 59 | sys_se |
48 | , accnut_ym | 60 | , accnut_ym |
@@ -77,6 +89,7 @@ | @@ -77,6 +89,7 @@ | ||
77 | SELECT | 89 | SELECT |
78 | accnut_ym | 90 | accnut_ym |
79 | , compare_ky | 91 | , compare_ky |
92 | + , ${currencyField} | ||
80 | , ${amtField} | 93 | , ${amtField} |
81 | FROM | 94 | FROM |
82 | public.batch_tbcr_inner_delng | 95 | public.batch_tbcr_inner_delng |
@@ -91,7 +104,8 @@ | @@ -91,7 +104,8 @@ | ||
91 | </foreach> | 104 | </foreach> |
92 | group by | 105 | group by |
93 | accnut_ym, | 106 | accnut_ym, |
94 | - compare_ky | 107 | + compare_ky, |
108 | + ${currencyField} | ||
95 | </select> | 109 | </select> |
96 | 110 | ||
97 | <!-- 매칭결과 업데이트 --> | 111 | <!-- 매칭결과 업데이트 --> |
@@ -525,6 +539,12 @@ | @@ -525,6 +539,12 @@ | ||
525 | and accnut_ym = #{accnutYm} | 539 | and accnut_ym = #{accnutYm} |
526 | and mtch_ty is null | 540 | and mtch_ty is null |
527 | and dta_ty in ('11','21','31','33','35','37','41') | 541 | and dta_ty in ('11','21','31','33','35','37','41') |
542 | + <if test='cpr_code != null and !cpr_code.equals("")'> | ||
543 | + and cpr_code = #{cpr_code} | ||
544 | + </if> | ||
545 | + <if test='partn_cpr != null and !partn_cpr.equals("")'> | ||
546 | + and partn_cpr = #{partn_cpr} | ||
547 | + </if> | ||
528 | GROUP BY | 548 | GROUP BY |
529 | sys_se | 549 | sys_se |
530 | , accnut_ym | 550 | , accnut_ym |
@@ -546,6 +566,12 @@ | @@ -546,6 +566,12 @@ | ||
546 | and accnut_ym = #{accnutYm} | 566 | and accnut_ym = #{accnutYm} |
547 | and mtch_ty is null | 567 | and mtch_ty is null |
548 | and dta_ty in ('12','22','32','34','36','38','42') | 568 | and dta_ty in ('12','22','32','34','36','38','42') |
569 | + <if test='cpr_code != null and !cpr_code.equals("")'> | ||
570 | + and partn_cpr = #{partn_cpr} | ||
571 | + </if> | ||
572 | + <if test='partn_cpr != null and !partn_cpr.equals("")'> | ||
573 | + and cpr_code = #{cpr_code} | ||
574 | + </if> | ||
549 | GROUP BY | 575 | GROUP BY |
550 | sys_se | 576 | sys_se |
551 | , accnut_ym | 577 | , accnut_ym |
@@ -624,4 +650,142 @@ | @@ -624,4 +650,142 @@ | ||
624 | and accnut_ym = #{accnutYm} | 650 | and accnut_ym = #{accnutYm} |
625 | </select> | 651 | </select> |
626 | 652 | ||
653 | + <!-- 작업리스트 --> | ||
654 | + <select id="getAiSubReadData" parameterType="map" resultType="map"> | ||
655 | + SELECT | ||
656 | + sys_se | ||
657 | + , accnut_ym | ||
658 | + , cpr_code | ||
659 | + , partn_cpr | ||
660 | + , mtch_ty | ||
661 | + , mtch_ky | ||
662 | + FROM | ||
663 | + ( | ||
664 | + SELECT | ||
665 | + sys_se | ||
666 | + , accnut_ym | ||
667 | + , cpr_code | ||
668 | + , partn_cpr | ||
669 | + , mtch_ty | ||
670 | + , mtch_ky | ||
671 | + , case when count(*) > 0 then 1 else 0 end as cnt | ||
672 | + FROM | ||
673 | + public.batch_tbcr_inner_delng | ||
674 | + WHERE | ||
675 | + sys_se = #{sysSe} | ||
676 | + and accnut_ym = #{accnutYm} | ||
677 | + and mtch_ty = #{mtch_ty} | ||
678 | + and dta_ty in ('11','21','31','33','35','37','41') | ||
679 | + <if test='cpr_code != null and !cpr_code.equals("")'> | ||
680 | + and cpr_code = #{cpr_code} | ||
681 | + </if> | ||
682 | + <if test='partn_cpr != null and !partn_cpr.equals("")'> | ||
683 | + and partn_cpr = #{partn_cpr} | ||
684 | + </if> | ||
685 | + GROUP BY | ||
686 | + sys_se | ||
687 | + , accnut_ym | ||
688 | + , cpr_code | ||
689 | + , partn_cpr | ||
690 | + , mtch_ty | ||
691 | + , mtch_ky | ||
692 | + union all | ||
693 | + SELECT | ||
694 | + sys_se | ||
695 | + , accnut_ym | ||
696 | + , partn_cpr as cpr_code | ||
697 | + , cpr_code as partn_cpr | ||
698 | + , mtch_ty | ||
699 | + , mtch_ky | ||
700 | + , case when count(*) > 0 then 1 else 0 end as cnt | ||
701 | + FROM | ||
702 | + public.batch_tbcr_inner_delng | ||
703 | + WHERE | ||
704 | + sys_se = #{sysSe} | ||
705 | + and accnut_ym = #{accnutYm} | ||
706 | + and mtch_ty = #{mtch_ty} | ||
707 | + and dta_ty in ('12','22','32','34','36','38','42') | ||
708 | + <if test='cpr_code != null and !cpr_code.equals("")'> | ||
709 | + and partn_cpr = #{partn_cpr} | ||
710 | + </if> | ||
711 | + <if test='partn_cpr != null and !partn_cpr.equals("")'> | ||
712 | + and cpr_code = #{cpr_code} | ||
713 | + </if> | ||
714 | + GROUP BY | ||
715 | + sys_se | ||
716 | + , accnut_ym | ||
717 | + , cpr_code | ||
718 | + , partn_cpr | ||
719 | + , mtch_ty | ||
720 | + , mtch_ky | ||
721 | + ) m | ||
722 | + GROUP BY | ||
723 | + sys_se | ||
724 | + , accnut_ym | ||
725 | + , cpr_code | ||
726 | + , partn_cpr | ||
727 | + , mtch_ty | ||
728 | + , mtch_ky | ||
729 | + HAVING sum(cnt) > 1 | ||
730 | + </select> | ||
731 | + | ||
732 | + | ||
733 | + <!-- 매칭작업할 데이타 가져오기 --> | ||
734 | + <select id="getAiSubDataOne" parameterType="map" resultType="map"> | ||
735 | + SELECT | ||
736 | + sys_se | ||
737 | + , accnut_ym | ||
738 | + , sn | ||
739 | + , '' as compare_ky | ||
740 | + , delng_de | ||
741 | + , delng_amt | ||
742 | + FROM | ||
743 | + public.batch_tbcr_inner_delng | ||
744 | + WHERE | ||
745 | + sys_se = #{sysSe} | ||
746 | + and accnut_ym = #{accnutYm} | ||
747 | + and cpr_code = #{cprCode} | ||
748 | + and partn_cpr = #{partnCpr} | ||
749 | + and mtch_ty = #{mtchTy} | ||
750 | + and mtch_ky = #{mtchKy} | ||
751 | + <if test='conds eq "T".toString()'> | ||
752 | + and dta_ty in ('11','21','41') | ||
753 | + </if> | ||
754 | + <if test='conds eq "B".toString()'> | ||
755 | + and dta_ty in ('31','33','35','37') | ||
756 | + </if> | ||
757 | + and delng_amt != 0 | ||
758 | + ORDER BY | ||
759 | + delng_de | ||
760 | + </select> | ||
761 | + | ||
762 | + <!-- 매칭작업할 데이타 가져오기 --> | ||
763 | + <select id="getAiSubDataTwo" parameterType="map" resultType="map"> | ||
764 | + SELECT | ||
765 | + sys_se | ||
766 | + , accnut_ym | ||
767 | + , sn | ||
768 | + , '' as compare_ky | ||
769 | + , delng_de | ||
770 | + , delng_amt | ||
771 | + FROM | ||
772 | + public.batch_tbcr_inner_delng | ||
773 | + WHERE | ||
774 | + sys_se = #{sysSe} | ||
775 | + and accnut_ym = #{accnutYm} | ||
776 | + and cpr_code = #{cprCode} | ||
777 | + and partn_cpr = #{partnCpr} | ||
778 | + and mtch_ty = #{mtchTy} | ||
779 | + and mtch_ky = #{mtchKy} | ||
780 | + <if test='conds eq "T".toString()'> | ||
781 | + and dta_ty in ('12','22','42') | ||
782 | + </if> | ||
783 | + <if test='conds eq "B".toString()'> | ||
784 | + and dta_ty in ('32','34','36','38') | ||
785 | + </if> | ||
786 | + and delng_amt != 0 | ||
787 | + ORDER BY | ||
788 | + delng_de | ||
789 | + </select> | ||
790 | + | ||
627 | </mapper> | 791 | </mapper> |
628 | \ No newline at end of file | 792 | \ No newline at end of file |
@@ -20,7 +20,8 @@ http://localhost:8080/api/job/matching | @@ -20,7 +20,8 @@ http://localhost:8080/api/job/matching | ||
20 | "jobType": "ALL", | 20 | "jobType": "ALL", |
21 | "sysSe": "AI_ALL", | 21 | "sysSe": "AI_ALL", |
22 | "accnutYm": "202311", | 22 | "accnutYm": "202311", |
23 | - "searchCond": "mtch_ty is null" | 23 | + "cpr_code": "O01100", |
24 | + "partn_cpr": "Z01100" | ||
24 | } | 25 | } |
25 | 26 | ||
26 | .\curl\bin\curl -d '{"jobType": "ALL", "sysSe":"AI_ALL", "accnutYm":"202311", "searchCond":"mtch_ty is null"}' ` | 27 | .\curl\bin\curl -d '{"jobType": "ALL", "sysSe":"AI_ALL", "accnutYm":"202311", "searchCond":"mtch_ty is null"}' ` |
@@ -32,7 +33,9 @@ http://localhost:8080/api/job/matching | @@ -32,7 +33,9 @@ http://localhost:8080/api/job/matching | ||
32 | http://localhost:8080/api/job/extramatching | 33 | http://localhost:8080/api/job/extramatching |
33 | { | 34 | { |
34 | "sysSe": "LS_ALL", | 35 | "sysSe": "LS_ALL", |
35 | - "accnutYm": "202311" | 36 | + "accnutYm": "202311", |
37 | + "cpr_code": "O01100", | ||
38 | + "partn_cpr": "Z01100" | ||
36 | } | 39 | } |
37 | 40 | ||
38 | .\curl\bin\curl -d '{"sysSe":"AI_ALL", "accnutYm":"202311"}' ` | 41 | .\curl\bin\curl -d '{"sysSe":"AI_ALL", "accnutYm":"202311"}' ` |
@@ -45,13 +48,29 @@ http://localhost:8080/api/job/aimatching | @@ -45,13 +48,29 @@ http://localhost:8080/api/job/aimatching | ||
45 | { | 48 | { |
46 | "sysSe": "LS_ALL", | 49 | "sysSe": "LS_ALL", |
47 | "accnutYm": "202310", | 50 | "accnutYm": "202310", |
51 | + "cpr_code": "O01100", | ||
52 | + "partn_cpr": "Z01100", | ||
53 | + "error_range": "0" | ||
48 | } | 54 | } |
49 | 55 | ||
56 | +파이썬에 파라미터 넘기는 내용 | ||
57 | +{PythonPrg, PythonAiTarget, ThreadName, SysSe, AccnutYm, CprCode, PartCpr, DelngCrncy, ErrorRange} | ||
50 | 58 | ||
51 | .\curl\bin\curl -d '{"sysSe":"AI_ALL", "accnutYm":"202311"}' ` | 59 | .\curl\bin\curl -d '{"sysSe":"AI_ALL", "accnutYm":"202311"}' ` |
52 | -H "Content-Type: application/json" ` | 60 | -H "Content-Type: application/json" ` |
53 | -X POST http://localhost:8080/api/job/aimatching | 61 | -X POST http://localhost:8080/api/job/aimatching |
54 | 62 | ||
63 | +#AI SUB 매칭 (조합) | ||
64 | +http://localhost:8080/api/job/aisubmatching | ||
65 | +{ | ||
66 | + "sysSe": "LS_ALL", | ||
67 | + "accnutYm": "202311", | ||
68 | + "mtch_ty": "AI_SLT", | ||
69 | + "cpr_code": "O01100", | ||
70 | + "partn_cpr": "Z01100", | ||
71 | + "error_range": "0" | ||
72 | +} | ||
73 | + | ||
55 | 74 | ||
56 | #매칭결과 리턴시 | 75 | #매칭결과 리턴시 |
57 | http://localhost:8080/api/job/return | 76 | http://localhost:8080/api/job/return |