예제 #1
0
        private void office1_Click(object sender, EventArgs e)
        {
            if (this.itemClick != null)
            {
                this.itemClick(true);
            }
            OfficeItem list    = sender as OfficeItem;
            string     oficeId = list.lblOfficeId.Text;
            string     ofice   = list.lblOffice.Text;

            //douyaming 2016-05-05 CASE:24356
            if (ofice.Contains("妇") || ofice.Contains("产"))
            {
                if (SkyComm.eCardAuthorizationData.Tables[0].Rows.Count > 0 && SkyComm.eCardAuthorizationData.Tables[0].Rows[0]["SEX"].ToString() != "女")
                {
                    MyAlert frmAlter = new MyAlert(AlertTypeenum.信息, "当前性别【" + SkyComm.eCardAuthorizationData.Tables[0].Rows[0]["SEX"].ToString() + "】不能进行【" + ofice + "】就诊!");
                    frmAlter.ShowDialog();
                    return;
                }
            }
            //wangchao 2016.10.27 case:25866
            if (ofice.Contains("儿"))
            {
                if (SkyComm.eCardAuthorizationData.Tables[0].Rows.Count > 0 && SkyComm.eCardAuthorizationData.Tables[0].Rows[0]["AGEUNIT"].ToString().Contains("岁"))
                {
                    string ageString = SkyComm.eCardAuthorizationData.Tables[0].Rows[0]["AGE"].ToString().Trim();
                    if (ageString != "" && Convert.ToInt32(ageString) > 18)
                    {
                        MyAlert frmAlter = new MyAlert(AlertTypeenum.信息, "当前患者年龄超过18岁,不允许就诊【" + ofice + "】!");
                        frmAlter.ShowDialog();
                        return;
                    }
                }
            }

            string mOfficeMessage = "";

            mOfficeMessage = SkyComm.getvalue(oficeId);

            if (!string.IsNullOrEmpty(mOfficeMessage))
            {
                SkyComm.ShowMessageInfo(mOfficeMessage);
            }

            FrmDoctorChoose frm = new FrmDoctorChoose();

            frm.officeId = oficeId;
            frm.office   = ofice;
            frm.ShowDialog(this);
            frm.Dispose();
            if (this.itemClick != null)
            {
                this.itemClick(false);
            }
        }
예제 #2
0
        private void UcDoctorList_Load(object sender, EventArgs e)
        {
            DateTime   dateTime = DateTime.Now;
            UcWeekItem item     = new UcWeekItem();

            WeekItem1.lblToday.Text     = "今天";
            WeekItem1.lblTodayDate.Text = dateTime.Date.ToString("MM-dd");
            #region chenqiang 2018.11.28 update by Case:33511
            if (SkyComm.getvalue("是否启用号源六天预约") == "" || SkyComm.getvalue("是否启用号源六天预约") == "0")
            {
                WeekItem2.Visible = false;
                WeekItem3.Visible = false;
                WeekItem4.Visible = false;
                WeekItem5.Visible = false;
                WeekItem6.Visible = false;
                WeekItem7.Visible = false;
            }
            else
            {
                WeekItem2.lblToday.Text     = Week(dateTime.AddDays(+1).DayOfWeek.ToString());
                WeekItem2.lblTodayDate.Text = dateTime.AddDays(+1).Date.ToString("MM-dd");

                WeekItem3.lblToday.Text     = Week(dateTime.AddDays(+2).DayOfWeek.ToString());
                WeekItem3.lblTodayDate.Text = dateTime.AddDays(+2).Date.ToString("MM-dd");

                WeekItem4.lblToday.Text     = Week(dateTime.AddDays(+3).DayOfWeek.ToString());
                WeekItem4.lblTodayDate.Text = dateTime.AddDays(+3).Date.ToString("MM-dd");

                WeekItem5.lblToday.Text     = Week(dateTime.AddDays(+4).DayOfWeek.ToString());
                WeekItem5.lblTodayDate.Text = dateTime.AddDays(+4).Date.ToString("MM-dd");

                WeekItem6.lblToday.Text     = Week(dateTime.AddDays(+5).DayOfWeek.ToString());
                WeekItem6.lblTodayDate.Text = dateTime.AddDays(+5).Date.ToString("MM-dd");

                WeekItem7.lblToday.Text     = Week(dateTime.AddDays(+6).DayOfWeek.ToString());
                WeekItem7.lblTodayDate.Text = dateTime.AddDays(+6).Date.ToString("MM-dd");
            }
            #endregion
            //chenqiang case:无  解决西北妇幼分时预约线程未加载完成数据时,操作界面点击过快早成预约时间为当当天问题
            WeekItem2.Enabled = false;
            WeekItem3.Enabled = false;
            WeekItem4.Enabled = false;
            WeekItem5.Enabled = false;
            WeekItem6.Enabled = false;
            WeekItem7.Enabled = false;


            //默认当前选中
            try
            {
                Image img = (Image)Resources.日期背景;
                WeekItem1.BackgroundImage = img;
            }
            catch { WeekItem1.Visible = false; }
        }
예제 #3
0
        private string Postprepay()
        {
            AdvanceRecordData AdvData         = new AdvanceRecordData();
            bool             IfForegift       = false;//不确定是否以后会在转账时扣住院押金
            string           AdvanceID        = "";
            ChargeTypeFacade chargeTypeFacade = new ChargeTypeFacade();
            DataRow          dr = AdvData.Tables[0].NewRow();

            dr[AdvanceRecordData.H_ADVANCE_RECORD_ADVANCEID]        = "新增";
            dr[AdvanceRecordData.H_ADVANCE_RECORD_BUSINESSBANK]     = ""; //开户银行
            dr[AdvanceRecordData.H_ADVANCE_RECORD_CANCELMARK]       = 0;
            dr[AdvanceRecordData.H_ADVANCE_RECORD_CHEQUEID]         = ""; //支票号
            dr[AdvanceRecordData.H_ADVANCE_RECORD_CURRENTINHOSMARK] = GetInHosInfo(_inHosID).Tables[0].Rows[0]["CURRENTINHOSMARK"].ToString();
            dr[AdvanceRecordData.H_ADVANCE_RECORD_INHOSID]          = _inHosID;
            dr[AdvanceRecordData.H_ADVANCE_RECORD_OFFICEID]         = _inHosOfficeID;//this.txtZyks.Text;
            dr[AdvanceRecordData.H_ADVANCE_RECORD_OPERATEDATE]      = new CommonFacade().GetServerDateTime().ToString("yyyy-MM-dd HH:mm:ss.ffff");
            dr[AdvanceRecordData.H_ADVANCE_RECORD_OPERATORID]       = SysOperatorInfo.OperatorID;

            //支付类型ID及支付类型名称
            dr[AdvanceRecordData.H_ADVANCE_RECORD_PAYMODEID] = SkyComm.getvalue("住院预交金充值方式_门诊预交金").ToString();//case21248 2015-5-4 yuanxiaoxia ID字段来源于界面加载
            dr[AdvanceRecordData.H_ADVANCE_RECORD_PAYMODE]   = "门诊预交金";
            decimal ForegiftMoney = 0;

            if (IfForegift == true)
            {
                dr[AdvanceRecordData.H_ADVANCE_RECORD_PAYMONEY] = DecimalRound.Round(Convert.ToDecimal(this.lblhm.Text) - ForegiftMoney, 2);
            }
            else
            {
                dr[AdvanceRecordData.H_ADVANCE_RECORD_PAYMONEY] = DecimalRound.Round(Convert.ToDecimal(this.lblhm.Text), 2);
            }

            dr[AdvanceRecordData.H_ADVANCE_RECORD_RECEIPTID] = string.Empty;
            AdvData.Tables[0].Rows.Add(dr);

            try
            {
                AdvanceRecordFacade fac = new AdvanceRecordFacade();
                AdvanceID = fac.insertEntity(AdvData.GetChanges(), IfForegift);
                SkyComm.GetCardBalance();
                this.lblMzYe.Text = SkyComm.cardBlance.ToString();
                this.lblZyYe.Text = Convert.ToString(Convert.ToDecimal(this.lblhm.Text) + Convert.ToDecimal(lblZyYe.Text));
            }
            catch (Exception err)
            {
                SkyComm.ShowMessageInfo(err.Message);
                AdvData.Tables[0].Clear();
                AdvData.Clear();
                return("");
            }
            return(AdvanceID);
        }
