using NG_Tools; using NGTools.Tools; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Web; using System.Web.Services; using System.Web.SessionState; namespace NGTools.ASHX { /// /// getTreeCombox 的摘要说明 /// public class getTreeCombox : IHttpHandler, System.Web.SessionState.IRequiresSessionState { StringBuilder result = new StringBuilder(); StringBuilder sb = new StringBuilder(); DataTable dtMenu = new DataTable(); string strUserID = ""; public DataTable dtFieldName = MySQLHelper.ExecuteDataTable("select * from field_name order by ID"); public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; strUserID = context.Session["userAccount"].ToString(); if (context.Request["action"] == "getJldSelect") //手机端select使用 { string strORG_Parent_ID = context.Session["userOrgID"].ToString(); DataTable dtTree = new DataTable(); ; if (context.Session["userName"].ToString() == "廖德云") { dtTree = _GetTable(); } else { dtTree = _GetTable(strORG_Parent_ID); } DataView dv = dtTree.DefaultView; dv.RowFilter = "ORG_PARENT_ID <> 'MS00'"; DataTable dtTemp = dv.ToTable(false, "ORG_ID", "ORG_NAME"); string jsonDWZC = JSONConvert.ToJson(dtTemp, "DWZC"); DataTable dtTreeTemp = dtTemp.Copy(); string JSONJLd = "\"JLD\":[{"; DataTable dtJld = MySQLHelper.ExecuteDataTable("select * from jld"); for (int i = 0; i < dtTreeTemp.Rows.Count; i++) { dv = dtJld.DefaultView; dv.RowFilter = "ORG_ID='" + dtTreeTemp.Rows[i]["ORG_ID"] + "'"; dtTemp = dv.ToTable(false, "ID", "JLD_Name"); if (dtTemp.Rows.Count == 0) { JSONJLd += "{},"; continue; } else { JSONJLd += JSONConvert.ToJson(dtTemp, dtTreeTemp.Rows[i]["ORG_ID"].ToString()); } JSONJLd = JSONJLd.TrimEnd(',') + ","; } JSONJLd = JSONJLd.TrimEnd(',')+"}]" ; string json = "[{"+jsonDWZC+"},{"+ JSONJLd +"}]" ; context.Response.Write(json); context.Response.End(); } if (context.Request["action"] == "getJld") { string strORG_Parent_ID = context.Session["userOrgID"].ToString(); DataTable dtTree = new DataTable(); ; if (context.Session["userName"].ToString() == "廖德云") { dtTree = _GetTable(); } else { dtTree = _GetTable(strORG_Parent_ID); } DataTable dtJld = MySQLHelper.ExecuteDataTable("select * from jld"); for (int i = 0; i < dtTree.Rows.Count; i++) { DataView dv = dtJld.DefaultView; dv.RowFilter = "ORG_ID='" + dtTree.Rows[i]["ORG_ID"] + "'"; DataTable dtTemp = dv.ToTable(); if (dtTemp.Rows.Count == 0) { continue; } for (int j = 0; j < dtTemp.Rows.Count; j++) { DataRow dr = dtTree.NewRow(); dr["ORG_ID"] = dtTemp.Rows[j]["ID"]; dr["ORG_NAME"] = dtTemp.Rows[j]["JLD_NAME"]; dr["ORG_PARENT_ID"] = dtTree.Rows[i]["ORG_ID"]; dtTree.Rows.Add(dr); } } string json = _GetTree(dtTree, "ORG_ID", "ORG_NAME", "ORG_Parent_ID", "MS00"); context.Response.Write(json); context.Response.End(); } if (context.Request["action"] == "getGSC") { string strORG_Parent_ID = context.Session["userOrgID"].ToString(); DataTable dtTree = new DataTable(); ; if (context.Session["userName"].ToString() == "廖德云") { dtTree = _GetTable(); } else { dtTree = _GetTable(strORG_Parent_ID); } DataTable dtJld = MySQLHelper.ExecuteDataTable("select * from gsc"); for (int i = 0; i < dtTree.Rows.Count; i++) { DataView dv = dtJld.DefaultView; dv.RowFilter = "ORG_ID='" + dtTree.Rows[i]["ORG_ID"] + "'"; DataTable dtTemp = dv.ToTable(); if (dtTemp.Rows.Count == 0) { continue; } for (int j = 0; j < dtTemp.Rows.Count; j++) { DataRow dr = dtTree.NewRow(); dr["ORG_ID"] = dtTemp.Rows[j]["SRJ"]; dr["ORG_NAME"] = dtTemp.Rows[j]["CPH"]; dr["ORG_PARENT_ID"] = dtTree.Rows[i]["ORG_ID"]; dtTree.Rows.Add(dr); } } string json = _GetTree(dtTree, "ORG_ID", "ORG_NAME", "ORG_Parent_ID", "MS00"); context.Response.Write(json); context.Response.End(); } if (context.Request["action"] == "getOrder") { string userID = context.Session["userAccount"].ToString(); string strType = context.Request.QueryString["type"]; DataTable dtTree = new DataTable(); if (context.Session["userName"].ToString() == "廖德云") { if (strType == "yjh") { dtTree = MySQLHelper.ExecuteDataTable("select * from buy_detail where payFlag='1'"); } else { dtTree = MySQLHelper.ExecuteDataTable("select * from buy_detail where payFlag='0'"); } } else { if (strType == "yjh") { dtTree = MySQLHelper.ExecuteDataTable("select * from buy_detail where USER_ID='" + userID + "' and payFlag='1'"); } else { dtTree = MySQLHelper.ExecuteDataTable("select * from buy_detail where USER_ID='" + userID + "' and payFlag='0'"); } } DataView dv = dtTree.DefaultView; DataTable dataTableDistinct = dv.ToTable(true, "USER_ID", "ORDER_ID"); string json = _GetTree(dataTableDistinct, "ORDER_ID", "ORDER_ID", "USER_ID", userID); context.Response.Write(json); context.Response.End(); } if (context.Request["action"] == "getORG") { string strORG_Parent_ID = context.Session["userOrgID"].ToString(); DataTable dtTree = new DataTable(); ; if (context.Session["userName"].ToString() == "廖德云") { dtTree = _GetTable(); } else { dtTree = _GetTable(strORG_Parent_ID); } string json = _GetTree(dtTree, "ORG_ID", "ORG_NAME", "ORG_Parent_ID", "MS00"); context.Response.Write(json); context.Response.End(); } if (context.Request["action"] == "getJldPar") { string strORG_Parent_ID = context.Session["userOrgID"].ToString(); DataTable dtTree = new DataTable(); ; if (context.Session["userName"].ToString() == "廖德云") { dtTree = _GetTable(); } else { dtTree = _GetTable(strORG_Parent_ID); } string jldID = context.Request.Form["jldid"]; string strGN = context.Request.Form["gnmk"]; DataTable dtJldPar = MySQLHelper.ExecuteDataTable("select * from jldpar where JLD_ID='" + jldID + "' and gnmk='" + strGN + "'"); string json = JSONConvert.DataTableToJsonList(dtJldPar); context.Response.Write(json); context.Response.End(); } if (context.Request["action"] == "getTree") { DataTable dtTree = _GetMenuTable(); string json = _GetChildTree(dtTree, "Menu_ID", "Menu_Name", "Menu_URL", "Parent_ID", "M00"); context.Response.Write(json); context.Response.End(); } ///购买次数减一 if (context.Request["action"] == "setRemainTimes") { if (context.Session["userName"].ToString() == "廖德云") { context.Response.Write("1"); context.Response.End(); } else { if (context.Session["regDateTime"].ToString() != "") //新注册用户 10天试用期 { DateTime dtReg = DateTime.Parse(context.Session["regDateTime"].ToString()); if (dtReg.AddDays(10) >= DateTime.Now) { context.Response.Write("1"); context.Response.End(); } } else { string userID = context.Request.Form["userID"]; string menuID = context.Request.Form["menuID"]; context.Response.Write(setRemainTimes(userID, menuID).ToString()); context.Response.End(); } } } //查询得dataGrid的JSON数据 //传入的参数格式是:"tableName,条件字段~条件字段值" //返回JSON对象 if (context.Request["action"] == "getDataGrid") { context.Response.Write(getData(context.Request.Form["par"])); context.Response.End(); } //删除数据库数据 //传入的参数格式是:"tableName,条件字段~条件字段值" //返回JSON对象 if (context.Request["action"] == "delData") { context.Response.Write(delData(context.Request.Form["par"])); context.Response.End(); } //保存数据方法 // 传入的参数格式是:"tableName,条件字段~条件字段值,~字段名~字段值" if (context.Request["action"] == "updateData") { context.Response.Write(updateData(context.Request.Form["par"])); context.Response.End(); } // 传入的参数格式是:"tableName,条件字段~条件字段值,~字段名~字段值" if (context.Request["action"] == "insertData") { context.Response.Write(insertData(context.Request.Form["par"])); context.Response.End(); } if (context.Request["action"] == "SaveDataGrid") { context.Response.Write(SaveDataGrid(context.Request.Form["par"])); context.Response.End(); } if (context.Request["action"] == "SaveOneDataGrid") { context.Response.Write(SaveOneDataGrid(context.Request.Form["par"])); context.Response.End(); } if (context.Request["action"] == "saveJldPar") { string strJLDID = context.Request.Form["jldid"]; string strGNMK = context.Request.Form["gnmk"]; string strPar = "[" + context.Request.Form["Par"] + "]"; DataTable dtPar = JSONConvert.JsonToDatatable(strPar); string Result = ""; DataTable dtJldPar = MySQLHelper.ExecuteDataTable("select * from jldpar where jld_id='" + strJLDID + "' and gnmk='" + strGNMK + "'"); if (dtJldPar.Rows.Count > 0) { string strSql = "update jldpar set "; strSql += getUpdateSQLOne(dtPar, strJLDID, strGNMK); int num = MySQLHelper.ExecuteNonQuery(strSql); if (num > 0) { Result = ("成功修改ID为" + strJLDID + "的计量参数!"); } else { Result = ("保存失败!"); } } else { string strIFn = getInsertFieldName(dtPar); string strIVn = getInsertFieldValue(dtPar); string strSql = "insert into jldpar("; strSql += strIFn.Insert(strIFn.Length, ",JLD_ID,GNMK") + ") values "; strSql += strIVn.Insert(strIVn.Length - 1, ",'" + strJLDID + "','" + strGNMK + "'"); int num = MySQLHelper.ExecuteNonQuery(strSql); if (num > 0) { Result = ("成功添加ID为" + strJLDID + "的计量参数!"); } else { Result = ("保存失败!"); } } context.Response.Write(Result); context.Response.End(); } if (context.Request["action"] == "saveMessage") { string []strDate = context.Request.Form["ly_date"].ToString ().Split (' '); string strPar = "[" + context.Request.Form["Par"] + "]"; DataTable dtPar = JSONConvert.JsonToDatatable(strPar); string result="" ; string strIFn = getInsertFieldName(dtPar); string strIVn = getInsertFieldValue(dtPar); DateTime dately = DateTime.Parse(strDate[0] + " " + strDate[1]); string strSql = "insert into message("; strSql += strIFn.Insert(strIFn.Length, ",ly_date") + ") values "; strSql += strIVn.Insert(strIVn.Length - 1, ",'" + dately + "'"); int num = MySQLHelper.ExecuteNonQuery(strSql); DataTable dtMessage = MySQLHelper.ExecuteDataTable("select * from message where user_Name='" + context.Session["userName"]+"'"); result ="["+ JSONConvert.DataTableToJsonList(dtMessage).ToString ()+"]"; context.Response.Write(result); context.Response.End(); } if (context.Request["action"] == "getMessage") { string result =""; DataTable dtMessage = new DataTable(); if (context.Session["userName"].ToString () == "廖德云") { dtMessage = MySQLHelper.ExecuteDataTable("select * from message"); } else { dtMessage = MySQLHelper.ExecuteDataTable("select * from message where user_Name='" + context.Session["userName"] + "'"); } result="["+JSONConvert.DataTableToJsonList(dtMessage)+"]"; context.Response.Write(result); context.Response.End(); } ///购买次数减一 if (context.Request["action"] == "getEnable") { int result = 0; if (context.Session["userName"].ToString() == "廖德云") { result = 1; } else { if (context.Session["regDateTime"].ToString() != "") //新注册用户 10天试用期 { DateTime dtReg = DateTime.Parse(context.Session["regDateTime"].ToString()); if (dtReg.AddDays(10) >= DateTime.Now) { result = 1; } } string userID = context.Request.Form["userID"]; string menuID = context.Request.Form["menuID"]; DataTable dtBuyMenu_ID = MySQLHelper.ExecuteDataTable("select * from buy_total where user_id='" + context.Session["userAccount"].ToString() + "'"); DataRow[] dr = dtBuyMenu_ID.Select("Menu_ID='" + menuID + "'"); if (dr.Length > 0) { if (dr[0]["Buy_Type"].ToString() == "无限制") { result = 1; } else { if (dr[0]["endDate"].ToString() == "") { if (dr[0]["remaintimes"].ToString() == "" || dr[0]["remaintimes"].ToString() == "0") { result = 0; } else { result = 1; } } else { DateTime dtEndDate = DateTime.Parse(dr[0]["endDate"].ToString()); if (dtEndDate > DateTime.Now) { result = 1; } else { result = 0; } } } } else { result = 0; } } context.Response.Write(result); context.Response.End(); } } /// /// 设置购买次数 计算一次减一 /// /// public int setRemainTimes(string userID, string Menu_ID) { int intTimes = 0; DataTable dtMenu_ID = MySQLHelper.ExecuteDataTable("select * from buy_total where user_id='" + userID + "' and Menu_ID='" + Menu_ID + "'"); if (dtMenu_ID.Rows.Count > 0) { if (dtMenu_ID.Rows[0]["remaintimes"].ToString() == "无限制") { intTimes = 1; } DateTime endDate; if (dtMenu_ID.Rows[0]["endDate"].ToString() != "") { endDate = DateTime.Parse(dtMenu_ID.Rows[0]["endDate"].ToString()); if (endDate >= DateTime.Now) { intTimes = 1; } else { if (dtMenu_ID.Rows[0]["remaintimes"].ToString() != "" & dtMenu_ID.Rows[0]["remaintimes"].ToString() != "0") { int cTimes = int.Parse(dtMenu_ID.Rows[0]["remaintimes"].ToString()); cTimes = cTimes - 1; string strSQL = "update buy_total set remaintimes='" + cTimes + "' where user_id='" + userID + "' and menu_id='" + Menu_ID + "'"; MySQLHelper.ExecuteNonQuery(strSQL); if (cTimes >= 0) { intTimes = 1; } else { intTimes = 0; } } else { intTimes = 0; } } } else { if (dtMenu_ID.Rows[0]["remaintimes"].ToString() != "" & dtMenu_ID.Rows[0]["remaintimes"].ToString() != "0") { int cTimes = int.Parse(dtMenu_ID.Rows[0]["remaintimes"].ToString()); cTimes = cTimes - 1; string strSQL = "update buy_total set remaintimes='" + cTimes + "' where user_id='" + userID + "' and menu_id='" + Menu_ID + "'"; MySQLHelper.ExecuteNonQuery(strSQL); if (cTimes >= 0) { intTimes = 1; } else { intTimes = 0; } } } } return intTimes; } /// /// 查询组织结构数据库表 /// /// public int _SaveJldPar(string strPar) { DataTable dtPar = JSONConvert.JsonToDatatable("[" + strPar + "]"); int i = 0; return i; } #region 数据库操作 /// /// 批量更新数据库表格 修改,删除和插入 /// 从前端传来 表名@insetRows JSON@updateRows JSON @ deleteRows JSON /// /// /// /// by liaodeyun /// private string SaveOneDataGrid(string strPar) { string[] parm = strPar.Split('@'); string strTableName = parm[0]; //数据库表名 string strInsetRows = parm[1].Replace("},{", ",").Replace("\"name\":", "").Replace(",\"value\"", ""); //插入行 string strUpdateRows = parm[2].Replace("},{", ",").Replace("\"name\":", "").Replace(",\"value\"", "");//修改行 string strDeleteRows = parm[3].Replace("},{", ",").Replace("\"name\":", "").Replace(",\"value\"", "");//删除行 DataTable dtInsert = JSONConvert.JsonToDatatable(strInsetRows); DataTable dtUpdate = JSONConvert.JsonToDatatable(strUpdateRows); DataTable dtDelete = JSONConvert.JsonToDatatable(strDeleteRows); string Result = ""; //插入行 if (dtInsert.Rows.Count > 0) { DataTable dtTemp = dtInsert.Copy(); ; dtTemp.Columns.Remove("ID"); ; string strSQL = "INSERT INTO " + strTableName + "("; strSQL += getInsertFieldName(dtTemp) + ") Values"; strSQL += getInsertFieldValue(dtTemp); int num = MySQLHelper.ExecuteNonQuery(strSQL); Result = DataTableToJson(dtInsert, false); ; } //更新行 if (dtUpdate.Rows.Count > 0) { string strSQL = "update " + strTableName + " set "; strSQL += getUpdateSQL(dtUpdate); int num = MySQLHelper.ExecuteNonQuery(strSQL); Result = DataTableToJson(dtUpdate, false); ; } //删除行 if (dtDelete.Rows.Count > 0) { string strSQL = "delete from " + strTableName + " where ID in ("; string strID = ""; for (int j = 0; j < dtDelete.Rows.Count; j++) { strID += "'" + dtDelete.Rows[j]["ID"] + "',"; } strSQL += strID.TrimEnd(',') + ")"; int num = MySQLHelper.ExecuteNonQuery(strSQL); Result = ("成功删除" + num + "条记录!"); } return Result; } /// /// 批量更新数据库表格 修改,删除和插入 /// 从前端传来 表名@insetRows JSON@updateRows JSON @ deleteRows JSON /// /// /// /// by liaodeyun /// private string SaveDataGrid(string strPar) { string[] parm = strPar.Split('@'); string strTableName = parm[0]; //数据库表名 string strInsetRows = parm[1];//.Replace("},{", ",").Replace("\"name\":", "").Replace(",\"value\"", ""); //插入行 string strUpdateRows = parm[2];//.Replace("},{", ",").Replace("\"name\":", "").Replace(",\"value\"", "");//修改行 string strDeleteRows = parm[3];//.Replace("},{", ",").Replace("\"name\":", "").Replace(",\"value\"", "");//删除行 DataTable dtInsert = new DataTable(); DataTable dtUpdate = new DataTable(); DataTable dtDelete = new DataTable(); string Result = ""; if (strTableName == "buy_detail") { dtInsert = JSONConvert.JsonToDatatable(strInsetRows); if (dtInsert.Rows.Count > 0) { dtInsert.Rows.RemoveAt(dtInsert.Rows.Count - 1); string strTempValue = ""; for (int i = 0; i < dtInsert.Rows.Count; i++) { strTempValue += "("; for (int j = 0; j < dtInsert.Columns.Count; j++) { strTempValue += "'" + dtInsert.Rows[i][j].ToString() + "',"; } strTempValue = strTempValue.TrimEnd(',') + ",'" + strUpdateRows.Split('_')[0] + "','" + strUpdateRows.Split('_')[1] + "','" + strUpdateRows.Split('_')[2] + "','0'),"; } strTempValue = strTempValue.TrimEnd(','); string strTempField = ""; for (int i = 0; i < dtInsert.Columns.Count; i++) { strTempField += dtInsert.Columns[i].ColumnName + ","; } strTempField = strTempField.TrimEnd(','); string strSQL = "INSERT INTO " + strTableName + "("; strSQL += strTempField + ",USER_ID,ORG_ID,ORDER_ID,payFlag" + ") Values"; strSQL += strTempValue; int num = MySQLHelper.ExecuteNonQuery(strSQL); Result += ("成功购买" + num + "模块!"); return Result; } } else { dtInsert = JSONConvert.JsonToDatatable(strInsetRows); dtUpdate = JSONConvert.JsonToDatatable(strUpdateRows); dtDelete = JSONConvert.JsonToDatatable(strDeleteRows); } //批量插入行 if (dtInsert.Rows.Count > 0) { string strSQL = "INSERT INTO " + strTableName + "("; strSQL += getInsertFieldName(dtInsert) + ") Values"; strSQL += getInsertFieldValue(dtInsert); int num = MySQLHelper.ExecuteNonQuery(strSQL); Result += ("成功添加" + num + "条记录!"); } //批量更新行 if (dtUpdate.Rows.Count > 0) { string strSQL = "update " + strTableName + " set "; strSQL += getUpdateSQL(dtUpdate); int num = MySQLHelper.ExecuteNonQuery(strSQL); Result += ("成功修改" + num + "条记录!"); } //批量删除行 if (dtDelete.Rows.Count > 0) { string strSQL = "delete from " + strTableName + " where ID in ("; string strID = ""; for (int j = 0; j < dtDelete.Rows.Count; j++) { strID += "'" + dtDelete.Rows[j]["ID"] + "',"; } strSQL += strID.TrimEnd(',') + ")"; int num = MySQLHelper.ExecuteNonQuery(strSQL); Result += ("成功删除" + num + "条记录!"); } return Result; } /// /// 从datatable获取批量更新的SQL字符串 格式如下 /// UPDATE user SET ///phoneno = CASE id /// WHEN 1 THEN 3 /// WHEN 2 THEN 4 ///END, ///authority = CASE id /// WHEN 1 THEN 'New Title 1' /// WHEN 2 THEN 'New Title 2' ///END ///WHERE id IN (1,2); /// /// by liaodeyun /// /// private string getUpdateSQL(DataTable dtTemp) { string strTemp = ""; string strID = ""; string[] strFieldValue = new string[dtTemp.Columns.Count]; for (int i = 0; i < dtTemp.Columns.Count; i++) { if (dtTemp.Columns[i].ColumnName != "ID") { strFieldValue[i] = dtTemp.Columns[i].ColumnName + " = case ID "; for (int j = 0; j < dtTemp.Rows.Count; j++) { strFieldValue[i] += "when '" + dtTemp.Rows[j]["ID"] + "' then '" + dtTemp.Rows[j][i] + "' "; } strFieldValue[i] += " end"; } } strTemp = String.Join(",", strFieldValue); strTemp = strTemp.TrimEnd(','); string[] SID = new string[dtTemp.Rows.Count]; for (int j = 0; j < dtTemp.Rows.Count; j++) { SID[j] = dtTemp.Rows[j]["ID"].ToString(); } strID = String.Join("','", SID); strTemp = strTemp + " where ID in ('" + strID + "')"; return strTemp.TrimStart(','); } private string getUpdateSQLOne(DataTable dtTemp, string strID, string strGN) { string strTemp = ""; string[] strFieldValue = new string[dtTemp.Columns.Count]; for (int i = 0; i < dtTemp.Columns.Count; i++) { strFieldValue[i] = dtTemp.Columns[i].ColumnName + " = case JLD_ID "; for (int j = 0; j < dtTemp.Rows.Count; j++) { strFieldValue[i] += "when '" + strID + "' then '" + dtTemp.Rows[j][i] + "' "; } strFieldValue[i] += " end"; } strTemp = String.Join(",", strFieldValue); strTemp = strTemp.TrimEnd(','); strTemp = strTemp + " where JLD_ID = '" + strID + "' and gnmk='" + strGN + "'"; return strTemp.TrimStart(','); } /// /// 从datatable获取批量插入的字段字符串 /// /// /// by 廖德云 /// 逗号分隔的字段名字符串,,,, private string getInsertFieldName(DataTable dtTemp) { string strTemp = ""; for (int i = 0; i < dtTemp.Columns.Count; i++) { strTemp += dtTemp.Columns[i].ColumnName + ","; } strTemp = strTemp.TrimEnd(','); return strTemp; } /// /// 从datatable获取批量插入的字段值字符串 /// /// /// by 廖德云 /// 逗号单引号分隔的字段名字符串‘’,‘’,‘’ private string getInsertFieldValue(DataTable dtTemp) { string strTemp = ""; for (int i = 0; i < dtTemp.Rows.Count; i++) { strTemp += "("; for (int j = 0; j < dtTemp.Columns.Count; j++) { strTemp += "'" + dtTemp.Rows[i][j].ToString() + "',"; } strTemp = strTemp.TrimEnd(',') + "),"; } strTemp = strTemp.TrimEnd(','); return strTemp; } /// ///删除数据方法 ///传入的参数格式是:"tableName,条件字段~条件字段值" /// /// 操作记录数 private string delData(string strPar) { string[] parm = strPar.Split(','); string strSQL = "delete from "; try { string strTableName = parm[0]; string[] strConditionField = parm[1].Split('~'); strSQL += strTableName + " where "; strSQL += strConditionField[0] + "='"; strSQL += strConditionField[1] + "'"; } catch (Exception) { } int intdel = MySQLHelper.ExecuteNonQuery(strSQL); return ("成功删除" + intdel + "条记录!"); } /// /// 更新数据方法 /// 传入的参数格式是:"tableName,条件字段~条件字段值,~字段名~字段值" /// /// 操作记录数 private string updateData(string strPar) { string[] parm = strPar.Split(','); string strSQL = "update "; try { string strTableName = parm[0]; string[] strConditionField = parm[1].Split('~'); string[] strValueField = parm[2].Split('~'); strSQL += strTableName + " set "; for (int i = 0; i < strValueField.Length; i = i + 2) { strSQL += strValueField[i] + "='" + strValueField[i + 1] + "',"; } strSQL = strSQL.TrimEnd(','); strSQL += " where "; strSQL += strConditionField[0] + "='"; strSQL += strConditionField[1] + "'"; } catch (Exception) { } int intdel = MySQLHelper.ExecuteNonQuery(strSQL); return ("成功保存" + intdel + "条记录!"); } /// /// 插入数据方法 /// 传入的参数格式是:"tableName,条件字段~条件字段值,~字段名~字段值" /// /// 操作记录数 private string insertData(string strPar) { string[] parm = strPar.Split(','); string strSQL = "insert into "; try { string strTableName = parm[0]; string[] strConditionField = parm[1].Split('~'); string[] strValueField = parm[2].Split('~'); strSQL += strTableName + " ("; for (int i = 0; i < strValueField.Length; i = i + 2) { strSQL += strValueField[i] + ","; } strSQL = strSQL.TrimEnd(','); strSQL += ") values("; for (int i = 0; i < strValueField.Length; i = i + 2) { strSQL += "'" + strValueField[i + 1] + "',"; } strSQL = strSQL.TrimEnd(',') + ")"; } catch (Exception) { } int intdel = MySQLHelper.ExecuteNonQuery(strSQL); return ("成功添加" + intdel + "条记录!"); } /// /// 获取网格数据表格并转换成JSON /// 传入的参数格式是:"tableName,条件字段~条件字段值 /// /// JSON格式 private string getData(string strPar) { string[] parm = strPar.Split(','); string strSQL = ""; try { string strTableName = parm[0]; if (strTableName == "user") { strSQL = "select user_account,user_name,ORG_ID,phoneNo,authority from "; } else { strSQL = "select * from "; } string[] strConditionField = parm[1].Split('~'); if (strConditionField[0] == "" || strConditionField[1] == "") { strSQL += strTableName; } else { strSQL += strTableName + " where "; strSQL += strConditionField[0] + "='"; strSQL += strConditionField[1] + "'"; } } catch (Exception) { } DataTable dtTemp = MySQLHelper.ExecuteDataTable(strSQL); string json = DataTableToJson(dtTemp, true); return json; } #endregion #region 根据DataTable生成EasyUI Accord Tree Json树结构 /// /// 查询组织结构数据库表 /// /// public DataTable _GetTable(string strORG_PARENT_ID = "MS00") { DataTable dtOrg = new DataTable(); if (strORG_PARENT_ID == "MS00") { dtOrg = MySQLHelper.ExecuteDataTable("select * from organization order by ID"); } else { dtOrg = MySQLHelper.ExecuteDataTable("select * from organization where ORG_ID='" + strORG_PARENT_ID + "' or ORG_PARENT_ID='" + strORG_PARENT_ID + "'"); } return dtOrg; } /// /// 查询菜单数据库表 /// /// public DataTable _GetMenuTable() { DataTable dtTemp = MySQLHelper.ExecuteDataTable(stringSQL.strSQL_Menu); return dtTemp; } /// /// 根据DataTable生成EasyUI children Tree Json树结构 /// /// 数据源 /// ID列 /// Text列 /// 节点Url /// 关系字段 /// 父ID private string _GetTree(DataTable tabel, string idCol, string txtCol, string rela, object pId) { result.Append(sb.ToString()); sb.Clear(); //if (tabel.Rows.Count > 0) { sb.Append("["); string filer = string.Format("{0}='{1}'", rela, pId); DataRow[] rows = tabel.Select(filer); if (rows.Length > 0) { foreach (DataRow row in rows) { DataView dv = tabel.DefaultView; dv.RowFilter = rela + "='" + row[idCol].ToString() + "'"; if (dv.ToTable().Rows.Count > 0) { sb.Append("{\"id\":\"" + row[idCol] + "\",\"text\":\"" + row[txtCol] + "\",\"state\":\"closed\""); } else { sb.Append("{\"id\":\"" + row[idCol] + "\",\"text\":\"" + row[txtCol] + "\",\"state\":\"open\""); } if (tabel.Select(string.Format("{0}='{1}'", rela, row[idCol])).Length > 0) { sb.Append(",\"children\":"); _GetTree(tabel, idCol, txtCol, rela, row[idCol]); result.Append(sb.ToString()); sb.Clear(); } result.Append(sb.ToString()); sb.Clear(); sb.Append("},"); } sb = sb.Remove(sb.Length - 1, 1); } sb.Append("]"); result.Append(sb.ToString()); sb.Clear(); } return result.ToString(); } /// /// 根据DataTable生成EasyUI children Tree Json树结构 /// /// 数据源 /// ID列 /// Text列 /// 节点Url /// 关系字段 /// 父ID private string _GetChildTree(DataTable tabel, string idCol, string txtCol, string url, string rela, object pId) { result.Append(sb.ToString()); sb.Clear(); if (tabel.Rows.Count > 0) { sb.Append("["); string filer = string.Format("{0}='{1}'", rela, pId); DataRow[] rows = tabel.Select(filer); if (rows.Length > 0) { foreach (DataRow row in rows) { DataView dv = tabel.DefaultView; dv.RowFilter = "parent_id='" + row["Menu_ID"].ToString() + "'"; if (dv.ToTable().Rows.Count > 0) { sb.Append("{\"id\":\"" + row[idCol] + "\",\"text\":\"" + row[txtCol] + "\",\"attributes\":\"" + row[url] + "\",\"state\":\"closed\"" + ",\"iconCls\":\"" + row["iconCls"] + "\""); } else { sb.Append("{\"id\":\"" + row[idCol] + "\",\"text\":\"" + row[txtCol] + "\",\"attributes\":\"" + row[url] + "\",\"state\":\"open\"" + ",\"iconCls\":\"" + row["iconCls"] + "\""); } if (tabel.Select(string.Format("{0}='{1}'", rela, row[idCol])).Length > 0) { sb.Append(",\"children\":"); _GetChildTree(tabel, idCol, txtCol, url, rela, row[idCol]); result.Append(sb.ToString()); sb.Clear(); } result.Append(sb.ToString()); sb.Clear(); sb.Append("},"); } sb = sb.Remove(sb.Length - 1, 1); } sb.Append("]"); result.Append(sb.ToString()); sb.Clear(); } return result.ToString(); } #endregion #region "datatabale 转换成tree" /// /// 把DataTable数据转换为Json格式 /// /// 传入DataTable数据 /// public string DataTableToJson(DataTable dt, bool multRow) { StringBuilder jsonBuilder = new StringBuilder(); jsonBuilder.Append("{\"total\""); jsonBuilder.Append(":"); jsonBuilder.Append(dt.Rows.Count); jsonBuilder.Append(",\"rows\":"); if (dt.Rows.Count != 1 || multRow) jsonBuilder.Append("["); for (int i = 0; i < dt.Rows.Count; i++) { jsonBuilder.Append("{"); for (int j = 0; j < dt.Columns.Count; j++) { jsonBuilder.Append("\""); jsonBuilder.Append(dt.Columns[j].ColumnName); jsonBuilder.Append("\":\""); if (dt.Columns[j].ColumnName == "RQ") { jsonBuilder.Append(dt.Rows[i][j].ToString().Split(' ')[0]); } else { jsonBuilder.Append(dt.Rows[i][j].ToString()); } jsonBuilder.Append("\","); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append("},"); } if (dt.Rows.Count > 0) { jsonBuilder.Remove(jsonBuilder.Length - 1, 1); } if (dt.Rows.Count != 1 || multRow) { jsonBuilder.Append("],"); } else { jsonBuilder.Append(","); }; jsonBuilder.Append("\"title"); //jsonBuilder.Append(dt.TableName); jsonBuilder.Append("\":["); //这是循环获取列名称 jsonBuilder.Append("{\"title\": \"\", \"field\":\"ck\",\"checkbox\":\"true\",\"sortable\":\"false\"},"); for (int n = 0; n < dt.Columns.Count; n++) { jsonBuilder.Append("{"); jsonBuilder.Append("\"field"); jsonBuilder.Append("\":\""); jsonBuilder.Append(dt.Columns[n].ColumnName); jsonBuilder.Append("\","); jsonBuilder.Append("\"title"); jsonBuilder.Append("\":\""); jsonBuilder.Append(getStrColumnName(dt.Columns[n].ColumnName)); jsonBuilder.Append("\",\"sortable\":\"true\""); jsonBuilder.Append("},"); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append("},"); jsonBuilder.Remove(jsonBuilder.Length - 2, 2); jsonBuilder.Append("]"); jsonBuilder.Append("}"); return jsonBuilder.ToString(); } private string getStrColumnName(string strName) { try { string temp = dtFieldName.Select("field_text='" + strName + "'")[0]["field_name"].ToString(); return temp; } catch (Exception) { return ""; } } #endregion public bool IsReusable { get { return false; } } } }