コード例 #1
0
        /// <summary>
        /// 生成一张箱单
        /// </summary>
        /// <param name="boxId">箱号</param>
        /// <returns></returns>
        public static void  CreatBoxOrder(HashSet <String> data, String Id)
        {
            OleDbConnection  connection  = GetConnection(AccessDbHelp.GetConnectString());
            OleDbTransaction transaction = connection.BeginTransaction();

            try
            {
                OleDbCommand cmd = new OleDbCommand();
                cmd.Connection  = connection;
                cmd.Transaction = transaction;
                String sqlBox = String.Format("INSERT INTO [Box] ([FGuid],[FStatus]) Values('{0}','{1}')", Id, BoxStatusNoUp);
                cmd.CommandText = sqlBox;
                cmd.ExecuteNonQuery();

                foreach (String bean in data)
                {
                    String sqlCase = String.Format("INSERT INTO [Case] ([FGuid],[FCapData],[FBoxId],[Captime]) Values('{0}','{1}','{2}','{3}')", Guid.NewGuid().ToString(), bean, Id, DateTime.Now.ToString());
                    cmd.CommandText = sqlCase;
                    cmd.ExecuteNonQuery();
                }
                transaction.Commit();
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                throw ex;
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }
        }
コード例 #2
0
        public static DataSet QueryNoUplaodBox()
        {
            OleDbConnection connection = GetConnection(AccessDbHelp.GetConnectString());

            try
            {
                DataSet          ds      = new DataSet();
                String           sql_box = String.Format("select [ID],[FGuid] from [Box] where [FStatus] = '{0}'", BoxStatusNoUp);
                OleDbDataAdapter da      = new OleDbDataAdapter(sql_box, connection);
                da.Fill(ds);
                return(ds);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// 上传一个箱号
        /// </summary>
        /// <param name="boxId">箱号</param>
        /// <returns></returns>
        public static String UpDataOne(String BoxNum)
        {
            QRBean           BoxNumber   = QRanalyze.QRDecod(BoxNum.Substring(BoxNum.Length - 35, 35));
            OleDbConnection  connection  = GetConnectionOne(AccessDbHelp.GetConnectString());
            OleDbTransaction transaction = connection.BeginTransaction();

            try
            {
                //找出最小未装箱的最小箱号
                OleDbCommand cmd = new OleDbCommand();
                cmd.Connection  = connection;
                cmd.Transaction = transaction;
                String sqlBox = String.Format("SELECT FGuid from BOX where ID = (select min(ID) from BOX Where FStatus = '{0}')", BoxStatusNoUp);
                cmd.CommandText = sqlBox;
                Object boxGuid = cmd.ExecuteScalar();
                String BoxGuid;
                if (boxGuid == null)
                {
                    throw new Exception("没有可以使用箱");
                }
                else
                {
                    BoxGuid = boxGuid.ToString();
                }

                //生成装箱上传数据
                DataSet          dataSet = new DataSet();
                String           sql_box = String.Format("select [FCapData] from [Case] where [FBoxId] = '{0}'", BoxGuid);
                OleDbDataAdapter da      = new OleDbDataAdapter(sql_box, connection);
                da.SelectCommand.Transaction = transaction;
                da.Fill(dataSet);

                UploadData uploadData = new UploadData();
                uploadData.tempDelId  = BaseData.TempId;
                uploadData.parentCode = BoxNumber;

                foreach (DataRow Row in dataSet.Tables[0].Rows)
                {
                    String msg = Row["FCapData"].ToString();
                    uploadData.childCodes.Add(QRanalyze.QRDecod(msg.Substring(msg.Length - 35, 35)));
                }

                RelationResult result = JsonConvert.DeserializeObject <RelationResult>(HttpRequest.UploadCapData(uploadData, Session.Id));
                //RelationResult result = new RelationResult();
                //result.success = true;
                if (result.success)
                {
                    String sqlUp = String.Format("Update [Box] set [FStatus] = '{0}',[FBoxNumber] = '{1}' where [FGuid]  = '{2}'", BoxStatusHaveUp, BoxNum, BoxGuid);
                    cmd.CommandText = sqlUp;
                    cmd.ExecuteNonQuery();
                }
                else
                {
                    throw new Exception(result.message);
                }
                transaction.Commit();
                return(BoxGuid);
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                throw ex;
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }
        }