Commit 667d72ed authored by yanzhengyang's avatar yanzhengyang

出差申请列表查询

parent 1be4836c
......@@ -4,6 +4,7 @@ import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.annotation.Log;
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.enums.BusinessType;
import com.ruoyi.domain.FyglDailyReimbursement;
import com.ruoyi.domain.dto.FyglDailyReimbursementDTO;
......@@ -35,13 +36,13 @@ public class FyglDailyReimbursementController extends BaseController
* 查询日常报销列表
*/
// @PreAuthorize("@ss.hasPermi('dailyReimbursement:dailyReimbursement:list')")
@Anonymous
@GetMapping("/list")
public AjaxResult list(FyglDailyReimbursementVo fyglDailyReimbursementVO)
public TableDataInfo list(FyglDailyReimbursementVo fyglDailyReimbursementVO)
{
startPage();
List<FyglDailyReimbursementDTO> list = fyglDailyReimbursementService.selectFyglDailyReimbursementList(fyglDailyReimbursementVO);
return AjaxResult.success(list);
return getDataTable(list);
}
//获取所有项目名字和id
......@@ -88,6 +89,7 @@ public class FyglDailyReimbursementController extends BaseController
@PostMapping
public AjaxResult add(@RequestBody FyglDailyReimbursement fyglDailyReimbursement)
{
System.out.println("新增对象 = " + fyglDailyReimbursement);
return toAjax(fyglDailyReimbursementService.insertFyglDailyReimbursement(fyglDailyReimbursement));
}
......
package com.ruoyi.controller;
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.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.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/tripApplication/tripApplication")
public class FyglTripApplicationController extends BaseController {
@Autowired
private IFyglTripApplicationService fyglTripApplicationService;
/**
* 查询出差申请列表
*/
// @PreAuthorize("@ss.hasPermi('dailyReimbursement:dailyReimbursement:list')")
@GetMapping("/list")
public TableDataInfo list(FyglTripApplicationVo fyglTripApplicationVO)
{
startPage();
List<FyglTripApplicationDTO> list = fyglTripApplicationService.selectFyglTripApplicationList(fyglTripApplicationVO);
return getDataTable(list);
}
/**
* 获取出差申请详细信息
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(fyglTripApplicationService.selectFyglTripApplicationById(id));
}
}
package com.ruoyi.domain.dto;
import lombok.Data;
@Data
public class FyglTripApplicationDTO {
private Long id;
//项目编号
private String projectNumber;
//项目名称
private String projectName;
//项目类型
private String projectType;
//出差地点
private String tripAddress;
//出差事由
private String tripReason;
//预计开始时间
private String tripStartDate;
//预计结束时间
private String tripEndDate;
//项目经理
private String projectUserName;
//审批状态
private Integer status;
}
package com.ruoyi.domain.vo;
public class FyglTripApplicationVo {
//项目名称
private String projectName;
//项目类型
private Integer projectType;
//审批状态
//0保存,1未通过,2审批中,3已通过
private Integer status;
//项目经理
private String projectUserName;
//出差时间
private String tripStartDate;
}
package com.ruoyi.mapper;
import com.ruoyi.domain.dto.FyglTripApplicationDTO;
import com.ruoyi.domain.vo.FyglTripApplicationVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 出差申请Mapper接口
*
* @author ruoyi
* @date 2025-03-16
*/
@Mapper
public interface FyglTripApplicationMapper {
/**
* 查询日常报销
*
* @param id 日常报销主键
* @return 日常报销
*/
public FyglTripApplicationDTO selectFyglTripApplicationById(Long id);
/**
* 查询出差申请列表
*
* @return 出差申请集合
*/
public List<FyglTripApplicationDTO> selectTripApplicationList(FyglTripApplicationVo fyglTripApplicationVO);
}
package com.ruoyi.service;
import com.ruoyi.domain.FyglDailyReimbursement;
import com.ruoyi.domain.dto.FyglProjectDTO;
import com.ruoyi.domain.dto.FyglProjectList;
import com.ruoyi.domain.dto.FyglTripApplicationDTO;
import com.ruoyi.domain.vo.FyglTripApplicationVo;
import java.util.List;
public interface IFyglTripApplicationService {
/**
* 查询出差申请
*
* @param id 出差申请主键
* @return 出差申请
*/
public FyglTripApplicationDTO selectFyglTripApplicationById(Long id);
/**
* 查询出差申请列表
*
* @return 出差申请集合
*/
public List<FyglTripApplicationDTO> selectFyglTripApplicationList(FyglTripApplicationVo fyglTripApplicationVO);
FyglProjectDTO getProjectDetail(Long pid);
/**
* 新增出差申请
*
* @param fyglDailyReimbursement 出差申请
* @return 结果
*/
public int insertFyglTripApplication(FyglDailyReimbursement fyglDailyReimbursement);
List<FyglProjectList> getProjectList();
/**
* 修改日常报销
*
* @param fyglDailyReimbursement 日常报销
* @return 结果
*/
public int updateFyglTripApplication(FyglDailyReimbursement fyglDailyReimbursement);
/**
* 批量删除日常报销
*
* @param ids 需要删除的日常报销主键集合
* @return 结果
*/
public int deleteFyglTripApplicationByIds(Long[] ids);
/**
* 删除日常报销信息
*
* @param id 日常报销主键
* @return 结果
*/
public int deleteFyglTripApplicationById(Long id);
}
package com.ruoyi.service.impl;
import com.ruoyi.domain.FyglDailyReimbursement;
import com.ruoyi.domain.dto.*;
import com.ruoyi.domain.vo.FyglTripApplicationVo;
import com.ruoyi.mapper.FyglTripApplicationMapper;
import com.ruoyi.service.IFyglTripApplicationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 出差申请Service业务层处理
*
* @author ruoyi
* @date 2025-03-16
*/
@Service
public class FyglTripApplicationServiceImpl implements IFyglTripApplicationService {
@Autowired
private FyglTripApplicationMapper fyglTripApplicationMapper;
/**
* 查询日常报销
*
* @param id 日常报销主键
* @return 日常报销
*/
@Override
public FyglTripApplicationDTO selectFyglTripApplicationById(Long id)
{
FyglTripApplicationDTO fyglTripApplication = fyglTripApplicationMapper.selectFyglTripApplicationById(id);
return fyglTripApplication;
}
@Override
public List<FyglTripApplicationDTO> selectFyglTripApplicationList(FyglTripApplicationVo favo){
List<FyglTripApplicationDTO> fyglTripApplications = fyglTripApplicationMapper.selectTripApplicationList(favo);
return fyglTripApplications;
}
@Override
public FyglProjectDTO getProjectDetail(Long pid) {
return null;
}
@Override
public int insertFyglTripApplication(FyglDailyReimbursement fyglDailyReimbursement) {
return 0;
}
@Override
public List<FyglProjectList> getProjectList() {
return null;
}
@Override
public int updateFyglTripApplication(FyglDailyReimbursement fyglDailyReimbursement) {
return 0;
}
@Override
public int deleteFyglTripApplicationByIds(Long[] ids) {
return 0;
}
@Override
public int deleteFyglTripApplicationById(Long id) {
return 0;
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.mapper.FyglTripApplicationMapper">
<resultMap type="com.ruoyi.domain.dto.FyglTripApplicationDTO" id="FyglTripApplicationDTOResult">
<result property="id" column="id" />
<result property="projectName" column="project_name" />
<result property="projectUserName" column="project_manager_name" />
<result property="projectType" column="project_type"/>
<result property="tripAddress" column="travel_address" />
<result property="tripReason" column="travel_cause"/>
<result property="tripStartDate" column="travel_start_date" />
<result property="tripEndDate" column="travel_end_date" />
<result property="projectNumber" column="project_number" />
<result property="status" column="status"/>
</resultMap>
<select id="selectTripApplicationList" parameterType="com.ruoyi.domain.vo.FyglTripApplicationVo" resultMap="FyglTripApplicationDTOResult">
SELECT
ftr.id,
p.project_number,
p.project_name,
p.project_type,
ftr.travel_address,
ftr.travel_cause,
ftr.travel_start_date,
ftr.travel_end_date,
u1.nick_name AS project_manager_name,
ftr.status
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>
<if test="projectUserName != null and projectUserName != ''"> p.project_manager_id in (SELECT u5.user_id FROM sys_user u5
WHERE u5.nick_name LIKE CONCAT('%', #{projectUserName}, '%'))</if>
<if test="projectType != null and projectType != ''"> and p.project_type = #{projectType}</if>
<if test="tripStartDate != null and tripStartDate != ''"> and ftr.travel_start_date = #{tripStartDate}</if>
<if test="status != null and status != ''"> and ftr.status = #{status}</if>
<!-- <if test="reimbursement != null and reimbursement != ''">and fdr.reimbursement = #{reimbursement}</if>-->
<if test="projectName != null and projectName != ''"> and p.project_name LIKE CONCAT('%', #{projectName}, '%')</if>
</where>
GROUP BY ftr.id
</select>
<select id="selectFyglTripApplicationById" parameterType="Long" resultMap="FyglTripApplicationDTOResult">
SELECT
ftr.id,
p.project_number,
p.project_name,
p.project_type,
ftr.travel_address,
ftr.travel_cause,
ftr.travel_start_date,
ftr.travel_end_date,
u1.nick_name AS project_manager_name,
ftr.status
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 = #{id}
</select>
</mapper>
\ No newline at end of file
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