diff --git a/src/main/java/com/ccsens/ptccsens/api/MemberController.java b/src/main/java/com/ccsens/ptccsens/api/MemberController.java new file mode 100644 index 0000000..12b3137 --- /dev/null +++ b/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> queryChecker(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { + log.info("查询所有成员--{}", params); + List checkers = deliverService.queryChecker(params.getParam(), params.getUserId()); + log.info("返回所有成员--{}", checkers); + return JsonResponse.newInstance().ok(checkers); + + } +} diff --git a/src/main/java/com/ccsens/ptccsens/api/ProjectFinanceController.java b/src/main/java/com/ccsens/ptccsens/api/ProjectFinanceController.java index 10370e9..047cb7f 100644 --- a/src/main/java/com/ccsens/ptccsens/api/ProjectFinanceController.java +++ b/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> queryAllMoneyApply(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("查看所有的费用申请开始{}",params); + PageInfo financeOfProjectList = projectFinanceService.queryAllMoneyApply(params.getParam(),params.getUserId()); + log.info("查看所有的费用申请结束:{}",financeOfProjectList); + return JsonResponse.newInstance().ok(financeOfProjectList); + } } diff --git a/src/main/java/com/ccsens/ptccsens/bean/dto/DeliverDto.java b/src/main/java/com/ccsens/ptccsens/bean/dto/DeliverDto.java new file mode 100644 index 0000000..2cbf39e --- /dev/null +++ b/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 fileList; + @NotNull(message = "请选择检查人") + @ApiModelProperty("检查人id") + private List 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 fileInfoList; +//// @ApiModelProperty("文件id") +//// private Long fileId; +//// @ApiModelProperty("文件路径") +//// private String filePath; +// @NotEmpty(message = "请选择检查人") +// @ApiModelProperty("检查人列表") +// private List 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; +// } + + +} diff --git a/src/main/java/com/ccsens/ptccsens/bean/dto/ProjectFinanceDto.java b/src/main/java/com/ccsens/ptccsens/bean/dto/ProjectFinanceDto.java index bbe29e6..c890841 100644 --- a/src/main/java/com/ccsens/ptccsens/bean/dto/ProjectFinanceDto.java +++ b/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; + } } diff --git a/src/main/java/com/ccsens/ptccsens/bean/vo/DeliverVo.java b/src/main/java/com/ccsens/ptccsens/bean/vo/DeliverVo.java new file mode 100644 index 0000000..3ce15dc --- /dev/null +++ b/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 details; + @ApiModelProperty("提交时间") + private Long submitTime; + @ApiModelProperty("提交人Id") + private Long submitMemberId; + @ApiModelProperty("提交人名称") + private String submitMemberName; + @ApiModelProperty("检查人列表") + private List 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 deliverRecordList; + } + @Data + @ApiModel("交付物提交记录") + public static class DeliverRecord{ + @ApiModelProperty("交付物提交记录id") + private Long deliverRecordId; + @ApiModelProperty("文件路径") + private List details; + @ApiModelProperty("提交时间") + private Long submitTime; + @ApiModelProperty("检查人列表") + private List 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 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 fileInfoList; +//// @ApiModelProperty("文件id") +//// private Long fileId; +//// @ApiModelProperty("文件路径") +//// private String filePath; +// @ApiModelProperty("检查人列表") +// private List checkerList; +// } + + + +} diff --git a/src/main/java/com/ccsens/ptccsens/bean/vo/ProjectFinanceVo.java b/src/main/java/com/ccsens/ptccsens/bean/vo/ProjectFinanceVo.java index 6c2b508..0e637e9 100644 --- a/src/main/java/com/ccsens/ptccsens/bean/vo/ProjectFinanceVo.java +++ b/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; + } } diff --git a/src/main/java/com/ccsens/ptccsens/persist/dao/PluFinanceApplyDao.java b/src/main/java/com/ccsens/ptccsens/persist/dao/PluFinanceApplyDao.java index c5ca479..d61d8eb 100644 --- a/src/main/java/com/ccsens/ptccsens/persist/dao/PluFinanceApplyDao.java +++ b/src/main/java/com/ccsens/ptccsens/persist/dao/PluFinanceApplyDao.java @@ -29,4 +29,11 @@ public interface PluFinanceApplyDao extends PluFinanceMapper { * @return 项目下需要我申请的费用 */ List queryNeedCheckByMeOfTask(@Param("taskDetailId") Long taskDetailId,@Param("userId") Long userId,@Param("projectId") Long projectId); + + /** + *查看所有的费用申请 + * @param projectId 项目id + * @return 所有的费用申请 + */ + List queryAllMoneyApply(@Param("projectId") Long projectId); } diff --git a/src/main/java/com/ccsens/ptccsens/persist/dao/ProDeliverDao.java b/src/main/java/com/ccsens/ptccsens/persist/dao/ProDeliverDao.java new file mode 100644 index 0000000..b7b6a25 --- /dev/null +++ b/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 queryChecker(@Param("projectId") Long projectId, @Param("userId") Long userId); + +} diff --git a/src/main/java/com/ccsens/ptccsens/service/DeliverService.java b/src/main/java/com/ccsens/ptccsens/service/DeliverService.java new file mode 100644 index 0000000..c20991d --- /dev/null +++ b/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 queryChecker(DeliverDto.QueryChecker params, Long userId) { + return deliverDao.queryChecker(params.getProjectId(),userId); + } +} diff --git a/src/main/java/com/ccsens/ptccsens/service/IDeliverService.java b/src/main/java/com/ccsens/ptccsens/service/IDeliverService.java new file mode 100644 index 0000000..a4bb33e --- /dev/null +++ b/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 queryChecker(DeliverDto.QueryChecker params, Long userId); +} diff --git a/src/main/java/com/ccsens/ptccsens/service/IProjectFinanceService.java b/src/main/java/com/ccsens/ptccsens/service/IProjectFinanceService.java index b02263f..e39835b 100644 --- a/src/main/java/com/ccsens/ptccsens/service/IProjectFinanceService.java +++ b/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 queryAllMoneyApply(ProjectFinanceDto.QueryAllMoneyApply param, Long userId); } diff --git a/src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java b/src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java index 13b6889..94429aa 100644 --- a/src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java +++ b/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 queryAllMoneyApply(ProjectFinanceDto.QueryAllMoneyApply param, Long userId) { + PageHelper.startPage(param.getPageNum(),param.getPageSize()); + List allMoneyApplyList = pluFinanceApplyDao.queryAllMoneyApply(param.getProjectId()); + + return new PageInfo<>(allMoneyApplyList); + } } diff --git a/src/main/resources/mapper_dao/PluFinanceApplyDao.xml b/src/main/resources/mapper_dao/PluFinanceApplyDao.xml index fb4af11..48e3958 100644 --- a/src/main/resources/mapper_dao/PluFinanceApplyDao.xml +++ b/src/main/resources/mapper_dao/PluFinanceApplyDao.xml @@ -61,5 +61,45 @@ AND member.rec_status = 0 + + \ No newline at end of file diff --git a/src/main/resources/mapper_dao/ProDeliverDao.xml b/src/main/resources/mapper_dao/ProDeliverDao.xml new file mode 100644 index 0000000..e5fc023 --- /dev/null +++ b/src/main/resources/mapper_dao/ProDeliverDao.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file