Пример #1
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);
        }
Пример #2
0
        void btnOK_MouseClick(object sender, MouseEventArgs e)
        {
            CiOrdSheet[] sheets = xapFormControl1.GetSelected <CiOrdSheet>("sheetItem");

            sheets.ToList().ForEach(p => sheetList.Add(p));
            model.Save(sheetList.ToArray());//把数据保存到数据库
        }
Пример #3
0
        public XapDataList <OrdSrvDO> getDataSource(string[] id_ors)
        {
            ICiorderCrudService ciorderService = XapServiceMgr.find <ICiorderCrudService>();

            CiorderAggDO[] ciordAggDOs = ciorderService.findByBIds(id_ors, FBoolean.False);
            //医保审核数据
            XapDataList <OrdSrvDO> hpData = new XapDataList <OrdSrvDO>();

            foreach (CiorderAggDO aggDO in ciordAggDOs)
            {
                CiOrderDO ciOrderDO = aggDO.getParentDO();
                if (ciOrderDO.Eu_hpindicjudge == (int)HpIndicJudgeEnum.NONEEDJUDGE)
                {
                    continue;
                }
                OrdSrvDO[] ordSrvDOs = aggDO.getOrdSrvDO();

                foreach (OrdSrvDO ordSrvDO in ordSrvDOs)
                {
                    // 如果是药品 并且是待判断的,才显示,非药品的不显示
                    if (ciOrderDO.Sd_srvtp.StartsWith(BdSrvTpDictCodeConst.SD_SRVTP_DRUG))
                    {
                        if (ordSrvDO.Fg_hpindicjudged == (int)HpIndicJudgeEnum.WAITINGJUDGE)
                        {
                            hpData.Add(ordSrvDO);
                        }
                    }
                    else if (ordSrvDO.Fg_bl == FBoolean.True)
                    {
                        hpData.Add(ordSrvDO);
                    }
                }
            }
            return(hpData);
        }
Пример #4
0
        public override void EditEms(CiEmsDTO ems)
        {
            base.EditEms(ems);
            orCiEmsToUiEms.EditApbtuse(uiEmsDTO, ems);

            var srvCommon = (CiEmsSrvDTO)ems.Emssrvs[0];

            var service = XapServiceMgr.find <IMedsrvMDOCrudService>();

            //查询用血对应的服务
            uiEmsDTO.MedSrvDO = service.findById(srvCommon.Id_srv);

            var btService = XapServiceMgr.find <ICiorappbtMDOCrudService>();

            OrdApBtDO[] btdos = btService.find("a0.id_or='" + ems.Id_or_rel + "'", null, FBoolean.False);
            OrdApBtDO   btdo  = btdos[0];

            this.uiEmsDTO.CiordubDTO.Id_mp_dep   = srvCommon.Id_dep;
            this.uiEmsDTO.CiordubDTO.Name_mp_dep = srvCommon.Name_dep;
            uiEmsDTO.CiordubDTO.Applyform        = btdo.No_applyform;
            uiEmsDTO.CiordubDTO.Dt_bt_pl         = Convert.ToDateTime(btdo.Dt_bt_pl);
            uiEmsDTO.CiordubDTO.Num_margin_bu    = btdo.Num_margin_bu;
            uiEmsDTO.CiordubDTO.Quan_medu        = btdo.Num_margin_bu;
            uiEmsDTO.CiordubDTO.Des_or           = ems.Note;
            tableDatasource = new XapDataList <CiordubDTO>();
            tableDatasource.Add(uiEmsDTO.CiordubDTO);
        }
Пример #5
0
        public XapDataList <OrdApSugViewItemDO> GetSrvLabItemByIdSrv(string id_srv)
        {
            string id_srvofs = GetSrvRefIds(id_srv);
            string id_srvs   = GetIdsrvByIdsrvof(id_srvofs);

            MedSrvLisDO[] labs = new GetSrvLabItemImp().GetSrvLabItem(id_srvs);
            XapDataList <OrdApSugViewItemDO> btLabitem = new XapDataList <OrdApSugViewItemDO>();

            labs.ToList().ForEach(p =>
            {
                btLabitem.Add(new OrdApSugViewItemDO
                {
                    // Id_ordbtlabitm	//输血检验主键
                    // Id_or	        //医嘱服务id
                    Id_srv          = p.Id_srv,          //检验项目编码
                    Name_srv        = p.Srv_name,        //检验项目名称
                    Val_rstrptla    = "",                //项目结果值
                    Val_restrptlab  = p.Val_restrptlab,  //值域
                    Sd_restrptlabtp = p.Sd_restrptlabtp, //值类型
                    Id_unit         = p.Id_unit_nuit,    //检验项目单位id
                    Name_unit       = "xxx"              // p.Nuit_name	    //检验项目单位
                });
            });
            return(btLabitem);
        }
Пример #6
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);
        }
Пример #7
0
        public XapDataList <EmsObsItemDO> getLabImplList(EmsUIDTO headDO, MedsrvAggDO[] medsrvagg)
        {
            XapDataList <EmsObsItemDO> list = new XapDataList <EmsObsItemDO>();

            if (medsrvagg != null && medsrvagg.Length > 0)
            {
                int i = 1;
                foreach (MedsrvAggDO medsrvAgg in medsrvagg)
                {
                    EmsObsItemDO labItem = new EmsObsItemDO();


                    headDO.Emsaplab.Name_samptp  = medsrvAgg.getMedSrvLisDO()[0].Samptp_name;
                    headDO.Emsaplab.Id_samptp    = medsrvAgg.getMedSrvLisDO()[0].Samptp_code;
                    headDO.Emsaplab.Id_srv       = medsrvAgg.getParentDO().Id_srv;
                    headDO.Emsaplab.Id_srvtp     = medsrvAgg.getParentDO().Id_srvtp;
                    headDO.Emsaplab.Name_srv     = medsrvAgg.getParentDO().Name;
                    headDO.Emsaplab.Des_sympsign = medsrvAgg.getMedSrvLisDO()[0].Note;
                    headDO.Emsaplab.Des_sympsign = medsrvAgg.getMedSrvLisDO()[0].Note;

                    labItem.Name_srv             = medsrvAgg.getParentDO().Name;
                    labItem.Des_sympsign         = medsrvAgg.getParentDO().Note;
                    headDO.Emsaplab.Des_sympsign = medsrvAgg.getParentDO().Note;
                    labItem.Sortno = i;
                    i++;
                    list.Add(labItem);
                }
            }
            return(list);
        }
Пример #8
0
        /// <summary>
        /// 保存重整打印医嘱
        /// </summary>
        /// <param name="ordPrintDOs">重整后的医嘱OrdPrintDO集合</param>
        /// <returns></returns>
        public OrdPrintDO[] SaveResretOrdPrintDO(OrdPrintDO[] ordPrintDOs)
        {
            List <object> args = new List <object>();

            args.Add(ordPrintDOs[0].Id_en);
            args.Add((FBoolean)ordPrintDOs[0].Fg_long);
            args.Add(ordPrintDOs[0].Page_num);
            StringBuilder builder = new StringBuilder();

            builder.Append("Id_en = '{0}' and Fg_long = '{1}' and Page_num < {2} and Fg_reformed = 'N'");
            //builder.Append("Id_en = '{0}' and Fg_long = '{1}' and Fg_reformed = 'N'");

            string condition = string.Format(builder.ToString(), args.ToArray());

            string orderBy = "Page_num,Row_num";

            //查询重整第一页之前的已打印医嘱
            OrdPrintDO[]             ordPrintDOsUpdate = ordPrintService.find(condition, orderBy, FBoolean.False);
            XapDataList <OrdPrintDO> lstPrintDOsUpdate = new XapDataList <OrdPrintDO>();

            for (int i = 0; i < ordPrintDOsUpdate.Length; i++)
            {
                ordPrintDOsUpdate[i].Fg_reformed = FBoolean.True;
                ordPrintDOsUpdate[i].Dt_reform   = ordPrintDOs[0].Dt_reform != null ? ordPrintDOs[0].Dt_reform : DateTime.Now;
                ordPrintDOsUpdate[i].Status      = DOStatus.UPDATED;
                lstPrintDOsUpdate.Add(ordPrintDOsUpdate[i]);
            }

            ordPrintService.update(lstPrintDOsUpdate.ToArray());

            return(ordPrintService.save(ordPrintDOs));
        }
        public OrderTemplateListViewModel(string id_srvtpl)
        {
            this.qryService = XapServiceMgr.find <ICiOrdQryService>();
            OrderTemplateDTO orderTemplateDto = this.qryService.getSrvortplitemAggDOS(id_srvtpl);
            FMap             aggMap           = orderTemplateDto.Srvortplitemaggdo;
            FArrayList       srvagg           = aggMap["SrvortplitemAggDO"] as FArrayList;

            FMap       freqmap  = orderTemplateDto.Freqdefdo;
            FArrayList freqList = freqmap["FreqDefDO"] as FArrayList;


            FMap       measMap  = orderTemplateDto.Measdocdo;
            FArrayList measList = measMap["MeasDocDO"] as FArrayList;

            XapDataList <SrvortplitemAggDO> xaplist = new XapDataList <SrvortplitemAggDO>();

            if (srvagg != null)
            {
                foreach (SrvortplitemAggDO agg in srvagg)
                {
                    agg.setFreqdefdo(freqList);
                    agg.setmeasList(measList);
                    xaplist.Add(agg);
                }
            }
            SrvortplitemAggDOList = xaplist;
        }
