Beispiel #1
0
        void init()
        {
            FMap2 m = new FMap2();

            m.Add("AllFees", "0.00");
            m.Add("HasPay", "0.00");
            m.Add("NoPay", "0.00");
            m.Add("group", new FArrayList());
            this._dataSource = m;
        }
Beispiel #2
0
        private XapBaseControl getFeeLabelControl(string code, string title, string money, string meadoc, Point location)
        {
            XapBaseControl control = new XapBaseControl();

            control.Location = location;
            control.BringToFront();
            control.BackColor = Color.Transparent;
            XLabel titleL = new XLabel();
            Font   font   = new Font(titleL.Font.FontFamily, 15, titleL.Font.Style, GraphicsUnit.Pixel);

            titleL.Font      = font;
            titleL.Size      = new Size(TextRenderer.MeasureText(title, font).Width, nTitleHeight);
            titleL.Location  = new Point(0, 0);
            titleL.ValueText = title;
            //titleL.BackColor = Color.Blue;
            XLabel moneyL = new XLabel();

            font             = new Font(moneyL.Font.FontFamily, 15, moneyL.Font.Style, GraphicsUnit.Pixel);
            moneyL.Font      = font;
            moneyL.Size      = new Size(TextRenderer.MeasureText(money, font).Width, nTitleHeight);
            moneyL.Location  = new Point(titleL.Bound.Right, 0);
            moneyL.ValueText = money;
            moneyL.Name      = code;
            moneyLabelMap.Add(code, moneyL);
            //moneyL.BackColor = Color.Yellow;
            XLabel meadocL = new XLabel();

            font              = new Font(meadocL.Font.FontFamily, 15, meadocL.Font.Style, GraphicsUnit.Pixel);
            meadocL.Font      = font;
            meadocL.Size      = new Size(TextRenderer.MeasureText(meadoc, font).Width, nTitleHeight);
            meadocL.Location  = new Point(moneyL.Bound.Right, 0);
            meadocL.ValueText = meadoc;
            //meadocL.BackColor = Color.Green;
            control.Size = new Size(new Point(titleL.Bound.Width + moneyL.Bound.Width + meadocL.Bound.Width, nTitleHeight));
            control.AddRender(titleL);
            control.AddRender(moneyL);
            control.AddRender(meadocL);
            return(control);
        }
        /// <summary>
        /// 根据单据类型修改打印标识
        /// </summary>
        /// <param name="sdsheetpys"></param>
        public void UpdateFgprn(string[] sdsheettps)
        {
            FMap2 updatedataMap = new FMap2();

            foreach (string sd in sdsheettps)
            {
                EmsprntmplAggDO[] aggdo = emsprntmplAggDOs.Where(p => p.getParentDO().Sd_ciprintsheettp == sd).ToArray();
                foreach (EmsprntmplAggDO agg in aggdo)
                {
                    if (this.dicUrlIDs.ContainsKey(agg.getParentDO().Tmplurl))
                    {
                        string ids = "";
                        foreach (string id in this.dicUrlIDs[agg.getParentDO().Tmplurl])
                        {
                            ids += string.Format(",{0}", id);
                        }
                        updatedataMap.Add(sd, ids.Substring(1));
                    }
                }
            }

            service.UpdatePrintFgprn(updatedataMap);
        }
