📄 transactionno.bas
字号:
Attribute VB_Name = "TransactionNo"
'*******************************说明**************************************************************
'*此处所定义的函数主要是为了生成办件受理号 *
'*办件受理号生成:项目来源类型(1)+日期(8)+主机号(3)+件数(4) *
'*有时间可以把这些函数封装起来做DLL *
'*办件受理号例如:10305011660001,20305011660001,30305011660001 Total: 14 *
'*函数中使用了静态变量iniNumber,每办一件iniNumber = iniNumber + 1 *
'*函数输入参数无,函数输出参数类型:字符串 值:办件受理号 *
'*项目来源类型指出项目来源,在检索时有用 *
'*编写时间:2003-05-01 dww pm 15:10 *
'*更新时间:2003-07-27 dww pm 15:54 *
'*2003-08-03 dww am10:54进行修改,将受理号文本文件的路径全部换成新路径,其中新路径 *
'*在启动对象中定义过也即tempDirectory(当前路径+ShenPiRPX)就是APP.PATH+"\ShenPiRPX" *
'*************************************************************************************************
'===================================特别提示2003-09-12============================================
'现在要修改原受理号的定义:原受理号14位如:项目来源类型(1)+日期(8)+主机号(3)+件数(4),为了能更好标
'志对应受理号的单位,特加上两位标志位,通过标志位来标志该受理号的办件属于哪个单位,修改后的受理号
'形式如:项目来源类型(1)+日期(8)+(受理号标志位)2+主机号(3)+件数(4),这样通过受理号的编码即可看出它
'是那个单位的办件。并且在不同的机器上可以办多个单位的件,因为登陆后始终是要办件的单位代码,也就是
'受理号的标志位也就生成了。比如说物价局办件41010519004 1030912191660001 1030912191650001 1030912191640001
'现在就这样修改要修改的地方做特别提示但不删除2003-09-12 dww pm16:30
'===================================特别提示2003-09-12============================================
Public Function CreateTransactionNo(lastininumber As String, ItemSourceType As String, DepartmentFlag As String)
'================================================================================================
'生成办件受理号主函数
'办件受理号:项目来源类型(1)+日期(8)+主机号(3)+件数(4)如:10305011660001代表本单位项目
'五月一号收件操作计算机号是166的办件,计算机号的取得调用了模块SubNetMask中的GetComputerNo()函数
'2003-08-03 dww pm11:17
'================================================================================================
Dim mydate As String
Dim myYear As String
Dim myMonth As String
Dim myDay As String
Dim computerNo As String
Dim siniNumber As String
Static iniNumber As Integer
myYear = right(Year(Date), 2)
myMonth = Month(Date)
myDay = Day(Date)
'-----------------------------------------------------------
'注意此静态变量的设置否则会产生逻辑错误2003-10-9 dww pm17:20
iniNumber = 0
'-----------------------------------------------------------
If lastininumber <> "" Then
iniNumber = Val(right(lastininumber, 4))
End If
iniNumber = iniNumber + 1
'将件数进行转换不足4位前加零补足4位
If iniNumber < 10 Then
siniNumber = "000" + Trim(Str(iniNumber))
Else
If iniNumber < 100 Then
siniNumber = "00" + Trim(Str(iniNumber))
Else
If iniNumber < 1000 Then
siniNumber = "0" + Trim(Str(iniNumber))
Else
siniNumber = Trim(Str(iniNumber))
End If
End If
End If
'判断月份和日不足2位补足2位
If Val(myMonth) < 10 Then
myMonth = "0" + myMonth
End If
If Val(myDay) < 10 Then
myDay = "0" + myDay
End If
'判断计算机号不足3位补足3位,并将结果赋给函数
If Val(GetComputerNo()) < 10 Then
'--------------------------------------------------------------------------------------------------------------------
'在日期后加上单位标志01代表财政局,02代表房管局,03代表工商分局等等
CreateTransactionNo = ItemSourceType + myYear + myMonth + myDay + DepartmentFlag + "00" + GetComputerNo() + siniNumber
lastininumber = ItemSourceType + myYear + myMonth + myDay + DepartmentFlag + "00" + GetComputerNo() + siniNumber
Else
If Val(GetComputerNo()) < 100 Then
CreateTransactionNo = ItemSourceType + myYear + myMonth + myDay + DepartmentFlag + "0" + GetComputerNo() + siniNumber
lastininumber = ItemSourceType + myYear + myMonth + myDay + DepartmentFlag + "0" + GetComputerNo() + siniNumber
Else
CreateTransactionNo = ItemSourceType + myYear + myMonth + myDay + DepartmentFlag + GetComputerNo() + siniNumber
lastininumber = ItemSourceType + myYear + myMonth + myDay + DepartmentFlag + GetComputerNo() + siniNumber
End If
End If
End Function
Public Function SaveLastNumber(lastNumber As String)
'================================================================================================
'特别提示:该函数将保存办件操作最后一个处理号
'在文本文件中保存lastNumber
'2003-05-01 dww pm 16:51
'================================================================================================
If Dir(txtiniFileDirectory + "\TransactionLastNumber.txt", vbNormal) <> "" Then
Open txtiniFileDirectory + "\TransactionLastNumber.txt" For Append As #1
Write #1, lastNumber
Close #1
End If
End Function
Public Function GetLastNumber()
'================================================================================================
'特别提示:该函数将取出办件操作最后一个处理号
'需要将保存在文本文件中lastNumber取出来
'2003-05-01 dww pm 16:51
'================================================================================================
Dim lastNumber As String
If Dir(txtiniFileDirectory + "\TransactionLastNumber.txt", vbNormal) <> "" Then
Close #1
Open txtiniFileDirectory + "\TransactionLastNumber.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, lastNumber
Loop
End If
'----------------------------------------------------------------------------------------------
'取得上一个受理号,注意位数是否正确
GetLastNumber = Mid(lastNumber, 2, 16)
Close #1
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -