安徽十一选五开奖:XAF如何生成单据编号

作者:网络 来源:佚名 更新时间:2009-06-19 11:04:01 点击:

安徽25选5直播 www.by7yj.cn   expressapp framework (以下简称xaf)是devexpress公司开发的一套基于.net平台的o/r m快速开发应用架构,其特点是可以快速的开发出基于web和winform的数据库应用程序,在xaf的实际应用开发过程中,我们难免要实现单据编号的自动生成和管理,传统的很多应用系统都是利用存储过程来实现这一目的的,我们知道xaf的是用xpo来和数据库存储系统交互的,有没有办法不用存储过程而直接用xpo来生成和管理应用系统的单据编号呢?答案是肯定的,下面就把这个实现的实体类和相应的实现函数共享出来,给大家参考.

  1.单据编号设定实体类

  imports system

  imports system.componentmodel

  imports devexpress.xpo

  imports devexpress.expressapp

  imports devexpress.persistent.base

  imports devexpress.persistent.baseimpl

  imports devexpress.persistent.validation

   _

   _

  public class b_billcodeprex

  inherits baseobject

  public sub new(byval session as session)

  mybase.new(session)

  end sub

  private ftbname as string

   _

   _

  public property tbname() as string

  get

  return ftbname

  end get

  set(byval value as string)

  setpropertyvalue("tbname", ftbname, value)

  end set

  end property

  private ftbcaption as string

   _

   _

  public property tbcaption() as string

  get

  return ftbcaption

  end get

  set(byval value as string)

  setpropertyvalue("tbcaption", ftbcaption, value)

  end set

  end property

|||

  private fprex as string

   _

  public property prex() as string

  get

  return fprex

  end get

  set(byval value as string)

  setpropertyvalue("prex", fprex, value)

  end set

  end property

  private flenth as integer = 5

   _

  public property lenth() as integer

  get

  return flenth

  end get

  set(byval value as integer)

  setpropertyvalue("lenth", flenth, value)

  end set

  end property

  private finterval as string = "-"

   _

  public property interval() as string

  get

  return finterval

  end get

  set(byval value as string)

  setpropertyvalue("interval", finterval, value)

  end set

  end property

  public enum eprex

  无

  年

  年月

  年月日

  end enum