Пример #10
0
        public XapDataList <EmsObsLap> GetLabImpList(EmsUIDTO headDO, MedSrvDO med)
        {
            XapDataList <EmsObsLap> list = new XapDataList <EmsObsLap>();

            MedSrvLisDO[] srvlis = service.find(string.Format("a1.id_srv='{0}'", med.Id_srv), "", false);   //调用此服务报错
            if (srvlis != null && srvlis.Count() > 0)
            {
                int i = 1;
                foreach (MedSrvLisDO lis in srvlis)
                {
                    EmsObsLap lab = new EmsObsLap();
                    lab.Id_srv      = lis.Id_srv;
                    lab.Sd_contp    = lis.Sd_contp;
                    lab.Id_contp    = lis.Id_contp;
                    lab.Id_labgroup = lis.Id_labgroup;
                    lab.Sd_labgroup = lis.Sd_labgroup;
                    lab.Name_srv    = med.Name;
                    lab.Id_srvca    = med.Id_srvca;
                    //lab.Dt_plan = headDO.Dt_begin_ui;
                    //lab.Id_pps = lis.Id_pps;
                    //lab.Sd_pps = lis.Sd_pps;
                    //lab.Des_pps = lis.Des_pps;
                    lab.Sd_srvtp                         = med.Sd_srvtp;
                    lab.Id_su_obs                        = CiDictCodeConst.ID_CI_LAB_SQ;
                    lab.Sd_su_obs                        = CiDictCodeConst.SD_CI_LAB_SQ;
                    lab.Fg_or                            = med.Fg_or;
                    lab.Eu_blmd                          = med.Eu_blmd;
                    lab.Des_sympsign                     = lis.Des_labsamp;
                    lab.Announcements                    = lis.Note;//注意事项
                    lab.Fg_urgent                        = headDO.Emsaplab.Fg_urgent;
                    lab.Sd_samptp                        = lis.Sd_samptp;
                    lab.Id_samptp                        = lis.Id_samptp;
                    headDO.Emsaplab.Id_samptp            = lis.Id_samptp;
                    headDO.Emsaplab.Sd_samptp            = lis.Sd_samptp;
                    headDO.Emsaplab.Name_samptp          = lis.Samptp_name;
                    headDO.Emsaplab.Id_sampcoltime       = lis.Id_sampcoltime;       //标本采集时间id
                    headDO.Emsaplab.Name_sampcoltime     = lis.Name_sampcoltime;     //标本采集时间名称
                    headDO.Emsaplab.Id_sampcollecttimetp = lis.Id_sampcollecttimetp; //标本采集时间类型
                    headDO.Emsaplab.Sd_sampcollecttimetp = lis.Sd_sampcollecttimetp; //标本采集时间类型编码
                    headDO.Emsaplab.Len_sampcoltime      = lis.Len_sampcoltime;      //标本采集时长
                    headDO.Emsaplab.Id_unit_sampcoltime  = lis.Id_unit_sampcoltime;  //标本采集时间时长单位
                    lab.Quan    = lis.Quan;
                    lab.Id_quan = lis.Id_unit_quan;
                    // lab.Id_medu = lis.Id_unit_nuit;
                    lab.Quan_medu   = med.Quan_med;
                    lab.Id_medu     = med.Id_unit_med;
                    lab.Sd_colltp   = lis.Sd_colltp;
                    lab.Id_colltp   = lis.Id_colltp;
                    lab.Des_labsamp = lis.Des_labsamp;
                    lab.Fg_bl       = med.Fg_bl; //zwq 2016-08-22
                    lab.Fg_chk      = true;      //新增时默认全部选中,2016-6-25
                    lab.Sv          = lis.Sv;
                    lab.Sortno      = i + "";
                    list.Add(lab);
                    i++;
                }
            }
            return(list);
        }
Пример #11
0
        /// <summary>
        /// *******************************************获取人员信息*******************************************
        /// </summary>
        /// <param name="id_orcons"></param>
        public void GetConsItem(string id_orcons)
        {
            InviteConsViewModel inviteVM = new InviteConsViewModel();

            consitemList.Clear();
            EmsItemInCons[] invites = inviteVM.GetInviteConsByIdapCons(id_orcons);
            invites.ToList().ForEach(p => { consitemList.Add(p); });
        }
Пример #12
0
        //public XapDataList<EmsItemInOp> GetMmByMmtp(string id_mmtp)
        //{
        //    XapDataList<EmsItemInOp> list = new XapDataList<EmsItemInOp>();
        //    EmsOrDrug[] mms = service.getMmByMmtp(id_mmtp);
        //    mms.ToList().ForEach(p => list.Add(

        //        new EmsItemInOp
        //        {
        //            //Id_oropitem = p,	       //主键	SINGLE	String	50
        //            Id_mm = p.Id_mm,	           //物品id	REF	医疗物品_基本信息	20	医疗
        //            Name_mm = p.Name_mm,	           //物品名称	SINGLE	String	50
        //            Id_mmtp = p.Id_mmtp,	           //物品类型id	REF	医疗物品类型_自定义档案
        //            Sd_mmtp = p.Sd_mmtp,	           //物品类型编码	SINGLE	String	50
        //            Name_mmtp = p.Name_mmtp,	       //物品类型	SINGLE	String	50
        //            Spec = p.Spec_mm,	           //规格	SINGLE	String	50
        //            //Id_sup = p,	           //厂商id	REF	医疗物品_供应商与厂商	20
        //            Name_sup = p.Vender,	       //厂商	SINGLE	String	50
        //            Price = p.Price,	           //单价	SINGLE	FDouble	16
        //            Quan_cur = p.Quan_cur,	       //数量	SINGLE	Integer	10
        //            Id_unit_pkgsp = p.Id_unit_med,	   //零售包装单位id	REF	医疗物品_包装单位类
        //            Name_unit_pkgsp = p.Name_unit_med	   //零售包装单位	SINGLE	String	50
        //            //Sortno	           //排序	SINGLE	Integer	10
        //            //Code_srv	       //手术 编码(code_srv)	SINGLE	String
        //            //Id_srv	           //手术id(id_srv)	REF	医疗服务	20	医疗
        //            //Name_srv	       //手术名称	SINGLE	String	50
        //            //Des_op	           //手术描述
        //        }
        //         ));
        //    return list;

        //}

        public XapDataList <EmsOrDrug> GetMmByMmtp(string id_mmtp)
        {
            XapDataList <EmsOrDrug> list = new XapDataList <EmsOrDrug>();

            EmsOrDrug[] mms = service.getMmByMmtp(id_mmtp);
            mms.ToList().ForEach(p => { list.Add(p); });
            return(list);
        }
Пример #13
0
        public CiDiagItemDO AddRow(string idsys)
        {
            var item = new CiDiagItemDO {
                Id_disys = idsys
            };

            mDataSource.Add(item);
            return(item);
        }
