Пример #1
0
        public CiOrderDO New_Save()
        {
            this.uiEmsDTO.Emsapcons.Id_srvof = emsMgrDTO.Id_ems;
            //处理草药的代煎付数
            if (true == this.uiEmsDTO.Emsdrugs.Fg_boil)
            {
                this.uiEmsDTO.Emsdrugs.Orders_boil = this.uiEmsDTO.Emsdrugs.Orders;
            }
            else
            {
                this.uiEmsDTO.Emsdrugs.Orders_boil = 0;
            }

            this.uiEmsDTO.Emsdrugs.EmsOrDrugListEx.Clear();
            XapDataList <EmsOrDrug> drugList = this.uiEmsDTO.Emsdrugs.EmsOrDrugList;

            foreach (EmsOrDrug drug in this.uiEmsDTO.Emsdrugs.EmsOrDrugList)
            {
                this.uiEmsDTO.Emsdrugs.EmsOrDrugListEx.Add(drug);
            }


            EmsRstDTO rst = SaveRemote(this.uiEmsDTO.Emsdrugs);

            if (rst != null)
            {
                return((rst.Document[0] as CiorderAggDO).getParentDO());
            }

            return(null);
        }
Пример #2
0
        /// <summary>
        /// 优化后方法
        /// </summary>
        /// <param name="emsCreateParameter"></param>
        /// <param name="pos"></param>
        /// <returns></returns>
        private bool New_LoadMedSrv(EmsCreatedParameter emsCreateParameter, int pos)
        {
            base.LoadMedSrv(emsCreateParameter, pos);
            MedSrvDO med = emsCreateParameter.getMedSrvDO();

            this.uiEmsDTO.MedSrvDO = med;
            var ub = GetCustomParam() as CiordubDTO;
            Dictionary <String, Object> ctmInfo = new Dictionary <string, object>();

            ctmInfo.Add("CustomInfo", ub.Id_or_rel);
            EmsRstDTO[] rsts = CreateRemote(med.Id_srv, null, ctmInfo);
            EmsRstDTO   rst  = rsts[0];

            if (rst != null)
            {
                if (null == this.uiEmsDTO.CiordubDTO)
                {
                    this.uiEmsDTO.CiordubDTO = new CiordubDTO();
                }

                uiEmsDTO.CiordubDTO.deSerializeJson((rst.Document[0] as CiordubDTO).serializeJson());
                //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                //uiEmsDTO.CiordubDTO.deSerializeJson(utf8Str);

                if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO"))
                {
                    this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO;
                }

                tableDatasource.Add(this.uiEmsDTO.CiordubDTO);
            }

            return(true);
        }
Пример #3
0
        /// <summary>
        /// 新建医疗单
        /// </summary>
        /// <param name="emsCreatedParameter"></param>
        /// <param name="pos"></param>
        /// <returns></returns>
        public override bool LoadMedSrv(EmsCreatedParameter emsCreatedParameter, int pos) //EmsCreateParameter
        {
            base.LoadMedSrv(emsCreatedParameter, pos);
            MedSrvDO med = emsCreatedParameter.getMedSrvDO();

            this.uiEmsDTO.MedSrvDO = med;
            EmsRstDTO[] rsts = CreateRemote(med.Id_srv);
            EmsRstDTO   rst  = rsts[0];

            if (rst != null)
            {
                uiEmsDTO.Emsapop.deSerializeJson((rst.Document[0] as EmsOpitemDO).serializeJson());
                //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                //uiEmsDTO.Emsapop.deSerializeJson(utf8Str);

                if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO"))
                {
                    this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO;
                    strSd_srvtp            = this.uiEmsDTO.MedSrvDO.Sd_srvtp;
                }
                tableDatasource.Clear();
                tableDatasource.Add(uiEmsDTO.Emsapop);
                //this.LoadIndicatorData();
                // 动态指标
                if (null != uiEmsDTO.Emsapop.OpCheckIndicatorList)
                {
                    uiEmsDTO.Emsapop.OpCheckIndicatorList.Cast <OrdApSugViewItemDO>().ToList().ForEach(item =>
                    {
                        uiEmsDTO.Emsapop.OpLabItem.Add(item);
                    });
                }
            }
            return(true);
        }
Пример #4
0
        /// <summary>
        /// 加载病理数据
        /// </summary>
        /// <param name="medSrvDO"></param>
        public override bool LoadMedSrv(EmsCreatedParameter emsCreatedParameter, int pos)
        {
            base.LoadMedSrv(emsCreatedParameter, pos);

            MedSrvDO medSrvDO = emsCreatedParameter.getMedSrvDO();

            this.uiEmsDTO.MedSrvDO = medSrvDO;
            EmsRstDTO[] rsts = CreateRemote(medSrvDO.Id_srv);
            EmsRstDTO   rst  = rsts[0];

            if (rst != null)
            {
                uiEmsDTO.Emsappathgy.deSerializeJson((rst.Document[0] as EmsPathgyItemDO).serializeJson());
                //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                //uiEmsDTO.Emsappathgy.deSerializeJson(utf8Str);

                if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO"))
                {
                    this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO;
                    strSd_srvtp            = this.uiEmsDTO.MedSrvDO.Sd_srvtp;
                }
                this.lstEmsPathgyItemDO.Clear();
                if (uiEmsDTO.Emsappathgy.EmsItemInpathgy.Count <= 0)
                {
                    uiEmsDTO.Emsappathgy.EmsItemInpathgy.AddNew();
                    uiEmsDTO.Emsappathgy.EmsItemInpathgy[0].Sortno = 1;
                }

                this.lstEmsPathgyItemDO.Add(uiEmsDTO.Emsappathgy);
            }

            return(true);
        }
Пример #5
0
        /// <summary>
        /// 从服务项新建医疗单医嘱条目
        /// </summary>
        /// <param name="med"></param>
        /// <param name="pos"></param>
        /// <returns></returns>
        public override bool LoadMedSrv(EmsCreatedParameter emsCreateParameter, int pos)  //EmsCreateParameter
        {
            base.LoadMedSrv(emsCreateParameter, pos);
            MedSrvDO med = emsCreateParameter.getMedSrvDO();

            // 暂存药品服务
            this.uiEmsDTO.MedSrvDO = med;
            EmsRstDTO[] rsts = CreateRemote(med.Id_srv);
            EmsRstDTO   rst  = rsts[0];

            if (rst != null)
            {
                uiEmsDTO.Emsapcons.deSerializeJson((rst.Document[0] as EmsConsItemDO).serializeJson());
                //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                //uiEmsDTO.Emsapcons.deSerializeJson(utf8Str);

                if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO"))
                {
                    this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO;
                    this.strSd_srvtp       = this.uiEmsDTO.MedSrvDO.Sd_srvtp;
                }
                this.uiEmsDTO.Emsapcons.Dt_begin_ui = this.uiEmsDTO.Emsapcons.Dt_begin_ui == null?this.NowTime() : this.uiEmsDTO.Emsapcons.Dt_begin_ui;

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

                if (this.uiEmsDTO.Emsapcons.ConsAssList != null)
                {
                    if (null == this.uiEmsDTO.Emsapcons.EmsConsAssistItem)
                    {
                        this.uiEmsDTO.Emsapcons.EmsConsAssistItem = new XapDataList <EmsItemInCons>();
                    }
                    this.uiEmsDTO.Emsapcons.EmsConsAssistItem.Clear();
                    this.uiEmsDTO.Emsapcons.ConsAssList.Cast <EmsItemInCons>().ToList().ForEach(o =>
                    {
                        this.uiEmsDTO.Emsapcons.EmsConsAssistItem.Add(o);
                    });
                }
                if (this.uiEmsDTO.Emsapcons.ConsItemList != null)
                {
                    if (null == this.uiEmsDTO.Emsapcons.EmsConsItem)
                    {
                        this.uiEmsDTO.Emsapcons.EmsConsItem = new XapDataList <EmsItemInCons>();
                    }
                    this.uiEmsDTO.Emsapcons.EmsConsItem.Clear();
                    this.uiEmsDTO.Emsapcons.ConsItemList.Cast <EmsItemInCons>().ToList().ForEach(o =>
                    {
                        this.uiEmsDTO.Emsapcons.EmsConsItem.Add(o);
                    });
                }
            }

            return(true);
        }
