Foxtable(狐表)用户栏目专家坐堂 → 代码优化


  共有2112人关注过本帖平板打印复制链接

主题:代码优化

帅哥哟,离线,有人找我吗?
lisangyu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:4277 威望:0 精华:0 注册:2019/8/5 17:49:00
代码优化  发帖心情 Post By:2020/3/23 15:13:00 [只看该作者]

Dim dr As Row = Tables("车辆维修申请表").Current
If dr IsNot Nothing Then
If dr("所属部门") <> "行政管理部"
    If dr.IsNull("审批结果1") = False AndAlso dr.IsNull("审批人1") = False Then
        dr("进度") = "2A"
        If dr.IsNull("审批结果2") = False AndAlso dr.IsNull("审批人2") = False Then
            dr("进度") = "3A"
            If dr.IsNull("审批结果3") = False AndAlso dr.IsNull("审批人3") = False Then
                dr("进度") = "4A"
                If dr.IsNull("审批结果4") = False AndAlso dr.IsNull("审批人4") = False Then
                    dr("进度") = "5A"
                    If dr.IsNull("审批结果5") = False AndAlso dr.IsNull("审批人5") = False
                        Dim us As UserInfo = Users(dr("维修厂"))
                        If  us.IsRole("维修厂审核员") Then
                            dr("进度") = "6A"
                        Else
                            dr("进度") = "7A"
                            If dr.IsNull("审批人7") = False AndAlso dr.IsNull("维修金额") = False Then
                                dr("进度") = "8A"
                            End If
                        End If
                        If dr.IsNull("审批人6") = False AndAlso dr.IsNull("审批日期6") = False Then
                            dr("进度") = "7A"
                            If dr.IsNull("审批人7") = False AndAlso dr.IsNull("维修金额") = False Then
                                dr("进度") = "8A"
                             End If   
                            End If
                        End If
                    End If
                End If
                
            End If
        End If
    End If
    
Else
    If dr.IsNull("审批结果1") = False AndAlso dr.IsNull("审批人1") = False Then
        dr("进度") = "4A"
        
        If dr.IsNull("审批结果4") = False AndAlso dr.IsNull("审批人4") = False Then
            dr("进度") = "5A"
            If dr.IsNull("审批结果5") = False AndAlso dr.IsNull("审批人5") = False
                Dim us As UserInfo = Users(dr("维修厂"))
                If  us.IsRole("维修厂审核员") Then
                    dr("进度") = "6A"
                Else
                    dr("进度") = "7A"
                    If dr.IsNull("审批人7") = False AndAlso dr.IsNull("维修金额") = False Then
                        dr("进度") = "8A"
                    End If
                End If
                If dr.IsNull("审批人6") = False AndAlso dr.IsNull("审批日期6") = False Then
                    dr("进度") = "7A"
                    If dr.IsNull("审批人7") = False AndAlso dr.IsNull("维修金额") = False Then
                        dr("进度") = "8A"
                    End If
                End If
            End If
        End If
    End If
End If

e.Form.Close

蓝总:上面代码是流程审批进度变化。每次“进度”变成“5A”或者“6A”时,系统里进度都是从最低进度重新开始,2A-3A-4A-5A···,效率低,以上代码要怎么改,直接变成目标进度。例如再加上一个进度值:If dr.IsNull("审批结果3") = False AndAlso dr.IsNull("审批人3") = False  andalso dr(“进度”)=“3A”Then
                dr("进度") = "4A",整个代码要怎么优化。麻烦蓝中指导下。

 回到顶部