using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Pub_Control; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web; using System.Web.Http; using WebAPI.Models; namespace WebAPI.Controllers.BaseSet { public class Xt_grdAlignment_WMESController : ApiController { private json objJsonResult = new json(); public DataSet ds = new DataSet(); public WebServer webserver = new WebServer(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); grdAlignment omdelMian = new grdAlignment(); List omdelsub = new List(); #region 隐藏列设置 列表 [Route("Xt_grdAlignment_WMES/grdAlignmentWMESList")] [HttpGet] public object grdAlignmentWMESList(string HModName, string user) { try { List columnNameList = new List(); //定义声明变量 ,把通过 new List()创建的 实例,赋值给变量 ds = oCN.RunProcReturn("select * from Xt_grdAlignment_WMES where HModName='" + HModName + "' and HUserName='" + user + "'", "Xt_grdAlignment_WMES"); if (ds.Tables[0].Rows.Count == 0) { ds = oCN.RunProcReturn("select * from Xt_grdAlignment_WMES where HModName='" + HModName + "' and (HUserName='admin' or HUserName='Admin')", "Xt_grdAlignment_WMES"); if (ds.Tables[0].Rows.Count != 0) { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } } foreach (DataColumn col in ds.Tables[0].Columns)//遍历ds中第一个表(Tables[0])的所有列(Columns)每次循环中,col变量会持有当前列的引用 { Type dataType = col.DataType; //获取当前数据类型传入 自定义变量datadataType string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //字符串拼接 // 将列名和数据类型信息拼接成一个JSON格式的字符串 columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0];//代码将第一个DataTable(索引为0)赋值给objJsonResult的data属性 objJsonResult.list = columnNameList;//将columnNameList赋值给objJsonResult的list属性 return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 隐藏列设置 添加/修改 public class grdAlignment { public string HFixCols; public string HFontSize; public string HHeadTextHeight; public string HTextHeight; public string HSortFlag; public string HSelTotal; public string HColumnWidth; public string HPageSize; } public class grdAlignmentSub { public string ColumnName; public bool IsHide; public string Alignment; public string ColumnWidth; public string ColumnName_Other; public bool IsTotalRow; } [Route("Xt_grdAlignment_WMES/AddgrdAlignmentWMES")] [HttpPost] public object AddgrdAlignmentWMES([FromBody] JObject sMainSub) { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); oCN.BeginTran(); //保存主表 objJsonResult = AddBillMain(msg1); if (objJsonResult.code == "0") { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = objJsonResult.Message; objJsonResult.data = null; return objJsonResult; } oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "新增单据成功!"; objJsonResult.data = null; return objJsonResult; } public json AddBillMain(string msg1) { string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); string HModName = sArray[2].ToString(); int OperationType = int.Parse(sArray[3].ToString());//数据类型 1添加 3修改 string user = sArray[4].ToString(); try { omdelMian = Newtonsoft.Json.JsonConvert.DeserializeObject(msg2); omdelsub = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg3); var HGridString = ""; for (int i = 0; i < omdelsub.Count; i++) { var width = omdelsub[i].ColumnWidth; if (string.IsNullOrEmpty(width) || DBUtility.ClsPub.isLong(width) == 0) width = "120"; var ColumnName_Other = (omdelsub[i].ColumnName_Other == null || omdelsub[i].ColumnName_Other.Trim() == "") ? omdelsub[i].ColumnName : omdelsub[i].ColumnName_Other; HGridString += $"{(i + 1)}|{(omdelsub[i].IsHide == true ? 1 : 0)}|{omdelsub[i].Alignment}|{width}|{ColumnName_Other}|{omdelsub[i].ColumnName}|{(omdelsub[i].IsTotalRow == true ? 1 : 0)},"; } HGridString = HGridString.Substring(0, HGridString.Length - 1); oCN.RunProc("Delete from Xt_grdAlignment_WMES where HUserName='" + user + "' and HModName='" + HModName + "' "); string sql = "insert into Xt_grdAlignment_WMES (HUserName,HModName,HGridString,HFixCols" + ",HFontSize,HHeadTextHeight,HTextHeight,HSortFlag,HSelTotal,HColumnWidth,HPageSize" + ") values('" + user + "','" + HModName + "','" + HGridString + "'," + (omdelMian.HFixCols == "" ? "0" : omdelMian.HFixCols) + "," + (omdelMian.HFontSize == "" ? "0" : omdelMian.HFontSize) + ",0" + ",0,'" + omdelMian.HSortFlag + "','" + omdelMian.HSelTotal + "'" + "," + (omdelMian.HColumnWidth == "" ? "0" : omdelMian.HColumnWidth) + "," + ((omdelMian.HPageSize == null || omdelMian.HPageSize == "") ? "0" : omdelMian.HPageSize) + ")"; oCN.RunProc(sql); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = null; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 新隐藏列设置(添加列名保存控制序号位置) 添加/修改 [Route("Xt_grdAlignment_WMES/AddgrdAlignmentWMESNew")] [HttpPost] public object AddgrdAlignmentWMESNew([FromBody] JObject sMainSub) { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); oCN.BeginTran(); //保存主表 objJsonResult = AddBillMainNew(msg1); if (objJsonResult.code == "0") { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = objJsonResult.Message; objJsonResult.data = null; return objJsonResult; } oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "新增单据成功!"; objJsonResult.data = null; return objJsonResult; } public json AddBillMainNew(string msg1) { string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); string HModName = sArray[2].ToString(); int OperationType = int.Parse(sArray[3].ToString());//数据类型 1添加 3修改 string user = sArray[4].ToString(); try { omdelMian = Newtonsoft.Json.JsonConvert.DeserializeObject(msg2); omdelsub = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg3); var HGridString = ""; for (int i = 0; i < omdelsub.Count; i++) { var width = omdelsub[i].ColumnWidth; if (string.IsNullOrEmpty(width) || DBUtility.ClsPub.isLong(width) == 0) width = "120"; var ColumnName_Other = (omdelsub[i].ColumnName_Other == null || omdelsub[i].ColumnName_Other.Trim() == "") ? omdelsub[i].ColumnName : omdelsub[i].ColumnName_Other; HGridString += $"{(i + 1)}|{(omdelsub[i].IsHide == true ? 1 : 0)}|{omdelsub[i].Alignment}|{width}|{ColumnName_Other}|{omdelsub[i].ColumnName}|{(omdelsub[i].IsTotalRow == true ? 1 : 0)},"; } HGridString = HGridString.Substring(0, HGridString.Length - 1); oCN.RunProc("Delete from Xt_grdAlignment_WMES where HUserName='" + user + "' and HModName='" + HModName + "' "); string sql = "insert into Xt_grdAlignment_WMES (HUserName,HModName,HGridString,HFixCols" + ",HFontSize,HHeadTextHeight,HTextHeight,HSortFlag,HSelTotal,HColumnWidth,HPageSize" + ") values('" + user + "','" + HModName + "','" + HGridString + "'," + (omdelMian.HFixCols == "" ? "0" : omdelMian.HFixCols) + "," + (omdelMian.HFontSize == "" ? "0" : omdelMian.HFontSize) + ",0" + ",0,'" + omdelMian.HSortFlag + "','" + omdelMian.HSelTotal + "'" + "," + (omdelMian.HColumnWidth == "" ? "0" : omdelMian.HColumnWidth) + "," + ((omdelMian.HPageSize == null || omdelMian.HPageSize == "") ? "0" : omdelMian.HPageSize) + ")"; oCN.RunProc(sql); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = null; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 隐藏列设置 删除 [Route("Xt_grdAlignment_WMES/DelgrdAlignmentWMES")] [HttpGet] public object DelgrdAlignmentWMES(string HModName, string user) { try { ds = oCN.RunProcReturn("select * from Xt_grdAlignment_WMES where HModName='" + HModName + "' and HUserName='" + user + "'", "Xt_grdAlignment_WMES"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "此人无模块数据!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); oCN.RunProc("delete from Xt_grdAlignment_WMES where HModName='" + HModName + "' and HUserName='" + user + "'"); oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "删除成功!"; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 按钮设置 列表 [Route("Xt_ModuleButtonSet_WMES/moduleButtonSetWMESList")] [HttpGet] public object moduleButtonSetWMESList(string HModName, string HBillType, string HUserName) { try { ds = oCN.RunProcReturn("select * from Xt_ModuleButtonSet where HModuleName='" + HModName + "' and HBillType='" + HBillType + "' and HUserName='" + HUserName + "' order by HOrder", "Xt_ModuleButtonSet"); if (ds.Tables[0].Rows.Count == 0) { ds = oCN.RunProcReturn("select * from Xt_ModuleButtonSet where HModuleName='" + HModName + "' and HBillType='" + HBillType + "' and HUserName='" + "admin" + "' order by HOrder", "Xt_ModuleButtonSet"); if (ds.Tables[0].Rows.Count != 0) { objJsonResult.code = "1"; objJsonResult.count = ds.Tables[0].Rows.Count; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } } objJsonResult.code = "1"; objJsonResult.count = ds.Tables[0].Rows.Count; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 按钮设置 添加/修改 public class moduleButtonSet { public string BtnID; public string BtnName; public bool IsHide; public string HOtherName; } public class noEditList { public string HBillType; public string HModuleName; public string HButtonID; public string HButtonName; public int HOrder; public bool HHideFlag; public bool HEditFlag; public string HOtherName; } [Route("Xt_ModuleButtonSet_WMES/AddModuleButtonSetWMES")] [HttpPost] public object AddModuleButtonSetWMES([FromBody] JObject sMainSub) { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); oCN.BeginTran(); //保存主表 objJsonResult = AddButtonMain(msg1); if (objJsonResult.code == "0") { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = objJsonResult.Message; objJsonResult.data = null; return objJsonResult; } oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; objJsonResult.data = null; return objJsonResult; } public json AddButtonMain(string msg1) { string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string sTableData = sArray[0].ToString(); string HButtonIDList = sArray[1].ToString(); string HButtonNameList = sArray[2].ToString(); string HOrderList = sArray[3].ToString(); string HModuleName = sArray[4].ToString(); string HBillType = sArray[5].ToString(); string NoEditList = sArray[6].ToString(); string HUserName = sArray[7].ToString(); try { List button = Newtonsoft.Json.JsonConvert.DeserializeObject>(sTableData); List HButtonIDLists = Newtonsoft.Json.JsonConvert.DeserializeObject>(HButtonIDList); List HButtonNameLists = Newtonsoft.Json.JsonConvert.DeserializeObject>(HButtonNameList); List HOrderLists = Newtonsoft.Json.JsonConvert.DeserializeObject>(HOrderList); List noEditLists= Newtonsoft.Json.JsonConvert.DeserializeObject>(NoEditList); //插入可编辑按钮的信息记录 oCN.RunProc("delete from Xt_ModuleButtonSet where HModuleName= '" + HModuleName + "' and HBillType='" + HBillType + "' and HUserName= '" + HUserName + "'"); for (int i = 0; i < button.Count; i++) { for(int j = 0; j < HButtonIDLists.Count; j++) { if (button[i].BtnID == HButtonIDLists[j]) { int HHideFlag = 0; int HEditFlag = 1; string HButtonID = HButtonIDLists[j].ToString(); string HButtonName = HButtonNameLists[j].ToString(); int HOrder = HOrderLists[j]; string HOtherName = button[i].HOtherName; if (button[i].IsHide) { HHideFlag = 1; } if(button[i].BtnID== "HideButton") //用户进行第一次设置时,设置 按钮设置 按钮为不可编辑且不隐藏 { HEditFlag = 0; HHideFlag = 0; } string sql = "exec h_p_Xt_ModuleButtonSet '" + HBillType + "','" + HModuleName + "','" + HButtonID + "','" + HButtonName + "'," + HOrder + "," + HHideFlag + "," + HEditFlag + ",'" + HUserName + "','" + HOtherName + "'"; oCN.RunProc(sql); } } } //重新插入不可编辑按钮的信息记录 for (int i = 0; i < noEditLists.Count; i++) { for (int j = 0; j < HButtonIDLists.Count; j++) { if (noEditLists[i].HButtonID == HButtonIDLists[j]) { int HHideFlag = noEditLists[i].HHideFlag?1:0; int HEditFlag = 0; string HButtonID = noEditLists[i].HButtonID; string HButtonName = noEditLists[i].HButtonName; int HOrder = HOrderLists[j]; string HOtherName = noEditLists[i].HOtherName; string sql = "exec h_p_Xt_ModuleButtonSet '" + HBillType + "','" + HModuleName + "','" + HButtonID + "','" + HButtonName + "'," + HOrder + "," + HHideFlag + "," + HEditFlag + ",'" + HUserName + "','" + HOtherName + "'"; oCN.RunProc(sql); } } } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = null; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 高级过滤 方案查询 public class TreeModel { public string id { get; set; } public string title { get; set; } public List children = new List(); } [Route("Xt_grdAlignment_WMES/Gy_QueryConditionList_F_A")] [HttpGet] public object Gy_QueryConditionList_F_A(string HModName, string user) { try { ds = oCN.RunProcReturn("Select HInterID,HName from xt_ICSchemeMain Where HName='默认方案' and HBillName='" + HModName + "'and HUserCode='" + user + "'", "xt_ICSchemeMain"); List treeModels = new List(); if (ds.Tables[0].Rows.Count > 0) { TreeModel Second = new TreeModel(); Second.id = ds.Tables[0].Rows[0]["HInterID"].ToString(); Second.title = ds.Tables[0].Rows[0]["HName"].ToString(); treeModels.Add(Second); ds = oCN.RunProcReturn("Select HInterID,HName from xt_ICSchemeMain Where HName!='默认方案' and HBillName='" + HModName + "'and HUserCode='" + user + "' order by HInterID", "xt_ICSchemeMain"); foreach (DataRow row in ds.Tables[0].Rows) { TreeModel Three = new TreeModel(); Three.id = row["HInterID"].ToString(); Three.title = row["HName"].ToString(); treeModels.Add(Three); } } else { TreeModel first = new TreeModel(); first.id = "0"; first.title = "默认方案"; treeModels.Add(first); } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels); return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 高级过滤 字段过滤条件查询 [Route("Xt_grdAlignment_WMES/Gy_QueryCondition_Z_D_select")] [HttpGet] public object Gy_QueryCondition_Z_D_select(string sWhere, string user, string Organization) { try { List columnNameList = new List(); ////编辑权限 //if (!DBUtility.ClsPub.Security_Log_second("Gy_Material", 1, false, user)) //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "无查看权限!"; // objJsonResult.data = null; // return objJsonResult; //} string sql1 = string.Format(@"select * from Xt_grdCondition where 1=1 "); string sql = sql1 + sWhere; ds = oCN.RunProcReturn(sql, "Xt_grdCondition"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.list = columnNameList; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 高级过滤 方案 过滤条件 删除 [Route("Xt_grdAlignment_WMES/Del_Gy_QueryConditionList_F_A")] [HttpGet] public object Del_Gy_QueryConditionList_F_A(string HModName, string ID, string user) { try { oCN.BeginTran(); //删除方案主表 oCN.RunProc("Delete From xt_ICSchemeMain where HInterID=" + ID.ToString()); //删除 过滤条件 oCN.RunProc("Delete From Xt_grdCondition where HInterID=" + ID.ToString()); oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "删除成功!"; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 高级过滤 方案 过滤条件 保存 public class xt_ICScheme { public string HFieldNameCol; public string HControlCol; public string HConditionCol; public string HRelationCol; } public class data { public string id; public string title; } [Route("Xt_grdAlignment_WMES/Add_Gy_QueryConditionList_F_A")] [HttpPost] public object Add_Gy_QueryConditionList_F_A([FromBody] JObject sMainSub) { try { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string TableData = sArray[0].ToString();//字段过滤条件 string F_A = sArray[1].ToString();//方案 string HModName = sArray[2].ToString();//模块 string HUserName = sArray[3].ToString();//用户 List ListTableData = Newtonsoft.Json.JsonConvert.DeserializeObject>(TableData); data listF_A = Newtonsoft.Json.JsonConvert.DeserializeObject(F_A); oCN.BeginTran(); if (listF_A.id != "0") { //删除主表 oCN.RunProc("Delete From xt_ICSchemeMain where HInterID=" + listF_A.id.ToString()); } else { listF_A.id = Pub_Class.ClsPub.CreateBillID("0001", ref Pub_Class.ClsPub.sExeReturnInfo).ToString(); ; } //添加方案主表 oCN.RunProc("Insert Into xt_ICSchemeMain " + "(HBillType,HInterID,HName,HUserCode" + ",HBillName,HStopflag" + ") " + " values('0001'," + listF_A.id.ToString() + ",'" + listF_A.title + "','" + HUserName + "'" + ",'" + HModName.ToString() + "',0" + ") "); //删除字段表数据 oCN.RunProc("delete Xt_grdCondition where HInterID=" + listF_A.id.ToString()); ds = oCN.RunProcReturn("select column_name,data_type from information_schema.columns where table_name ='" + HModName + "' order by ORDINAL_POSITION", "information"); //添加过滤字段表 for (int i = 0; i < ListTableData.Count; i++) { for (int j = 0; j < ds.Tables[0].Rows.Count; j++) { if (ListTableData[i].HFieldNameCol == ds.Tables[0].Rows[j]["column_name"].ToString()) { oCN.RunProc("Insert Into Xt_grdCondition " + "(HInterID,HUserID,HBillName,HRow,HIDCol,HBracketLCol,HFieldNameCol,HControlCol" + ",HConditionCol,HBracketRCol,HRelationCol" + ") " + " values(" + listF_A.id.ToString() + ",'" + HUserName + "','" + HModName.Trim() + "'," + i + ",'" + Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[j]["column_name"].ToString()) + "'" + ",''" + ",'" + Pub_Class.ClsPub.isStrNull(ListTableData[i].HFieldNameCol) + "'" + ",'" + Pub_Class.ClsPub.isStrNull(ListTableData[i].HControlCol) + "'" + ",'" + Pub_Class.ClsPub.isStrNull(ListTableData[i].HConditionCol).Replace("'", "''") + "'" + ",''" + ",'" + Pub_Class.ClsPub.isStrNull(ListTableData[i].HRelationCol) + "')"); break; } } } oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 基础资料 获取数据 [Route("Gy_GetBaseData/Gy_GetBaseData")] [HttpGet] public object Gy_GetBaseData(string sql,string tableView, string user) { try { List columnNameList = new List(); ds = oCN.RunProcReturn(sql, tableView); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 单据翻译 初始化 查询 [Route("Xt_grdAlignment_WMES/SelectMESLanguage")] [HttpGet] public object SelectMESLanguage(string sWhere) { try { //获取公共数据的数量 int count = 0; DataSet dataSet = oCN.RunProcReturn("select * from h_v_Xt_LanModuleList where 1=1 and HModuleCode in('GYModel')", "h_v_Xt_LanModuleList"); if (dataSet.Tables[0].Rows.Count > 0) { count = dataSet.Tables[0].Rows.Count; } //根据单据模块名称 和 翻译类型 去 模块表里查询 如果没有数据 就新增,如果有数据就不保存 ds = oCN.RunProcReturn("select * from h_v_Xt_LanModuleList where 1=1 " + sWhere, "h_v_Xt_LanModuleList"); objJsonResult.code = "1"; objJsonResult.count = count; objJsonResult.Message = ""; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 单据翻译 初始化 保存 [Route("Xt_grdAlignment_WMES/SaveMESLanguage")] [HttpPost] public object SaveMESLanguage([FromBody] JObject sMainSub) { try { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0]; string HModName = sArray[1]; //如果没有数据 就新增,如果有数据就不保存 //通过,进行分组 string[] data = msg2.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); oCN.BeginTran(); string HBillType = "3033"; long HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo); //定义一个空集合 去 判断是否有重复的id string[] list = new string[data.Length]; //判断是否跟公共字段重复 ds = oCN.RunProcReturn(" select * from h_v_Xt_LanModuleList where HModuleCode='GYModel'", "h_v_Xt_LanModuleList"); string[] Datalist = new string[ds.Tables[0].Rows.Count]; if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Datalist[i] = ds.Tables[0].Rows[i]["HFieldCode"].ToString() + ds.Tables[0].Rows[i]["HFieldName"].ToString(); } } //定义一个 num 去定义 当前的索引 int num = 0; for (int i = 0; i < data.Length; i++) { string[] Lable = data[i].Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries); if (Lable.Length == 3) { string HFieldCode = Lable[0]; string HFieldName = Lable[1]; string HFieldModelType = Lable[2]; if (!list.Contains(HFieldCode + HFieldName) && !Datalist.Contains(HFieldCode + HFieldName)) { list[num] = HFieldCode + HFieldName; num += 1; oCN.RunProc("insert into Xt_LanModuleSub(HInterID,HEntryID,HFieldModelType,HFieldCode,HFieldName)" + "values(" + HInterID + "," + num + ",'" + HFieldModelType + "','" + HFieldCode + "','" + HFieldName + "')"); } } } oCN.RunProc("insert into Xt_LanModuleMain(HInterID,HBillType,HModuleName,HModuleCode)" + "values(" + HInterID + ",'" + HBillType + "','','" + HModName + "')"); oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 报错信息 查询 [Route("Xt_grdAlignment_WMES/SelectMessageError")] [HttpGet] public object SelectMessageError(string ErrorCode) { try { ds = oCN.RunProcReturn("select * from Xt_MessageError where HErrorCode='" + ErrorCode + "'", "Xt_MessageError"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = ""; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion } }