diff --git a/src/main/java/com/dbnt/faisp/main/codeMgt/service/CodeMgtService.java b/src/main/java/com/dbnt/faisp/main/codeMgt/service/CodeMgtService.java index 797c9617..8c884151 100644 --- a/src/main/java/com/dbnt/faisp/main/codeMgt/service/CodeMgtService.java +++ b/src/main/java/com/dbnt/faisp/main/codeMgt/service/CodeMgtService.java @@ -99,22 +99,16 @@ public class CodeMgtService{ public String searchCodeToCategoryAndValue(String categoryCd, String value){ CodeMgt code = codeMgtRepository.findByCategoryCdAndItemValue(categoryCd, value).orElse(null); if(code==null){ - List codeList = codeMgtRepository.findByCategoryCdOrderByItemCdAsc(categoryCd); - Integer codeNum = 1; - String itemCd=""; - for(CodeMgt savedCode : codeList){ - if(!savedCode.getItemValue().equals("기타") && !savedCode.getItemValue().equals("직접입력")){ - codeNum = Integer.parseInt(savedCode.getItemCd().replace(categoryCd, "")); - } - if(codeNum==1){ - itemCd = savedCode.getItemCd().replace(categoryCd, "").replace("1", ""); - } + CodeMgt lastCode = codeMgtRepository.findTop1ByCategoryCdOrderByItemCdDesc(categoryCd).orElse(null); + String lastCodeSeq = "1"; + if(lastCode!=null){ + lastCodeSeq = lastCode.getItemCd().replace(lastCode.getCategoryCd(), ""); } - codeNum++; - itemCd = categoryCd+(itemCd.substring((int)Math.log10((double)codeNum)))+codeNum; + String tempItemCd = "000" + (Integer.parseInt(lastCodeSeq)+1); + CodeMgt newCode = new CodeMgt(); newCode.setCategoryCd(categoryCd); - newCode.setItemCd(itemCd); + newCode.setItemCd(categoryCd+(tempItemCd.substring(tempItemCd.length() - 3))); newCode.setItemValue(value); newCode.setUseChk("T"); codeMgtRepository.save(newCode);