乱写

    #region 申请开门
        /// <summary>
        /// 申请开门
        /// </summary>
        string sWebsRet = "";//二维码
        public BDCom PutinBdcom = new BDCom();
        //string sopenbox = "";
        private void button1_Click(object sender, EventArgs e)
        {
            string url = "https://192.168.1.101/httpOrg/create";
            Encoding encoding = Encoding.GetEncoding("utf-8");
            IDictionary<string, string> parameters = new Dictionary<string, string>();
            parameters.Add("code", "*****");
            parameters.Add("wcode", "*****");

            HttpWebResponse response = CreatePostHttpResponse(url, parameters, encoding);
            //打印返回值  
            Stream stream = response.GetResponseStream();   //获取响应的字符串流  
            StreamReader sr = new StreamReader(stream); //创建一个stream读取流  
            string html = sr.ReadToEnd();   //从头读到尾,放到字符串html  
            Console.WriteLine(html);
        }
        #endregion


        private HttpWebResponse CreatePostHttpResponse(string url, IDictionary<string, string> parameters, Encoding encoding)
        {
          
            try
            {
                HttpWebRequest request = null;
                //HTTPSQ请求  
                ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
                request = WebRequest.Create(url) as HttpWebRequest;
                request.ProtocolVersion = HttpVersion.Version10;
                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";
                request.UserAgent = DefaultUserAgent;
                //如果需要POST数据     
                if (!(parameters == null || parameters.Count == 0))
                {
                    StringBuilder buffer = new StringBuilder();
                    int i = 0;
                    foreach (string key in parameters.Keys)
                    {
                        if (i > 0)
                        {
                            buffer.AppendFormat("&{0}={1}", key, parameters[key]);
                        }
                        else
                        {
                            buffer.AppendFormat("{0}={1}", key, parameters[key]);
                        }
                        i++;
                    }
                    byte[] data = null; //charset.GetBytes(buffer.ToString());
                    using (Stream stream = request.GetRequestStream())
                    {
                        stream.Write(data, 0, data.Length);
                    }
                }
                return request.GetResponse() as HttpWebResponse;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return null;
            }

        }

        private bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
        {
            return true;//总是接受
        }

        #region 第二步查询空箱子
        /// <summary>
        /// 第二步查询空箱子
        /// </summary>
        /// <returns></returns>
        private int PutInboxCard(string strcode)
        {
            string sBoxNo = "";
            string strcardId = strcode;
            //////////////////////
            // 查询当前是否存物
            //////////////////////
            // 0. 查询存物记录
            //////////////////////
            string sThisBoxNoSql = " select OperTime, BoxNo from BoxInOut where OperID='" + strcardId + "' and OperType='1' and OperStatus='1' ";
            string sOperTime = ""; string sThisBoxNo = "";
            try
            {
                SQLiteDbHelper ScabHelper11 = new SQLiteDbHelper(TrhaConst.trhaSCAB);
                if (ScabHelper11.dbConnection.State == ConnectionState.Open)
                {
                    IDataReader sqReader = ScabHelper11.ExecuteQuery(sThisBoxNoSql);
                    while (sqReader.Read())
                    {
                        sOperTime = sqReader.GetString(sqReader.GetOrdinal("OperTime"));
                        sThisBoxNo = sqReader.GetString(sqReader.GetOrdinal("BoxNo"));
                        //MessageBox.Show("第一次"+sThisBoxNo);
                    }
                }
                if (ScabHelper11.dbConnection.State == ConnectionState.Open) ScabHelper11.CloseSqlConnection();
            }
            catch
            {
                return -1;
            }
            if (sThisBoxNo != "")
            {
                //lblSendMessage.Text = "您正在使用" + sThisBoxNo + "号箱。";
                TrhaConst.sPutinBoxNo = sThisBoxNo;
                //if (ScabHelper1.dbConnection.State == ConnectionState.Open) ScabHelper1.CloseSqlConnection();
                return 2;
            }
            //////////////////////
            // 随机选取一个柜箱
            //////////////////////
            // 1. 获取当前空箱总数
            //////////////////////
            string sBoxNoSql = " select count(*) iBoxNoCnt from ScabBox where BoxStatus='0' ";
            int iBoxNoCnt = 0;
            try
            {
                SQLiteDbHelper ScabHelper2 = new SQLiteDbHelper(TrhaConst.trhaSCAB);
                if (ScabHelper2.dbConnection.State == ConnectionState.Open)
                {
                    IDataReader sqReader = ScabHelper2.ExecuteQuery(sBoxNoSql);
                    while (sqReader.Read())
                    {
                        iBoxNoCnt = sqReader.GetInt32(sqReader.GetOrdinal("iBoxNoCnt"));
                    }
                }
                if (ScabHelper2.dbConnection.State == ConnectionState.Open) ScabHelper2.CloseSqlConnection();
            }
            catch
            {
                return -1;
            }
            if (iBoxNoCnt == 0)
            {
                //MessageBox.Show("所有箱门已存物,请您稍候!");
                return 3;
            }
            /////////////////////////
            // 2. 随机选择一个空箱
            /////////////////////////
            int iRandomBoxNo = TrhaConst.GetRandom(0, iBoxNoCnt);
            sBoxNoSql = " select BoxNo from ScabBox where BoxStatus='0' ";
            try
            {
                SQLiteDbHelper ScabHelper3 = new SQLiteDbHelper(TrhaConst.trhaSCAB);
                if (ScabHelper3.dbConnection.State == ConnectionState.Open)
                {
                    IDataReader sqReader = ScabHelper3.ExecuteQuery(sBoxNoSql);
                    int BoxNoIdx = 0;
                    while (sqReader.Read())
                    {
                        sBoxNo = sqReader.GetString(sqReader.GetOrdinal("BoxNo"));
                        if (BoxNoIdx == iRandomBoxNo) { break; }
                        BoxNoIdx++;
                    }
                }
                if (ScabHelper3.dbConnection.State == ConnectionState.Open) ScabHelper3.CloseSqlConnection();
            }
            catch
            {
                //MessageBox.Show("本地数据库访问失败,请联系技术服务人员!");

                return -1;
            }
            if (sBoxNo == "")
            {
                //MessageBox.Show("获取空箱号失败,请联系技术服务人员!");

                return -1;
            }

            int iCabinComm = 0;
            SQLiteDbHelper ScabHelper4 = new SQLiteDbHelper(TrhaConst.trhaSCAB);
            try
            {
                if (ScabHelper4.dbConnection.State == ConnectionState.Open)
                {
                    IDataReader sqReader = ScabHelper4.ReadFullTable("BarComm");
                    while (sqReader.Read())
                    {
                        iCabinComm = Convert.ToInt32(sqReader.GetString(sqReader.GetOrdinal("CabinComm")));
                    }
                    sqReader.Close();
                }
                if (ScabHelper4.dbConnection.State == ConnectionState.Open) ScabHelper4.CloseSqlConnection();
            }
            catch
            {
                //MessageBox.Show("本地数据库访问失败,请联系技术服务人员!");

                return -1;
            }

            if (iCabinComm == 0)
            {
                //MessageBox.Show("本地数据库访问失败,请联系技术服务人员!");
                return -1;
            }

            TrhaConst.iCabinComm = iCabinComm;  // 柜箱使用串口号
            TrhaConst.sPutinBoxNo = sBoxNo;     // 使用柜箱号           
            return 4;
        }
        #endregion

        #region  第三步zhj-2018-12-30写进数据库存记录     
        /// <summary>
        /// 写进数据库存记录
        /// </summary>
        /// <returns></returns>
        private int WriteBoxInOut()
        {
            int retwbi = 0;
            //"OperTime"操作时间, "OperDate"操作日期, "OperType"1存0取, "OperStatus"操作状态, "BoxNo"箱号, "OperID"使用人, "RecStatus" 记录状态上传服务器0是未上传1是已上传, 
            //zhj-2019-01-03新增"OutBoxTime"取物时间, "CardId"证件号码, "UserName"姓名,InOutStatus:取物有效状态:永久有效,取后失效(存的时候是取后失效,登记存入的时候,永久有效)
            //OperTime"操作时间, "OperDate"操作日期, "OperType"1存0, "OperStatus"操作状态, "BoxNo"箱号, "OperID"使用人, "RecStatus"记录上传状态, "CourtID"法院ID, "UserName"姓名, "CardId"身份证号, "LawyerCard"律师号码, "Purpose"采访事由, "Mobile"手机号
            string[] colItems = { "OperTime", "OperDate", "OperType", "OperStatus", "BoxNo", "OperID", "RecStatus", "CourtID", "UserName", "CardId", "LawyerCard", "Purpose", "Mobile" };
            string[] valueItems = new string[13];

            System.DateTime currentTime = new System.DateTime();
            currentTime = System.DateTime.Now;
            valueItems[0] = currentTime.ToString("yyyy-MM-dd HH:mm:ss"); valueItems[1] = currentTime.ToString("yyyy-MM-dd"); valueItems[2] = "1"; valueItems[3] = "1";
            //valueItems[4] = TrhaConst.sPutinBoxNo; valueItems[5] = sOperID; valueItems[6] = "0";
            //valueItems[7] = sCourtID; valueItems[8] = sUserName; valueItems[9] = sCardId;
            //valueItems[10] = sLawyerCard; valueItems[11] = sPurpose; valueItems[12] = sMobile;
            string[] sPutinSqls = new string[2];
            try
            {
                SQLiteDbHelper ScabHelper1 = new SQLiteDbHelper(TrhaConst.trhaSCAB);
                if (ScabHelper1.dbConnection.State == ConnectionState.Open)
                {
                    //更新柜子的状态是1为占用状态,
                    sPutinSqls[0] = " update ScabBox set BoxStatus='1',";
                    sPutinSqls[0] = sPutinSqls[0] + "OperID='" + valueItems[5] + "',";//使用人
                    sPutinSqls[0] = sPutinSqls[0] + "OperDate='" + valueItems[1] + "',";//操作日期
                    sPutinSqls[0] = sPutinSqls[0] + "OperTime='" + valueItems[0] + "',";//操作时间
                    sPutinSqls[0] = sPutinSqls[0] + "OperDesc='存入' ";
                    sPutinSqls[0] = sPutinSqls[0] + "where BoxNo='" + valueItems[4] + "' ";
                    sPutinSqls[1] = " insert into BoxInOut (" + colItems[0];
                    for (int ii = 1; ii < colItems.Length; ++ii)
                    {
                        sPutinSqls[1] += ", " + colItems[ii];
                    }
                    sPutinSqls[1] += ") values('";
                    sPutinSqls[1] += valueItems[0];
                    for (int ii = 1; ii < valueItems.Length; ++ii)
                    {
                        sPutinSqls[1] += "', '" + valueItems[ii];
                    }
                    sPutinSqls[1] += "') ";

                    bool bTransExe = ScabHelper1.ExecuteTrans(sPutinSqls);
                    if (bTransExe)
                    {
                        retwbi = 1;
                    }
                    else
                    {
                        retwbi = -1;
                    }
                }
                if (ScabHelper1.dbConnection.State == ConnectionState.Open) ScabHelper1.CloseSqlConnection();
            }
            catch
            {
                retwbi = -1;
            }

            return retwbi;
        }
        #endregion
        private void button2_Click(object sender, EventArgs e)
        {
            string[] sboxinoutrecs = new string[1];
            sboxinoutrecs[0] = "1ww";

            string[] sArrBoxInOut = new string[0];

            Thread sendThread1 = new Thread(send);
            sendThread1.Start(sboxinoutrecs);

        }

        private void send(object sboxrecs)
        {
            //string IP = "localhost";
            string IP = "10.80.16.38";
            string sServerPort = "8081";
            string swebsurl = "http://" + IP + ":" + sServerPort + "/phyServer/services/ImportDataService?wsdl"; //wsdl地址  
            string swebsname = "webServN";
            TrhaConst.wsdScab = new WebServiceProxy(swebsurl, swebsname);
            string[] sboxinoutrecs = (string[])sboxrecs;

            string funname = "interfaceTest";
            try
            {
                sWebsRet = (string)TrhaConst.wsdScab.ExecuteQuery(funname, sboxinoutrecs);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
        }
View Code

 

posted on 2019-02-18 16:35  冰魂雪魄  阅读(267)  评论(0编辑  收藏  举报

WPF框架交流群:C#.net. WPF.core 技术交流�      C#WPF技术交流群:C#.net. WPF.core 技术交流�     WPF技术大牛交流群:C#.net. WPF.core 技术交流