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

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){
CodeMgt code = codeMgtRepository.findByCategoryCdAndItemValue(categoryCd, value).orElse(null);
if(code==null){
List<CodeMgt> 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);