web层

.js导出事件:

//导出为excel文档
$('#btn-export').click(function () {
//得到查询的参数
var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
ProcessSteps_RecordId: $("#ProcessSteps_RecordId").val(),
OperationModeId: $("#OperationModeId").val(),
ScanCodeProduce: $("#ScanCodeProduce").val(),
ReceiveValue: $("#ReceiveValue").val(),
IsOK: $("#IsOK").val(),
SerialNumber: $("#SerialNumber").val(),
OperationCategory: $("#OperationCategory").val(),
StationId: $("#StationName").val(),
LineId: $("#LineName").val(),
MinTime: $("#MinTime1").val(),
MaxTime: $("#MaxTime1").val()
};

layer.load(0, {
shade: [0.3, '#000'] //0.1透明度的白色背景
});

_processSteps_Detail_RecordService
.getProcessSteps_Detail_RecordToExcel(temp)
.done(function (result) {
layer.closeAll('loading');
app.downloadTempFile(result);
});

});

注释:

‘#’后面的字符是HTML里的Id名

temp 里面是条件(这个将传给Application层的方法),getProcessSteps_Detail_RecordToExcel(temp)方法是对应的Application层的方法。

Application层

接口:

Task<FileDto> GetProcessSteps_Detail_RecordToExcel(GetProcessSteps_Detail_RecordInput input);

方法:

public async Task<FileDto> GetProcessSteps_Detail_RecordToExcel(GetProcessSteps_Detail_RecordInput input)
{
var OperationCategoryDir = DictionaryDto.OperationCategoryDir;
var IsOKDir = DictionaryDto.IsOKDir;

//初步过滤
var query = from pdr in _processSteps_Detail_RecordRepository.GetAll()
join ed in _EnumDictRepository.GetAll() on pdr.OperationModeId equals ed.Id
join pr in _processSteps_RecordRepository.GetAll() on pdr.ProcessSteps_RecordId equals pr.Id
join p in _ProcessStepsRepository.GetAll() on pr.ProcessStepsId equals p.Id
join s in _StationRepository.GetAll() on p.StationId equals s.Id
join l in _LineRepository.GetAll() on s.LineId equals l.Id
orderby pdr.Id descending
select new ProcessSteps_Detail_RecordListDto()
{
Id = pdr.Id,
LineId = l.Id,
};

query = query
.WhereIf(!(input.LineId == "0"), u => u.LineId == LineId)
;

var list = query.ToList();

var fileDto = _processSteps_Detail_RecordListExcelExporter.ExportProcessSteps_Detail_RecordToFile(list);

return fileDto;
}

注释:方法对应接口

ABP框架按条件导出的更多相关文章

  1. abp框架Excel导出——基于vue

    abp框架Excel导出--基于vue 目录 abp框架Excel导出--基于vue 1.技术栈 1.1 前端采用vue,官方提供 1.2 后台是abp--aspnetboilerplate 2. E ...

  2. ABP 框架 数据库底层迁移 Mysql 集群

    技术交流,请加QQ群:538327407 我的各种github 开源项目和代码:https://github.com/linbin524 背景 笔者 目前架构的IOT 项目是使用abp 框架作为后台, ...

  3. ABP 框架代码批量生成器

    需要最新源码,或技术提问,请加QQ群:538327407 我的各种github 开源项目和代码:https://github.com/linbin524 简介 用abp 框架快两年了,用它完成了多个项 ...

  4. ABP开发框架前后端开发系列---(8)ABP框架之Winform界面的开发过程

    在前面随笔介绍的<ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理>里面,介绍了如何改进和完善审计日志和登录日志的应用服务端和Winform客户端,由于篇幅限制,没有进 ...

  5. 使用代码生成工具快速生成基于ABP框架的Vue+Element的前端界面

    世界上唯一不变的东西就是变化,我们通过总结变化的规律,以规律来应付变化,一切事情处理起来事半功倍.我们在开发后端服务代码,前端界面代码的时候,界面都是依照一定的规律进行变化的,我们通过抽取数据库信息, ...

  6. 使用代码生成工具快速开发ABP框架项目

    在一般系统开发中,我们一般要借助于高度定制化的代码生成工具,用于统一代码风,节省开发时间,提高开发效率.不同的项目,它的项目不同分层的基类定义不同,我们需要在框架基类的基础上扩展我们的业务类代码,尽量 ...

  7. ABP框架详解(二)AbpKernelModule

    AbpKernelModule类是Abp框架自己的Module,它也跟所有其他的Module一样继承自AbpModule,重写PreInitialize,Initialize,PostInitiali ...

  8. ABP框架展示异常信息

    接触ABP框架有一段时间了,也遇到了一些问题,看了官网文档,但是或许是看的不够细致的原因,实际开发中还是遇到了一些问题,耗费了时间去处理,回头一看,原来文档中早已提及. 开发环境:ABP+MPA模式+ ...

  9. ABP框架系列之三十四:(Multi-Tenancy-多租户)

    What Is Multi Tenancy? "Software Multitenancy refers to a software architecture in which a sing ...

随机推荐

  1. ivew 限制输入 0 到 1 的数字 包括小数, 0 ,1

    input <FormItem label="> <Input v-model="formItem.shapeDifferen.breastScaleOutSpa ...

  2. bzoj4773 负环 倍增+矩阵

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4773 题解 最小的负环的长度,等价于最小的 \(len\) 使得存在一条从点 \(i\) 到自 ...

  3. sys模块 json pickle模块

    # sys模块# import sys# sys.path# sys.argv# sys.exit() # 脚本退出# print('[%s]'%('#'*1))# print('[%s]'%('#' ...

  4. centos 6.5 安装 nginx

    从nginx官网下载安装包:nginx-1.8.1.tar.gz,解压 tar xvf nginx-1.8.1.tar.gz -C /usr/local 安装依赖 yum install gcc yu ...

  5. vue大文件分片上传插件

    最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现. 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表 ...

  6. Nginx实现反向代理与负载均衡

    1.什么是反向代理 使用nginx实现反向代理,Nginx只做请求的转发,后台有多个http服务器提供服务,nginx的功能就是把请求转发给后面的服务器,决定把请求转发给谁. 2.在一个虚拟机上创建两 ...

  7. Python_006(is和==,小数据池)

    一.is和==的区别 1.id()方法,可以查看一个变量的内存地址 lst = ["周杰伦", "燃哥"] lst1 = ["周杰伦", & ...

  8. Windows无法启动MapGIS DataStorage Service服务

    但是启动又启动不了,查看属性 发现计算机服务器确实少了该文件目录.. 可能是不小心删除了? 之前确实有删过一些文件 下次直接把.net禁止就可以了,不用删除,不然不小心删除了其它服务.. 参考文献:h ...

  9. asp.net开发微信公众平台----目录汇总-持续更新

    1.[c#]asp.net微信公众平台开发(1)数据库设计 2.[c#]asp.net微信公众平台开发(2)多层架构框架搭建和入口实现 3.[c#]asp.net微信公众平台开发(3)微信消息封装及反 ...

  10. BUUCTF | [De1CTF 2019]SSRF Me

    解法一字符串拼接: 1.得到签名sign http://8fa4531c-1164-49b7-a700-70e77e6aacb7.node3.buuoj.cn/geneSign?param=flag. ...