-- 作者:cnsjroom
-- 发布时间:2022/5/7 13:15:00
-- 怎么根据会议议题表开始与结束状态来判断 当前所有议题都已经完成 然后更改会议状态表中的会议状态为true
怎么根据会议议题表开始与结束状态来判断 当前所有议题都已经完成 然后更改会议状态表中的会议状态为true
会议议题有 开始状态 结束状态 uuid 主题uuid(主题uuid是会议状态中的UUID值)等字段
会议状态有 会议状态 uuid 等字段
假定当前已经选择了会议议题中的某行 同步vars(“主题UUID”) vars(“议题UUID”) vars(“议题标题”)均正常赋值
下述代码依次运行之后,会在议题数据还没有全部完成的时候就更改了会议状态为true 麻烦老师帮忙看看 谢谢
开始议题按钮代码:【先判断议题uuid 的开始与结束状态 开始与结束都为false时 可开始议题 开始等于true 结束等于false 则可结束议题】
Dim cmd As New SQ LCommand cmd.Conne cti Dim dt As DataTable cmd.Com mandText = "SEL ECT * Fr om 会议议题" dt = cmd.ExecuteReader(True)
Dim bb As DataRow = dt.Find("开始状态=true and 结束状态 = false and uuid=\'" & vars("议题uuid") & "\'") If bb IsNot Nothing Then e.Cancel=True MessageBox.Show(bb("议题标题") & "在开始状态,且尚未结束的,请先结束再开始","提示!") Else If Tables(e.form.name & "_table1").Current("uuid")<>"" Then Tables(e.form.name & "_table1").Current("开始状态")=True dt.dataCols("开始时间").SetDateTimeFormat(DateTimeFormatEnum.DateLongTime) Tables(e.form.name & "_table1").Current("开始时间")=Date.now Tables(e.form.name & "_table1").Current.Save End If End If
结束议题代码::【先判断议题uuid 的开始与结束状态 开始与结束都为false时 可开始议题 开始等于true 结束等于false 则可结束议题】
Dim cmd As New SQLCommand cmd.Connection Name = "无纸化会议" Dim dt As DataTable cmd.Com mandText = "SELE CT * Fro m 会议议题" dt = cmd.ExecuteReader(True)
Dim bb As DataRow = dt.Find("开始状态=false and 结束状态 = false and uuid=\'" & vars("议题uuid") & "\'and 议题标题=\'" & vars("议题标题") & "\'") If bb IsNot Nothing Then e.Cancel=True MessageBox.Show(bb("议题标题") & "尚未开始,无须结束的,请核对!","提示!") Else Dim bb1 As DataRow = dt.Find("开始状态=true and 结束状态 = false and uuid=\'" & vars("议题uuid") & "\'and 议题标题=\'" & vars("议题标题") & "\'") If bb1 IsNot Nothing Then bb1("结束状态")=True dt.dataCols("结束时间").SetDateTimeFormat(DateTimeFormatEnum.DateLongTime) bb1("结束时间")=Date.now bb1.Save End If Functions.Execute("议题开始不等于结束=0则更改会议状态为true",vars("主题uuid")) End If
议题开始不等于结束=0则更改会议状态为true 内部函数代码如下:
Dim 主题uuid As String = Args(0)
Dim cmd As New SQL Command cmd.Connecti cmd.Comman dText = "SEL ECT Count(*) Fr om 会议议题 where 主题uuid=\'" & 主题uuid & "\'and 开始状态 <> 结束状态" \' "
\'判断会议议题有多少符合开始状态为true数据的行\' If cmd.ExecuteScalar = 0 Then cmd.CommandText = "UPD ATE 会议状态 SET 会议状态 = \'true\' where uuid=\'" & 主题uuid & "\'" cmd.ExecuteNonQuery() End If
|