예제 #4
0
        /// <summary>
        /// 根据一级科室名称找到二级科室id集合
        /// </summary>
        /// <param name="levelOneOfficeName"></param>
        /// <returns></returns>
        public List <string> getLevelTwoOfficeIDList(string levelOneOfficeName)
        {
            List <string> mList = new List <string>();

            string ids = SkyComm.getvalue(levelOneOfficeName);

            string[] leveTwoOfficeIds = ids.Split('|');

            foreach (string leveTwoOfficeId in leveTwoOfficeIds)
            {
                mList.Add(leveTwoOfficeId);
            }

            return(mList);
        }
예제 #5
0
        private void FormElectronicsInput_Load(object sender, EventArgs e)
        {
            this.backgroundWorker1.RunWorkerAsync();
            ucTime1.Sec = 60;
            ucTime1.timer1.Start();



            string projectType = SkyComm.getvalue("项目版本标识");

            if (!string.IsNullOrEmpty(projectType) && projectType == "锡林郭勒盟医院")
            {
                this.label12.Text = "2.	请仔细核对身份信息,本卡系就诊专用卡。";
            }
        }
예제 #6
0
        public void addDatas(DataSet dataSet, string queue, string payType)
        {
            //string mPaytype = SkyComm.getvalue("住院预交金充值方式_门诊预交金");

            string mPaytype = string.Empty;

            if (payType == "现金")
            {
                mPaytype = SkyComm.getvalue("住院预交金充值方式_现金");
            }
            else if (payType == "银行卡")
            {
                mPaytype = SkyComm.getvalue("住院预交金充值方式_银行卡");
            }
            else if (payType == "门诊预交金转住院预交金")
            {
                mPaytype = SkyComm.getvalue("住院预交金充值方式_门诊预交金");
            }

            DataSet payDataSet = moneyTransferModel.getPayType(mPaytype);

            if (payDataSet == null || payDataSet.Tables.Count == 0 || payDataSet.Tables[0].Rows.Count == 0)
            {
                SkyComm.ShowMessageInfo("支付方式[" + mPaytype + "]设置错误!");
            }

            if (!dataSet.Tables[0].Columns.Contains("科室"))
            {
                dataSet.Tables[0].Columns.Add("科室", typeof(string));
            }

            dataSet.Tables[0].Columns.Add("费用类别", typeof(string));
            dataSet.Tables[0].Columns.Add("流水", typeof(string));
            dataSet.Tables[0].Columns.Add("支付方式", typeof(string));
            string officeName =
                moneyTransferModel.getOfficeName(dataSet.Tables[0].Rows[0]["ENTERHOSOFFICEID"].ToString());

            string type = moneyTransferModel.getType(dataSet.Tables[0].Rows[0]["FEETYPEID"].ToString());

            foreach (DataRow row in dataSet.Tables[0].Rows)
            {
                row["科室"]   = officeName;
                row["费用类别"] = type;
                row["流水"]   = queue;
                row["支付方式"] = payDataSet.Tables[0].Rows[0]["CHARGETYPE"];
            }
        }
예제 #7
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Stop();
            string cardid   = string.Empty;
            string cardType = SkyComm.getvalue("卡类型");

            //if (cardType == "磁条卡")
            //{
            cardid = m100ReadCard.ReadCard();
            //}
            //else if (cardType == "IC卡")
            //{
            //    cardid = m100ICReadCard.ReadCard();
            //}

            if (cardid == string.Empty)
            {
                this.Close();
            }

            //MessageBox.Show("卡号: " + cardid);
            FrmMain.cardInfoStruct.CardNo = cardid;
            //FrmMain.cardInfoStruct.CardNo = "002000000024153734";
            if (FrmMain.cardInfoStruct.CardNo != string.Empty && FrmMain.cardInfoStruct.CardNo.Length >= 6)
            {
                //MyMsg.MsgInfo(FrmMain.cardInfoStruct.CardNo);
                //FrmMain.cardInfoStruct.CardNo = "002000000024153734";// "001000776394154179";
                backgroundWorker1.RunWorkerAsync();
                //FrmMain.cardInfoStruct.CardNo = aa;
                timer1.Stop();
                this.top1.timer1.Stop();
            }
            else
            {
                if (incardcount > 0)
                {
                    MyMsg.MsgInfo("卡片无效,请确认插入方向后重新插卡!");
                    incardcount--;
                    timer1.Start();
                }
                else
                {
                    this.DialogResult = DialogResult.Cancel;
                }
            }
        }
예제 #8
0
        public string getOfficeId(string officeName)
        {
            string mSql = "SELECT* FROM T_OFFICE a where a.OFFICE = @OFFICE and a.MEDICALCODE = @MEDICALCODE";


            DataSet mDataSet = new DataSet();

            Hashtable ht = new Hashtable();

            ht.Add("@OFFICE", officeName);
            ht.Add("@MEDICALCODE", SkyComm.getvalue("MedicalCode"));
            QuerySolutionFacade querySolutionFacade = new QuerySolutionFacade();

            mDataSet = querySolutionFacade.ExeQuery(mSql, ht);

            return(mDataSet.Tables[0].Rows[0]["OFFICEID"].ToString());
        }
예제 #9
0
        public DataSet getWindowIdSend(string dignoseID)
        {
            string mSql  = " select DISTINCT D_ECIPE_MEDICINE.DIAGNOSEID,T_PATIENT_INFO.PATIENTNAME,D_ECIPE_MEDICINE.OPERATEDATE , P_DOSAGE.WINDOWID,P_DOSAGE.PHARMACYID,P_PHARMACYWINDOW.PHARMARYWINDOWID,P_PHARMACYWINDOW.WINDOWNAME\r\nfrom P_DOSAGE,D_ECIPE_MEDICINE,T_PATIENT_INFO,T_OFFICE,T_USERS,P_PHARMACYWINDOW where D_ECIPE_MEDICINE.OPERATEDATE>@OPERATEDATE and P_DOSAGE.DOSAGESTATE= 0 AND P_DOSAGE.DETAILACCOUNTID = D_ECIPE_MEDICINE.DETAILACCOUNTID  AND  CANCELMARK = 0 AND SENDLEECHDOMMARK = 0 AND D_ECIPE_MEDICINE.DIAGNOSEID = T_PATIENT_INFO.DIAGNOSEID AND REGISTEROFFICEID = T_OFFICE.OFFICEID AND DOCTORID = USERID AND P_DOSAGE.MEDICALCODE  = D_ECIPE_MEDICINE.MEDICALCODE AND D_ECIPE_MEDICINE.MEDICALCODE =T_PATIENT_INFO.MEDICALCODE AND T_PATIENT_INFO.MEDICALCODE =T_OFFICE.MEDICALCODE AND T_OFFICE.MEDICALCODE =T_USERS.MEDICALCODE  AND T_USERS.MEDICALCODE = @MEDICALCODE and P_PHARMACYWINDOW.WINDOWTYPE = '发药' and  P_DOSAGE.PHARMACYID = P_PHARMACYWINDOW.PHARMACYID and P_DOSAGE.WINDOWID = P_PHARMACYWINDOW.WINDOWID ";
            string start = DateTime.Now.ToString("yyyy-MM-dd ") + " 00:00:00";

            DataSet mDataSet = new DataSet();

            Hashtable ht = new Hashtable();

            ht.Add("@OPERATEDATE", Convert.ToDecimal(start));
            ht.Add("@MEDICALCODE", SkyComm.getvalue("MedicalCode"));
            QuerySolutionFacade querySolutionFacade = new QuerySolutionFacade();

            mDataSet = querySolutionFacade.ExeQuery(mSql, ht);

            return(mDataSet);
        }
