Package open.dolphin.dao

Source Code of open.dolphin.dao.OrcaEntry

package open.dolphin.dao;

import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import open.dolphin.infomodel.ClaimItem;
import open.dolphin.infomodel.IInfoModel;
import open.dolphin.infomodel.ModuleInfoBean;

/**
* ORCA のデータベース検索した情報を入れておくクラス
* @author pns
*/
public class OrcaEntry implements Comparable {
    /** 今日の日付 */
    private static String refDate;
    static {
        GregorianCalendar gc = new GregorianCalendar();
        SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");
        refDate = f.format(gc.getTime());
    }
    // tbl_tensu, tbl_byome 共通項目
    /** 診療行為コード srycd (or byomeicd) */
    private String code;
    /** 漢字名称 name (or byomei) */
    private String name;
    /** カナ名称 kananame (or byomeikana) */
    private String kananame;
    /** 有効開始年月日 yukostymd (or syusaihymd) */
    private String startDate;
    /** 有効終了年月日 yukoedymd (or haishiymd) */
    private String endDate;
    /** 正式名称 formalname */
    private String formalname;
    /** 単位名称 taniname */
    private String unit;
    /** 点数識別 tensikibetu */
    private String tensikibetu;
    /** 点数 ten */
    private String ten;
    /** 入外適用区分 nyugaitekkbn */
    private String nyugaitekkbn;
    /** 後期高齢者適用区分 routekkbn */
    private String routekkbn;
    /** 診療種別区分 srysyukbn */
    private String claimClassCode;
    /** 病院診療所区分 hospsrykbn */
    private String hospsrykbn;
    /** 薬価基準コード yakkakjncd */
    private String yakkakjncd;
    /** 薬剤区分 ykzkbn */
    private String ykzkbn;
    /** ICD10 icd10(4.5) or icd10_1(4.6) */
    private String icd10;
   
    // tbl_inputcd
    /** 入力コード(tbl_inputset)と共通 */
    private String inputCd;
    /** 表示名 */
    private String dspName;
   
    // tbl_inputset
    private float suryo1;
    private int kaisu;
    private String coment;
   
    // tbl_ptbyomei
    private String tenkiKbn;

    public OrcaEntry() {}
   
    /**
     * 診療行為コード srycd (or byomeicd)
     * @return the code
     */
    public String getCode() {
        return code;
    }

    /**
     * 診療行為コード srycd (or byomeicd)
     * @param code the code to set
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * 漢字名称 name (or byomei)
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * 漢字名称 name (or byomei)
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * カナ名称 kananame (or byomeikana)
     * @return the kananame
     */
    public String getKananame() {
        return kananame;
    }

    /**
     * カナ名称 kananame (or byomeikana)
     * @param kananame the kananame to set
     */
    public void setKanaName(String kananame) {
        this.kananame = kananame;
    }

    /**
     * 有効開始年月日 yukostymd (or syusaihymd)
     * @return the startDate
     */
    public String getStartDate() {
        return startDate;
    }

    /**
     * 有効開始年月日 yukostymd (or syusaihymd)
     * @param startDate the startDate to set
     */
    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    /**
     * 有効終了年月日 yukoedymd (or haishiymd)
     * @return the endDate
     */
    public String getEndDate() {
        return endDate;
    }

    /**
     * 有効終了年月日 yukoedymd (or haishiymd)
     * @param endDate the endDate to set
     */
    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    /**
     * 正式名称 formalname
     * @return the formalname
     */
    public String getFormalname() {
        return formalname;
    }

    /**
     * 正式名称 formalname
     * @param formalname the formalname to set
     */
    public void setFormalName(String formalname) {
        this.formalname = formalname;
    }

    /**
     * 単位名称 taniname
     * @return the unit
     */
    public String getUnit() {
        return unit;
    }

    /**
     * 単位名称 taniname
     * @param unit the unit to set
     */
    public void setUnit(String unit) {
        this.unit = unit;
    }