Пример #14
0
        /// <summary>
        /// Gets 所有未写会诊记录的会诊单
        /// </summary>
        /// <returns></returns>
        /// Author:admin
        /// Date:2015-11-19
        public XapDataList <OrdApConsDO> GetApConsItem()
        {
            XapDataList <OrdApConsDO> list = new XapDataList <OrdApConsDO>();

            //所以未提交会诊记录的 会诊申请
            OrdApConsDO[] cons = consDoService.find(string.Format("a0.sd_su_cons='{0}'", CiDictCodeConst.SD_SU_CONS_CONFIRMING), "", false);
            cons.ToList().ForEach(p => { list.Add(p); });
            return(list);
        }
Пример #15
0
        public CiOrdBtTestItmDO[] checkBarcode_bb(CiOrdBtTestItmDO[] CiItemDo)
        {
            XapDataList <CiOrdBtTestItmDO> ItemDoList = new XapDataList <CiOrdBtTestItmDO>();

            for (int i = 0; i < CiItemDo.Length; i++)
            {
                CiOrdBtTestItmDO[] result = this.itemService.find("a1.ds = 0 and a1.barcode_bb ='" + CiItemDo[i].Barcode_bb + "'", "", new FBoolean(true));
                if (CiItemDo[i].Id_rptbttestitm == null && result.Length > 0)
                {
                    ItemDoList.Add(CiItemDo[i]);
                }
                if (CiItemDo[i].Id_rptbttestitm != null && result.Length > 1)
                {
                    ItemDoList.Add(CiItemDo[i]);
                }
            }
            return(ItemDoList);
        }
Пример #16
0
        /// <summary>
        /// Gets the or drugs.
        /// </summary>
        /// <param name="id">The 服务项目id.</param>
        /// <param name="type">The type.</param>
        /// <returns></returns>
        public XapDataList <EmsOrDrug> GetOrDrugs(string id_srv, string id_hp, string code_entp, CiEnContextDTO contextdto = null)
        {
            XapDataList <EmsOrDrug> list = new XapDataList <EmsOrDrug>();

            this.headDo = this.crudService.findById(id_srv, id_hp, code_entp, contextdto);

            foreach (EmsOrDrug item in headDo.Emsdrugitems)
            {
                if (item.BdHpIndicationDTO != null && item.BdHpIndicationDTO.Count > 0)
                {
                    item.Fg_selfpay       = HpJudgeUtil.getInstance().isSelfPay(item.BdHpIndicationDTO[0] as BdHpIndicationDTO);
                    item.Fg_hpindicjudged = HpJudgeUtil.getInstance().getFg_hpindicjudged(item.BdHpIndicationDTO[0] as BdHpIndicationDTO);
                }
                if (contextdto.Fg_hpfundpay == null || !(bool)contextdto.Fg_hpfundpay || (contextdto.Eu_hpbeyond != null && !contextdto.Eu_hpbeyond.Equals(HpBeyondEnum.HPDIAG)))
                {
                    item.Fg_treat   = false;
                    item.Fg_selfpay = true;
                }
                //单次剂量录入
                item.Quan_medu_virtual      = item.Quan_med;
                item.Name_unit_medu_virtual = item.Name_unit_med;
                list.Add(item);
                //xap.cli.context.UserManager.getInstance().CurrentDept.
                //list.Add(new EmsOrDrug
                //{
                //    //Status=DOStatus.UPDATED,//初始化状态
                //    Id_srv=id_srv,
                //    Name_srv = item.Name_srv,//通用物品(即服务项目名称)
                //    Name_mm = item.Name_mm,//物品
                //    Id_mm = item.Id_mm,
                //    Spec_mm = item.Spec_mm,//规格
                //    Quan_med = item.Quan_med,//剂量
                //    Name_unit_med ="mg",// item.Name_unit_med,//剂量单位
                //    Id_unit_med = item.Id_unit_med,
                //    Quan_base = item.Quan_base,//单次数量
                //    Id_unit_base = item.Id_unit_base,//数量单位
                //    Name_unit_base = item.Name_unit_base,
                //    Name_boildes=(string.IsNullOrEmpty(item.Name_boildes)? "文火3刻钟":item.Name_boildes),
                //    Id_boildes=item.Id_boildes,
                //    Vender = item.Name_sup, //厂商
                //    Price = item.Price,//参考价格
                //    Des = item.Des_mm,  //描述
                //    Limit = item.Limit,//限制条件//TODO:临时数据
                //    Name_heath = item.Name_heath,//医保类型
                //    Fact_count =0,// ran.Next(2, 30),//现有存量
                //    Fg_skintest=false,

                //    Sortno=headDo.Emsdrugitems.IndexOf(item)+1



                //});
            }
            return(list);
        }
