Esempio n. 1
0
        /// <summary>
        /// 通过已保存的诊断主表设置DIDTO中主表属性
        /// </summary>
        /// <param name="item"></param>
        /// <param name="didto"></param>
        private void setCiDiagDOProperty(CiDiagDO cidiagDO, DIDTO didto)
        {
            //didto.Id_ditp = cidiagDO.Id_ditp; // 诊断类型 诊断过程状态_自定义档案
            //didto.Sd_ditp = cidiagDO.Sd_ditp;// 诊断类型编码
            //didto.Id_ditp_name = cidiagDO.Id_ditp_name; // 诊断类型名称

            didto.Id_di = cidiagDO.Id_di;                               // 诊断主表id

            didto.Id_emp_create      = cidiagDO.Id_emp_create;          // 开立医生 诊断医生 取当前登录人
            didto.Id_emp_create_name = cidiagDO.Empname;                // 开立医生姓名 医生姓名 取当前登录人
            didto.Dt_di              = CommonExtentions.NowTime(this);; // 诊断时间 当前时间
            didto.Id_dep_create      = cidiagDO.Id_dep_create;          // 开立科室
            didto.Id_dep_create_name = cidiagDO.Name_dep_create;        // 开立科室名称
            didto.Dt_create          = cidiagDO.Dt_create;              // 开立时间

            //didto.Id_dep = ""; // 诊断科室
            didto.Id_en     = cidiagDO.Id_en;           // 就诊id
            didto.Id_pat    = cidiagDO.Id_pat;          // 患者id
            didto.Id_entp   = cidiagDO.Id_entp;         // 就诊类型
            didto.Code_entp = cidiagDO.Code_entp;       // 就诊类型编码

            didto.Id_emp_sign   = cidiagDO.Id_emp_sign; // 签署人
            didto.Name_emp_sign = cidiagDO.Signname;    // 签署人名称
            didto.Id_dep_sign   = cidiagDO.Id_dep_sign; // 签署科室
            didto.Dt_sign       = cidiagDO.Dt_sign;     // 签署时间
            didto.Fg_sign       = FBoolean.True;        // 签署标志
        }
Esempio n. 2
0
        /// <summary>
        /// *******************************************保存*******************************************
        /// </summary>
        /// <returns></returns>
        public bool SaveConsRpt()
        {
            CiOrdConsRptDO consRptDo;

            if (this.rptArray.Count() != 0)
            {
                consRptDo        = this.rptArray[0];
                consRptDo.Status = DOStatus.UPDATED;
            }
            else
            {
                consRptDo = new CiOrdConsRptDO();
            }
            if (consDTO == null)
            {
                this.ShowInfo("会诊申请不存在,无法保存!");
                return(false);
            }
            //consRptDo.id_rptcons    =	//主键	SINGLE	String	id
            consRptDo.Id_apcons       = consDTO.Id_emsconsitem;                        //会诊申请单id
            consRptDo.Dt_actual       = consDTO.Dt_plan;                               //实际会诊时间	SINGLE	FD
            consRptDo.Advice          = consDTO.Advice;                                //会诊意见	SINGLE	备注
            consRptDo.Id_emp_rpt      = UserManager.getInstance().CurrentUser.Id_user; //报告人	REF	用户	id
            consRptDo.Id_dep_rpt      = UserManager.getInstance().CurrentDept.Id_dep;  //报告科室	REF	部门	id
            consRptDo.Dt_rpt          = CommonExtentions.NowTime(this);                //报告时间	SINGLE	FDateT
            consRptDo.Id_emp_host     = consDTO.Id_emp_host;                           //会诊主持	REF	用户	id
            consRptDo.Id_place_actual = consDTO.Id_place;                              //实际会诊地点	REF	地点
            consRptDo.Sd_su_rpt       = CiDictCodeConst.SD_SU_RPT_OPEN;                //会诊记录状态编码	SINGLE
            consRptDo.Id_su_rpt       = CiDictCodeConst.SD_SU_RPT_ID_OPEN;             //会诊记录状态id	REF	St
            consRptDo.Name_place      = consDTO.Name_place;
            this.consrptService.save(new CiOrdConsRptDO[] { consRptDo });
            return(true);
        }
Esempio n. 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="didto"></param>
        /// <param name="item"></param>
        /// <param name="ditp_code"></param>
        private void FillDiItemInfo(DIDTO didto, Cidixy item, string ditp_code)
        {
            didto.Id_diitm         = null;
            didto.Id_didef         = item.Id_didef;
            didto.Didef_code       = item.Id_didef_code;
            didto.Didef_name       = item.Id_didef_name;
            didto.Id_ditp          = this.HeadDiDiagDO.Id_ditp;
            didto.Sd_ditp          = this.HeadDiDiagDO.Sd_ditp;
            didto.Id_ditp_name     = item.Id_ditp_name;
            didto.Supplement       = item.Supplement;
            didto.Id_disys         = item.Id_disys;
            didto.Sd_disys         = item.Sd_disys;
            didto.Id_disys_name    = item.Id_disys_name;
            didto.Di_standard      = item.Di_standard;
            didto.Di_standard_name = item.Di_standard_name;
            didto.Fg_suspdi        = item.Fg_suspdi;
            didto.Fg_ur            = item.Fg_ur;
            didto.Id_infectiontp   = item.Id_infectiontp;
            didto.Sd_infectiontp   = item.Sd_infectiontp;
            didto.Fg_majdi         = (ditp_code == CiDictCodeConst.SD_SUPPLY ? false : item.Fg_majdi);

            didto.Dt_di      = CommonExtentions.NowTime(this);
            didto.Supplement = item.Supplement;
            didto.Fg_chronic = item.Fg_chronic;
            didto.Fg_special = item.Fg_special;

            didto.Id_disys_name = "西医诊断";
        }
Esempio n. 4
0
        /// <summary>
        /// 通过Ent4BannerDTO设置DIDTO中主表属性
        /// <para>该方法为未保存过诊断时调用</para>
        ///
        /// </summary>
        /// <param name="bannerDTO">banner数据</param>
        /// <param name="didto"></param>
        private void setCiDiagDOProperty(Ent4BannerDTO bannerDTO, DIDTO didto)
        {
            DeptDO   dept     = context.Dept;
            PsnInfo  psnInfo  = context.PsnInfo;
            DateTime dataTime = CommonExtentions.NowTime(this);

            didto.Id_emp_create      = psnInfo.Id_psndoc; // 开立医生 诊断医生 取当前登录人
            didto.Id_emp_create_name = psnInfo.Name;      // 开立医生姓名 医生姓名 取当前登录人
            didto.Dt_di              = dataTime;          // 诊断时间 (诊断时间与开立时间 Dt_create 重复,暂且都赋值)
            didto.Id_dep_create      = dept.Id_dep;       // 开立科室
            didto.Id_dep_create_name = dept.Name;         // 开立科室名称
            didto.Dt_create          = dataTime;          // 开立时间

            didto.Id_dep    = dept.Id_dep;                // 诊断科室  是否还有用?
            didto.Id_en     = bannerDTO.Id_ent;           // 就诊id
            didto.Id_pat    = bannerDTO.Id_pat;           // 患者id
            didto.Id_entp   = bannerDTO.Id_entp;          // 就诊类型
            didto.Code_entp = bannerDTO.Code_entp;        // 就诊类型编码

            didto.Id_emp_sign   = psnInfo.Id_psndoc;      // 签署人
            didto.Name_emp_sign = psnInfo.Name;           // 签署人名称
            didto.Id_dep_sign   = dept.Id_dep;            // 签署科室
            didto.Dt_sign       = dataTime;               // 签署时间

            didto.Fg_sign = FBoolean.True;                // 签署标志
        }
Esempio n. 5
0
        protected override void OnXapFormControl_ModelFilled(object sender, EventArgs e)
        {
            base.OnXapFormControl_ModelFilled(sender, e);
            this.ResetColumnsInfo(this.GetGridControl());
            if (GetViewModel() == null)
            {
                return;
            }

            GetGridControl().DataTable.DataSource = GetViewModel().GetTableDataSource();
            OnRefreshData();
            SetIndicatorControl();

            var dtAge = new DateTime(CommonExtentions.NowTime(this).Subtract(DateTime.Parse(this.GetViewModel().GetEnt4BannerDTO().Dt_birth)).Ticks);

            var nAge = dtAge.Year;

            try
            {
                int[] ages = CalcAgeArray.getAgeArray(DateTime.Parse(this.GetViewModel().GetEnt4BannerDTO().Dt_birth));
                if (ages != null)
                {
                    nAge = ages[0];
                }
            }
            catch //(Exception exc)
            {
                this.SetStatusMsg("年龄使用默认值");
            }

            var pregnat_num = AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "preblood.pregnat_num") as XLabelBaseUserRender;

            if (null != pregnat_num && this.allowEdit)
            {
                // 1,男性; 2, 女
                pregnat_num.NullFlag = this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "1" || (nAge < 18 && this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "2");
                pregnat_num.Enabled  = !(this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "1");
            }
            var parturition_cnt = AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "preblood.parturition_cnt") as XLabelBaseUserRender;

            if (null != parturition_cnt && this.allowEdit)
            {
                parturition_cnt.NullFlag = this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "1" || (nAge < 18 && this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "2");
                parturition_cnt.Enabled  = !(this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "1");
            }

            var ur = AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "preblood.no_db");

            ur.Enabled = checkbox.Checked;
            (ur as XLabelBaseUserRender).NullFlag = !ur.Enabled;
            if (!ur.Enabled)
            {
                (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).Emsapbt.No_db = null;
            }

            AdjustLayout();

            this.SetFocus();
        }
Esempio n. 6
0
 public void GetInviteCons(string id_invite)
 {
     inviteList.Clear();
     EmsItemInCons[] invites = inviteVM.GetInviteCons(id_invite);
     invites.ToList().ForEach(p => {
         p.Dt_response = CommonExtentions.NowTime(this);
         inviteList.Add(p);
     });
 }
