Browse Source

下线按项目导出

wangxichen 1 day ago
parent
commit
1d725aaf84

+ 10 - 1
src/main/java/com/jeesite/modules/mes/web/MesProductRecordController.java

@@ -541,12 +541,14 @@ public class MesProductRecordController extends BaseController {
 	 */
 	@RequiresPermissions("mes:mesProductRecord:view")
 	@RequestMapping(value = "exportData")
-	public void exportData(MesProductRecord mesProductRecord, HttpServletResponse response) {
+	public void exportData(MesProductRecord mesProductRecord, HttpServletResponse response, HttpServletRequest request) {
 		String sn = mesProductRecord.getSn();
 		if(!StringUtils.isEmpty(sn)){
 //			mesProductRecord.getSqlMap().getWhere().and("a.sn", QueryType.LIKE, sn);
 //			mesProductRecord.setSn("");
 		}
+		// 导出不分页,查全部 - 必须把page设为null,否则findList会走分页逻辑
+		mesProductRecord.setPage(null);
 		mesProductRecord.getSqlMap().getOrder().setOrderBy("a.update_date DESC");
 		// 如果查询状态的值为 1, 表示用户选择查询 已加工
 		if("1".equals(mesProductRecord.getProcessState()) && "".equals(mesProductRecord.getContent()))
@@ -560,6 +562,13 @@ public class MesProductRecordController extends BaseController {
 		for (MesProductRecord record : list) {
 			record.fillProjectNo();
 		}
+		// 按项目号筛选
+		String projectNo = request.getParameter("projectNo");
+		logger.info("导出 - projectNo参数: [{}], 查询总数: {}", projectNo, list.size());
+		if(!StringUtils.isEmpty(projectNo) && !"undefined".equals(projectNo) && !"null".equals(projectNo)){
+			list = list.stream().filter(r -> projectNo.equals(r.getProjectNo())).collect(java.util.stream.Collectors.toList());
+			logger.info("导出 - 按项目号 [{}] 过滤后: {}", projectNo, list.size());
+		}
 		String fileName = "产品生产记录" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
 		try(ExcelExport ee = new ExcelExport("产品生产记录", MesProductRecord.class)){
 			ee.setDataList(list).write(response, fileName);

+ 20 - 3
src/main/resources/views/modules/mes/mesProductRecordList2.html

@@ -7,6 +7,14 @@
 			</div>
 			<div class="box-tools pull-right">
 				<a href="#" class="btn btn-default" id="btnSearch" title="${text('查询')}"><i class="fa fa-filter"></i> ${text('查询')}</a>
+				<select id="exportProjectNo" style="display:inline-block;width:120px;height:30px;padding:4px 8px;vertical-align:middle;border:1px solid #ccc;border-radius:3px;background:#fff;">
+					<option value="">全部项目</option>
+					<option value="AY7-520">AY7-520</option>
+					<option value="AY7-610">AY7-610</option>
+					<option value="S500">S500</option>
+					<option value="P02-1">P02-1</option>
+					<option value="650">650</option>
+				</select>
 				<a href="#" class="btn btn-default" id="btnExport"><i class="glyphicon glyphicon-export"></i> 导出</a>
 				<% if(hasPermi('mes:mesProductRecord:edit')){ %>
 					<a href="${ctx}/mes/mesProductRecord/form" class="btn btn-default btnTool" title="${text('新增生产记录')}"><i class="fa fa-plus"></i> ${text('新增')}</a>
@@ -93,9 +101,18 @@ $('#dataGrid').dataGrid({
 });
 
 $('#btnExport').click(function(){
-	js.ajaxSubmitForm($('#searchForm'), {
-		url:'${ctx}/mes/mesProductRecord/exportData',
-		downloadFile:true
+	var projectNo = $('#exportProjectNo').val() || '';
+	console.log('选择的项目号:', projectNo);
+	var $tmpForm = $('<form method="post" style="display:none"></form>');
+	$tmpForm.attr('action', '${ctx}/mes/mesProductRecord/exportData');
+	$('#searchForm').find('input[name], select[name], textarea[name]').each(function(){
+		var n = $(this).attr('name');
+		if(n === 'pageNo' || n === 'pageSize' || n === 'orderBy' || n === 'projectNo') return;
+		$tmpForm.append('<input type="hidden" name="'+n+'" value="'+($(this).val()||'')+'"/>');
 	});
+	$tmpForm.append('<input type="hidden" name="projectNo" value="'+projectNo+'"/>');
+	$('body').append($tmpForm);
+	$tmpForm.submit();
+	$tmpForm.remove();
 });
 </script>