PmProjectService.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package com.usky.iot.service;
  2. import com.usky.common.core.bean.CommonPage;
  3. import com.usky.iot.domain.PmProject;
  4. import com.usky.common.mybatis.core.CrudService;
  5. import com.usky.iot.service.vo.PmProjectWorkTimeTwoVo;
  6. import com.usky.iot.service.vo.PmUsersProjectWorkTimeVO;
  7. import com.usky.system.domain.SysUser;
  8. import java.math.BigDecimal;
  9. import java.time.LocalDate;
  10. import java.util.List;
  11. import java.util.Map;
  12. /**
  13. * <p>
  14. * 项目表 服务类
  15. * </p>
  16. *
  17. * @author fu
  18. * @since 2024-05-20
  19. */
  20. public interface PmProjectService extends CrudService<PmProject> {
  21. /**
  22. * 新增、编辑项目
  23. *
  24. * @param project
  25. */
  26. void addProject(PmProject project);
  27. /**
  28. * 删除
  29. *
  30. * @param projectId 项目id
  31. */
  32. void delProject(Integer projectId);
  33. /**
  34. * 查询当前租户所有项目
  35. *
  36. * @return
  37. */
  38. List<PmProject> queryProject();
  39. /**
  40. * 分页
  41. *
  42. * @param projectName 项目名
  43. * @param projectType 类型
  44. * @param projectStatus 状态
  45. * @param projectAscription 项目归属类型
  46. * @param pageNum 页码
  47. * @param pageSize 页大小
  48. * @return
  49. */
  50. CommonPage<PmProject> projectList(String projectName, Integer projectType, Integer projectStatus, Integer projectAscription, Integer pageNum, Integer pageSize, Integer projectId);
  51. /**
  52. * 查询项目名
  53. *
  54. * @param projectIds
  55. * @return
  56. */
  57. List<PmProject> projectName(List<Integer> projectIds);
  58. /**
  59. * 所有、我负责、我参与项目数量统计
  60. *
  61. * @return
  62. */
  63. Map<String, Integer> sum();
  64. /**
  65. * 人员查询(项目负责人、成员)
  66. *
  67. * @return
  68. */
  69. List<Map<String, Object>> projectUsers(Long userId);
  70. /**
  71. * 所有项目id和名称
  72. *
  73. * @return
  74. */
  75. List<Map<String, Object>> projectIdName(Integer projectId);
  76. /**
  77. * 人员或项目下拉
  78. *
  79. * @param identifying 标识:1,返回人员userId和nickName;2:返回ProjectId和ProjectName
  80. * @return
  81. */
  82. List<Map<String, Object>> userOrProject(Integer identifying);
  83. /**
  84. * 退出项目
  85. *
  86. * @param projectId
  87. */
  88. void exitProject(Integer projectId);
  89. /**
  90. * 项目概览-项目-工时统计
  91. *
  92. * @param projectId
  93. * @param startDate
  94. * @param endDate
  95. * @return
  96. */
  97. PmProjectWorkTimeTwoVo projectWorkTime(Integer projectId, String startDate, String endDate);
  98. /**
  99. * 项目概览-人员-项目工时统计
  100. *
  101. * @param projectId
  102. * @return
  103. */
  104. PmUsersProjectWorkTimeVO usersProjectWorkTime(Integer projectId, String startDate, String endDate);
  105. }