예제 #10
0
        public void inHosSave(DataSet inHosData, decimal RechargeMoney, string hisNo, string bankNo)
        {
            AdvanceRecordData AdvData = new AdvanceRecordData();
            DataRow           dr      = AdvData.Tables[0].NewRow();

            dr[AdvanceRecordData.H_ADVANCE_RECORD_ADVANCEID]        = "新增";
            dr[AdvanceRecordData.H_ADVANCE_RECORD_BUSINESSBANK]     = hisNo;
            dr[AdvanceRecordData.H_ADVANCE_RECORD_CANCELMARK]       = 0;
            dr[AdvanceRecordData.H_ADVANCE_RECORD_CHEQUEID]         = "";
            dr[AdvanceRecordData.H_ADVANCE_RECORD_CURRENTINHOSMARK] =
                inHosData.Tables[0].Rows[0]["CURRENTINHOSMARK"].ToString();
            ;
            dr[AdvanceRecordData.H_ADVANCE_RECORD_INHOSID]  = inHosData.Tables[0].Rows[0]["INHOSID"].ToString();
            dr[AdvanceRecordData.H_ADVANCE_RECORD_OFFICEID] = inHosData.Tables[0].Rows[0]["INHOSOFFICEID"].ToString();
            //this.txtZyks.Text;
            dr[AdvanceRecordData.H_ADVANCE_RECORD_OPERATEDATE] = new CommonFacade().GetServerDateTime();
            dr[AdvanceRecordData.H_ADVANCE_RECORD_OPERATORID]  = SysOperatorInfo.OperatorID;
            dr[AdvanceRecordData.H_ADVANCE_RECORD_PAYMODEID]   = SkyComm.getvalue("住院预交金充值方式_微信").ToString();
            dr[AdvanceRecordData.H_ADVANCE_RECORD_PAYMONEY]    = RechargeMoney;
            dr[AdvanceRecordData.H_ADVANCE_RECORD_RECEIPTID]   = string.Empty;
            AdvData.Tables[0].Rows.Add(dr);
            AdvanceRecordFacade theAdvanceRecordFacade = new AdvanceRecordFacade();

            string    advanceid  = string.Empty;
            Hashtable BankTranht = new Hashtable();

            BankTranht.Add("SEQNO", hisNo);
            BankTranht.Add("MONEY", RechargeMoney);
            BankTranht.Add("OPERATORID", SysOperatorInfo.OperatorCode);
            BankTranht.Add("POSNO", AutoHostConfig.PosNo);
            BankTranht.Add("DIAGNOSEID", SkyComm.DiagnoseID);
            BankTranht.Add("CARDID", SkyComm.cardInfoStruct.CardNo);
            BankTranht.Add("BANKSEQNO", bankNo);
            CardAuthorizationData   eCardAuthorizationData   = new CardAuthorizationData();
            CardAuthorizationFacade eCardAuthorizationFacade = new CardAuthorizationFacade();

            eCardAuthorizationData = (CardAuthorizationData)eCardAuthorizationFacade.SelectPatientAndCardInfoByCardID(SkyComm.cardInfoStruct.CardNo);
//            eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][
//                CardAuthorizationData.T_CARD_AUTHORIZATION_BANKTRANSNO] = BankTranht["BANKSEQNO"].ToString();

            advanceid = theAdvanceRecordFacade.insertEntity(AdvData, false);
            string receiptID = theAdvanceRecordFacade.GetReceiptIDByAdvanceID(advanceid);

            PrintInfo("住院预交金充值凭证", receiptID, RechargeMoney.ToString(), advanceid, inHosData);
        }
예제 #11
0
        public int getArrayCount(string officeID, string windowId)
        {
            string mSql = "SELECT * FROM P_DOSAGECOMPLETE where P_DOSAGECOMPLETE.PHARMACYID = @PHARMACYID and P_DOSAGECOMPLETE.PHARMARYWINDOWID = @PHARMARYWINDOWID and P_DOSAGECOMPLETE.MEDICALCODE = @MEDICALCODE";


            DataSet mDataSet = new DataSet();

            Hashtable ht = new Hashtable();

            ht.Add("@PHARMACYID", officeID);
            ht.Add("@PHARMARYWINDOWID", windowId);
            ht.Add("@MEDICALCODE", SkyComm.getvalue("MedicalCode"));
            QuerySolutionFacade querySolutionFacade = new QuerySolutionFacade();

            mDataSet = querySolutionFacade.ExeQuery(mSql, ht);

            return(mDataSet.Tables[0].Rows.Count);
        }
예제 #12
0
        private void showweb(int index)
        {
            FrmWebLoad frmWebLoad = new FrmWebLoad();

            switch (index)
            {
            case 1:
            {
                frmWebLoad.webBrowser1.Url = new Uri(SkyComm.getvalue("yygk"));
                break;
            }

            case 2:
            {
                frmWebLoad.webBrowser1.Url = new Uri(SkyComm.getvalue("jzzn"));
                break;
            }

            case 3:
            {
                frmWebLoad.webBrowser1.Url = new Uri(SkyComm.getvalue("zjjs"));
                break;
            }

            case 4:
            {
                frmWebLoad.webBrowser1.Url = new Uri(SkyComm.getvalue("ksjs"));
                break;
            }

            case 5:
            {
                frmWebLoad.webBrowser1.Url = new Uri(SkyComm.getvalue("ywgk"));
                break;
            }

            case 6:
            {
                frmWebLoad.webBrowser1.Url = new Uri(SkyComm.getvalue("ylcs"));
                break;
            }
            }
            frmWebLoad.ShowDialog();
        }
예제 #13
0
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            Hashtable mHashtable = new Hashtable();

            string typeId = "4";

            switch (serviceType)
            {
            case "预约取号":
                typeId = "1";
                break;

            case "当日挂号":
                typeId = "2";
                break;

            case "诊间支付":
                typeId = "3";
                break;

            case "门诊预交金充值":
                typeId = "4";
                break;

            case "住院预交金充值":
            case "5":
                typeId = "5";
                break;
            }

            mHashtable.Add("serviceType", typeId);                  //传交易类型对应数值(1、预约取号2、当日挂号3、诊间支付4、门诊预交金充值5、住院预交金充值)
            mHashtable.Add("payFee", payMoney.ToString());          //支付金额,保留两位小数(99.99)
            mHashtable.Add("payMethod", this.payMethod);            //传支付方式对应数字(1、微信支付2、支付宝支付)
            mHashtable.Add("mchNum", SkyComm.getvalue("网络支付商户ID")); //商户ID SkyComm.getvalue("网络支付商户ID")AutoHostConfig.Machineno

            mHashtable.Add("使用范围", "门诊");
            mHashtable.Add("接口类型", "支付接口");
