マスター検索の formalname 対応
マスター検索を formalname 対応にした。これで,例えば,TP が「総蛋白」,T-Cho が「コレステロール」で検索できるようになる。
dao/SqlMaster.java
private ArrayListgetTreatmentByName(String text, boolean startsWith, String orderClassCode, String sortBy, String order) { //pns デフォルトを部分一致に。前方一致したいときは,自分で ^ を付けることにする String sql = getTreatemenrSql(text, orderClassCode, sortBy, order, false); ArrayList ret = getTreatmentCollection(sql); /* // 前方一致検索を行う String sql = getTreatemenrSql(text, orderClassCode, sortBy, order, true); ArrayList ret = getTreatmentCollection(sql); // NoError で結果がないとき部分一致検索を行う if (isNoError() && (ret == null || ret.size() == 0) ) { sql = getTreatemenrSql(text, orderClassCode, sortBy, order, false); ret = getTreatmentCollection(sql); }*/ return ret; } private String getTreatemenrSql(String text, String orderClassCode, String sortBy, String order, boolean forward) { ・ ・ //pns formalname 対応 // buf.append("select srycd,name,kananame,tensikibetu,ten,nyugaitekkbn,routekkbn,srysyukbn,hospsrykbn,yukostymd,yukoedymd from tbl_tensu where "); buf.append("select srycd,name,kananame,tensikibetu,ten,nyugaitekkbn,routekkbn,srysyukbn,hospsrykbn,yukostymd,yukoedymd,formalname from tbl_tensu where "); ・ ・ //pns 8xxxxxxxx のコメントを検索できるようにする //pns buf.append("(srycd ~ '^1' or srycd ~ '^00') and "); buf.append("(srycd ~ '^1' or srycd ~ '^00' or srycd ~ '^8') and "); //pns^ formalname と kananame 対応 StringBuilder nameClause = new StringBuilder(); word = forward? addSingleQuote("^" + text): addSingleQuote(text); if (StringTool.isAllDigit(text)) { //word = text; //buf.append("srycd ~ "); nameClause.append("srycd ~ " + word); } else { //word = text; //buf.append("name ~ "); nameClause.append("(name ~ " + word); nameClause.append(" or kananame ~ " + word); nameClause.append(" or formalname ~ " + word + ")"); } buf.append(nameClause.toString()); //pns$ StringBuilder sbd = new StringBuilder(); ・ ・ private ArrayList getTreatmentCollection(String sql) { ・ ・ while (rs.next()) { te = new TreatmentEntry(); te.setCode(rs.getString(1)); // srycd ・ ・ //pns te.setFormalName(rs.getString(12)); // formalname ・ ・
infomodel/MasterEntry.java
public class MasterEntry extends InfoModel implements java.lang.Comparable { ・ ・ //pns protected String formalname; ・ ・ //pns^ public void setFormalName(String val) { formalname = val; } public String getFormalName() { return formalname; } //pns$ ・ ・
order/TreatmentMaster.java
・ ・ protected final class TreatmentMasterRenderer extends MasterRenderer { ・ ・ case KANA_COLUMN: label.setText(entry.getKana()); //pns^ 正式名称があれば表示することにした String formalName = entry.getFormalName(); if (formalName != null && !formalName.equals("")) label.setText(formalName); //pns$ break; ・ ・
« Hibernate search 導入 | トップページ | サーバーのバックアップ機が遅くなった »
「OpenDolphin」カテゴリの記事
- 運用17年目のまとめ(2025.02.03)
- IME on/off の切換 - その2(2024.12.02)
- OrcaController オルコン(2024.11.28)
- OpenDolphin: java 21 / wildfly 34 への移行(2024.11.08)
- IME on/off の切り替え(2024.09.03)