Esempio n. 7
0
        //诊断过程 类型
        public void setditp(Ent4BannerDTO patientsDTO, string ciditype)
        {
            if (patientsDTO != null)
            {
                this.xyCidiList.Clear();//清空集合
                this.zyCidiList.Clear();
                UdidocDO[] udidocs = qrySerice.getDiType(patientsDTO.Id_ent, ciditype);
                if (udidocs != null && udidocs.Count() > 0)
                {
                    DidtoAggDTO agg = new DidtoAggDTO();

                    this.CidixyAggDto.AggDO.getParentDO().Id_ditp      = udidocs[0].Id_udidoc;
                    this.CidixyAggDto.AggDO.getParentDO().Id_ditp_code = udidocs[0].Code;

                    this.CidixyAggDto.AggDO.getParentDO().Id_ditp_name       = udidocs[0].Name;
                    this.CidixyAggDto.AggDO.getParentDO().Id_emp_create      = UserManager.getInstance().CurrentPsnInfo.Id_psndoc;
                    this.CidixyAggDto.AggDO.getParentDO().Id_emp_create_name =
                        UserManager.getInstance().CurrentPsnInfo.Name;
                    this.CidixyAggDto.AggDO.getParentDO().Dt_di = CommonExtentions.NowTime(this);
                    // this.cidixyList.AggDO.setCididtozy(new Cididtozy[]{new Cididtozy(), });
                    //this.cidixyList.AggDO.setCidixy(null);
                    // 补充诊断
                    if (udidocs[0].Code == CiDictCodeConst.SD_SUPPLY)
                    {
                        this.xyCidiList.Clear();//清空集合
                        this.zyCidiList.Clear();
                    }
                    else
                    {
                        CidiagAggDO[] ciagg = qrySerice.getLastCiDiags(patientsDTO.Id_ent);
                        if (ciagg != null)
                        {
                            ciagg[0].getParentDO().Id_ditp       = udidocs[0].Id_udidoc;
                            ciagg[0].getParentDO().Sd_ditp       = udidocs[0].Code;
                            ciagg[0].getParentDO().Name_ditp     = udidocs[0].Name;
                            ciagg[0].getParentDO().Id_emp_create = UserManager.getInstance().CurrentPsnInfo.Id_psndoc;
                            ciagg[0].getParentDO().Empname       =
                                UserManager.getInstance().CurrentPsnInfo.Name;
                            ciagg[0].getParentDO().Dt_di   = CommonExtentions.NowTime(this);
                            ciagg[0].getParentDO().Fg_sign = FBoolean.False;
                            getCiDiDtoList(ciagg[0]);
                        }
                        else
                        {
                            // this.CidixyAggDto.AggDO.setCidixy(new Cidixy[] {new Cidixy()});
                            //this.CidixyAggDto.AggDO.setCididtozy(new Cididtozy[] { new Cididtozy() });
                            this.CidixyAggDto.AggDO.ChildrenList.Clear();
                            // agg.setCidixy(new Cidixy[]{new Cidixy()});
                            // this.CidixyAggDto = new XapAggDO<DidtoAggDTO>(qrySerice, agg);
                        }
                    }
                }
            }
        }
Esempio n. 8
0
        /// <summary>
        /// 检查当前所有医疗单中是否存在新建医疗单,或者存在没有保存的医疗单,并提出提示,用户自己决定知否向下执行
        /// </summary>
        /// <returns></returns>
        private bool CheckNewEmsView()
        {
            if (multiEmsGroup.ButtonCount > 1)
            {
                return(!CommonExtentions.IsContinue(this, "提示信息", "存在新建多医疗单,是否继续?"));
            }

            if (!GetSelectedEmsView().IsEmptyEmsViewType() && GetSelectedEmsView().IsNew())
            {
                return(!CommonExtentions.IsContinue(this, "提示信息", "存在未保存医疗单,是否继续?"));
            }
            return(false);
        }
 public static DIDTO DIDTOWith(MkrMsDiDO o, Ent4BannerDTO e = null, BaseContext c = null)
 {
     return(new DIDTO()
     {
         Code_entp = (e != null ? e.Code_entp : ""),
         Des_di = "",
         Di_disease = "",
         Di_standard = "",
         Di_standard_code = "",
         Di_standard_name = "",
         Didef_code = o.Didef_code,
         Didef_name = o.Didef_name,
         Dt_create = CommonExtentions.NowTime(o),
         Dt_di = CommonExtentions.NowTime(o),
         Dt_sign = CommonExtentions.NowTime(o),
         Fg_infedi = false,
         Fg_majdi = o.Fg_majdi,
         Fg_med = false,
         Fg_sign = true,
         Fg_suspdi = o.Fg_majdi != true,
         Id_dep = "",
         Id_dep_create = "",
         Id_dep_create_name = "",
         Id_dep_sign = (c != null ? c.Dept.Id_dep : ""),
         Id_di = null,
         Id_didef = o.Id_didef,
         //         Id_didef_syn { get; set; }
         //         Id_didef_syn_code { get; set; }
         //         Id_didef_syn_name { get; set; }
         //         Id_diitm = "",
         //         Id_disease_code { get; set; }
         //         Id_disease_name { get; set; }
         Id_disys = o.Id_cdsys,
         Id_disys_name = o.Cdsys_name,
         //         Id_ditp { get; set; }
         //         Id_ditp_name { get; set; }
         Id_emp_create = (c != null ? c.PsnInfo.Id_psndoc : ""),
         Id_emp_create_name = (c != null ? c.PsnInfo.Name : ""),
         Id_emp_sign = (c != null ? c.PsnInfo.Id_psndoc : ""),
         Id_en = (e != null ? e.Id_ent : ""),
         Id_entp = (e != null ? e.Id_entp : ""),
         Id_par = o.Id_par,
         Id_pat = (e != null ? e.Id_pat : ""),
         Name_emp_sign = (c != null ? c.PsnInfo.Name : ""),
         //         Sd_disys { get; set; }
         //         Sd_ditp { get; set; }
         Sortno = null,
         Supplement = o.Supplement
     });
 }
Esempio n. 10
0
        private CidiagAggDO CreateCidiagAggDO(Ent4BannerDTO e)
        {
            var aggdo = new CidiagAggDO();

            var pdo = new CiDiagDO {
                Code_dep_create = UserManager.getInstance().CurrentDept.Code,
                Code_ditp       = CiDictCodeConst.SD_OPDI,
                Code_entp       = e.Code_entp,
                Createdby       = UserManager.getInstance().CurrentPsnInfo.Id_psndoc,
                Createdtime     = CommonExtentions.NowTime(this),
                //Des_di
                //Ds
                Dt_create     = CommonExtentions.NowTime(this),
                Dt_di         = CommonExtentions.NowTime(this),
                Dt_sign       = CommonExtentions.NowTime(this),
                Empcode       = UserManager.getInstance().CurrentPsnInfo.Code,
                Empname       = UserManager.getInstance().CurrentPsnInfo.Name,
                Fg_sign       = true,
                Id_dep        = UserManager.getInstance().CurrentDept.Id_dep,
                Id_dep_create = UserManager.getInstance().CurrentDept.Id_dep,
                Id_dep_sign   = UserManager.getInstance().CurrentDept.Id_dep,
                //Id_di
                Id_ditp       = CiDictCodeConst.ID_OPDI,
                Id_emp_create = UserManager.getInstance().CurrentPsnInfo.Id_psndoc,
                Id_emp_sign   = UserManager.getInstance().CurrentPsnInfo.Id_psndoc,
                Id_en         = e.Id_ent,
                Id_entp       = e.Id_entp,
                Id_grp        = UserManager.getInstance().CurrentGroup.Id_grp,
                Id_org        = UserManager.getInstance().CurrentOrg.Id_org,
                Id_pat        = e.Id_pat,
                //Modifiedby
                //Modifiedtime
                Name            = "门诊诊断",
                Name_dep_create = UserManager.getInstance().CurrentDept.Name,
                Name_dep_sign   = UserManager.getInstance().CurrentDept.Name,
                Name_ditp       = "门诊诊断",
                Sd_ditp         = CiDictCodeConst.SD_OPDI
                                  //Signcode
                                  //Signname
            };

            aggdo.setParentDO(pdo);
            aggdo.setCiDiagItemDO(new CiDiagItemDO[] { new CiDiagItemDO {
                                                           Id_disys = CiDictCodeConst.ID_CI_DISYS_XYZDTX
                                                       },
                                                       new CiDiagItemDO {
                                                           Id_disys = CiDictCodeConst.ID_CI_DISYS_ZYZDTX
                                                       } });
            return(aggdo);
        }
Esempio n. 11
0
        public void Reload(String id_en)
        {
            HeadDiDiagDO = null;
            this.xyCidiList.Clear();
            this.zyCidiList.Clear();

            if (id_en != null)
            {
                string        sql           = string.Format("a0.id_en='{0}'", id_en);
                CidiagAggDO[] szCidiagAggDO = cidiagCrud.find(sql, "a0.createdtime ", false);

                if (szCidiagAggDO.Length > 0)
                {
                    CidiagAggDO diAggDo = szCidiagAggDO.LastOrDefault();

                    initCiDiDtoModel(diAggDo);
                }
            }
            else
            {
                CiLog4OpStation.WriteLog("错误:在加载诊断数据时候,患者就诊id为空");
            }

            if (this.HeadDiDiagDO == null)
            {
                HeadDiDiagDO               = new CiDiagDO();
                HeadDiDiagDO.Id_ditp       = CiDictCodeConst.ID_OPDI;
                HeadDiDiagDO.Sd_ditp       = CiDictCodeConst.SD_OPDI;
                HeadDiDiagDO.Des_di        = "";
                HeadDiDiagDO.Id_emp_create = UserManager.getInstance().CurrentPsnInfo.Id_psndoc;

                HeadDiDiagDO.Dt_di = CommonExtentions.NowTime(this);
            }

            if (this.xyCidiList.Count == 0)
            {
                this.xyCidiList.Add(new Cidixy());
                this.xyCidiList.Add(new Cidixy());
                this.xyCidiList.Add(new Cidixy());
                this.xyCidiList.Add(new Cidixy());
            }
            if (this.zyCidiList.Count == 0)
            {
                this.zyCidiList.Add(new Cididtozy());
                this.zyCidiList.Add(new Cididtozy());
                this.zyCidiList.Add(new Cididtozy());
                this.zyCidiList.Add(new Cididtozy());
            }
        }
Esempio n. 12
0
        /// <summary>
        /// 查询就诊医嘱
        /// </summary>
        public void Reload()
        {
            if (string.IsNullOrEmpty(this.id_en) || string.IsNullOrEmpty(this.code_entp))
            {
                if (this.xapList != null)
                {
                    this.xapList.Clear();
                }
                return;
            }

            // 获取服务类型显示名称
            if (sdSrvtpDic.Count == 0)
            {
                sdSrvtpDic = this.GetSdSrvtpDic();
            }

            CiOrderDO[] ciOrders = this.orderItemMService.find(getSearchSql(), " a0.createdtime  " + OrderSequenceModel, FBoolean.False);

            ciOrders.ToList().ForEach(p =>
            {
                p.Str_long = p.Fg_long.Value == true ? "长期" : "临时";
                if (p.Emp_stop_name == null || p.Emp_stop_name == "")
                {
                    p.Dt_end = null;
                } //如果没有停止医生 则医嘱列表停止时间 不显示 王琦需求
                if (!p.Fg_long.Value)
                {
                    p.Emp_stop_name = null;
                }
                if (!string.IsNullOrEmpty(p.Id_emp_sign) && !p.Id_emp_sign.Equals(p.Id_emp_or))
                {
                    p.Emp_sign_name = p.Emp_sign_name + "/" + p.Emp_phy_name;
                }
                else
                {
                    p.Emp_sign_name = p.Emp_phy_name;
                }
            });
            xapList = new XapDataList <CiOrderDO>(orderItemMService, ciOrders);
            //设定医嘱状态
            bool isOp = this.code_entp.Equals("00") ? true : false;

            logic.setOrderDisplayStatus(xapList, isOp);
            this.stoptime = CommonExtentions.NowTime(this);
        }