//            mHashtable.Add("测试", "111");


            string mUrl = mNetPayPresenter.getUrl(mHashtable);//获取二维码

            e.Result = mUrl;
        }
예제 #14
0
        public UCHead()
        {
            InitializeComponent();

            try
            {
                //picTwLogo.Image = Image.FromFile(Application.StartupPath + "\\TiuWeblogo.png");
                //pcImageLogo.Image = Image.FromFile(Application.StartupPath + "\\TiuWeblogo.png");
                pcImageLogo.Image = Image.FromFile(Application.StartupPath + "\\" + SkyComm.getvalue("logoImage"));
            }
            catch { pcImageLogo.Visible = false; }

            //加载医院名称
            //try
            //{
            //    lblTitle.Text = SkyComm.getvalue("医院名称") + "自助服务";
            //}
            //catch { lblTitle.Text = ""; }
        }
 private void FrmInMoney_Load(object sender, EventArgs e)
 {
     try
     {
         string port = SkyComm.getvalue("钞箱Port");
         cardSavingData        = new DataSet();
         this.lblClose.Visible = true;
         this.lblOK.Visible    = false;
         sum = 0;
         money.init(Convert.ToInt32(port), 3);
         #region 纸币器开始接收纸币模块
         //打开验钞 等待纸币进入
         this.timer1.Start();
     }
     catch (Exception ex)
     {
         MyMsg.MsgInfo(ex.Message);
     }
     #endregion
 }
예제 #16
0
        //自助挂号
        private void lblguahao_Click(object sender, EventArgs e)
        {
            string cardtype = SkyComm.getvalue("读卡器类型");

            if (cardtype == "302H")
            {
                FrmInCard302H fi = new FrmInCard302H();
                if (fi.ShowDialog() == DialogResult.OK)
                {
                    backgroundWorker1.RunWorkerAsync("挂号");
                }
                else
                {
                    return;
                }
            }
            else if (cardtype == "M100")
            {
                FrmInCardM100 fi = new FrmInCardM100();
                if (fi.ShowDialog() == DialogResult.OK)
                {
                    backgroundWorker1.RunWorkerAsync("挂号");
                }
                else
                {
                    return;
                }
            }
            else
            {
                FrmInCardUniversal fi = new FrmInCardUniversal();
                if (fi.ShowDialog() == DialogResult.OK)
                {
                    backgroundWorker1.RunWorkerAsync("挂号");
                }
                else
                {
                    return;
                }
            }
        }
예제 #17
0
        private void FrmSendCardMain_Load(object sender, EventArgs e)
        {
            LogService.GlobalInfoMessage("进入方法");
            LogService.GlobalInfoMessage("身份真读卡器类型" + AutoHostConfig.IDCardType);
            if (SendCardType == "成人")
            {
                this.label5.Text = "等待读取...";
            }
            string projectType = SkyComm.getvalue("项目版本标识");

            if (!string.IsNullOrEmpty(projectType) && projectType == "锡林郭勒盟医院")
            {
                this.label12.Text = "2.	请仔细核对身份信息,本卡系就诊专用卡。";
            }

            Log.Info("开始读取身份证", "开始读取身份证", "开始读取身份证");
            if (AutoHostConfig.IDCardType.Equals("XUHUI_PH"))
            {
                this.backgroundWorker2.RunWorkerAsync();
            }
            else
            {
                //读取二代身份证信息
                rc = IDCardConfig.GetIDCardReader("0");

                rc.OnReadedInfo += new EventHandler <ReadEventArgs>(readIDCrad_OnReadedInfo);
                rc.OnReadError  += new EventHandler <ReadErrorEventArgs>(readIDCrad_OnReadError);
                if (!rc.IsRun)
                {
                    rc.Start(ReadType.读基本信息);
                }
            }

            backgroundWorker1.RunWorkerAsync();
            ucTime1.Sec = 60;
            ucTime1.timer1.Start();
            if (Debugger.IsAttached)
            {
                timer1.Start();
            }
        }
예제 #18
0
        /// <summary>
        /// 获取一级科室菜单名
        /// </summary>
        /// <returns></returns>
        public List <string> getTotalOfficeNameList()
        {
            List <string> mList = new List <string>();

            string mOfficeIdConfig = SkyComm.getvalue("预约挂号一级科室分类");

            string[] officeNames = mOfficeIdConfig.Split('|');

            foreach (string officeName in officeNames)
            {
                string mSecondName = SkyComm.getvalue(officeName);

                if (!string.IsNullOrEmpty(mSecondName))
                {
                    mList.Add(officeName);
                }
            }


            return(mList);
        }
예제 #19
0
        private void FrmReIssueCard_Load(object sender, EventArgs e)
        {
            this.label5.Text = "等待读取...";

            string projectType = SkyComm.getvalue("项目版本标识");

            if (!string.IsNullOrEmpty(projectType) && projectType == "锡林郭勒盟医院")
            {
                this.label12.Text   = "2.	请仔细核对身份信息,本卡系就诊专用卡。";
                this.label2.Visible = false;
                this.label3.Top     = this.label12.Location.Y + 30;
                this.label8.Top     = this.label12.Location.Y + 60;
            }

            if (AutoHostConfig.IDCardType.Equals("XUHUI_PH"))
            {
                this.backgroundWorker2.RunWorkerAsync();
            }
            else
            {
                //读取二代身份证信息
                rc = IDCardConfig.GetIDCardReader("0");

                rc.OnReadedInfo += new EventHandler <ReadEventArgs>(readIDCrad_OnReadedInfo);
                rc.OnReadError  += new EventHandler <ReadErrorEventArgs>(readIDCrad_OnReadError);
                if (!rc.IsRun)
                {
                    rc.Start(ReadType.读基本信息);
                }
            }


            backgroundWorker1.RunWorkerAsync();
            ucTime1.Sec = 60;
            ucTime1.timer1.Start();
            if (Debugger.IsAttached)
            {
                timer1.Start();
            }
        }
예제 #20
0
        /// <summary>
        /// 生成二维码
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void createBarCode(String strBrCode)
        {
            try
            {
                this.label4.Enabled = true;


                //取消等待窗体
                this.loading.Visible = false;

                //生成二维码
                Image imageBr = Image.FromFile(Application.StartupPath + "\\" + SkyComm.getvalue("BrCodeImage"));
                if (imageBr == null)
                {
                    SkyComm.ShowMessageInfo(string.Format("生成二维码失败,系统根目录下缺少{0}图片,请手动添加!", SkyComm.getvalue("BrCodeImage")));
                    return;
                }
                qrCodeImgControl1.Image = CombinImage(ECode(strBrCode), imageBr);

                Log.Info(GetType().ToString(), string.Format("生成二维码成功,参数:医疗机构号:{0},自助机编号:{1},时间戳:{2}", pkOrg, opId, StrtimeStamp));
                ////显示二维码
                qrCodeImgControl1.Visible = true;

                timer2.Interval = 30000;
                timer2.Start();

                ///生成后每隔五秒查询返回结果
                timer1.Start();
            }
            catch (Exception e)
            {
                Log.Info(GetType().ToString(), "生成二维码", e.Message);
                //生成二维码失败
                SkyComm.ShowMessageInfo("生成二维码失败,请返回重新操作或更换自助机!");

                this.loading.Visible = false;

                this.DialogResult = DialogResult.Cancel;
            }
        }
        private void PrintSendCardReport(DataSet eLCardAuthorizationData, string patientName)
        {
            eLCardAuthorizationData.WriteXml(Application.StartupPath + @"\\ReportXml\\自助发卡凭证" + eLCardAuthorizationData.Tables[0].Rows[0]["DIAGNOSEID"].ToString() + ".xml");
            string path = Application.StartupPath + @"\\Reports\\自助发卡凭证.frx";

            if (System.IO.File.Exists(path) == false)
            {
                SkynetMessage.MsgInfo("自助发卡凭证不存在,请联系管理员!");
                return;
            }
            Skynet.LoggingService.LogService.GlobalInfoMessage("打印发卡证证");

            decimal decYJ = 0;
            string  stryj = SkyComm.getvalue("发卡工本费");

            if (string.IsNullOrEmpty(stryj) || stryj == "0")
            {
                decYJ = Convert.ToDecimal(SkyComm.dsCardType.Tables[0].Rows[0]["FEES"].ToString());
            }
            else
            {
                decYJ = Convert.ToDecimal(stryj);
            }

            //Common_XH theCamera_XH = new Common_XH();
            //theCamera_XH.DoorLightOpen(LightTypeenum.凭条, LightOpenTypeenum.闪烁);
            PrintManager print = new PrintManager();

            print.InitReport("自助发卡凭证");
            print.AddParam("医院名称", SysOperatorInfo.CustomerName);
            print.AddParam("姓名", patientName);
            print.AddParam("卡押金", decYJ);
            print.AddParam("操作员", SysOperatorInfo.OperatorCode);
            print.AddParam("操作员姓名", SysOperatorInfo.OperatorName);
            print.AddData(eLCardAuthorizationData.Tables[0], "report");
            //PrintManager.CanDesign = true;
            print.Print();
            print.Dispose();
            Thread.Sleep(100);
        }
예제 #22
0
        private void lblLisReportPrint_Click(object sender, EventArgs e)
        {
            if (isLisReportPrint)
            {
                #region
                this.ucTime1.timer1.Stop();
                Form frm = new Form();
                try
                {
                    if (SkyComm.getvalue("LIS厂商类型").ToString() == "智方")
                    {
                        frm = new FrmPrintListReport();
                        frm.ShowDialog(this);
                    }
                    else if (SkyComm.getvalue("LIS厂商类型").ToString() == "杏和")
                    {
                        frm = new FrmPrintLisReportXH();
                        frm.ShowDialog(this);
                    }
                    else if (SkyComm.getvalue("LIS厂商类型").ToString() == "省医院智方")
                    {
                        string path     = System.IO.Directory.GetCurrentDirectory() + "\\LisPrint_ZF\\";
                        string fileName = "WindowsFormsApplication1.exe";
                        StartProcess(null, path, fileName);
                        //SkyComm.ShowMessageInfo("检查报告单打印完毕!");
                    }
                    else if (SkyComm.getvalue("LIS厂商类型").ToString() == "锡盟智方")
                    {
                        PrintListForXM();
                    }
                    else if (SkyComm.getvalue("LIS厂商类型").ToString() == "瑞美")
                    {
                        System.Diagnostics.Process p = new System.Diagnostics.Process();
                        p.StartInfo.FileName               = "cmd.exe";
                        p.StartInfo.UseShellExecute        = false; //是否使用操作系统shell启动
                        p.StartInfo.RedirectStandardInput  = true;  //接受来自调用程序的输入信息
                        p.StartInfo.RedirectStandardOutput = true;  //由调用程序获取输出信息
                        p.StartInfo.RedirectStandardError  = true;  //重定向标准错误输出
                        p.StartInfo.CreateNoWindow         = true;  //不显示程序窗口
                        p.Start();                                  //启动程序

                        //向cmd窗口发送输入信息
                        p.StandardInput.WriteLine(@"D:\rmlis6\rmlis6_report 2@" + SkyComm.eCardAuthorizationData.Tables[0].Rows[0]["CARDID"].ToString() + " &exit");

                        p.StandardInput.AutoFlush = true;
                        //p.StandardInput.WriteLine("exit");
                        //向标准输入写入要执行的命令。这里使用&是批处理命令的符号,表示前面一个命令不管是否执行成功都执行后面(exit)命令,如果不执行exit命令,后面调用ReadToEnd()方法会假死
                        //同类的符号还有&&和||前者表示必须前一个命令执行成功才会执行后面的命令,后者表示必须前一个命令执行失败才会执行后面的命令



                        //获取cmd窗口的输出信息
                        //string output = p.StandardOutput.ReadToEnd();

                        //StreamReader reader = p.StandardOutput;
                        //string line=reader.ReadLine();
                        //while (!reader.EndOfStream)
                        //{
                        //    str += line + "  ";
                        //    line = reader.ReadLine();
                        //}

                        p.WaitForExit();//等待程序执行完退出进程
                        p.Close();



                        //1@" + SkyComm.eCardAuthorizationData.Tables[0].Rows[0]["CARDID"].ToString()
                        //Process p = Process.Start(@"D:\rmlis6\rmlis6_report.exe");
                        //p.WaitForExit();
                    }
                }
                catch (Exception ex)
                {
                    Skynet.LoggingService.LogService.GlobalInfoMessage("检验报告打印失败:" + ex.Message);
                    SkyComm.ShowMessageInfo("检验报告打印失败!" + ex.Message);
                }
                finally
                {
                    frm.Dispose();
                }
                this.ucTime1.Sec = 60;
                this.ucTime1.timer1.Start();
                #endregion
            }
        }
예제 #23
0
        static void Main()
        {
            try
            {
                System.Runtime.Remoting.RemotingConfiguration.Configure("SkynetAutoService.exe.config", false);
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);

                //判断自动更新程序是否存在,自动更新配置是否存在。
                if (System.IO.File.Exists("Autoupdater.config"))
                {
                    LogService.GlobalInfoMessage("开始自动更新");
                    #region check and download new version program
                    bool bHasError = false;
                    IAutoUpdater autoUpdater = new AutoUpdater();
                    try
                    {
                        autoUpdater.Update();
                    }
                    catch (WebException exp)
                    {
                        MessageBox.Show("客户端智能更新系统配置文件错误!\r\n" + exp.Message);
                        bHasError = true;
                    }
                    catch (XmlException exp)
                    {
                        bHasError = true;
                        MessageBox.Show("下载升级文件错误!\r\n" + exp.Message);
                    }
                    catch (NotSupportedException exp)
                    {
                        bHasError = true;
                        MessageBox.Show("升级地址配置错误!\r\n" + exp.Message);
                    }
                    catch (ArgumentException exp)
                    {
                        bHasError = true;
                        MessageBox.Show("下载升级文件错误!\r\n" + exp.Message);
                    }
                    catch (Exception exp)
                    {
                        bHasError = true;
                        MessageBox.Show("在升级过程中发生错误!\r\n" + exp.Message);
                    }
                    finally
                    {
                        if (bHasError == true)
                        {
                            try
                            {
                                autoUpdater.RollBack();
                            }
                            catch (Exception ex)
                            {
                                //Log the message to your file or database
                                MessageBox.Show("回滚失败!" + ex.Message);
                            }
                        }
                    }
                    #endregion

                    LogService.GlobalInfoMessage("开始自动完成");
                }
                try
                {

                    if (SkyComm.Init() == true)
                    {
                        string Classname = SkyComm.getvalue("ClassName");
                        if (string.IsNullOrEmpty(Classname))
                            Classname = "FrmMainAuto";

                        object Object = (object)Activator.CreateInstance(Type.GetType("AutoServiceManage." + Classname + ",AutoServiceManage"));
                        Application.Run(Object as Form);
                    }
                }
                catch (Exception ex)
                {
                    SkyComm.ShowMessageInfo(ex.Message);
                }
            }
            catch (Exception ex)
            {
                Skynet.Framework.Common.SkynetMessage.MsgInfo("打开失败:" + ex.Message);
            }
        }
