科室登记使用新的提示

来源:互联网 发布:时间校准软件 编辑:程序博客网 时间:2024/04/30 08:19


    /// <summary>        /// 获得可以检查的检查模块 2017-04-22yqs逐行注释        /// 处理问题时候碰到“该客人没有能在本科室完成的项目或其项目已经由其他医生完成”非常麻烦,这个提示过于笼统。每每都要跟代码才能分析原因。需要考虑:科室权限、医生权限、调整个人状态、项目状态、录入人账号(ID与姓名对应)、收费状态、过期情况。        /// 这次试图把各种情况归类,并且返回一系列编码,表明错误类型。方便纠错。        /// 0,非本科室项目        /// 1,可以检查        /// 2,        /// 3,        /// 4,本人保存,但其它人录入的        /// </summary>        /// <param name="oT_SINGLE_CHECKMODULEEntityEx"></param>        /// <returns></returns>        public EnumStatus_T_SINGLE_CHECKMODULE GetEnableCheckModule(T_SINGLE_CHECKMODULEEntityEx oT_SINGLE_CHECKMODULEEntityEx, out string mess)        {            mess = "";            if (oT_SINGLE_CHECKMODULEEntityEx == null)            {                return EnumStatus_T_SINGLE_CHECKMODULE.传来项目为空;            }            if (string.IsNullOrEmpty(this._DtCheckModuleEnable))            {                mess = "本科室未配置检查权限";                return EnumStatus_T_SINGLE_CHECKMODULE.本科室无检查权限;            }            if (this._DtCheckModuleEnable.IndexOf("[" + oT_SINGLE_CHECKMODULEEntityEx.CHECKMODULEID.Trim() + "]") < 0)            {//如果传来的检查模块为空,或者本科室可检检查模块为空,或者传来的检查模块不在本科室可查模块中                mess = string.Format("本科室可检检查模块有:{0}", this._DtCheckModuleEnable);                return EnumStatus_T_SINGLE_CHECKMODULE.不在本科室;            }            if (oT_SINGLE_CHECKMODULEEntityEx.ISCHARGED == "1")            {//如果已经缴费                if (oT_SINGLE_CHECKMODULEEntityEx.ISCHECKED == EnumISCheckedStatus.返表待查.ToString("d")                    || oT_SINGLE_CHECKMODULEEntityEx.ISCHECKED == EnumISCheckedStatus.放弃.ToString("d"))                {//状态是返表待查或者放弃,可以检查                    return EnumStatus_T_SINGLE_CHECKMODULE.可以检查;                }                else                {//其他状态                    if (string.IsNullOrEmpty(oT_SINGLE_CHECKMODULEEntityEx.INPUTDTID))                    {//如果录入人账号为空:没有录入过,可以检查                        return EnumStatus_T_SINGLE_CHECKMODULE.可以检查;                    }                    else                    {//已经有人录入                        if (oT_SINGLE_CHECKMODULEEntityEx.OVERDUE == "0")                        {//客户体检未过期                            if (oT_SINGLE_CHECKMODULEEntityEx.INPUTDTID == this._DtID)                            {//如果已经录入过,录入人为当前用户,且没有过期                                return EnumStatus_T_SINGLE_CHECKMODULE.可以检查;                            }                            else                            {//但其它人录入的                                mess = string.Format("录入人ID:{0},当前账号ID{1}", oT_SINGLE_CHECKMODULEEntityEx.INPUTDTID, this._DtID);                                return EnumStatus_T_SINGLE_CHECKMODULE.其他人录入;                            }                        }                        else                        {//客户体检已过期                            mess = string.Format("项目{0}已过了准许检查日期", oT_SINGLE_CHECKMODULEEntityEx.CHECKMODULENAME);                            return EnumStatus_T_SINGLE_CHECKMODULE.项目已过期;                        }                    }                }            }            else            {//未交费                if (oT_SINGLE_CHECKMODULEEntityEx.RECMDER == this._DtID)                {//推荐人为当前用户                    if (string.IsNullOrEmpty(oT_SINGLE_CHECKMODULEEntityEx.INPUTDTID))                    {//如果没有录入过,自己推得项,自己可以做。                        return EnumStatus_T_SINGLE_CHECKMODULE.可以检查;                    }                    else                    {//录入过结果了                        if (oT_SINGLE_CHECKMODULEEntityEx.OVERDUE == "0")                        {//客户体检未过期                            if (oT_SINGLE_CHECKMODULEEntityEx.INPUTDTID == this._DtID)                            {//如果已经录入过,录入人为当前用户,且没有过期                                return EnumStatus_T_SINGLE_CHECKMODULE.可以检查;                            }                            else                            {//自己推的项目,已经录入过,且别人录入的:只有开启“未交费可做”配置才可能出现这种情况。                                mess = string.Format("录入人ID:{0},当前账号ID{1}", oT_SINGLE_CHECKMODULEEntityEx.INPUTDTID, this._DtID);                                return EnumStatus_T_SINGLE_CHECKMODULE.其他人录入;                            }                        }                        else                        {//客户体检过期                            mess = string.Format("项目{0}已过了准许检查日期", oT_SINGLE_CHECKMODULEEntityEx.CHECKMODULENAME);                            return EnumStatus_T_SINGLE_CHECKMODULE.项目已过期;                        }                    }                }                else                {//别人推的项目                    if (BLLBaseInfo.GetSrvconfigBoolean(TableField.strCanGoOnWithNoFee))                    {//配置了未交费可以做                        return EnumStatus_T_SINGLE_CHECKMODULE.可以检查;                    }                    else                    {//未交费不可以做。                        mess = string.Format("系统设置未交费不可检查,且推项人ID为{0},当前账号ID为{1},项目为{2}", oT_SINGLE_CHECKMODULEEntityEx.RECMDER, this._DtID, oT_SINGLE_CHECKMODULEEntityEx.CHECKMODULENAME);                        return EnumStatus_T_SINGLE_CHECKMODULE.未交费;                    }                }            }        }


0 0
原创粉丝点击