Esempio n. 13
0
        public void UpdateApConsInvite(string id_invite)
        {
            if (inviteList.Count == 0)
            {
                return;
            }
            EmsItemInCons     itemInCons = this.inviteList[0];
            CiordInviteConsDO con        = inviteCons.GetInviteConsById(id_invite);

            con.Dt_response     = CommonExtentions.NowTime(this);               //应答时间	SINGLE	FDateTime	19
            con.Fg_response     = true;                                         //应答标志	SINGLE	FBoolean	1
            con.Id_emp_response = UserManager.getInstance().CurrentUser.Id_psn; //应答人id	REF	用户	20
            con.Id_emp          = itemInCons.Id_emp_doctor;
            con.Id_emp_title    = itemInCons.Id_emp_title;
            con.Sd_emp_title    = itemInCons.Sd_emp_title;
            cons.SetUpdated();
            inviteCons.Save(new CiordInviteConsDO[] { con });
        }
Esempio n. 14
0
        /// <summary>
        /// 设置诊断与当前环境相关的属性
        /// </summary>
        /// <returns></returns>
        private DIDTO SetEnvironmentVariable(DIDTO diDTO)
        {
            // @@ 诊断映射可以统一优化
            DeptDO  dept    = this.context.Dept;
            PsnInfo user    = this.context.PsnInfo;
            PsnInfo psnInfo = UserManager.getInstance().CurrentPsnInfo; //.Id_psndoc;

            diDTO.Id_en     = this.ent4BannerDTO.Id_ent;                //就诊id
            diDTO.Id_pat    = this.ent4BannerDTO.Id_pat;                //患者id
            diDTO.Id_entp   = this.ent4BannerDTO.Id_entp;               //就诊类型
            diDTO.Code_entp = this.ent4BannerDTO.Code_entp;             //就诊类型编码

            diDTO.Id_ditp      = CiDictCodeConst.ID_OPDI;               //诊断类型 诊断过程状态 门诊、初步、入院、补充、修正、出院、死亡
            diDTO.Sd_ditp      = CiDictCodeConst.SD_OPDI;               //诊断类型编码
            diDTO.Id_ditp_name = "门诊诊断";                                //诊断类型名称

            diDTO.Id_emp_create      = user.Id_psndoc;                  //诊断医生
            diDTO.Id_emp_create_name = user.Name;                       //医生姓名
            diDTO.Id_dep             = dept.Id_dep;                     //诊断科室
            diDTO.Dt_di = CommonExtentions.NowTime(this);               //诊断时间

            diDTO.Id_emp_sign   = user.Id_psndoc;                       //签署人
            diDTO.Name_emp_sign = user.Name;                            //签署人名称
            diDTO.Fg_sign       = FBoolean.True;                        //签署标识
            diDTO.Id_dep_sign   = dept.Id_dep;                          //签署科室
            diDTO.Dt_sign       = CommonExtentions.NowTime(this);       //签署时间

            diDTO.Id_dep_create      = dept.Id_dep;                     //开立科室
            diDTO.Id_dep_create_name = dept.Name;                       //开立科室名称
            diDTO.Dt_create          = CommonExtentions.NowTime(this);  //开立时间

            // 根据诊断体系确定是中医诊断还是西医诊断,目前不是西医诊断都认为是中医诊断,蒙医、手术后续有调整是在判断
            // 西医标志 根据诊断体系判断,如果是西医诊断,设置为true,否则设置为false
            if (CiDictCodeConst.ID_CI_DISYS_XYZDTX.Equals(diDTO.Id_disys))
            {
                diDTO.Fg_med = FBoolean.True;
            }
            else
            {
                diDTO.Fg_med = FBoolean.False;
            }

            return(diDTO);
        }
Esempio n. 15
0
 private void FromEnt4BannerDTO(Ent4BannerDTO e)
 {
     medReferralDO.Id_grp    = context.Group.Id_grp;
     medReferralDO.Id_org    = context.Org.Id_org;
     medReferralDO.Id_pat    = e.Id_pat;
     medReferralDO.Name_pat  = e.Name_pat;
     medReferralDO.Id_ent    = e.Id_ent;
     medReferralDO.Code_ent  = e.Code_ent;
     medReferralDO.Code_entp = e.Code_entp;
     //medReferralDO.Id_di
     //medReferralDO.Name_di
     //medReferralDO.Id_diitm
     //medReferralDO.Str_code_di
     medReferralDO.Str_name_di = getDiInfo(e.Id_ent);
     medReferralDO.Id_sex      = e.Sd_sex.Equals(PiDictCodeConst.SD_SEX_MALE) ? PiDictCodeConst.ID_SEX_MALE : (e.Sd_sex.Equals(PiDictCodeConst.SD_SEX_FEMALE) ? PiDictCodeConst.ID_SEX_FEMALE : PiDictCodeConst.ID_SEX_UNEXPLAIN);
     medReferralDO.Sd_sex      = e.Name_sex;
     //int nAge = FromAgeString(e.Age);
     //medReferralDO.Age = (-1 != nAge ? nAge : 0);
     medReferralDO.Age      = e.Age;
     medReferralDO.Ido      = e.Id_code;
     medReferralDO.Id_dep   = e.Id_dep_phy;
     medReferralDO.Name_dep = e.Name_dep_phy;
     medReferralDO.Dt_acpt  = e.Dt_acpt;
     medReferralDO.Dt_end   = e.Dt_end;
     //medReferralDO.Code_org_referral2
     //medReferralDO.Name_org_referral2
     //medReferralDO.Reason_referral
     //medReferralDO.Des_initialdiag
     //medReferralDO.Des_question
     //medReferralDO.Diagtreatment
     //medReferralDO.Id_referraltp
     //medReferralDO.Sd_referraltp
     medReferralDO.Dt_referralperiodbegin = CommonExtentions.NowTime(this);
     medReferralDO.Dt_referralperiodend   = CommonExtentions.NowTime(this).AddDays(1);
     medReferralDO.Id_emp      = e.Id_emp_phy;
     medReferralDO.Name_emp    = e.Name_emp_phy;
     medReferralDO.Dt_open     = CommonExtentions.NowTime(this);
     medReferralDO.Times_print = 0;
     medReferralDO.Fg_seal     = FBoolean.False;
     medReferralDO.Address     = e.Address;
 }
Esempio n. 16
0
        public void SetCiORSrv(CiorderAggDO agg, EmsUIDTO emsHeadDO, List <OrdSrvDO> srvList)
        {
            int i = 1;

            //emsHeadDO.Emsaplab.EmsOrObsList
            emsHeadDO.Emsaplab.EmsOrObsList.ToList().ForEach(p =>
            {
                //把检查的项目 对照成服务
                OrdSrvDO srv = new OrdSrvDO();
                if (emsHeadDO.Status == DOStatus.UPDATED)
                {
                    //srv = agg.getOrdSrvDO()[emsHeadDO.Emsdrugs.EmsOrDrugList.IndexOf(p)];
                    //srv = agg.getOrdSrvDO().First(x => x.Id_orsrv == p.Id_orsrv);//找到数据库已经存在的
                    if (srv == null)//数据库找不到 可能是修改时候 新增了 药品
                    {
                        srv = new OrdSrvDO();
                    }
                }
                srv.Id_pat    = emsHeadDO.PatInfo.Id_pat;    //患者
                srv.Id_entp   = emsHeadDO.PatInfo.Id_entp;   //就诊类型
                srv.Code_entp = emsHeadDO.PatInfo.Code_entp; //就诊类型编码
                srv.Id_en     = emsHeadDO.PatInfo.Id_ent;    //就诊
                srv.Sortno    = i;                           //TODO: 顺序应该是机制生成的
                srv.Id_srvtp  = emsHeadDO.MedSrvDO.Id_srvtp; //	服务类型
                srv.Sd_srvtp  = emsHeadDO.MedSrvDO.Sd_srvtp; //服务类型编码
                srv.Id_srv    = emsHeadDO.MedSrvDO.Id_srv;   //服务项目
                srv.Name      = emsHeadDO.Emsaplab.Name_srv; //服务项目名称
                srv.Name      = p.Name_srv;

                //agg.getParentDO().Content_or = LogicEx.GetInstance().GetOrDes(emsHeadDO);
                agg.getParentDO().Dt_entry = emsHeadDO.Emsaplab.Dt_plan;//每条检查 不同的属性再进行独立赋值
                srv.Name = p.Name_srv;
                agg.getParentDO().Dt_entry = emsHeadDO.Emsaplab.Dt_plan;
                agg.getParentDO().Dt_stop  = CommonExtentions.NowTime(this);
                agg.getParentDO().Dt_effe  = CommonExtentions.NowTime(this);
                //agg.getParentDO().Content_or = emsHeadDO.Emsaplab.Name_samptp;
                //待完善
                srvList.Add(srv);
                i++;
            });
        }
Esempio n. 17
0
        /// <summary>
        /// 优化前方法
        /// </summary>
        /// <param name="emsCreateParameter"></param>
        /// <param name="pos"></param>
        /// <returns></returns>
        private bool Old_LoadMedSrv(EmsCreatedParameter emsCreateParameter, int pos)
        {
            base.LoadMedSrv(emsCreateParameter, pos);
            MedSrvDO med = emsCreateParameter.getMedSrvDO();

            med = XapServiceMgr.find <IMedsrvMDOCrudService>().findById(med.Id_srv);
            this.uiEmsDTO.MedSrvDO = med;
            orDataBing.AddBtDataBing(this.uiEmsDTO, med);
            var ub = GetCustomParam() as CiordubDTO;

            this.uiEmsDTO.CiordubDTO             = ub;
            this.uiEmsDTO.CiordubDTO.Dt_bu_pl_ub = CommonExtentions.NowTime(this);
            tableDatasource = new XapDataList <CiordubDTO>();
            //执行科室
            OrWfDeptInfoDTO wf = new GetDeptMpImp().GetDept_mp_ids(this.uiEmsDTO.PatInfo.Code_entp,
                                                                   this.uiEmsDTO.PatInfo.Id_entp,
                                                                   this.uiEmsDTO.MedSrvDO.Sd_srvtp,
                                                                   this.uiEmsDTO.MedSrvDO.Id_srvca,
                                                                   this.uiEmsDTO.MedSrvDO.Id_srv,
                                                                   this.uiEmsDTO.MedSrvDO.Id_route,
                                                                   "", this.uiEmsDTO.PatInfo.Id_dep_nur, this.uiEmsDTO.PatInfo.Id_dep_phy);

            if (wf != null)
            {
                uiEmsDTO.CiordubDTO.Id_mp_dep   = wf.Firstid_mp_dept;
                uiEmsDTO.CiordubDTO.Name_mp_dep = wf.Firstname_mp_dept;
            }
            this.uiEmsDTO.CiordubDTO.Dt_bu_pl_ub = this.uiEmsDTO.CiordubDTO.Dt_begin_ui = this.uiEmsDTO.CiordubDTO.Dt_bu_pl_ub == null?this.NowTime() : this.uiEmsDTO.CiordubDTO.Dt_bu_pl_ub;

            this.uiEmsDTO.CiordubDTO.Use_days  = 1;
            this.uiEmsDTO.CiordubDTO.Dt_end_ui = ((DateTime)this.uiEmsDTO.CiordubDTO.Dt_begin_ui).AddDays((int)this.uiEmsDTO.CiordubDTO.Use_days);
            this.uiEmsDTO.CiordubDTO.Times_cur = CalQuantumUtil.GetInstance().getTotalTimes(med.Id_freq, this.uiEmsDTO.CiordubDTO.Use_days);

            tableDatasource.Add(this.uiEmsDTO.CiordubDTO);
            //*/

            // ++


            return(true);
        }
Esempio n. 18
0
        /// <summary>
        /// DIDTO
        /// </summary>
        /// <param name="didto"></param>
        /// <param name="patientsDTO"></param>
        /// <param name="isSigned"></param>
        private void FillDiInfo(DIDTO didto, Ent4BannerDTO patientsDTO, bool isSigned = true)
        {
            didto.Id_di     = null;
            didto.Id_pat    = patientsDTO.Id_pat;
            didto.Id_en     = patientsDTO.Id_ent;
            didto.Id_entp   = patientsDTO.Id_entp;
            didto.Code_entp = patientsDTO.Code_entp;

            didto.Id_dep_create      = UserManager.getInstance().CurrentDept.Id_dep;
            didto.Id_dep_create_name = UserManager.getInstance().CurrentDept.Name;
            didto.Id_emp_create      = UserManager.getInstance().CurrentPsnInfo.Id_psndoc;
            didto.Id_emp_create_name = UserManager.getInstance().CurrentPsnInfo.Name;
            didto.Dt_create          = CommonExtentions.NowTime(this);
            didto.Fg_sign            = isSigned;
            if (isSigned)
            {
                didto.Id_dep_sign = UserManager.getInstance().CurrentDept.Id_dep;
                didto.Id_emp_sign = UserManager.getInstance().CurrentPsnInfo.Id_psndoc;
                didto.Dt_sign     = CommonExtentions.NowTime(this);
            }
        }
Esempio n. 19
0
        private ActionResult CreatePOST(int cAseId, bool publish = false)
        {
            var cAse = _cAseService.Get(cAseId, VersionOptions.Latest).As <CasePart>();

            if (cAse == null)
            {
                return(HttpNotFound());
            }

            var cAsePost = Services.ContentManager.New <CasePostPart>("CasePost");

            cAsePost.CasePart = cAse;

            if (!Services.Authorizer.Authorize(Permissions.EditCasePost, cAsePost, T("Couldn't create cAse post")))
            {
                return(new HttpUnauthorizedResult());
            }

            Services.ContentManager.Create(cAsePost, VersionOptions.Draft);
            var model = Services.ContentManager.UpdateEditor(cAsePost, this);

            CasePostAttribPart attri = cAsePost.Get <CasePostAttribPart>();
            int id = attri.Id;

            attri.CasePostNumber = cAsePost.ContentItem.Id;
            attri.CaseNumber     = _cAsePostService.GetNextCaseNumber(attri.CaseYear);

            if (cAsePost.Text.Contains("PFR"))
            {
                string[] caseHeader = CommonExtentions.ExtractCaseHeader(cAsePost.Text).ToArray();
                if (caseHeader.Length >= 4)
                {
                    string[] clients = CommonExtentions.GetClients(caseHeader[0].ToString());
                    if (clients.Length >= 2)
                    {
                        attri.CaseClient1 = clients[0].ToString();
                        attri.CaseClient2 = clients[1].ToString();
                    }
                    attri.CaseHeldCourt       = caseHeader[1].ToString();
                    attri.CaseDecisionTakenBy = caseHeader[2].ToString();
                    attri.CaseReference       = caseHeader[3].ToString();
                }
            }


            model = Services.ContentManager.UpdateEditor(cAsePost, this);

            if (!ModelState.IsValid)
            {
                Services.TransactionManager.Cancel();
                return(View(model));
            }

            if (publish)
            {
                if (!Services.Authorizer.Authorize(Permissions.PublishCasePost, cAsePost.ContentItem, T("Couldn't publish cAse post")))
                {
                    return(new HttpUnauthorizedResult());
                }

                Services.ContentManager.Publish(cAsePost.ContentItem);
            }


            Services.Notifier.Information(T("Your {0} has been created.", cAsePost.TypeDefinition.DisplayName));
            return(Redirect(Url.CasePostEdit(cAsePost)));
        }
Esempio n. 20
0
        /// <summary>
        /// 中医 集合
        /// </summary>
        /// <param name="type"></param>
        /// <param name="patientsDTO"></param>
        /// <param name="listDto"></param>
        /// <param name="list"></param>
        private string collectDidtoListFromzyList(string ditp_code, Ent4BannerDTO patientsDTO, List <DIDTO> lstDIDTOs, XapDataList <Cididtozy> lstCididtozy, string zy)
        {
            string str = zy;

            foreach (Cididtozy item in lstCididtozy)
            {
                if (IsEmpty(item))
                {
                    continue;
                }
                // 判断是 新增 还是修改
                DIDTO didto = new DIDTO();
                didto.Id_diitm = null;
                didto.Id_di    = null;

                didto.Id_didef   = item.Di_disease;
                didto.Didef_code = item.Id_disease_code;
                didto.Didef_name = item.Id_disease_name;

                didto.Id_didef_syn      = item.Id_syndrome;
                didto.Id_didef_syn_code = item.Id_syndrome_code;
                didto.Id_didef_syn_name = item.Id_syndrome_name;
                didto.Di_disease        = item.Di_disease;
                didto.Id_disease_code   = item.Id_disease_code;
                didto.Id_disease_name   = item.Id_disease_name;
                didto.Id_disys          = item.Id_disys;
                didto.Sd_disys          = item.Sd_disys;
                didto.Id_disys_name     = item.Id_disys_name;
                didto.Di_standard       = item.Di_standard;
                didto.Di_standard_name  = item.Di_standard_name;
                didto.Fg_suspdi         = item.Fg_suspdi;
                didto.Fg_ur             = item.Fg_ur;
                didto.Id_infectiontp    = item.Id_infectiontp;
                didto.Sd_infectiontp    = item.Sd_infectiontp;
                didto.Fg_chronic        = item.Fg_chronic;
                didto.Fg_special        = item.Fg_special;
                didto.Fg_majdi          = (ditp_code == CiDictCodeConst.SD_SUPPLY ? false : item.Fg_majdi);

                didto.Dt_di = CommonExtentions.NowTime(this); //this.ciagg.getParentDO().Dt_di;

                didto.Id_disys_name = zy;                     //item.Id_disys_name;

                didto.Id_ditp      = this.HeadDiDiagDO.Id_ditp;
                didto.Sd_ditp      = this.HeadDiDiagDO.Sd_ditp;
                didto.Id_ditp_name = this.HeadDiDiagDO.Name_ditp;

                didto.Id_en  = patientsDTO.Id_ent;
                didto.Id_pat = patientsDTO.Id_pat;

                didto.Id_dep_create      = UserManager.getInstance().CurrentDept.Id_dep;
                didto.Id_dep_create_name = UserManager.getInstance().CurrentDept.Name;
                didto.Id_emp_create      = UserManager.getInstance().CurrentUser.Id_user;
                didto.Id_emp_create_name = UserManager.getInstance().CurrentUser.Name;

                didto.Fg_sign     = true;
                didto.Id_dep_sign = UserManager.getInstance().CurrentDept.Id_dep;
                didto.Id_emp_sign = UserManager.getInstance().CurrentPsnInfo.Id_psndoc;
                didto.Dt_sign     = CommonExtentions.NowTime(this);

                str += ((item.Fg_suspdi != null && (bool)item.Fg_suspdi) ? " ?  \n" : "   \n");

                lstDIDTOs.Add(didto);
            }
            return(str);
        }
Esempio n. 21
0
        /// <summary>
        /// 将UI模型中的EmsOrDrug对象转化为CiEmsSrvDTO对象
        /// </summary>
        /// <param name="p"></param>
        /// <param name="fg_set"></param>
        /// <param name="srv"></param>
        /// <returns></returns>
        protected virtual CiEmsSrvDTO ConvertOf(EmsOrDrug p, bool fg_set = false, CiEmsSrvDTO srv = null)
        {
            CiEmsSrvDTO srvdto = (srv ?? new CiEmsSrvDTO());                   //

            srvdto.Eu_sourcemd = p.Eu_sourcemd;                                //医疗单项目数据来源
            srvdto.Id_orsrv    = p.Id_orsrv;                                   //医疗单项目主键标识
            //srvdto.Id_or	=                   //医疗单	SINGLE	F
            srvdto.Sortno     = p.Sortno;                                      //序号	SINGLE	I
            srvdto.Id_srv     = p.Id_srv;                                      //医疗服务	REF
            srvdto.Id_srv_src = (srv == null ? p.Id_srv_src : srv.Id_srv_src); // 所属服务来源 bl
            //srvdto.Id_srv_set = (fg_set ? srvdto.Id_srv_src : null);
            srvdto.Id_unit_med   = p.Id_unit_med;                              //医疗单位	REF
            srvdto.Name_unit_med = p.Name_unit_med;                            //医疗单位编码	SINGL
            srvdto.Quan_med      = p.Quan_med;                                 //剂量	SINGLE	F
            srvdto.Price         = p.Price;                                    //参考价格	SINGL
            srvdto.Id_freq       = p.Id_freq;                                  //医嘱频次	REF
            srvdto.Name_freq     = p.Name_freq;                                //医嘱频次名称	SINGL
            srvdto.Freqct        = p.Freqct;
            srvdto.Sd_frequnitct = p.Sd_frequnitct;
            srvdto.Id_route      = p.Id_route;                                          //用法标识	REF
            srvdto.Name_route    = p.Name_route;                                        //用法	SINGLE	S
            srvdto.Id_routedes   = (srv == null ? p.Id_routedes : srv.Id_route);        // p.Id_routedes;	      //用法要求标识	REF
            srvdto.Name_routedes = (srv == null ? p.Name_routedes : srv.Name_routedes); //p.Name_routedes;	  //用法要求	SINGL
            srvdto.Id_boil       = (srv == null ? p.Id_boil : srv.Id_boil);             //p.Id_boil;	          //煎法标识	REF
            srvdto.Name_boil     = (srv == null ? p.Name_boil : srv.Name_boil);         //p.Name_boil;	      //煎法	SINGLE	S
            srvdto.Id_boildes    = p.Id_boildes;                                        //煎法要求标识	REF
            srvdto.Name_boildes  = p.Name_boildes;                                      //煎法要求	SINGL
            srvdto.Fg_dose_anoma = p.Fg_dose_anoma;                                     //变动用药标识	SINGL
            srvdto.Des_srv       = p.Des;                                               //备注	SINGLE
            // srvdto.Fg_outp = (srv == null ? null : srv.Fg_outp);//p.Fg_outp;	          //出院带药标识	SINGL   ---- 已经弃用!!!
            srvdto.Fg_bl = p.Fg_bl;                                                     //
            //srvdto.Id_org_srv	      //开立机构	SINGL
            //srvdto.Id_dep_srv	      //开立科室	SINGL
            //srvdto.Id_ward_srv	      //开立病区	SINGL
            //srvdto.Id_emp_srv	      //开立人员	SINGL
            srvdto.Dt_create_srv = (srv == null ? CommonExtentions.NowTime(this) : srv.Dt_create_srv);//CommonExtentions.NowTime(this); //开立时间	SINGL
            //srvdto.Dt_last_bl	      //最近生成日期	SINGL
            //srvdto.Eu_blmd = p.Eu_blmd;          //划价方式	SINGL
            //srvdto.Id_orsrvmm = p.Id_emsordrug;	      //服务项目物品	SINGL
            srvdto.Id_mm   = p.Id_mm;                                                             //物品	SINGLE
            srvdto.Code_mm = p.Code_mm;                                                           //物品编码	SINGL
            srvdto.Name_mm = p.Name_mm;                                                           //物品名称	SINGL
            //srvdto.Spec_mm	          //规格	SINGLE	S
            srvdto.Id_unit_sale   = p.Id_unit_sale;                                               //零售单位	REF
            srvdto.Name_unit_sale = p.Name_unit_sale;                                             //零售单位名称	SINGL
            srvdto.Id_unit_base   = p.Id_unit_base;                                               //基本单位	REF
            srvdto.Name_unit_base = p.Name_unit_base;                                             //基本单位名称	SINGL
            //srvdto.Quan_num_base = p.Quan_base;	  //单次数量_分子	S
            srvdto.Quan_den_base   = 1;                                                           //单次数量_分母	S
            srvdto.Price_cur       = p.Price;                                                     //参考价当前	SINGL
            srvdto.Quan_cur        = p.Quan_cur;                                                  //总量_当前	SINGL
            srvdto.Quan_base       = p.Quan_base;                                                 //总量_基本	SINGL
            srvdto.Quan_bed_medu   = 0;                                                           //床边量_医学	SINGL
            srvdto.Quan_total_medu = p.Quan_cur;
            srvdto.Factor_cb       = p.Factor_cb;                                                 //当前基本换算系数	S
            srvdto.Factor_mb       = (p.Factor_mb == null || p.Factor_mb == 0) ? 1 : p.Factor_mb; //医疗基本换算系数	S
            srvdto.Id_dosage       = p.Id_dosage;                                                 //药品剂型	SINGL
            srvdto.Sd_dosage       = p.Sd_dosage;                                                 //药品剂型编码	SINGL
            srvdto.Id_pharm        = p.Id_pharm;                                                  //药理分类	SINGL
            srvdto.Sd_pharm        = p.Sd_pharm;                                                  //药理分类编码	SINGL
            srvdto.Id_pois         = p.Id_pois;                                                   //毒麻分类	SINGL
            srvdto.Sd_pois         = p.Sd_pois;                                                   //毒麻分类编码	SINGL
            srvdto.Id_anti         = p.Id_anti;                                                   //抗菌药分类	SINGL
            srvdto.Sd_anti         = p.Sd_anti;                                                   //抗菌药分类编码	S
            srvdto.Id_mmtp         = p.Id_mmtp;                                                   //物品类型	SINGL
            srvdto.Sd_mmtp         = p.Sd_mmtp;                                                   //物品类型编码	SINGL
            srvdto.Id_val          = p.Id_val;                                                    //价值分类	SINGL
            srvdto.Sd_val          = p.Sd_val;                                                    //价值分类编码	SINGL
            srvdto.Fg_self         = p.Fg_self;                                                   //自备药标识	SINGL
            srvdto.Fg_propc        = p.Fg_propc;                                                  //预防用药标识	SINGL
            srvdto.Fg_indic        = p.Fg_treat;                                                  //治疗用药标识	SINGL
            srvdto.Id_dep          = p.Id_mp_dep;                                                 //执行科室	REF
            srvdto.Name_dep        = p.Name_mp_dep;                                               //执行科室	REF
            srvdto.Des_srv         = p.Note_or;
            //皮试内容
            srvdto.Fg_skintest             = p.Fg_skintest;
            srvdto.Id_skintest_skip_reason = p.Id_skintest_skip_reason;
            srvdto.Sd_reltp        = p.Sd_reltp;
            srvdto.Id_or_rel       = p.Id_or_rel;
            srvdto.Fg_mm           = p.Fg_mm;
            srvdto.Fg_selfsrv      = p.Fg_ctm;
            srvdto.Fg_selfpay      = p.Fg_selfpay;                                               // 自费标志
            srvdto.Name_srv        = p.Name_srv;
            srvdto.Id_dep_wh       = p.Id_dep_wh;                                                //库房id 2016-08-03 zwq
            srvdto.Id_srvtp        = p.Id_srvtp;                                                 //服务类型	REF
            srvdto.Sd_srvtp        = p.Sd_srvtp;                                                 //服务类型编码	SINGL
            srvdto.Code_srv        = p.Code_srv;                                                 //医疗服务编码	SINGL
            srvdto.Name_srv        = p.Name_srv;                                                 //医疗服务名称	SINGL
            srvdto.Id_srvca        = p.Id_srvca;                                                 //服务项目基本分类	S
            srvdto.Fg_mm           = p.Fg_mm;                                                    //物品标识	SINGL
            srvdto.Fg_set          = (srv == null ? false : srv.Fg_set);                         //服务套标识	SINGL   bl
            srvdto.Fg_or           = (srv == null ? p.Fg_or : srv.Fg_or);                        //医嘱标识	SINGL
            srvdto.Innercode_srvca = (srv == null ? p.Innercode_srvca : srvdto.Innercode_srvca); //服务分类内部编码 bl
            //srvdto.Id_srv_set	     //所属服务套	SINGL
            srvdto.Id_hp            = p.Id_hp;                                                   //医保计划id zwq 2016-07-12
            srvdto.Id_hpsrvtp       = p.Id_hpsrvtp;                                              //医保目录类型 zwq 2016-07-12
            srvdto.Sd_hpsrvtp       = p.Sd_hpsrvtp;                                              //医保目录类型编码 zwq 2016-07-12
            srvdto.Fg_hpindicjudged = p.Fg_hpindicjudged;                                        //医生是否已判断过标识
            srvdto.Eu_blmd          = (srv == null ? p.Eu_blmd : srvdto.Eu_blmd);                //划价方式 bl
            srvdto.Emsagentinfo     = p.Agentinfolist;                                           //毒麻药品时核对的患者信息
            srvdto.Priby            = p.Priby;
            srvdto.Id_primd         = p.Id_pri;
            srvdto.Status           = (srv == null ? p.Status : srv.Status);
            return(srvdto);
        }
Esempio n. 22
0
        void xapFormControl1_DataChanged(object sender, DataChangedEventArgs e)
        {
            switch (e.PropName)//计算结束日期
            {
            case "Dt_begin_ui":
                DateTime adm  = CommonExtentions.NowTime(this);   //TODO: 入院时间
                string   info = cof.CompareWithAdmission(this.EmsHeadDO.PatInfo.Id_ent, this.EmsHeadDO.Emsdrugs.Dt_begin_ui);
                if (info != "")
                {
                    this.ShowInfo(info);
                    return;
                }
                DateTime dtb = (DateTime)this.EmsHeadDO.Emsdrugs.Dt_begin_ui;


                int?useDay = cof.GetUseDays(dtb, this.EmsHeadDO.Emsdrugs.Dt_end_ui);
                if (this.EmsHeadDO.Emsdrugs.Use_days != useDay)
                {
                    this.EmsHeadDO.Emsdrugs.Use_days = useDay;
                }
                if (this.EmsHeadDO.Emsdrugs.Dt_fail != null)
                {
                    //失效时间
                    this.EmsHeadDO.Emsdrugs.Dt_fail = cof.GetSpareEndTime(this.EmsHeadDO.Emsdrugs.Dt_begin_ui.Value);
                    dt_fail.MinDate = this.EmsHeadDO.Emsdrugs.Dt_begin_ui.Value.AddDays(-1);
                    dt_fail.MaxDate = this.EmsHeadDO.Emsdrugs.Dt_begin_ui.Value.AddHours(this.Context.GetOrgParam <int>(ICiOrdNSysParamConst.SYS_PARAM_TemporaryPrnOrValidTime));
                }

                if (this.EmsHeadDO.Emsdrugs.Dt_end_ui == null)
                {
                    return;
                }
                DateTime dte = (DateTime)this.EmsHeadDO.Emsdrugs.Dt_end_ui;
                if (dtb.CompareTo(dte) > 0)
                {
                    // e.Cancel = true;
                    this.EmsHeadDO.Emsdrugs.Dt_begin_ui = dte;
                    this.ShowInfo(OrdParam.MESSAGE_TIEMCHECK);
                    return;
                }
                break;

            case "Use_days":    //医嘱天数
                if (this.EmsHeadDO.Emsdrugs.Use_days == -1)
                {
                    this.EmsHeadDO.Emsdrugs.Dt_end_ui = null;
                    this.EmsHeadDO.Emsdrugs.Use_days  = null;
                }
                else if (this.EmsHeadDO.Emsdrugs.Use_days == 0)
                {
                    if (this.EmsHeadDO.Emsdrugs.Dt_end_ui != this.EmsHeadDO.Emsdrugs.Dt_begin_ui)
                    {
                        this.EmsHeadDO.Emsdrugs.Dt_end_ui = this.EmsHeadDO.Emsdrugs.Dt_begin_ui;
                    }
                }
                else if (this.EmsHeadDO.Emsdrugs.Use_days != null)
                {
                    DateTime?temDateTime = cof.GetEndTime(this.EmsHeadDO.Emsdrugs.Dt_begin_ui, this.EmsHeadDO.Emsdrugs.Use_days.Value);
                    if (this.EmsHeadDO.Emsdrugs.Dt_end_ui != temDateTime)
                    {
                        this.EmsHeadDO.Emsdrugs.Dt_end_ui = temDateTime;
                    }
                }
                if (cof.getControlByName(xapFormControl1, "drugsUse", "fg_outp").ValueText == "true")
                {
                    cof.GetDrugTotal(this.EmsHeadDO);
                }
                //取模
                int?m = this.EmsHeadDO.Emsdrugs.Use_days % 7;
                if ((this.EmsHeadDO.Emsdrugs.Name_freq.IndexOf("周") > 0 || this.EmsHeadDO.Emsdrugs.Name_freq.IndexOf("星期") > 0) && m % 7 != 0)
                {
                    if (m == 0 || m == 6)
                    {    //减的
                        int?uu = this.EmsHeadDO.Emsdrugs.Use_days / 7;


                        this.EmsHeadDO.Emsdrugs.Use_days = uu * 7;
                    }
                    else
                    {
                        int?uu = this.EmsHeadDO.Emsdrugs.Use_days / 7;
                        this.EmsHeadDO.Emsdrugs.Use_days = (uu + 1) * 7;
                    }
                }

                break;

            case "Dt_end_ui":    //计算医嘱天数
                dtb = (DateTime)this.EmsHeadDO.Emsdrugs.Dt_begin_ui;
                if (this.EmsHeadDO.Emsdrugs.Dt_end_ui == null)
                {
                    return;
                }
                dte = (DateTime)this.EmsHeadDO.Emsdrugs.Dt_end_ui;
                if (dtb.CompareTo(dte) > 0)
                {
                    this.EmsHeadDO.Emsdrugs.Dt_end_ui = dtb;
                    this.ShowInfo(OrdParam.MESSAGE_TIEMCHECK);
                    return;
                }

                useDay = cof.GetUseDays(dtb, this.EmsHeadDO.Emsdrugs.Dt_end_ui);
                if (this.EmsHeadDO.Emsdrugs.Use_days != useDay)
                {
                    this.EmsHeadDO.Emsdrugs.Use_days = useDay;
                }
                if (cof.getControlByName(xapFormControl1, "drugsUse", "fg_outp").ValueText == "true")
                {
                    drug.Quan_cur = cof.GetDrugUseTotalCount(this.EmsHeadDO);
                    cof.GetDrugTotal(this.EmsHeadDO);
                }
                break;

            case "Name_freq":    //计算执行时刻1
                if (e.Input != null && e.Input.ToString().Contains("日"))
                {
                    cof.getControlByName(xapFormControl1, "drugsUse", "quan_firday_mp").Enabled = true;
                    cof.getControlByName(xapFormControl1, "drugsUse", "work_time").Enabled      = false;
                }
                else if (e.Input != null && (e.Input.ToString().Contains("周") || e.Input.ToString().Contains("星期")))
                {
                    //取模
                    m = this.EmsHeadDO.Emsdrugs.Use_days % 7;
                    if (m == 0 || m == 6)
                    {    //减的
                        int?uu = this.EmsHeadDO.Emsdrugs.Use_days / 7;


                        this.EmsHeadDO.Emsdrugs.Use_days = uu * 7;
                    }
                    else
                    {
                        int?uu = this.EmsHeadDO.Emsdrugs.Use_days / 7;
                        this.EmsHeadDO.Emsdrugs.Use_days = (uu + 1) * 7;
                    }
                }
                else
                {
                    cof.getControlByName(xapFormControl1, "drugsUse", "quan_firday_mp").Enabled = false;
                    cof.getControlByName(xapFormControl1, "drugsUse", "work_time").Enabled      = false;
                }
                GetMpTimes(this.EmsHeadDO.Emsdrugs.Id_freq);
                cof.setFreqctMaxMin(this.EmsHeadDO, xapFormControl1);
                //  先于 OnRefResult(object sender, RefResultEventArgs e)执行,会出现  这个地方获取的id 是上次的 而不是最新的
                break;

            case "Id_freq":    //计算执行时刻1

                //  先于 OnRefResult(object sender, RefResultEventArgs e)执行,会出现  这个地方获取的id 是上次的 而不是最新的
                break;

            case "Fg_long":
                if (e.Input.ToString() == "false")
                {
                    cof.getControlByName(xapFormControl1, "drugsUse", "Use_days").Enabled = false;   //临时 医嘱天数 不可输入
                }
                else
                {
                    cof.getControlByName(xapFormControl1, "drugsUse", "Use_days").Enabled = true;
                }

                break;

            case "Fg_self":
                if (this.EmsHeadDO.Emsdrugs.Fg_self == true)
                {
                    this.EmsHeadDO.Emsdrugs.Fg_outp = !this.EmsHeadDO.Emsdrugs.Fg_self;
                }
                break;

            case "Fg_outp":
                if (this.EmsHeadDO.Emsdrugs.Fg_outp == true)
                {
                    this.EmsHeadDO.Emsdrugs.Fg_self = !this.EmsHeadDO.Emsdrugs.Fg_outp;
                    //ctlTotal.Enabled = true;
                    gv.DataTable.Columns["Quan_cur"].ReadOnly = false;
                    if (cof.getControlByName(xapFormControl1, "drugsUse", "fg_outp").ValueText == "true")
                    {
                        cof.GetDrugTotal(this.EmsHeadDO);
                    }
                    gv.DataTable.Columns["Quan_cur"].ReadOnly       = false;
                    gv.DataTable.Columns["Name_unit_sale"].ReadOnly = false;
                    manageUnitName("out");
                }
                else
                {
                    gv.DataTable.Columns["Quan_cur"].ReadOnly = true;
                    foreach (EmsOrDrug itemDrug in this.EmsHeadDO.Emsdrugs.EmsOrDrugList)
                    {
                        itemDrug.Quan_cur = null;
                    }
                    gv.DataTable.Columns["Quan_cur"].ReadOnly       = true;
                    gv.DataTable.Columns["Name_unit_sale"].ReadOnly = true;
                    manageUnitName("in");
                    //ctlTotal.Enabled = false;
                }
                break;

            case "Fg_treat":
                this.EmsHeadDO.Emsdrugs.Fg_propc = !this.EmsHeadDO.Emsdrugs.Fg_treat;
                break;

            case "Fg_propc":
                this.EmsHeadDO.Emsdrugs.Fg_treat = !this.EmsHeadDO.Emsdrugs.Fg_propc;
                break;

            case "Quan_med":
                if (cof.getControlByName(xapFormControl1, "drugsUse", "fg_outp").ValueText == "true")
                {
                    cof.GetDrugTotal(this.EmsHeadDO);
                }
                break;

            case "Quan_firday_mp":
                cof.getWorkTime(this.xapFormControl1, exctimes);
                if (cof.getControlByName(xapFormControl1, "drugsUse", "fg_outp").ValueText == "true")
                {
                    cof.GetDrugTotal(this.EmsHeadDO);
                }
                break;

            case "Name_unit_sale":
                this.manageUnitName("");    //保存所有单位名称到缓存

                break;

            case "Quan_cur":
                GetStockReqDTO reqDto = new GetStockReqDTO();
                if (gv.GetFocusedRow <EmsOrDrug>() != null)
                {
                    string id_mm      = gv.GetFocusedRow <EmsOrDrug>().Id_mm;
                    string id_dep_phy = this.EmsHeadDO.Emsdrugs.Id_dep;
                    reqDto.Id_dep      = id_dep_phy;
                    reqDto.Id_mm       = id_mm;
                    reqDto.Req_unit_id = this.EmsHeadDO.Emsdrugs.EmsOrDrugList[0].Id_unit_sale;
                    GetStockReqDTO[] reqDtoArr = new GetStockReqDTO[1];
                    reqDtoArr[0] = reqDto;
                    try {
                        MaterialStockDTO[] materialArr = cof.getMaterialStocksCount(reqDtoArr);
                        if (materialArr != null && materialArr.Length > 0)
                        {
                            MaterialStockDTO material = materialArr[0];
                            if (material == null || material.Quan_stock < gv.GetFocusedRow <EmsOrDrug>().Quan_cur)
                            {
                                this.ShowInfo(this.EmsHeadDO.Emsdrugs.EmsOrDrugList[0].Name_mm + "数量已超过库存量,无法开立!");
                                return;
                            }
                        }
                    }
                    catch     //(Exception ex)
                    {
                    }
                }
                break;

            default:
                break;
            }
        }
Esempio n. 23
0
        void xapFormControl1_ModelFilled(object sender, EventArgs e)
        {
            UserRender dt_out = xapFormControl1.GetUserRender("ordout", "dt_out");

            dt_out.Focus();
            //if (this.EmsHeadDO.Emsapout.IsNEW)
            //{
            //    (this.xapFormControl1.GetUserRender("ordout", "des_again31") as XLabelBaseUserRender).Enabled = false;
            //}
            //else
            //{
            //    (this.xapFormControl1.GetUserRender("ordout", "des_again31") as XLabelBaseUserRender).Enabled =(bool)this.EmsHeadDO.Emsapout.Fg_again31;
            //}
            xapFormControl1.SetEditPolicy(!IsReadOnly);
            //限制开始时间的时间范围,入院日期,最大提前日期
            TimerComboBoxMaxAndMin.GetInstance().setMaxMinTime(xapFormControl1, this.Context, "ordout", "dt_out", EmsHeadDO.PatInfo.Id_ent);
            TimerComboBoxMaxAndMin.GetInstance().setMaxTime(xapFormControl1, this.Context, "ordout", "dt_out", CommonExtentions.NowTime(this));
        }
Esempio n. 24
0
        /// <summary>
        /// 保存费用清单数据
        /// </summary>
        /// <returns></returns>

        public bool Save()
        {
            bool rtn = true;

            this.errorMsgString = "";
            // 从表格数据源获取
            List <CiEmsSrvDTO> updateSrvList = new List <CiEmsSrvDTO>();

            this.tableDatasource.ToList().ForEach(srv =>
            {
                if (srv.IsNEW && idor2EmsDTOMap.ContainsKey(srv.Id_or))
                {
                    /**
                     * 新增场景:通过 Id_or 找到对应的医疗单,然后,拿到医疗单的服务列表对象,将表格中补录的费用对象。转化为医疗单服务对象,追加到医疗单列表中;
                     * 并设置医疗单为更新状态
                     **/
                    CiEmsDTO ems       = idor2EmsDTOMap[srv.Id_or];
                    CiEmsSrvDTO addSrv = new CiEmsSrvDTO();
                    addSrv.deSerializeJson(srv.serializeJson());
                    addSrv.Id_srv_src = ems.Id_srv;
                    //addSrv.Id_or = null;
                    addSrv.Fg_set        = false;
                    addSrv.Dt_create_srv = CommonExtentions.NowTime(this);
                    addSrv.Price_cur     = addSrv.Amt_total;
                    addSrv.Amt_total     = null;
                    addSrv.Sortno        = ems.Emssrvs.Cast <CiEmsSrvDTO>().Count(p => !p.IsDELETED) + 1;
                    updateSrvList.Add(addSrv);
                }
                else if (srv.IsDELETED && idor2EmsDTOMap.ContainsKey(srv.Id_or))
                {
                    /**
                     * 删除场景:找到医疗单中需要删除的 服务项目 ,然后设置 status 状态为 Deleted;
                     * 如果在医疗单的服务项目中没有找到,列表选择的 服务项目 ,则应该是出现了异常情况,不应该发生;
                     **/
                    CiEmsDTO ems = idor2EmsDTOMap[srv.Id_or];
                    // id_orsrv 不为空,则进行数据库数据删除
                    if (!string.IsNullOrEmpty(srv.Id_orsrv))
                    {
                        CiEmsSrvDTO delSrv = ems.Emssrvs.Cast <CiEmsSrvDTO>().FirstOrDefault(p => p.Id_orsrv.Equals(srv.Id_orsrv));
                        if (delSrv != null)
                        {
                            delSrv.Status = DOStatus.DELETED;
                            updateSrvList.Add(delSrv);
                        }
                    }
                    // 非数据库中记录数据,则直接从列表中删除
                    else
                    {
                        this.tableDatasource.Remove(srv);
                    }
                }
                else if (srv.IsUPDATED && idor2EmsDTOMap.ContainsKey(srv.Id_or))
                {
                    /**
                     * 更新场景:找到医疗单中需要更新的 服务项目 ,然后设置 status 状态为 Update;
                     * 如果在医疗单的服务项目中没有找到,列表选择的 服务项目 ,则应该是出现了异常情况,不应该发生;
                     **/
                    CiEmsDTO ems          = idor2EmsDTOMap[srv.Id_or];
                    CiEmsSrvDTO updateSrv = ems.Emssrvs.Cast <CiEmsSrvDTO>().FirstOrDefault(p => srv.Id_orsrv.Equals(p.Id_orsrv));
                    if (updateSrv != null)
                    {
                        ems.Status = DOStatus.UPDATED;
                        updateSrv.deSerializeJson(srv.serializeJson());
                        updateSrvList.Add(updateSrv);
                    }
                    else
                    {
                        this.errorMsgString = "需要更新的费用项目,并没有在后台查到相关记录";
                        rtn = false;
                    }
                }
                //else if (srv.IsUNCHANGED && idor2EmsDTOMap.ContainsKey(srv.Id_or))
                //{
                //    // 将没有改变的
                //    CiEmsDTO ems = idor2EmsDTOMap[srv.Id_or];
                //    CiEmsSrvDTO unChangedSrv = ems.Emssrvs.Cast<CiEmsSrvDTO>().FirstOrDefault(p => srv.Id_orsrv.Equals(p.Id_orsrv));
                //    unChangedSrv.Status = DOStatus.UNCHANGED;
                //    updateSrvList.Add(unChangedSrv);
                //}
            });

            if (updateSrvList.Count > 0)
            {
                try {
                    CiEnContextDTO ctx    = CiEnContextUtil.GetCiEnContext(this.GetEnt4BannerDTO(), this.context);
                    CiEmsSrvDTO[]  rtSrvs = XapServiceMgr.find <ICiOrdMaintainService>().saveOrdFeeBill(updateSrvList.ToArray(), ctx);
                }
                catch (XapServiceException e) {
                    this.errorMsgString = e.ErrorMsg != null?e.ErrorMsg.Message:e.Message;
                    rtn = false;
                }
                catch (Exception e) {
                    this.errorMsgString = e.Message;
                    rtn = false;
                }
            }
            return(rtn);
        }
Esempio n. 25
0
        /// <summary>
        /// 西医 集合
        /// </summary>
        /// <param name="type"></param>
        /// <param name="patientsDTO"></param>
        /// <param name="listDto"></param>
        /// <param name="list"></param>
        private string getxyList(bool type, string ditp_code, Ent4BannerDTO patientsDTO, string id_di, List <DIDTO> listDto, XapDataList <Cidixy> list, string xy)
        {
            string str = xy;
            int    i   = 1;

            foreach (Cidixy item in list)
            {
                DIDTO didto = new DIDTO();
                // 判断是 新增 还是修改
                if (id_di != null)
                {
                    didto.Id_diitm = item.Id_diitm;
                }
                else
                {
                    didto.Id_diitm = null;
                }

                didto.Id_di            = id_di;
                didto.Id_didef         = item.Id_didef;
                didto.Didef_code       = item.Id_didef_code;
                didto.Didef_name       = item.Id_didef_name;
                didto.Id_ditp          = this.CidixyAggDto.AggDO.getParentDO().Id_ditp;
                didto.Sd_ditp          = this.CidixyAggDto.AggDO.getParentDO().Id_ditp_code;
                didto.Id_ditp_name     = item.Id_ditp_name;
                didto.Supplement       = item.Supplement;
                didto.Id_disys         = item.Id_disys;
                didto.Sd_disys         = item.Sd_disys;
                didto.Id_disys_name    = item.Id_disys_name;
                didto.Di_standard      = item.Di_standard;
                didto.Di_standard_name = item.Di_standard_name;
                didto.Fg_suspdi        = item.Fg_suspdi;
                if (ditp_code == CiDictCodeConst.SD_SUPPLY)
                {
                    didto.Fg_majdi = FBoolean.False;
                }
                else
                {
                    didto.Fg_majdi = item.Fg_majdi;
                }
                didto.Dt_di      = CidixyAggDto.AggDO.getParentDO().Dt_di;
                didto.Supplement = item.Supplement;

                didto.Id_disys_name = xy;//item.Id_disys_name;

                str += "   " + i + "," + item.Id_didef_name;
                if (item.Supplement != null && item.Supplement != "")
                {
                    str += "——" + item.Supplement + "";
                }
                if (item.Fg_suspdi != null && (bool)item.Fg_suspdi)
                {
                    str += " ?  \n";
                }
                else
                {
                    str += "\n";
                }
                didto.Id_en     = patientsDTO.Id_ent;
                didto.Code_entp = patientsDTO.Code_entp;
                didto.Id_pat    = patientsDTO.Id_pat;
                didto.Id_entp   = patientsDTO.Id_entp;

                didto.Id_dep_create      = item.Id_dep_create;
                didto.Id_dep_create_name = item.Id_dep_creat_name;
                didto.Id_emp_create      = UserManager.getInstance().CurrentPsnInfo.Id_psndoc;
                didto.Id_emp_create_name = UserManager.getInstance().CurrentPsnInfo.Name;
                if (type)
                {
                    didto.Id_dep_sign = UserManager.getInstance().CurrentDept.Id_dep;
                    didto.Id_emp_sign = UserManager.getInstance().CurrentPsnInfo.Id_psndoc;
                    didto.Dt_sign     = CommonExtentions.NowTime(this);
                }


                didto.Fg_sign = type;
                i++;
                listDto.Add(didto);
            }
            return(str);
        }
Esempio n. 26
0
        public ActionResult EditPOST(int cAseId, int postId, string returnUrl, Action <ContentItem> conditionallyPublish)
        {
            var cAse = _cAseService.Get(cAseId, VersionOptions.Latest);

            if (cAse == null)
            {
                return(HttpNotFound());
            }

            // Get draft (create a new version if needed)
            var cAsePost = _cAsePostService.Get(postId, VersionOptions.DraftRequired);

            if (cAsePost == null)
            {
                return(HttpNotFound());
            }
            var casat = cAsePost.Get <CasePostAttribPart>();
            CasePostAttribPart attri      = casat.Get <CasePostAttribPart>();
            Boolean            isAcquired = attri.CaseAcquiredBy == 0 ? false : true;

            bool isMe = false;
            //Check isit accuired by me

            int userId = _workContextAccessor.GetContext().CurrentUser.Id;

            isMe = userId == attri.CaseAcquiredBy;

            bool icanEdit = isAcquired && isMe;

            if (!icanEdit)
            {
                if (!Services.Authorizer.Authorize(Permissions.EditCasePost, cAsePost, T("Couldn't edit cAse post")))
                {
                    return(new HttpUnauthorizedResult());
                }
            }

            if (cAsePost.Text.Contains("PFR"))
            {
                string[] caseHeader = CommonExtentions.ExtractCaseHeader(cAsePost.Text).ToArray();
                if (caseHeader.Length > 3)
                {
                    string[] clients = CommonExtentions.GetClients(caseHeader[0].ToString());
                    if (clients.Length > 2)
                    {
                        attri.CaseClient1 = clients[0].ToString();
                        attri.CaseClient2 = clients[1].ToString();
                    }
                    attri.CaseHeldCourt       = caseHeader[1].ToString();
                    attri.CaseDecisionTakenBy = caseHeader[2].ToString();
                    attri.CaseReference       = caseHeader[3].ToString();
                }
            }

            // Validate form input
            var model = Services.ContentManager.UpdateEditor(cAsePost, this);

            if (!ModelState.IsValid)
            {
                Services.TransactionManager.Cancel();
                return(View(model));
            }

            conditionallyPublish(cAsePost.ContentItem);

            Services.Notifier.Information(T("Your {0} has been saved.", cAsePost.TypeDefinition.DisplayName));

            return(this.RedirectLocal(returnUrl, Url.CasePostEdit(cAsePost)));
        }
Esempio n. 27
0
        public void CreatPres(string id_pat)
        {
            //TODO:执行之前 只针对未设置处方的,只生成新的处方,不进行修改,暂时只是按照 分类进行分方,并没有对每个方子里的条数 进行限制
            OrdSrvDO[] orderSrvs = modelSrv.GetSrvs(id_pat);//代表已经获取该患者的所有医嘱服务 参数 患者id
            //分组 医嘱服务

            var v = from c in orderSrvs
                    group c by new
            {
                SD_SRVTP = c.Sd_srvtp
            } into s
                select new
            {
                SD_SRVTP    = s.Select(p => p.Sd_srvtp).First(),
                ordSrvCount = s.Select(p => p.Sd_srvtp).Count()
            };

            v.ToList().ForEach(p =>
            {
                OrdSrvDO srvtem = orderSrvs.First(t => t.Sd_srvtp == p.SD_SRVTP);
                string ci_code  = "PRES" + CommonExtentions.NowTime(this).Year + CommonExtentions.NowTime(this).Month + CommonExtentions.NowTime(this).Day + CommonExtentions.NowTime(this).Hour + CommonExtentions.NowTime(this).Minute + CommonExtentions.NowTime(this).Second + CommonExtentions.NowTime(this).Millisecond + ran.Next(0, 100);//code 生成机制
                CiPresDO ci     = new CiPresDO()
                {
                    //-此为处方所有字段,用到那个 解开注释加哪个
                    Id_pati   = srvtem.Id_pat,
                    Id_entp   = srvtem.Id_entp,   // "0001AA10000000004O80",//TODO: 临时数据,
                    Code_entp = srvtem.Code_entp, // "01",
                    Id_en     = srvtem.Id_en,     //"0001AA1000000001OM3N",//TODO: 临时数据,
                    Id_di     = "患者的诊断",          //患者诊断,
                    //Id_diitm,
                    //Str_id_di,
                    //Str_name_di,
                    Id_srvtp  = srvtem.Id_srvtp,
                    Sd_srvtp  = p.SD_SRVTP, //服务类型编码,
                    Id_prestp = "01",       //TODO:处方类型 后面改正
                    Sd_prestp = p.SD_SRVTP,
                    Code      = ci_code,
                    Name      = srvtem.Id_pat + "处方",
                    Id_dep_or = UserManager.getInstance().CurrentDept.Id_dep,  //开立科室
                    Id_emp_or = UserManager.getInstance().CurrentUser.Id_user, //开立医生
                    Dt_entry  = CommonExtentions.NowTime(this),                //开立日期
                    //Fg_bb,
                    //No_bb,
                    //Id_bb,
                    Id_route    = srvtem.Id_route,//用法,
                    Id_routedes = srvtem.Id_routedes,
                    //Id_boil,
                    //Id_boildes,
                    //Fg_charge,
                    Fg_dispense = false,//发药标识,
                    //Id_backtp,
                    //Sd_backtp,
                    //Fg_back,
                    //Id_emp,
                    //Fg_prn,
                    //Fg_prn_add,
                    //Id_pres_rel_add,
                    Id_su_bl = "1", //TODO:记账状态 先假数据
                    Sd_su_bl = "1", //记账状态,
                    //Fg_makeup,
                    Createdby    = UserManager.getInstance().CurrentUser.Createdby,
                    Createdtime  = UserManager.getInstance().CurrentUser.Createdtime,
                    Modifiedby   = UserManager.getInstance().CurrentUser.Modifiedby,
                    Modifiedtime = UserManager.getInstance().CurrentUser.Modifiedtime,
                    //Ds,
                    //Sv
                };
                string id_pres = Save(ci)[0].Id_pres;
                orderSrvs.ToList().ForEach(x =>
                {
                    if (x.Sd_srvtp == p.SD_SRVTP)
                    {
                        x.Id_pres = id_pres;
                        x.Status  = DOStatus.UPDATED;
                    }
                });
            });

            //所有的医嘱单已经生成完毕 更新srv

            modelSrv.Save(orderSrvs);
        }
Esempio n. 28
0
        public void Save(OrdConsDTO dto, string type, string idUser, string idDept)
        {
            CiorappconsultAggDO consAggDo = consAggService.findById(dto.Id_apcons);

            if (type == CiDictCodeConst.CONS_RESPONSE)
            {
                if (consAggDo.getCiordInviteConsDO() == null)
                {
                    return;
                }
                bool flag = true;
                foreach (CiordInviteConsDO inviteConsDo in consAggDo.getCiordInviteConsDO())
                {
                    if (inviteConsDo.Id_dep == idDept)
                    {
                        inviteConsDo.Id_emp          = dto.Id_emp;
                        inviteConsDo.Fg_response     = true;
                        inviteConsDo.Id_emp_response = idUser;
                        inviteConsDo.Dt_response     = new DateTime().NowTime();
                        inviteConsDo.Status          = DOStatus.UPDATED;
                    }
                    if (inviteConsDo.Fg_response == false)
                    {
                        flag = false;
                    }
                }
                if (flag)
                {
                    consAggDo.getParentDO().Id_su_cons = CiDictCodeConst.ID_CIDI_KSYYD;
                    consAggDo.getParentDO().Sd_su_cons = CiDictCodeConst.SD_CIDI_KSYYD;
                }
                else
                {
                    consAggDo.getParentDO().Id_su_cons = CiDictCodeConst.ID_CIDI_KSBFYD;
                    consAggDo.getParentDO().Sd_su_cons = CiDictCodeConst.SD_CIDI_KSBFYD;
                }
            }

            else
            {
                OrConsApAuditDO reviewDO = new OrConsApAuditDO();
                reviewDO.Id_apcons  = dto.Id_apcons;
                reviewDO.Id_emp     = idUser;
                reviewDO.Id_dep     = idDept;
                reviewDO.Dt_review  = CommonExtentions.NowTime(this);
                reviewDO.Fg_audit   = dto.Fg_audit;
                reviewDO.Des_review = dto.Des_review;
                List <OrConsApAuditDO> dolist = new List <OrConsApAuditDO>();
                if (consAggDo.getOrConsApAuditDO() != null)
                {
                    dolist = consAggDo.getOrConsApAuditDO().ToList();
                }
                dolist.Add(reviewDO);
                consAggDo.setOrConsApAuditDO(dolist.ToArray());
                if (type == CiDictCodeConst.CONS_DEPREVIEW)
                {
                    if (reviewDO.Fg_audit == true)
                    {
                        if (consAggDo.getParentDO().Fg_audit_admdep == true)
                        {
                            consAggDo.getParentDO().Id_su_cons = CiDictCodeConst.ID_CIDI_DYWSP;
                            consAggDo.getParentDO().Sd_su_cons = CiDictCodeConst.SD_CIDI_DYWSP;
                        }
                        else
                        {
                            consAggDo.getParentDO().Id_su_cons = CiDictCodeConst.ID_CIDI_DKSYD;
                            consAggDo.getParentDO().Sd_su_cons = CiDictCodeConst.SD_CIDI_DKSYD;
                        }
                    }
                    else
                    {
                        consAggDo.getParentDO().Id_su_cons = CiDictCodeConst.ID_CIDI_KSBH;
                        consAggDo.getParentDO().Sd_su_cons = CiDictCodeConst.SD_CIDI_KSBH;
                    }
                }
                else
                {
                    if (reviewDO.Fg_audit == true)
                    {
                        consAggDo.getParentDO().Id_su_cons = CiDictCodeConst.ID_CIDI_DKSYD;
                        consAggDo.getParentDO().Sd_su_cons = CiDictCodeConst.SD_CIDI_DKSYD;
                    }
                    else
                    {
                        consAggDo.getParentDO().Id_su_cons = CiDictCodeConst.ID_CIDI_YWBH;
                        consAggDo.getParentDO().Sd_su_cons = CiDictCodeConst.SD_CIDI_YWBH;
                    }
                }
            }
            consAggDo.Status = DOStatus.UPDATED;
            consAggDo.getParentDO().Status = DOStatus.UPDATED;
            saveService.SaveOrAppConsultAggDO(new CiorappconsultAggDO[] { consAggDo }, type);
        }
Esempio n. 29
0
        /// <summary>
        /// 中医 集合
        /// </summary>
        /// <param name="type"></param>
        /// <param name="patientsDTO"></param>
        /// <param name="listDto"></param>
        /// <param name="list"></param>
        private string getzyList(bool type, string ditp_code, Ent4BannerDTO patientsDTO, string id_di, List <DIDTO> listDto, XapDataList <Cididtozy> listzy, string zy)
        {
            string str = zy;
            int    i   = 1;

            foreach (Cididtozy item in listzy)
            {  // 判断是 新增 还是修改
                DIDTO didto = new DIDTO();
                if (id_di != null)
                {
                    didto.Id_diitm = item.Id_diitm;
                }
                else
                {
                    didto.Id_diitm = null;
                }
                didto.Id_di             = id_di;
                didto.Id_didef          = item.Di_disease;
                didto.Didef_code        = item.Id_disease_code;
                didto.Didef_name        = item.Id_disease_name;
                didto.Id_ditp           = this.CidixyAggDto.AggDO.getParentDO().Id_ditp;
                didto.Sd_ditp           = this.CidixyAggDto.AggDO.getParentDO().Id_ditp_code;
                didto.Id_ditp_name      = item.Id_ditp_name;
                didto.Id_didef_syn      = item.Id_syndrome;
                didto.Id_didef_syn_code = item.Id_syndrome_code;
                didto.Id_didef_syn_name = item.Id_syndrome_name;
                didto.Di_disease        = item.Di_disease;
                didto.Id_disease_code   = item.Id_disease_code;
                didto.Id_disease_name   = item.Id_disease_name;
                didto.Id_disys          = item.Id_disys;
                didto.Sd_disys          = item.Sd_disys;
                didto.Id_disys_name     = item.Id_disys_name;
                didto.Di_standard       = item.Di_standard;
                didto.Di_standard_name  = item.Di_standard_name;
                didto.Fg_suspdi         = item.Fg_suspdi;
                if (ditp_code == CiDictCodeConst.SD_SUPPLY)
                {
                    didto.Fg_majdi = FBoolean.False;
                }
                else
                {
                    didto.Fg_majdi = item.Fg_majdi;
                }

                didto.Dt_di = CidixyAggDto.AggDO.getParentDO().Dt_di;
                //didto.Id_disys = CiDictCodeConst.ID_CI_DISYS_ZYZDTX;//item.Id_disys;
                didto.Id_disys_name = zy;//item.Id_disys_name;
                //didto.Sd_disys = CiDictCodeConst.SD_CI_DISYS_ZYZDTX;
                didto.Id_en  = patientsDTO.Id_ent;
                didto.Id_pat = patientsDTO.Id_pat;
                //didto.Id_entp = patientsDTO.Id_entp;
                //didto.Code_entp = patientsDTO.Code_entp;
                didto.Id_dep_create      = item.Id_dep_create;
                didto.Id_dep_create_name = UserManager.getInstance().CurrentUser.Name;
                didto.Id_emp_create      = UserManager.getInstance().CurrentUser.Id_user;
                didto.Id_emp_create_name = UserManager.getInstance().CurrentUser.Name;


                str += "   " + i + "," + item.Id_disease_name + "——" + item.Id_syndrome_name + "";
                if (item.Fg_suspdi != null && (bool)item.Fg_suspdi)
                {
                    str += " ?  \n";
                }
                else
                {
                    str += "   \n";
                }
                if (type)
                {
                    didto.Id_dep_sign = UserManager.getInstance().CurrentDept.Id_dep;
                    didto.Id_emp_sign = UserManager.getInstance().CurrentPsnInfo.Id_psndoc;
                    didto.Dt_sign     = CommonExtentions.NowTime(this);
                }

                didto.Fg_sign = type;
                listDto.Add(didto);
                i++;
            }
            return(str);
        }