Browse Source

查看所有的费用申请/查询所有检查人

ptos
lucky 4 years ago
parent
commit
047da9c27b
  1. 45
      src/main/java/com/ccsens/ptccsens/api/MemberController.java
  2. 10
      src/main/java/com/ccsens/ptccsens/api/ProjectFinanceController.java
  3. 162
      src/main/java/com/ccsens/ptccsens/bean/dto/DeliverDto.java
  4. 15
      src/main/java/com/ccsens/ptccsens/bean/dto/ProjectFinanceDto.java
  5. 150
      src/main/java/com/ccsens/ptccsens/bean/vo/DeliverVo.java
  6. 23
      src/main/java/com/ccsens/ptccsens/bean/vo/ProjectFinanceVo.java
  7. 7
      src/main/java/com/ccsens/ptccsens/persist/dao/PluFinanceApplyDao.java
  8. 24
      src/main/java/com/ccsens/ptccsens/persist/dao/ProDeliverDao.java
  9. 26
      src/main/java/com/ccsens/ptccsens/service/DeliverService.java
  10. 16
      src/main/java/com/ccsens/ptccsens/service/IDeliverService.java
  11. 8
      src/main/java/com/ccsens/ptccsens/service/IProjectFinanceService.java
  12. 8
      src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java
  13. 40
      src/main/resources/mapper_dao/PluFinanceApplyDao.xml
  14. 20
      src/main/resources/mapper_dao/ProDeliverDao.xml

45
src/main/java/com/ccsens/ptccsens/api/MemberController.java

@ -0,0 +1,45 @@
package com.ccsens.ptccsens.api;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.ptccsens.bean.dto.DeliverDto;
import com.ccsens.ptccsens.bean.vo.DeliverVo;
import com.ccsens.ptccsens.service.IDeliverService;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* @author AUSU
*/
@Api(tags = "交付物相关" )
@RestController
@RequestMapping("/member")
@Slf4j
public class MemberController {
@Resource
private IDeliverService deliverService;
@MustLogin
@ApiOperation(value = "查询所有成员", notes = "")
@RequestMapping(value = "/queryChecker", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<DeliverVo.Checker>> queryChecker(@ApiParam @Validated @RequestBody QueryDto<DeliverDto.QueryChecker> params) throws Exception {
log.info("查询所有成员--{}", params);
List<DeliverVo.Checker> checkers = deliverService.queryChecker(params.getParam(), params.getUserId());
log.info("返回所有成员--{}", checkers);
return JsonResponse.newInstance().ok(checkers);
}
}

10
src/main/java/com/ccsens/ptccsens/api/ProjectFinanceController.java

@ -83,4 +83,14 @@ public class ProjectFinanceController {
log.info("追加预算结束");
return JsonResponse.newInstance().ok();
}
@MustLogin
@ApiOperation(value = "查看所有的费用申请", notes = "")
@RequestMapping(value = "/queryAllMoneyApply", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<PageInfo<ProjectFinanceVo.AllMoneyApply>> queryAllMoneyApply(@ApiParam @Validated @RequestBody QueryDto<ProjectFinanceDto.QueryAllMoneyApply> params) throws Exception{
log.info("查看所有的费用申请开始{}",params);
PageInfo<ProjectFinanceVo.AllMoneyApply> financeOfProjectList = projectFinanceService.queryAllMoneyApply(params.getParam(),params.getUserId());
log.info("查看所有的费用申请结束:{}",financeOfProjectList);
return JsonResponse.newInstance().ok(financeOfProjectList);
}
}

162
src/main/java/com/ccsens/ptccsens/bean/dto/DeliverDto.java

@ -0,0 +1,162 @@
package com.ccsens.ptccsens.bean.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.util.List;
@Data
public class DeliverDto {
@Data
@ApiModel("查询所有检查人")
public static class QueryChecker{
@NotNull(message = "请选择项目")
@ApiModelProperty("项目id")
private Long projectId;
}
@Data
@ApiModel("查询任务下的交付物信息")
public static class GetTaskDeliver{
@NotNull(message = "请选择任务")
@ApiModelProperty("任务id(分解id)")
private Long taskId;
}
@Data
@ApiModel("查询交付物的上传记录")
public static class QueryRecord{
@NotNull(message = "请选择交付物信息")
@ApiModelProperty("交付物Id")
private Long deliverId;
}
@Data
@ApiModel("查询交付物的检查记录")
public static class QueryCheckLog{
@NotNull(message = "请选择交付物")
@ApiModelProperty("提交记录id")
private Long deliverRecordId;
}
@Data
@ApiModel("添加交付物")
public static class SaveDeliver{
@NotNull(message = "请选择项目")
@ApiModelProperty("项目id")
private Long projectId;
@NotNull(message = "请选择任务")
@ApiModelProperty("任务id(分解id)")
private Long taskId;
@NotBlank(message = "交付物名称不能为空")
@ApiModelProperty("交付物名称")
private String deliverName;
}
@Data
@ApiModel("提交交付物信息")
public static class SubmitDeliver{
@NotNull(message = "请选择项目")
@ApiModelProperty("项目id")
private Long projectId;
@NotNull(message = "请选择交付物")
@ApiModelProperty("交付物id")
private Long deliverId;
@NotNull(message = "请传入文件信息")
@ApiModelProperty("文件信息")
private List<String> fileList;
@NotNull(message = "请选择检查人")
@ApiModelProperty("检查人id")
private List<Long> checkerList;
}
@Data
@ApiModel("检查交付物信息")
public static class CheckDeliver{
@NotNull(message = "请选择项目")
@ApiModelProperty("项目id")
private Long projectId;
@NotNull(message = "请选择要审核交付物")
@ApiModelProperty("交付物提交记录id")
private Long deliverRecordId;
@ApiModelProperty("审核状态 0未检查,1已通过,2驳回 默认1已通过")
private byte type = 1;
@ApiModelProperty("备注信息")
private String remark;
@ApiModelProperty("分数")
private BigDecimal score;
}
// @Data
// @ApiModel("检查交付物")
// public static class CheckDeliver{
// @NotNull(message = "检查信息错误")
// @ApiModelProperty("检查记录id")
// private Long checkId;
// @NotNull(message = "项目信息错误")
// @ApiModelProperty("项目id")
// private Long projectId;
// @ApiModelProperty("检查状态(1-通过,2-驳回)")
// private Byte status;
// @ApiModelProperty("分数")
// private String score;
// @ApiModelProperty("评论")
// private String remark;
// }
//
// @Data
// @ApiModel("提交交付物")
// public static class SaveDeliver{
// @NotNull(message = "请选择项目")
// @ApiModelProperty("项目id")
// private Long projectId;
// @NotNull(message = "请选择任务")
// @ApiModelProperty("分解任务id")
// private Long taskSubId;
// @ApiModelProperty("文本内容")
// private String content;
// @ApiModelProperty("文件信息")
// private List<FileVo.FileInfo> fileInfoList;
//// @ApiModelProperty("文件id")
//// private Long fileId;
//// @ApiModelProperty("文件路径")
//// private String filePath;
// @NotEmpty(message = "请选择检查人")
// @ApiModelProperty("检查人列表")
// private List<Long> checkerList;
// }
//
// @Data
// @ApiModel("查询任务的交付物历史")
// public static class QueryDeliverOfTask{
// @NotNull(message = "请选择项目信息")
// @ApiModelProperty("项目id")
// private Long projectId;
// @NotNull(message = "请选择任务")
// @ApiModelProperty("任务分解id")
// private Long taskSubId;
// }
//
// @Data
// @ApiModel("查询项目的交付物历史")
// public static class QueryDeliverOfProject {
// @NotNull(message = "请选择项目信息")
// @ApiModelProperty("项目id")
// private Long projectId;
// @ApiModelProperty("第几页")
// @Min(value = 1)
// private int pageNum = 1;
// @ApiModelProperty("每页多少条")
// @Min(value = 1)
// @Max(value=100)
// private int pageSize = 10;
// }
}

15
src/main/java/com/ccsens/ptccsens/bean/dto/ProjectFinanceDto.java

@ -78,4 +78,19 @@ public class ProjectFinanceDto {
@ApiModelProperty("追加预算")
private Long appendBudget;
}
@Data
@ApiModel("查看所有的费用申请-入参")
public static class QueryAllMoneyApply {
@NotNull
@ApiModelProperty("项目id")
private Long projectId;
@NotNull
@ApiModelProperty("名目Id")
private Long rowId;
@ApiModelProperty("页数")
private Integer pageNum = 1;
@ApiModelProperty("每页的数量")
private Integer pageSize = 10;
}
}

150
src/main/java/com/ccsens/ptccsens/bean/vo/DeliverVo.java

@ -0,0 +1,150 @@
package com.ccsens.ptccsens.bean.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
* @author
*/
@Data
public class DeliverVo {
@Data
@ApiModel("查询任务下的交付物信息")
public static class DeliverOfTask{
@ApiModelProperty("交付物id")
private Long deliverId;
@ApiModelProperty("交付物名字")
private String deliverName;
@ApiModelProperty("交付物提交记录id")
private Long deliverRecordId;
@ApiModelProperty("文件路径")
private List<String> details;
@ApiModelProperty("提交时间")
private Long submitTime;
@ApiModelProperty("提交人Id")
private Long submitMemberId;
@ApiModelProperty("提交人名称")
private String submitMemberName;
@ApiModelProperty("检查人列表")
private List<CheckerInfo> checkerList;
}
@Data
@ApiModel("检查人信息")
public static class CheckerInfo{
@ApiModelProperty("检查记录id")
private Long checkId;
@ApiModelProperty("检查人id")
private Long checkerId;
@ApiModelProperty("检查人名字")
private String checkerName;
@ApiModelProperty("检查状态(0-未审核,1-通过,2-驳回)")
private Byte status;
@ApiModelProperty("分数")
private BigDecimal score;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("是不是我(0-否,1-是)")
private Byte isMine;
@ApiModelProperty("检查时间")
private Long checkTime;
}
@Data
@ApiModel("查询交付物提交记录")
public static class QueryDeliverRecord{
@ApiModelProperty("交付物id")
private Long deliverId;
@ApiModelProperty("交付物名字")
private String deliverName;
@ApiModelProperty("交付物提交id")
private List<DeliverRecord> deliverRecordList;
}
@Data
@ApiModel("交付物提交记录")
public static class DeliverRecord{
@ApiModelProperty("交付物提交记录id")
private Long deliverRecordId;
@ApiModelProperty("文件路径")
private List<String> details;
@ApiModelProperty("提交时间")
private Long submitTime;
@ApiModelProperty("检查人列表")
private List<CheckerInfo> checkerList;
}
// @Data
// @ApiModel("检查人信息")
// public static class CheckerInfo{
// @ApiModelProperty("检查记录id")
// private String checkId;
// @ApiModelProperty("检查人id")
// private Long checkerId;
// @ApiModelProperty("检查人名字")
// private String checkerName;
// @ApiModelProperty("检查状态(0-未审核,1-通过,2-驳回)")
// private Byte status;
// @ApiModelProperty("分数")
// private String score;
// @ApiModelProperty("备注")
// private String remark;
// @ApiModelProperty("是不是我(0-否,1-是)")
// private Byte isMine;
//
// }
//
@Data
@ApiModel("所有检查人信息")
public static class Checker{
@ApiModelProperty("检查人id")
private Long memberId;
@ApiModelProperty("检查人名字")
private String name;
@ApiModelProperty("用户id")
private Long userId;
@ApiModelProperty("是不是我(0-否,1-是)")
private Byte isMine = 0;
}
//
//
// @Data
// @ApiModel("项目下的交付物记录")
// public static class DeliverOfProject{
// @ApiModelProperty("项目名称")
// private String projectName;
// @ApiModelProperty("任务列表")
// private List<DeliverOfTask> deliverOfTaskList;
// }
//
// @Data
// @ApiModel("任务的交付物历史")
// public static class DeliverOfTask{
// @ApiModelProperty("交付物id")
// private String id;
// @ApiModelProperty("上传人名字")
// private String name;
// @ApiModelProperty("任务名称")
// private String taskName;
// @ApiModelProperty("上传时间")
// private Long time;
// @ApiModelProperty("文本内容")
// private String content;
// @ApiModelProperty("文件信息")
// private List<FileVo.FileInfo> fileInfoList;
//// @ApiModelProperty("文件id")
//// private Long fileId;
//// @ApiModelProperty("文件路径")
//// private String filePath;
// @ApiModelProperty("检查人列表")
// private List<CheckerInfo> checkerList;
// }
}

23
src/main/java/com/ccsens/ptccsens/bean/vo/ProjectFinanceVo.java

@ -108,4 +108,27 @@ public class ProjectFinanceVo {
@ApiModelProperty("审核通过的钱")
private Long passMoney;
}
@Data
@ApiModel("查看所有的费用申请-返参")
public static class AllMoneyApply {
@ApiModelProperty("申请记录id")
private Long applyId;
@ApiModelProperty("提交人名称")
private String submitName;
@ApiModelProperty("申请人id")
private Long submitId;
@ApiModelProperty("名目id")
private Long rowId;
@ApiModelProperty("名目名称")
private String rowName;
@ApiModelProperty("金额")
private Long money;
@ApiModelProperty("申请时间")
private Long time;
@ApiModelProperty("类目id")
private Long categoryId;
@ApiModelProperty("类目名")
private String categoryName;
}
}

7
src/main/java/com/ccsens/ptccsens/persist/dao/PluFinanceApplyDao.java

@ -29,4 +29,11 @@ public interface PluFinanceApplyDao extends PluFinanceMapper {
* @return 项目下需要我申请的费用
*/
List<ProjectFinanceVo.NeedCheckByMe> queryNeedCheckByMeOfTask(@Param("taskDetailId") Long taskDetailId,@Param("userId") Long userId,@Param("projectId") Long projectId);
/**
*查看所有的费用申请
* @param projectId 项目id
* @return 所有的费用申请
*/
List<ProjectFinanceVo.AllMoneyApply> queryAllMoneyApply(@Param("projectId") Long projectId);
}

24
src/main/java/com/ccsens/ptccsens/persist/dao/ProDeliverDao.java

@ -0,0 +1,24 @@
package com.ccsens.ptccsens.persist.dao;
import com.ccsens.ptccsens.bean.vo.DeliverVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface ProDeliverDao{
/**
* 查询所有检查人
* @param projectId 项目id
* @param userId userId
* @return 检查人列表
*/
List<DeliverVo.Checker> queryChecker(@Param("projectId") Long projectId, @Param("userId") Long userId);
}

26
src/main/java/com/ccsens/ptccsens/service/DeliverService.java

@ -0,0 +1,26 @@
package com.ccsens.ptccsens.service;
import com.ccsens.ptccsens.bean.dto.DeliverDto;
import com.ccsens.ptccsens.bean.vo.DeliverVo;
import com.ccsens.ptccsens.persist.dao.ProDeliverDao;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
@Slf4j
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class DeliverService implements IDeliverService {
@Resource
private ProDeliverDao deliverDao;
@Override
public List<DeliverVo.Checker> queryChecker(DeliverDto.QueryChecker params, Long userId) {
return deliverDao.queryChecker(params.getProjectId(),userId);
}
}

