인사시스템 정보 연동 시 코드 생성 오류 수정.

master
최강석 2023-09-06 12:01:52 +09:00
parent 267f1c7b93
commit c85587b70f
1 changed files with 7 additions and 13 deletions

View File

@ -99,22 +99,16 @@ public class CodeMgtService{
public String searchCodeToCategoryAndValue(String categoryCd, String value){ public String searchCodeToCategoryAndValue(String categoryCd, String value){
CodeMgt code = codeMgtRepository.findByCategoryCdAndItemValue(categoryCd, value).orElse(null); CodeMgt code = codeMgtRepository.findByCategoryCdAndItemValue(categoryCd, value).orElse(null);
if(code==null){ if(code==null){
List<CodeMgt> codeList = codeMgtRepository.findByCategoryCdOrderByItemCdAsc(categoryCd); CodeMgt lastCode = codeMgtRepository.findTop1ByCategoryCdOrderByItemCdDesc(categoryCd).orElse(null);
Integer codeNum = 1; String lastCodeSeq = "1";
String itemCd=""; if(lastCode!=null){
for(CodeMgt savedCode : codeList){ lastCodeSeq = lastCode.getItemCd().replace(lastCode.getCategoryCd(), "");
if(!savedCode.getItemValue().equals("기타") && !savedCode.getItemValue().equals("직접입력")){
codeNum = Integer.parseInt(savedCode.getItemCd().replace(categoryCd, ""));
}
if(codeNum==1){
itemCd = savedCode.getItemCd().replace(categoryCd, "").replace("1", "");
}
} }
codeNum++; String tempItemCd = "000" + (Integer.parseInt(lastCodeSeq)+1);
itemCd = categoryCd+(itemCd.substring((int)Math.log10((double)codeNum)))+codeNum;
CodeMgt newCode = new CodeMgt(); CodeMgt newCode = new CodeMgt();
newCode.setCategoryCd(categoryCd); newCode.setCategoryCd(categoryCd);
newCode.setItemCd(itemCd); newCode.setItemCd(categoryCd+(tempItemCd.substring(tempItemCd.length() - 3)));
newCode.setItemValue(value); newCode.setItemValue(value);
newCode.setUseChk("T"); newCode.setUseChk("T");
codeMgtRepository.save(newCode); codeMgtRepository.save(newCode);