ProjectMapper.xml 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. <result column="project_code" property="projectCode" />
  10. <result column="incharger_id" property="inchargerId" />
  11. <result column="plan_start_date" property="planStartDate" />
  12. <result column="plan_end_date" property="planEndDate" />
  13. <result column="progress" property="progress" />
  14. <result column="level" property="level" />
  15. <result column="status" property="status" />
  16. <result column="finish_date" property="finishDate" />
  17. <result column="creator_id" property="creatorId" />
  18. <result column="creator_name" property="creatorName" />
  19. <result column="create_date" property="createDate" />
  20. <result column="contract_amount" property="contractAmount" />
  21. <result column="budget" property="budget" />
  22. <result column="base_man" property="baseMan" />
  23. <result column="base_outsourcing" property="baseOutsourcing" />
  24. <result column="base_risk1" property="baseRisk1" />
  25. <result column="base_risk2" property="baseRisk2" />
  26. <result column="base_fee" property="baseFee" />
  27. </resultMap>
  28. <!-- 通用查询结果列 -->
  29. <sql id="Base_Column_List">
  30. id, project_name, company_id, project_code, incharger_id, plan_start_date, plan_end_date, progress, level, status, finish_date, creator_id, creator_name, create_date, contract_amount, budget, base_man, base_outsourcing, base_risk1, base_risk2, base_fee
  31. </sql>
  32. <!--获取查询者所在公司每个项目的工时成本-->
  33. <select id="getParticipatedProject" resultType="java.util.Map">
  34. SELECT id, project_name AS projectName
  35. FROM project
  36. WHERE id IN (
  37. SELECT project_id
  38. FROM participation
  39. WHERE user_id = #{userId}
  40. ) or incharger_id = #{userId}
  41. or creator_id = #{userId}
  42. ORDER BY id DESC
  43. </select>
  44. <!--获取查询者所在公司每个项目的工时成本-->
  45. <select id="getTimeCost" resultType="java.util.Map">
  46. SELECT a.id, a.project_name AS project, SUM(b.working_time) AS cost, SUM(b.cost) AS costMoney
  47. FROM project AS a
  48. LEFT JOIN report AS b ON b.project_id = a.id
  49. JOIN user AS c ON b.creator_id = c.id
  50. WHERE a.company_id = #{companyId}
  51. <if test="projectId != null">
  52. AND a.id = #{projectId}
  53. </if>
  54. <if test="startDate != null and endDate != null">
  55. AND b.create_date between #{startDate} and #{endDate}
  56. </if>
  57. AND b.state = 1
  58. GROUP BY a.id
  59. ORDER BY a.id ASC
  60. </select>
  61. <!--获取某个项目每个人分别需要的工时-->
  62. <select id="getProjectCost" resultType="java.util.Map">
  63. SELECT b.name, SUM(a.working_time) AS cost, SUM(a.cost) AS costMoney
  64. FROM report AS a
  65. JOIN user AS b ON a.creator_id = b.id
  66. WHERE a.project_id = #{projectId}
  67. AND a.state = 1
  68. <if test="startDate != null and endDate != null">
  69. AND a.create_date between #{startDate} and #{endDate}
  70. </if>
  71. GROUP BY b.id
  72. ORDER BY b.id ASC
  73. </select>
  74. <!--获取全部人员工时 -->
  75. <select id="getAllMembCost" resultType="java.util.Map">
  76. SELECT b.name, SUM(a.working_time) AS cost, SUM(a.cost) AS costMoney
  77. FROM user AS b
  78. left JOIN report AS a ON a.creator_id = b.id
  79. WHERE a.state = 1
  80. and b.company_id = #{companyId}
  81. <if test="startDate != null and endDate != null">
  82. AND a.create_date between #{startDate} and #{endDate}
  83. </if>
  84. <if test="projectId != null">
  85. AND a.project_id = #{projectId}
  86. </if>
  87. GROUP BY b.id
  88. ORDER BY b.id ASC
  89. </select>
  90. </mapper>