예제 #24
0
        private void office1_Click(object sender, EventArgs e)
        {
            if (this.itemClick != null)
            {
                this.itemClick(true);
            }
            OfficeItem list    = sender as OfficeItem;
            string     oficeId = list.lblOfficeId.Text;
            string     ofice   = list.lblOffice.Text;

            try
            {
                string[] officename = SkyComm.getvalue("科室挂号开始时间").Split('|');
                for (int i = 0; i < officename.Length; i++)
                {
                    if (ofice == officename[i].Split('/')[0].ToString())
                    {
                        DateTime Hourset = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + officename[i].Split('/')[1].ToString());//拼接凑成正确时间格式
                        DateTime Hournow = new CommonFacade().GetServerDateTime();
                        if (Hournow < Hourset)
                        {
                            MyAlert frm1 = new MyAlert(AlertTypeenum.信息, "未到放号时间,暂时不能挂号!");
                            frm1.ShowDialog();
                            return;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MyAlert frm1 = new MyAlert(AlertTypeenum.信息, "科室挂号开始时间配置有误,请检查!");
                frm1.ShowDialog();
                return;
            }

            //douyaming 2016-05-05 CASE:24356
            if (ofice.Contains("妇") || ofice.Contains("产"))
            {
                if (SkyComm.eCardAuthorizationData.Tables[0].Rows.Count > 0 && SkyComm.eCardAuthorizationData.Tables[0].Rows[0]["SEX"].ToString() != "女")
                {
                    MyAlert frmAlter = new MyAlert(AlertTypeenum.信息, "当前性别【" + SkyComm.eCardAuthorizationData.Tables[0].Rows[0]["SEX"].ToString() + "】不能进行【" + ofice + "】就诊!");
                    frmAlter.ShowDialog();
                    return;
                }
            }
            //wangchao 2016.10.27 case:25866
            if (ofice.Contains("儿"))
            {
                if (SkyComm.eCardAuthorizationData.Tables[0].Rows.Count > 0 && SkyComm.eCardAuthorizationData.Tables[0].Rows[0]["AGEUNIT"].ToString().Contains("岁"))
                {
                    string ageString = SkyComm.eCardAuthorizationData.Tables[0].Rows[0]["AGE"].ToString().Trim();
                    if (ageString != "" && Convert.ToInt32(ageString) > 18)
                    {
                        MyAlert frmAlter = new MyAlert(AlertTypeenum.信息, "当前患者年龄超过18岁,不允许就诊【" + ofice + "】!");
                        frmAlter.ShowDialog();
                        return;
                    }
                }
            }

            string mOfficeMessage = "";

            mOfficeMessage = SkyComm.getvalue(oficeId);

            if (!string.IsNullOrEmpty(mOfficeMessage))
            {
                SkyComm.ShowMessageInfo(mOfficeMessage);
            }

            FrmDoctorChoose frm = new FrmDoctorChoose();

            frm.officeId = oficeId;
            frm.office   = ofice;
            frm.ShowDialog(this);
            frm.Dispose();
            if (this.itemClick != null)
            {
                this.itemClick(false);
            }
        }
예제 #25
0
        public void svaeCard(string type, decimal money, string payMethod, string hisSerialNo)
        {
            CardSavingFacade mCardSavingFacade = new CardSavingFacade();

            if (SkyComm.eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows.Count <= 0)
            {
                throw new Exception("没有找到要充值的卡信息,请拿微信交易单号去窗口办理充值!");
            }

            CardAuthorizationData mCardAuthorizationData = new CardAuthorizationData();

            CardAuthorizationFacade mCardAuthorizationFacade = new CardAuthorizationFacade();

            mCardAuthorizationData = (CardAuthorizationData)mCardAuthorizationFacade.SelectPatientAndCardInfoByCardID(SkyComm.cardInfoStruct.CardNo);

            mCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0].BeginEdit();
            //卡号
            mCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_CARDID] = SkyComm.cardInfoStruct.CardNo;
            //充值时间
            mCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_OPERATETIME] = new CommonFacade().GetServerDateTime();
            ////操作员
            mCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_OPERATOR] = SysOperatorInfo.OperatorID;
            ////充值类型
            mCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_SAVINGMODE] = 1;

            Skynet.LoggingService.LogService.GlobalInfoMessage("发卡保存数据设置押金之前");
            ////Add money
            if (type.Equals("办卡"))
            {
                Decimal deposit = Convert.ToDecimal(SkyComm.getvalue("发卡工本费"));
                mCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_ADDMONEY] = money - Convert.ToDecimal(SkyComm.dsCardType.Tables[0].Rows[0]["FEES"]) - deposit;
            }
            else
            {
                mCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_ADDMONEY] = money;  //此处需调接口
            }

            //业务类型
            mCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_BUSSNESSTYPE] = "充值";
            //支付方式
            mCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_MODETYPE] = payMethod;
            //单位
            mCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_UNIT] = "";
            //支票号
            mCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_CHECKLOT] = "";

            //银行流水号--T_CARD_SAVING.BANKTRANSNO统一保存T_BANKHISEXCHANGE_TRANS的主键HISSEQNO
            mCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_BANKTRANSNO] = hisSerialNo;

            //充值数据来源
            mCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_ADDMONEYSOURCE] = "自助机";

            mCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0].EndEdit();

            ReckonAccountTimeFacade reckonAccountsTimeFacade = new ReckonAccountTimeFacade();
            DateTime accountTime = reckonAccountsTimeFacade.GetEndTime(SysOperatorInfo.OperatorID, "门诊");

            if (Convert.ToDateTime(mCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_OPERATETIME]) < accountTime)
            {
                throw new Exception("该时间段已经结帐,不能办理预交金业务,请拿微信交易单号去窗口办理充值!");
            }

            DataSet cardSavingData = new DataSet();

            cardSavingData = mCardSavingFacade.insertEntity(mCardAuthorizationData);

            if (cardSavingData == null || cardSavingData.Tables[0].Rows.Count == 0)
            {
                throw new Exception("卡充值失败,请拿微信交易单号去窗口办理充值!");
            }
            PrintInfo("自助充值凭证", cardSavingData.Tables[0].Rows[0]["TRANSACTION_ID"].ToString(), money.ToString());
        }