    /**
     * 点数識別 tensikibetu
     * @return the tensikibetu
     */
    public String getTensikibetu() {
        return tensikibetu;
    }

    /**
     * 点数識別 tensikibetu
     * @param tensikibetu the tensikibetu to set
     */
    public void setTensikibetu(String tensikibetu) {
        this.tensikibetu = tensikibetu;
    }

    /**
     * 点数 ten
     * @return the ten
     */
    public String getTen() {
        return ten;
    }

    /**
     * 点数 ten
     * @param ten the ten to set
     */
    public void setTen(String ten) {
        this.ten = ten;
    }

    /**
     * 入外適用区分 nyugaitekkbn
     * @return the nyugaitekkbn
     */
    public String getNyugaitekkbn() {
        return nyugaitekkbn;
    }

    /**
     * 入外適用区分 nyugaitekkbn
     * @param nyugaitekkbn the nyugaitekkbn to set
     */
    public void setNyugaitekkbn(String nyugaitekkbn) {
        this.nyugaitekkbn = nyugaitekkbn;
    }

    /**
     * 後期高齢者適用区分 routekkbn
     * @return the routekkbn
     */
    public String getRoutekkbn() {
        return routekkbn;
    }

    /**
     * 後期高齢者適用区分 routekkbn
     * @param routekkbn the routekkbn to set
     */
    public void setRoutekkbn(String routekkbn) {
        this.routekkbn = routekkbn;
    }

    /**
     * 診療種別区分 srysyukbn
     * @return the claimClassCode
     */
    public String getClaimClassCode() {
        return claimClassCode;
    }

    /**
     * 診療種別区分 srysyukbn
     * @param claimClassCode the claimClassCode to set
     */
    public void setClaimClassCode(String claimClassCode) {
        this.claimClassCode = claimClassCode;
    }

    /**
     * 病院診療所区分 hospsrykbn
     * @return the hospsrykbn
     */
    public String getHospsrykbn() {
        return hospsrykbn;
    }

    /**
     * 病院診療所区分 hospsrykbn
     * @param hospsrykbn the hospsrykbn to set
     */
    public void setHospsrykbn(String hospsrykbn) {
        this.hospsrykbn = hospsrykbn;
    }

    /**
     * 薬価基準コード yakkakjncd
     * @return the yakkakjncd
     */
    public String getYakkakjncd() {
        return yakkakjncd;
    }

    /**
     * 薬価基準コード yakkakjncd
     * @param yakkakjncd the yakkakjncd to set
     */
    public void setYakkakjncd(String yakkakjncd) {
        this.yakkakjncd = yakkakjncd;
    }

    /**
     * 薬剤区分 ykzkbn
     * @return the ykzkbn
     */
    public String getYkzkbn() {
        return ykzkbn;
    }

    /**
     * 薬剤区分 ykzkbn
     * @param ykzkbn the ykzkbn to set
     */
    public void setYkzkbn(String ykzkbn) {
        this.ykzkbn = ykzkbn;
    }

    /**
     * ICD10 icd10(4.5) or icd10_1(4.6)
     * @return the icd10
     */
    public String getIcd10() {
        return icd10;
    }

    /**
     * ICD10 icd10(4.5) or icd10_1(4.6)
     * @param icd10 the icd10 to set
     */
    public void setIcd10(String icd10) {
        this.icd10 = icd10;
    }
   
    /**
     * tbl_inputcd の入力コード
     * @return tbl_inputcd inputcd
     */
    public String getInputCd() {
        return inputCd;
    }
   
    /**
     * tbl_inputcd の入力コード
     * @param inputCd
     */
    public void setInputCd(String inputCd) {
        this.inputCd = inputCd;
    }

    /**
     * tbl_inputcd の表示名
     * @return
     */
    public String getDspName() {
        return dspName;
    }

    /**
     * tbl_inputcd の表示名
     * @param dspName
     */
    public void setDspName(String dspName) {
        this.dspName = dspName;
    }

    /**
     * tbl_inputset の回数
     * @return
     */
    public int getKaisu() {
        return kaisu;
    }

    /**
     * tbl_inputset の回数
     * @param kaisu
     */
    public void setKaisu(int kaisu) {
        this.kaisu = (kaisu == 0)? 1 : kaisu;
    }
   
    /**
     * tbl_inputset の数量
     * @return
     */
    public float getSuryo1() {
        return suryo1;
    }

    /**
     * tbl_inputset の数量
     * @param suryo1
     */
    public void setSuryo1(float suryo1) {
        this.suryo1 = suryo1;
    }

    /**
     * tbl_inputset の転帰
     * @return
     */
    public String getTenkiKbn() {
        return tenkiKbn;
    }

    /**
     * tbl_inputset の転帰
     * @param tenkiKbn
     */
    public void setTenkiKbn(String tenkiKbn) {
        this.tenkiKbn = tenkiKbn;
    }
   
    /**
     * tbl_inputset のコメント
     * @return
     */
    public String getComment() {
        return coment;
    }
   
    /**
     * tbl_inputset のコメント
     * @param comment
     */
    public void setComment(String comment) {
        this.coment = comment;
    }

    /**
     * 順番を決定する
     * @param obj
     * @return
     */
    @Override
    public int compareTo(Object obj) {
       
        OrcaEntry other = (OrcaEntry)obj;
       
        int myUse = getUseState(getStartDate(), getEndDate());
        int otherUse = getUseState(other.getStartDate(), other.getEndDate());
       
        // 有効期限状態が同じなら,コード順で比較
        if (myUse == otherUse && getCode() != null) return getCode().compareTo(other.getCode());
        // 有効期限内ならばそちらを優先
        if (myUse == 1) return -1;
        if (otherUse == 1) return 1;
        // そうでないならば,有効期限前を優先
        return myUse - otherUse;
    }

    /**
     * この Object とパラメータの Object が等しいかどうか
     * @param other
     * @return
     */
    @Override
    public boolean equals(Object other) {
        return (other instanceof OrcaEntry) && compareTo(other) == 0;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 17 * hash + (this.getCode() != null ? this.getCode().hashCode() : 0);
        return hash;
    }
   
    /**
     * 有効期限内かどうかを返す
     * @return
     */
    public boolean isInUse() {       
        return getUseState(getStartDate(), getEndDate()) == 1 ? true : false;
    }
   
    /**
     * 今日の日付と有効期限との関係を判定
     * @param startDate
     * @param endDate
     * @return 期限前=0,期限内=1,期限切れ=2
     */
    private int getUseState(String startDate, String endDate) {       
        // 有効期限前
        if (startDate != null && refDate.compareTo(startDate) < 0) return 0;
        // 有効期限後
        else if (endDate != null && refDate.compareTo(endDate) > 0) return 2;       
        // 有効期限内
        return 1;
    }
   
    /**
     * tbl_inputcd の情報から StampInfo を作る
     * @return
     */
    public ModuleInfoBean getStampInfo() {
        ModuleInfoBean ret = new ModuleInfoBean();
        ret.setStampName(getDspName());
        ret.setStampRole(IInfoModel.ROLE_ORCA_SET);
        ret.setEntity(IInfoModel.ENTITY_MED_ORDER);
        ret.setStampId(getInputCd());
        return ret;
    }
   
    /**
     * tbl_inputset の inputcd から ClaimItem を作る
     * @return
     */
    public ClaimItem getClaimItem() {
        ClaimItem ret = new ClaimItem();
        ret.setCode(getInputCd());
        ret.setNumber(String.valueOf(getSuryo1()));
        return ret;
    }
}
TOP

Related Classes of open.dolphin.dao.OrcaEntry

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.