Пример #1
0
        public bool OrdValivate(ciordems.d.EmsUIDTO headDo, CiorderBaseControl ci)
        {
            List <string> errList = new List <string>();

            if (headDo.Emsapcons.EmsConsAssistItem.Count == 0)
            {
                errList.Add("请录入协诊方!");
            }
            if (headDo.Emsapcons.EmsConsAssistItem.Count != 1)
            {
                string depid = "";
                foreach (EmsItemInCons item in headDo.Emsapcons.EmsConsAssistItem)
                {
                    if (depid != null || depid != "")
                    {
                        if (item.Id_dep_emp.Equals(depid))
                        {
                            errList.Add("请勿重复邀请同一个科室协诊!");
                            break;
                        }
                    }
                    depid = item.Id_dep_emp;
                }
            }

            if (errList.Count > 0)
            {
                ci.OrdErrorList.AddRange(errList);
                return(false);
            }
            return(true);
        }
Пример #2
0
        public bool OrdValivate(ciordems.d.EmsUIDTO headDo, CiorderBaseControl ci)
        {
            if (headDo.Emsdrugs.Orders < 1)
            {
                ci.OrdErrorList.Add("医嘱付数不能小于1");
            }
            if (headDo.IsOpData)
            {
                if (headDo.Emsdrugs.Dt_end_ui != null && (headDo.Emsdrugs.Dt_begin_ui.Value < DateTime.Now.AddMinutes(-10)))
                {
                    ci.OrdErrorList.Add("开始日期不能在当前日期之前!");
                }
            }


            if (headDo.Emsdrugs.Dt_end_ui != null && (headDo.Emsdrugs.Dt_begin_ui > headDo.Emsdrugs.Dt_end_ui))
            {
                ci.OrdErrorList.Add("结束日期不能在开始日期之前!");
            }
            //校验在开始时间和结束时间之间有没有有效执行顿数,没有给提示
            new OrderDrugHerbViewModel().judgeBeginEndTimeHasMpTimes(headDo.Emsdrugs.Dt_begin_ui, headDo.Emsdrugs.Dt_end_ui, headDo.Emsdrugs.Id_freq);
            if (headDo.Emsdrugs.EmsOrDrugList.Count == 0)
            {
                ci.OrdErrorList.Add("没有任何药品!");
            }

            bool bcf = headDo.Emsdrugs.EmsOrDrugList.GroupBy(i => i.Id_mm).Where(g => g.Count() > 1).Count() >= 1;

            if (bcf)
            {
                ci.OrdErrorList.Add("药品有重复!");
            }
            #region 空药品
            if (headDo.Emsdrugs.EmsOrDrugList.Count(p => p.Id_srv == null || p.Id_srv == "" || p.Name_srv == null || p.Name_srv == "" || p.Spec_mm == null || p.Spec_mm == "" || p.Spec_mm == null || p.Spec_mm == "") > 0)
            {
                ci.OrdErrorList.Add("药品有空数据!");
            }

            #endregion

            #region 总量大于0
            foreach (EmsOrDrug item in headDo.Emsdrugs.EmsOrDrugList)
            {
                if (item.Quan_med == null || item.Quan_med.ToDouble() <= 0)
                {
                    ci.OrdErrorList.Add(item.Name_mm + "剂量必须大于0!");
                }
            }
            #endregion
            #region 药品库存的判断
            string mmcounterror = LogicEx.GetInstance().validateDrugCount(headDo.Emsdrugs.EmsOrDrugList.ToList());
            if (!string.IsNullOrEmpty(mmcounterror))
            {
                ci.OrdErrorList.Add(mmcounterror);
            }
            #endregion


            return(true);
        }
Пример #3
0
        public override void OnRefreshData(ciordems.d.EmsUIDTO headDo, object e)
        {
            if (headDo != null)
            {
                this.EmsHeadDO = headDo;
            }

            if (this.Created)
            {
                this.LoadData();
            }
            DrugReadData();
        }
Пример #4
0
        public override void OnRefreshData(ciordems.d.EmsUIDTO headDo, object e)
        {
            if (headDo != null)
            {
                CiHeadDo = headDo;
                CiEmsDto = e as CiEmsDTO;
            }

            if (this.Created)
            {
                this.LoadData();
            }
        }
Пример #5
0
        public bool OrdValivate(ciordems.d.EmsUIDTO headDo, CiorderBaseControl ci)
        {
            List <string> errList = new List <string>();

            //if (headDo.Emsappathgy.EmsItemInpathgy == null || headDo.Emsappathgy.EmsItemInpathgy.Count == 0)
            //{
            //    errList.Add("没有标本信息");
            //}
            if (errList.Count > 0)
            {
                ci.OrdErrorList.AddRange(errList);
                return(false);
            }
            return(true);
        }
Пример #6
0
        public bool OrdValivate(ciordems.d.EmsUIDTO headDo, CiorderBaseControl ci)
        {
            List <string> errList = new List <string>();

            if (headDo.Emsapout.Des_outtp != null && headDo.Emsapout.Des_outtp.Length > 150)
            {
                errList.Add("字数超出了数据库的范围!");
            }

            if (errList.Count > 0)
            {
                ci.OrdErrorList.AddRange(errList);
                return(false);
            }
            return(true);
        }
Пример #7
0
        public bool OrdValivate(ciordems.d.EmsUIDTO headDo, CiorderBaseControl ci)
        {
            List <string> errList = new List <string>();

            if (headDo.Emsaptrans.Id_dep_to == headDo.Emsaptrans.Id_dep_from && headDo.Emsaptrans.Id_dep_nur_to == headDo.Emsaptrans.Id_dep_nur_from)
            {
                errList.Add("目标科室、目标病区不能与原科室、原病区相同!");
            }

            if (errList.Count > 0)
            {
                ci.OrdErrorList.AddRange(errList);
                return(false);
            }
            return(true);
        }
Пример #8
0
        public override void OnRefreshData(ciordems.d.EmsUIDTO headDo, object e)
        {
            if (headDo != null)
            {
                CiHeadDo = headDo;

                //if (headDo.Status == DOStatus.NEW)
                //{
                //    EmsOrDrug or = new EmsOrDrug();
                //    or = cof.DoCopy<EmsOrDrug>(headDo.Emsdrugs.EmsOrDrug.First());
                //    headDo.Emsdrugs.EmsOrDrugList.Add(or);
                //}
            }

            if (this.Created)
            {
                this.LoadData();
            }
        }
Пример #9
0
        public bool OrdValivate(ciordems.d.EmsUIDTO headDo, CiorderBaseControl ci)
        {
            #region 出院带药下必须填写总量
            List <string> errList = new List <string>();
            if (headDo.Emsdrugs.Fg_outp != null && headDo.Emsdrugs.Fg_outp.Value)
            {
                foreach (EmsOrDrug item in headDo.Emsdrugs.EmsOrDrugList)
                {
                    if (item.Quan_cur == null || item.Quan_cur.ToDouble() <= 0)
                    {
                        errList.Add("出院带药必须填写总量,且大于0!");
                    }
                }
            }
            #endregion

            #region 开始日期不能小于入院日期
            if (!headDo.IsOpData)
            {
                string errMsg = cof.CompareWithAdmission(headDo.PatInfo.Id_ent, headDo.Emsdrugs.Dt_begin_ui);
                if (!string.IsNullOrEmpty(errMsg))
                {
                    errList.Add(errMsg);
                }
            }
            #endregion


            #region 结束日期不能大于开始日期
            if (headDo.Emsdrugs.Dt_end_ui != null && (headDo.Emsdrugs.Dt_begin_ui > headDo.Emsdrugs.Dt_end_ui))
            {
                errList.Add("结束日期不能在开始日期之前!");
            }

            #endregion



            bool bcf = headDo.Emsdrugs.EmsOrDrugList.GroupBy(i => i.Id_mm).Where(g => g.Count() > 1).Count() >= 1;
            if (bcf)
            {
                ci.OrdErrorList.Add("药品有重复!");
            }
            #region 空药品
            if (headDo.Emsdrugs.EmsOrDrugList.Count(p => p.Id_srv == null || p.Id_srv == "") > 0)
            {
                ci.OrdErrorList.Add("药品有空数据!");
            }

            #endregion

            #region 总量大于0
            foreach (EmsOrDrug item in headDo.Emsdrugs.EmsOrDrugList)
            {
                if (item.Quan_med == null || item.Quan_med.ToDouble() <= 0)
                {
                    ci.OrdErrorList.Add(item.Name_mm + "剂量必须大于0!");
                }
            }
            #endregion


            #region 药品不能为空
            if (headDo.Emsdrugs.EmsOrDrugList.Count == 0)
            {
                errList.Add("药品不能为空!");
            }
            #endregion
            #region
            if (headDo.Emsdrugs.Use_days < 0)
            {
                errList.Add("用药天数小于0!");
            }
            #endregion
            #region 药品库存的判断
            string mmcounterror = LogicEx.GetInstance().validateDrugCount(headDo.Emsdrugs.EmsOrDrugList.ToList());
            if (!string.IsNullOrEmpty(mmcounterror))
            {
                errList.Add(mmcounterror);
            }
            #endregion
            if (errList.Count > 0)
            {
                ci.OrdErrorList.AddRange(errList);
                return(false);
            }
            return(true);
        }