Commit 617142b1 authored by yanzhengyang's avatar yanzhengyang

新增出差申请列表导出

parent c7c93814
......@@ -4,12 +4,15 @@ import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.domain.dto.FyglProjectCostDTO;
import com.ruoyi.domain.dto.FyglTripApplicationDTO;
import com.ruoyi.domain.vo.FyglTripApplicationVo;
import com.ruoyi.service.IFyglTripApplicationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@RestController
......@@ -31,6 +34,15 @@ public class FyglTripApplicationController extends BaseController {
return getDataTable(list);
}
//导出列表
@PostMapping("/export")
public void export(HttpServletResponse response, Long [] ids)
{
List<FyglTripApplicationDTO> tripApplicationByIds = fyglTripApplicationService.getTripApplicationList(ids);
ExcelUtil<FyglTripApplicationDTO> util = new ExcelUtil<FyglTripApplicationDTO>(FyglTripApplicationDTO.class);
util.exportExcel(response, tripApplicationByIds, "出差申请数据");
}
/**
* 获取出差申请详细信息
*/
......
package com.ruoyi.domain.dto;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
@Data
public class FyglTripApplicationDTO extends BaseEntity {
private Long id;
//项目id
private Long projectId;
//项目编号
@Excel(name = "项目编号")
private String projectNumber;
//项目名称
@Excel(name = "项目名称")
private String projectName;
//项目类型
@Excel(name = "项目类型",dictType = "project_type")
private String projectType;
//出差地点
@Excel(name = "出差地点")
private String tripAddress;
//出差事由
@Excel(name = "出差事由")
private String tripReason;
//预计开始时间
@Excel(name = "预计开始时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
private String tripStartDate;
//预计结束时间
@Excel(name = "预计结束时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
private String tripEndDate;
//出差天数
private double amount;
//项目经理
@Excel(name = "项目经理")
private String projectUserName;
//审批状态
@Excel(name = "审批状态",dictType = "cost_daily_status")
private Integer status;
//当前审批节点
......
package com.ruoyi.mapper;
import com.ruoyi.domain.dto.FyglProjectCostDTO;
import com.ruoyi.domain.dto.FyglTripApplicationDTO;
import com.ruoyi.domain.vo.FyglDailyReimbursementVo;
import com.ruoyi.domain.vo.FyglTripApplicationVo;
......@@ -30,6 +31,9 @@ public interface FyglTripApplicationMapper {
*/
public List<FyglTripApplicationDTO> selectTripApplicationList(FyglTripApplicationVo fyglTripApplicationVO);
//根据ids搜索(导出功能)
List<FyglTripApplicationDTO> getTripApplicationList(Long[] ids);
/**
* 新增出差申请
*
......
package com.ruoyi.service;
import com.ruoyi.domain.dto.FyglProjectCostDTO;
import com.ruoyi.domain.dto.FyglTripApplicationDTO;
import com.ruoyi.domain.vo.FyglTripApplicationVo;
......@@ -21,6 +22,9 @@ public interface IFyglTripApplicationService {
*/
public List<FyglTripApplicationDTO> selectFyglTripApplicationList(FyglTripApplicationVo fyglTripApplicationVO);
//导出功能
List<FyglTripApplicationDTO> getTripApplicationList(Long [] ids);
/**
* 新增出差申请
*
......
......@@ -46,6 +46,11 @@ public class FyglTripApplicationServiceImpl implements IFyglTripApplicationServi
return fyglTripApplications;
}
@Override
public List<FyglTripApplicationDTO> getTripApplicationList(Long[] ids) {
return fyglTripApplicationMapper.getTripApplicationList(ids);
}
@Override
public int insertFyglTripApplication(FyglTripApplicationDTO fyglTripApplicationDTO) {
fyglTripApplicationDTO.setCreateBy(SecurityUtils.getUsername());
......
......@@ -74,6 +74,33 @@
ftr.id = #{id}
</select>
<select id="getTripApplicationList" resultMap="FyglTripApplicationDTOResult">
SELECT
ftr.id,
ftr.current_audit_role_id as currentAuditRoleId,
p.project_number,
p.project_name,
p.project_type,
ftr.travel_address,
ftr.travel_cause,
ftr.travel_start_date,
ftr.travel_end_date,
ftr.amount,
u1.nick_name AS project_manager_name,
ftr.status,
ftr.create_by,
ftr.update_by
FROM
fygl_travel_request ftr
LEFT JOIN project_manage p ON p.id = ftr.project_id
LEFT JOIN sys_user u1 ON u1.user_id = p.project_manager_id
where ftr.id in
<foreach item="item" index="index" collection="array"
open="(" separator="," close=")">
#{item}
</foreach>
</select>
<insert id="insertFyglTripApplication" parameterType="com.ruoyi.domain.dto.FyglTripApplicationDTO">
insert into fygl_travel_request
<trim prefix="(" suffix=")" suffixOverrides=",">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment