*chatbot.js, css 업로드
docker cp /volume1/docker/bookstack/bluesen/chatbot.js hybrid_bookstack:/app/www/public/bluesen/chatbot.js
docker cp /volume1/docker/bookstack/bluesen/chatbot.css hybrid_bookstack:/app/www/public/bluesen/chatbot.css
**위치
docker cp /volume1/docker/bookstack/bluesen/
***매핑 테이블
─────────────────────────────────
★ 직접 매핑 테이블
키워드 → 표시할 계정과목 목록 (순서대로 직접 지정)
수정 방법: 계정명 배열 안에서 추가/삭제/순서변경
-개수 제한 없음
─────────────────────────────────
var BL_SEARCH_MAP = {
"식대": ["여비교통비(제)식대","여비교통비(판)식대","복리후생비(판)식대","복리후생비(제)식대","복리후생비(판)조식"],
"출장": ["여비교통비(제)식대","여비교통비(판)식대","여비교통비(제)음료","여비교통비(판)음료","여비교통비(제)숙박비","여비교통비(판)숙박비","여비교통비(판)기타"],
"음료": ["여비교통비(제)음료","여비교통비(판)음료","복리후생비(판)음료","복리후생비(판)생수"],
──────────────────────────────────
검색 엔진 (직접 매핑 방식)
: 자동 검색등록 엔진 ──────────────────────────────────
// 2. 폴백: 계정명 직접 검색
return BL_ACCT_DB.filter(function(acct){
return acct.계정명.toLowerCase().indexOf(kwL) !== -1 ||
acct.유형.toLowerCase().indexOf(kwL) !== -1;
}).slice(0, 4);
→ 현재 최대 4개 제한 있음, 이건 매핑 없을 때만 작동
──────────────────────────────────
과세, 면세, 불공제 부분 내용추가
→ 불공, 과세, 면세 외 추가 시──────────────────────────────────
if(results.length > 1){
var moreMsg = "📋 <b>관련 계정과목 목록</b>\n\n";
results.forEach(function(acct, i){
var vat = acct.부가세==="면세" ? "❌면세" : acct.부가세==="불공제" ? "⛔불공제" : "✅과세";
moreMsg += (i===0?"🥇 ":"• ")+acct.계정명+" ["+acct.판관+"] "+vat+"\n";
moreMsg += " → "+acct.사례[0]+"\n";
});
addMsg("bot", moreMsg);
}
}, 500);
}