예제 #26
0
        public DataSet GetRecipeInfo()
        {
            //查询未缴费的处方信息,如果未缴费的处方没有的,则不需要缴费
            ClinicPhysicianRecipeFacade clinicPhysicianRecipeFacade = new ClinicPhysicianRecipeFacade();
            DataSet dsRecipe = clinicPhysicianRecipeFacade.FindRecipeDetailByDiagnoseID(SkyComm.DiagnoseID);

            string Offices = SkyComm.getvalue("使用自助缴费的执行科室ID");

            if (!string.IsNullOrEmpty(Offices))
            {
                string[] arrOffice = Offices.Split(',');
                foreach (DataRow row in dsRecipe.Tables[0].Rows)
                {
                    if (row.RowState == DataRowState.Deleted)
                    {
                        continue;
                    }
                    if (!arrOffice.Contains(row["EXECOFFICEID"].ToString()))
                    {
                        row.Delete();
                    }
                }
                dsRecipe.AcceptChanges();
            }
            if (dsRecipe.Tables[0].Rows.Count == 0)
            {
                //SkyComm.ShowMessageInfo("没有需要缴费的处方信息!");
                return(null);
            }

            dsRecipe.Tables[0].Columns.Add("PRICECHANGE", typeof(decimal));  //单价
            dsRecipe.Tables[0].Columns.Add("AMOUNTCHANGE", typeof(decimal)); //数量
            dsRecipe.Tables[0].Columns.Add("UNITCHANGE", typeof(string));    //单位
            dsRecipe.Tables[0].Columns.Add("PITCHON1", typeof(bool));        //单位

            //dsRecipe.Tables[0].Columns["PITCHON"].DataType = typeof(System.Boolean);
            UnitToPack unitToPack = new UnitToPack();

            foreach (DataRow item in dsRecipe.Tables[0].Rows)
            {
                item["PITCHON1"] = Convert.ToBoolean(item["PITCHON"]);
                if (item["OUTPATIENTUNIT"].ToString().Trim() == "包装")
                {
                    item.BeginEdit();
                    int amount      = Convert.ToInt32(item["AMOUNT"]);
                    int changeratio = Convert.ToInt32(item["CHANGERATIO"]);
                    item["AMOUNTCHANGE"] = unitToPack.GetPackAmount(Convert.ToInt32(item["CHANGERATIO"]), Convert.ToInt32(item["AMOUNT"]));
                    item["UNITCHANGE"]   = item["PACK"];
                    item["PRICECHANGE"]  = Convert.ToDecimal(item["UNITPRICE"]) * changeratio;
                    item.EndEdit();
                }
                else
                {
                    item.BeginEdit();
                    item["PRICECHANGE"]  = item["UNITPRICE"];
                    item["AMOUNTCHANGE"] = item["AMOUNT"];
                    item["UNITCHANGE"]   = item["UNIT"];
                    item.EndEdit();
                }
            }
            return(dsRecipe);
        }
