Browse Source

查看当前用户的费用申请历史信息

ptos
zhizhi wu 4 years ago
parent
commit
f405958a10
  1. 10
      src/main/java/com/ccsens/ptccsens/api/finance/FinanceController.java
  2. 30
      src/main/java/com/ccsens/ptccsens/bean/dto/FinanceDto.java
  3. 25
      src/main/java/com/ccsens/ptccsens/bean/vo/FinanceVo.java
  4. 9
      src/main/java/com/ccsens/ptccsens/persist/dao/FinanceDao.java
  5. 9
      src/main/java/com/ccsens/ptccsens/service/FinanceService.java
  6. 9
      src/main/java/com/ccsens/ptccsens/service/IFinanceService.java
  7. 57
      src/main/resources/mapper_dao/FinanceDao.xml

10
src/main/java/com/ccsens/ptccsens/api/finance/FinanceController.java

@ -6,6 +6,7 @@ import com.ccsens.ptccsens.bean.vo.FinanceVo;
import com.ccsens.ptccsens.service.IFinanceService;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -78,4 +79,13 @@ public class FinanceController {
log.info("审批结束");
return JsonResponse.newInstance().ok();
}
@MustLogin
@ApiOperation(value = "查看当前用户的费用申请历史信息(奖金)", notes = "")
@RequestMapping(value = "/personalHistory", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<PageInfo<FinanceVo.PersonalHistory>> personalHistory(@ApiParam @Validated @RequestBody QueryDto<FinanceDto.PersonalHistory> params) {
log.info("查看当前用户的费用申请历史信息(奖金):{}",params);
PageInfo<FinanceVo.PersonalHistory> history = financeService.queryPersonalHistory(params.getParam(), params.getUserId());
log.info("查看当前用户的费用申请历史信息(奖金)结束:{}", history);
return JsonResponse.newInstance().ok(history);
}
}

30
src/main/java/com/ccsens/ptccsens/bean/dto/FinanceDto.java

@ -42,10 +42,8 @@ public class FinanceDto {
@NotNull
@ApiModelProperty("所属部门")
private String department;
@NotNull
@ApiModelProperty("所属项目id")
private Long projectId;
@NotNull
@ApiModelProperty("所属任务id")
private Long taskDetailId;
@NotNull
@ -55,7 +53,6 @@ public class FinanceDto {
private Long categoryId;
@ApiModelProperty("名目id")
private Long rowId;
@NotNull
@ApiModelProperty("备注信息")
private String remark;
@NotNull
@ -107,12 +104,35 @@ public class FinanceDto {
@ApiModelProperty("审核id")
private Long financeCheckId;
@NotNull
@Min(value = 1)
@Max(value = 2)
@Min(1)
@Max(2)
@ApiModelProperty("审核状态 1已通过 2驳回")
private Byte checkStatus;
@ApiModelProperty("备注")
private String remark;
}
@Data
@ApiModel("财务-个人历史-请求")
public static class PersonalHistory {
@NotNull
@ApiModelProperty("所属项目id")
private Long projectId;
@ApiModelProperty("任务id,不填查全部")
private Long taskDetailId;
@ApiModelProperty("任务名")
private String taskName;
@Min(0)
@Max(1)
@ApiModelProperty("查询类型,默认0普通的申请,1奖金申请记录")
private byte type = 0;
@Min(1)
@ApiModelProperty("页数,默认1")
private int pageNum = 1;
@Min(1)
@Max(100)
@ApiModelProperty("每页的数量,默认10,最大100")
private int pageSize = 10;
}
}

25
src/main/java/com/ccsens/ptccsens/bean/vo/FinanceVo.java

@ -1,12 +1,9 @@
package com.ccsens.ptccsens.bean.vo;
import com.ccsens.ptccsens.bean.dto.FinanceDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.ibatis.annotations.Param;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
@ -116,26 +113,34 @@ public class FinanceVo {
@Data
@ApiModel("财务申请详情-发票信息-返回")
public static class Invoice{
@NotNull
@ApiModelProperty("发票浏览地址")
private String url;
@NotNull
@ApiModelProperty("发票代码")
private String invoiceCode;
@NotNull
@ApiModelProperty("发票号码")
private String invoiceNumber;
@NotNull
@ApiModelProperty("金额,单位:分")
private Long money;
@NotNull
@ApiModelProperty("税额")
private Long taxMoney;
@NotNull
@ApiModelProperty("开票时间")
private Long invoiceTime;
@NotNull
@ApiModelProperty("每张发票备注信息")
private String remark;
}
@Data
@ApiModel("财务-个人历史-返回")
public static class PersonalHistory{
@ApiModelProperty("申请记录id")
private Long applyId;
@ApiModelProperty("提交人姓名")
private String submitName;
@ApiModelProperty("金额,单位:分")
private Long money;
@ApiModelProperty("申请时间")
private Long submitTime;
@ApiModelProperty("当前状态:0待审批 1已通过 2已驳回 3待放款 4:放款待确认 5已确认")
private byte applyType;
}
}

9
src/main/java/com/ccsens/ptccsens/persist/dao/FinanceDao.java

@ -1,5 +1,6 @@
package com.ccsens.ptccsens.persist.dao;
import com.ccsens.ptccsens.bean.dto.FinanceDto;
import com.ccsens.ptccsens.bean.po.PluFinanceCheck;
import com.ccsens.ptccsens.bean.po.PluFinanceInvoice;
import com.ccsens.ptccsens.bean.vo.FinanceVo;
@ -73,4 +74,12 @@ public interface FinanceDao {
* @return 未审核通过的数量
*/
long countNoAuditPass(@Param("applyId") Long applyId);
/**
* 查询个人历史数据
* @param param 请求
* @param userId 操作者
* @return 历史数据
*/
List<FinanceVo.PersonalHistory> queryPersonalHistory(@Param("param") FinanceDto.PersonalHistory param, @Param("userId") Long userId);
}

9
src/main/java/com/ccsens/ptccsens/service/FinanceService.java

@ -10,6 +10,8 @@ import com.ccsens.ptccsens.persist.mapper.*;
import com.ccsens.ptccsens.util.BasicsCodeError;
import com.ccsens.ptccsens.util.BasicsConstant;
import com.ccsens.util.exception.BaseException;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -199,4 +201,11 @@ public class FinanceService implements IFinanceService {
}
}
}
@Override
public PageInfo<FinanceVo.PersonalHistory> queryPersonalHistory(FinanceDto.PersonalHistory param, Long userId) {
PageHelper.startPage(param.getPageNum(), param.getPageSize());
List<FinanceVo.PersonalHistory> list = financeDao.queryPersonalHistory(param, userId);
return new PageInfo<>(list);
}
}