Beispiel #4
0
        /// <summary>
        /// 签署
        /// </summary>
        /// <param name="orders"></param>
        /// <param name="ent4BannerDto"></param>
        /// <returns></returns>
        public bool SignCiOrder(CiOrderDO[] orders, Ent4BannerDTO ent4BannerDto)
        {
            if (orders.Count() == 0)
            {
                return(false);
            }
            // 增加就诊上下文环境,用户医嘱签署时,在医嘱中保存保外诊断相关属性
            CiEnContextDTO contextDTO = CiEnContextUtil.GetCiEnContext(ent4BannerDto, this.emsAppModeEnum, this.context);
            List <string>  idors      = orders.Select(p => p.Id_or).ToList();
            // 签署,如果不满足签署条件返回提示信息
            ValidateRtnInfoDTO vlInfoDto = this.maintainService.ciOrderSign(idors.ToArray(), contextDTO);
            FMap2 fm1 = vlInfoDto.Scenedatum;

            if (fm1 != null && fm1["specilDrugs"] != null)
            {
                if (this.IsContinue("提示", fm1["specilDrugs"].ToString()))
                {
                    return(false);
                }
            }
            if (fm1 != null && fm1["willCheckIdOrs"] != null)
            {
                //医保和临床路径未判断的话,就弹窗进行判断
                FArrayList   willCheckIdOrs = (FArrayList)fm1["willCheckIdOrs"];
                string[]     id_ors         = willCheckIdOrs.Cast <string>().ToArray();
                OrReport     report         = new OrReport(id_ors);
                DialogResult result         = report.ShowDialog(XFormManager.MainFrom);
                if (result == DialogResult.OK)
                {
                    return(SignCiOrder(orders, ent4BannerDto));
                }
                else
                {
                    return(false);
                }
            }
            //开立权限校验
            if (fm1 != null && fm1.Keys.Contains("UnCheckIdors"))
            {
                FArrayList    uncheckidList = fm1["UnCheckIdors"] as FArrayList;
                List <string> uncheckids    = uncheckidList.Cast <String>().ToList();// fm1["UnCheckIdors"].ToString().Substring(1, fm1["UnCheckIdors"].ToString().Length-2).Split(',').ToList();
                if (uncheckids.Count == orders.Length)
                {
                    this.ShowInfo(fm1["ErrMsg"].ToString());
                    return(false);
                }
                if (!this.IsContinue("提示", fm1["ErrMsg"] + "是否继续?"))
                {
                    return(false);
                }
                else
                {
                    if (uncheckids.Count > 0)
                    {
                        List <CiOrderDO> ciordlist = orders.ToList();
                        foreach (string idor in uncheckids)
                        {
                            ciordlist.Remove(ciordlist.Find(p => p.Id_or == idor.Trim()));
                        }
                        return(SignCiOrder(ciordlist.ToArray(), ent4BannerDto));
                    }
                    else
                    {
                        if (!this.IsContinue("提示", fm1["ErrMsg"] + "是否继续?"))
                        {
                            return(false);
                        }
                        else
                        {
                            if (uncheckids.Count > 0)
                            {
                                List <CiOrderDO> ciordlist = orders.ToList();
                                foreach (string idor in uncheckids)
                                {
                                    ciordlist.Remove(ciordlist.Find(p => p.Id_or == idor.Trim()));
                                }
                                return(SignCiOrder(ciordlist.ToArray(), ent4BannerDto));
                            }
                        }
                    }
                }
            }
            FMap2 HpMesage = vlInfoDto.Rtnvalue;

            if (HpMesage != null)
            {
                String message = (String)HpMesage["HPMessage"];
                if (message != null)
                {
                    this.ShowInfo(message);
                    vlInfoDto = this.maintainService.CiOrderSignMedicalInsurance(vlInfoDto.Scenedatum, code_entp);
                }
            }
            FMap2 fm = vlInfoDto.Rtnvalue;

            if (fm1 != null && fm1["checkPatInfoSrvs"] != null)
            {
                // 如果是毒麻药,需要保存代理人信息
                FArrayList              checkPatInfoSrvs = (FArrayList)fm1["checkPatInfoSrvs"];
                OrSrvAgentInfoDO        agentInfo        = LogicEx.GetInstance().newOrSrvAgentInfoDOFromBanner(ent4BannerDto);
                CheckPatAgentInfoDialog dialog           = new CheckPatAgentInfoDialog(agentInfo, checkPatInfoSrvs);
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    this.maintainService.saveCheckPatInfo(checkPatInfoSrvs, agentInfo);
                }
                else
                {
                    return(false);
                }
            }
            this.InitMrSignCiOrderList(vlInfoDto);
            ReactExtOrsAndStopOrsDO redo = (ReactExtOrsAndStopOrsDO)fm["willstopors"];

            if (!(redo != null && redo.Reactextdos != null && redo.Stopordos != null))
            {
                if (fm1 != null)
                {
                    vlInfoDto = maintainService.ciOrderSignStep1(fm1, ent4BannerDto.Code_entp, contextDTO);
                    this.InitMrSignCiOrderList(vlInfoDto);
                }
                return(true);
            }
            fm1.Add("willstopors", redo);
            FArrayList fa2   = new FArrayList();
            FArrayList extdo = redo.Reactextdos;
            FArrayList wildo = redo.Stopordos;

            if (extdo != null && wildo != null)
            {
                string strReactType       = "";
                string modifyStopTimeSrvs = ""; //修改停止时间的服务名称串
                string addStopTimeSrvs    = ""; //添加停止时间的服务名称串
                if (extdo.Count > 0)
                {
                    int?   reacttype = (extdo[0] as CiorderAggExtDO).Reacttype;
                    string name_or   = (extdo[0] as CiorderAggExtDO).Aggdo.getParentDO().Name_or;
                    if (reacttype != null)
                    {
                        if ((int)reacttype == 1)
                        {
                            strReactType = "全排斥";
                        }
                        else if ((int)reacttype == 2)
                        {
                            strReactType = "组内排斥";
                        }
                    }
                    foreach (CiOrderDO stopordo in wildo)
                    {
                        if (stopordo.Fg_stop == null || stopordo.Fg_stop == false)
                        {
                            addStopTimeSrvs += stopordo.Name_or + ",";
                        }
                        else
                        {
                            modifyStopTimeSrvs += stopordo.Name_or + ",";
                        }
                    }
                    if (addStopTimeSrvs.Length > 0)
                    {
                        addStopTimeSrvs = addStopTimeSrvs.Substring(0, addStopTimeSrvs.Length - 1);
                    }
                    if (modifyStopTimeSrvs.Length > 0)
                    {
                        modifyStopTimeSrvs = modifyStopTimeSrvs.Substring(0, modifyStopTimeSrvs.Length - 1);
                    }
                    string msg = reactOrWarnInfo(name_or, strReactType, addStopTimeSrvs, modifyStopTimeSrvs);
                    var    a   = MessageBoxEx.Show(msg, "医嘱排斥", MessageBoxButtons.YesNo);
                    if (a == DialogResult.Yes)
                    {
                        maintainService.ciOrderSignStep1(fm1, ent4BannerDto.Code_entp, contextDTO);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }