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 |