服务端ReceivedMessage
'用OpenQQ实现网络环境下的编号
Dim msg As String = e.Message
If msg.StartsWith(":p") AndAlso msg.EndsWith("p:") Then
msg = msg.SubString(2, msg.Length - 4)
If flbhs.ContainsKey(msg) Then '如果存在这个月的编号
flbhs(msg) = flbhs(msg) + 1 '将该月最大编号加1
Else
flbhs.Add(msg, 1) '如果是这个月的首次编号,则编号等于1
End If
e.ReturnValue = flbhs(msg) '将编号返回给客户端
End If
入库的DataColChanged
If e.DataCol.Name = "入库日期" Then
If e.DataRow.IsNull("入库日期") Then
e.DataRow("入库单号") = Nothing
Else
If QQClient.Ready = False Then
PopMessage("通讯服务端未启动,无法生成编号!", "提示", PopIconEnum.Infomation, 5)
Else
Dim bh As String = Format(e.DataRow("入库日期"), "yyyyMM")
Dim rt As String = QQClient.SendWait(":p" & bh & "p:")
Dim id As Integer
If rt > "" Then
If Integer.TryParse(rt, id) Then
e.DataRow("入库单号") = "RK" & bh & "-" & Format(id, "000")
Else
PopMessage("通讯服务端返回错误信息:" & rt, "提示", PopIconEnum.Infomation, 5)
End If
Else
PopMessage("通讯服务端无响应,无法生成编号!", "提示", PopIconEnum.Infomation, 5)
End If
End If
End If
End If
采购计划DataColChanged
If e.DataCol.Name = "登记日期" Then
If e.DataRow.IsNull("登记日期") Then
e.DataRow("合同编号") = Nothing
Else
If QQClient.Ready = False Then
PopMessage("通讯服务端未启动,无法生成编号!", "提示", PopIconEnum.Infomation, 5)
Else
Dim bh As String = Format(e.DataRow("登记日期"), "yyyyMM")
Dim rt As String = QQClient.SendWait(":p" & bh & "p:")
Dim id As Integer
If rt > "" Then
If Integer.TryParse(rt, id) Then
e.DataRow("合同编号") = "CG" & bh & "-" & Format(id, "000")
Else
PopMessage("通讯服务端返回错误信息:" & rt, "提示", PopIconEnum.Infomation, 5)
End If
Else
PopMessage("通讯服务端无响应,无法生成编号!", "提示", PopIconEnum.Infomation, 5)
End If
End If
End If
End If
项目事件fterOpenProject
Dim dt As DataTable
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "Selec t Year(登记日期) As 年, Month(登记日期) As 月, Max(合同编号) as 合同编号 From {采购计划} Group By Year(登记日期), Month(登记日期)"
dt = cmd.ExecuteReader
flbhs.Clear()
For Each dr As DataRow In dt.DataRows
Dim qz As String = "采购计划_" & dr("年") & Format(dr("月"), "00") '编号前缀,4位年,2位月
Dim bh As String = dr("合同编号")
Dim id As Integer
If bh.Length = 12 Then
bh = bh.SubString(9)
If Integer.TryParse(bh, id) Then
flbhs.Add(qz, id)
End If
End If
Next
Dim rk As DataTable
cmd.CommandText = "Selec t Year(入库日期) As 年, Month(入库日期) As 月, Max(入库单号) as 入库单号 From {入库} Group By Year(入库日期), Month(入库日期)"
rk = cmd.ExecuteReader
flbhs.Clear()
For Each dr As DataRow In rk.DataRows
Dim qz As String = "入库_" & dr("年") & Format(dr("月"), "00") '编号前缀,4位年,2位月
Dim bh As String = dr("入库单号")
Dim id As Integer
If bh.Length = 12 Then
bh = bh.SubString(9)
If Integer.TryParse(bh, id) Then
flbhs.Add(qz, id)
End If
End If
Next
这样编号可以生成,入库的编号生成是接着采购计划的,入库的编号应该从1开始,请问老师要改哪里?