feat: 新增合同、订单明细导出功能,补充业务员字段展示
1. 新增crm订单主、订单明细的导出接口,支持业务精简字段导出 2. 为订单明细VO新增业务员字段,关联查询订单表填充数据 3. 在订单列表页新增业务员表格列展示 4. 为合同编辑页、订单明细页添加导出按钮并实现导出逻辑 5. 新增导出专用的VO类,处理日期格式化和状态转文本
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
package com.klp.crm.controller;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -18,6 +22,7 @@ import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.crm.domain.vo.CrmOrderItemVo;
|
||||
import com.klp.crm.domain.vo.CrmOrderItemExportVo;
|
||||
import com.klp.crm.domain.vo.CrmContractOrderFinanceVo;
|
||||
import com.klp.crm.domain.bo.CrmOrderItemBo;
|
||||
import com.klp.crm.service.ICrmOrderItemService;
|
||||
@@ -56,6 +61,30 @@ public class CrmOrderItemController extends BaseController {
|
||||
ExcelUtil.exportExcel(list, "正式订单明细", CrmOrderItemVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出正式订单明细列表(业务精简字段,用于订单明细列表页导出)
|
||||
*/
|
||||
@Log(title = "正式订单明细", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/exportDetail")
|
||||
public void exportDetail(@RequestBody CrmOrderItemBo bo, HttpServletResponse response) {
|
||||
List<CrmOrderItemVo> list = iCrmOrderItemService.queryList(bo);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
List<CrmOrderItemExportVo> exportList = list.stream().map(vo -> {
|
||||
CrmOrderItemExportVo export = new CrmOrderItemExportVo();
|
||||
BeanUtil.copyProperties(vo, export);
|
||||
// 日期格式化
|
||||
export.setSignTime(vo.getSignTime() != null ? sdf.format(vo.getSignTime()) : null);
|
||||
// 展平 orderInfo 中的 salesman、orderCode、contractName
|
||||
if (vo.getOrderInfo() != null) {
|
||||
export.setSalesman(vo.getOrderInfo().getSalesman());
|
||||
export.setOrderCode(vo.getOrderInfo().getOrderCode());
|
||||
export.setContractName(vo.getOrderInfo().getContractName());
|
||||
}
|
||||
return export;
|
||||
}).collect(Collectors.toList());
|
||||
ExcelUtil.exportExcel(exportList, "订单明细列表", CrmOrderItemExportVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取正式订单明细详细信息
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user