智遥工作流软件,转下一步时数据保存解析

来源:互联网 发布:皖系直系奉系 知乎 编辑:程序博客网 时间:2024/05/17 05:06

智遥工作流的一大优点是:表单的所有代码,可以根据设定好的表结构,自动生成代码。且无需进行任何调整,直接上传到服务器就可以用。

查看自动生成的表单代码,可以发现:表单套了一个母版页Form.Master

当审批人点击转下一步的时候,会自动调用代码中的 SaveData(int status)函数,相当高明的手段,函数内部可以根据变量CFnid来判断当前处在哪个审批节点,用户可以自己调整代码来控制保存的权限和保存的内容;结构清晰相当灵活好用。

自动生成的代码示例:

// 保存表单信息, 在点击保存时自动调用
    public override bool SaveData(int status)
    {
        Hidden HCmd = (Hidden)Master.FindControl("HCmd");
        string cmd = HCmd.Text.ToUpper();
        string CFnid = GetCurrentFnid(cmd);


        if (SaveCheck(CFnid) == true)//SaveCheck()用来判断填写的内容是否符合规范
        {
            switch (CFnid)
            {
                case "A":
                    string v_workid = Tworkid.Text.ToString();
                    string v_leave_type = Tleave_type.SelectedItem.Value.ToString();
                    string v_userid = Tuserid.Text.ToString();
                    string v_username = Tusername.Text.ToString();
                    string v_department = Tdepartment.Text.ToString();
                    string v_grade = Tgrade.Text.ToString();
                    string v_gender = Tgender.SelectedItem.Text.ToString();
                    string v_position = Tposition.Text.ToString();
                    string v_date_join = Tdate_join.SelectedDate.ToShortDateString();
                    string v_date_from = Tdate_from.SelectedDate.ToShortDateString();
                    string v_time_from = Ttime_from.SelectedItem.Text.ToString();
                    string v_date_to = Tdate_to.SelectedDate.ToShortDateString();
                    string v_time_to = Ttime_to.SelectedItem.Text.ToString();
                    string v_total_day = Ttotal_day.Text.ToString();
                    string v_total_hour = Ttotal_hour.Text.ToString();
                    string v_agent = Tagent.Text.ToString();
                    string v_reason = Treason.Text.ToString();


                    string v_creator = u.GetLoginID();
                    string v_modifier = u.GetLoginID();
                    string v_ctime = DateTime.Now.ToString();
                    string v_mtime = DateTime.Now.ToString();
                    string subject = "请假单(" + u.GetLoginName() + ")";
                    StringBuilder strSql = new StringBuilder();
                     
                    if (cmd == "N")
                    {
                        string fid = Request.QueryString["fid"].ToString();
                        string fnid = Request.QueryString["fnid"].ToString();
                        int frev = Convert.ToInt32(Request.QueryString["frev"]);
                        string formid = Request.QueryString["formid"].ToString();
                        strSql.Clear();
                        strSql.Append("Insert into F_QJD( ");
                        strSql.Append("workid,");
                        strSql.Append("leave_type,");
                        strSql.Append("userid,");
                        strSql.Append("username,");
                        strSql.Append("department,");
                        strSql.Append("grade,");
                        strSql.Append("gender,");
                        strSql.Append("position,");
                        strSql.Append("date_join,");
                        strSql.Append("date_from,");
                        strSql.Append("time_from,");
                        strSql.Append("date_to,");
                        strSql.Append("time_to,");
                        strSql.Append("total_day,");
                        strSql.Append("total_hour,");
                        strSql.Append("agent,");
                        strSql.Append("reason,");
                        strSql.Append("creator,ctime) values (");
                        strSql.Append("'" + v_workid + "',");
                        strSql.Append("'" + v_leave_type + "',");
                        strSql.Append("'" + v_userid + "',");
                        strSql.Append("'" + v_username + "',");
                        strSql.Append("'" + v_department + "',");
                        strSql.Append("'" + v_grade + "',");
                        strSql.Append("'" + v_gender + "',");
                        strSql.Append("'" + v_position + "',");
                        strSql.Append("'" + v_date_join + "',");
                        strSql.Append("'" + v_date_from + "',");
                        strSql.Append("'" + v_time_from + "',");
                        strSql.Append("'" + v_date_to + "',");
                        strSql.Append("'" + v_time_to + "',");
                        strSql.Append("'" + v_total_day + "',");
                        strSql.Append("'" + v_total_hour + "',");
                        strSql.Append("'" + v_agent + "',");
                        strSql.Append("'" + v_reason + "',");
                        strSql.Append("'" + v_creator + "',");
                        strSql.Append("'" + v_ctime + "')");


                        sh.Execute(strSql.ToString());
                        //2.这句很重要,切勿删除
                        f.FlowSummaryAdd(v_workid, fid, formid, subject, status, v_creator, v_ctime);
                        HCmd.Text = "E";
                    }
                    else
                    {
                        strSql.Clear();
                        strSql.Append("Update F_QJD set  ");
                        strSql.Append("workid='" + v_workid + "' ,");
                        strSql.Append("leave_type='" + v_leave_type + "' ,");
                        strSql.Append("userid='" + v_userid + "' ,");
                        strSql.Append("username='" + v_username + "' ,");
                        strSql.Append("department='" + v_department + "' ,");
                        strSql.Append("grade='" + v_grade + "' ,");
                        strSql.Append("gender='" + v_gender + "' ,");
                        strSql.Append("position='" + v_position + "' ,");
                        strSql.Append("date_join='" + v_date_join + "' ,");
                        strSql.Append("date_from='" + v_date_from + "' ,");
                        strSql.Append("time_from='" + v_time_from + "' ,");
                        strSql.Append("date_to='" + v_date_to + "' ,");
                        strSql.Append("time_to='" + v_time_to + "' ,");
                        strSql.Append("total_day='" + v_total_day + "' ,");
                        strSql.Append("total_hour='" + v_total_hour + "' ,");
                        strSql.Append("agent='" + v_agent + "' ,");
                        strSql.Append("reason='" + v_reason + "' ,");
                        strSql.Append("modifier='" + v_modifier + "', ");
                        strSql.Append("mtime='" + v_mtime + "' ");
                        strSql.Append(" Where workid='" + v_workid + "'");
                        sh.Execute(strSql.ToString());


                        f.FlowSummaryEdit(v_workid, status, v_creator, v_ctime);
                    }
                    break;
            }
            return true;
        }
        else
        {
            return false;
        }
    }

原创粉丝点击