Commit b32fc45a authored by yanzhengyang's avatar yanzhengyang

差旅报销接口完善

parent 72b98999
package com.ruoyi.controller; package com.ruoyi.controller;
import com.ruoyi.common.annotation.Anonymous; import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.controller.BaseController; 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.core.page.TableDataInfo;
import com.ruoyi.domain.dto.FyglTravelOnBusinessDTO; import com.ruoyi.domain.dto.FyglTravelOnBusinessDTO;
import com.ruoyi.service.IFyglTravelOnBusinessService; import com.ruoyi.service.IFyglTravelOnBusinessService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequestMapping("/FyglTravelOnBusiness") @RequestMapping("/FyglTravelOnBusiness")
...@@ -19,11 +17,39 @@ public class FyglTravelOnBusinessController extends BaseController { ...@@ -19,11 +17,39 @@ public class FyglTravelOnBusinessController extends BaseController {
private IFyglTravelOnBusinessService travelOnBusinessService; private IFyglTravelOnBusinessService travelOnBusinessService;
//列表 //列表
@Anonymous
@GetMapping("/getList") @GetMapping("/getList")
public TableDataInfo getProjectCostList(FyglTravelOnBusinessDTO fyglProjectCostDTO){ public TableDataInfo getProjectCostList(FyglTravelOnBusinessDTO fyglProjectCostDTO){
startPage(); startPage();
return getDataTable(travelOnBusinessService.getFyglTravelOnBusinessList(fyglProjectCostDTO)); return getDataTable(travelOnBusinessService.getFyglTravelOnBusinessList(fyglProjectCostDTO));
} }
/**
* 获取差旅报销详细信息
*/
@GetMapping(value = "/getList/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(travelOnBusinessService.selectFyglTravelOnBusinessListById(id));
}
//新增差旅报销
@PostMapping("/getList/insert")
public AjaxResult insertFyglTravelOnBusiness(@RequestBody FyglTravelOnBusinessDTO fyglTravelOnBusinessDTO)
{
return AjaxResult.success(travelOnBusinessService.insertFyglTravelOnBusiness(fyglTravelOnBusinessDTO));
}
//修改差旅报销
@PutMapping("/getList/update")
public AjaxResult updateFyglTravelOnBusiness(@RequestBody FyglTravelOnBusinessDTO fyglTravelOnBusinessDTO)
{
return AjaxResult.success(travelOnBusinessService.updateFyglTravelOnBusiness(fyglTravelOnBusinessDTO));
}
//删除差旅报销
@DeleteMapping("/getList/{id}")
public AjaxResult deleteFyglTravelOnBusinessById(@PathVariable Long id)
{
return toAjax(travelOnBusinessService.deleteFyglTravelOnBusinessById(id));
}
} }
...@@ -11,13 +11,13 @@ import lombok.EqualsAndHashCode; ...@@ -11,13 +11,13 @@ import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
public class FyglTravelOnBusinessDTO extends BaseEntity { public class FyglTravelOnBusinessDTO extends BaseEntity {
private Integer id; private Long id;
private String projectNumber; private String projectNumber;
private String projectName; private String projectName;
private String projectType; private String projectType;
private String travelAddress; private String travelAddress;
private String travelCause; private String travelCause;
private Double amount; private Double amount;
private String userName; private String projectUserName;
private Integer status; private Integer status;
} }
\ No newline at end of file
...@@ -7,12 +7,12 @@ public class FyglTripApplicationVo { ...@@ -7,12 +7,12 @@ public class FyglTripApplicationVo {
//项目名称 //项目名称
private String projectName; private String projectName;
//项目类型 //项目类型
private Integer projectType; private String projectType;
//审批状态 //审批状态
//0保存,1未通过,2审批中,3已通过 //0保存,1未通过,2审批中,3已通过
private Integer status; private Integer status;
//项目经理 //项目经理
private String projectUserName; private String projectUserName;
//出差时间 //出差开始时间
private String tripStartDate; private String tripStartDate;
} }
...@@ -7,7 +7,38 @@ import java.util.List; ...@@ -7,7 +7,38 @@ import java.util.List;
@Mapper @Mapper
public interface IFyglTravelOnBusinessMapper { public interface IFyglTravelOnBusinessMapper {
/**
* 查询出差申请
*
* @param id 出差申请主键
* @return 出差申请
*/
public FyglTravelOnBusinessDTO selectFyglTravelOnBusinessListById(Long id);
//列表 //列表
List<FyglTravelOnBusinessDTO> getFyglTravelOnBusinessList(FyglTravelOnBusinessDTO fyg); List<FyglTravelOnBusinessDTO> getFyglTravelOnBusinessList(FyglTravelOnBusinessDTO fyg);
/**
* 新增差旅报销
*
* @param fyglTravelOnBusinessDTO 差旅报销
* @return 结果
*/
public int insertFyglTravelOnBusiness(FyglTravelOnBusinessDTO fyglTravelOnBusinessDTO);
/**
* 修改差旅报销
*
* @param fyglTravelOnBusinessDTO 差旅报销
* @return 结果
*/
public int updateFyglTravelOnBusiness(FyglTravelOnBusinessDTO fyglTravelOnBusinessDTO);
/**
* 删除差旅报销
*
* @param id 差旅报销主键
* @return 结果
*/
public int deleteFyglTravelOnBusinessById(Long id);
} }
...@@ -5,6 +5,38 @@ import com.ruoyi.domain.dto.FyglTravelOnBusinessDTO; ...@@ -5,6 +5,38 @@ import com.ruoyi.domain.dto.FyglTravelOnBusinessDTO;
import java.util.List; import java.util.List;
public interface IFyglTravelOnBusinessService { public interface IFyglTravelOnBusinessService {
/**
* 查询差旅报销
*
* @param id 差旅报销主键
* @return 差旅报销
*/
public FyglTravelOnBusinessDTO selectFyglTravelOnBusinessListById(Long id);
List<FyglTravelOnBusinessDTO> getFyglTravelOnBusinessList(FyglTravelOnBusinessDTO fyg); List<FyglTravelOnBusinessDTO> getFyglTravelOnBusinessList(FyglTravelOnBusinessDTO fyg);
/**
* 新增差旅报销
*
* @param fyglTravelOnBusinessDTO 差旅报销
* @return 结果
*/
public int insertFyglTravelOnBusiness(FyglTravelOnBusinessDTO fyglTravelOnBusinessDTO);
/**
* 修改差旅报销
*
* @param fyglTravelOnBusinessDTO 差旅报销
* @return 结果
*/
public int updateFyglTravelOnBusiness(FyglTravelOnBusinessDTO fyglTravelOnBusinessDTO);
/**
* 删除差旅报销信息
*
* @param id 差旅报销主键
* @return 结果
*/
public int deleteFyglTravelOnBusinessById(Long id);
} }
package com.ruoyi.service; 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.dto.FyglTripApplicationDTO;
import com.ruoyi.domain.vo.FyglTripApplicationVo; import com.ruoyi.domain.vo.FyglTripApplicationVo;
...@@ -33,25 +30,25 @@ public interface IFyglTripApplicationService { ...@@ -33,25 +30,25 @@ public interface IFyglTripApplicationService {
public int insertFyglTripApplication(FyglTripApplicationDTO fyglTripApplicationDTO); public int insertFyglTripApplication(FyglTripApplicationDTO fyglTripApplicationDTO);
/** /**
* 修改日常报销 * 修改出差申请
* *
* @param fyglTripApplicationDTO 日常报销 * @param fyglTripApplicationDTO 出差申请
* @return 结果 * @return 结果
*/ */
public int updateFyglTripApplication(FyglTripApplicationDTO fyglTripApplicationDTO); public int updateFyglTripApplication(FyglTripApplicationDTO fyglTripApplicationDTO);
/** /**
* 批量删除日常报销 * 批量删除出差申请
* *
* @param ids 需要删除的日常报销主键集合 * @param ids 需要删除的出差申请主键集合
* @return 结果 * @return 结果
*/ */
public int deleteFyglTripApplicationByIds(Long[] ids); public int deleteFyglTripApplicationByIds(Long[] ids);
/** /**
* 删除日常报销信息 * 删除出差申请信息
* *
* @param id 日常报销主键 * @param id 出差申请主键
* @return 结果 * @return 结果
*/ */
public int deleteFyglTripApplicationById(Long id); public int deleteFyglTripApplicationById(Long id);
......
...@@ -2,7 +2,6 @@ package com.ruoyi.service.impl; ...@@ -2,7 +2,6 @@ package com.ruoyi.service.impl;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.domain.FyglDailyReimbursement;
import com.ruoyi.domain.dto.*; import com.ruoyi.domain.dto.*;
import com.ruoyi.domain.vo.FyglTripApplicationVo; import com.ruoyi.domain.vo.FyglTripApplicationVo;
import com.ruoyi.mapper.FyglTripApplicationMapper; import com.ruoyi.mapper.FyglTripApplicationMapper;
...@@ -27,10 +26,10 @@ public class FyglTripApplicationServiceImpl implements IFyglTripApplicationServi ...@@ -27,10 +26,10 @@ public class FyglTripApplicationServiceImpl implements IFyglTripApplicationServi
private FyglTripApplicationMapper fyglTripApplicationMapper; private FyglTripApplicationMapper fyglTripApplicationMapper;
/** /**
* 查询日常报销 * 查询出差申请
* *
* @param id 日常报销主键 * @param id 出差申请主键
* @return 日常报销 * @return 出差申请
*/ */
@Override @Override
public FyglTripApplicationDTO selectFyglTripApplicationById(Long id) public FyglTripApplicationDTO selectFyglTripApplicationById(Long id)
......
package com.ruoyi.service.impl; package com.ruoyi.service.impl;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.domain.dto.FyglTravelOnBusinessDTO; import com.ruoyi.domain.dto.FyglTravelOnBusinessDTO;
import com.ruoyi.mapper.IFyglTravelOnBusinessMapper; import com.ruoyi.mapper.IFyglTravelOnBusinessMapper;
import com.ruoyi.service.IFyglTravelOnBusinessService; import com.ruoyi.service.IFyglTravelOnBusinessService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List; import java.util.List;
@Service @Service
...@@ -13,9 +16,46 @@ public class IFyglTravelOnBusinessServiceImpl implements IFyglTravelOnBusinessSe ...@@ -13,9 +16,46 @@ public class IFyglTravelOnBusinessServiceImpl implements IFyglTravelOnBusinessSe
@Autowired @Autowired
private IFyglTravelOnBusinessMapper onBusinessMapper; private IFyglTravelOnBusinessMapper onBusinessMapper;
/**
* 查询差旅报销
*
* @param id 差旅报销主键
* @return 差旅报销
*/
@Override
public FyglTravelOnBusinessDTO selectFyglTravelOnBusinessListById(Long id)
{
FyglTravelOnBusinessDTO fyglTravelOnBusiness = onBusinessMapper.selectFyglTravelOnBusinessListById(id);
return fyglTravelOnBusiness;
}
@Override @Override
public List<FyglTravelOnBusinessDTO> getFyglTravelOnBusinessList(FyglTravelOnBusinessDTO fyg) { public List<FyglTravelOnBusinessDTO> getFyglTravelOnBusinessList(FyglTravelOnBusinessDTO fyg) {
return onBusinessMapper.getFyglTravelOnBusinessList(fyg); return onBusinessMapper.getFyglTravelOnBusinessList(fyg);
} }
@Override
public int insertFyglTravelOnBusiness(FyglTravelOnBusinessDTO fyglTravelOnBusinessDTO) {
fyglTravelOnBusinessDTO.setCreateBy(SecurityUtils.getUsername());
Date nowDate = DateUtils.getNowDate();
fyglTravelOnBusinessDTO.setCreateTime(nowDate);
fyglTravelOnBusinessDTO.setUpdateBy(SecurityUtils.getUsername());
fyglTravelOnBusinessDTO.setUpdateTime(nowDate);
//设置1未通过2审批中3已通过
fyglTravelOnBusinessDTO.setStatus(2);
return onBusinessMapper.insertFyglTravelOnBusiness(fyglTravelOnBusinessDTO);
}
@Override
public int updateFyglTravelOnBusiness(FyglTravelOnBusinessDTO fyglTravelOnBusinessDTO) {
fyglTravelOnBusinessDTO.setUpdateBy(SecurityUtils.getUsername());
fyglTravelOnBusinessDTO.setUpdateTime(DateUtils.getNowDate());
return onBusinessMapper.updateFyglTravelOnBusiness(fyglTravelOnBusinessDTO);
}
@Override
public int deleteFyglTravelOnBusinessById(Long id) {
return onBusinessMapper.deleteFyglTravelOnBusinessById(id);
}
} }
...@@ -11,13 +11,10 @@ ...@@ -11,13 +11,10 @@
<result property="projectName" column="project_name" /> <result property="projectName" column="project_name" />
<result property="projectType" column="project_type" /> <result property="projectType" column="project_type" />
<result property="travelAddress" column="travel_address" /> <result property="travelAddress" column="travel_address" />
<result property="travelCause" column="travel_cause" /> <result property="travelCause" column="travel_cause" />
<result property="amount" column="actual_amount" />
<result property="amount" column="amount" /> <result property="projectUserName" column="project_manager_name" />
<result property="userName" column="user_name" />
<result property="status" column="status" /> <result property="status" column="status" />
</resultMap> </resultMap>
<select id="getFyglTravelOnBusinessList" resultMap="listDTO"> <select id="getFyglTravelOnBusinessList" resultMap="listDTO">
...@@ -28,13 +25,77 @@ ...@@ -28,13 +25,77 @@
p.project_type, p.project_type,
fr.travel_address, fr.travel_address,
fr.travel_cause, fr.travel_cause,
fr.amount, f.actual_amount,
u.user_name, u.nick_name AS project_manager_name,
f.`status` f.`status`
FROM FROM
fygl_travel_on_business f fygl_travel_on_business f
LEFT JOIN fygl_travel_request fr ON fr.id = f.tid LEFT JOIN fygl_travel_request fr ON fr.id = f.tid
left join project_manage p on p.id = fr.project_id left join project_manage p on p.id = fr.project_id
left join sys_user u on u.user_id = p.project_manager_id left join sys_user u on u.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="status != null and status != ''"> and f.status = #{status}</if>
<if test="projectName != null and projectName != ''"> and p.project_name LIKE CONCAT('%', #{projectName}, '%')</if>
</where>
GROUP BY f.id
</select> </select>
<select id="selectFyglTravelOnBusinessListById" parameterType="Long" resultMap="listDTO">
SELECT
f.id,
p.project_number,
p.project_name,
p.project_type,
fr.travel_address,
fr.travel_cause,
f.actual_amount,
u.nick_name AS project_manager_name,
f.`status`
FROM
fygl_travel_on_business f
LEFT JOIN fygl_travel_request fr ON fr.id = f.tid
LEFT JOIN project_manage p on p.id = fr.project_id
LEFT JOIN sys_user u on u.user_id = p.project_manager_id
WHERE
f.id = #{id}
</select>
<insert id="insertFyglTravelOnBusiness" parameterType="com.ruoyi.domain.dto.FyglTravelOnBusinessDTO">
insert into fygl_travel_on_business
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">tid,</if>
<if test="amount != null">actual_amount,</if>
<if test="status != null">status,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="amount != null">#{amount},</if>
<if test="status != null">#{status},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark}</if>
</trim>
</insert>
<update id="updateFyglTravelOnBusiness" parameterType="com.ruoyi.domain.dto.FyglTravelOnBusinessDTO">
update fygl_travel_on_business
<trim prefix="SET" suffixOverrides=",">
<if test="amount != null">actual_amount = #{amount},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteFyglTravelOnBusinessById" parameterType="Long">
delete from fygl_travel_on_business where id = #{id}
</delete>
</mapper> </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