生成订单号

         // <summary>
        /// 生成订单号
        /// </summary>
        /// <returns></returns>
        public string GetSN()
        {
            string strDate = Fun.GetSN("yyyyMMdd");
            int sLength = strDate.Length + 1;//从第九位开始截六位
            string strSQL = "SELECT Max(Cast(SubString(OrderCode," + sLength + ",6) as Integer)) as MaxNo FROM TbOrder WHERE OrderCode like '" + strDate + "%' 

";
            string rts = Common.DBClass.ExecuteScalar(strSQL);
            int iNum = (!string.IsNullOrEmpty(rts)) ? Convert.ToInt32(rts) : 0;
            iNum = iNum + 1;
            string sDocNo = iNum.ToString().PadLeft(6, '0');
            sDocNo = strDate + sDocNo;
            return sDocNo;
        }


      #region 编号生成规则表查询
        /// <summary>
        /// 根据表名查询编号生成规则字段,并修改Rule_two.
        /// </summary>
        /// <param name="Tname">表名</param>
        /// <param name="u_no">修改人</param>
        /// <param name="length">生成编号的长度<param>
        /// <returns>生成的编号</returns>
        public string CreateNo(string Tname, string u_no, int length)
        {
            using (var _DataEntities = new ntasystemEntities())
            {
                _DataEntities.ContextOptions.ProxyCreationEnabled = false;
                m_code_rules mcr = _DataEntities.m_code_rules.FirstOrDefault(c => c.Table_name == Tname && c.made_dist != "D");
                if (mcr != null)
                {
                    string str = "";
                    for (int i = 0; i < length; i++)
                    {
                        str += "0";
                    }
                    mcr.Rule_two = (Convert.ToInt32(mcr.Rule_two) + 1).ToString(str);
                    mcr.update_time = DateTime.Now;
                    mcr.updater = u_no;
                    mcr.made_dist = "C";
                    if (_DataEntities.SaveChanges() > 0)
                    {
                        return (mcr.Rule_one + mcr.Rule_two).ToString();
                    }
                }
                return "";
            }
        }

  model.No = CreateNo("m_province", "", 2);

 

posted @ 2014-11-11 15:16  清空回声  阅读(270)  评论(0)    收藏  举报