|||

  private fdprex as eprex

   _

  public property dprex() as eprex

  get

  return fdprex

  end get

  set(byval value as eprex)

  setpropertyvalue("dprex", fdprex, value)

  end set

  end property

  end class

  2.单据编号生成函数

  生成单据编号函数

  1    public function updatebillcode()function updatebillcode(byval fbcode as string, byval bo as object)

  2    dim billcodeprex as b_billcodeprex = session.findobject(of b_billcodeprex)(new binaryoperator("tbname", bo.gettype.name))

  3    if billcodeprex isnot nothing then

  4    if billcodeprex.tbname isnot nothing then

  5    if bo.gettype.name = billcodeprex.tbname.trim then

  6    dim bb as string = ""

  7    dim pre as string = ""

  8    if billcodeprex.interval is nothing then

  9    bb = ""

  10    else

  11    bb = billcodeprex.interval.trim

  12    end if

  13    if not billcodeprex.prex.trim = nothing then

  14    pre = billcodeprex.prex.toupper.trim & bb

  15    else

  16    pre = ""

  17    end if

  18    dim cc as string = ""

  19    if not billcodeprex.dprex = nothing then

  20    select case billcodeprex.dprex

  21    case b_billcodeprex.eprex.年

  22    cc = format(now.year, "00").tostring & bb

  23    case b_billcodeprex.eprex.年月

  24    cc = format(now.year, "00").tostring & bb & format(now.month, "00").tostring & bb

  25    case b_billcodeprex.eprex.年月日

  26    cc = format(now.year, "00").tostring & bb & format(now.month, "00").tostring & bb & format(now.day, "00").tostring & bb

  27    case b_billcodeprex.eprex.无

  28    cc = ""

  29    end select

  30    else

  31    cc = ""

  32    end if

  33    dim flowlenth as integer = 4

  34    dim aa as string = ""

  35    if billcodeprex.lenth > 0 then

  36    flowlenth = billcodeprex.lenth

  37    end if

  38    for i = 1 to flowlenth step 1

  39    aa &= "0"

  40    next

  41    fbcode = pre & cc & format(distributedidgeneratorhelper.generate(bo.session.datalayer, bo.[gettype]().fullname, cc), aa)

  42    else

  43    fbcode = format(distributedidgeneratorhelper.generate(bo.session.datalayer, bo.[gettype]().fullname, "erp"), "00000000")

  44    end if

  45    else

  46    fbcode = format(distributedidgeneratorhelper.generate(bo.session.datalayer, bo.[gettype]().fullname, "erp"), "00000000")

  47    end if

  48    else

  49    fbcode = format(distributedidgeneratorhelper.generate(bo.session.datalayer, bo.[gettype]().fullname, "erp"), "00000000")

  50

  51    end if

  52    return fbcode

  53    end function

  54

  3.调用方法代码

  调用方法代码

  1    public overloads overrides sub afterconstruction()sub afterconstruction()

  2    mybase.afterconstruction()

  3    fbillcode = updatebillcode(fbillcode, me)

  4    bkbillcode = fbillcode

  5

  6    end sub

  7   private fbillcode as string

  8   

  9    _

  10    public property billcode()property billcode() as string

  11    get

  12    return fbillcode

  13    end get

  14    set(byval value as string)

  15    setpropertyvalue("billcode", fbillcode, value)

  16    end set

  17    end property

  • 当蔚来照进现实 场地初试蔚来ES8 2019-06-25
  • 清明五一假期将至 韩国酒店为迎中国游客各出奇招 2019-06-24
  • 社会主义社会按劳分配是建立在公有制和私有制并存基础上的,共产主义社会按需分配是建立在公有制基础上的,所有制基础不同,其分配形式也就不同。所谓“共产主义... 2019-06-24
  • 编造传播虚假信息 “曹山石”被证监会处罚20万元 2019-06-23
  • 【新时代 新作为 新篇章】创新突破封锁线 2019-06-23
  • 90岁老夫妇也玩王者荣耀真人cosplay? 2019-06-23
  • 新疆举办高考招生咨询会 2019-06-23
  • 在强国论坛和新浪微博上也就说了几句国产80后伟大的钢琴家,嚯!粉丝不干了,邮箱里塞满男性女性生殖器的骂声和愤慨声。其实,真没有诋毁的意思。比如,美国一家男性内衣 2019-06-22
  • 共产党新闻网—资料中心—中国共产党重要会议 2019-06-22
  • “个十百千万”打造5G之城 “五横七纵”共筑产业联盟 2019-06-21
  • 倒着走能治腰颈椎痛?假的! 2019-06-21
  • 拥有大智慧的中国古人就把“子”和“女”结合在一体,造出一个会意字“好”字。一直就用这个“好”的感觉结果去衡量其它任何生存环境中的万物万事所给人的感觉。 2019-06-20
  • “ONE NIGHT 给小孩”北京站探访 周迅刘雯共奏可爱“交响曲” 2019-06-20
  • 人民网舆情分析专家:陈丽 2019-06-20
  • 图画书《一只特立独行的猪》用布艺风格讲故事 2019-06-19
  • 六合彩第43期开奖结果 快乐8登录平台 体彩陕西11选5开奖查询结果 吉林快3历史记录查询 彩客网首页 天津十一选五走势 湖南彩票源码定制多少钱 公式规律百度吧 迷彩彩票软件 七星彩走势图(综合版) 查一下河北十一选五的开奖公告 河南快赢481开奖助手 网球比分直播吧 白小姐开奖 安徽11选5前3直走势图