• 备份和恢复(或叫导入导出)按钮中的代码及后台控制器中的代码案例


    //备份(导出)按钮中的代码

    function(button, e)
    {
        var grid = this.getView();
        var recs = grid.getSelectionModel().getSelection();
        var url='/Pc/XiTongPublic/HeChaYaoDian1Backup';
        window.open(util.urlFillAll(url),'_blank');
    }

    //备份(导出)VS中的代码

            /// </summary>
            [HttpGet]
            [DontNeedPermit]
            public void XKZBackup(Guid[] IDs)
            {
                #region 实现
                var fileName = $"许可证导出{DateTime.Now.ToString("yyyy-MM-dd-HH-mm")}";
                fileName += $".xlsx";
                var ShuJus = _ioc.Query<XuKeZheng>(); // 默认全部备份
                var excel = new Excel()
                    .AddSheet(ShuJus.ToSheet());
                excel.WriteToResponse(Response, fileName);
                excel.Close();
                #endregion
            }

    //恢复(导入)按钮中的代码

    function(button, e)
    {
        var grid = this.getView();
        var win = Ext.create('ux.win.Recover', {
            url: '/Pc/XiTongPublic/HeChaYaoDian1Recover',
            confirmMessage: '恢复数据将会清空现有相同名称的核查要点并且无法再恢复,确认吗?',
            listeners:{
                close: function()
                {
                    grid.getStore().reload();
                }
            }
        });
        grid.add(win);
        win.showBy(grid);    //相对整个视图居中显示
    }

    //恢复(导入)VS中的代码

     /// 核查要点表餐饮服务数据恢复
            /// </summary>
            [HttpGet]
            [DontNeedPermit]
            public HyResultBase XKZRecover(Guid FileID)
            {
                #region 实现
                var r = new HyResultBase();
                string sFileName = UploadFile.GetFileSaveToTempFile(FileID);
                FileInfo file = new FileInfo(sFileName);
                if (!file.Exists)
                {
                    r.Errors.Add("要导入的文件不存在,可能的原因:1、没有上传;2、虽已上传但目前已不存在;");
                    return r;
                }
                var excel = new Excel(sFileName);
                var msg = "";
                var entityIDs = new List<Guid>();
                var total = 0;
                IRepository<XuKeZheng> db = null;
                _ioc.Query<XuKeZheng>().Delete().SaveToDB();
                // 以下注意恢复次序。以免产生外键约束错误
                excel.GetSheet<XuKeZheng>().ForEach(e =>
                {
                    total++;
                    e.Insert().MergingTempSave(db).SaveToTemp(out db);
                });
                db?.SaveToDB();
                excel.CloseAndDeleteFile();
    
                r.Success = true;
                msg += "
    " + "-".Repeat(10);
                msg += $"共上传[{total}]个许可证数据!";
                r.Messages.Add(msg + "-".Repeat(10));
                return r;
                #endregion
            }
  • 相关阅读:
    学习也可以有趣,喜欢上pandas,你该这么学!No.4
    Umbral:新型分散式密钥管理系统的代理重加密方案
    同态加密
    解决方案 | MySQL DBA主从复制出错怎么办?
    干货分享 | 史上最全Oracle体系结构整理
    点开,看一段,你就会喜欢上学习pandas,你该这么学!No.3
    mysql集群搭建(PXC)
    Centos7 离线安装mysql 5.6详细步骤
    tomcat别名配置多域名访问配置
    关于打印机状态的获取【转】
  • 原文地址:https://www.cnblogs.com/jiaowoyaoshu/p/9904191.html
Copyright © 2020-2023  润新知