Пример #17
0
        protected void HandleEditLogic(CiEmsDTO ems)
        {
            string unitname = "";

            var srvCommon = (CiEmsSrvDTO)ems.Emssrvs[0];

            var service = XapServiceMgr.find <IMedsrvMDOCrudService>();

            ////查询用血对应的服务
            //MedSrvDO medSrcDO = service.findById(Apbu_Srv_ID);
            uiEmsDTO.MedSrvDO = service.findById(ems.Id_srv);

            if (uiEmsDTO.Emsapbt.BtLabItem.Count == 0)
            {
                LoadIndicatorData();
            }
            orCiEmsToUiEms.EditApbt(uiEmsDTO, ems, ref unitname);
            this.uiEmsDTO.Status = DOStatus.NEW;

            uiEmsDTO.Emsapbt.Dt_create = ems.Dt_begin;

            this.uiEmsDTO.Emsapbt.Id_mp_dep   = srvCommon.Id_dep;
            this.uiEmsDTO.Emsapbt.Name_mp_dep = srvCommon.Name_dep;
            tableDatasource = new XapDataList <EmsBtItemDO>();
            tableDatasource.Add(uiEmsDTO.Emsapbt);

            if (ems.Id_or != null)
            {
                CiorderAggDO ciagg = orService.findById(ems.Id_or);
                this.ciOrder = ciagg.getParentDO();
                OrdApBtDO[] btdos = btService.find("id_or='" + ciOrder.Id_or + "'", null, FBoolean.False);
                OrdApBtDO   btdo  = btdos[0];
                uiEmsDTO.CiordubDTO               = new CiordubDTO();
                uiEmsDTO.CiordubDTO.Id_or_rel     = ciOrder.Id_or;
                uiEmsDTO.CiordubDTO.Applyform     = btdo.No_applyform;
                uiEmsDTO.CiordubDTO.Orsrvname     = ciagg.getOrdSrvDO()[0].Name;
                uiEmsDTO.CiordubDTO.Id_srv        = ciOrder.Id_srv;
                uiEmsDTO.CiordubDTO.Quan_medu     = ciagg.getOrdSrvDO()[0].Quan_medu;
                uiEmsDTO.CiordubDTO.Id_unit       = ciagg.getOrdSrvDO()[0].Id_medu;
                uiEmsDTO.CiordubDTO.Dt_bt_pl      = Convert.ToDateTime(btdo.Dt_bt_pl);
                uiEmsDTO.CiordubDTO.Num_margin_bu = btdo.Num_margin_bu;
                uiEmsDTO.CiordubDTO.Id_emp_sign   = ciOrder.Id_emp_sign;
                uiEmsDTO.CiordubDTO.Name_emp_sign = ciOrder.Emp_sign_name;
                //uiEmsDTO.CiordubDTO.Id_route = medSrcDO.Id_route;
                //uiEmsDTO.CiordubDTO.Name_route = medSrcDO.Route_name;
                uiEmsDTO.CiordubDTO.Quan_medu_ub = uiEmsDTO.CiordubDTO.Quan_medu;
                uiEmsDTO.CiordubDTO.Name_unit    = uiEmsDTO.MedSrvDO.Med_name;
                uiEmsDTO.CiordubDTO.Id_unit      = uiEmsDTO.MedSrvDO.Id_unit_med;
            }
            CiorappbtAggDO agg = ems.Orapplysheet[((int)EmsType.BT).ToString()] as CiorappbtAggDO;

            agg.Status = DOStatus.UPDATED;
            agg.getParentDO().Status = DOStatus.UPDATED;
        }
Пример #18
0
 public OrdFeeCollectInfoView(XBaseControl o, FArrayList ds) : base(null)
 {
     parentView = o;
     if (null != ds && ds.Count > 0)
     {
         foreach (Object objFee in ds)
         {
             datasource.Add(objFee as EmsFeesDTO);
         }
     }
 }
Пример #19
0
        public override CiEmsDTO Save2CiEmsDTO(bool forceUpdate)
        {
            // 需要将临时存储在列表数据模型中的数据取出来,放置到检验结构中
            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.Sd_frequnitct = drug.Sd_frequnitct;
            uiEmsDTO.Emsapobs.Freqct        = drug.Freqct;
            /////////添加检验、检查、诊疗多剂量多次执行,杨敬本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;
            XapDataList <EmsObsLap> hasItems = new XapDataList <EmsObsLap>();

            foreach (EmsObsLap item in this.uiEmsDTO.Emsapobs.EmsOrObsList)
            {
                if (item.Fg_chk != null && item.Fg_chk.Value)
                {
                    hasItems.Add(item);
                }
            }
            // 暂存
            XapDataList <EmsObsLap> allItems = this.uiEmsDTO.Emsapobs.EmsOrObsList;

            this.uiEmsDTO.Emsapobs.EmsOrObsList = hasItems;
            CiEmsDTO ciEmsDTO = base.Save2CiEmsDTO(forceUpdate);

            this.uiEmsDTO.Emsapobs.EmsOrObsList = allItems;
            return(ciEmsDTO);
        }
Пример #20
0
        /// <summary>
        ///诊断信息
        /// </summary>
        /// <returns></returns>
        public XapDataList <IpViewDiagDTO> GetDiagDataList(string id_ent)
        {
            XapDataList <IpViewDiagDTO> list = new XapDataList <IpViewDiagDTO>();

            IpViewDiagDTO[] diagItem = qryService.getCiDiagItemDOList(id_ent, "");
            if (diagItem != null && diagItem.Count() > 0)
            {
                foreach (IpViewDiagDTO item in diagItem)
                {
                    list.Add(item);
                }
            }
            return(list);
        }
        private XapDataList <PresDrugDTO> FromOrdPresDTO(OrdPresDTO ordPress)
        {
            if (ordPress == null)
            {
                return(null);
            }
            XapDataList <PresDrugDTO> items = new XapDataList <PresDrugDTO>();

            foreach (PresDrugDTO item in ordPress.Presdrugs)
            {
                items.Add(item);
            }
            return(items);
        }
Пример #22
0
        public XapDataList <PresDrugDTO> GetPresDrugDataSource(OrdPresDTO presDto)
        {
            if (presDto == null)
            {
                return(null);
            }
            XapDataList <PresDrugDTO> items = new XapDataList <PresDrugDTO>();

            foreach (PresDrugDTO item in presDto.Presdrugs)
            {
                items.Add(item);
            }
            return(items);
        }
Пример #23
0
        public XapDataList <EmsItemInCons> GetInviteConsByIdapCons(string id_apcons)
        {
            XapDataList <EmsItemInCons> list = new XapDataList <EmsItemInCons>();

            CiordInviteConsDO[] invitecons = GetConsInvite(string.Format("id_apcons='{0}'", id_apcons));
            invitecons.ToList().ForEach(p =>
            {
                EmsItemInCons con = new EmsItemInCons();
                orDataBing.EditIvnteConsDataBing(con, p);
                con.Status = DOStatus.UPDATED;
                list.Add(con);
            });
            return(list);
        }
        private new XapDataList <EmsObsLap> getSelectedObsLap()
        {
            XapDataList <EmsObsLap> ls = new XapDataList <EmsObsLap>();

            foreach (EmsObsLap item in uiEmsDTO.Emsaplab.EmsOrObsList)
            {
                if ((item.Fg_edit != null && !item.Fg_edit.Value) || (item.Fg_chk != null && item.Fg_chk.Value))
                {
                    ls.Add(item);
                }
            }

            return(ls);
        }
Пример #25
0
 //医嘱
 public IpOverViewModel(string id_ent) : this()
 {
     list = new XapDataList <CiOrderDO>();
     CiOrderDO[] ciorders = ciOrderService.find("a0.id_en = '" + id_ent + "'", "", FBoolean.False);
     if (ciorders != null && ciorders.Count() > 0)
     {
         int i = 1;
         foreach (CiOrderDO item in ciorders)
         {
             item.Days_or = i;
             list.Add(item);
             i++;
         }
     }
 }
Пример #26
0
        /// <summary> Gets 获取选中的医嘱 </summary>
        /// <returns></returns>
        /// Author:admi
        /// Date:2015-10-21
        public CiOrderDO[] GetOrconfirmChecked()
        {
            var list = new XapDataList <OrConfirm>();

            foreach (OrConfirm confirm in OrderList)
            {
                if (confirm.Fg_chk == true)
                {
                    list.Add(confirm);
                }
            }
            List <string> id_ors = list.Select(p => p.Id_confirm).ToList();

            orders = ordService.findByIds(id_ors.ToArray(), FBoolean.False); //TODO: 加条件
            return(orders);
        }
Пример #27
0
 /// <summary>
 /// 根据就诊 取得医嘱信息
 /// </summary>
 /// <param name="id_en"></param>
 /// <returns></returns>
 public XapDataList <CiOrderDO> GetCiOrderDataList(string id_ent)
 {
     list = new XapDataList <CiOrderDO>();
     CiOrderDO[] ciorders = ciOrderService.find("a0.id_en = '" + id_ent + "' and  a0.sd_su_or in ('10','20') ", " a0.dt_effe  ", FBoolean.False);
     if (ciorders != null && ciorders.Count() > 0)
     {
         int i = 1;
         foreach (CiOrderDO item in ciorders)
         {
             item.Days_or = i;
             list.Add(item);
             i++;
         }
     }
     return(list);
 }
        private XapDataList <OrTmplDTO> pickOrTmlBySdModelType(FArrayList hospitalList, string sd_type)
        {
            XapDataList <OrTmplDTO> dataTree = new XapDataList <OrTmplDTO>();
            //if (sd_type == BdSrvDictCodeConst.SD_ORTMPLTP_FHMBA)
            //{
            //    foreach (OrTmplDTO dto in hospitalList)
            //    {
            //        dataTree.Add(dto);
            //    }
            //}
            //else
            //{
            FArrayList modelItmlist  = new FArrayList();   //模板类型下的数据
            FArrayList modelClaslist = new FArrayList();   //模板分类

            foreach (OrTmplDTO dto in hospitalList)
            {
                if (string.IsNullOrWhiteSpace(dto.Sd_ortmpltp))
                {
                    modelClaslist.Add(dto);
                    continue;
                }
                if (dto.Sd_ortmpltp.Equals(sd_type))
                {
                    modelItmlist.Add(dto);
                }
            }
            if (modelItmlist.Count > 0)
            {
                FArrayList reModelClasList = new FArrayList();
                foreach (OrTmplDTO dto in modelItmlist)
                {
                    getParentOrTmplDTO(modelClaslist, reModelClasList, dto);
                }
                modelItmlist.AddRange(reModelClasList);
                int i = 1;
                foreach (OrTmplDTO dto in modelItmlist)
                {
                    //Log.writelog(dto.Id_ortmpl + "," + dto.Name + ":" + (i++));
                    dataTree.Add(dto);
                }
            }
            //}
            return(dataTree);
        }
Пример #29
0
 /// <summary>
 /// 获取排序数据集
 /// 一般打印时,未打数据
 /// </summary>
 public void GetDataListForSort()
 {
     //获取排序数据集
     LstOrdPrintDOsPreview = new XapDataList <OrdPrintDO>();
     dicDORowPrtFlagsPreview.Clear();
     DORowPrtFlags[] doRowPrtFlags = prtDORowsAssistPreview.GetDoFlagsArr();
     for (int i = 0; i < ArryOrdPrintDOsPreview.Length; i++)
     {
         if (ArryOrdPrintDOsPreview[i] != null && ArryOrdPrintDOsPreview[i].Id_orprn == null)
         {
             LstOrdPrintDOsPreview.Add(ArryOrdPrintDOsPreview[i]);
             //以id_or为标记,暂存行标记参数
             if (!dicDORowPrtFlagsPreview.ContainsKey(ArryOrdPrintDOsPreview[i].Id_or))
             {
                 dicDORowPrtFlagsPreview.Add(ArryOrdPrintDOsPreview[i].Id_or, doRowPrtFlags[i]);
             }
         }
     }
 }
Пример #30
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);
        }