NGToolsCSharp/NGTools/ASHX/getTreeCombox.ashx.cs

1275 lines
46 KiB
C#
Raw Normal View History

2024-09-13 08:44:13 +00:00
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
{
/// <summary>
/// getTreeCombox 的摘要说明
/// </summary>
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();
}
}
/// <summary>
/// 设置购买次数 计算一次减一
/// </summary>
/// <returns></returns>
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;
}
/// <summary>
/// 查询组织结构数据库表
/// </summary>
/// <returns></returns>
public int _SaveJldPar(string strPar)
{
DataTable dtPar = JSONConvert.JsonToDatatable("[" + strPar + "]");
int i = 0;
return i;
}
#region
/// <summary>
/// 批量更新数据库表格 修改,删除和插入
/// 从前端传来 表名@insetRows JSON@updateRows JSON @ deleteRows JSON
/// </summary>
/// <param name="strPar"></param>
/// /// by liaodeyun
/// <returns></returns>
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;
}
/// <summary>
/// 批量更新数据库表格 修改,删除和插入
/// 从前端传来 表名@insetRows JSON@updateRows JSON @ deleteRows JSON
/// </summary>
/// <param name="strPar"></param>
/// /// by liaodeyun
/// <returns></returns>
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;
}
/// <summary>
/// 从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);
/// </summary>
/// by liaodeyun
/// <param name="dtTemp"></param>
/// <returns></returns>
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(',');
}
/// <summary>
/// 从datatable获取批量插入的字段字符串
/// </summary>
/// <param name="dtTemp"></param>
/// by 廖德云
/// <returns>逗号分隔的字段名字符串,,,,</returns>
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;
}
/// <summary>
/// 从datatable获取批量插入的字段值字符串
/// </summary>
/// <param name="dtTemp"></param>
/// by 廖德云
/// <returns>逗号单引号分隔的字段名字符串‘’,‘’,‘’</returns>
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;
}
/// <summary>
///删除数据方法
///传入的参数格式是:"tableName,条件字段~条件字段值"
/// </summary>
/// <returns>操作记录数</returns>
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 + "条记录!");
}
/// <summary>
/// 更新数据方法
/// 传入的参数格式是:"tableName,条件字段~条件字段值,~字段名~字段值"
/// </summary>
/// <returns>操作记录数</returns>
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 + "条记录!");
}
/// <summary>
/// 插入数据方法
/// 传入的参数格式是:"tableName,条件字段~条件字段值,~字段名~字段值"
/// </summary>
/// <returns>操作记录数</returns>
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 + "条记录!");
}
/// <summary>
/// 获取网格数据表格并转换成JSON
/// 传入的参数格式是:"tableName,条件字段~条件字段值
/// </summary>
/// <returns>JSON格式</returns>
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树结构
/// <summary>
/// 查询组织结构数据库表
/// </summary>
/// <returns></returns>
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;
}
/// <summary>
/// 查询菜单数据库表
/// </summary>
/// <returns></returns>
public DataTable _GetMenuTable()
{
DataTable dtTemp = MySQLHelper.ExecuteDataTable(stringSQL.strSQL_Menu);
return dtTemp;
}
/// <summary>
/// 根据DataTable生成EasyUI children Tree Json树结构
/// </summary>
/// <param name="tabel">数据源</param>
/// <param name="idCol">ID列</param>
/// <param name="txtCol">Text列</param>
/// <param name="url">节点Url</param>
/// <param name="rela">关系字段</param>
/// <param name="pId">父ID</param>
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();
}
/// <summary>
/// 根据DataTable生成EasyUI children Tree Json树结构
/// </summary>
/// <param name="tabel">数据源</param>
/// <param name="idCol">ID列</param>
/// <param name="txtCol">Text列</param>
/// <param name="url">节点Url</param>
/// <param name="rela">关系字段</param>
/// <param name="pId">父ID</param>
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"
/// <summary>
/// 把DataTable数据转换为Json格式
/// </summary>
/// <param name="dt">传入DataTable数据</param>
/// <returns></returns>
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;
}
}
}
}