16
src/main/java/com/ccsens/ptccsens/service/IDeliverService.java

@ -0,0 +1,16 @@
package com.ccsens.ptccsens.service;
import com.ccsens.ptccsens.bean.dto.DeliverDto;
import com.ccsens.ptccsens.bean.vo.DeliverVo;
import java.util.List;
public interface IDeliverService {
/**
* 查询所有检查人
* @param params 项目id
* @param userId 用户id
* @return 检查人列表
*/
List<DeliverVo.Checker> queryChecker(DeliverDto.QueryChecker params, Long userId);
}

8
src/main/java/com/ccsens/ptccsens/service/IProjectFinanceService.java

@ -46,4 +46,12 @@ public interface IProjectFinanceService {
* @param userId 用户id
*/
void addBudget(ProjectFinanceDto.AddBudget param, Long userId);
/**
* 查看所有的费用申请
* @param param 入参
* @param userId 用户id
* @return 项目下所有的费用申请
*/
PageInfo<ProjectFinanceVo.AllMoneyApply> queryAllMoneyApply(ProjectFinanceDto.QueryAllMoneyApply param, Long userId);
}

8
src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java

@ -195,4 +195,12 @@ public class ProjectFinanceService implements IProjectFinanceService{
appendBudget.setAddBudget(param.getAppendBudget());
appendBudgetMapper.insertSelective(appendBudget);
}
@Override
public PageInfo<ProjectFinanceVo.AllMoneyApply> queryAllMoneyApply(ProjectFinanceDto.QueryAllMoneyApply param, Long userId) {
PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<ProjectFinanceVo.AllMoneyApply> allMoneyApplyList = pluFinanceApplyDao.queryAllMoneyApply(param.getProjectId());
return new PageInfo<>(allMoneyApplyList);
}
}

40
src/main/resources/mapper_dao/PluFinanceApplyDao.xml

@ -61,5 +61,45 @@
AND member.rec_status = 0
</select>
<select id="queryAllMoneyApply" resultType="com.ccsens.ptccsens.bean.vo.ProjectFinanceVo$AllMoneyApply">
SELECT
fa.id,
fa.submit_name,
fa.member_id,
fa.row_id,
ft.`name` AS rowName,
fa.money,
fa.apply_time AS `time`,
fa.category_id,
ft2.`name` AS categoryName
FROM
t_plu_finance AS f
LEFT JOIN (
SELECT
pt2.task_detail_id
FROM
t_pro_parent_task AS pt2
WHERE
pt2.rec_status = 0
AND pt2.parent_task_detail_id IN (
SELECT
pt1.task_detail_id
FROM
t_pro_parent_task AS pt1
WHERE
pt1.rec_status = 0
AND pt1.parent_task_detail_id = #{projectId}
)
) AS task ON f.task_id = task.task_detail_id
LEFT JOIN t_plu_finance_apply AS fa ON f.id = fa.finance_id
LEFT JOIN t_plu_finance_type AS ft ON fa.row_id = ft.id
LEFT JOIN t_plu_finance_type AS ft2 ON fa.category_id = ft2.id
WHERE
task.task_detail_id IS NOT NULL
AND fa.rec_status = 0
AND ft.rec_status = 0
AND ft2.rec_status = 0
</select>
</mapper>

20
src/main/resources/mapper_dao/ProDeliverDao.xml

@ -0,0 +1,20 @@
<?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.ccsens.ptccsens.persist.dao.ProDeliverDao">
<select id="queryChecker" resultType="com.ccsens.ptccsens.bean.vo.DeliverVo$Checker">
SELECT
id AS memberId,
`name`,
user_id,
if(user_id = #{userId},1,0) as isMine
FROM
t_pro_member
WHERE
rec_status = 0
AND project_id = #{projectId}
</select>
</mapper>
Loading…
Cancel
Save