| using Newtonsoft.Json; | 
| using Newtonsoft.Json.Linq; | 
| 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<grdAlignmentSub> omdelsub = new List<grdAlignmentSub>(); | 
|   | 
|   | 
|         #region 隐藏列设置 列表 | 
|         [Route("Xt_grdAlignment_WMES/grdAlignmentWMESList")] | 
|         [HttpGet] | 
|         public object grdAlignmentWMESList(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) | 
|                 { | 
|                     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; | 
|                     } | 
|                 } | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 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 grdAlignment | 
|         { | 
|             public string HFixCols; | 
|             public string HFontSize; | 
|             public string HHeadTextHeight; | 
|             public string HTextHeight; | 
|             public string HSortFlag; | 
|             public string HSelTotal; | 
|             public string HColumnWidth; | 
|   | 
|         } | 
|         public class grdAlignmentSub | 
|         { | 
|             public string ColumnName; | 
|             public bool IsHide; | 
|             public string Alignment; | 
|             public string ColumnWidth; | 
|         } | 
|   | 
|         [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<grdAlignment>(msg2); | 
|                 omdelsub = Newtonsoft.Json.JsonConvert.DeserializeObject<List<grdAlignmentSub>>(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"; | 
|                     HGridString += $"{(i + 1)}|{(omdelsub[i].IsHide == true ? 1 : 0)}|{omdelsub[i].Alignment}|{width},"; | 
|                 } | 
|                 HGridString = HGridString.Substring(0, HGridString.Length - 1); | 
|   | 
|                 oCN.RunProc("Delete from Xt_grdAlignment_WMES where HUserName='" + user + "' and HModName='" + HModName + "' "); | 
|                 oCN.RunProc("insert into Xt_grdAlignment_WMES (HUserName,HModName,HGridString,HFixCols" + | 
|                     ",HFontSize,HHeadTextHeight,HTextHeight,HSortFlag,HSelTotal,HColumnWidth" + | 
|                     ")  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) + ")"); | 
|   | 
|   | 
|                 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 + "'", "Xt_ModuleButtonSet"); | 
|   | 
|                 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 class noEditList | 
|         { | 
|             public string HBillType; | 
|             public string HModuleName; | 
|             public string HButtonID; | 
|             public string HButtonName; | 
|             public int HOrder; | 
|             public bool HHideFlag; | 
|             public bool HEditFlag; | 
|         } | 
|   | 
|         [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<moduleButtonSet> button = Newtonsoft.Json.JsonConvert.DeserializeObject<List<moduleButtonSet>>(sTableData); | 
|                 List<string> HButtonIDLists = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(HButtonIDList); | 
|                 List<string> HButtonNameLists = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(HButtonNameList); | 
|                 List<int> HOrderLists = Newtonsoft.Json.JsonConvert.DeserializeObject<List<int>>(HOrderList); | 
|                 List<noEditList> noEditLists= Newtonsoft.Json.JsonConvert.DeserializeObject<List<noEditList>>(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]; | 
|                             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 + "'"; | 
|                             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 sql = "exec h_p_Xt_ModuleButtonSet '" + HBillType + "','" + HModuleName + "','" + HButtonID + "','" + HButtonName + "'," + HOrder + "," + HHideFlag + "," + HEditFlag + ",'" + HUserName + "'"; | 
|                             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 | 
|     } | 
| } |