办公自动化系统公文归档代码

80酷酷网    80kuku.com

  (由于长度限制,删除了部分代码)
'-----------------------------------------------------------------------------------------------------------------
'页面初始代码
'-----------------------------------------------------------------------------------------------------------------
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

If Not Page.IsPostBack Then
SqlConnection1.Open()

receivedeptid = Convert.ToString("dsgd1111ads")
userid = Convert.ToDouble("af00000sra")
username = Convert.ToString("1111").Trim
'--------------------------------------------------------------------------------
ddl_year.Items.Add(Convert.ToString(Today().Year - 2))
ddl_year.Items.Add(Convert.ToString(Today().Year - 1))
ddl_year.Items.Add(Convert.ToString(Today().Year))
ddl_year.Items.Add(Convert.ToString(Today().Year + 1))
ddl_year.SelectedIndex = -1
ddl_year.Items.FindByValue(Convert.ToString(Today().Year)).Selected = True
BINDGRID()
Btn_reg.Enabled = False
BindTree()
Else
Response.Write("<script language=javascript>function init(){document.Form1.page_pos.value = " + Request("page_pos") + "; window.scrollBy(0,document.Form1.page_pos.value); }var webSiteID = 6;window.onload=init;</script>")
End If
End Sub


'---------------------------------------------------------------------
'绑定公文表
'---------------------------------------------------------------------
Private Function BINDGRID()
receivedeptid = Convert.ToString("00550000")
Dim tpCnt As Integer
With New DocumentSystem()
tmpDPR = .getDocuArchiveInfo(receivedeptid, Convert.ToString(ddl_year.SelectedItem.Value), "WAIT")
End With
If tmpDPR.Tables(0).Rows.Count > 0 Then
'Btn_reg.Enabled = True
L_tips.Text = ""
tpCnt = tmpDPR.Tables(0).Rows.Count \ DG_DPR.PageSize
If tmpDPR.Tables(0).Rows.Count Mod DG_DPR.PageSize > 0 Then
tpCnt = tpCnt + 1
End If
If tpCnt < DG_DPR.PageCount Then
If DG_DPR.CurrentPageIndex > tpCnt - 1 Then
DG_DPR.CurrentPageIndex = tpCnt - 1
End If
End If
Else
Btn_reg.Enabled = False
L_tips.Visible = True
L_tips.Text = "现在没有要归档得公文!"
End If
DG_DPR.DataSource = tmpDPR
DG_DPR.DataBind()
If tmpDPR.Tables(DocuPublishRegData.DocuPublishReg_TABLE).Rows.Count = 0 Then
L_pagecount.Text = "共0页!"
IB_first.Visible = False
IB_PRE.Visible = False
IB_NEXT.Visible = False
IB_last.Visible = False
Label5.Visible = False
TB_pageno.Visible = False
Label7.Visible = False
IB_first.Enabled = False
IB_PRE.Enabled = False
IB_NEXT.Enabled = False
IB_last.Enabled = False
Else
IB_first.Visible = True
IB_PRE.Visible = True
IB_NEXT.Visible = True
IB_last.Visible = True
Label5.Visible = True
TB_pageno.Visible = True
Label7.Visible = True
IB_first.Enabled = True
IB_PRE.Enabled = True
IB_NEXT.Enabled = True
IB_last.Enabled = True
L_pagecount.Text = "第" + Convert.ToString(DG_DPR.CurrentPageIndex + 1) + "页!共" + Convert.ToString(DG_DPR.PageCount) + "页!"
If DG_DPR.CurrentPageIndex + 1 = DG_DPR.PageCount Then
IB_NEXT.Enabled = False
IB_last.Enabled = False
End If
If DG_DPR.CurrentPageIndex + 1 = 1 Then
IB_PRE.Enabled = False
IB_first.Enabled = False
End If
TB_pageno.Text = Convert.ToString(DG_DPR.CurrentPageIndex + 1)
End If
TB_archive.Text = ""
Ddl_Archive.SelectedIndex = -1
End Function


'----------------------------------------------------------------------------------------------------------------
'归档按钮点击触发事件
'----------------------------------------------------------------------------------------------------------------
Private Sub Btn_reg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_reg.Click

Dim i As Integer
Dim j As Integer

If Lb_archivevalue.Text = "" Or Lb_archivevalue.Text <> Convert.ToString(Ddl_Archive.SelectedItem.Value) Then '必须初始化对象?

Lb_archivename.Text = "归档不成功,请先选择档案库及案卷!!"
Lb_archivename.Visible = True
Else
Lb_archivename.Visible = False
If DG_DPR.Items.Count > 0 Then
Dim checkdocuselected As Boolean
checkdocuselected = False
For i = DG_DPR.Items.Count - 1 To 0 Step -1
Dim tmpDocuid As Double = Convert.ToDouble(DG_DPR.Items(i).Cells(4).Text)
Dim deptid As String = Trim(DG_DPR.Items(i).Cells(3).Text)
Dim myRemoveCmd As CheckBox = CType(DG_DPR.Items(i).FindControl("cb_dj"), CheckBox)
If myRemoveCmd.Checked Then
checkdocuselected = True
Dim data As DocumentsData
With New DocumentSystem()
data = .GetDocumentByDocuID(Convert.ToString(tmpDocuid))
End With

'将公文信息(除正文、附件)插入档案系统数据库
'---------------------------------------------
Dim aaa As String
Dim bbb As String
Dim wid
Dim b1 As String
Dim a1 As String
Dim a2 As String
Dim a3 As String
Dim a4 As String
Dim a5 As String
Dim a6 As String
Dim a7 As String
Dim a8 As String
Dim a9 As String
Dim a10 As String

b1 = Convert.ToString(Lb_filetablename.Text).Trim
a1 = Guid.NewGuid.ToString
a2 = Convert.ToString(Lb_archivevalue.Text).Trim
a3 = Convert.ToString(data.Tables(0).Rows(0).Item("docutt")).Trim
a4 = Convert.ToString(data.Tables(0).Rows(0).Item("keyword")).Trim
a5 = Convert.ToString(data.Tables(0).Rows(0).Item("docusigner")).Trim
a6 = Convert.ToString(data.Tables(0).Rows(0).Item("writedate")).Trim
a7 = Convert.ToString(data.Tables(0).Rows(0).Item("dispatchyear")).Trim
a8 = Convert.ToString(data.Tables(0).Rows(0).Item("dispatchdeptname")).Trim()
a9 = "正文"
a10 = Trim(DG_DPR.Items(i).Cells(1).Text)
SqlInsertCommand1.CommandText = "INSERT INTO " & b1 & _
" (guid,relations,subject,mainword,duteman,FileDate,Years,FileComeUnit,TextField,FileNum,flags)" & _
" values ('" & a1 & "','" & a2 & "','" & a3 & "','" & a4 & "','" & a5 & "','" & a6 & "','" & a7 & "','" & a8 & "','" & a9 & "','" & a10 & "',2)"

SqlConnection1.Open()
SqlInsertCommand1.ExecuteNonQuery()
SqlConnection1.Close()


'确定路径并判断文件夹是否存在
'--------------------------------------------------------
Dim address As String
Dim address1 As String
address = Lb_filetablename.Text
address1 = Convert.ToString(Session("file_save"))
address1 = address1 & address
If IO.Directory.Exists(address1) = False Then
IO.Directory.CreateDirectory(address1)
Else
End If