Пример #6
0
        /// <summary>
        /// 从药品服务项目创建医嘱
        /// </summary>
        /// <param name="med"></param>
        public override bool LoadMedSrv(EmsCreatedParameter emsCreatedParameter, int pos) //EmsCreateParameter
        {
            base.LoadMedSrv(emsCreatedParameter, pos);
            MedSrvDO med = emsCreatedParameter.getMedSrvDO();

            EmsRstDTO[] rsts = CreateRemote(med.Id_srv);
            EmsRstDTO   rst  = rsts[0];

            if (rst != null)
            {
                uiEmsDTO.Emsaplab.deSerializeJson((rst.Document[0] as EmsObsItemDO).serializeJson());
                //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                //uiEmsDTO.Emsaplab.deSerializeJson(utf8Str);

                if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO"))
                {
                    this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO;
                    strSd_srvtp            = this.uiEmsDTO.MedSrvDO.Sd_srvtp;
                }
                // 处理执行科室过滤条件
                if (null != rst.Extension && rst.Extension.Keys.Contains("MpDepFilter"))
                {
                    this.strID_Dep_Mps = (String)rst.Extension["MpDepFilter"];
                }

                if (this.uiEmsDTO.Emsaplab.EmsOrDrugListEx != null)
                {
                    if (null == this.uiEmsDTO.Emsaplab.EmsOrDrugList)
                    {
                        this.uiEmsDTO.Emsaplab.EmsOrDrugList = new XapDataList <EmsOrDrug>();
                    }
                    this.uiEmsDTO.Emsaplab.EmsOrDrugList.Clear();
                    this.uiEmsDTO.Emsaplab.EmsOrDrugListEx.Cast <EmsOrDrug>().ToList().ForEach(o =>
                    {
                        this.uiEmsDTO.Emsaplab.EmsOrDrugList.Add(o);
                    });
                }

                // 处理套项目信息
                if (this.uiEmsDTO.Emsaplab.EmsOrObsListEx != null)
                {
                    if (null == this.uiEmsDTO.Emsaplab.EmsOrObsList)
                    {
                        this.uiEmsDTO.Emsaplab.EmsOrObsList = new XapDataList <EmsObsLap>();
                    }
                    this.uiEmsDTO.Emsaplab.EmsOrObsList.Clear();
                    this.uiEmsDTO.Emsaplab.EmsOrObsListEx.Cast <EmsObsLap>().ToList().ForEach(o =>
                    {
                        this.uiEmsDTO.Emsaplab.EmsOrObsList.Add(o);
                    });
                }
            }


            return(true);
        }
Пример #7
0
        public CiOrderDO New_Save()
        {
            this.uiEmsDTO.Emsdrugs.Id_srvof = emsMgrDTO.Id_ems;
            this.uiEmsDTO.Emsdrugs.Status   = this.uiEmsDTO.Status;

            EmsRstDTO rst = SaveRemote(this.uiEmsDTO.Emsdrugs);

            if (rst != null)
            {
                return((rst.Document[0] as CiorderAggDO).getParentDO());
            }
            return(null);
        }
Пример #8
0
        /// <summary>
        /// 编辑医嘱条目
        /// </summary>
        /// <param name="ciOrderDO"></param>
        public override void EditOrder(ciorder.d.CiOrderDO ciOrderDO)
        {
            EmsRstDTO[] rsts = LoadRemote(ciOrderDO.Id_or);
            EmsRstDTO   rst  = rsts[0];

            if (rst != null)
            {
                uiEmsDTO.Status = DOStatus.UPDATED;

                uiEmsDTO.Emsapcons.deSerializeJson((rst.Document[0] as EmsConsItemDO).serializeJson());
                //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                //uiEmsDTO.Emsapcons.deSerializeJson(utf8Str);

                if (rst.Extension != null && rst.Extension.Keys.Contains("CiEmsDTO"))
                {
                    this.ciEmsDTO = rst.Extension["CiEmsDTO"] as CiEmsDTO;
                }
                if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO"))
                {
                    this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO;
                }

                // 附加手术项目
                if (uiEmsDTO.Emsapcons.ConsAssList != null)
                {
                    uiEmsDTO.Emsapcons.ConsAssList.Cast <EmsItemInCons>().ToList().ForEach(p =>
                    {
                        uiEmsDTO.Emsapcons.EmsConsAssistItem.Add(p);
                    });

                    if (uiEmsDTO.Emsapcons.EmsConsAssistItem.Count > 0)
                    {
                        uiEmsDTO.Emsapcons.Id_dep_emp      = uiEmsDTO.Emsapcons.EmsConsAssistItem[0].Id_dep_emp;
                        uiEmsDTO.Emsapcons.Name_dep_emp    = uiEmsDTO.Emsapcons.EmsConsAssistItem[0].Name_dep_emp;
                        uiEmsDTO.Emsapcons.Id_emp_doctor   = uiEmsDTO.Emsapcons.EmsConsAssistItem[0].Id_emp_doctor;
                        uiEmsDTO.Emsapcons.Name_emp_doctor = uiEmsDTO.Emsapcons.EmsConsAssistItem[0].Name_emp_doctor;
                    }
                }

                // 状态处理
                uiEmsDTO.Emsapcons.Status = uiEmsDTO.Status;
                this.tableDataSource.Add(uiEmsDTO.Emsapcons);
                this.ciEmsDTO.Status = DOStatus.UPDATED;
                this.uiEmsDTO.Status = DOStatus.UPDATED;

                // 处理分拣费用项目
                HandleExpenseItems(ciEmsDTO);
            }
        }
Пример #9
0
        public override void EditOrder(CiOrderDO ciOrderDO)
        {
            EmsRstDTO[] rsts = LoadRemote(ciOrderDO.Id_or);
            EmsRstDTO   rst  = rsts[0];

            if (rst != null)
            {
                uiEmsDTO.Emsdrugs.deSerializeJson((rst.Document[0] as EmsDrugItemDO).serializeJson());
                //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                //uiEmsDTO.Emsdrugs.deSerializeJson(utf8Str);

                if (rst.Extension != null && rst.Extension.Keys.Contains("CiEmsDTO"))
                {
                    this.ciEmsDTO = rst.Extension["CiEmsDTO"] as CiEmsDTO;
                }
                if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO"))
                {
                    this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO;
                }
                if (rst.Extension != null && rst.Extension.Keys.Contains("MpDepFilter"))
                {
                    this.uiEmsDTO.Emsdrugs.Str_mp_dep_ids = rst.Extension["MpDepFilter"] as String;
                }
                if (rst.Extension != null && rst.Extension.Keys.Contains("id_dosages"))
                {
                    id_dosages = rst.Extension["id_dosages"] as String;
                }


                if (this.uiEmsDTO.Emsdrugs.EmsOrDrugListEx != null)
                {
                    if (null == this.uiEmsDTO.Emsdrugs.EmsOrDrugList)
                    {
                        this.uiEmsDTO.Emsdrugs.EmsOrDrugList = new XapDataList <EmsOrDrug>();
                    }
                    this.uiEmsDTO.Emsdrugs.EmsOrDrugList.Clear();
                    this.uiEmsDTO.Emsdrugs.EmsOrDrugListEx.Cast <EmsOrDrug>().ToList().ForEach(o =>
                    {
                        this.uiEmsDTO.Emsdrugs.EmsOrDrugList.Add(o);
                    });
                }
                this.uiEmsDTO.Emsdrugs.EmsOrDrug.Clear();
                this.uiEmsDTO.Emsdrugs.EmsOrDrug.Add(this.uiEmsDTO.Emsdrugs.EmsOrDrugList.FirstOrDefault());

                this.ciEmsDTO.Status = DOStatus.UPDATED;
                this.uiEmsDTO.Status = DOStatus.UPDATED;
                HandleExpenseItems(ciEmsDTO);
            }
        }
Пример #10
0
        public override void EditOrder(CiOrderDO ciOrderDO)
        {
            EmsRstDTO[] rsts = LoadRemote(ciOrderDO.Id_or);
            EmsRstDTO   rst  = rsts[0];

            if (rst != null)
            {
                uiEmsDTO.Emsapbt = rst.Document[0] as EmsBtItemDO;
                //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                //uiEmsDTO.Emsapbt.deSerializeJson(utf8Str);

                if (rst.Extension != null && rst.Extension.Keys.Contains("CiordubDTO"))
                {
                    uiEmsDTO.CiordubDTO = rst.Extension["CiordubDTO"] as CiordubDTO;
                }
                if (rst.Extension != null && rst.Extension.Keys.Contains("CiEmsDTO"))
                {
                    this.ciEmsDTO = rst.Extension["CiEmsDTO"] as CiEmsDTO;
                }
                if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO"))
                {
                    this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO;
                    this.strSd_srvtp       = this.uiEmsDTO.MedSrvDO.Sd_srvtp;
                }

                tableDatasource = new XapDataList <EmsBtItemDO>();
                this.tableDatasource.Add(uiEmsDTO.Emsapbt);

                if (this.uiEmsDTO.Emsapbt.BtLabItemEx != null)
                {
                    if (null == this.uiEmsDTO.Emsapbt.BtLabItem)
                    {
                        this.uiEmsDTO.Emsapbt.BtLabItem = new XapDataList <OrdApSugViewItemDO>();
                    }
                    this.uiEmsDTO.Emsapbt.BtLabItem.Clear();
                    this.uiEmsDTO.Emsapbt.BtLabItemEx.Cast <OrdApSugViewItemDO>().ToList().ForEach(o =>
                    {
                        this.uiEmsDTO.Emsapbt.BtLabItem.Add(o);
                    });
                }
            }


            uiEmsDTO.Id_srvof    = ciEmsDTO.Id_srvof;
            this.ciEmsDTO.Status = DOStatus.UPDATED;
            this.uiEmsDTO.Status = DOStatus.UPDATED;

            HandleExpenseItems(ciEmsDTO);
        }
Пример #11
0
        public CiOrderDO New_Save()
        {
            EmsOrDrug ems = uiEmsDTO.Emsdrugs.EmsOrDrugList[0];

            this.uiEmsDTO.Emsdrugs.Id_srv          = ems.Id_srv;
            this.uiEmsDTO.Emsdrugs.Fg_selfpay      = ems.Fg_selfpay;
            this.uiEmsDTO.Emsdrugs.Name_srv        = ems.Name_srv;
            this.uiEmsDTO.Emsdrugs.Innercode_srvca = ems.Innercode_srvca;
            this.uiEmsDTO.Emsdrugs.Quan_med        = ems.Quan_med;
            this.uiEmsDTO.Emsdrugs.Id_unit_med     = ems.Id_unit_med;
            this.uiEmsDTO.Emsdrugs.Id_freq         = ems.Id_freq;
            this.uiEmsDTO.Emsdrugs.Name_freq       = ems.Name_freq;
            this.uiEmsDTO.Emsdrugs.Sd_frequnitct   = ems.Sd_frequnitct;
            this.uiEmsDTO.Emsdrugs.Freqct          = ems.Freqct;
            this.uiEmsDTO.Emsdrugs.Use_days        = ems.Use_days;
            this.uiEmsDTO.Emsdrugs.Quan_cur        = ems.Quan_cur;
            this.uiEmsDTO.Emsdrugs.Id_unit_sale    = ems.Id_unit_sale;
            this.uiEmsDTO.Emsdrugs.Name_unit_sale  = ems.Name_unit_sale;
            this.uiEmsDTO.Emsdrugs.Id_dep          = ems.Id_mp_dep;
            this.uiEmsDTO.Emsdrugs.Name_dep        = ems.Name_mp_dep;
            this.uiEmsDTO.Emsdrugs.Price           = ems.Price;
            this.uiEmsDTO.Emsdrugs.Totalprice      = ems.Totalprice.ToString();
            this.uiEmsDTO.Emsdrugs.Note_or         = ems.Note_or;
            this.uiEmsDTO.Emsdrugs.Fg_treat        = ems.Fg_treat;
            this.uiEmsDTO.Emsdrugs.Id_srvtp        = ems.Id_srvtp;
            this.uiEmsDTO.Emsdrugs.Sd_srvtp        = ems.Sd_srvtp;
            this.uiEmsDTO.Emsdrugs.Fg_bl           = ems.Fg_bl;
            //this.uiEmsDTO.Emsdrugs.Id_srvtp = ems.Id_srvtp;
            //this.uiEmsDTO.Emsdrugs.Sd_srvtp = ems.Sd_srvtp;
            this.uiEmsDTO.Emsdrugs.Fg_urgent  = ems.Fg_urgent;
            this.uiEmsDTO.Emsdrugs.Id_srvof   = emsMgrDTO.Id_ems;
            this.uiEmsDTO.Emsdrugs.Fg_selfpay = ems.Fg_selfpay;

            this.uiEmsDTO.Emsdrugs.EmsOrDrugListEx.Clear();
            this.uiEmsDTO.Emsdrugs.EmsOrDrugListEx.Add(this.uiEmsDTO.Emsdrugs.EmsOrDrugList[0]);

            EmsRstDTO rst = SaveRemote(this.uiEmsDTO.Emsdrugs);

            if (rst != null)
            {
                return((rst.Document[0] as CiorderAggDO).getParentDO());
            }

            return(null);
        }
Пример #12
0
        public override bool LoadMedSrv(EmsCreatedParameter emsCreateParameter, int pos) //EmsCreateParameter
        {
            base.LoadMedSrv(emsCreateParameter, pos);
            MedSrvDO med = emsCreateParameter.getMedSrvDO();

            uiEmsDTO.MedSrvDO = med;
            tableDatasource   = new XapDataList <EmsBtItemDO>();
            EmsRstDTO[] rsts = CreateRemote(med.Id_srv);
            EmsRstDTO   rst  = rsts[0];

            if (rst != null)
            {
                uiEmsDTO.Emsapbt.deSerializeJson((rst.Document[0] as EmsBtItemDO).serializeJson());
                //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                //uiEmsDTO.Emsapbt.deSerializeJson(utf8Str);

                if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO"))
                {
                    this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO;
                    this.strSd_srvtp       = this.uiEmsDTO.MedSrvDO.Sd_srvtp;
                }
                if (rst.Extension != null && rst.Extension.Keys.Contains("MpDepFilter"))
                {
                    strMpDeps = rst.Extension["MpDepFilter"] as String;
                }

                tableDatasource.Add(uiEmsDTO.Emsapbt);

                // 动态指标
                if (null != uiEmsDTO.Emsapbt.BtLabItemEx)
                {
                    uiEmsDTO.Emsapbt.BtLabItemEx.Cast <OrdApSugViewItemDO>().ToList().ForEach(item =>
                    {
                        uiEmsDTO.Emsapbt.BtLabItem.Add(item);
                        item.PropertyChanged += ordApSugViewItemDO_PropertyChanged;
                    });
                }
            }


            return(true);
        }
Пример #13
0
        /// <summary>
        /// 优化后方法
        /// </summary>
        /// <param name="ciOrderDO"></param>
        private void New_EditOrder(CiOrderDO ciOrderDO)
        {
            ICiEmsMainService emsMainService = XapServiceMgr.find <ICiEmsMainService>();

            if (null != emsMainService)
            {
                EmsLoadDTO[] emsloads = new EmsLoadDTO[1];
                var          emsload  = new EmsLoadDTO();
                emsload.Id_or     = ciOrderDO.Id_or;
                emsload.Extension = new FMap2();
                emsload.EnContext = CiEnContextUtil.GetCiEnContext(this.GetEnt4BannerDTO(), this.GetContext());
                emsload.EmsDriver = ((int)this.uiEmsDTO.EmsType).ToString();
                emsloads[0]       = emsload;
                EmsRstDTO[] rsts = emsMainService.load(emsloads);
                EmsRstDTO   rst  = rsts[0];
                if (rst != null)
                {
                    uiEmsDTO.CiordubDTO = (rst.Document[0] as CiordubDTO);
                    //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                    //uiEmsDTO.CiordubDTO.deSerializeJson(utf8Str);

                    if (rst.Extension != null && rst.Extension.Keys.Contains("CiEmsDTO"))
                    {
                        this.ciEmsDTO = rst.Extension["CiEmsDTO"] as CiEmsDTO;
                    }
                    if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO"))
                    {
                        this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO;
                    }

                    tableDatasource = new XapDataList <CiordubDTO>();
                    this.tableDatasource.Add(uiEmsDTO.CiordubDTO);

                    //其他处理
                    uiEmsDTO.Id_srvof    = ciEmsDTO.Id_srvof;
                    this.ciEmsDTO.Status = DOStatus.UPDATED;
                    this.uiEmsDTO.Status = DOStatus.UPDATED;

                    HandleExpenseItems(ciEmsDTO);
                }
            }//*/
        }
Пример #14
0
        /// <summary>
        /// 新病理后台保存逻辑调用
        /// </summary>
        /// <returns></returns>
        private CiOrderDO New_Save()
        {
            this.uiEmsDTO.Emsappathgy.Id_srvof = emsMgrDTO.Id_ems;

            this.uiEmsDTO.Emsappathgy.EmsItemInpathgyList = new FArrayList();
            foreach (var item in this.uiEmsDTO.Emsappathgy.EmsItemInpathgy)
            {
                this.uiEmsDTO.Emsappathgy.EmsItemInpathgyList.append(item);
            }

            EmsRstDTO rst = SaveRemote(this.uiEmsDTO.Emsappathgy);

            if (rst != null)
            {
                return((rst.Document[0] as CiorderAggDO).getParentDO());
            }


            return(null);
        }
Пример #15
0
        /// <summary>
        /// 新会诊远程保存逻辑调用
        /// </summary>
        /// <returns></returns>
        public CiOrderDO New_Save()
        {
            ICiEmsMainService emsMainService = XapServiceMgr.find <ICiEmsMainService>();

            if (null != emsMainService)
            {
                var emsSave = new EmsSaveDTO();
                this.uiEmsDTO.Emsapcons.Id_srvof = emsMgrDTO.Id_ems;

                emsSave.Document = new FArrayList();
                emsSave.Document.Add(this.uiEmsDTO.Emsapcons);
                emsSave.EnContext = CiEnContextUtil.GetCiEnContext(this.GetEnt4BannerDTO(), EmsAppModeEnum.SVEMSAPPMODE, OrSourceFromEnum.IIHSRVREF, this.GetContext());
                emsSave.EmsDriver = ((int)this.uiEmsDTO.EmsType).ToString();
                EmsRstDTO rst = emsMainService.save(emsSave);
                if (rst != null)
                {
                    return((rst.Document[0] as CiorderAggDO).getParentDO());
                }
            }

            return(null);
        }
