package thyyxxk.webserver.utils;

import thyyxxk.webserver.constants.YesOrNo;
import thyyxxk.webserver.constants.sidicts.*;
import thyyxxk.webserver.entity.medicalinsurance.inpatient.InHspPsnInfo;
import thyyxxk.webserver.entity.medicalinsurance.query.DiseInfo;
import thyyxxk.webserver.entity.medicalinsurance.query.MdtrtInfo;
import thyyxxk.webserver.entity.medicalinsurance.setllist.InptntSetlmtLst;
import thyyxxk.webserver.entity.medicalinsurance.setllist.OtptntSetlmtLst;

/**
 * @description: 新医保字典编码名称映射
 * @author: DingJie
 * @create: 2021/7/2917:01
 */
public class SiEnumReflectUtil {

    public static void mdtrtInfoReflect(MdtrtInfo mdtrtInfo) {
        mdtrtInfo.setGendName(Gend.get(mdtrtInfo.getGend()).getName());
        PsnCertType psnCertType = PsnCertType.get(mdtrtInfo.getPsnCertType());
        if (null != psnCertType) {
            mdtrtInfo.setPsnCertTypeName(psnCertType.getName());
        }
        Naty naty = Naty.get(mdtrtInfo.getNaty());
        if (null != naty) {
            mdtrtInfo.setNatyName(naty.getName());
        }
        Insutype insutype = Insutype.get(mdtrtInfo.getInsutype());
        if (null != insutype) {
            mdtrtInfo.setInsutypeName(insutype.getName());
        }
        PsnType psnType = PsnType.get(mdtrtInfo.getPsnType());
        if (null != psnType) {
            mdtrtInfo.setPsnTypeName(psnType.getName());
        }
        MdtrtCertType mdtrtCertType = MdtrtCertType.get(mdtrtInfo.getMdtrtCertType());
        if (null != mdtrtCertType) {
            mdtrtInfo.setMdtrtCertTypeName(mdtrtCertType.getName());
        }
        MedType medType = MedType.get(mdtrtInfo.getMedType());
        if (null != medType) {
            mdtrtInfo.setMedTypeName(medType.getName());
        }
        DscgWay dscgWay = DscgWay.get(mdtrtInfo.getDscgWay());
        if (null != dscgWay) {
            mdtrtInfo.setDscgWayName(dscgWay.getName());
        }
        MatnType matnType = MatnType.get(mdtrtInfo.getMatnType());
        if (null != matnType) {
            mdtrtInfo.setMatnTypeName(matnType.getName());
        }
        BirctrlType birctrlType = BirctrlType.get(mdtrtInfo.getBirctrlType());
        if (null != birctrlType) {
            mdtrtInfo.setBirctrlTypeName(birctrlType.getName());
        }
        if (null != mdtrtInfo.getInhospStas()) {
            if (mdtrtInfo.getInhospStas().equals(YesOrNo.YES.getCodeStr())) {
                mdtrtInfo.setInhospStasName("在院");
            } else {
                mdtrtInfo.setInhospStasName("出院");
            }
        }
        if (null != mdtrtInfo.getMafPsnFlag()) {
            if (mdtrtInfo.getMafPsnFlag().equals(YesOrNo.YES.getCodeStr())) {
                mdtrtInfo.setMafPsnFlagName("是");
            } else {
                mdtrtInfo.setMafPsnFlagName("否");
            }
        }
        if (null != mdtrtInfo.getCvlservFlag()) {
            if (mdtrtInfo.getCvlservFlag().equals(YesOrNo.YES.getCodeStr())) {
                mdtrtInfo.setCvlservFlagName("是");
            } else {
                mdtrtInfo.setCvlservFlagName("否");
            }
        }
        if (null != mdtrtInfo.getFlxempeFlag()) {
            if (mdtrtInfo.getFlxempeFlag().equals(YesOrNo.YES.getCodeStr())) {
                mdtrtInfo.setFlxempeFlagName("是");
            } else {
                mdtrtInfo.setFlxempeFlagName("否");
            }
        }
        if (null != mdtrtInfo.getArsYearIptFlag()) {
            if (mdtrtInfo.getArsYearIptFlag().equals(YesOrNo.YES.getCodeStr())) {
                mdtrtInfo.setArsYearIptFlag("是");
            } else {
                mdtrtInfo.setArsYearIptFlag("否");
            }
        }
        if (null != mdtrtInfo.getPrePayFlag()) {
            if (mdtrtInfo.getPrePayFlag().equals(YesOrNo.YES.getCodeStr())) {
                mdtrtInfo.setPrePayFlagName("是");
            } else {
                mdtrtInfo.setPrePayFlagName("否");
            }
        }
        if (null != mdtrtInfo.getNwbFlag()) {
            if (mdtrtInfo.getNwbFlag().equals(YesOrNo.YES.getCodeStr())) {
                mdtrtInfo.setNwbFlagName("是");
            } else {
                mdtrtInfo.setNwbFlagName("否");
            }
        }
        if (null != mdtrtInfo.getLatechbFlag()) {
            if (mdtrtInfo.getLatechbFlag().equals(YesOrNo.YES.getCodeStr())) {
                mdtrtInfo.setLatechbFlagName("是");
            } else {
                mdtrtInfo.setLatechbFlagName("否");
            }
        }
        if (null != mdtrtInfo.getPretFlag()) {
            if (mdtrtInfo.getPretFlag().equals(YesOrNo.YES.getCodeStr())) {
                mdtrtInfo.setPretFlagName("是");
            } else {
                mdtrtInfo.setPretFlagName("否");
            }
        }
        if (null != mdtrtInfo.getCopFlag()) {
            if (mdtrtInfo.getCopFlag().equals(YesOrNo.YES.getCodeStr())) {
                mdtrtInfo.setCopFlagName("是");
            } else {
                mdtrtInfo.setCopFlagName("否");
            }
        }
    }

    public static void diseInfoReflect(DiseInfo diseInfo) {
        DiagType diagType = DiagType.get(diseInfo.getDiagType());
        if (null != diagType) {
            diseInfo.setDiagTypeName(diagType.getName());
        }
        InoutDiagType inoutDiagType = InoutDiagType.get(diseInfo.getInoutDiagType());
        if (null != inoutDiagType) {
            diseInfo.setInoutDiagTypeName(inoutDiagType.getName());
        }
        if (null != diseInfo.getMaindiagFlag()) {
            if (diseInfo.getMaindiagFlag().equals(YesOrNo.YES.getCodeStr())) {
                diseInfo.setMaindiagFlagName("是");
            } else {
                diseInfo.setMaindiagFlagName("否");
            }
        }
    }

    public static void inHspPsnInfoReflect(InHspPsnInfo psnInfo) {
        psnInfo.setGendName(Gend.get(psnInfo.getGend()).getName());
        PsnCertType psnCertType = PsnCertType.get(psnInfo.getPsnCertType());
        if (null != psnCertType) {
            psnInfo.setPsnCertTypeName(psnCertType.getName());
        }
        Insutype insutype = Insutype.get(psnInfo.getInsutype());
        if (null != insutype) {
            psnInfo.setInsutypeName(insutype.getName());
        }
        MedType medType = MedType.get(psnInfo.getMedType());
        if (null != medType) {
            psnInfo.setMedTypeName(medType.getName());
        }
        if (null != psnInfo.getOutFlag()) {
            if (psnInfo.getOutFlag().equals(YesOrNo.YES.getCodeStr())) {
                psnInfo.setOutFlagName("是");
            } else {
                psnInfo.setOutFlagName("否");
            }
        }
    }

    public static void inptntSetlmtLstReflect(InptntSetlmtLst lst) {
        PsnType psnType = PsnType.get(lst.getPsnType());
        if (null != psnType) {
            lst.setPsnTypeName(psnType.getName());
        }
        if (YesOrNo.YES.getCodeStr().equals(lst.getCvlservFlag())) {
            lst.setCvlservFlagName("是");
        } else {
            lst.setCvlservFlagName("否");
        }
        MdtrtCertType mdtrtCertType = MdtrtCertType.get(lst.getMdtrtCertType());
        if (null != mdtrtCertType) {
            lst.setMdtrtCertTypeName(mdtrtCertType.getName());
        }
        MedType medType = MedType.get(lst.getMedType());
        if (null != medType) {
            lst.setMedTypeName(medType.getName());
        }
    }

    public static void outptntSetlmtLstReflect(OtptntSetlmtLst lst) {
        lst.setGendName(Gend.get(lst.getGend()).getName());
        PsnType psnType = PsnType.get(lst.getPsnType());
        if (null != psnType) {
            lst.setPsnTypeName(psnType.getName());
        }
        CvlservLv cvlservLv = CvlservLv.get(lst.getCvlservFlag());
        if (null != cvlservLv) {
            lst.setCvlservFlagName(cvlservLv.getName());
        }
        MedType medType = MedType.get(lst.getMedType());
        if (null != medType) {
            lst.setMedTypeName(medType.getName());
        }
    }

}