9
src/main/java/com/ccsens/ptccsens/service/IFinanceService.java

@ -2,6 +2,7 @@ package com.ccsens.ptccsens.service;
import com.ccsens.ptccsens.bean.dto.FinanceDto;
import com.ccsens.ptccsens.bean.vo.FinanceVo;
import com.github.pagehelper.PageInfo;
import java.util.List;
@ -46,4 +47,12 @@ public interface IFinanceService {
* @param userId 操作人信息
*/
void audit(FinanceDto.Audit param, Long userId);
/**
* 查看当前用户的费用申请历史信息奖金
* @param param 查询信息
* @param userId 操作人信息
* @return 历史信息
*/
PageInfo<FinanceVo.PersonalHistory> queryPersonalHistory(FinanceDto.PersonalHistory param, Long userId);
}

57
src/main/resources/mapper_dao/FinanceDao.xml

@ -50,25 +50,15 @@
a.remark,
a.money
FROM
t_plu_finance_apply a,
t_pro_task_detail p,
t_pro_task_detail t,
t_plu_finance_type t1,
t_plu_finance_type t2,
t_plu_finance_type t3
t_plu_finance_apply a
left join t_pro_task_detail p on a.project_id = p.id AND p.rec_status = 0
left join t_pro_task_detail t on a.task_id = t.id AND t.rec_status = 0
left join t_plu_finance_type t1 on a.type_id = t1.id AND t1.rec_status = 0
left join t_plu_finance_type t2 on a.category_id = t2.id AND t2.rec_status = 0
left join t_plu_finance_type t3 on a.row_id = t3.id AND t3.rec_status = 0
WHERE
a.project_id = p.id
AND a.task_id = t.id
AND a.type_id = t1.id
AND a.category_id = t2.id
AND a.row_id = t3.id
AND a.id = #{applyId}
a.id = #{applyId}
AND a.rec_status = 0
AND p.rec_status = 0
AND t.rec_status = 0
AND t1.rec_status = 0
AND t2.rec_status = 0
AND t3.rec_status = 0
</select>
<select id="queryInvoices" resultType="com.ccsens.ptccsens.bean.vo.FinanceVo$Invoice">
SELECT
@ -125,4 +115,37 @@
AND c.rec_status = 0
AND (l.check_status = 2 OR l.id IS NULL)
</select>
<select id="queryPersonalHistory" resultType="com.ccsens.ptccsens.bean.vo.FinanceVo$PersonalHistory">
SELECT
a.id as applyId,
a.submit_name as submitName,
a.money as money,
a.apply_time as submitTime,
a.apply_type as applyType
FROM
t_plu_finance_apply a
LEFT JOIN t_pro_task_detail d ON a.task_id = d.id
AND d.rec_status = 0
LEFT JOIN t_plu_finance_type t ON a.row_id = t.id
AND t.rec_status = 0
LEFT JOIN t_pro_member m ON a.member_id = m.id
AND m.user_id = #{userId} and m.rec_status = 0
WHERE
a.project_id = #{param.projectId}
<if test="param.taskDetailId != null and param.taskDetailId != 0">
AND a.task_id = #{param.taskDetailId}
</if>
<if test="param.taskName != null and param.taskName != ''">
AND d.NAME LIKE concat( '%', #{param.taskName}, '%' )
</if>
<choose>
<when test="param.type == 1">
AND t.NAME = '奖金'
</when>
<otherwise>
AND t.NAME != '奖金'
</otherwise>
</choose>
AND a.rec_status = 0
</select>
</mapper>
Loading…
Cancel
Save