Пример #16
0
        public override bool LoadMedSrv(EmsCreatedParameter emsCreatedParameter, int pos)  //EmsCreateParameter
        {
            base.LoadMedSrv(emsCreatedParameter, pos);
            MedSrvDO med = emsCreatedParameter.getMedSrvDO();

            Dictionary <String, Object> ctmInfo = new Dictionary <string, object>();

            ctmInfo.Add("CustomInfo", emsCreatedParameter.GetParameter() == null ? null : emsCreatedParameter.GetParameter().ToString());
            EmsRstDTO[] rsts = CreateRemote(med.Id_srv, null, ctmInfo);
            EmsRstDTO   rst  = rsts[0];

            if (rst != null)
            {
                uiEmsDTO.Emsdrugs.deSerializeJson((rst.Document[0] as EmsDrugItemDO).serializeJson());
                //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                //uiEmsDTO.Emsdrugs.deSerializeJson(utf8Str);

                if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO"))
                {
                    this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO;
                    strSd_srvtp            = this.uiEmsDTO.MedSrvDO.Sd_srvtp;
                }
                if (null != rst.Extension && rst.Extension.Keys.Contains("MpDepFilter"))
                {
                    this.strMpDepFilter = (String)rst.Extension["MpDepFilter"];
                }

                if (null != uiEmsDTO.Emsdrugs.EmsOrDrugListEx)
                {
                    uiEmsDTO.Emsdrugs.EmsOrDrugList.Clear();
                    uiEmsDTO.Emsdrugs.EmsOrDrugListEx.Cast <EmsOrDrug>().ToList().ForEach(item =>
                    {
                        uiEmsDTO.Emsdrugs.EmsOrDrugList.Add(item);
                    });
                }
            }

            return(true);
        }
Пример #17
0
        public override bool LoadMedSrv(EmsCreatedParameter emsCreatedParameter, int pos) //EmsCreateParameter
        {
            base.LoadMedSrv(emsCreatedParameter, pos);
            MedSrvDO med = emsCreatedParameter.getMedSrvDO();

            this.uiEmsDTO.MedSrvDO = med;
            EmsRstDTO[] rsts = CreateRemote(med.Id_srv);
            EmsRstDTO   rst  = rsts[0];

            if (rst != null)
            {
                if (null != rst.Extension && rst.Extension.Keys.Contains("ErrMsgList"))
                {
                    FArrayList errList = (FArrayList)rst.Extension["ErrMsgList"];
                    if (errList.Count > 0)
                    {
                        this.errorMsgString = errList.ToString();
                        return(false);
                    }
                }

                uiEmsDTO.Emsapobs.deSerializeJson((rst.Document[0] as EmsObsItemDO).serializeJson());
                //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                //uiEmsDTO.Emsapobs.deSerializeJson(utf8Str);

                if (null != rst.Extension && rst.Extension.Keys.Contains("MpDepFilter"))
                {
                    this.strID_Dep_Mps = (String)rst.Extension["MpDepFilter"];
                }
                if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO"))
                {
                    this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO;
                    strSd_srvtp            = this.uiEmsDTO.MedSrvDO.Sd_srvtp;
                }
                this.uiEmsDTO.Emsapobs.EmsOrDrugList.Clear();
                EmsOrDrug item = new EmsOrDrug();
                item.Id_srv   = this.uiEmsDTO.Emsapobs.Id_srv;
                item.Name_srv = this.uiEmsDTO.Emsapobs.Name_srv;

                item.Id_di       = this.uiEmsDTO.Emsapobs.Id_di;
                item.Id_diitm    = this.uiEmsDTO.Emsapobs.Id_diitm;
                item.Name_diag   = this.uiEmsDTO.Emsapobs.Name_diag;
                item.Dt_plan     = this.uiEmsDTO.Emsapobs.Dt_plan;
                item.Id_mp_dep   = this.uiEmsDTO.Emsapobs.Id_mp_dep;
                item.Name_mp_dep = this.uiEmsDTO.Emsapobs.Name_mp_dep;

                item.Quan_med               = this.uiEmsDTO.Emsapobs.Quan_med;
                item.Quan_medu_virtual      = this.uiEmsDTO.Emsapobs.Quan_med;   /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111
                item.Id_unit_med            = this.uiEmsDTO.Emsapobs.Id_unit_med;
                item.Name_unit_med          = this.uiEmsDTO.Emsapobs.Name_unit_med;
                item.Name_unit_medu_virtual = this.uiEmsDTO.Emsapobs.Name_unit_med;        /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111
                item.Id_freq        = uiEmsDTO.MedSrvDO.Id_freq;
                item.Name_freq      = uiEmsDTO.MedSrvDO.Freq_name;
                item.Freqct         = uiEmsDTO.MedSrvDO.Freqct;
                item.Sd_frequnitct  = uiEmsDTO.MedSrvDO.Sd_frequnitct;
                item.Id_pri         = uiEmsDTO.MedSrvDO.Id_primd;
                item.Use_days       = this.uiEmsDTO.Emsapobs.Use_days;
                item.Quan_cur       = this.uiEmsDTO.Emsapobs.Quan_cur;  // CalQuantumUtil.GetInstance().getUnMMQuantum(item.Quan_med,this.uiEmsDTO.Emsapobs.Times_cur) ;
                item.Id_unit_sale   = this.uiEmsDTO.Emsapobs.Id_unit_med;
                item.Name_unit_sale = this.uiEmsDTO.Emsapobs.Name_unit_med;

                //申请单号
                item.No_applyform = this.uiEmsDTO.Emsapobs.No_applyobs;
                //检查目的
                item.Id_pps   = uiEmsDTO.Emsapobs.Id_pps;
                item.Sd_pps   = uiEmsDTO.Emsapobs.Sd_pps;
                item.Name_pps = uiEmsDTO.Emsapobs.Des_pps;

                item.Totalprice = (item.Price == null ? 0 : item.Price);

                item.Price       = this.uiEmsDTO.Emsapobs.Price;
                item.Id_mp_dep   = this.uiEmsDTO.Emsapobs.Id_mp_dep;
                item.Name_mp_dep = this.uiEmsDTO.Emsapobs.Name_mp_dep;
                item.Fg_setradio = uiEmsDTO.MedSrvDO.Fg_setradio;


                this.uiEmsDTO.Emsapobs.EmsOrDrugList.Clear();
                this.uiEmsDTO.Emsapobs.EmsOrDrugList.Add(item);

                if (this.uiEmsDTO.Emsapobs.EmsOrObsListEx != null)
                {
                    if (null == this.uiEmsDTO.Emsapobs.EmsOrObsList)
                    {
                        this.uiEmsDTO.Emsapobs.EmsOrObsList = new XapDataList <EmsObsLap>();
                    }
                    this.uiEmsDTO.Emsapobs.EmsOrObsList.Clear();
                    this.uiEmsDTO.Emsapobs.EmsOrObsListEx.Cast <EmsObsLap>().ToList().ForEach(o =>
                    {
                        this.uiEmsDTO.Emsapobs.EmsOrObsList.Add(o);
                    });
                }
            }

            return(true);
        }
Пример #18
0
        /// <summary>
        /// 编辑医疗单
        /// </summary>
        /// <param name="ciOrderDO"></param>
        public override void EditOrder(ciorder.d.CiOrderDO ciOrderDO)
        {
            EmsRstDTO[] rsts = LoadRemote(ciOrderDO.Id_or);
            EmsRstDTO   rst  = rsts[0];

            if (rst != null)
            {
                uiEmsDTO.Emsapop.deSerializeJson((rst.Document[0] as EmsOpitemDO).serializeJson());
                //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                //uiEmsDTO.Emsapop.deSerializeJson(utf8Str);


                if (rst.Extension != null && rst.Extension.Keys.Contains("CiEmsDTO"))
                {
                    this.ciEmsDTO = rst.Extension["CiEmsDTO"] as CiEmsDTO;
                }
                if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO"))
                {
                    this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO;
                    strSd_srvtp            = this.uiEmsDTO.MedSrvDO.Sd_srvtp;
                }
                if (rst.Extension != null && rst.Extension.Keys.Contains("MpDepFilter"))
                {
                    idDepMps = rst.Extension["MpDepFilter"] as String;
                }
                // 附加手术项目
                if (uiEmsDTO.Emsapop.OpAppendList != null)
                {
                    uiEmsDTO.Emsapop.OpAppendList.Cast <EmsItemInOp>().ToList().ForEach(p =>
                    {
                        uiEmsDTO.Emsapop.OpAppendOpItem.Add(p);
                    });
                }
                // 手术人员
                if (uiEmsDTO.Emsapop.OpPersonList != null)
                {
                    uiEmsDTO.Emsapop.OpPersonList.Cast <EmsItemInOp>().ToList().ForEach(p =>
                    {
                        uiEmsDTO.Emsapop.OpEmpItem.Add(p);
                    });
                }
                // 手术物品
                if (uiEmsDTO.Emsapop.OpDrugList != null)
                {
                    uiEmsDTO.Emsapop.OpDrugList.Cast <EmsItemInOp>().ToList().ForEach(p =>
                    {
                        uiEmsDTO.Emsapop.OpMmItem.Add(p);
                    });
                }
                // 手术动态检查指标
                if (uiEmsDTO.Emsapop.OpCheckIndicatorList != null)
                {
                    uiEmsDTO.Emsapop.OpCheckIndicatorList.Cast <OrdApSugViewItemDO>().ToList().ForEach(p =>
                    {
                        uiEmsDTO.Emsapop.OpLabItem.Add(p);
                    });
                }
                // 附加手术信息转换
                this.OpAppendItem2OpexInfo();

                tableDatasource.Add(uiEmsDTO.Emsapop);

                this.ciEmsDTO.Status = DOStatus.UPDATED;
                this.uiEmsDTO.Status = DOStatus.UPDATED;

                // 处理分拣费用项目
                HandleExpenseItems(ciEmsDTO);
            }
        }
Пример #19
0
        public override void EditOrder(CiOrderDO ciOrderDO)
        {
            EmsRstDTO[] rsts = LoadRemote(ciOrderDO.Id_or);
            EmsRstDTO   rst  = rsts[0];

            if (rst != null)
            {
                uiEmsDTO.Emsaplab.deSerializeJson((rst.Document[0] as EmsObsItemDO).serializeJson());
                //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                //uiEmsDTO.Emsaplab.deSerializeJson(utf8Str);

                if (rst.Extension != null && rst.Extension.Keys.Contains("CiEmsDTO"))
                {
                    this.ciEmsDTO = rst.Extension["CiEmsDTO"] as CiEmsDTO;
                }
                if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO"))
                {
                    this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO;
                    strSd_srvtp            = this.uiEmsDTO.MedSrvDO.Sd_srvtp;
                }
                this.ciEmsDTO.Times_cur = ciOrderDO.Times_cur;

                this.ciEmsDTO.Times_mp_in = ciOrderDO.Times_mp_in;

                if (this.uiEmsDTO.Emsaplab.EmsOrObsListEx != null)
                {
                    if (null == this.uiEmsDTO.Emsaplab.EmsOrObsList)
                    {
                        this.uiEmsDTO.Emsaplab.EmsOrObsList = new XapDataList <EmsObsLap>();
                    }
                    this.uiEmsDTO.Emsaplab.EmsOrObsList.Clear();
                    this.uiEmsDTO.Emsaplab.EmsOrObsListEx.Cast <EmsObsLap>().ToList().ForEach(o =>
                    {
                        this.uiEmsDTO.Emsaplab.EmsOrObsList.Add(o);
                    });

                    this.uiEmsDTO.Emsaplab.EmsOrDrugList.Clear();    //
                }
                uiEmsDTO.Emsaplab.Use_days    = this.ciEmsDTO.Days_or;
                uiEmsDTO.Emsaplab.Dt_begin_ui = this.ciEmsDTO.Dt_begin;
                uiEmsDTO.Emsaplab.Dt_end_ui   = this.ciEmsDTO.Dt_end;
                uiEmsDTO.Emsaplab.Times_cur   = this.ciEmsDTO.Times_cur;
                uiEmsDTO.Emsaplab.Times_mp_in = this.ciEmsDTO.Times_mp_in;

                EmsOrDrug item = new EmsOrDrug();
                item.Status   = DOStatus.UPDATED;
                item.Id_orsrv = this.uiEmsDTO.Emsaplab.Id_orsrv;

                item.Id_srv   = this.uiEmsDTO.Emsaplab.Id_srv;
                item.Name_srv = this.uiEmsDTO.Emsaplab.Name_srv;
                // 频次
                item.Id_freq       = ciEmsDTO.Id_freq;
                item.Name_freq     = ciEmsDTO.Name_freq;
                item.Freqct        = this.uiEmsDTO.MedSrvDO.Freqct;
                item.Sd_frequnitct = this.uiEmsDTO.MedSrvDO.Sd_frequnitct;

                item.Price = (uiEmsDTO.Emsaplab.Price == null ? 0 : uiEmsDTO.Emsaplab.Price);

                item.Fg_urgent = this.uiEmsDTO.Emsaplab.Fg_urgent;
                item.Use_days  = uiEmsDTO.Emsaplab.Use_days;

                // 剂量
                item.Quan_med      = uiEmsDTO.Emsaplab.Quan_med;
                item.Id_unit_med   = uiEmsDTO.Emsaplab.Id_unit_med;
                item.Name_unit_med = uiEmsDTO.Emsaplab.Name_unit_med;
                // 执行科室
                item.Id_mp_dep   = uiEmsDTO.Emsaplab.Id_mp_dep;
                item.Name_mp_dep = uiEmsDTO.Emsaplab.Name_mp_dep;

                // 总量
                item.Quan_cur       = (ciEmsDTO.Times_cur == null ? 0 : ciEmsDTO.Times_cur);
                item.Id_unit_sale   = item.Id_unit_med;
                item.Name_unit_sale = item.Name_unit_med;
                /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111
                item.Quan_medu_virtual      = uiEmsDTO.Emsaplab.Quan_med;
                item.Name_unit_medu_virtual = uiEmsDTO.Emsaplab.Name_unit_med;
                /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111

                // 总价
                item.Totalprice = item.Price * item.Quan_cur;

                //申请单号
                item.No_applyform = this.uiEmsDTO.Emsaplab.No_applyobs;

                //标本类型
                item.Id_samptp   = this.uiEmsDTO.Emsaplab.Id_samptp;
                item.Sd_samptp   = this.uiEmsDTO.Emsaplab.Sd_samptp;
                item.Name_samptp = this.uiEmsDTO.Emsaplab.Name_samptp;
                //标本采集时间
                item.Id_sampcoltime       = this.uiEmsDTO.Emsaplab.Id_sampcoltime;
                item.Name_sampcoltime     = this.uiEmsDTO.Emsaplab.Name_sampcoltime;
                item.Id_sampcollecttimetp = this.uiEmsDTO.Emsaplab.Id_sampcollecttimetp;
                item.Sd_sampcollecttimetp = this.uiEmsDTO.Emsaplab.Sd_sampcollecttimetp;
                item.Len_sampcoltime      = this.uiEmsDTO.Emsaplab.Len_sampcoltime;
                item.Id_unit_sampcoltime  = this.uiEmsDTO.Emsaplab.Id_unit_sampcoltime;

                this.uiEmsDTO.Emsaplab.EmsOrDrugList.Add(item);

                //其他处理
                uiEmsDTO.Id_srvof    = ciEmsDTO.Id_srvof;
                this.ciEmsDTO.Status = DOStatus.UPDATED;
                this.uiEmsDTO.Status = DOStatus.UPDATED;
                item.Fg_setradio     = uiEmsDTO.MedSrvDO.Fg_setradio;
                HandleExpenseItems(ciEmsDTO);
            }
        }