'输出公文正文
'-------------------------------------------------------
Dim byteData As Byte()
byteData = CType(data.Tables(0).Rows(0).Item("docucontent"), Byte())
Dim byteDataSize As Long = byteData.Length
Dim filename As String
filename = Convert.ToString(data.Tables(0).Rows(0).Item("docutitle")) & Convert.ToString(data.Tables(0).Rows(0).Item("FILETYPE"))
Dim fsDoc As FileStream
fsDoc = New FileStream(address1 & "\" & filename, FileMode.Create, FileAccess.Write)
fsDoc.Write(byteData, 0, byteDataSize)
fsDoc.Close()


'输出公文附件
'-------------------------------------------------------
Dim data1 As DOCUATTACHData
With New DocumentSystem()
data1 = .getDocuAttachByDocuid(Convert.ToString(tmpDocuid))
End With
Dim aid As String
If data1.Tables(0).Rows.Count > 0 Then
aid = Convert.ToString(data1.Tables(0).Rows(0).Item("aid"))
Dim tmpdocuattachData As DOCUATTACHData
With New DocumentSystem()
tmpdocuattachData = .getDocuAttachContentByAid(Convert.ToDouble(aid))
End With
If tmpdocuattachData.Tables(0).Rows.Count > 0 Then

Dim fname As String
For j = 0 To tmpdocuattachData.Tables(0).Rows.Count - 1
byteData = CType(tmpdocuattachData.Tables(0).Rows(j).Item("acontent"), Byte())
byteDataSize = byteData.Length
fname = address1 & "\" & Trim(Convert.ToString(tmpdocuattachData.Tables(0).Rows(j).Item("filename")))
fsDoc = New FileStream(fname, FileMode.Create, FileAccess.Write)
fsDoc.Write(byteData, 0, byteDataSize)
fsDoc.Close()
Next
End If
End If

'修改公文归档状态
'----------------------------------------------------------------------------------------------
Dim dacuphasedata As DocumentPhaseData
With New DocumentPhaseSystem()
dacuphasedata = .GetDocumentPhaseInfo(Convert.ToDouble(tmpDocuid), "WAIT", "DPGD")
End With
Dim phasedataid As DocumentPhaseData
With New DocumentPhaseSystem()
If dacuphasedata.Tables(0).Rows.Count > 0 Then
phasedataid = .GetPhaseBySequenceID(Convert.ToDouble(dacuphasedata.Tables(0).Rows(0).Item("sequenceid")))
phasedataid.Tables(0).Rows(0).Item(phasedataid.CurrentStatus_FIELD) = "OVER"
phasedataid.Tables(0).Rows(0).Item(phasedataid.HandlerID_FIELD) = Convert.ToDouble(Session("userid"))
phasedataid.Tables(0).Rows(0).Item(phasedataid.Handler_FIELD) = Convert.ToString(Session("username"))

' phasedataid.Tables(0).Rows(0).Item(phasedataid.CurrentStatus_FIELD) = "WAIT"
' phasedataid.Tables(0).Rows(0).Item(phasedataid.HandlerID_FIELD) = System.DBNull.Value 'Convert.ToDouble(Session("userid"))
' phasedataid.Tables(0).Rows(0).Item(phasedataid.Handler_FIELD) = System.DBNull.Value 'Convert.ToString(Session("username"))
End If
End With
Dim updata As Boolean
With New DocumentPhaseSystem()
updata = .updateDocumentPhase(phasedataid)
If updata = True Then
Lb_archivename.Text = "归档成功!"
Lb_archivename.Visible = True
End If
End With
End If
Next
If checkdocuselected = False Then
Lb_archivename.Text = "归档不成功,请先选择要归档的公文!"
Lb_archivename.Visible = True
End If

End If

End If
BINDGRID()
End Sub


'----------------------------------------------------------------------------------------------------------------
'绑定树结点
'----------------------------------------------------------------------------------------------------------------



'---------------------------------------------------------------------
'TreeView1触发事件
'---------------------------------------------------------------------
Private Sub TreeView1_SelectedIndexChange(ByVal sender As System.Object, ByVal e As Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs) Handles TreeView1.SelectedIndexChange
Btn_reg.Enabled = True
Lb_tablename.Text = Convert.ToString(TreeView1.GetNodeFromIndex(e.NewNode).NodeData).Trim
Dim aaa As String '参数“Length”必须大于或等于零!!!
aaa = Convert.ToString(Lb_tablename.Text).Trim
Dim bbb As Integer
bbb = aaa.Length()
If bbb >= 2 Then
Lb_filetablename.Text = "F_" & Right(aaa, bbb - 2)
Lb_filetablename.Text = Convert.ToString(Lb_filetablename.Text).Trim
Else
Lb_tablename.Text = ""
End If
Lb_archivename.Visible = False
bindarchive("", Convert.ToString(Lb_tablename.Text))
End Sub


'--------------------------------------------------------------------------------------------------------------------
'给Ddl_Archive下拉列表框绑定案卷数据
'--------------------------------------------------------------------------------------------------------------------
Private Function bindarchive(ByVal serch As String, ByVal tablename As String)
Ddl_Archive.Items.Clear()
Dim cataitem1 As New ListItem()
cataitem1.Text = ""
cataitem1.Value = ""
Ddl_Archive.Items.Add(cataitem1)
Ddl_Archive.SelectedIndex = -1
If tablename <> "" Then
Try
SqlDataAdapter1.SelectCommand.CommandText = " SELECT subject ,guid FROM " & tablename & " where subject like '%" & serch & "%' ORDER BY subject"
SqlDataAdapter1.Fill(DataSet11, "Sys_UserTable7")
If DataSet11.Tables("sys_userTable7").Rows.Count > 0 Then
Dim i As Integer
For i = 0 To DataSet11.Tables("Sys_UserTable7").Rows.Count - 1
Dim cataitem As New ListItem()
cataitem.Text = Convert.ToString(DataSet11.Tables("Sys_UserTable7").Rows(i).Item("subject"))
cataitem.Value = Convert.ToString(DataSet11.Tables("Sys_UserTable7").Rows(i).Item("guid"))
Ddl_Archive.Items.Add(cataitem)
Ddl_Archive.SelectedIndex = -1
Next
DataSet11.Tables("Sys_UserTable7").Clear()
End If
Catch
End Try
End If
End Function


'---------------------------------------------------------------------
'“查询案卷”按钮点击触发事件
'---------------------------------------------------------------------
Private Sub bt_archiveserch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_archiveserch.Click
bindarchive(Convert.ToString(TB_archive.Text).Trim, Convert.ToString(Lb_tablename.Text).Trim)
Lb_archivename.Visible = False
End Sub


'--------------------------------------------------------------------------------------------------------------------------
'(下拉列表框)案卷改变触发事件
'--------------------------------------------------------------------------------------------------------------------------
Private Sub Ddl_Archive_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Ddl_Archive.SelectedIndexChanged
Lb_archivevalue.Text = Convert.ToString(Ddl_Archive().SelectedItem().Value()).Trim
Lb_archivename.Visible = False
Btn_reg.Enabled = True
End Sub


'---------------------------------------------------------------------
'改变年份下拉列表框触发事件
'---------------------------------------------------------------------
Private Sub ddl_year_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ddl_year.SelectedIndexChanged
BINDGRID()
End Sub
End Class

End Namespace


分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: