package com.dbnt.faisp.codeMgt.service; import com.dbnt.faisp.codeMgt.model.CodeCatg; import com.dbnt.faisp.codeMgt.model.CodeMgt; import com.dbnt.faisp.codeMgt.repository.CodeCatgRepository; import com.dbnt.faisp.codeMgt.repository.CodeMgtRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Service @RequiredArgsConstructor public class CodeMgtService{ private final CodeMgtRepository codeMgtRepository; private final CodeCatgRepository codeCatgRepository; @Transactional public String saveCode(List codeMgtList){ for(CodeCatg codeCatg: codeMgtList){ codeCatgRepository.save(codeCatg); if (codeCatg.getItemList().size()>0){ codeItemSave(codeCatg.getItemList()); } } return ""; } private void codeItemSave(List itemList){ codeMgtRepository.saveAll(itemList); } public List selectCodeCatgAndChild() { List codeCatgList = codeCatgRepository.findAll(); for(CodeCatg codeCatg: codeCatgList){ codeCatg.setItemList(codeMgtRepository.findByCategoryCdOrderByItemCdAsc(codeCatg.getCategoryCd())); } return codeCatgList; } public Map> getCommonCode() { //return codeMgtRepository.findByUseChkOrderByItemCdAsc("T"); List categoryList = codeCatgRepository.findAll(); List codeList = codeMgtRepository.findByOrderByItemCdAsc(); Map> categoryMap = new HashMap<>(); for(CodeCatg category: categoryList){ List childList = new ArrayList<>(); for(CodeMgt code: codeList){ if(code.getCategoryCd().equals(category.getCategoryCd())){ childList.add(code); } } categoryMap.put(category.getCategoryCd(), childList); } return categoryMap; } public List selectCodeMgtList(String categoryCd) { return codeMgtRepository.findByCategoryCdAndUseChkOrderByItemCdAsc(categoryCd, "T"); } }