public OrReportScrollPanel(OrReport orReport, Dictionary <int, object> dataDic, string[] id_ors, CiOrderDO ciOrderDO)
 {
     this.orReport  = orReport;
     this.dataDic   = dataDic;
     this.id_ors    = id_ors;
     this.ciOrderDO = ciOrderDO;
     InitializeComponent();
     this.Dock  = DockStyle.Fill;
     this.Load += new EventHandler(OrReportScrollPanel_Load);
     this.vScroll.ScollChanged += new xap.cli.sdk.render.ScollChangedDelegate(OnVScroll_ScollChanged);
     init();
 }
Beispiel #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            double _;

            if (double.TryParse(textBox4.Text.Trim(), out _))
            {
                double payment = double.Parse(textBox4.Text.Trim());
                if (payment >= 1000)
                {
                    if (isValid)
                    {
                        studentReserveController.addReservation(payment, sno);
                        orno = orController.getRecentOr() + 1;
                        string   ornumber = "OR#" + orno;
                        DateTime today    = DateTime.Today;

                        orController.addOr(ornumber, sno, payment, today.ToString("dd/MM/yyyy"));

                        string totalPhp = "PHP " + payment;

                        OrReport frm2 = new OrReport(payment, sno,
                                                     totalPhp, "",
                                                     totalPhp, orno,
                                                     0, 0, "reservation");
                        frm2.ShowDialog();

                        textBox1.Text = "";
                        sno           = "";
                        auditTrail.addAudit(label11.Text, textBox2.Text.Trim() + " Paid Reservation");
                    }
                    else
                    {
                        MessageBox.Show("Please Search A Valid Student Number", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("Minimum Payment should be 1000", "err", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else
            {
                MessageBox.Show("Not A number", "err", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            //studentReserveController.addReservation(textbo)
        }
        private void cell_MouseClick(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            XOrderResultCell cell = sender as XOrderResultCell;

            if (cell != null)
            {
                CiOrderDO ciOrderDO = cell.DataSource as CiOrderDO;
                if (string.IsNullOrEmpty(((sender as XOrderResultCell).ActiveObject as XOrderResultRender).Value) || ((sender as XOrderResultCell).ActiveObject as XOrderResultRender).Value.Equals("0"))
                {
                    return;
                }
                int type = Convert.ToInt32(((sender as XOrderResultCell).ActiveObject as XOrderResultRender).Type);
                if (ciOrderDO.Sd_srvtp.Substring(0, 2).Equals("02") || ciOrderDO.Sd_srvtp.Substring(0, 2).Equals("03"))
                {
                    string dia   = "";
                    string title = "";
                    if (ciOrderDO.Sd_srvtp.Substring(0, 2).Equals("02"))
                    {
                        dia   = "ris";
                        title = "检查报告";
                    }
                    else if (ciOrderDO.Sd_srvtp.Substring(0, 2).Equals("03"))
                    {
                        dia   = "lis";
                        title = "检验报告";
                    }
                    CliTestView TestView = new CliTestView();
                    var         lab      = new CiRptLabView();
                    lab.setlabdto(ciOrderDO.Id_or, dia, TestView);

                    TestView.DataView = lab;
                    TestView.Text     = title;
                    TestView.Size     = new Size(800, 675);
                    TestView.cliTestControl.AddRender(TestView.DataView);
                    TestView.ShowDialog();
                }
                else
                {
                    OrReport orReport = new OrReport(sender as XOrderResultCell, ciOrderDO, 1);
                    orReport.ShowDialog();
                }
            }
        }
Beispiel #4
0
        private void button3_Click(object sender, EventArgs e)
        {
            double _;

            if (double.TryParse(textBox5.Text.ToString(), out _))
            {
                if (double.Parse(textBox5.Text.ToString()) >= neededTopay)
                {
                    if (neededTopay > 0)
                    {
                        DateTime today = DateTime.Today;
                        backgroundWorker1.RunWorkerAsync();
                        loading.Show();
                        studentBalance.updateBalance(sno, selectedYrid);
                        int    orno     = orcontroller.getRecentOr() + 1;
                        string ornumber = "OR#" + orno;
                        orcontroller.addOr(ornumber, sno, neededTopay, today.ToString("dd/MM/yyyy"), selectedYrid);
                        double change = double.Parse(textBox5.Text.ToString()) - neededTopay;
                        textBox4.Text = String.Format("PHP " + "{0:0.00}", change);
                        MessageBox.Show("Succesfully Pay the balance");

                        OrReport orep = new OrReport(neededTopay, sno, neededTopay + " PHP", "", neededTopay + " PHP", orno, 0, 0, "balance");
                        orep.ShowDialog();
                        auditTrail.addAudit(label11.Text, textBox2.Text.Trim() + " Paid Remaining Balance");
                        clearData();
                    }
                    else
                    {
                        MessageBox.Show("There is no balance or no SNO Found");
                    }
                }
                else
                {
                    MessageBox.Show("The Payment should higher or equal than the downpayment");
                }
            }
            else
            {
                MessageBox.Show("Not A Number", "err", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #5
0
        private void button3_Click(object sender, EventArgs e)
        {
            double _;
            bool   isValidNumber = double.TryParse(textBox4.Text.Trim(), out _);

            if (isValidNumber)
            {
                if (double.Parse(textBox4.Text.ToString()) >= downPay)
                {
                    backgroundWorker1.RunWorkerAsync();
                    loadingCashier.Show();
                    double balance        = 0;
                    double neededToPay    = 0;
                    double change         = 0;
                    double receivePayment = 0;
                    double forOrPay       = 0;
                    switch (mod)
                    {
                    case "Fullpayment":
                        change          = double.Parse(textBox4.Text.ToString()) - downPay;
                        receivePayment  = downPay;
                        receivePayment += reservationFee;
                        break;

                    case "Semi-Annual":
                        /*      if (isChange)
                         *    {*/
                        change         = double.Parse(textBox4.Text.ToString()) - downPay;
                        balance        = total - downPay;
                        receivePayment = downPay + reservationFee;
                        balance       -= reservationFee;
                        neededToPay    = Math.Round((Double)balance, 2);;

                        /* }
                         * else
                         * {
                         *   if(double.Parse(textBox4.Text.ToString()) > total)
                         *   {
                         *       MessageBox.Show("Cannot be greather than the total payment");
                         *       return;
                         *   }
                         *   else
                         *   {
                         *       balance = total - double.Parse(textBox4.Text.ToString());
                         *       receivePayment = double.Parse(textBox4.Text.ToString());
                         *       receivePayment += reservationFee;
                         *       neededToPay = balance;
                         *       neededToPay = Math.Round((Double)neededToPay, 2);
                         *   }
                         *
                         * }*/
                        break;

                    case "Quarterly":
                        /* if (isChange)
                         * {*/
                        change = double.Parse(textBox4.Text.ToString()) - downPay;

                        balance        = total - downPay;
                        receivePayment = downPay + reservationFee;

                        neededToPay = balance / 3;
                        neededToPay = Math.Round((Double)neededToPay, 2);

                        /*  }
                         * else
                         * {
                         *    if (double.Parse(textBox4.Text.ToString()) > total)
                         *    {
                         *        MessageBox.Show("Cannot be greather than the total payment");
                         *        return;
                         *    }
                         *    else
                         *    {
                         *        balance = total - double.Parse(textBox4.Text.ToString());
                         *        receivePayment = double.Parse(textBox4.Text.ToString());
                         *        receivePayment += reservationFee;
                         *        neededToPay = balance/3;
                         *        neededToPay = Math.Round((Double)neededToPay, 2);
                         *    }
                         *
                         * }
                         */
                        break;

                    case "Monthly":
                        /*    if (isChange)
                         *  {*/
                        change = double.Parse(textBox4.Text.ToString()) - downPay;

                        balance        = total - downPay;
                        receivePayment = downPay + reservationFee;

                        neededToPay = balance / 9;
                        neededToPay = Math.Round((Double)neededToPay, 2);

                        /*   }
                         * else
                         * {
                         *     if (double.Parse(textBox4.Text.ToString()) > total)
                         *     {
                         *         MessageBox.Show("Cannot be greather than the total payment");
                         *         return;
                         *     }
                         *     else
                         *     {
                         *         balance = total - double.Parse(textBox4.Text.ToString());
                         *         receivePayment = double.Parse(textBox4.Text.ToString());
                         *         receivePayment += reservationFee;
                         *         neededToPay = balance / 9;
                         *         neededToPay = Math.Round((Double)neededToPay, 2);
                         *     }
                         *
                         * }*/

                        break;
                    }
                    auditTrail.addAudit(label11.Text, textBox2.Text.Trim() + " Paid Tuition Fee");
                    studentBalance.addBalance(sno, balance, mod, neededToPay, receivePayment, totalDisc, receivePayment);

                    StudentEnrolledController.updateEnrolled(sno);
                    textBox10.Text = String.Format("PHP " + "{0:0.00}", change);
                    orno           = orController.getRecentOr() + 1;
                    string   ornumber = "OR#" + orno;
                    DateTime today    = DateTime.Today;
                    forOrPay = receivePayment - reservationFee;
                    orController.addOr(ornumber, sno, forOrPay, today.ToString("dd/MM/yyyy"));
                    receivePayment -= reservationFee;
                    if (mod == "Fullpayment")
                    {
                        string totalPhp = "PHP " + downPay;

                        OrReport frm2 = new OrReport(receivePayment, sno,
                                                     textBox5.Text, textBox6.Text,
                                                     totalPhp, orno,
                                                     totalDisc, reservationFee, "enrollment");
                        frm2.ShowDialog();
                    }
                    else
                    {
                        string   totalPhp = "PHP " + receivePayment;
                        OrReport frm2     = new OrReport(receivePayment, sno,
                                                         totalPhp, "",
                                                         totalPhp, orno,
                                                         0, 0, "enrollment");
                        frm2.ShowDialog();
                    }
                }
                else
                {
                    MessageBox.Show("The Payment should higher or equal than the downpayment");
                }
            }
            else
            {
                MessageBox.Show("Not A number", "error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #6
0
        /// <summary>
        /// 单元格点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnXapFromGrid_CellClick(object sender, EventArgs e)
        {
            var ciOrderDO = (sender as XOrderResultCell).DataSource as CiOrderDO;

            if (string.IsNullOrEmpty(((sender as XOrderResultCell).ActiveObject as XOrderResultRender).Value) || ((sender as XOrderResultCell).ActiveObject as XOrderResultRender).Value.Equals("0"))
            {
                return;
            }
            var type = Convert.ToInt32(((sender as XOrderResultCell).ActiveObject as XOrderResultRender).Type);

            if ((ciOrderDO.Sd_srvtp.Substring(0, 2).Equals("02") || ciOrderDO.Sd_srvtp.Substring(0, 2).Equals("03")) && 3 == type)
            {
                string      dia      = "";
                string      title    = "";
                CliTestView TestView = new CliTestView();
                TestView.TrendChartEvent += new CliTestView.TrendChartButtonClick(test);
                if (ciOrderDO.Sd_srvtp.Substring(0, 2).Equals("02"))
                {
                    if (ciOrderDO.Sd_srvtp.Substring(2, 2).Equals("07"))
                    {
                        var pathol = new OpippathgyCardView();
                        pathol.setPatholdto(ciOrderDO.Id_or, ClinicalExeEventStatus.Pathol.ToString());
                        TestView.DataView              = pathol;
                        TestView.Size                  = new Size(850, 740);
                        TestView.ReportStatus          = ClinicalExeEventStatus.Pathol;
                        TestView.ShowReportButton.Text = "影像";
                        TestView.Text                  = "病理报告";
                        TestView.cliTestControl.AddRender(TestView.DataView);
                        TestView.ShowDialog();
                    }
                    else
                    {
                        dia   = "ris";
                        title = "检查报告";
                        var lab = new CIRptObsView();
                        lab.setlabdto(ciOrderDO.Id_or, dia);
                        TestView.Size = new Size(850, 740);
                        TestView.ShowReportButton.Text = "影像";
                        TestView.DataView = lab;
                        TestView.Text     = title;
                        TestView.cliTestControl.AddRender(TestView.DataView);
                        TestView.ShowDialog();
                    }
                }
                else if (ciOrderDO.Sd_srvtp.Substring(0, 2).Equals("03"))
                {
                    dia   = "lis";
                    title = "检验报告";
                    var lab = new CiRptLabView();
                    lab.setlabdto(ciOrderDO.Id_or, dia, TestView);
                    TestView.DataView = lab;
                    TestView.Size     = new Size(940, 750);
                    TestView.ShowReportButton.Text    = "趋势图";
                    TestView.ShowReportButton.Enabled = false;
                    TestView.Text = title;
                    TestView.cliTestControl.AddRender(TestView.DataView);
                    TestView.ShowDialog();
                }
            }
            else
            {
                var          orReport = new OrReport(sender as XOrderResultCell, ciOrderDO, type);
                DialogResult result   = orReport.ShowDialog();
                if (result == DialogResult.OK)
                {
                    freshFeeBillDataSource();
                }
            }
        }
Beispiel #7
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);
        }
Beispiel #8
0
        /// <summary>
        /// 医嘱签署
        /// </summary>
        /// <param name="orders"></param>
        /// <param name="patInfo"></param>
        /// <returns></returns>
        public bool SignOrders(CiOrderDO[] orders, Ent4BannerDTO ent4BannerDto, FMap2 map2)
        {
            // TODO:填写医嘱签署逻辑
            if (orders == null || orders.Length == 0)
            {
                return(false);
            }

            OrderOperateDTO operateDTO = new OrderOperateDTO();
            // 增加就诊上下文环境,用户医嘱签署时,在医嘱中保存保外诊断相关属性
            CiEnContextDTO contextDTO = CiEnContextUtil.GetCiEnContext(ent4BannerDto, EmsAppModeEnum.SVEMSAPPMODE, this.context);

            operateDTO.Document = new FArrayList();
            orders.ToList <CiOrderDO>().ForEach(ord => { operateDTO.Document.append(ord.Id_or); });


            operateDTO.EnContext = contextDTO;
            operateDTO.Extension = map2;
            OrderRstDTO orderRstDTO = orderActionSign.exec(new OrderOperateDTO[] { operateDTO })[0];

            if (orderRstDTO == null)
            {
                return(false);
            }
            FMap2 emsExtension = orderRstDTO.Extension;

            if (emsExtension != null)
            {
                if (emsExtension["specilDrugs"] != null)
                {
                    //特殊药判断提示
                    if (!this.IsContinue("提示", emsExtension["specilDrugs"].ToString()))
                    {
                        return(SignOrders(orders, ent4BannerDto, emsExtension));
                    }
                    else
                    {
                        return(false);
                    }
                }
                //医保规则
                if (emsExtension["hprule"] != null)
                {
                    FArrayList2 hplist      = (FArrayList2)emsExtension["hprule"];
                    bool        information = false; // fasle  提示, true 终止

                    if (hplist != null && hplist.Count > 0)
                    {
                        List <MedicalSharingDTO> medicalSharinglist = new List <MedicalSharingDTO>();

                        foreach (MedicalSharingDTO dto in hplist)
                        {
                            if (dto != null && dto.Code == "Stop")
                            {
                                information = true;
                            }
                            medicalSharinglist.Add(dto);
                        }
                        using (MedicalSharingInfoForm from = new MedicalSharingInfoForm(medicalSharinglist))
                        {
                            from.Text = "医保规则验证";
                            if (information)
                            {
                                from.confirmBtn.Visible = false;
                                from.cancelBtn.Text     = "确定";
                            }
                            else
                            {
                                from.cancelBtn.Visible = false;
                                from.confirmBtn.Text   = "确定";
                            }
                            if (from.ShowDialog() == DialogResult.OK)
                            {
                                return(SignOrders(orders, ent4BannerDto, emsExtension));
                            }
                            else
                            {
                                return(false);
                            }
                        }
                    }
                }
                if (emsExtension["willCheckIdOrs"] != null)
                {
                    //医保和临床路径未判断的话,就弹窗进行判断
                    FArrayList   willCheckIdOrs = (FArrayList)emsExtension["willCheckIdOrs"];
                    string[]     id_ors         = willCheckIdOrs.Cast <string>().ToArray();
                    OrReport     report         = new OrReport(id_ors);
                    DialogResult result         = report.ShowDialog(XFormManager.MainFrom);
                    if (result == DialogResult.OK)
                    {
                        FMap2 map = map2;
                        return(SignOrders(orders, ent4BannerDto, map));
                    }
                    else
                    {
                        return(false);
                    }
                }

                if (emsExtension.Keys.Contains("UnCheckIdors"))
                {
                    //开立权限校验
                    FArrayList    uncheckidList = emsExtension["UnCheckIdors"] as FArrayList;
                    List <string> uncheckids    = uncheckidList.Cast <String>().ToList();
                    if (uncheckids.Count == orders.Length)
                    {
                        this.ShowInfo(emsExtension["ErrMsg"].ToString());
                        return(false);
                    }
                    if (!this.IsContinue("提示", emsExtension["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()));
                            }
                            FMap2 map = new FMap2();
                            return(SignOrders(ciordlist.ToArray(), ent4BannerDto, map));
                        }
                    }
                }

                if (emsExtension["checkPatInfoSrvs"] != null)
                {
                    // 如果是毒麻药,需要保存代理人信息
                    FArrayList              checkPatInfoSrvs = (FArrayList)emsExtension["checkPatInfoSrvs"];
                    OrSrvAgentInfoDO        agentInfo        = LogicEx.GetInstance().newOrSrvAgentInfoDOFromBanner(ent4BannerDto);
                    CheckPatAgentInfoDialog dialog           = new CheckPatAgentInfoDialog(agentInfo, checkPatInfoSrvs);
                    if (dialog.ShowDialog() == DialogResult.OK)
                    {
                        this.maintainService.saveCheckPatInfo(checkPatInfoSrvs, agentInfo);
                        FMap2 map = new FMap2();
                        return(SignOrders(orders, ent4BannerDto, map));
                    }
                    else
                    {
                        return(false);
                    }
                }

                this.initMrSignCiOrderList(emsExtension);
            }

            return(true);
        }