以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]逻辑判断  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122859)

--  作者:天一生水
--  发布时间:2018/8/3 10:10:00
--  [求助]逻辑判断

根据[庭审笔录被告出庭]的值进行逻辑判断,为逻辑列赋值。
前面的确定了,后面的不再作判断,依次判断规则:


1、法定代表人如果到庭,勾选[负责人]、[正职];将法定代表人的姓名和职务填入[负责人姓名职务];
    如果法定代表人没到庭,那么:
2、负责人如果到庭,勾选[负责人]、[副职];将负责人的姓名和职务填入[负责人姓名职务];
    如果负责人没到庭,那么:
3、先判断委托代理人是否是本机关人员,再判断是否下级工作人员,最后判断是否律师。
4、都没有的勾选[无人出庭应诉]。

请老师指教!

谢谢!

 
此主题相关图片如下:image 1.jpg
按此在新窗口浏览图片

 

If e.DataCol.Name = "庭审笔录被告出庭" Then    \'空格
    Dim s As String = e.DataRow("庭审笔录被告出庭")
    Dim ss() As String = s.Split(vbcrlf)
    For i As Integer = 0 To ss.Length - 1
        If ss(i).Contains("法定代表人") AndAlso ss(i).Contains("未到庭") Then
            e.DataRow("出庭情况_负责人") = False
            e.DataRow("出庭情况_正职") = False
            e.DataRow("出庭情况_负责人姓名职务") =  ""
        ElseIf ss(i).Contains("法定代表人") AndAlso ss(i).Contains("到庭") Then
            e.DataRow("出庭情况_负责人") = True
            e.DataRow("出庭情况_正职") = True
            e.DataRow("出庭情况_负责人姓名职务") =  ss(i).Replace("法定代表人", "").Replace("。", "")
        End If
       
        If ss(i).Contains("负责人") AndAlso ss(i).Contains("副") AndAlso ss(i).Contains("未到庭") Then
            e.DataRow("出庭情况_负责人") = False
            e.DataRow("出庭情况_副职") = False
            e.DataRow("出庭情况_负责人姓名职务") =  ""
        ElseIf ss(i).Contains("负责人") AndAlso ss(i).Contains("副") AndAlso ss(i).Contains("到庭") Then
            e.DataRow("出庭情况_负责人") = True
            e.DataRow("出庭情况_正职") = True
            e.DataRow("出庭情况_负责人姓名职务") =  ss(i).Replace("单位负责人", "").Replace("负责人", "").Replace("。", "")
        End If
       
        If ss(i).Contains("代理人") Or ss(i).Contains(e.DataRow("被告")) Or ss(i).Contains(e.DataRow("原审被告")) AndAlso ss(i).Contains("到庭") Then
            e.DataRow("出庭情况_本机关工作人员") = True
        Else
            If s.Contains("代表人") =False AndAlso s.Contains("负责人") =False AndAlso s.Contains("工作人员") =False  AndAlso ss(i).Contains("律师") AndAlso ss(i).Contains("到庭") Then
                e.DataRow("出庭情况_仅委托律师") = True
            End If
        End If
    Next
End If



--  作者:有点甜
--  发布时间:2018/8/3 10:47:00
--  

写成一个If判断

 

If 条件1 then

 

ElseIf 条件2 then

 

ElseIf 条件3 then

 

End If

 


--  作者:天一生水
--  发布时间:2018/8/3 15:55:00
--  

写的代码达不到效果,老师有时间给看看吧。

谢谢!

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试负责人出庭逻辑列.foxdb


--  作者:有点甜
--  发布时间:2018/8/3 17:52:00
--  

参考

 

\'\'\'

If e.DataCol.Name = "庭审笔录被告出庭" Then    \'空格
    Dim s As String = e.DataRow("庭审笔录被告出庭")
    Dim ss() As String = s.Split(vbcrlf)
    Dim level As Integer = 999
    For i As Integer = 0 To ss.Length - 1
        If ss(i).Contains("法定代表人") AndAlso ss(i).Contains("未到庭") Then
            e.DataRow("出庭情况_负责人") = False
            e.DataRow("出庭情况_正职") = False
        ElseIf ss(i).Contains("法定代表人") AndAlso ss(i).Contains("到庭") Then
            e.DataRow("出庭情况_负责人") = True
            e.DataRow("出庭情况_正职") = True
            If level > 1 Then
                e.DataRow("出庭情况_负责人姓名职务") =  ss(i).Replace("法定代表人", "").Replace("。", "")
                level = 1
            End If
        End If
       
        If ss(i).Contains("负责人") AndAlso ss(i).Contains("副") AndAlso ss(i).Contains("未到庭") Then
            e.DataRow("出庭情况_负责人") = False
            e.DataRow("出庭情况_副职") = False
        ElseIf ss(i).Contains("负责人") AndAlso ss(i).Contains("副") AndAlso ss(i).Contains("到庭") Then
            e.DataRow("出庭情况_负责人") = True
            e.DataRow("出庭情况_副职") = True
            If level > 2 Then
                e.DataRow("出庭情况_负责人姓名职务") =  ss(i).Replace("单位负责人", "").Replace("负责人", "").Replace("。", "")
                level = 2
            End If
        End If
       
    Next
End If


--  作者:天一生水
--  发布时间:2018/8/7 15:26:00
--  

 

逻辑列都为空的时候,勾选"出庭情况_无人出庭应诉",出错。

这段DataColChanged中代码是不是与里面用黑点标注的两句代码冲突了,是不是循环引用了。

请老师帮忙看一下。

谢谢!


If  e.DataRow("出庭情况_负责人姓名职务") = "" Then                   \'无人出庭应诉
    If  e.DataRow("出庭情况_本机关工作人员") = False Then       
        If e.DataRow("出庭情况_仅下级机关工作部门人员和律师") = False Then
            If e.DataRow("出庭情况_仅下级机关工作部门人员") = False  Then
                If e.DataRow("出庭情况_仅委托律师") = False Then
                    e.DataRow("出庭情况_无人出庭应诉") = True
                End If
            End If
        End If
    End If
End If

 

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:2018-8-6测试负责人出庭逻辑列.foxdb


--  作者:有点甜
--  发布时间:2018/8/7 16:03:00
--  

加上systemready

 

http://www.foxtable.com/webhelp/scr/2218.htm