Exemple #1
0
        public JsonResult SaveColumnConfig(ClientModel clientModel)
        {
            Sys_ColumnsForModule module = clientModel.GetEntity <Sys_ColumnsForModule>("columnModel");

            try
            {
                if (module.InsertOrUpdate() > 0)
                {
                    return(Json(new
                    {
                        status = 0
                    }));
                }
                else
                {
                    return(Json(new
                    {
                        status = 2
                    }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new
                {
                    status = 1,
                    msg = ex.Message
                }));
            }
        }
        /// <summary>
        /// 生成导出excel
        /// </summary>
        /// <param name="source">要导出的数据</param>
        /// <param name="code">配置信息</param>
        /// <param name="fileName">要导出的文件名</param>
        /// <returns></returns>
        public IActionResult ExportData(DataTable source, string code, string fileName)
        {
            string strSQL = @"SELECT * FROM Sys_ColumnsForModule WHERE cModuleCode=@code AND iShow=1
                            ORDER BY nOrderID";
            List <Sys_ColumnsForModule> lst = Db.ExecuteEntities <Sys_ColumnsForModule>(strSQL, new { code });


            for (int i = source.Columns.Count - 1; i >= 0; i--)
            {
                Sys_ColumnsForModule module = lst.Where(p => p.cField.ToLower() == source.Columns[i].ColumnName.ToLower()).FirstOrDefault();
                if (module == null)
                {
                    source.Columns.RemoveAt(i);
                }
                else
                {
                    source.Columns[i].ColumnName = module.cTitle;
                }
            }

            string     ext        = FileHelper.FileExtension(fileName);
            SaveFormat saveFormat = (SaveFormat)Enum.Parse(typeof(SaveFormat), ext, true);

            using (Workbook wb = new Workbook())
            {
                wb.Worksheets[0].Cells.ImportData(source, 0, 0, new ImportTableOptions {
                });
                wb.Worksheets[0].FreezePanes(1, 0, 1, source.Columns.Count);
                MemoryStream stream = new MemoryStream();
                wb.Save(stream, saveFormat);
                return(WebHelper.DownLoad(stream, fileName));
            }
        }
Exemple #3
0
        public JsonResult SortLayoutConfig(ClientModel clientModel)
        {
            //不支持夸父节点调整 所以 current和target一定拥有相同的父节点
            Sys_ColumnsForModule current = clientModel.GetEntity <Sys_ColumnsForModule>("current");
            Sys_ColumnsForModule target  = clientModel.GetEntity <Sys_ColumnsForModule>("target");

            string cModuleCode = current.cModuleCode;

            double TID = target.ID.Value;

            string type = clientModel.GetString("type");



            string sortSQL = string.Empty;

            if (type == "after")// 只有排序到最后一个时才会是after
            {
                sortSQL = @"BEGIN TRAN
                                DECLARE @sortTable TABLE(nOrderID INT IDENTITY,ID int)
                                INSERT INTO @sortTable(ID)
                                SELECT ID FROM Sys_ColumnsForModule Where cModuleCode=@cModuleCode AND  ID<>@ID ORDER BY ISNULL(nOrderID,999999)
                                INSERT INTO @sortTable(ID)
                                SELECT ID FROM Sys_ColumnsForModule Where cModuleCode=@cModuleCode AND ID=@ID ORDER BY ISNULL(nOrderID,999999)
                                
                                UPDATE Sys_ColumnsForModule SET nOrderID=(SELECT nOrderID FROM @sortTable T WHERE T.ID=Sys_ColumnsForModule.ID)
                                WHERE cModuleCode=@cModuleCode
                            COMMIT";
                Db.ExecuteNonQuery(sortSQL, new { cModuleCode, current.ID });
            }
            else
            {
                sortSQL = @"BEGIN TRAN
                                DECLARE @sortTable TABLE(nOrderID INT IDENTITY,ID int)
                                INSERT INTO @sortTable(ID)
                                SELECT ID FROM Sys_ColumnsForModule Where cModuleCode=@cModuleCode AND  nOrderID<(SELECT nOrderID FROM Sys_ColumnsForModule WHERE ID=@TID) AND ID<>@ID ORDER BY nOrderID
                                INSERT INTO @sortTable(ID)
                                SELECT ID FROM Sys_ColumnsForModule Where cModuleCode=@cModuleCode AND ID=@ID ORDER BY ISNULL(nOrderID,999999)
                                 INSERT INTO @sortTable(ID)
                                SELECT ID FROM Sys_ColumnsForModule Where cModuleCode=@cModuleCode AND  nOrderID>=(SELECT nOrderID FROM Sys_ColumnsForModule WHERE ID=@TID) AND ID<>@ID ORDER BY nOrderID
                                
                                UPDATE Sys_ColumnsForModule SET nOrderID=(SELECT nOrderID FROM @sortTable T WHERE T.ID=Sys_ColumnsForModule.ID)
                                WHERE cModuleCode=@cModuleCode
                            COMMIT";
                Db.ExecuteNonQuery(sortSQL, new { cModuleCode, current.ID, TID });
            }

            return(Json(new { status = 0 }));
        }