예제 #27
0
        public string ReadCard()
        {
            string port   = SkyComm.getvalue("读卡器Port");
            int    hadler = Init(Convert.ToInt32(port) - 1);

            if (hadler != 0)
            {
                MyMsg.MsgInfo("端口打开失败!");
                return(string.Empty);
            }

            try
            {
                int i = M100_DLL.IntakeCard(15000);
                if (i != 0)
                {
                    MyMsg.MsgInfo("进卡失败");
                    return(string.Empty);
                }

                //int cardState = 0;
                //while (cardState == 0)
                //{
                //    bool mes = CheckCardPosition();
                //    if (mes == true)
                //    {
                //        cardState = 1;
                //    }
                //}

                string        cardNo = string.Empty;
                StringBuilder sb     = new StringBuilder(1024);
                StringBuilder sb2    = new StringBuilder(1024);
                StringBuilder sb3    = new StringBuilder(1024);
                i = 1;
                try
                {
                    i = M100_DLL.ReadMagCard(sb, sb2, sb3);
                }
                catch (Exception ex)
                {
                    MyMsg.MsgInfo(ex.Message);
                }

                if (i != 0)
                {
                    MyMsg.MsgInfo("读取卡片信息失败");
                    cardNo = string.Empty;
                }
                else
                {
                    cardNo = sb2.ToString();
                }

                i = M100_DLL.Eject();
                if (i != 0)
                {
                    MyMsg.MsgInfo("退卡失败");
                    cardNo = string.Empty;
                }

                return(cardNo);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
예제 #28
0
        private void btnApliPay_Click(object sender, EventArgs e)
        {
            this.ucTime1.timer1.Stop();

            if (string.IsNullOrEmpty(SkyComm.cardInfoStruct.CardNo))
            {
                FrmMain frmM = new FrmMain();

                int intResult = SkyComm.ReadCard("支付宝预存");

                if (intResult == 0)
                {
                    this.ucTime1.timer1.Start();
                    return;
                }
            }

            //            FrmChooseMoney mChooseMoneyFrm = new FrmChooseMoney();
            FrmMoneyInput mChooseMoneyFrm = new FrmMoneyInput();

            if (mChooseMoneyFrm.ShowDialog() == DialogResult.OK)//确认了金额
            {
                //                decimal mChooseMoney = mChooseMoneyFrm.ChooseMoney;//所选金额
                string  mMoney       = mChooseMoneyFrm.inputMoney.ToString() + ".00";
                decimal mChooseMoney = Math.Round(Convert.ToDecimal(mMoney), 2);//所选金额

                if (!string.IsNullOrEmpty(SkyComm.getvalue("微信交易测试")))
                {
                    mChooseMoney = Math.Round(Convert.ToDecimal("0.01"), 2);//所选金额
                }

                FrmNetPay payFrm = new FrmNetPay();

                payFrm.PayMoney = mChooseMoney;

                payFrm.ServiceType = serviceType;

                payFrm.PayMethod = "2";//支付宝

                switch (CallType)
                {
                case 0:
                    payFrm.PayType = "充值";
                    break;

                case 1:
                    payFrm.PayType = "缴费";
                    break;

                case 2:
                    payFrm.PayType = "办卡";
                    break;

                default:
                    payFrm.PayType = "";
                    break;
                }

                DialogResult mDialogResult = payFrm.ShowDialog();

                if (mDialogResult == DialogResult.OK)
                {
                    Savingsucceed = 1;
                    RechargeMoney = mChooseMoney;
                    //                    SkyComm.ShowMessageInfo(payFrm.PayType + "成功!");

                    FrmRechargeSuccessful frmRecharge = new FrmRechargeSuccessful();
                    frmRecharge.RechargeMoney = mChooseMoney;
                    frmRecharge.ShowDialog(this);
                    frmRecharge.Dispose();
                }
                else
                {
                    this.ucTime1.timer1.Start();//计时器动
                }
            }
            else
            {
                this.ucTime1.timer1.Start();//计时器动
            }
        }
예제 #29
0
        private void FrmCardSavingMain_Load(object sender, EventArgs e)
        {
            string mechinNo = string.Empty;

            try
            {
                QuerySolutionFacade querySolutionFacade = new QuerySolutionFacade();
                DetailAccountFacade detailAccountFacade = new DetailAccountFacade();
                #region 获取ip
                string ipAddress = null;
                try
                {
                    string      hostName = Dns.GetHostName();
                    IPHostEntry ipEntry  = Dns.GetHostEntry(hostName);
                    for (int i = 0; i < ipEntry.AddressList.Length; i++)
                    {
                        if (ipEntry.AddressList[i].AddressFamily == AddressFamily.InterNetwork)
                        {
                            ipAddress = ipEntry.AddressList[i].ToString();
                        }
                    }
                }
                catch (Exception ex)
                {
                }

                #endregion
                #region 获取机器码
                string    sql1       = "select MACHINENO from T_AUTOSERVICEMACHINE_INFO where IPADDRESS = @IPADDRESS";
                Hashtable hashtable1 = new Hashtable();
                hashtable1.Add("@IPADDRESS", ipAddress);
                DataSet dataSet = querySolutionFacade.ExeQuery(sql1, hashtable1);

                if (dataSet.Tables[0].Rows.Count > 0)
                {
                    mechinNo = dataSet.Tables[0].Rows[0]["MACHINENO"].ToString();
                }
                #endregion



                #region 记录结算时间



                DataSet data = new DataSet();

                Hashtable hashtable = new Hashtable();

                string mSql = "select * from SETTLEMENT_RECORD where MECHINNO = @MECHINNO ";

                hashtable.Add("@MECHINNO", mechinNo);


                data = querySolutionFacade.ExeQuery(mSql, hashtable);
                if (data.Tables[0].Rows.Count > 0)
                {
                    if (data.Tables[0].Rows[0]["SETTLEMENT_TIME"].ToString().Equals(DateTime.Now.ToString("yyyy-MM-dd")))
                    {
                        this.lblCashStored.Enabled = false;
                    }
                    else
                    {
                        this.lblCashStored.Enabled = true;
                    }
                }
                else
                {
                    this.lblCashStored.Enabled = true;
                }
                #endregion
            }
            catch (Exception)
            {
                this.lblCashStored.Enabled = true;
            }

            //if (!string.IsNullOrEmpty(SkyComm.getvalue("禁用现金")))
            //{
            //    lblCashStored.Visible = false;
            //    btnWxPay.Location = new Point(142, 332);
            //}

            if (!string.IsNullOrEmpty(SkyComm.getvalue("禁用银行卡")))
            {
                lblBankCardStored.Visible = false;
            }

            if (!string.IsNullOrEmpty(SkyComm.getvalue("禁用微信")))
            {
                btnWxPay.Visible = false;
            }

            ucTime1.Sec = 60;
            ucTime1.timer1.Start();
        }
        private void lblCashStored_Click(object sender, EventArgs e)
        {
            btnEnd.Enabled = false;
            WaitDialogForm form = new WaitDialogForm("正在存钞中,请稍候...", "正在组织数据,请稍候......", new Size(240, 60));

            try
            {
                MoneyServer.NotAllowCashin();

                //拍照,纸币器
                switch (AutoHostConfig.ReadCardType)
                {
                case "XUHUI":
                    AutoServiceSDK.SdkService.Common_XH camera = new AutoServiceSDK.SdkService.Common_XH();
                    camera.TakeCameraEnd();
                    camera.DoorLightClose(LightTypeenum.纸币器);
                    break;

                default:
                    break;
                }

                timer2.Stop();
                timer1.Stop();

                #region 休眠3秒以后重新获取纸币金额
                Thread.Sleep(5000);
                Skynet.LoggingService.LogService.GlobalInfoMessage("在结束预存之后休眠2秒重新获取存钞明细");
                int InMoney = MoneyServer.GetInMoney(AutoHostConfig.Machineno, SysOperatorInfo.OperatorID);
                Skynet.LoggingService.LogService.GlobalInfoMessage("在结束预存之后重新获取存钞明细金额:" + InMoney);
                if (InMoney > 0)
                {
                    //投入数量
                    int intOld = Convert.ToInt32(lblAmount.Text) + 1;
                    lblAmount.Text = intOld.ToString();

                    //投入金额
                    RechargeMoney += Convert.ToDecimal(InMoney);
                    RechargeMoney  = DecimalRound.Round(RechargeMoney, 2);
                    lblMoney.Text  = RechargeMoney.ToString();
                }
                #endregion

                if (RechargeMoney == 0)
                {
                    btnClose_Click(null, null);
                    return;
                }

                lblNoPaymentCharge.Enabled = true;
                ucTime1.timer1.Stop();
                if (eCardSavingFacade == null)
                {
                    eCardSavingFacade = new CardSavingFacade();
                }
                if (eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows.Count <= 0)
                {
                    MyAlert frm = new MyAlert(AlertTypeenum.信息, "此操作没有找到所要充值的卡信息!");
                    frm.ShowDialog();
                    return;
                }
                eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0].BeginEdit();
                //卡号
                eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_CARDID] = SkyComm.cardInfoStruct.CardNo;
                //充值时间
                eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_OPERATETIME] = new CommonFacade().GetServerDateTime();
                ////操作员
                eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_OPERATOR] = SysOperatorInfo.OperatorID;
                ////充值类型
                eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_SAVINGMODE] = 1;
                ////Add money

                Skynet.LoggingService.LogService.GlobalInfoMessage("现金发卡保存数据设置押金之前");
                if (CallType == 2)
                {
                    Decimal deposit = Convert.ToDecimal(SkyComm.getvalue("发卡工本费"));
                    eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_ADDMONEY] = RechargeMoney - Convert.ToDecimal(SkyComm.dsCardType.Tables[0].Rows[0]["FEES"]) - deposit;
                }
                else
                {
                    eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_ADDMONEY] = RechargeMoney;
                }
                Skynet.LoggingService.LogService.GlobalInfoMessage("现金发卡保存数据设置押金之后");
                //业务类型
                eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_BUSSNESSTYPE] = "充值";
                //支付方式
                eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_MODETYPE] = SkyComm.AddMoneyCashMode;
                //单位
                eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_UNIT] = "";
                //支票号
                eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_CHECKLOT] = "";

                //充值数据来源
                eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_ADDMONEYSOURCE] = AutoHostConfig.BankName;

                eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0].EndEdit();

                ReckonAccountTimeFacade reckonAccountsTimeFacade = new ReckonAccountTimeFacade();
                DateTime accountTime = reckonAccountsTimeFacade.GetEndTime(SysOperatorInfo.OperatorID, "门诊");
                if (Convert.ToDateTime(eCardAuthorizationData.Tables["T_CARD_AUTHORIZATION"].Rows[0][CardAuthorizationData.T_CARD_AUTHORIZATION_OPERATETIME]) < accountTime)
                {
                    SkyComm.ShowMessageInfo("该时间段已经结帐,不能办理预交金业务,请重试!");
                    return;
                }

                DataSet cardSavingData = eCardSavingFacade.insertEntity(eCardAuthorizationData);
                SkyComm.GetCardBalance();
                Skynet.LoggingService.LogService.GlobalInfoMessage("充值成功,调用类型:" + CallType);
                Savingsucceed = 1;
                if (CallType != 2)
                {
                    //打印充值凭证
                    PrintInfo("自助充值凭证", cardSavingData.Tables[0].Rows[0]["TRANSACTION_ID"].ToString(), RechargeMoney.ToString());
                }
            }
            catch (Exception ex)
            {
                SkyComm.ShowMessageInfo("存钞失败:" + ex.Message);
                Skynet.LoggingService.LogService.GlobalInfoMessage("存钞失败:" + ex.Message);
            }
            finally
            {
                MoneyServer.ClosePort();
                form.Close();
                form.Dispose();

                btnEnd.Enabled = true;
            }

            Skynet.LoggingService.LogService.GlobalInfoMessage("充值成功,调用类型:" + CallType);
            if (CallType == 0)
            {
                FrmRechargeSuccessful frmRecharge = new FrmRechargeSuccessful();
                frmRecharge.RechargeMoney = RechargeMoney;
                frmRecharge.ShowDialog(this);
                frmRecharge.Dispose();
                SkyComm.CloseWin(this);
            }
            else if (CallType == 2)
            {
                SkyComm.CloseWin(this);
            }
            else
            {
                SkyComm.ShowMessageInfo("您成功充值" + RechargeMoney + "元!卡中余额" + SkyComm.cardBlance.ToString() + "");
                SkyComm.CloseWin(this);
            }
            //GetMoeny();
        }