//保存 protected void Button_Save_Click(object sender, EventArgs e) { if (this.Session["hyuid"].ToString() == "") this.Response.Redirect("../login.aspx"); string ls_tip = "复制成功!"; try { HyoaClass.Hyoa_global Hyoa_global = new HyoaClass.Hyoa_global(); HyoaClass.Hyoa_role Hyoa_role = new HyoaClass.Hyoa_role(); HyoaClass.Hyoa_mudel Hyoa_mudel = new HyoaClass.Hyoa_mudel(); HyoaClass.Hyoa_tableconfig Hyoa_tableconfig = new HyoaClass.Hyoa_tableconfig(); HyoaClass.Hyoa_listconfig Hyoa_listconfig = new HyoaClass.Hyoa_listconfig(); HyoaClass.Hyoa_listsearchfield Hyoa_listsearchfield = new HyoaClass.Hyoa_listsearchfield(); HyoaClass.Hyoa_flowinfor Hyoa_flowinfor = new HyoaClass.Hyoa_flowinfor(); HyoaClass.Hyoa_flowfield Hyoa_flowfield = new HyoaClass.Hyoa_flowfield(); HyoaClass.Hyoa_flowtache Hyoa_flowtache = new HyoaClass.Hyoa_flowtache(); HyoaClass.Hyoa_flowtachefield Hyoa_flowtachefield = new HyoaClass.Hyoa_flowtachefield(); HyoaClass.Hyoa_flowtacheuser Hyoa_flowtacheuser = new HyoaClass.Hyoa_flowtacheuser(); HyoaClass.Hyoa_flowwork Hyoa_flowwork = new HyoaClass.Hyoa_flowwork(); #region 生成权限 DataTable dt = Hyoa_role.Getrole("Role" + this.txtmudelid.Text); if (dt.Rows.Count > 0) { Response.Write("<script>alert('该权限编号已存在,请重新填写!');history.back();</script>"); return; } else { Hyoa_role.hy_roleid = "Role" + this.txtmudelid.Text; Hyoa_role.hy_rolename = this.txtmudelname.Text; Hyoa_role.hy_sort = System.Int32.Parse(this.txtno.Value); Hyoa_role.Insert(); } #endregion #region 生成模块 dt = Hyoa_mudel.Getmudel("Mudel" + this.txtmudelid.Text); if (dt.Rows.Count > 0) { Response.Write("<script>alert('该模块编号已存在,请重新填写!');history.back();</script>"); return; } else { Hyoa_mudel.hy_mudelid = "Mudel" + this.txtmudelid.Text; Hyoa_mudel.hy_mudelname = this.txtmudelname.Text; Hyoa_mudel.hy_sort = System.Int32.Parse(this.txtno.Value); Hyoa_mudel.hy_isenabled = "是"; Hyoa_mudel.hy_roleid = "Role" + this.txtmudelid.Text; Hyoa_mudel.hy_qqroleid = "Role" + this.txtmudelid.Text; Hyoa_mudel.Insert(); } #endregion #region 生成表单 DataTable tableconfigdt = Hyoa_tableconfig.GetTablesbymudelid(this.ddlmudelid.SelectedValue); if (tableconfigdt.Rows.Count > 0) { Hyoa_tableconfig.ID = "Table" + this.txtmudelid.Text; Hyoa_tableconfig.hy_mudelid = "Mudel" + this.txtmudelid.Text; Hyoa_tableconfig.hy_name = this.txtmudelname.Text; Hyoa_tableconfig.hy_onload = tableconfigdt.Rows[0]["hy_onload"].ToString(); Hyoa_tableconfig.hy_sort = float.Parse(this.txtno.Value); Hyoa_tableconfig.hy_ifflowdoc = tableconfigdt.Rows[0]["hy_ifflowdoc"].ToString(); Hyoa_tableconfig.hy_ifdisplayall = tableconfigdt.Rows[0]["hy_ifdisplayall"].ToString(); Hyoa_tableconfig.hy_ispuballByflowYB = tableconfigdt.Rows[0]["hy_ispuballByflowYB"].ToString(); Hyoa_tableconfig.hy_tablerole = tableconfigdt.Rows[0]["hy_tablerole"].ToString(); Hyoa_tableconfig.hy_ifcomment = tableconfigdt.Rows[0]["hy_ifcomment"].ToString(); Hyoa_tableconfig.hy_colnum = float.Parse(tableconfigdt.Rows[0]["hy_colnum"].ToString()); Hyoa_tableconfig.hy_field1 = tableconfigdt.Rows[0]["hy_field1"].ToString(); Hyoa_tableconfig.hy_field2 = tableconfigdt.Rows[0]["hy_field2"].ToString(); Hyoa_tableconfig.hy_field3 = tableconfigdt.Rows[0]["hy_field3"].ToString(); Hyoa_tableconfig.hy_field4 = tableconfigdt.Rows[0]["hy_field4"].ToString(); Hyoa_tableconfig.hy_field5 = tableconfigdt.Rows[0]["hy_field5"].ToString(); Hyoa_tableconfig.Insert(); } #endregion #region 生成表单字段 int i; DataTable flowfielddt = Hyoa_flowfield.Getflowfieldsbytableid(this.ddltableid.SelectedValue); if (flowfielddt.Rows.Count > 0) { for (i = 0; i < flowfielddt.Rows.Count; i++) { Hyoa_flowfield.ID = Hyoa_global.GetRandom(); Hyoa_flowfield.hy_tableid = "Table" + this.txtmudelid.Text; Hyoa_flowfield.hy_mudelid = "Mudel" + this.txtmudelid.Text; Hyoa_flowfield.hy_flowid = "Flow" + this.txtmudelid.Text; Hyoa_flowfield.hy_fieldid = flowfielddt.Rows[i]["hy_fieldid"].ToString(); Hyoa_flowfield.hy_fieldname = flowfielddt.Rows[i]["hy_fieldname"].ToString(); Hyoa_flowfield.hy_fieldtype = flowfielddt.Rows[i]["hy_fieldtype"].ToString(); Hyoa_flowfield.hy_ifreadonly = flowfielddt.Rows[i]["hy_ifreadonly"].ToString(); Hyoa_flowfield.hy_defaultvaluetype = System.Int32.Parse(flowfielddt.Rows[i]["hy_defaultvaluetype"].ToString()); Hyoa_flowfield.hy_defaultvalue = flowfielddt.Rows[i]["hy_defaultvalue"].ToString(); Hyoa_flowfield.hy_optiontype = System.Int32.Parse(flowfielddt.Rows[i]["hy_optiontype"].ToString()); Hyoa_flowfield.hy_options = flowfielddt.Rows[i]["hy_options"].ToString(); Hyoa_flowfield.hy_onclick = flowfielddt.Rows[i]["hy_onclick"].ToString(); Hyoa_flowfield.hy_ondblclick = flowfielddt.Rows[i]["hy_ondblclick"].ToString(); Hyoa_flowfield.hy_onchange = flowfielddt.Rows[i]["hy_onchange"].ToString(); Hyoa_flowfield.hy_onkeydown = flowfielddt.Rows[i]["hy_onkeydown"].ToString(); Hyoa_flowfield.hy_onkeyup = flowfielddt.Rows[i]["hy_onkeyup"].ToString(); Hyoa_flowfield.hy_onfocus = flowfielddt.Rows[i]["hy_onfocus"].ToString(); Hyoa_flowfield.hy_onblur = flowfielddt.Rows[i]["hy_onblur"].ToString(); Hyoa_flowfield.hy_sqlfield = flowfielddt.Rows[i]["hy_sqlfield"].ToString(); Hyoa_flowfield.hy_class = flowfielddt.Rows[i]["hy_class"].ToString(); Hyoa_flowfield.hy_width = flowfielddt.Rows[i]["hy_width"].ToString(); Hyoa_flowfield.hy_height = flowfielddt.Rows[i]["hy_height"].ToString(); Hyoa_flowfield.hy_tdnums = System.Int32.Parse(flowfielddt.Rows[i]["hy_tdnums"].ToString()); Hyoa_flowfield.hy_config = flowfielddt.Rows[i]["hy_config"].ToString(); Hyoa_flowfield.hy_sort = float.Parse(flowfielddt.Rows[i]["hy_sort"].ToString()); Hyoa_flowfield.hy_wordlimit = System.Int32.Parse(flowfielddt.Rows[i]["hy_wordlimit"].ToString()); Hyoa_flowfield.hy_required = flowfielddt.Rows[i]["hy_required"].ToString(); Hyoa_flowfield.hy_align = flowfielddt.Rows[i]["hy_align"].ToString(); Hyoa_flowfield.hy_ifhiddle = flowfielddt.Rows[i]["hy_ifhiddle"].ToString(); Hyoa_flowfield.hy_ifdbsybt = flowfielddt.Rows[i]["hy_ifdbsybt"].ToString(); Hyoa_flowfield.hy_field1 = flowfielddt.Rows[i]["hy_field1"].ToString(); Hyoa_flowfield.hy_field2 = flowfielddt.Rows[i]["hy_field2"].ToString(); Hyoa_flowfield.hy_field3 = flowfielddt.Rows[i]["hy_field3"].ToString(); Hyoa_flowfield.hy_field4 = flowfielddt.Rows[i]["hy_field4"].ToString(); Hyoa_flowfield.hy_field5 = flowfielddt.Rows[i]["hy_field5"].ToString(); Hyoa_flowfield.Insert(); } } #endregion #region 生成SQL/ORACLE中的表 string sql = ""; if (Session["conntype"].ToString() == "SQL") { sql = "select * into hyc_Table" + this.txtmudelid.Text + " from hyc_" + this.ddltableid.SelectedValue + " where 1=0"; } if (Session["conntype"].ToString() == "ORACLE") { sql = "create table hyc_Table" + this.txtmudelid.Text + " as select * from hyc_" + this.ddltableid.SelectedValue + " where 1=2"; } Hyoa_global.ExcuteSQL(sql); #endregion #region 生成列表 DataTable listconfigdt = Hyoa_listconfig.GetlistconfigsbyMudelidAndTableid(this.ddlmudelid.SelectedValue, this.ddltableid.SelectedValue); //列表ID string strListId = Hyoa_global.GetRandom(); if (listconfigdt.Rows.Count > 0) { Hyoa_listconfig.hy_mudelid = "Mudel" + this.txtmudelid.Text; Hyoa_listconfig.hy_tableid = "Table" + this.txtmudelid.Text; Hyoa_listconfig.hy_ifflowdoc = listconfigdt.Rows[0]["hy_ifflowdoc"].ToString(); Hyoa_listconfig.hy_sort = System.Int32.Parse(this.txtno.Value); Hyoa_listconfig.hy_columnshowid = listconfigdt.Rows[0]["hy_columnshowid"].ToString(); Hyoa_listconfig.hy_columnshow = listconfigdt.Rows[0]["hy_columnshow"].ToString(); Hyoa_listconfig.hy_ifsearch = listconfigdt.Rows[0]["hy_ifsearch"].ToString(); Hyoa_listconfig.hy_ifshowsearch = listconfigdt.Rows[0]["hy_ifshowsearch"].ToString(); Hyoa_listconfig.hy_width = listconfigdt.Rows[0]["hy_width"].ToString(); Hyoa_listconfig.hy_listname = this.txtmudelname.Text; Hyoa_listconfig.hy_sortfield1 = listconfigdt.Rows[0]["hy_sortfield1"].ToString(); Hyoa_listconfig.hy_sorttype1 = listconfigdt.Rows[0]["hy_sorttype1"].ToString(); Hyoa_listconfig.hy_sortfield2 = listconfigdt.Rows[0]["hy_sortfield2"].ToString(); Hyoa_listconfig.hy_sorttype2 = listconfigdt.Rows[0]["hy_sorttype2"].ToString(); Hyoa_listconfig.hy_sortfield3 = listconfigdt.Rows[0]["hy_sortfield3"].ToString(); Hyoa_listconfig.hy_sorttype3 = listconfigdt.Rows[0]["hy_sorttype3"].ToString(); Hyoa_listconfig.hy_fieldid_fl1 = listconfigdt.Rows[0]["hy_fieldid_fl1"].ToString(); Hyoa_listconfig.hy_fieldname_fl1 = listconfigdt.Rows[0]["hy_fieldname_fl1"].ToString(); Hyoa_listconfig.hy_sql_fl1 = listconfigdt.Rows[0]["hy_sql_fl1"].ToString(); Hyoa_listconfig.hy_fieldid_fl2 = listconfigdt.Rows[0]["hy_fieldid_fl2"].ToString(); Hyoa_listconfig.hy_fieldname_fl2 = listconfigdt.Rows[0]["hy_fieldname_fl2"].ToString(); Hyoa_listconfig.hy_sql_fl2 = listconfigdt.Rows[0]["hy_sql_fl2"].ToString(); Hyoa_listconfig.hy_fieldid_fl3 = listconfigdt.Rows[0]["hy_fieldid_fl3"].ToString(); Hyoa_listconfig.hy_fieldname_fl3 = listconfigdt.Rows[0]["hy_fieldname_fl3"].ToString(); Hyoa_listconfig.hy_sql_fl3 = listconfigdt.Rows[0]["hy_sql_fl3"].ToString(); Hyoa_listconfig.ID = strListId; Hyoa_listconfig.Insert(); } #endregion #region 生成列表查询条件 DataTable listsearchdt = Hyoa_listsearchfield.GetlistsearchfieldsbyMudelidAndTableid(this.ddlmudelid.SelectedValue, this.ddltableid.SelectedValue); for (int m = 0; m < listsearchdt.Rows.Count; m++) { Hyoa_listsearchfield.ID = Hyoa_global.GetRandom(); Hyoa_listsearchfield.hy_listid = strListId; Hyoa_listsearchfield.hy_mudelid = "Mudel" + this.txtmudelid.Text; Hyoa_listsearchfield.hy_tableid = "Table" + this.txtmudelid.Text; Hyoa_listsearchfield.hy_field = listsearchdt.Rows[m]["hy_field"].ToString(); Hyoa_listsearchfield.hy_fieldid = listsearchdt.Rows[m]["hy_fieldid"].ToString(); Hyoa_listsearchfield.hy_sort = m + 2; Hyoa_listsearchfield.Insert(); } #endregion #region 生成流程信息 string lssoureceflowid = ""; if (tableconfigdt.Rows[0]["hy_ifflowdoc"].ToString() == "是") { DataTable flowinfordt = Hyoa_flowinfor.Getflowinforbymudelid(this.ddlmudelid.SelectedValue); if (flowinfordt.Rows.Count > 0) { //得到老模块的flowid 后面要用到 lssoureceflowid = flowfielddt.Rows[0]["hy_flowid"].ToString(); //插入流程信息start Hyoa_flowinfor.hy_flowid = "Flow" + this.txtmudelid.Text; Hyoa_flowinfor.hy_flowname = this.txtmudelname.Text; Hyoa_flowinfor.hy_sort = System.Int32.Parse(this.txtno.Value); Hyoa_flowinfor.hy_mudelid = "Mudel" + this.txtmudelid.Text; // Hyoa_flowinfor.hy_addbyalluser = flowinfordt.Rows[0]["hy_addbyalluser"].ToString(); Hyoa_flowinfor.Insert(); } //插入流程信息end //流程环节 DataTable flowtachedt = Hyoa_flowtache.Getflowtachebyflowid(lssoureceflowid); if (flowtachedt.Rows.Count > 0) { for (i = 0; i < flowtachedt.Rows.Count; i++) { Hyoa_flowtache.ID = Hyoa_global.GetRandom(); Hyoa_flowtache.hy_flowid = "Flow" + this.txtmudelid.Text; Hyoa_flowtache.hy_tacheid = flowtachedt.Rows[i]["hy_tacheid"].ToString(); Hyoa_flowtache.hy_tachename = flowtachedt.Rows[i]["hy_tachename"].ToString(); Hyoa_flowtache.hy_sort = System.Int32.Parse(flowtachedt.Rows[i]["hy_sort"].ToString()); Hyoa_flowtache.hy_ifshowcurcomp = flowtachedt.Rows[i]["hy_ifshowcurcomp"].ToString(); Hyoa_flowtache.hy_ifshowcurdept = flowtachedt.Rows[i]["hy_ifshowcurdept"].ToString(); Hyoa_flowtache.hy_XValue = flowtachedt.Rows[i]["hy_XValue"].ToString(); Hyoa_flowtache.hy_YValue = flowtachedt.Rows[i]["hy_YValue"].ToString(); Hyoa_flowtache.hy_rdDoIsSendSms = flowtachedt.Rows[i]["hy_rdDoIsSendSms"].ToString(); Hyoa_flowtache.hy_rdDoIsSendMessage = flowtachedt.Rows[i]["hy_rdDoIsSendMessage"].ToString(); Hyoa_flowtache.hy_rdPassIsSendSms = flowtachedt.Rows[i]["hy_rdPassIsSendSms"].ToString(); Hyoa_flowtache.hy_rdPassIsSendMessage = flowtachedt.Rows[i]["hy_rdPassIsSendMessage"].ToString(); Hyoa_flowtache.hy_enablecondition = flowtachedt.Rows[i]["hy_enablecondition"].ToString(); Hyoa_flowtache.Insert(); } } //流程环节对应的域 DataTable flowtachefielddt = Hyoa_flowtachefield.Getflowtachefieldbyflowid(lssoureceflowid); if (flowtachefielddt.Rows.Count > 0) { for (i = 0; i < flowtachefielddt.Rows.Count; i++) { Hyoa_flowtachefield.ID = Hyoa_global.GetRandom(); Hyoa_flowtachefield.hy_flowid = "Flow" + this.txtmudelid.Text; Hyoa_flowtachefield.hy_tacheid = flowtachefielddt.Rows[i]["hy_tacheid"].ToString(); Hyoa_flowtachefield.hy_fieldid = flowtachefielddt.Rows[i]["hy_fieldid"].ToString(); Hyoa_flowtachefield.Insert(); } } //流程环节对应的用户 DataTable flowtacheuserdt = Hyoa_flowtacheuser.Getflowtacheuserbyflowid(lssoureceflowid); if (flowtacheuserdt.Rows.Count > 0) { for (i = 0; i < flowtacheuserdt.Rows.Count; i++) { Hyoa_flowtacheuser.ID = Hyoa_global.GetRandom(); Hyoa_flowtacheuser.hy_flowid = "Flow" + this.txtmudelid.Text; Hyoa_flowtacheuser.hy_tacheid = flowtacheuserdt.Rows[i]["hy_tacheid"].ToString(); Hyoa_flowtacheuser.hy_userid = flowtacheuserdt.Rows[i]["hy_userid"].ToString(); Hyoa_flowtacheuser.Insert(); } } //工作流 DataTable flowworkdt = Hyoa_flowwork.Getflowworksbyflowid(lssoureceflowid); if (flowworkdt.Rows.Count > 0) { for (i = 0; i < flowworkdt.Rows.Count; i++) { Hyoa_flowwork.ID = Hyoa_global.GetRandom(); Hyoa_flowwork.hy_flowid = "Flow" + this.txtmudelid.Text; Hyoa_flowwork.hy_curtacheid = flowworkdt.Rows[i]["hy_curtacheid"].ToString(); Hyoa_flowwork.hy_curtachename = flowworkdt.Rows[i]["hy_curtachename"].ToString(); Hyoa_flowwork.hy_nexttacheid = flowworkdt.Rows[i]["hy_nexttacheid"].ToString(); Hyoa_flowwork.hy_nexttachename = flowworkdt.Rows[i]["hy_nexttachename"].ToString(); Hyoa_flowwork.hy_sort = System.Int32.Parse(flowworkdt.Rows[i]["hy_sort"].ToString()); Hyoa_flowwork.hy_actiontype = flowworkdt.Rows[i]["hy_actiontype"].ToString(); Hyoa_flowwork.hy_identity_type = flowworkdt.Rows[i]["hy_identity_type"].ToString(); Hyoa_flowwork.hy_identity_id = flowworkdt.Rows[i]["hy_identity_id"].ToString(); Hyoa_flowwork.hy_jscondition = flowworkdt.Rows[i]["hy_jscondition"].ToString(); Hyoa_flowwork.hy_jscondition1 = flowworkdt.Rows[i]["hy_jscondition1"].ToString(); Hyoa_flowwork.hy_jscondition2 = flowworkdt.Rows[i]["hy_jscondition2"].ToString(); Hyoa_flowwork.hy_zdcyuserids = flowworkdt.Rows[i]["hy_zdcyuserids"].ToString(); Hyoa_flowwork.Insert(); } } } #endregion } catch { ls_tip = "复制失败!"; } finally { Response.Write("<script>alert('" + ls_tip + "');window.location.href='" + txturl.Text + "';</script>"); } }
private void DataPlay(int PageNo) { //根据表ID和模块ID得到当前传进来的模块是否有流程 HyoaClass.Hyoa_tableconfig Hyoa_tableconfig = new HyoaClass.Hyoa_tableconfig(); DataTable dttableconfig = Hyoa_tableconfig.GetTablesbymudelidandtableid(this.txtmudelid.Value, this.txttableid.Value); //根据表单得到对应的所有字段 HyoaClass.Hyoa_flowfield Hyoa_flowfield = new HyoaClass.Hyoa_flowfield(); DataTable dtflowfield = Hyoa_flowfield.Getflowfieldsbytableid(dttableconfig.Rows[0]["ID"].ToString()); //循环所有字段 string ls_flowfield = ""; if (dtflowfield.Rows.Count > 0) { for (int i = 0; i < dtflowfield.Rows.Count; i++) { string ls_fieldtype = dtflowfield.Rows[i]["hy_fieldtype"].ToString(); if (ls_fieldtype == "文本" || ls_fieldtype == "多行文本" || ls_fieldtype == "文本加按钮" || ls_fieldtype == "多行文本加按钮" || ls_fieldtype == "日期" || ls_fieldtype == "数值" || ls_fieldtype == "对话框列表" || ls_fieldtype == "复选框" || ls_fieldtype == "单选框" || ls_fieldtype == "口令") { ls_flowfield += ",a.hyc_" + dtflowfield.Rows[i]["hy_fieldid"].ToString(); } } } HyoaClass.Hyoa_global Hyoa_global = new HyoaClass.Hyoa_global(); HyoaClass.Hyoa_listconfig Hyoa_listconfig = new HyoaClass.Hyoa_listconfig(); DataTable dtlist = Hyoa_listconfig.Getlistconfig(this.txtlistid.Value); //列表配置 this.lbdisplaytitle.Text = ""; //得到当前页号 this.curpage.Text = PageNo.ToString(); //---查询条件---开始 string cmdStr_Search = ""; if (txtsearchfields.Text != "") { string[] lv_searchfields = txtsearchfields.Text.Split(','); string[] lv_searchfields_sx = txtsearchfields_sx.Text.Split(','); for (int i = 0; i < lv_searchfields.Length; i++) { string ls_fieldid = lv_searchfields[i].ToString(); string ls_fieldid_sx = lv_searchfields_sx[i].ToString(); string ls_searchtext = ""; if (this.Request.Form[ls_fieldid] != null) { ls_searchtext = this.Request.Form[ls_fieldid].ToString(); } if (ls_searchtext != "") { if (ls_fieldid_sx == "0") { cmdStr_Search += " and hyc_" + ls_fieldid + " like '%" + ls_searchtext + "%' "; } else { if (ls_fieldid_sx == "1") { if (Session["conntype"].ToString() == "SQL") { cmdStr_Search += " and left(CONVERT(varchar, hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ", 120 ) ,10) >= '" + ls_searchtext + "' "; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr_Search += " and to_char(hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ",'YYYY-MM-DD') >= '" + ls_searchtext + "' "; } } if (ls_fieldid_sx == "2") { if (Session["conntype"].ToString() == "SQL") { cmdStr_Search += " and left(CONVERT(varchar, hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ", 120 ) ,10) <= '" + ls_searchtext + "' "; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr_Search += " and to_char(hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ",'YYYY-MM-DD') <= '" + ls_searchtext + "' "; } } if (ls_fieldid_sx == "3") { cmdStr_Search += " and hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + " >= " + ls_searchtext + " "; } if (ls_fieldid_sx == "4") { cmdStr_Search += " and hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + " <= " + ls_searchtext + " "; } } } } } //---查询条件---结束 //---排序---开始 string cmdStr_SearchSort = ""; if (dtlist.Rows[0]["hy_sortfield1"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield1"].ToString() + " " + dtlist.Rows[0]["hy_sorttype1"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield1"].ToString() + " " + dtlist.Rows[0]["hy_sorttype1"].ToString(); } } if (dtlist.Rows[0]["hy_sortfield2"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield2"].ToString() + " " + dtlist.Rows[0]["hy_sorttype2"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield2"].ToString() + " " + dtlist.Rows[0]["hy_sorttype2"].ToString(); } } if (dtlist.Rows[0]["hy_sortfield3"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield3"].ToString() + " " + dtlist.Rows[0]["hy_sorttype3"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield3"].ToString() + " " + dtlist.Rows[0]["hy_sorttype3"].ToString(); } } if (this.txtfieldid.Value != "" && this.txtfieldsort.Value != "") { cmdStr_SearchSort = " order by hyc_" + this.txtfieldid.Value + " " + this.txtfieldsort.Value + " "; } if (cmdStr_SearchSort == "") { //没有配置,则默认按登记日期 cmdStr_SearchSort = " order by hy_djsj desc "; } //---排序---结束 //--根据查询条件得到返回数据集--s DataTable dt = new DataTable(); //单页数据集 DataTable dt_total = new DataTable(); //数据总条数,返回总条数值 DataTable dttable = Hyoa_tableconfig.GetTable(this.txttableid.Value); //得到表配置信息查看当前表是否有流程 hy_ifflowdoc string cmdStr = ""; string ls_from = ""; ls_from = " hyc_" + this.txttableid.Value + " where 1=1 and hy_djrbmid='" + Session["hydeptid"].ToString() + "' " + cmdStr_Search; if (Session["conntype"].ToString() == "SQL") { cmdStr = "select top " + PageSize.Text + " * from " + ls_from; cmdStr += " and DOCID not in (select top " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString() + " DOCID from " + ls_from + cmdStr_SearchSort + ") " + cmdStr_SearchSort; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr = " select * from ( "; cmdStr += " select my_table.*, rownum as my_rownum from "; cmdStr += " ( "; cmdStr += " select * from hyc_" + this.txttableid.Value + " where 1=1 and hy_djrbmid='" + Session["hydeptid"].ToString() + "' " + cmdStr_Search + cmdStr_SearchSort; cmdStr += " ) my_table "; cmdStr += " where rownum<= " + ((PageNo) * int.Parse(PageSize.Text)).ToString(); cmdStr += " ) where my_rownum> " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString(); } dt = Hyoa_global.GetDataTable(cmdStr); cmdStr = "select count(*) from " + ls_from; dt_total = Hyoa_global.GetDataTable(cmdStr); //--根据查询条件得到返回数据集--e //开始输出----整合成HTML为数据行 DataTable tempTable = dt.Clone(); DataColumn col = new DataColumn("displaycol", typeof(String)); //定义新的一列 add tempTable.Columns.Add(col); //追加一列 add string lscolname = ""; string lscolnameid = ""; string lscolwidth = ""; string ls_col = ""; string[] lvcolname; string[] lvcolnameid; string[] lvcolwidth; string lscolwidthper; lscolname = dtlist.Rows[0]["hy_columnshow"].ToString(); //要显示的列名:附件,标题,收文来源 lscolnameid = dtlist.Rows[0]["hy_columnshowid"].ToString(); //要显示的列名id:uploadfile1,Hy_bt,Hy_swly lscolwidth = dtlist.Rows[0]["hy_width"].ToString(); //要显示的列名id:10,20,30 lvcolname = lscolname.Split(','); lvcolnameid = lscolnameid.Split(','); lvcolwidth = lscolwidth.Split(','); if (dt.Rows.Count <= 0) { //如果没有数据则输出表头 for (int n = 0; n < lvcolname.Length; n++) { if (n >= lvcolwidth.Length) { lscolwidthper = ""; }//此判断是为了防止对应宽度没有输入时,会溢出报错。 else { lscolwidthper = lvcolwidth[n]; } this.lbdisplaytitle.Text += "<td width=\"" + lscolwidthper + "%\" class=\"TdcellHead\"><p align=\"center\">" + lvcolname[n] + "</td>"; } } for (int i = 0; i < dt.Rows.Count; i++) { DataRow dr = tempTable.NewRow(); //输出主表所有字段,start for (int j = 0; j < dt.Columns.Count; j++) { dr[dt.Columns[j].ColumnName] = dt.Rows[i][j]; } //输出主表所有字段,end //////开始得到列的值 DataTable dtgetsqlfield; for (int m = 0; m < lvcolname.Length; m++) { //如果有数据,则输出数据 if (m >= lvcolwidth.Length) { lscolwidthper = ""; }//此判断是为了防止对应宽度没有输入时,会溢出报错。 else { lscolwidthper = lvcolwidth[m]; } dtgetsqlfield = Hyoa_flowfield.GetSQLfieldBymudelidAndFieldidAndTableid(this.txtmudelid.Value, lvcolnameid[m], this.txttableid.Value); if (i % System.Int32.Parse(PageSize.Text) == 0) this.lbdisplaytitle.Text += "<td width=\"" + lscolwidthper + "%\" class=\"TdcellHead\"><p align=\"center\"><a href=\"#\" title=\"点击可排序\" onclick=\"fun_sort('" + lvcolnameid[m] + "');\">" + lvcolname[m] + "</a></p></td>"; //根据字段英文名,得到数据库中对应的字段 string lsgetsqlfield = "hyc_" + dtgetsqlfield.Rows[0]["hy_fieldid"].ToString(); //根据数据库中对应的字段,得到输出字段的值start (日期型根据格式进行了转换) string lsgetputfiled = ""; if (dtgetsqlfield.Rows[0]["hy_defaultvalue"].ToString() == "yyyy-mm-dd") { if (dt.Rows[i][lsgetsqlfield].ToString() != "") lsgetputfiled = System.DateTime.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToShortDateString(); } else { //解决Float小数点后面出现N位小数乱码的问题 if (dtgetsqlfield.Rows[0]["hy_fieldtype"].ToString() == "数值") { if (dt.Rows[i][lsgetsqlfield].ToString() != "") { //是否包含小数点,包含的话,取小数点后两位 if (dt.Rows[i][lsgetsqlfield].ToString().Contains(".") == true) { lsgetputfiled = float.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToString("F2"); } else { lsgetputfiled = float.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToString(); } } else { lsgetputfiled = "0"; } //lsgetputfiled = dt.Rows[i][lsgetsqlfield].ToString(); } else { lsgetputfiled = dt.Rows[i][lsgetsqlfield].ToString(); } } if (lsgetputfiled == "") lsgetputfiled = " "; //根据得到的SQL字段,得到输出字段的值end if (dtgetsqlfield.Rows[0]["hy_ifdbsybt"].ToString() == "是") { ls_col += "<td width=\"" + lscolwidthper + "%\" align=\"center\"><a href=\"#\" onclick=\"var ss='main.aspx?op=modify&mid=" + dt.Rows[i]["hy_mudelid"].ToString() + "&tableid=" + dt.Rows[i]["hy_tableid"].ToString() + "&docid=" + dt.Rows[i]["DOCID"].ToString() + "&url='+window.location;window.location=ss;\">" + lsgetputfiled + "</a></td>"; } else { ls_col += "<td width=\"" + lscolwidthper + "%\" align=\"center\">" + lsgetputfiled + "</td>"; } } //如果是流程表单,则最后追加两列(当前环节和当前处理人) //表头 if (dt.Rows[i]["hy_flowid"].ToString() != "" && dt.Rows[i]["hy_flowid"].ToString() != null && i == 0) { this.lbdisplaytitle.Text += "<td width=\"10%\" class=\"TdcellHead\"><p align=\"center\">当前环节</td>"; this.lbdisplaytitle.Text += "<td width=\"10%\" class=\"TdcellHead\"><p align=\"center\">当前处理人</td>"; } //数据 if (dt.Rows[i]["hy_flowid"].ToString() != "" && dt.Rows[i]["hy_flowid"].ToString() != null) { ls_col += "<td width=\"10%\" align=\"center\">" + dt.Rows[i]["hy_curtachename"].ToString() + " </td>"; ls_col += "<td width=\"10%\" align=\"center\">" + dt.Rows[i]["hy_curclrname"].ToString() + " </td>"; } dr["displaycol"] = ls_col; //将新值赋给相应的列 add ls_col = ""; tempTable.Rows.Add(dr); } int TotalRecord = int.Parse(dt_total.Rows[0][0].ToString()); this.sumts.Text = TotalRecord.ToString(); this.sumts2.Text = TotalRecord.ToString(); this.ShowTotalRecord.Text = TotalRecord.ToString(); //计算及显示总页数 int TotalPage; if (TotalRecord < System.Int32.Parse(PageSize.Text)) { TotalPage = 1; } else { if (TotalRecord % System.Int32.Parse(PageSize.Text) != 0) { TotalPage = TotalRecord / System.Int32.Parse(PageSize.Text) + 1; } else { TotalPage = TotalRecord / System.Int32.Parse(PageSize.Text); } } this.ShowTotalPage.Text = TotalPage.ToString(); this.rptlist.DataSource = tempTable; this.rptlist.DataBind(); dt.Clear(); //列表中的一些特殊处理,都放在这个函数内 DataPlay_Tscl(); }
//保存 protected void Button_Save_Click(object sender, EventArgs e) { if (this.Session["hyuid"].ToString() == "") this.Response.Redirect("../login.aspx"); string ls_tip = "保存成功!"; HyoaClass.Hyoa_tableconfig Hyoa_tableconfig = new HyoaClass.Hyoa_tableconfig(); HyoaClass.Hyoa_flowfield Hyoa_flowfield = new HyoaClass.Hyoa_flowfield(); HyoaClass.Hyoa_global Hyoa_global = new HyoaClass.Hyoa_global(); //判断目的表单ID是否重复 DataTable dt_table = Hyoa_tableconfig.GetTable(txttableidbymd.Text); if (dt_table.Rows.Count > 0) { Response.Write("<script>alert('目的表单ID已存在!');</script>"); return; } //插入TABLE配置 DataTable tableconfigdt = Hyoa_tableconfig.GetTablesbymudelid(this.lbmudelidbysource.Text); if (tableconfigdt.Rows.Count > 0) { Hyoa_tableconfig.ID = txttableidbymd.Text; Hyoa_tableconfig.hy_mudelid = this.ddlmudelidbymd.SelectedValue; Hyoa_tableconfig.hy_name = this.txttablenamebymd.Text; Hyoa_tableconfig.hy_onload = tableconfigdt.Rows[0]["hy_onload"].ToString(); Hyoa_tableconfig.hy_sort = float.Parse(this.txttablesortbymd.Text); Hyoa_tableconfig.hy_ifflowdoc = this.ddlifflowdoc.SelectedValue; Hyoa_tableconfig.hy_ifdisplayall = tableconfigdt.Rows[0]["hy_ifdisplayall"].ToString(); Hyoa_tableconfig.hy_ispuballByflowYB = tableconfigdt.Rows[0]["hy_ispuballByflowYB"].ToString(); Hyoa_tableconfig.hy_tablerole = tableconfigdt.Rows[0]["hy_tablerole"].ToString(); Hyoa_tableconfig.hy_ifcomment = tableconfigdt.Rows[0]["hy_ifcomment"].ToString(); Hyoa_tableconfig.hy_colnum = float.Parse(tableconfigdt.Rows[0]["hy_colnum"].ToString()); Hyoa_tableconfig.hy_field1 = tableconfigdt.Rows[0]["hy_field1"].ToString(); Hyoa_tableconfig.hy_field2 = tableconfigdt.Rows[0]["hy_field2"].ToString(); Hyoa_tableconfig.hy_field3 = tableconfigdt.Rows[0]["hy_field3"].ToString(); Hyoa_tableconfig.hy_field4 = tableconfigdt.Rows[0]["hy_field4"].ToString(); Hyoa_tableconfig.hy_field5 = tableconfigdt.Rows[0]["hy_field5"].ToString(); Hyoa_tableconfig.Insert(); } //插入FIELD配置 int i; DataTable flowfielddt = Hyoa_flowfield.Getflowfieldsbytableid(this.lbtableidbysorce.Text); if (flowfielddt.Rows.Count > 0) { for (i = 0; i < flowfielddt.Rows.Count; i++) { Hyoa_flowfield.ID = Hyoa_global.GetRandom(); Hyoa_flowfield.hy_tableid = txttableidbymd.Text; Hyoa_flowfield.hy_mudelid = this.ddlmudelidbymd.SelectedValue; Hyoa_flowfield.hy_flowid = this.txtflowidbymd.Text; Hyoa_flowfield.hy_fieldid = flowfielddt.Rows[i]["hy_fieldid"].ToString(); Hyoa_flowfield.hy_fieldname = flowfielddt.Rows[i]["hy_fieldname"].ToString(); Hyoa_flowfield.hy_fieldtype = flowfielddt.Rows[i]["hy_fieldtype"].ToString(); Hyoa_flowfield.hy_ifreadonly = flowfielddt.Rows[i]["hy_ifreadonly"].ToString(); Hyoa_flowfield.hy_defaultvaluetype = System.Int32.Parse(flowfielddt.Rows[i]["hy_defaultvaluetype"].ToString()); Hyoa_flowfield.hy_defaultvalue = flowfielddt.Rows[i]["hy_defaultvalue"].ToString(); Hyoa_flowfield.hy_optiontype = System.Int32.Parse(flowfielddt.Rows[i]["hy_optiontype"].ToString()); Hyoa_flowfield.hy_options = flowfielddt.Rows[i]["hy_options"].ToString(); Hyoa_flowfield.hy_onclick = flowfielddt.Rows[i]["hy_onclick"].ToString(); Hyoa_flowfield.hy_ondblclick = flowfielddt.Rows[i]["hy_ondblclick"].ToString(); Hyoa_flowfield.hy_onchange = flowfielddt.Rows[i]["hy_onchange"].ToString(); Hyoa_flowfield.hy_onkeydown = flowfielddt.Rows[i]["hy_onkeydown"].ToString(); Hyoa_flowfield.hy_onkeyup = flowfielddt.Rows[i]["hy_onkeyup"].ToString(); Hyoa_flowfield.hy_sqlfield = flowfielddt.Rows[i]["hy_sqlfield"].ToString(); Hyoa_flowfield.hy_class = flowfielddt.Rows[i]["hy_class"].ToString(); Hyoa_flowfield.hy_width = flowfielddt.Rows[i]["hy_width"].ToString(); Hyoa_flowfield.hy_height = flowfielddt.Rows[i]["hy_height"].ToString(); Hyoa_flowfield.hy_tdnums = System.Int32.Parse(flowfielddt.Rows[i]["hy_tdnums"].ToString()); Hyoa_flowfield.hy_config = flowfielddt.Rows[i]["hy_config"].ToString(); Hyoa_flowfield.hy_sort = float.Parse(flowfielddt.Rows[i]["hy_sort"].ToString()); Hyoa_flowfield.hy_wordlimit = System.Int32.Parse(flowfielddt.Rows[i]["hy_wordlimit"].ToString()); Hyoa_flowfield.hy_required = flowfielddt.Rows[i]["hy_required"].ToString(); Hyoa_flowfield.hy_align = flowfielddt.Rows[i]["hy_align"].ToString(); Hyoa_flowfield.hy_ifhiddle = flowfielddt.Rows[i]["hy_ifhiddle"].ToString(); Hyoa_flowfield.hy_ifdbsybt = flowfielddt.Rows[i]["hy_ifdbsybt"].ToString(); Hyoa_flowfield.hy_field1 = flowfielddt.Rows[i]["hy_field1"].ToString(); Hyoa_flowfield.hy_field2 = flowfielddt.Rows[i]["hy_field2"].ToString(); Hyoa_flowfield.hy_field3 = flowfielddt.Rows[i]["hy_field3"].ToString(); Hyoa_flowfield.hy_field4 = flowfielddt.Rows[i]["hy_field4"].ToString(); Hyoa_flowfield.hy_field5 = flowfielddt.Rows[i]["hy_field5"].ToString(); Hyoa_flowfield.Insert(); } } //生成SQL/ORACLE中的表 string sql = ""; if (Session["conntype"].ToString() == "SQL") { sql = "select * into hyc_" + txttableidbymd.Text + " from hyc_" + this.lbtableidbysorce.Text + " where 1=0"; } if (Session["conntype"].ToString() == "ORACLE") { sql = "create table hyc_" + txttableidbymd.Text + " as select * from hyc_" + this.lbtableidbysorce.Text + " where 1=2"; } Hyoa_global.ExcuteSQL(sql); //以下为流程模块的功能,非流程模块不需要执行 if (this.ddlifflowdoc.SelectedValue == "是") { HyoaClass.Hyoa_flowinfor Hyoa_flowinfor = new HyoaClass.Hyoa_flowinfor(); DataTable flowinfordt = Hyoa_flowinfor.Getflowinforbymudelid(this.lbmudelidbysource.Text); string lssoureceflowid = flowfielddt.Rows[0]["hy_flowid"].ToString();//得到老模块的flowid 后面要用到 //插入流程信息start Hyoa_flowinfor.hy_flowid = this.txtflowidbymd.Text; Hyoa_flowinfor.hy_flowname =this.txtflownamebymd.Text; Hyoa_flowinfor.hy_sort = System.Int32.Parse(this.txtflowsortbymd.Text); Hyoa_flowinfor.hy_mudelid = this.ddlmudelidbymd.SelectedValue; Hyoa_flowinfor.Insert(); //插入流程信息end //string lssql3 = "select * from hyt_flowtache where hy_flowid = 'flow0004'";//流程对应的环节 HyoaClass.Hyoa_flowtache Hyoa_flowtache = new HyoaClass.Hyoa_flowtache(); DataTable flowtachedt = Hyoa_flowtache.Getflowtachebyflowid(lssoureceflowid); if (flowtachedt.Rows.Count > 0) { for (i = 0; i < flowtachedt.Rows.Count; i++) { Hyoa_flowtache.ID = Hyoa_global.GetRandom(); Hyoa_flowtache.hy_flowid = this.txtflowidbymd.Text; Hyoa_flowtache.hy_tacheid = flowtachedt.Rows[i]["hy_tacheid"].ToString(); Hyoa_flowtache.hy_tachename = flowtachedt.Rows[i]["hy_tachename"].ToString(); Hyoa_flowtache.hy_sort = System.Int32.Parse(flowtachedt.Rows[i]["hy_sort"].ToString()); Hyoa_flowtache.hy_ifshowcurcomp = flowtachedt.Rows[i]["hy_ifshowcurcomp"].ToString(); Hyoa_flowtache.hy_ifshowcurdept = flowtachedt.Rows[i]["hy_ifshowcurdept"].ToString(); Hyoa_flowtache.hy_XValue = flowtachedt.Rows[i]["hy_XValue"].ToString(); Hyoa_flowtache.hy_YValue = flowtachedt.Rows[i]["hy_YValue"].ToString(); Hyoa_flowtache.hy_rdDoIsSendSms = flowtachedt.Rows[i]["hy_rdDoIsSendSms"].ToString(); Hyoa_flowtache.hy_rdDoIsSendMessage = flowtachedt.Rows[i]["hy_rdDoIsSendMessage"].ToString(); Hyoa_flowtache.hy_rdPassIsSendSms = flowtachedt.Rows[i]["hy_rdPassIsSendSms"].ToString(); Hyoa_flowtache.hy_rdPassIsSendMessage = flowtachedt.Rows[i]["hy_rdPassIsSendMessage"].ToString(); Hyoa_flowtache.hy_enablecondition = flowtachedt.Rows[i]["hy_enablecondition"].ToString(); Hyoa_flowtache.Insert(); } } //string lssql4 = "select * from hyt_flowtachefield where hy_flowid='flow0004'";//流程环节对应的域 HyoaClass.Hyoa_flowtachefield Hyoa_flowtachefield = new HyoaClass.Hyoa_flowtachefield(); DataTable flowtachefielddt = Hyoa_flowtachefield.Getflowtachefieldbyflowid(lssoureceflowid); if (flowtachefielddt.Rows.Count > 0) { for (i = 0; i < flowtachefielddt.Rows.Count; i++) { Hyoa_flowtachefield.ID = Hyoa_global.GetRandom(); Hyoa_flowtachefield.hy_flowid = this.txtflowidbymd.Text; Hyoa_flowtachefield.hy_tacheid = flowtachefielddt.Rows[i]["hy_tacheid"].ToString(); Hyoa_flowtachefield.hy_fieldid = flowtachefielddt.Rows[i]["hy_fieldid"].ToString(); Hyoa_flowtachefield.Insert(); } } //string lssql5 = "select * from hyt_flowtacheuser where hy_flowid='flow0004'";//流程环节对应的用户 HyoaClass.Hyoa_flowtacheuser Hyoa_flowtacheuser = new HyoaClass.Hyoa_flowtacheuser(); DataTable flowtacheuserdt = Hyoa_flowtacheuser.Getflowtacheuserbyflowid(lssoureceflowid); if (flowtacheuserdt.Rows.Count > 0) { for (i = 0; i < flowtacheuserdt.Rows.Count; i++) { Hyoa_flowtacheuser.ID = Hyoa_global.GetRandom(); Hyoa_flowtacheuser.hy_flowid = this.txtflowidbymd.Text; Hyoa_flowtacheuser.hy_tacheid = flowtacheuserdt.Rows[i]["hy_tacheid"].ToString(); Hyoa_flowtacheuser.hy_userid = flowtacheuserdt.Rows[i]["hy_userid"].ToString(); Hyoa_flowtacheuser.Insert(); } } //string lssql6 = "select * from hyt_flowwork where hy_flowid='flow0004'";//流程的下环节对应什么,即工作流 HyoaClass.Hyoa_flowwork Hyoa_flowwork = new HyoaClass.Hyoa_flowwork(); DataTable flowworkdt = Hyoa_flowwork.Getflowworksbyflowid(lssoureceflowid); if (flowworkdt.Rows.Count > 0) { for (i = 0; i < flowworkdt.Rows.Count; i++) { Hyoa_flowwork.ID = Hyoa_global.GetRandom(); Hyoa_flowwork.hy_flowid = this.txtflowidbymd.Text; Hyoa_flowwork.hy_curtacheid = flowworkdt.Rows[i]["hy_curtacheid"].ToString(); Hyoa_flowwork.hy_curtachename = flowworkdt.Rows[i]["hy_curtachename"].ToString(); Hyoa_flowwork.hy_nexttacheid = flowworkdt.Rows[i]["hy_nexttacheid"].ToString(); Hyoa_flowwork.hy_nexttachename = flowworkdt.Rows[i]["hy_nexttachename"].ToString(); Hyoa_flowwork.hy_sort = System.Int32.Parse(flowworkdt.Rows[i]["hy_sort"].ToString()); Hyoa_flowwork.hy_actiontype = flowworkdt.Rows[i]["hy_actiontype"].ToString(); Hyoa_flowwork.hy_identity_type = flowworkdt.Rows[i]["hy_identity_type"].ToString(); Hyoa_flowwork.hy_identity_id = flowworkdt.Rows[i]["hy_identity_id"].ToString(); Hyoa_flowwork.hy_jscondition = flowworkdt.Rows[i]["hy_jscondition"].ToString(); Hyoa_flowwork.hy_jscondition1 = flowworkdt.Rows[i]["hy_jscondition1"].ToString(); Hyoa_flowwork.hy_jscondition2 = flowworkdt.Rows[i]["hy_jscondition2"].ToString(); Hyoa_flowwork.hy_zdcyuserids = flowworkdt.Rows[i]["hy_zdcyuserids"].ToString(); Hyoa_flowwork.Insert(); } } } //处理完成后的提示及跳转 if (this.txtifpop.Value == "") { Response.Write("<script>alert('" + ls_tip + "');window.location='" + this.txturl.Value + "'</script>"); } else { Response.Write("<script>alert('" + ls_tip + "');self.close();</script>"); } }
//需要导出的内容 private string getExcelContent() { HyoaClass.Hyoa_global Hyoa_global = new HyoaClass.Hyoa_global(); //根据表ID和模块ID得到当前传进来的模块是否有流程 HyoaClass.Hyoa_tableconfig Hyoa_tableconfig = new HyoaClass.Hyoa_tableconfig(); DataTable dttableconfig = Hyoa_tableconfig.GetTablesbymudelidandtableid(this.txtmudelid.Value, this.txttableid.Value); //根据表单得到对应的所有字段 HyoaClass.Hyoa_flowfield Hyoa_flowfield = new HyoaClass.Hyoa_flowfield(); DataTable dtflowfield = Hyoa_flowfield.Getflowfieldsbytableid(dttableconfig.Rows[0]["ID"].ToString()); //循环所有字段 string ls_flowfield = ""; if (dtflowfield.Rows.Count > 0) { for (int i = 0; i < dtflowfield.Rows.Count; i++) { string ls_fieldtype = dtflowfield.Rows[i]["hy_fieldtype"].ToString(); if (ls_fieldtype == "文本" || ls_fieldtype == "多行文本" || ls_fieldtype == "文本加按钮" || ls_fieldtype == "多行文本加按钮" || ls_fieldtype == "日期" || ls_fieldtype == "数值" || ls_fieldtype == "对话框列表" || ls_fieldtype == "复选框" || ls_fieldtype == "单选框" || ls_fieldtype == "口令") { ls_flowfield += ",a.hyc_" + dtflowfield.Rows[i]["hy_fieldid"].ToString(); } } } HyoaClass.Hyoa_listconfig Hyoa_listconfig = new HyoaClass.Hyoa_listconfig(); DataTable dtlist = Hyoa_listconfig.Getlistconfig(this.txtlistid.Value); //列表配置 #region ---查询条件--- string cmdStr_Search = ""; if (txtsearchfields.Text != "") { string[] lv_searchfields = txtsearchfields.Text.Split(','); string[] lv_searchfields_sx = txtsearchfields_sx.Text.Split(','); for (int i = 0; i < lv_searchfields.Length; i++) { string ls_fieldid = lv_searchfields[i].ToString(); string ls_fieldid_sx = lv_searchfields_sx[i].ToString(); string ls_searchtext = ""; if (this.Request.Form[ls_fieldid] != null) { ls_searchtext = this.Request.Form[ls_fieldid].ToString(); } if (ls_searchtext != "") { if (ls_fieldid_sx == "0") { cmdStr_Search += " and hyc_" + ls_fieldid + " like '%" + ls_searchtext + "%' "; } else { if (ls_fieldid_sx == "1") { if (Session["conntype"].ToString() == "SQL") { cmdStr_Search += " and left(CONVERT(varchar, hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ", 120 ) ,10) >= '" + ls_searchtext + "' "; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr_Search += " and to_char(hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ",'YYYY-MM-DD') >= '" + ls_searchtext + "' "; } } if (ls_fieldid_sx == "2") { if (Session["conntype"].ToString() == "SQL") { cmdStr_Search += " and left(CONVERT(varchar, hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ", 120 ) ,10) <= '" + ls_searchtext + "' "; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr_Search += " and to_char(hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ",'YYYY-MM-DD') <= '" + ls_searchtext + "' "; } } if (ls_fieldid_sx == "3") { cmdStr_Search += " and hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + " >= " + ls_searchtext + " "; } if (ls_fieldid_sx == "4") { cmdStr_Search += " and hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + " <= " + ls_searchtext + " "; } } } } } #endregion ---查询条件--- #region ---排序--- string cmdStr_SearchSort = ""; if (dtlist.Rows[0]["hy_sortfield1"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield1"].ToString() + " " + dtlist.Rows[0]["hy_sorttype1"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield1"].ToString() + " " + dtlist.Rows[0]["hy_sorttype1"].ToString(); } } if (dtlist.Rows[0]["hy_sortfield2"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield2"].ToString() + " " + dtlist.Rows[0]["hy_sorttype2"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield2"].ToString() + " " + dtlist.Rows[0]["hy_sorttype2"].ToString(); } } if (dtlist.Rows[0]["hy_sortfield3"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield3"].ToString() + " " + dtlist.Rows[0]["hy_sorttype3"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield3"].ToString() + " " + dtlist.Rows[0]["hy_sorttype3"].ToString(); } } if (cmdStr_SearchSort == "") { //没有配置,则默认按登记日期 cmdStr_SearchSort = " order by hy_djsj desc "; } #endregion ---排序--- #region --根据查询条件得到返回数据集-- DataTable dt = new DataTable(); //单页数据集 DataTable dt_total = new DataTable(); //数据总条数,返回总条数值 DataTable dttable = Hyoa_tableconfig.GetTable(this.txttableid.Value); //得到表配置信息查看当前表是否有流程 hy_ifflowdoc string cmdStr = ""; if (dttable.Rows[0]["hy_ifflowdoc"].ToString() == "是") { if (dttable.Rows[0]["hy_ispuballByflowYB"].ToString() == "是") { string ls_from = ""; if (Session["conntype"].ToString() == "SQL") { ls_from = " hyc_" + this.txttableid.Value + " a,hyp_flowhistoryinfo_cl b where a.DOCID=b.DOCID and (','+b.hy_clrid+',' like '%," + Session["hyuid"].ToString() + ",%' or ','+b.hy_cyrid+',' like '%," + Session["hyuid"].ToString() + ",%' or a.hy_curtacheid='**') and b.hy_ifth!='是' " + cmdStr_Search; //cmdStr = "select distinct top 10 a.DOCID,a.hy_mudelid,a.hy_tableid,a.hy_flowid,a.hy_flowname,a.hy_curtacheid,a.hy_curtachename,a.hy_curclrid,a.hy_curclrname,a.hy_djrid,a.hy_djrname,a.hy_djrbmid,a.hy_djrbmname,a.hy_djsj,a.hy_bt,a.hy_iftx,a.hy_zhtxsj,a.hy_readuserlist,a.hy_readdatelist,a.hy_motherid,a.hy_ifconfirm" + ls_flowfield + " from " + ls_from; //cmdStr += " and a.DOCID not in (select top " + ((PageNo - 1) * 10).ToString() + " a.DOCID from " + ls_from + cmdStr_SearchSort + ") " + cmdStr_SearchSort; cmdStr = "select distinct a.DOCID,a.hy_mudelid,a.hy_tableid,a.hy_flowid,a.hy_flowname,a.hy_curtacheid,a.hy_curtachename,"; cmdStr += "a.hy_curclrid,a.hy_curclrname,a.hy_djrid,a.hy_djrname,a.hy_djrbmid,a.hy_djrbmname,a.hy_djsj,a.hy_bt,a.hy_iftx,"; cmdStr += "a.hy_zhtxsj,a.hy_readuserlist,a.hy_readdatelist,a.hy_motherid,a.hy_ifconfirm" + ls_flowfield + " from " + ls_from + cmdStr_SearchSort; } dt = Hyoa_global.GetDataTable(cmdStr); if (Session["conntype"].ToString() == "SQL") { cmdStr = "select count(*) from (select distinct a.DOCID,a.hy_mudelid,a.hy_tableid,a.hy_flowid,a.hy_flowname,a.hy_curtacheid,a.hy_curtachename,a.hy_curclrid,a.hy_curclrname,a.hy_djrid,a.hy_djrname,a.hy_djrbmid,a.hy_djrbmname,a.hy_djsj,a.hy_bt,a.hy_iftx,a.hy_zhtxsj,a.hy_readuserlist,a.hy_readdatelist,a.hy_motherid,a.hy_ifconfirm" + ls_flowfield + " from " + ls_from + " ) f"; } dt_total = Hyoa_global.GetDataTable(cmdStr); //dt = Hyoa_flowmain.GetflowmainsByIf_jsDisplayAll(); //输出流程的dt } else { string ls_from = ""; if (Session["conntype"].ToString() == "SQL") { ls_from = " hyc_" + this.txttableid.Value + " a,hyp_flowhistoryinfo_cl b where a.DOCID=b.DOCID and (','+b.hy_clrid+',' like '%," + Session["hyuid"].ToString() + ",%' or ','+b.hy_cyrid+',' like '%," + Session["hyuid"].ToString() + ",%') and b.hy_ifth!='是' " + cmdStr_Search; //cmdStr = "select distinct top 10 a.DOCID,a.hy_mudelid,a.hy_tableid,a.hy_flowid,a.hy_flowname,a.hy_curtacheid,a.hy_curtachename,a.hy_curclrid,a.hy_curclrname,a.hy_djrid,a.hy_djrname,a.hy_djrbmid,a.hy_djrbmname,a.hy_djsj,a.hy_bt,a.hy_iftx,a.hy_zhtxsj,a.hy_readuserlist,a.hy_readdatelist,a.hy_motherid,a.hy_ifconfirm" + ls_flowfield + " from " + ls_from; //cmdStr += " and a.DOCID not in (select top " + ((PageNo - 1) * 10).ToString() + " a.DOCID from " + ls_from + cmdStr_SearchSort + ") " + cmdStr_SearchSort; cmdStr = "select distinct a.DOCID,a.hy_mudelid,a.hy_tableid,a.hy_flowid,a.hy_flowname,a.hy_curtacheid,a.hy_curtachename,"; cmdStr += "a.hy_curclrid,a.hy_curclrname,a.hy_djrid,a.hy_djrname,a.hy_djrbmid,a.hy_djrbmname,a.hy_djsj,a.hy_bt,a.hy_iftx,"; cmdStr += "a.hy_zhtxsj,a.hy_readuserlist,a.hy_readdatelist,a.hy_motherid,a.hy_ifconfirm" + ls_flowfield + " from " + ls_from + cmdStr_SearchSort; } dt = Hyoa_global.GetDataTable(cmdStr); if (Session["conntype"].ToString() == "SQL") { cmdStr = "select count(*) from (select distinct a.DOCID,a.hy_mudelid,a.hy_tableid,a.hy_flowid,a.hy_flowname,a.hy_curtacheid,a.hy_curtachename,a.hy_curclrid,a.hy_curclrname,a.hy_djrid,a.hy_djrname,a.hy_djrbmid,a.hy_djrbmname,a.hy_djsj,a.hy_bt,a.hy_iftx,a.hy_zhtxsj,a.hy_readuserlist,a.hy_readdatelist,a.hy_motherid,a.hy_ifconfirm" + ls_flowfield + " from " + ls_from + " ) f"; } dt_total = Hyoa_global.GetDataTable(cmdStr); //dt = Hyoa_flowmain.GetflowmainsByIf(); //输出流程的dt } } else { if (dttable.Rows[0]["hy_ifdisplayall"].ToString() == "是") { string ls_from = ""; ls_from = " hyc_" + this.txttableid.Value + " where 1=1 " + cmdStr_Search; if (Session["conntype"].ToString() == "SQL") { cmdStr = "select * from " + ls_from + cmdStr_SearchSort; //cmdStr += " and DOCID not in (select top " + ((PageNo - 1) * 10).ToString() + " DOCID from " + ls_from + cmdStr_SearchSort + ") " + cmdStr_SearchSort; } dt = Hyoa_global.GetDataTable(cmdStr); cmdStr = "select count(*) from " + ls_from; dt_total = Hyoa_global.GetDataTable(cmdStr); } else { string ls_from = ""; //ls_from = " hyc_" + this.txttableid.Value + " where hy_djrid='" + Session["hyuid"].ToString() + "' " + cmdStr_Search; ls_from = " hyc_" + this.txttableid.Value + " where 1=1 " + cmdStr_Search; if (Session["conntype"].ToString() == "SQL") { cmdStr = "select * from " + ls_from + cmdStr_SearchSort; //cmdStr += " and DOCID not in (select top " + ((PageNo - 1) * 10).ToString() + " DOCID from " + ls_from + cmdStr_SearchSort + ") " + cmdStr_SearchSort; } dt = Hyoa_global.GetDataTable(cmdStr); cmdStr = "select count(*) from " + ls_from; dt_total = Hyoa_global.GetDataTable(cmdStr); } } #endregion --根据查询条件得到返回数据集-- //开始输出----整合成HTML为数据行 StringBuilder sb = new StringBuilder(); string lscolname = ""; string lscolnameid = ""; string lscolwidth = ""; string[] lvcolname; string[] lvcolnameid; string[] lvcolwidth; string lscolwidthper; lscolname = dtlist.Rows[0]["hy_columnshow"].ToString(); //要显示的列名:附件,标题,收文来源 lscolnameid = dtlist.Rows[0]["hy_columnshowid"].ToString(); //要显示的列名id:uploadfile1,Hy_bt,Hy_swly lscolwidth = dtlist.Rows[0]["hy_width"].ToString(); //要显示的列名id:10,20,30 lvcolname = lscolname.Split(','); lvcolnameid = lscolnameid.Split(','); lvcolwidth = lscolwidth.Split(','); string ls_colspan = (lvcolname.Length + 1).ToString(); sb.Append("<table border='1'>"); sb.Append("<thead><tr><th colSpan='" + ls_colspan + "' class='ztitle'>" + this.lblcurtachenameshow.Text + "</th></tr>"); sb.Append("<tr><th colSpan='" + ls_colspan + "' class='tdheight20'></th></tr>"); sb.Append("<tr>"); sb.Append("<th style='width:70px;' class='tdcenter'>序号</th>"); //如果没有数据则输出表头 for (int n = 0; n < lvcolname.Length; n++) { if (n >= lvcolwidth.Length) { //此判断是为了防止对应宽度没有输入时,会溢出报错。 lscolwidthper = "100"; } else { lscolwidthper = (int.Parse(lvcolwidth[n]) * 20).ToString(); } sb.Append("<th style='width:" + lscolwidthper + "px;' class='tdcenter'>" + lvcolname[n] + "</th>"); } sb.Append("</tr></thead>"); if (dt.Rows.Count <= 0) { sb.Append("</table>"); } else { //如果有数据,则输出数据 sb.Append("<tbody>"); for (int i = 0; i < dt.Rows.Count; i++) { sb.Append("<tr>"); sb.Append("<td class='tdcenter'>" + (i + 1).ToString() + "</td>"); //序号 //////开始得到列的值 DataTable dtgetsqlfield; for (int m = 0; m < lvcolname.Length; m++) { //根据字段英文名,得到数据库中对应的字段 dtgetsqlfield = Hyoa_flowfield.GetSQLfieldBymudelidAndFieldidAndTableid(this.txtmudelid.Value, lvcolnameid[m], this.txttableid.Value); string lsgetsqlfield = "hyc_" + dtgetsqlfield.Rows[0]["hy_fieldid"].ToString(); //根据数据库中对应的字段,得到输出字段的值start (日期型根据格式进行了转换) string lsgetputfiled = ""; if (dtgetsqlfield.Rows[0]["hy_defaultvalue"].ToString() == "yyyy-mm-dd") { if (dt.Rows[i][lsgetsqlfield].ToString() != "") lsgetputfiled = System.DateTime.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToString("yyyy-MM-dd"); } else { //解决Float小数点后面出现N位小数乱码的问题 if (dtgetsqlfield.Rows[0]["hy_fieldtype"].ToString() == "数值") { if (dt.Rows[i][lsgetsqlfield].ToString() != "") { //是否包含小数点,包含的话,取小数点后两位 if (dt.Rows[i][lsgetsqlfield].ToString().Contains(".") == true) { lsgetputfiled = float.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToString("F2"); } else { lsgetputfiled = float.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToString(); } } else { lsgetputfiled = "0"; } //lsgetputfiled = dt.Rows[i][lsgetsqlfield].ToString(); } else { lsgetputfiled = dt.Rows[i][lsgetsqlfield].ToString(); } } if (lsgetputfiled == "") lsgetputfiled = " "; sb.Append("<td class='tdcenter'>" + lsgetputfiled + "</td>"); } sb.Append("</tr>"); } sb.Append("</tbody></table>"); } return sb.ToString(); }
//保存 protected void Button_Save_Click(object sender, EventArgs e) { if (this.Session["hyuid"].ToString() == "") this.Response.Redirect("/login.aspx"); string ls_tip = "保存成功!"; //string lssql1 = "SELECT * FROM hyt_flowfield WHERE hy_tableid = '" + this.lbtableidbysorce.Text + "'"; //得到配置字段 HyoaClass.Hyoa_flowfield Hyoa_flowfield = new HyoaClass.Hyoa_flowfield(); HyoaClass.Hyoa_global Hyoa_global = new HyoaClass.Hyoa_global(); int i; DataTable flowfielddt = Hyoa_flowfield.Getflowfieldsbytableid(this.lbtableidbysorce.Text); string newtableid; newtableid = Hyoa_global.GetRandom(); if (flowfielddt.Rows.Count > 0) { for (i = 0; i < flowfielddt.Rows.Count; i++) { Hyoa_flowfield.ID = Hyoa_global.GetRandom(); Hyoa_flowfield.hy_tableid = newtableid; Hyoa_flowfield.hy_mudelid = this.ddlmudelidbymd.SelectedValue; Hyoa_flowfield.hy_flowid = this.txtflowidbymd.Text; Hyoa_flowfield.hy_fieldid = flowfielddt.Rows[i]["hy_fieldid"].ToString(); Hyoa_flowfield.hy_fieldname = flowfielddt.Rows[i]["hy_fieldname"].ToString(); Hyoa_flowfield.hy_fieldtype = flowfielddt.Rows[i]["hy_fieldtype"].ToString(); Hyoa_flowfield.hy_ifreadonly = flowfielddt.Rows[i]["hy_ifreadonly"].ToString(); Hyoa_flowfield.hy_defaultvaluetype = System.Int32.Parse(flowfielddt.Rows[i]["hy_defaultvaluetype"].ToString()); Hyoa_flowfield.hy_defaultvalue = flowfielddt.Rows[i]["hy_defaultvalue"].ToString(); Hyoa_flowfield.hy_optiontype = System.Int32.Parse(flowfielddt.Rows[i]["hy_optiontype"].ToString()); Hyoa_flowfield.hy_options = flowfielddt.Rows[i]["hy_options"].ToString(); Hyoa_flowfield.hy_onclick = flowfielddt.Rows[i]["hy_onclick"].ToString(); Hyoa_flowfield.hy_ondblclick = flowfielddt.Rows[i]["hy_ondblclick"].ToString(); Hyoa_flowfield.hy_onchange = flowfielddt.Rows[i]["hy_onchange"].ToString(); Hyoa_flowfield.hy_onkeydown = flowfielddt.Rows[i]["hy_onkeydown"].ToString(); Hyoa_flowfield.hy_onkeyup = flowfielddt.Rows[i]["hy_onkeyup"].ToString(); Hyoa_flowfield.hy_sqlfield = flowfielddt.Rows[i]["hy_sqlfield"].ToString(); Hyoa_flowfield.hy_class = flowfielddt.Rows[i]["hy_class"].ToString(); Hyoa_flowfield.hy_width = flowfielddt.Rows[i]["hy_width"].ToString(); Hyoa_flowfield.hy_height = flowfielddt.Rows[i]["hy_height"].ToString(); Hyoa_flowfield.hy_tdnums = System.Int32.Parse(flowfielddt.Rows[i]["hy_tdnums"].ToString()); Hyoa_flowfield.hy_config = flowfielddt.Rows[i]["hy_config"].ToString(); Hyoa_flowfield.hy_sort = System.Int32.Parse(flowfielddt.Rows[i]["hy_sort"].ToString()); Hyoa_flowfield.hy_wordlimit = System.Int32.Parse(flowfielddt.Rows[i]["hy_wordlimit"].ToString()); Hyoa_flowfield.hy_required = flowfielddt.Rows[i]["hy_required"].ToString(); Hyoa_flowfield.hy_align = flowfielddt.Rows[i]["hy_align"].ToString(); Hyoa_flowfield.Insert(); } } HyoaClass.Hyoa_tableconfig Hyoa_tableconfig = new HyoaClass.Hyoa_tableconfig(); //hyt_tableconfig DataTable tableconfigdt = Hyoa_tableconfig.GetTablesbymudelid(this.lbmudelidbysource.Text); if (tableconfigdt.Rows.Count > 0) { Hyoa_tableconfig.ID = newtableid; Hyoa_tableconfig.hy_mudelid = this.ddlmudelidbymd.SelectedValue; Hyoa_tableconfig.hy_name = this.txttablenamebymd.Text; Hyoa_tableconfig.hy_onload = tableconfigdt.Rows[0]["hy_onload"].ToString(); Hyoa_tableconfig.hy_sort = System.Int32.Parse(this.txttablesortbymd.Text); Hyoa_tableconfig.hy_ifflowdoc = this.ddlifflowdoc.SelectedValue; Hyoa_tableconfig.hy_ifdisplayall = tableconfigdt.Rows[0]["hy_ifdisplayall"].ToString(); Hyoa_tableconfig.hy_ispuballByflowYB = tableconfigdt.Rows[0]["hy_ispuballByflowYB"].ToString(); Hyoa_tableconfig.hy_tablerole = tableconfigdt.Rows[0]["hy_tablerole"].ToString(); Hyoa_tableconfig.Insert(); } //以下为流程模块的功能,非流程模块不需要执行 if (this.ddlifflowdoc.SelectedValue == "是") { //string lssql2 = "SELECT * FROM hyt_flowinfor WHERE hy_mudelid = 'bgyply'";//得到模块对应的流程 HyoaClass.Hyoa_flowinfor Hyoa_flowinfor = new HyoaClass.Hyoa_flowinfor(); DataTable flowinfordt = Hyoa_flowinfor.Getflowinforbymudelid(this.lbmudelidbysource.Text); string lssoureceflowid = flowfielddt.Rows[0]["hy_flowid"].ToString();//得到老模块的flowid 后面要用到 //插入流程信息start Hyoa_flowinfor.hy_flowid = this.txtflowidbymd.Text; Hyoa_flowinfor.hy_flowname =this.txtflownamebymd.Text; Hyoa_flowinfor.hy_sort = System.Int32.Parse(this.txtflowsortbymd.Text); Hyoa_flowinfor.hy_mudelid = this.ddlmudelidbymd.SelectedValue; Hyoa_flowinfor.Insert(); //插入流程信息end //string lssql3 = "select * from hyt_flowtache where hy_flowid = 'flow0004'";//流程对应的环节 HyoaClass.Hyoa_flowtache Hyoa_flowtache = new HyoaClass.Hyoa_flowtache(); DataTable flowtachedt = Hyoa_flowtache.Getflowtachebyflowid(lssoureceflowid); if (flowtachedt.Rows.Count > 0) { for (i = 0; i < flowtachedt.Rows.Count; i++) { Hyoa_flowtache.ID = Hyoa_global.GetRandom(); Hyoa_flowtache.hy_flowid = this.txtflowidbymd.Text; Hyoa_flowtache.hy_tacheid = flowtachedt.Rows[i]["hy_tacheid"].ToString(); Hyoa_flowtache.hy_tachename = flowtachedt.Rows[i]["hy_tachename"].ToString(); Hyoa_flowtache.hy_sort = System.Int32.Parse(flowtachedt.Rows[i]["hy_sort"].ToString()); Hyoa_flowtache.hy_ifshowcurdept = flowtachedt.Rows[i]["hy_ifshowcurdept"].ToString(); Hyoa_flowtache.hy_XValue = flowtachedt.Rows[i]["hy_XValue"].ToString(); Hyoa_flowtache.hy_YValue = flowtachedt.Rows[i]["hy_YValue"].ToString(); Hyoa_flowtache.hy_rdDoIsSendSms = flowtachedt.Rows[i]["hy_rdDoIsSendSms"].ToString(); Hyoa_flowtache.hy_rdDoIsSendMessage = flowtachedt.Rows[i]["hy_rdDoIsSendMessage"].ToString(); Hyoa_flowtache.hy_rdPassIsSendSms = flowtachedt.Rows[i]["hy_rdPassIsSendSms"].ToString(); Hyoa_flowtache.hy_rdPassIsSendMessage = flowtachedt.Rows[i]["hy_rdPassIsSendMessage"].ToString(); Hyoa_flowtache.Insert(); } } //string lssql4 = "select * from hyt_flowtachefield where hy_flowid='flow0004'";//流程环节对应的域 HyoaClass.Hyoa_flowtachefield Hyoa_flowtachefield = new HyoaClass.Hyoa_flowtachefield(); DataTable flowtachefielddt = Hyoa_flowtachefield.Getflowtachefieldbyflowid(lssoureceflowid); if (flowtachefielddt.Rows.Count > 0) { for (i = 0; i < flowtachefielddt.Rows.Count; i++) { Hyoa_flowtachefield.ID = Hyoa_global.GetRandom(); Hyoa_flowtachefield.hy_flowid = this.txtflowidbymd.Text; Hyoa_flowtachefield.hy_tacheid = flowtachefielddt.Rows[i]["hy_tacheid"].ToString(); Hyoa_flowtachefield.hy_fieldid = flowtachefielddt.Rows[i]["hy_fieldid"].ToString(); Hyoa_flowtachefield.Insert(); } } //string lssql5 = "select * from hyt_flowtacheuser where hy_flowid='flow0004'";//流程环节对应的用户 HyoaClass.Hyoa_flowtacheuser Hyoa_flowtacheuser = new HyoaClass.Hyoa_flowtacheuser(); DataTable flowtacheuserdt = Hyoa_flowtacheuser.Getflowtacheuserbyflowid(lssoureceflowid); if (flowtacheuserdt.Rows.Count > 0) { for (i = 0; i < flowtacheuserdt.Rows.Count; i++) { Hyoa_flowtacheuser.ID = Hyoa_global.GetRandom(); Hyoa_flowtacheuser.hy_flowid = this.txtflowidbymd.Text; Hyoa_flowtacheuser.hy_tacheid = flowtacheuserdt.Rows[i]["hy_tacheid"].ToString(); Hyoa_flowtacheuser.hy_userid = flowtacheuserdt.Rows[i]["hy_userid"].ToString(); Hyoa_flowtacheuser.Insert(); } } //string lssql6 = "select * from hyt_flowwork where hy_flowid='flow0004'";//流程的下环节对应什么,即工作流 HyoaClass.Hyoa_flowwork Hyoa_flowwork = new HyoaClass.Hyoa_flowwork(); DataTable flowworkdt = Hyoa_flowwork.Getflowworksbyflowid(lssoureceflowid); if (flowworkdt.Rows.Count > 0) { for (i = 0; i < flowworkdt.Rows.Count; i++) { Hyoa_flowwork.ID = Hyoa_global.GetRandom(); Hyoa_flowwork.hy_flowid = this.txtflowidbymd.Text; Hyoa_flowwork.hy_curtacheid = flowworkdt.Rows[i]["hy_curtacheid"].ToString(); Hyoa_flowwork.hy_curtachename = flowworkdt.Rows[i]["hy_curtachename"].ToString(); Hyoa_flowwork.hy_nexttacheid = flowworkdt.Rows[i]["hy_nexttacheid"].ToString(); Hyoa_flowwork.hy_nexttachename = flowworkdt.Rows[i]["hy_nexttachename"].ToString(); Hyoa_flowwork.hy_sort = System.Int32.Parse(flowworkdt.Rows[i]["hy_sort"].ToString()); Hyoa_flowwork.hy_actiontype = flowworkdt.Rows[i]["hy_actiontype"].ToString(); Hyoa_flowwork.Insert(); } } } //处理完成后的提示及跳转 if (this.txtifpop.Value == "") { Response.Write("<script>alert('" + ls_tip + "');window.location='" + this.txturl.Value + "'</script>"); } else { Response.Write("<script>alert('" + ls_tip + "');self.close();</script>"); } }
private void DataPlay(int PageNo) { //得到当前模块对应的role HyoaClass.Hyoa_mudel Hyoa_mudel = new HyoaClass.Hyoa_mudel(); DataTable dt_mudel = Hyoa_mudel.Getmudel(this.txtmudelid.Value); string ls_role = "Role9999"; if (dt_mudel.Rows.Count > 0) { ls_role = dt_mudel.Rows[0]["hy_roleid"].ToString(); } //根据表ID和模块ID得到当前传进来的模块是否有流程 HyoaClass.Hyoa_tableconfig Hyoa_tableconfig = new HyoaClass.Hyoa_tableconfig(); DataTable dttableconfig = Hyoa_tableconfig.GetTablesbymudelidandtableid(this.txtmudelid.Value, this.txttableid.Value); //根据表单得到对应的所有字段 HyoaClass.Hyoa_flowfield Hyoa_flowfield = new HyoaClass.Hyoa_flowfield(); DataTable dtflowfield = Hyoa_flowfield.Getflowfieldsbytableid(dttableconfig.Rows[0]["ID"].ToString()); //循环所有字段 string ls_flowfield = ""; if (dtflowfield.Rows.Count > 0) { for (int i = 0; i < dtflowfield.Rows.Count; i++) { string ls_fieldtype = dtflowfield.Rows[i]["hy_fieldtype"].ToString(); if (ls_fieldtype == "文本" || ls_fieldtype == "多行文本" || ls_fieldtype == "文本加按钮" || ls_fieldtype == "多行文本加按钮" || ls_fieldtype == "日期" || ls_fieldtype == "数值" || ls_fieldtype == "对话框列表" || ls_fieldtype == "复选框" || ls_fieldtype == "单选框" || ls_fieldtype == "口令") { ls_flowfield += ",a.hyc_" + dtflowfield.Rows[i]["hy_fieldid"].ToString(); } } } //判断当前用户是否有删除权限 HyoaClass.Hyoa_global Hyoa_global = new HyoaClass.Hyoa_global(); //如果非流程(授权用户统一管理) if (dttableconfig.Rows[0]["hy_tablerole"].ToString() == "0") { if (Hyoa_global.isHaveRole(ls_role, this.Session["hyuid"].ToString())) { this.isrole.Value = "1"; this.newcontrol.Visible = true; this.delcontrol.Visible = true; //this.copycontrol.Visible = true; } else { this.isrole.Value = "0"; } } //如果非流程(每个人管理自己的信息) if (dttableconfig.Rows[0]["hy_tablerole"].ToString() == "1") { this.isrole.Value = "1"; this.newcontrol.Visible = true; this.delcontrol_my.Visible = true; //this.copycontrol.Visible = true; } //如果非流程(每个人操作自己的信息、授权用户可管理所有信息) if (dttableconfig.Rows[0]["hy_tablerole"].ToString() == "2") { if (Hyoa_global.isHaveRole(ls_role, this.Session["hyuid"].ToString())) { this.isrole.Value = "1"; this.newcontrol.Visible = true; this.delcontrol.Visible = true; } else { this.isrole.Value = "0"; this.newcontrol.Visible = true; this.delcontrol_my.Visible = true; } } HyoaClass.Hyoa_listconfig Hyoa_listconfig = new HyoaClass.Hyoa_listconfig(); DataTable dtlist = Hyoa_listconfig.Getlistconfig(this.txtlistid.Value); //列表配置 this.lbdisplaytitle.Text = ""; //得到当前页号 this.curpage.Text = PageNo.ToString(); //---查询条件---开始 string cmdStr_Search = ""; if (txtsearchfields.Text != "") { string[] lv_searchfields = txtsearchfields.Text.Split(','); string[] lv_searchfields_sx = txtsearchfields_sx.Text.Split(','); for (int i = 0; i < lv_searchfields.Length; i++) { string ls_fieldid = lv_searchfields[i].ToString(); string ls_fieldid_sx = lv_searchfields_sx[i].ToString(); string ls_searchtext = ""; if (this.Request.Form[ls_fieldid] != null) { ls_searchtext = this.Request.Form[ls_fieldid].ToString(); } if (ls_searchtext != "") { if (ls_fieldid_sx == "0") { cmdStr_Search += " and hyc_" + ls_fieldid + " like '%" + ls_searchtext + "%' "; } else { if (ls_fieldid_sx == "1") { if (Session["conntype"].ToString() == "SQL") { cmdStr_Search += " and left(CONVERT(varchar, hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ", 120 ) ,10) >= '" + ls_searchtext + "' "; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr_Search += " and to_char(hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ",'YYYY-MM-DD') >= '" + ls_searchtext + "' "; } } if (ls_fieldid_sx == "2") { if (Session["conntype"].ToString() == "SQL") { cmdStr_Search += " and left(CONVERT(varchar, hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ", 120 ) ,10) <= '" + ls_searchtext + "' "; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr_Search += " and to_char(hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ",'YYYY-MM-DD') <= '" + ls_searchtext + "' "; } } if (ls_fieldid_sx == "3") { cmdStr_Search += " and hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + " >= " + ls_searchtext + " "; } if (ls_fieldid_sx == "4") { cmdStr_Search += " and hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + " <= " + ls_searchtext + " "; } } } } } //---查询条件---结束 //---排序---开始 string cmdStr_SearchSort = ""; if (dtlist.Rows[0]["hy_sortfield1"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield1"].ToString() + " " + dtlist.Rows[0]["hy_sorttype1"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield1"].ToString() + " " + dtlist.Rows[0]["hy_sorttype1"].ToString(); } } if (dtlist.Rows[0]["hy_sortfield2"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield2"].ToString() + " " + dtlist.Rows[0]["hy_sorttype2"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield2"].ToString() + " " + dtlist.Rows[0]["hy_sorttype2"].ToString(); } } if (dtlist.Rows[0]["hy_sortfield3"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield3"].ToString() + " " + dtlist.Rows[0]["hy_sorttype3"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield3"].ToString() + " " + dtlist.Rows[0]["hy_sorttype3"].ToString(); } } if (this.txtfieldid.Value != "" && this.txtfieldsort.Value != "") { cmdStr_SearchSort = " order by hyc_" + this.txtfieldid.Value + " " + this.txtfieldsort.Value + " "; } if (cmdStr_SearchSort == "") { //没有配置,则默认按登记日期 cmdStr_SearchSort = " order by hy_djsj desc "; } //---排序---结束 //通过URL传过来的分类选择值 added by xf 2012-02-11 string ls_key = ""; string ls_subkey = ""; string ls_threekey = ""; if (Request.QueryString["key"] != null) { ls_key = Request.QueryString["key"].ToString(); } if (Request.QueryString["subkey"] != null) { ls_subkey = Request.QueryString["subkey"].ToString(); } if (Request.QueryString["threekey"] != null) { ls_threekey = Request.QueryString["threekey"].ToString(); } //显示分类列表中的分类字段1 added by xf 2012-02-11 if (dtlist.Rows[0]["hy_sql_fl1"].ToString() != "") { int li_i = 0; //默认值 //如果配置中包含了#,则手工配置型,否则执行SQL语句 this.ddlflfield.Items.Insert(0, new ListItem("--请选择--", "")); if (dtlist.Rows[0]["hy_sql_fl1"].ToString().Contains("#")) { string[] lv_temp = dtlist.Rows[0]["hy_sql_fl1"].ToString().Split('#'); for (var i = 0; i < lv_temp.Length; i++) { this.ddlflfield.Items.Insert(i + 1, new ListItem(lv_temp[i], lv_temp[i])); //默认值 if (lv_temp[i] == ls_key) li_i = i + 1; } } else { string hy_sql_fl1 = dtlist.Rows[0]["hy_sql_fl1"].ToString(); if (hy_sql_fl1.Contains("当前用户ID")) hy_sql_fl1 = hy_sql_fl1.Replace("当前用户ID", "'" + Session["hyuid"].ToString() + "'"); DataTable dt_flxx = Hyoa_global.GetDataTable(hy_sql_fl1); if (dt_flxx.Rows.Count > 0) { for (var i = 0; i < dt_flxx.Rows.Count; i++) { this.ddlflfield.Items.Insert(i + 1, new ListItem(dt_flxx.Rows[i][0].ToString(), dt_flxx.Rows[i][0].ToString())); //默认值 if (dt_flxx.Rows[i][0].ToString() == ls_key) li_i = i + 1; } } } ddlflfield.SelectedIndex = li_i; } //显示分类列表中的分类字段2 added by xf 2012-02-11 if (dtlist.Rows[0]["hy_sql_fl2"].ToString() != "") { int li_i = 0; //默认值 //如果配置中包含了#,则手工配置型,否则执行SQL语句 this.ddlflfield.Items.Insert(0, new ListItem("--请选择--", "")); if (dtlist.Rows[0]["hy_sql_fl2"].ToString().Contains("#")) { string[] lv_temp = dtlist.Rows[0]["hy_sql_fl2"].ToString().Split('#'); for (var i = 0; i < lv_temp.Length; i++) { this.ddlflfield2.Items.Insert(i + 1, new ListItem(lv_temp[i], lv_temp[i])); //默认值 if (lv_temp[i] == ls_subkey) li_i = i + 1; } } else { string hy_sql_fl2 = dtlist.Rows[0]["hy_sql_fl2"].ToString(); if (hy_sql_fl2.Contains("当前用户ID")) hy_sql_fl2 = hy_sql_fl2.Replace("当前用户ID", "'" + Session["hyuid"].ToString() + "'"); DataTable dt_flxx = Hyoa_global.GetDataTable(hy_sql_fl2); if (dt_flxx.Rows.Count > 0) { for (var i = 0; i < dt_flxx.Rows.Count; i++) { this.ddlflfield2.Items.Insert(i + 1, new ListItem(dt_flxx.Rows[i][0].ToString(), dt_flxx.Rows[i][0].ToString())); //默认值 if (dt_flxx.Rows[i][0].ToString() == ls_subkey) li_i = i + 1; } } } ddlflfield2.SelectedIndex = li_i; } //显示分类列表中的分类字段3 added by xf 2012-02-11 if (dtlist.Rows[0]["hy_sql_fl3"].ToString() != "") { int li_i = 0; //默认值 //如果配置中包含了#,则手工配置型,否则执行SQL语句 this.ddlflfield3.Items.Insert(0, new ListItem("--请选择--", "")); if (dtlist.Rows[0]["hy_sql_fl3"].ToString().Contains("#")) { string[] lv_temp = dtlist.Rows[0]["hy_sql_fl3"].ToString().Split('#'); for (var i = 0; i < lv_temp.Length; i++) { this.ddlflfield3.Items.Insert(i + 1, new ListItem(lv_temp[i], lv_temp[i])); //默认值 if (lv_temp[i] == ls_threekey) li_i = i + 1; } } else { string hy_sql_fl3 = dtlist.Rows[0]["hy_sql_fl3"].ToString(); if (hy_sql_fl3.Contains("当前用户ID")) hy_sql_fl3 = hy_sql_fl3.Replace("当前用户ID", "'" + Session["hyuid"].ToString() + "'"); DataTable dt_flxx = Hyoa_global.GetDataTable(hy_sql_fl3); if (dt_flxx.Rows.Count > 0) { for (var i = 0; i < dt_flxx.Rows.Count; i++) { this.ddlflfield3.Items.Insert(i + 1, new ListItem(dt_flxx.Rows[i][0].ToString(), dt_flxx.Rows[i][0].ToString())); //默认值 if (dt_flxx.Rows[i][0].ToString() == ls_threekey) li_i = i + 1; } } } ddlflfield3.SelectedIndex = li_i; } //通过选择的分类值,自动添加分类的查询值 added by xf 2012-02-11 string ls_sqlfl = ""; if (dtlist.Rows[0]["hy_fieldid_fl1"].ToString() != "") { if (ls_key != "") { hy_fieldid_fl1.Text = dtlist.Rows[0]["hy_fieldid_fl1"].ToString(); ls_sqlfl += " and hyc_" + hy_fieldid_fl1.Text + "='" + ls_key + "' "; } } else { ddlflfield.Visible = false; } if (dtlist.Rows[0]["hy_fieldid_fl2"].ToString() != "") { if (ls_subkey != "") { hy_fieldid_fl2.Text = dtlist.Rows[0]["hy_fieldid_fl2"].ToString(); ls_sqlfl += " and hyc_" + hy_fieldid_fl2.Text + "='" + ls_subkey + "' "; } } else { ddlflfield2.Visible = false; } if (dtlist.Rows[0]["hy_fieldid_fl3"].ToString() != "") { if (ls_threekey != "") { hy_fieldid_fl3.Text = dtlist.Rows[0]["hy_fieldid_fl3"].ToString(); ls_sqlfl += " and hyc_" + hy_fieldid_fl3.Text + "='" + ls_threekey + "' "; } } else { ddlflfield3.Visible = false; } //--根据查询条件得到返回数据集--s DataTable dt = new DataTable(); //单页数据集 DataTable dt_total = new DataTable(); //数据总条数,返回总条数值 DataTable dttable = Hyoa_tableconfig.GetTable(this.txttableid.Value); //得到表配置信息查看当前表是否有流程 hy_ifflowdoc string cmdStr = ""; if (dttable.Rows[0]["hy_ifdisplayall"].ToString() == "是") { string ls_from = ""; ls_from = " hyc_" + this.txttableid.Value + " where 1=1 " + ls_sqlfl + cmdStr_Search; if (Session["conntype"].ToString() == "SQL") { cmdStr = "select top " + PageSize.Text + " * from " + ls_from; cmdStr += " and DOCID not in (select top " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString() + " DOCID from " + ls_from + cmdStr_SearchSort + ") " + cmdStr_SearchSort; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr = " select * from ( "; cmdStr += " select my_table.*, rownum as my_rownum from "; cmdStr += " ( "; cmdStr += " select * from hyc_" + this.txttableid.Value + " where 1=1 " + ls_sqlfl + cmdStr_Search + cmdStr_SearchSort; cmdStr += " ) my_table "; cmdStr += " where rownum<= " + ((PageNo) * int.Parse(PageSize.Text)).ToString(); cmdStr += " ) where my_rownum> " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString(); } dt = Hyoa_global.GetDataTable(cmdStr); cmdStr = "select count(*) from " + ls_from; dt_total = Hyoa_global.GetDataTable(cmdStr); } else { string ls_from = ""; ls_from = " hyc_" + this.txttableid.Value + " where hy_djrid='" + Session["hyuid"].ToString() + "' " + ls_sqlfl + cmdStr_Search; if (Session["conntype"].ToString() == "SQL") { cmdStr = "select top " + PageSize.Text + " * from " + ls_from; cmdStr += " and DOCID not in (select top " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString() + " DOCID from " + ls_from + cmdStr_SearchSort + ") " + cmdStr_SearchSort; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr = " select * from ( "; cmdStr += " select my_table.*, rownum as my_rownum from "; cmdStr += " ( "; cmdStr += " select * from hyc_" + this.txttableid.Value + " where hy_djrid='" + Session["hyuid"].ToString() + "' " + ls_sqlfl + cmdStr_Search + cmdStr_SearchSort; cmdStr += " ) my_table "; cmdStr += " where rownum<= " + ((PageNo) * int.Parse(PageSize.Text)).ToString(); cmdStr += " ) where my_rownum> " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString(); } dt = Hyoa_global.GetDataTable(cmdStr); cmdStr = "select count(*) from " + ls_from; dt_total = Hyoa_global.GetDataTable(cmdStr); } //--根据查询条件得到返回数据集--e //开始输出----整合成HTML为数据行 DataTable tempTable = dt.Clone(); DataColumn col = new DataColumn("displaycol", typeof(String)); //定义新的一列 add tempTable.Columns.Add(col); //追加一列 add string lscolname = ""; string lscolnameid = ""; string lscolwidth = ""; string ls_col = ""; string[] lvcolname; string[] lvcolnameid; string[] lvcolwidth; string lscolwidthper; lscolname = dtlist.Rows[0]["hy_columnshow"].ToString(); //要显示的列名:附件,标题,收文来源 lscolnameid = dtlist.Rows[0]["hy_columnshowid"].ToString(); //要显示的列名id:uploadfile1,Hy_bt,Hy_swly lscolwidth = dtlist.Rows[0]["hy_width"].ToString(); //要显示的列名id:10,20,30 lvcolname = lscolname.Split(','); lvcolnameid = lscolnameid.Split(','); lvcolwidth = lscolwidth.Split(','); if (dt.Rows.Count <= 0) { //如果没有数据则输出表头 for (int n = 0; n < lvcolname.Length; n++) { if (n >= lvcolwidth.Length) { lscolwidthper = ""; }//此判断是为了防止对应宽度没有输入时,会溢出报错。 else { lscolwidthper = lvcolwidth[n]; } this.lbdisplaytitle.Text += "<td width=\"" + lscolwidthper + "%\" class=\"TdcellHead\"><p align=\"center\">" + lvcolname[n] + "</td>"; } } for (int i = 0; i < dt.Rows.Count; i++) { DataRow dr = tempTable.NewRow(); //输出主表所有字段,start for (int j = 0; j < dt.Columns.Count; j++) { dr[dt.Columns[j].ColumnName] = dt.Rows[i][j]; } //输出主表所有字段,end //////开始得到列的值 DataTable dtgetsqlfield; for (int m = 0; m < lvcolname.Length; m++) { //如果有数据,则输出数据 if (m >= lvcolwidth.Length) { lscolwidthper = ""; }//此判断是为了防止对应宽度没有输入时,会溢出报错。 else { lscolwidthper = lvcolwidth[m]; } dtgetsqlfield = Hyoa_flowfield.GetSQLfieldBymudelidAndFieldidAndTableid(this.txtmudelid.Value, lvcolnameid[m], this.txttableid.Value); if (i % System.Int32.Parse(PageSize.Text) == 0) this.lbdisplaytitle.Text += "<td width=\"" + lscolwidthper + "%\" class=\"TdcellHead\"><p align=\"center\"><a href=\"#\" title=\"点击可排序\" onclick=\"fun_sort('" + lvcolnameid[m] + "');\">" + lvcolname[m] + "</a></p></td>"; //根据字段英文名,得到数据库中对应的字段 string lsgetsqlfield = "hyc_" + dtgetsqlfield.Rows[0]["hy_fieldid"].ToString(); //根据数据库中对应的字段,得到输出字段的值start (日期型根据格式进行了转换) string lsgetputfiled = ""; if (dtgetsqlfield.Rows[0]["hy_defaultvalue"].ToString() == "yyyy-mm-dd") { if (dt.Rows[i][lsgetsqlfield].ToString() != "") lsgetputfiled = System.DateTime.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToShortDateString(); } else { //解决Float小数点后面出现N位小数乱码的问题 if (dtgetsqlfield.Rows[0]["hy_fieldtype"].ToString() == "数值") { if (dt.Rows[i][lsgetsqlfield].ToString() != "") { //是否包含小数点,包含的话,取小数点后两位 if (dt.Rows[i][lsgetsqlfield].ToString().Contains(".") == true) { lsgetputfiled = float.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToString("F2"); } else { lsgetputfiled = float.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToString(); } } else { lsgetputfiled = "0"; } //lsgetputfiled = dt.Rows[i][lsgetsqlfield].ToString(); } else { lsgetputfiled = dt.Rows[i][lsgetsqlfield].ToString(); } } if (lsgetputfiled == "") lsgetputfiled = " "; //根据得到的SQL字段,得到输出字段的值end if (dtgetsqlfield.Rows[0]["hy_ifdbsybt"].ToString() == "是") { ls_col += "<td width=\"" + lscolwidthper + "%\" align=\"center\"><a href=\"#\" onclick=\"var ss='main.aspx?op=modify&mid=" + dt.Rows[i]["hy_mudelid"].ToString() + "&tableid=" + dt.Rows[i]["hy_tableid"].ToString() + "&docid=" + dt.Rows[i]["DOCID"].ToString() + "&url='+window.location;window.location=ss;\">" + lsgetputfiled + "</a></td>"; } else { ls_col += "<td width=\"" + lscolwidthper + "%\" align=\"center\">" + lsgetputfiled + "</td>"; } } dr["displaycol"] = ls_col; //将新值赋给相应的列 add ls_col = ""; tempTable.Rows.Add(dr); } int TotalRecord = int.Parse(dt_total.Rows[0][0].ToString()); this.sumts.Text = TotalRecord.ToString(); this.sumts2.Text = TotalRecord.ToString(); this.ShowTotalRecord.Text = TotalRecord.ToString(); //计算及显示总页数 int TotalPage; if (TotalRecord < System.Int32.Parse(PageSize.Text)) { TotalPage = 1; } else { if (TotalRecord % System.Int32.Parse(PageSize.Text) != 0) { TotalPage = TotalRecord / System.Int32.Parse(PageSize.Text) + 1; } else { TotalPage = TotalRecord / System.Int32.Parse(PageSize.Text); } } this.ShowTotalPage.Text = TotalPage.ToString(); this.rptlist.DataSource = tempTable; this.rptlist.DataBind(); dt.Clear(); }
private void DataPlay(int PageNo) { if (this.Request.QueryString["id"] != null) { this.txttableid.Value = this.Request.QueryString["id"].ToString(); this.txtflowid.Value = this.Request.QueryString["id"].ToString(); } else { Response.Write("<script>alert('表单信息未得到!');history.back();</script>"); } //判断当前用户是否有新建删除权限 HyoaClass.Hyoa_global Hyoa_global = new HyoaClass.Hyoa_global(); if (Hyoa_global.isHaveRole("Role9999", this.Session["hyuid"].ToString())) { this.isrole.Value = "1"; this.tdnewdoc.Visible = true; //新建 this.tddeldoc.Visible = true; //删除 } else { this.isrole.Value = "0"; this.tdnewdoc.Visible = false; //新建 this.tddeldoc.Visible = false; //删除 } //得到当前页号 this.curpage.Text = PageNo.ToString(); HyoaClass.Hyoa_flowfield Hyoa_flowfield = new HyoaClass.Hyoa_flowfield(); DataTable dt; dt = Hyoa_flowfield.Getflowfieldsbytableid(this.txtflowid.Value); DataTable tempTable = dt.Clone(); for (int i = (PageNo - 1) * System.Int32.Parse(PageSize.Text); i < PageNo * System.Int32.Parse(PageSize.Text); i++) { if (i > dt.Rows.Count - 1) break; DataRow dr = tempTable.NewRow(); for (int j = 0; j < dt.Columns.Count; j++) { dr[dt.Columns[j].ColumnName] = dt.Rows[i][j]; } tempTable.Rows.Add(dr); } int TotalRecord = dt.Rows.Count; this.sumts.Text = TotalRecord.ToString(); this.sumts2.Text = TotalRecord.ToString(); this.ShowTotalRecord.Text = TotalRecord.ToString(); //计算及显示总页数 int TotalPage; if (TotalRecord < System.Int32.Parse(PageSize.Text)) { TotalPage = 1; } else { if (TotalRecord % System.Int32.Parse(PageSize.Text) != 0) { TotalPage = TotalRecord / System.Int32.Parse(PageSize.Text) + 1; } else { TotalPage = TotalRecord / System.Int32.Parse(PageSize.Text); } } this.ShowTotalPage.Text = TotalPage.ToString(); this.rptlist.DataSource = tempTable; this.rptlist.DataBind(); dt.Clear(); }
private void DataPlay(int PageNo) { //得到当前模块对应的role HyoaClass.Hyoa_mudel Hyoa_mudel = new HyoaClass.Hyoa_mudel(); DataTable dt_mudel = Hyoa_mudel.Getmudel(this.txtmudelid.Value); string ls_role = "Role9999"; if (dt_mudel.Rows.Count > 0) { ls_role = dt_mudel.Rows[0]["hy_roleid"].ToString(); } //根据表ID和模块ID得到当前传进来的模块是否有流程 HyoaClass.Hyoa_tableconfig Hyoa_tableconfig = new HyoaClass.Hyoa_tableconfig(); DataTable dttableconfig = Hyoa_tableconfig.GetTablesbymudelidandtableid(this.txtmudelid.Value, this.txttableid.Value); //根据表单得到对应的所有字段 HyoaClass.Hyoa_flowfield Hyoa_flowfield = new HyoaClass.Hyoa_flowfield(); DataTable dtflowfield = Hyoa_flowfield.Getflowfieldsbytableid(dttableconfig.Rows[0]["ID"].ToString()); //循环所有字段 string ls_flowfield = ""; if (dtflowfield.Rows.Count > 0) { for (int i = 0; i < dtflowfield.Rows.Count; i++) { string ls_fieldtype = dtflowfield.Rows[i]["hy_fieldtype"].ToString(); if (ls_fieldtype == "文本" || ls_fieldtype == "多行文本" || ls_fieldtype == "文本加按钮" || ls_fieldtype == "多行文本加按钮" || ls_fieldtype == "日期" || ls_fieldtype == "数值" || ls_fieldtype == "对话框列表" || ls_fieldtype == "复选框" || ls_fieldtype == "单选框" || ls_fieldtype == "口令") { ls_flowfield += ",a.hyc_" + dtflowfield.Rows[i]["hy_fieldid"].ToString(); } } } //判断当前用户是否有删除权限 HyoaClass.Hyoa_global Hyoa_global = new HyoaClass.Hyoa_global(); //如果非流程(授权用户可新建信息、可删除所有信息) if (dttableconfig.Rows[0]["hy_tablerole"].ToString() == "0") { if (Hyoa_global.isHaveRole(ls_role, this.Session["hyuid"].ToString())) { this.isrole.Value = "1"; this.newcontrol.Visible = true; this.delcontrol.Visible = true; //this.copycontrol.Visible = true; } else { this.isrole.Value = "0"; } } //如果非流程(每个人管理自己的信息) if (dttableconfig.Rows[0]["hy_tablerole"].ToString() == "1") { this.isrole.Value = "1"; this.newcontrol.Visible = true; this.delcontrol_my.Visible = true; //this.copycontrol.Visible = true; } //如果非流程(每个人管理自己的信息、授权用户可管理所有信息) if (dttableconfig.Rows[0]["hy_tablerole"].ToString() == "2") { if (Hyoa_global.isHaveRole(ls_role, this.Session["hyuid"].ToString())) { this.isrole.Value = "1"; this.newcontrol.Visible = true; this.delcontrol.Visible = true; //this.copycontrol.Visible = true; } else { this.isrole.Value = "0"; this.newcontrol.Visible = true; this.delcontrol_my.Visible = true; //this.copycontrol.Visible = true; } } //如果非流程(授权用户可新建、只能删自己新建的信息) if (dttableconfig.Rows[0]["hy_tablerole"].ToString() == "3") { if (Hyoa_global.isHaveRole(ls_role, this.Session["hyuid"].ToString())) { this.isrole.Value = "1"; this.newcontrol.Visible = true; this.delcontrol_sq.Visible = true; //this.copycontrol.Visible = true; } } HyoaClass.Hyoa_listconfig Hyoa_listconfig = new HyoaClass.Hyoa_listconfig(); DataTable dtlist = Hyoa_listconfig.Getlistconfig(this.txtlistid.Value); //列表配置 this.lbdisplaytitle.Text = ""; //得到当前页号 this.curpage.Text = PageNo.ToString(); //---查询条件---开始 string cmdStr_Search = ""; if (txtsearchfields.Text != "") { string[] lv_searchfields = txtsearchfields.Text.Split(','); string[] lv_searchfields_sx = txtsearchfields_sx.Text.Split(','); for (int i = 0; i < lv_searchfields.Length; i++) { string ls_fieldid = lv_searchfields[i].ToString(); string ls_fieldid_sx = lv_searchfields_sx[i].ToString(); string ls_searchtext = ""; if (this.Request.Form[ls_fieldid] != null) { ls_searchtext = this.Request.Form[ls_fieldid].ToString(); } if (ls_searchtext != "") { if (ls_fieldid_sx == "0") { if (ls_searchtext.Contains(",")) { string[] lv_searchfieldSplit = ls_searchtext.Split(','); for (int n = 0; n < lv_searchfieldSplit.Length; n++) { if (n == 0) { cmdStr_Search += " and hyc_" + ls_fieldid + " like '%" + lv_searchfieldSplit[n] + "%' "; } else { cmdStr_Search += " or hyc_" + ls_fieldid + " like '%" + lv_searchfieldSplit[n] + "%' "; } } } else { cmdStr_Search += " and hyc_" + ls_fieldid + " like '%" + ls_searchtext + "%' "; } } else { if (ls_fieldid_sx == "1") { if (Session["conntype"].ToString() == "SQL") { cmdStr_Search += " and left(CONVERT(varchar, hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ", 120 ) ,10) >= '" + ls_searchtext + "' "; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr_Search += " and to_char(hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ",'YYYY-MM-DD') >= '" + ls_searchtext + "' "; } } if (ls_fieldid_sx == "2") { if (Session["conntype"].ToString() == "SQL") { cmdStr_Search += " and left(CONVERT(varchar, hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ", 120 ) ,10) <= '" + ls_searchtext + "' "; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr_Search += " and to_char(hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ",'YYYY-MM-DD') <= '" + ls_searchtext + "' "; } } if (ls_fieldid_sx == "3") { cmdStr_Search += " and hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + " >= " + ls_searchtext + " "; } if (ls_fieldid_sx == "4") { cmdStr_Search += " and hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + " <= " + ls_searchtext + " "; } } } } } //---查询条件---结束 //---排序---开始 string cmdStr_SearchSort = ""; if (dtlist.Rows[0]["hy_sortfield1"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield1"].ToString() + " " + dtlist.Rows[0]["hy_sorttype1"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield1"].ToString() + " " + dtlist.Rows[0]["hy_sorttype1"].ToString(); } } if (dtlist.Rows[0]["hy_sortfield2"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield2"].ToString() + " " + dtlist.Rows[0]["hy_sorttype2"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield2"].ToString() + " " + dtlist.Rows[0]["hy_sorttype2"].ToString(); } } if (dtlist.Rows[0]["hy_sortfield3"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield3"].ToString() + " " + dtlist.Rows[0]["hy_sorttype3"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield3"].ToString() + " " + dtlist.Rows[0]["hy_sorttype3"].ToString(); } } if (this.txtfieldid.Value != "" && this.txtfieldsort.Value != "") { cmdStr_SearchSort = " order by hyc_" + this.txtfieldid.Value + " " + this.txtfieldsort.Value + " "; } if (cmdStr_SearchSort == "") { //没有配置,则默认按登记日期 cmdStr_SearchSort = " order by hy_djsj desc "; } //---排序---结束 //--根据查询条件得到返回数据集--s DataTable dt = new DataTable(); //单页数据集 DataTable dt_total = new DataTable(); //数据总条数,返回总条数值 DataTable dttable = Hyoa_tableconfig.GetTable(this.txttableid.Value); //得到表配置信息查看当前表是否有流程 hy_ifflowdoc string cmdStr = ""; if (dttable.Rows[0]["hy_ifdisplayall"].ToString() == "是") { string ls_from = ""; ls_from = " hyc_" + this.txttableid.Value + " where 1=1 " + cmdStr_Search; if (Session["conntype"].ToString() == "SQL") { cmdStr = "select top " + PageSize.Text + " * from " + ls_from; cmdStr += " and DOCID not in (select top " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString() + " DOCID from " + ls_from + cmdStr_SearchSort + ") " + cmdStr_SearchSort; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr = " select * from ( "; cmdStr += " select my_table.*, rownum as my_rownum from "; cmdStr += " ( "; cmdStr += " select * from hyc_" + this.txttableid.Value + " where 1=1 " + cmdStr_Search + cmdStr_SearchSort; cmdStr += " ) my_table "; cmdStr += " where rownum<= " + ((PageNo) * int.Parse(PageSize.Text)).ToString(); cmdStr += " ) where my_rownum> " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString(); } dt = Hyoa_global.GetDataTable(cmdStr); cmdStr = "select count(*) from " + ls_from; dt_total = Hyoa_global.GetDataTable(cmdStr); } else { string ls_from = " hyc_" + this.txttableid.Value + " where 1=1 "; # region 客户管理、商机管理 string ls_mids4 = ",Mudelkhda,Mudelsjgl,"; if (ls_mids4.IndexOf("," + this.txtmudelid.Value + ",") >= 0) { //if (this.txtmudelid.Value == "Mudelkhda") //{ this.newcontrol.Visible = false; this.delcontrol_my.Visible = false; if (Hyoa_global.isHaveRole("Rolekhgl001", this.Session["hyuid"].ToString())) { //查看所有 } else if (Hyoa_global.isHaveRole("Rolekhgl002", this.Session["hyuid"].ToString())) { //查看本部 if (this.Session["hyuid"].ToString() == "008") { //业务一部 酒店、综合 ls_from += " and SUBSTRING(hy_djrbmid, 0, 4)='005' "; } if (this.Session["hyuid"].ToString() == "009") { //业务二部 金融、政府 ls_from += " and SUBSTRING(hy_djrbmid, 0, 4)='006' "; } } //else if (Hyoa_global.isHaveRole("Rolekhgl003", this.Session["hyuid"].ToString())) //{ // //查看本组 // ls_from += " and hy_djrbmid='" + Session["hydeptid"].ToString() + "'"; //} else { ////自己看自己 //ls_from += " and hy_djrid='" + Session["hyuid"].ToString() + "' "; //同组可以查看 ls_from += " and hy_djrbmid='" + Session["hydeptid"].ToString() + "'"; } } # endregion # region 合同管理 string ls_mids = ",Mudelsyyhfwxy,Mudeljdhazfwht,MudelVODfwxy,Mudelffpdfwht,MudelDVBazfwdght,Mudeljwdsjsxy,Mudeljwdscsxy,Mudelkdjrht,Mudelsjcsfwht,Mudelsjgdcsfwht,Mudelsjtxyyhzxy,Mudelzdyht,Mudelqtht,Mudelgxhzhht,"; if (ls_mids.IndexOf("," + this.txtmudelid.Value + ",") >= 0) { if (Hyoa_global.isHaveRole("Rolehtgl001", this.Session["hyuid"].ToString())) { //查看所有 } else if (Hyoa_global.isHaveRole("Rolehtgl002", this.Session["hyuid"].ToString())) { //查看本部 if (this.Session["hyuid"].ToString() == "008") { //业务一部 酒店、综合 ls_from += " and SUBSTRING(hy_djrbmid, 0, 4)='005' "; } if (this.Session["hyuid"].ToString() == "009") { //业务二部 金融、政府 ls_from += " and SUBSTRING(hy_djrbmid, 0, 4)='006' "; } } //else if (Hyoa_global.isHaveRole("Rolehtgl003", this.Session["hyuid"].ToString())) //{ // //查看本组 // ls_from += " and hy_djrbmid='" + Session["hydeptid"].ToString() + "'"; //} else { //同组可以查看 ls_from += " and hy_djrbmid='" + Session["hydeptid"].ToString() + "'"; } } # endregion # region 数据管理--指标管理 if (this.txtmudelid.Value == "Mudelzbsrwh") { if (Hyoa_global.isHaveRole("Rolesjglzbgl001", this.Session["hyuid"].ToString())) { //查看所有 } else if (Hyoa_global.isHaveRole("Rolesjglzbgl002", this.Session["hyuid"].ToString())) { //查看本部 if (this.Session["hyuid"].ToString() == "008") { //业务一部 酒店、综合 ls_from += " and SUBSTRING(hyc_szzid2, 0, 4)='005' "; } if (this.Session["hyuid"].ToString() == "009") { //业务二部 金融、政府 ls_from += " and SUBSTRING(hyc_szzid2, 0, 4)='006' "; } } //else if (Hyoa_global.isHaveRole("Rolesjglzbgl003", this.Session["hyuid"].ToString())) //{ // //查看本组 // ls_from += " and hyc_szzid2='" + Session["hydeptid"].ToString() + "'"; //} else { // //自己看自己 // ls_from += " and hyc_khjlid2='" + Session["hyuid"].ToString() + "' "; ls_from += " and hyc_szzid2='" + Session["hydeptid"].ToString() + "'"; } } # endregion # region 日常管理 string ls_mids2 = ",Mudelxjsq,Mudelshd,Mudelszds,Mudelywsl,Mudelzbgl,"; if (ls_mids2.IndexOf("," + this.txtmudelid.Value + ",") >= 0) { if (Hyoa_global.isHaveRole("Rolercgl001", this.Session["hyuid"].ToString())) { //查看所有 } else if (Hyoa_global.isHaveRole("Rolercgl002", this.Session["hyuid"].ToString())) { //查看本部 if (this.Session["hyuid"].ToString() == "008") { //业务一部 酒店、综合 ls_from += " and SUBSTRING(hy_djrbmid, 0, 4)='005' "; } if (this.Session["hyuid"].ToString() == "009") { //业务二部 金融、政府 ls_from += " and SUBSTRING(hy_djrbmid, 0, 4)='006' "; } } else if (Hyoa_global.isHaveRole("Rolercgl003", this.Session["hyuid"].ToString())) { //查看本组 ls_from += " and hy_djrbmid='" + Session["hydeptid"].ToString() + "'"; } else { //自己看自己 ls_from += " and hy_djrid='" + Session["hyuid"].ToString() + "' "; } } # endregion ls_from += " " + cmdStr_Search; if (Session["conntype"].ToString() == "SQL") { cmdStr = "select top " + PageSize.Text + " * from " + ls_from; cmdStr += " and DOCID not in (select top " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString() + " DOCID from " + ls_from + cmdStr_SearchSort + ") " + cmdStr_SearchSort; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr = " select * from ( "; cmdStr += " select my_table.*, rownum as my_rownum from "; cmdStr += " ( "; cmdStr += " select * from hyc_" + this.txttableid.Value + " where hy_djrid='" + Session["hyuid"].ToString() + "' " + cmdStr_Search + cmdStr_SearchSort; cmdStr += " ) my_table "; cmdStr += " where rownum<= " + ((PageNo) * int.Parse(PageSize.Text)).ToString(); cmdStr += " ) where my_rownum> " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString(); } this.strSQL.Value = cmdStr; dt = Hyoa_global.GetDataTable(cmdStr); cmdStr = "select count(*) from " + ls_from; dt_total = Hyoa_global.GetDataTable(cmdStr); } //--根据查询条件得到返回数据集--e //开始输出----整合成HTML为数据行 DataTable tempTable = dt.Clone(); DataColumn col = new DataColumn("displaycol", typeof(String)); //定义新的一列 add tempTable.Columns.Add(col); //追加一列 add string lscolname = ""; string lscolnameid = ""; string lscolwidth = ""; string ls_col = ""; string[] lvcolname; string[] lvcolnameid; string[] lvcolwidth; string lscolwidthper; lscolname = dtlist.Rows[0]["hy_columnshow"].ToString(); //要显示的列名:附件,标题,收文来源 lscolnameid = dtlist.Rows[0]["hy_columnshowid"].ToString(); //要显示的列名id:uploadfile1,Hy_bt,Hy_swly lscolwidth = dtlist.Rows[0]["hy_width"].ToString(); //要显示的列名id:10,20,30 lvcolname = lscolname.Split(','); lvcolnameid = lscolnameid.Split(','); lvcolwidth = lscolwidth.Split(','); if (dt.Rows.Count <= 0) { //如果没有数据则输出表头 for (int n = 0; n < lvcolname.Length; n++) { if (n >= lvcolwidth.Length) { lscolwidthper = ""; }//此判断是为了防止对应宽度没有输入时,会溢出报错。 else { lscolwidthper = lvcolwidth[n]; } this.lbdisplaytitle.Text += "<td width=\"" + lscolwidthper + "%\" class=\"TdcellHead\"><p align=\"center\">" + lvcolname[n] + "</td>"; } } for (int i = 0; i < dt.Rows.Count; i++) { DataRow dr = tempTable.NewRow(); //输出主表所有字段,start for (int j = 0; j < dt.Columns.Count; j++) { dr[dt.Columns[j].ColumnName] = dt.Rows[i][j]; } //输出主表所有字段,end //////开始得到列的值 DataTable dtgetsqlfield; for (int m = 0; m < lvcolname.Length; m++) { //如果有数据,则输出数据 if (m >= lvcolwidth.Length) { lscolwidthper = ""; }//此判断是为了防止对应宽度没有输入时,会溢出报错。 else { lscolwidthper = lvcolwidth[m]; } dtgetsqlfield = Hyoa_flowfield.GetSQLfieldBymudelidAndFieldidAndTableid(this.txtmudelid.Value, lvcolnameid[m], this.txttableid.Value); if (i % System.Int32.Parse(PageSize.Text) == 0) this.lbdisplaytitle.Text += "<td width=\"" + lscolwidthper + "%\" class=\"TdcellHead\"><p align=\"center\"><a href=\"#\" title=\"点击可排序\" onclick=\"fun_sort('" + lvcolnameid[m] + "');\">" + lvcolname[m] + "</a></p></td>"; //根据字段英文名,得到数据库中对应的字段 string lsgetsqlfield = "hyc_" + dtgetsqlfield.Rows[0]["hy_fieldid"].ToString(); //根据数据库中对应的字段,得到输出字段的值start (日期型根据格式进行了转换) string lsgetputfiled = ""; if (dtgetsqlfield.Rows[0]["hy_defaultvalue"].ToString() == "yyyy-mm-dd") { if (dt.Rows[i][lsgetsqlfield].ToString() != "") lsgetputfiled = System.DateTime.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToShortDateString(); } else { //解决Float小数点后面出现N位小数乱码的问题 if (dtgetsqlfield.Rows[0]["hy_fieldtype"].ToString() == "数值") { if (dt.Rows[i][lsgetsqlfield].ToString() != "") { //是否包含小数点,包含的话,取小数点后两位 if (dt.Rows[i][lsgetsqlfield].ToString().Contains(".") == true) { lsgetputfiled = float.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToString("F2"); } else { lsgetputfiled = float.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToString(); } } else { lsgetputfiled = "0"; } //lsgetputfiled = dt.Rows[i][lsgetsqlfield].ToString(); } else { lsgetputfiled = dt.Rows[i][lsgetsqlfield].ToString(); } } if (lsgetputfiled == "") lsgetputfiled = " "; //根据得到的SQL字段,得到输出字段的值end if (dtgetsqlfield.Rows[0]["hy_ifdbsybt"].ToString() == "是") { ls_col += "<td width=\"" + lscolwidthper + "%\" align=\"center\"><a href=\"#\" onclick=\"var ss='main_flc.aspx?op=modify&mid=" + dt.Rows[i]["hy_mudelid"].ToString() + "&tableid=" + dt.Rows[i]["hy_tableid"].ToString() + "&docid=" + dt.Rows[i]["DOCID"].ToString() + "&url='+window.location;window.location=ss;\">" + lsgetputfiled + "</a></td>"; } else { ls_col += "<td width=\"" + lscolwidthper + "%\" align=\"center\">" + lsgetputfiled + "</td>"; } } dr["displaycol"] = ls_col; //将新值赋给相应的列 add ls_col = ""; tempTable.Rows.Add(dr); } int TotalRecord = int.Parse(dt_total.Rows[0][0].ToString()); this.sumts.Text = TotalRecord.ToString(); this.sumts2.Text = TotalRecord.ToString(); this.ShowTotalRecord.Text = TotalRecord.ToString(); //计算及显示总页数 int TotalPage; if (TotalRecord < System.Int32.Parse(PageSize.Text)) { TotalPage = 1; } else { if (TotalRecord % System.Int32.Parse(PageSize.Text) != 0) { TotalPage = TotalRecord / System.Int32.Parse(PageSize.Text) + 1; } else { TotalPage = TotalRecord / System.Int32.Parse(PageSize.Text); } } this.ShowTotalPage.Text = TotalPage.ToString(); this.rptlist.DataSource = tempTable; this.rptlist.DataBind(); dt.Clear(); //列表中的一些特殊处理,都放在这个函数内 DataPlay_Tscl(); }
private void DataPlay(int PageNo) { //得到当前模块对应的全权用户组 HyoaClass.Hyoa_mudel Hyoa_mudel = new HyoaClass.Hyoa_mudel(); DataTable dt_mudel = Hyoa_mudel.Getmudel(this.txtmudelid.Value); string ls_role = "Role9999"; if (dt_mudel.Rows.Count > 0) { if (dt_mudel.Rows[0]["hy_qqroleid"] == null) { return; } else { if (dt_mudel.Rows[0]["hy_qqroleid"] == "") { return; } else { ls_role = dt_mudel.Rows[0]["hy_qqroleid"].ToString(); } } } //根据表ID和模块ID得到当前传进来的模块是否有流程 HyoaClass.Hyoa_tableconfig Hyoa_tableconfig = new HyoaClass.Hyoa_tableconfig(); DataTable dttableconfig = Hyoa_tableconfig.GetTablesbymudelidandtableid(this.txtmudelid.Value, this.txttableid.Value); HyoaClass.Hyoa_global Hyoa_global = new HyoaClass.Hyoa_global(); if (Hyoa_global.isHaveRole(ls_role, this.Session["hyuid"].ToString())) { this.isrole.Value = "1"; } else { this.isrole.Value = "0"; Response.Write("<script>alert('您无权访问此页面的数据!');self.close();</script>"); return; } //根据表单得到对应的所有字段 HyoaClass.Hyoa_flowfield Hyoa_flowfield = new HyoaClass.Hyoa_flowfield(); DataTable dtflowfield = Hyoa_flowfield.Getflowfieldsbytableid(dttableconfig.Rows[0]["ID"].ToString()); //循环所有字段 string ls_flowfield = ""; if (dtflowfield.Rows.Count > 0) { for (int i = 0; i < dtflowfield.Rows.Count; i++) { string ls_fieldtype = dtflowfield.Rows[i]["hy_fieldtype"].ToString(); if (ls_fieldtype == "文本" || ls_fieldtype == "多行文本" || ls_fieldtype == "文本加按钮" || ls_fieldtype == "多行文本加按钮" || ls_fieldtype == "日期" || ls_fieldtype == "数值" || ls_fieldtype == "对话框列表" || ls_fieldtype == "复选框" || ls_fieldtype == "单选框" || ls_fieldtype == "口令") { ls_flowfield += ",a.hyc_" + dtflowfield.Rows[i]["hy_fieldid"].ToString(); } } } HyoaClass.Hyoa_listconfig Hyoa_listconfig = new HyoaClass.Hyoa_listconfig(); DataTable dtlist = Hyoa_listconfig.Getlistconfig(this.txtlistid.Value); //列表配置 this.lbdisplaytitle.Text = ""; //---排序---开始 string cmdStr_SearchSort = ""; if (dtlist.Rows[0]["hy_sortfield1"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield1"].ToString() + " " + dtlist.Rows[0]["hy_sorttype1"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield1"].ToString() + " " + dtlist.Rows[0]["hy_sorttype1"].ToString(); } } if (dtlist.Rows[0]["hy_sortfield2"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield2"].ToString() + " " + dtlist.Rows[0]["hy_sorttype2"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield2"].ToString() + " " + dtlist.Rows[0]["hy_sorttype2"].ToString(); } } if (dtlist.Rows[0]["hy_sortfield3"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield3"].ToString() + " " + dtlist.Rows[0]["hy_sorttype3"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield3"].ToString() + " " + dtlist.Rows[0]["hy_sorttype3"].ToString(); } } if (cmdStr_SearchSort == "") { //没有配置,则默认按登记日期 cmdStr_SearchSort = " order by hy_djsj desc "; } //---排序---结束 //--根据查询条件得到返回数据集--s DataTable dt = new DataTable(); //单页数据集 DataTable dt_total = new DataTable(); //数据总条数,返回总条数值 DataTable dttable = Hyoa_tableconfig.GetTable(this.txttableid.Value); //得到表配置信息查看当前表是否有流程 hy_ifflowdoc string cmdStr = ""; cmdStr = "select * from hyc_" + this.txttableid.Value + " " + cmdStr_SearchSort; dt = Hyoa_global.GetDataTable(cmdStr); cmdStr = "select count(*) from hyc_" + this.txttableid.Value; dt_total = Hyoa_global.GetDataTable(cmdStr); //--根据查询条件得到返回数据集--e //开始输出----整合成HTML为数据行 DataTable tempTable = dt.Clone(); DataColumn col = new DataColumn("displaycol", typeof(String)); //定义新的一列 add tempTable.Columns.Add(col); //追加一列 add string lscolname = ""; string lscolnameid = ""; string lscolwidth = ""; string ls_col = ""; string[] lvcolname; string[] lvcolnameid; string[] lvcolwidth; string lscolwidthper; lscolname = dtlist.Rows[0]["hy_columnshow"].ToString(); //要显示的列名:附件,标题,收文来源 lscolnameid = dtlist.Rows[0]["hy_columnshowid"].ToString(); //要显示的列名id:uploadfile1,Hy_bt,Hy_swly lscolwidth = dtlist.Rows[0]["hy_width"].ToString(); //要显示的列名id:10,20,30 lvcolname = lscolname.Split(','); lvcolnameid = lscolnameid.Split(','); lvcolwidth = lscolwidth.Split(','); if (dt.Rows.Count <= 0) { //如果没有数据则输出表头 for (int n = 0; n < lvcolname.Length; n++) { if (n >= lvcolwidth.Length) { lscolwidthper = ""; }//此判断是为了防止对应宽度没有输入时,会溢出报错。 else { lscolwidthper = lvcolwidth[n]; } this.lbdisplaytitle.Text += "<td width=\"" + lscolwidthper + "%\" class=\"TdcellHead\"><p align=\"center\">" + lvcolname[n] + "</td>"; } } for (int i = 0; i < dt.Rows.Count; i++) { DataRow dr = tempTable.NewRow(); //输出主表所有字段,start for (int j = 0; j < dt.Columns.Count; j++) { dr[dt.Columns[j].ColumnName] = dt.Rows[i][j]; } //输出主表所有字段,end //////开始得到列的值 DataTable dtgetsqlfield; for (int m = 0; m < lvcolname.Length; m++) { //如果有数据,则输出数据 if (m >= lvcolwidth.Length) { lscolwidthper = ""; }//此判断是为了防止对应宽度没有输入时,会溢出报错。 else { lscolwidthper = lvcolwidth[m]; } dtgetsqlfield = Hyoa_flowfield.GetSQLfieldBymudelidAndFieldidAndTableid(this.txtmudelid.Value, lvcolnameid[m], this.txttableid.Value); //输出第一行的同时顺便把头部输出 if (i == 0) { this.lbdisplaytitle.Text += "<td width=\"" + lscolwidthper + "%\" class=\"TdcellHead\"><p align=\"center\">" + lvcolname[m] + "</td>"; } //根据字段英文名,得到数据库中对应的字段 string lsgetsqlfield = "hyc_" + dtgetsqlfield.Rows[0]["hy_fieldid"].ToString(); //根据数据库中对应的字段,得到输出字段的值start (日期型根据格式进行了转换) string lsgetputfiled = ""; if (dtgetsqlfield.Rows[0]["hy_defaultvalue"].ToString() == "yyyy-mm-dd") { if (dt.Rows[i][lsgetsqlfield].ToString() != "") lsgetputfiled = System.DateTime.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToShortDateString(); } else { //解决Float小数点后面出现N位小数乱码的问题 if (dtgetsqlfield.Rows[0]["hy_fieldtype"].ToString() == "数值") { if (dt.Rows[i][lsgetsqlfield].ToString() != "") { //是否包含小数点,包含的话,取小数点后两位 if (dt.Rows[i][lsgetsqlfield].ToString().Contains(".") == true) { lsgetputfiled = float.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToString("F2"); } else { lsgetputfiled = float.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToString(); } } else { lsgetputfiled = "0"; } //lsgetputfiled = dt.Rows[i][lsgetsqlfield].ToString(); } else { lsgetputfiled = dt.Rows[i][lsgetsqlfield].ToString(); } } if (lsgetputfiled == "") lsgetputfiled = " "; //根据得到的SQL字段,得到输出字段的值end if (dtgetsqlfield.Rows[0]["hy_ifdbsybt"].ToString() == "是") { ls_col += "<td width=\"" + lscolwidthper + "%\" align=\"center\"><a href=\"#\" onclick=\"var ss='main.aspx?op=modify&mid=" + dt.Rows[i]["hy_mudelid"].ToString() + "&tableid=" + dt.Rows[i]["hy_tableid"].ToString() + "&docid=" + dt.Rows[i]["DOCID"].ToString() + "&url='+window.location;window.location=ss;\">" + lsgetputfiled + "</a></td>"; } else { ls_col += "<td width=\"" + lscolwidthper + "%\" align=\"center\">" + lsgetputfiled + "</td>"; } } //////////如果是流程表单,则最后追加两列(当前环节和当前处理人) //////////表头 ////////if (dt.Rows[i]["hy_flowid"].ToString() != "" && dt.Rows[i]["hy_flowid"].ToString() != null && i == (PageNo - 1) * System.Int32.Parse(PageSize.Text)) ////////{ //////// this.lbdisplaytitle.Text += "<td width=\"10%\" class=\"TdcellHead\"><p align=\"center\">当前环节</td>"; //////// this.lbdisplaytitle.Text += "<td width=\"10%\" class=\"TdcellHead\"><p align=\"center\">当前处理人</td>"; ////////} //////////数据 ////////if (dt.Rows[i]["hy_flowid"].ToString() != "" && dt.Rows[i]["hy_flowid"].ToString() != null) ////////{ //////// ls_col += "<td width=\"10%\" align=\"center\">" + dt.Rows[i]["hy_curtachename"].ToString() + " </td>"; //////// ls_col += "<td width=\"10%\" align=\"center\">" + dt.Rows[i]["hy_curclrname"].ToString() + " </td>"; ////////} dr["displaycol"] = ls_col; //将新值赋给相应的列 add ls_col = ""; tempTable.Rows.Add(dr); } this.rptlist.DataSource = tempTable; this.rptlist.DataBind(); dt.Clear(); }