ProjectMapper.xml 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.management.platform.mapper.ProjectMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.management.platform.entity.Project">
  6. <id column="id" property="id"/>
  7. <result column="project_name" property="projectName"/>
  8. <result column="company_id" property="companyId"/>
  9. </resultMap>
  10. <!-- 通用查询结果列 -->
  11. <sql id="Base_Column_List">
  12. id, project_name, company_id
  13. </sql>
  14. <!--获取查询者所在公司每个项目的工时成本-->
  15. <select id="getTimeCost" resultType="java.util.Map">
  16. SELECT a.id, a.project_name AS project, SUM(b.working_time) AS cost, SUM(b.working_time * c.cost) AS costMoney
  17. FROM project AS a
  18. LEFT JOIN report AS b ON b.project_id = a.id
  19. JOIN user AS c ON b.creator_id = c.id
  20. WHERE a.company_id = #{companyId}
  21. GROUP BY a.id
  22. ORDER BY a.id ASC
  23. </select>
  24. <!--获取某个项目每个人分别需要的工时-->
  25. <select id="getProjectCost" resultType="java.util.Map">
  26. SELECT b.name, SUM(a.working_time) AS cost
  27. FROM report AS a
  28. JOIN user AS b ON a.creator_id = b.id
  29. WHERE a.project_id = #{projectId}
  30. GROUP BY b.id
  31. ORDER BY b.id ASC
  32. </select>
  33. </mapper>