Пример #20
0
        public override bool LoadMedSrv(EmsCreatedParameter emsCreatedParameter, int pos) //EmsCreateParameter
        {
            MedSrvDO med   = emsCreatedParameter.getMedSrvDO();
            String   id_mm = emsCreatedParameter.getMmID();

            if (String.IsNullOrEmpty(id_mm))
            {
                this.errorMsgString = "没有物品ID";
                return(false);
            }

            // 获取列表最后一个数据
            EmsOrDrug newDrug = null;

            AssCostTimeTool.Enabled = true;

            AssCostTimeTool t1 = new AssCostTimeTool("加载数据时候,LoadMedSrv2 解析 MedSrv 耗时:", false);

            EmsRstDTO[] rsts = CreateRemote(med.Id_srv, id_mm);
            EmsRstDTO   rst  = rsts[0];

            if (rst != null)
            {
                EmsDrugItemDO emsDrugItem = (rst.Document[0] as EmsDrugItemDO);
                //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                //EmsDrugItemDO emsDrugItem = new EmsDrugItemDO();
                //emsDrugItem.deSerializeJson(utf8Str);

                FMap2 emsExtMap = rst.Extension;

                MedSrvDO        medSrv = emsExtMap["MedSrvDO"] as MedSrvDO;
                OrWfDeptInfoDTO wf     = emsExtMap["OrWfDeptInfoDTO"] as OrWfDeptInfoDTO;

                emsDrugItem.EmsOrDrug = new XapDataList <EmsOrDrug>();

                // 列表中显示的物品
                XapDataList <EmsOrDrug> emsOrDrugList = new XapDataList <EmsOrDrug>();
                FArrayList drugList_ex = emsDrugItem.EmsOrDrugListEx;
                foreach (EmsOrDrug drug in drugList_ex)
                {
                    emsOrDrugList.Add(drug);
                    emsDrugItem.EmsOrDrug.Add(drug);
                }

                newDrug = this.GetSelectedObject() as EmsOrDrug;
                if (pos < 0)
                {
                    this.uiEmsDTO.MedSrvDO    = med;
                    emsDrugItem.EmsOrDrugList = emsOrDrugList;
                    this.uiEmsDTO.Emsdrugs    = emsDrugItem;
                    return(true);
                }

                //TODO: 可以放到查询药品前,重复就不用走后台了
                if (this.uiEmsDTO.Emsdrugs.EmsOrDrugList.Count(p => p.Name_srv == newDrug.Name_srv && !p.IsDELETED) > 1)
                {
                    this.errorMsgString = "已经存在服务【" + medSrv.Name + "】!";
                    this.uiEmsDTO.Emsdrugs.EmsOrDrugList.Remove(newDrug);
                    this.logicEx.Clear <EmsOrDrug>(newDrug);
                    newDrug.Status = DOStatus.NEW;
                    this.uiEmsDTO.Emsdrugs.EmsOrDrug.Clear();
                    this.uiEmsDTO.Emsdrugs.EmsOrDrug.Add(newDrug);
                    return(false);
                }

                // 获取从后台返回的用于医嘱列表显示的数据
                if (emsOrDrugList == null || string.IsNullOrEmpty(emsOrDrugList[0].Id_mm))
                {// TODO 什么情况没有数据
                    this.errorMsgString = "服务未绑定物品,请联系信息科!";
                    this.logicEx.Clear <EmsOrDrug>(newDrug);
                    return(false);
                }
                EmsOrDrug tempDrug = emsOrDrugList[0];

                if (!newDrug.IsUPDATED)
                {
                    tempDrug.Status = DOStatus.NEW;
                }
                else
                { // 增加该逻辑分支   针对 已保存的 医嘱项目 进行服务项目的修改 -- 2016-11-21 by wangqz
                    tempDrug.Status   = DOStatus.UPDATED;
                    tempDrug.Id_orsrv = newDrug.Id_orsrv;
                }


                // 新加的药品要与已有的保持同频次,同周期,同用法
                tempDrug.Id_route   = this.uiEmsDTO.Emsdrugs.Id_route;
                tempDrug.Name_route = this.uiEmsDTO.Emsdrugs.Name_route;

                // 草药外配标识在医疗单中,勾选外配,全为外配
                tempDrug.Fg_extdispense = this.uiEmsDTO.Emsdrugs.Fg_extdispense;

                // 同频次
                tempDrug.Id_freq       = this.uiEmsDTO.Emsdrugs.Id_freq;
                tempDrug.Name_freq     = this.uiEmsDTO.Emsdrugs.Name_freq;
                tempDrug.Sd_frequnitct = this.uiEmsDTO.Emsdrugs.Sd_frequnitct;
                tempDrug.Freqct        = this.uiEmsDTO.Emsdrugs.Freqct;

                // 如果只有一条记录,恢复到服务默认的频次,用法
                fillSameInfoWithMedSrvDO(tempDrug, medSrv);

                // 同周期
                tempDrug.Use_days = this.uiEmsDTO.Emsdrugs.Use_days;

                // 计算总次数 TODO 需要提供前台计算方法,数据都有了,不用走后台了
                int?times_cur = this.uiEmsDTO.Emsdrugs.Times_cur; // CalQuantumUtil.GetInstance().getTotalTimes(tempDrug.Id_freq, (int)this.uiEmsDTO.Emsdrugs.Use_days);


                int?orders = this.uiEmsDTO.Emsdrugs.Orders;
                // 计算总量
                tempDrug.Quan_cur = CalQuantumUtil.GetInstance().getMMQuantum(tempDrug.Sd_mupkgutp, tempDrug.Quan_med, tempDrug.Factor_mb, tempDrug.Factor_cb, orders);

                tempDrug.Totalprice = tempDrug.Price * tempDrug.Quan_cur; // 计算总价

                // 将返回数据加到表格数据源中
                newDrug.Replace(tempDrug);
            }

            return(true);
        }
Пример #21
0
        public CiOrderDO New_Save()
        {
            // 需要将临时存储在列表数据模型中的数据取出来,放置到检验结构中
            EmsOrDrug drug = uiEmsDTO.Emsaplab.EmsOrDrugList.ElementAt(0);

            // 剂量
            uiEmsDTO.Emsaplab.Id_unit_med   = drug.Id_unit_med;
            uiEmsDTO.Emsaplab.Name_unit_med = drug.Name_unit_med;
            uiEmsDTO.Emsaplab.Quan_med      = drug.Quan_med;

            // 使用天数
            uiEmsDTO.Emsaplab.Use_days = drug.Use_days;

            // 总量
            uiEmsDTO.Emsaplab.Quan_cur       = drug.Quan_cur;
            uiEmsDTO.Emsaplab.Id_unit_sale   = drug.Id_unit_med;
            uiEmsDTO.Emsaplab.Name_unit_sale = drug.Name_unit_med;

            /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111
            // 频次
            uiEmsDTO.Emsaplab.Id_freq       = drug.Id_freq;
            uiEmsDTO.Emsaplab.Name_freq     = drug.Name_freq;
            uiEmsDTO.Emsaplab.Freqct        = drug.Freqct;
            uiEmsDTO.Emsaplab.Sd_frequnitct = drug.Sd_frequnitct;
            /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111

            // 加急
            uiEmsDTO.Emsaplab.Fg_urgent = drug.Fg_urgent;

            // 价格
            uiEmsDTO.Emsaplab.Price = drug.Price;

            // 执行科室
            uiEmsDTO.Emsaplab.Id_mp_dep   = drug.Id_mp_dep;
            uiEmsDTO.Emsaplab.Name_mp_dep = drug.Name_mp_dep;
            //标本类型
            uiEmsDTO.Emsaplab.Id_samptp   = drug.Id_samptp;
            uiEmsDTO.Emsaplab.Sd_samptp   = drug.Sd_samptp;
            uiEmsDTO.Emsaplab.Name_samptp = drug.Name_samptp;
            //标本采集时间
            uiEmsDTO.Emsaplab.Id_sampcoltime       = drug.Id_sampcoltime;
            uiEmsDTO.Emsaplab.Name_sampcoltime     = drug.Name_sampcoltime;
            uiEmsDTO.Emsaplab.Id_sampcollecttimetp = drug.Id_sampcollecttimetp;
            uiEmsDTO.Emsaplab.Sd_sampcollecttimetp = drug.Sd_sampcollecttimetp;
            uiEmsDTO.Emsaplab.Len_sampcoltime      = drug.Len_sampcoltime;
            uiEmsDTO.Emsaplab.Id_unit_sampcoltime  = drug.Id_unit_sampcoltime;


            this.uiEmsDTO.Emsaplab.EmsOrObsListEx = new FArrayList();
            foreach (EmsObsLap item in this.uiEmsDTO.Emsaplab.EmsOrObsList)
            {
                if (item.Fg_chk == FBoolean.True)
                {
                    this.uiEmsDTO.Emsaplab.EmsOrObsListEx.Add(item);
                }
            }

            EmsRstDTO rst = SaveRemote(this.uiEmsDTO.Emsaplab);

            if (rst != null)
            {
                return((rst.Document[0] as CiorderAggDO).getParentDO());
            }

            return(null);
        }
Пример #22
0
        /// <summary>
        /// 创建医疗单
        /// </summary>
        /// <param name="emsCreateParameter"></param>
        /// <param name="pos"></param>
        /// <returns></returns>
        //public override bool LoadMedSrv(EmsCreatedParameter emsCreateParameter, int pos)
        //{
        //    base.LoadMedSrv(emsCreateParameter, pos);
        //    MedSrvDO med = emsCreateParameter.getMedSrvDO();
        //    String id_mm = emsCreateParameter.getMmID();

        //    // 获取列表最后一个数据
        //    EmsOrDrug newDrug = null;

        //    EmsCrtDTO emsCrt = new EmsCrtDTO();
        //    emsCrt.Id_srv = med.Id_srv;
        //    emsCrt.Id_mm = id_mm;
        //    emsCrt.EmsMgrInfo = this.emsMgrDTO;
        //    emsCrt.EnContext = BaseEmsView.BaseEmsInfoContext["CiEnContextDTO"] as CiEnContextDTO;
        //    emsCrt.EmsDriver = ((int)this.uiEmsDTO.EmsType).ToString();

        //    // 临时用,验证结束需要调整到后台
        //    emsCrt.CustomInfo = emsCreateParameter.GetParameter() == null ? null : emsCreateParameter.GetParameter().ToString();
        //    EmsRstDTO rst = emsMainService.create(emsCrt);
        //    if (rst != null)
        //    {
        //        String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.EmsDocument));
        //        EmsDrugItemDO emsDrugItem = new EmsDrugItemDO();
        //        emsDrugItem.deSerializeJson(utf8Str);

        //        FMap2 emsExtMap = rst.EmsExtension;

        //        this.id_dosages = emsExtMap["id_dosages"] as string;
        //        MedSrvDO medSrv = emsExtMap["MedSrvDO"] as MedSrvDO;
        //        OrWfDeptInfoDTO wf = emsExtMap["OrWfDeptInfoDTO"] as OrWfDeptInfoDTO;
        //        SkinTestRstDTO skinTestRst = emsExtMap["SkinTestRstDTO"] as SkinTestRstDTO;
        //        if (emsExtMap["isShowWarnInfo"] != null && (bool)emsExtMap["isShowWarnInfo"])
        //        {
        //            this.tipInfoMsgString = emsExtMap["specillDrugWarnInfo"] as string;
        //        }
        //        // 物品参照
        //        XapDataList<EmsOrDrug> emsOrDrugRef = new XapDataList<EmsOrDrug>();
        //        if (emsDrugItem.EmsOrDrugEx == null || emsDrugItem.EmsOrDrugEx.Count == 0) {
        //            this.errorMsgString = "服务"+emsDrugItem.Name_srv+"未绑定物品,请联系信息科!";
        //            return false;
        //        }
        //        foreach (EmsOrDrug drug in emsDrugItem.EmsOrDrugEx)
        //        {
        //            emsOrDrugRef.Add(drug);
        //        }
        //        emsDrugItem.EmsOrDrug = emsOrDrugRef;

        //        // 列表中显示的物品
        //        XapDataList<EmsOrDrug> emsOrDrugList = new XapDataList<EmsOrDrug>();
        //        FArrayList drugList_ex = emsDrugItem.EmsOrDrugListEx;
        //        foreach (EmsOrDrug drug in drugList_ex)
        //        {
        //            emsOrDrugList.Add(drug);
        //        }


        //        if (pos < 0)
        //        {
        //            this.uiEmsDTO.MedSrvDO = med;

        //            emsDrugItem.EmsOrDrugList = emsOrDrugList;
        //            // 当物品id查询不到对应物品时,不做赋值操作
        //            if (emsOrDrugList.Count > 0)
        //            {
        //                this.uiEmsDTO.Emsdrugs = emsDrugItem;
        //            }
        //            newDrug = this.uiEmsDTO.Emsdrugs.EmsOrDrugList.LastOrDefault();
        //        }
        //        else
        //        {
        //            newDrug = this.uiEmsDTO.Emsdrugs.EmsOrDrugList.ElementAt(pos);
        //        }

        //        // 设置当前选择项目
        //        SetSelectedObject(newDrug);

        //        if (emsOrDrugList.Count == 0)
        //        {
        //            this.errorMsgString = med.Name + "(" + id_mm + "), 没有关联物品或者物品数据错误!";
        //            this.logicEx.Clear<EmsOrDrug>(newDrug);
        //            return false;
        //        }

        //        // 获取从后台返回的用于医嘱列表显示的数据
        //        EmsOrDrug tempDrug = emsOrDrugList[0];

        //        //皮试判断逻辑
        //        string skinErrorInfo = AssToolEx.CheckSkinTestRst(tempDrug, skinTestRst, this.GetEnt4BannerDTO());
        //        if (!string.IsNullOrEmpty(skinErrorInfo))
        //        {
        //            this.errorMsgString = skinErrorInfo;
        //            this.logicEx.Clear<EmsOrDrug>(newDrug);
        //            return false;
        //        }

        //        // 加载第一条记录信息已经是全的了,不用执行后边的
        //        if (pos < 0)
        //        {
        //            return true;
        //        }

        //        if (!newDrug.IsUPDATED)
        //        {
        //            tempDrug.Status = DOStatus.NEW;
        //        }
        //        else
        //        { // 增加该逻辑分支   针对 已保存的 医嘱项目 进行服务项目的修改 -- 2016-11-21 by wangqz
        //            tempDrug.Status = DOStatus.UPDATED;
        //        }
        //        // 保留id_orsrv ,当对编辑项通过退格键删除后,在选择其他服务,Id_orsrv存在
        //        tempDrug.Id_orsrv = newDrug.Id_orsrv;

        //        // 新加的药品要与已有的保持同频次,同周期,同用法
        //        tempDrug.Id_route = this.uiEmsDTO.Emsdrugs.Id_route;
        //        tempDrug.Name_route = this.uiEmsDTO.Emsdrugs.Name_route;

        //        // 同频次
        //        tempDrug.Id_freq = this.uiEmsDTO.Emsdrugs.Id_freq;
        //        tempDrug.Name_freq = this.uiEmsDTO.Emsdrugs.Name_freq;
        //        tempDrug.Sd_frequnitct = this.uiEmsDTO.Emsdrugs.Sd_frequnitct;
        //        tempDrug.Freqct = this.uiEmsDTO.Emsdrugs.Freqct;

        //        // 如果只有一条记录,恢复到服务默认的频次,用法
        //        fillSameInfoWithMedSrvDO(tempDrug, medSrv);

        //        // 同周期
        //        tempDrug.Use_days = this.uiEmsDTO.Emsdrugs.Use_days;

        //        // 计算总次数
        //        int times_cur = CalQuantumUtil.GetInstance().getTotalTimes(tempDrug.Id_freq, (int)this.uiEmsDTO.Emsdrugs.Use_days);

        //        // 计算总量
        //        tempDrug.Quan_cur = CalQuantumUtil.GetInstance().getMMQuantum(tempDrug.Sd_opmutp, tempDrug.Quan_med, tempDrug.Factor_mb, tempDrug.Factor_cb, times_cur);

        //        // 计算总价
        //        tempDrug.Totalprice = tempDrug.Price * tempDrug.Quan_cur;

        //        // 将返回数据加到表格数据源中
        //        newDrug.Replace(tempDrug);
        //    }

        //    return true;
        //}
        public override bool LoadMedSrv(EmsCreatedParameter emsCreateParameter, int pos)
        {
            base.LoadMedSrv(emsCreateParameter, pos);
            MedSrvDO med   = emsCreateParameter.getMedSrvDO();
            String   id_mm = emsCreateParameter.getMmID();


            Dictionary <String, Object> ctmInfo = new Dictionary <string, object>();

            ctmInfo.Add("CustomInfo", emsCreateParameter.GetParameter() == null ? null : emsCreateParameter.GetParameter().ToString());
            EmsRstDTO[] rsts = CreateRemote(med.Id_srv, id_mm, ctmInfo);
            EmsRstDTO   rst  = rsts[0];

            if (rst != null)
            {
                // 获取列表最后一个数据
                EmsOrDrug newDrug = null;

                EmsDrugItemDO emsDrugItem = (rst.Document[0] as EmsDrugItemDO);
                //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                //EmsDrugItemDO emsDrugItem = new EmsDrugItemDO();
                //emsDrugItem.deSerializeJson(utf8Str);

                FMap2 emsExtMap = rst.Extension;

                this.id_dosages = emsExtMap["DosagesFilter"] as string;
                MedSrvDO        medSrv      = emsExtMap["MedSrvDO"] as MedSrvDO;
                OrWfDeptInfoDTO wf          = emsExtMap["OrWfDeptInfoDTO"] as OrWfDeptInfoDTO;
                SkinTestRstDTO  skinTestRst = emsExtMap["SkinTestRstDTO"] as SkinTestRstDTO;
                if (emsExtMap["IsShowWarnInfo"] != null && (bool)emsExtMap["IsShowWarnInfo"])
                {
                    this.tipInfoMsgString = emsExtMap["SpecilDrugWarnInfo"] as string;
                }
                // 物品参照
                if (emsDrugItem.EmsOrDrug == null)
                {
                    emsDrugItem.EmsOrDrug = new XapDataList <EmsOrDrug>();
                }
                foreach (EmsOrDrug drug in emsDrugItem.EmsOrDrugListEx)
                {
                    emsDrugItem.EmsOrDrug.Add(drug);
                }

                // 列表中显示的物品
                XapDataList <EmsOrDrug> emsOrDrugList = new XapDataList <EmsOrDrug>();

                foreach (EmsOrDrug drug in emsDrugItem.EmsOrDrugListEx)
                {
                    emsOrDrugList.Add(drug);
                }

                // 获取从后台返回的用于医嘱列表显示的数据
                EmsOrDrug tempDrug = emsOrDrugList[0];

                if (pos < 0)
                {
                    this.uiEmsDTO.MedSrvDO = med;

                    emsDrugItem.EmsOrDrugList = emsOrDrugList;
                    // 当物品id查询不到对应物品时,不做赋值操作
                    if (emsOrDrugList.Count > 0)
                    {
                        this.uiEmsDTO.Emsdrugs = emsDrugItem;
                    }
                    newDrug = this.uiEmsDTO.Emsdrugs.EmsOrDrugList.LastOrDefault();
                    this.uiEmsDTO.Emsdrugs.Id_dep   = tempDrug.Id_mp_dep;
                    this.uiEmsDTO.Emsdrugs.Name_dep = tempDrug.Name_mp_dep;
                }
                else
                {
                    newDrug = this.uiEmsDTO.Emsdrugs.EmsOrDrugList.ElementAt(pos);
                }

                // 设置当前选择项目
                SetSelectedObject(newDrug);


                //皮试判断逻辑
                string skinErrorInfo = AssToolEx.CheckSkinTestRst(tempDrug, skinTestRst, this.GetEnt4BannerDTO());
                if (skinErrorInfo != null)
                {
                    this.errorMsgString = skinErrorInfo;
                    this.logicEx.Clear <EmsOrDrug>(newDrug);
                    return(false);
                }

                // 加载第一条记录信息已经是全的了,不用执行后边的
                if (pos < 0)
                {
                    return(true);
                }

                if (!newDrug.IsUPDATED)
                {
                    tempDrug.Status = DOStatus.NEW;
                }
                else
                { // 增加该逻辑分支   针对 已保存的 医嘱项目 进行服务项目的修改 -- 2016-11-21 by wangqz
                    tempDrug.Status = DOStatus.UPDATED;
                }
                // 保留id_orsrv ,当对编辑项通过退格键删除后,在选择其他服务,Id_orsrv存在
                tempDrug.Id_orsrv = newDrug.Id_orsrv;

                // 新加的药品要与已有的保持同频次,同周期,同用法
                tempDrug.Id_route   = this.uiEmsDTO.Emsdrugs.Id_route;
                tempDrug.Name_route = this.uiEmsDTO.Emsdrugs.Name_route;

                // 同频次
                tempDrug.Id_freq       = this.uiEmsDTO.Emsdrugs.Id_freq;
                tempDrug.Name_freq     = this.uiEmsDTO.Emsdrugs.Name_freq;
                tempDrug.Sd_frequnitct = this.uiEmsDTO.Emsdrugs.Sd_frequnitct;
                tempDrug.Freqct        = this.uiEmsDTO.Emsdrugs.Freqct;

                // 如果只有一条记录,恢复到服务默认的频次,用法
                fillSameInfoWithMedSrvDO(tempDrug, medSrv);

                // 同周期
                tempDrug.Use_days = this.uiEmsDTO.Emsdrugs.Use_days;

                // 计算总次数
                int times_cur = CalQuantumUtil.GetInstance().getTotalTimes(tempDrug.Id_freq, (int)this.uiEmsDTO.Emsdrugs.Use_days);

                // 计算总量
                tempDrug.Quan_cur = CalQuantumUtil.GetInstance().getMMQuantum(tempDrug.Sd_opmutp, tempDrug.Quan_med, tempDrug.Factor_mb, tempDrug.Factor_cb, times_cur);

                // 计算总价
                tempDrug.Totalprice = tempDrug.Price * tempDrug.Quan_cur;

                // 将返回数据加到表格数据源中
                newDrug.Replace(tempDrug);
            }

            return(true);
        }
Пример #23
0
        /// <summary>
        /// 优化后编辑方法
        /// </summary>
        /// <param name="ord"></param>
        private void New_EditOrder(CiOrderDO ord)
        {
            ICiEmsMainService emsMainService = XapServiceMgr.find <ICiEmsMainService>();

            if (null != emsMainService)
            {
                EmsLoadDTO[] emsloads = new EmsLoadDTO[1];
                var          emsload  = new EmsLoadDTO();
                emsload.Id_or             = ord.Id_or;
                emsload.Extension         = new FMap2();
                emsload.EnContext         = CiEnContextUtil.GetCiEnContext(this.GetEnt4BannerDTO(), this.GetContext());
                emsload.EmsDriver         = ((int)this.uiEmsDTO.EmsType).ToString();
                emsload.OperateSourceFrom = IOprSourceFromConst.IOSF_EMS;
                emsloads[0] = emsload;
                EmsRstDTO[] rsts = emsMainService.load(emsloads);
                EmsRstDTO   rst  = rsts[0];
                if (rst != null)
                {
                    uiEmsDTO.Emsappathgy.deSerializeJson((rst.Document[0] as EmsPathgyItemDO).serializeJson());
                    //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString));
                    //uiEmsDTO.Emsappathgy.deSerializeJson(utf8Str);

                    if (rst.Extension != null && rst.Extension.Keys.Contains("CiEmsDTO"))
                    {
                        this.ciEmsDTO = rst.Extension["CiEmsDTO"] as CiEmsDTO;
                    }
                    if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO"))
                    {
                        this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO;
                        strSd_srvtp            = this.uiEmsDTO.MedSrvDO.Sd_srvtp;
                    }
                    if (rst.Extension != null && rst.Extension.Keys.Contains("MpDepFilter"))
                    {
                        idDepMps = rst.Extension["MpDepFilter"] as String;
                    }
                    else
                    {
                        idDepMps = "";
                    }

                    if (this.uiEmsDTO.Emsappathgy.EmsItemInpathgyList != null)
                    {
                        if (null == this.uiEmsDTO.Emsappathgy.EmsItemInpathgy)
                        {
                            this.uiEmsDTO.Emsappathgy.EmsItemInpathgy = new XapDataList <EmsItemInPathgy>();
                        }
                        this.uiEmsDTO.Emsappathgy.EmsItemInpathgy.Clear();
                        this.uiEmsDTO.Emsappathgy.EmsItemInpathgyList.Cast <EmsItemInPathgy>().ToList().ForEach(o =>
                        {
                            this.uiEmsDTO.Emsappathgy.EmsItemInpathgy.Add(o);
                        });
                    }

                    if (uiEmsDTO.Emsappathgy.EmsItemInpathgy.Count <= 0)
                    {
                        uiEmsDTO.Emsappathgy.EmsItemInpathgy.AddNew();
                        uiEmsDTO.Emsappathgy.EmsItemInpathgy[0].Sortno = 1;
                    }
                }

                this.lstEmsPathgyItemDO.Add(uiEmsDTO.Emsappathgy);

                // 其他
                this.ciEmsDTO.Status = DOStatus.UPDATED;
                this.uiEmsDTO.Status = DOStatus.UPDATED;

                // 处理分拣费用项目
                HandleExpenseItems(ciEmsDTO);
            }
        }
Пример #24
0
        /// <summary>
        /// 新的检查医疗单保存逻辑
        /// </summary>
        /// <returns></returns>
        public CiOrderDO New_Save()
        {
            // 需要将临时存储在列表数据模型中的数据取出来,放置到检验结构中
            EmsOrDrug drug = uiEmsDTO.Emsapobs.EmsOrDrugList.ElementAt(0);

            // 剂量
            uiEmsDTO.Emsapobs.Id_unit_med   = drug.Id_unit_med;
            uiEmsDTO.Emsapobs.Name_unit_med = drug.Name_unit_med;
            uiEmsDTO.Emsapobs.Quan_med      = drug.Quan_med;

            // 使用天数
            uiEmsDTO.Emsapobs.Use_days = drug.Use_days;

            // 总量
            uiEmsDTO.Emsapobs.Quan_cur       = drug.Quan_cur;
            uiEmsDTO.Emsapobs.Id_unit_sale   = drug.Id_unit_sale;
            uiEmsDTO.Emsapobs.Name_unit_sale = drug.Name_unit_sale;

            /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111
            // 频次
            uiEmsDTO.Emsapobs.Id_freq       = drug.Id_freq;
            uiEmsDTO.Emsapobs.Name_freq     = drug.Name_freq;
            uiEmsDTO.Emsapobs.Freqct        = drug.Freqct;
            uiEmsDTO.Emsapobs.Sd_frequnitct = drug.Sd_frequnitct;
            /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111
            // 加急
            uiEmsDTO.Emsapobs.Fg_urgent = drug.Fg_urgent;

            // 价格
            uiEmsDTO.Emsapobs.Price = drug.Price;

            // 执行科室
            uiEmsDTO.Emsapobs.Id_mp_dep   = drug.Id_mp_dep;
            uiEmsDTO.Emsapobs.Name_mp_dep = drug.Name_mp_dep;

            //检查目的
            uiEmsDTO.Emsapobs.Id_pps  = drug.Id_pps;
            uiEmsDTO.Emsapobs.Sd_pps  = drug.Sd_pps;
            uiEmsDTO.Emsapobs.Des_pps = drug.Name_pps;
            //临床诊断
            uiEmsDTO.Emsapobs.Id_di     = drug.Id_di;
            uiEmsDTO.Emsapobs.Name_diag = drug.Name_diag;
            //计划时间
            uiEmsDTO.Emsapobs.Dt_plan = drug.Dt_plan;

            this.uiEmsDTO.Emsapobs.EmsOrObsListEx = new FArrayList();
            foreach (EmsObsLap item in this.uiEmsDTO.Emsapobs.EmsOrObsList)
            {
                if (item.Fg_chk == FBoolean.True)
                {
                    this.uiEmsDTO.Emsapobs.EmsOrObsListEx.Add(item);
                }
            }
            this.uiEmsDTO.Emsapobs.EmsOrDrugListEx = new FArrayList();
            this.uiEmsDTO.Emsapobs.EmsOrDrugListEx.Add(drug);
            uiEmsDTO.Emsapobs.Id_srvof      = this.emsMgrDTO.Id_ems;
            uiEmsDTO.Emsapobs.Fg_quickwflow = this.emsMgrDTO.Fg_quickwflow;

            EmsRstDTO rst = SaveRemote(this.uiEmsDTO.Emsapobs);

            if (rst != null)
            {
                return((rst.Document[0] as CiorderAggDO).getParentDO());
            }

            return(null);
        }