简要描述:

  • 导入模板用于获取不同模板,然后根据模板整理数据,进行导入

接口版本:

版本号 制定人 制定日期 修订日期
v3 陈碧贵 2019-01-20 xxxx-xx-xx

请求URL:

  • {mkey} 对应mapper文件
  • {resField} 对应 {mkey}里面 responseField键

请求方式:

  • GET

请求头:

参数名 是否必须 类型 说明
XownerId string 项目唯一ID,对应bo_project {ownerId}
XsysId string 所属系统 对应 bo_system 表
XuserFromFirstShareId string 一级分享用户ID, bo_user user_id
XuserFromSecondShareId string 二级分享用户ID, bo_user user_id
XverifyApi string 加密规则encryptByDES(`${newGuid()}
XfilterAreaCode string 行政区编码, 对应 bo_sys_area area_code
Content-Type: string application/json; charset=utf-8 请求类型
Authorization string 当前用户认证信息,通过登录接口获取 Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6

请求参数:



参数名 是否必须 类型 说明
depName string 机构关键字
_nodejs string common-data 对应/Config/AppNodeJs/Plugins/fn- common-data.js, 通过nodejs插件,对响应结果进行二次处理 common-data 普通数据(小写驼峰)common-data-under 普通数据下划线

返回示例:

正确时返回:

{
        data: {
          items: {
            basis: {
              startRowIndex: 1,
              resm: "basis",
              descrition: "",
              icon: "",
              title: "基础模板",
              template:
                "~/App_Data/Templates/basis/bo-area/template_bo-area_basis.xlsx",
              import: true,
              export: true,
            },
          },
        },
        code: 0,
        success: true,
      }

错误时返回:

{
    "code": 0,
    "message": ""
    "error":{
      errorCode:null,
      errorText:null
    }
    "success": false,
}

返回参数说明:

参数名 类型 说明
success bool true 表示数据请求成功(跟code=0一致),调用者优先使用
code int true 表示数据请求成功(跟code=0一致),调用者优先使用
data object
cacheType string redis/sqlite/local 数据来源缓存 的类型(便于开发调试和性能优化)
cacheDate date 最后数据获取时间

data参数说明:

basis: {
    startRowIndex: 1, //读取数据的行
    resm: "basis", //引用的列配置文件
    descrition: "",//模板说明信息
    icon: "",//模板图标
    title: "基础模板",//模板标题
    template:"~/App_Data/Templates/basis/bo-area/template_bo-area_basis.xlsx",//模板所在的服务器磁盘路径
    import: true,//是否为导入模板
    export: true,//是否为导出模板
},

.netcore服务端源码实现

/// <summary>
        /// 列表查询(显示转换后结果)    ownerId=base (对应 Config/Mapper)
        /// 通过 resField 处理要显示的字段
        /// </summary>
        /// <param name="mkey">mkey=control_item_dim_v2( 对应 Config/Mapper)</param>
        /// <param name="resField">对应配置文件里面 responseField key</param>
        /// <returns></returns>
        [HttpGet("{mkey}/templage/res/{resField}")]
        public async Task<IActionResult> BuilderExcel([Required]string mkey, [Required]string resField)
        {

            var pf = new PFGlobalParameter
            {
                OwnerId = RequestPFUtil.GetOwnerId(this.HttpContext),
                SysId = RequestPFUtil.GetSysId(this.HttpContext)
            };
            pf.ModuleKey = mkey;
            pf.ReponseField = resField;
            Dictionary<string, object> dictionaryUrl = RequestPFUtil.ConvertHTByReqFormOrParamsD(this.HttpContext);

            SqlConfig sqlConfig = _sqlConfigService.BuildUseSqlConfigMapper(true, pf, mkey, resField);

            DataTable dt = _excelRepository.BuildIintDataTable(pf, sqlConfig);
            string excelPath = $"~/App_Temp/Excels/{pf.OwnerId}/{mkey}/template_{mkey}_{resField}.xlsx";
            bool doExcelResult = _excelRepository.DataTableToExcel(excelPath, dt, "Sheet1");

            return new JsonResult(new ResultDetail<object>
            {
                Success = doExcelResult,
                Data = new
                {
                    Url = excelPath
                }

            }); ;

        }
文档更新时间: 2021-08-22 08:00   作者:admin