CompanyApparatusMapper.xml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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.caimei.modules.project.dao.CompanyApparatusDao">
  4. <resultMap id="classifyModelResultMap" type="com.caimei.modules.project.model.ClassifyModel">
  5. <id property="id" column="id"/>
  6. <result property="name" column="name"/>
  7. </resultMap>
  8. <sql id="companyApparatusColumns">
  9. a.id AS "id",
  10. a.companyId AS "companyId",
  11. b.id AS "apparatus.id",
  12. b.name AS "apparatus.name",
  13. b.price AS "apparatus.price",
  14. a.enabledStatus AS "enabledStatus",
  15. a.createBy AS "createBy.id",
  16. a.createDate AS "createDate",
  17. a.updateBy AS "updateBy.id",
  18. a.updateDate AS "updateDate"
  19. <!-- e.id AS "companyProList.id",
  20. e.name AS "companyProList.name" -->
  21. </sql>
  22. <sql id="companyApparatusJoins">
  23. LEFT JOIN project_apparatus b ON b.id=a.apparatusId
  24. <!-- LEFT JOIN project_company_apparatus_pro c ON c.companyApparatusId=a.id
  25. LEFT JOIN project_company_pro d ON d.id=c.companyProId
  26. LEFT JOIN project e ON e.id=d.projectId -->
  27. </sql>
  28. <select id="findClassifyModel" resultMap="classifyModelResultMap">
  29. SELECT
  30. e.id,e.name
  31. FROM project_company_apparatus_pro c
  32. LEFT JOIN project_company_pro d ON d.id=c.companyProId
  33. LEFT JOIN project e ON e.id=d.projectId
  34. WHERE c.companyApparatusId = #{param1}
  35. </select>
  36. <select id="get" resultType="CompanyApparatus">
  37. SELECT
  38. <include refid="companyApparatusColumns"/>
  39. FROM project_company_apparatus a
  40. <include refid="companyApparatusJoins"/>
  41. WHERE a.id = #{id}
  42. </select>
  43. <select id="findList" resultType="CompanyApparatus">
  44. SELECT
  45. <include refid="companyApparatusColumns"/>
  46. FROM project_company_apparatus a
  47. <include refid="companyApparatusJoins"/>
  48. <where>
  49. <if test="id != null and id != ''">
  50. AND a.id = #{id}
  51. </if>
  52. <if test="companyId != null and companyId != ''">
  53. AND a.companyId = #{companyId}
  54. </if>
  55. <if test="enabledStatus != null and enabledStatus != ''">
  56. AND a.enabledStatus = #{enabledStatus}
  57. </if>
  58. <if test="apparatus != null">
  59. <if test="apparatus.name !=null and apparatus.name !=''">
  60. AND b.name LIKE CONCAT('%',#{apparatus.name},'%')
  61. </if>
  62. </if>
  63. </where>
  64. <choose>
  65. <when test="page !=null and page.orderBy != null and page.orderBy != ''">
  66. ORDER BY ${page.orderBy}
  67. </when>
  68. <otherwise>
  69. ORDER BY a.enabledStatus DESC,a.createDate DESC
  70. </otherwise>
  71. </choose>
  72. </select>
  73. <select id="findAllList" resultType="CompanyApparatus">
  74. SELECT
  75. <include refid="companyApparatusColumns"/>
  76. FROM project_company_apparatus a
  77. <include refid="companyApparatusJoins"/>
  78. <where>
  79. </where>
  80. <choose>
  81. <when test="page !=null and page.orderBy != null and page.orderBy != ''">
  82. ORDER BY ${page.orderBy}
  83. </when>
  84. <otherwise>
  85. </otherwise>
  86. </choose>
  87. </select>
  88. <insert id="insert" parameterType="CompanyApparatus" keyProperty="id" useGeneratedKeys="true">
  89. INSERT INTO project_company_apparatus(
  90. companyId,
  91. apparatusId,
  92. enabledStatus,
  93. createBy,
  94. createDate,
  95. updateBy,
  96. updateDate
  97. ) VALUES (
  98. #{companyId},
  99. #{apparatus.id},
  100. #{enabledStatus},
  101. #{createBy.id},
  102. #{createDate},
  103. #{updateBy.id},
  104. #{updateDate}
  105. )
  106. </insert>
  107. <update id="update">
  108. UPDATE project_company_apparatus SET
  109. companyId = #{companyId},
  110. apparatusId = #{apparatus.id},
  111. enabledStatus = #{enabledStatus},
  112. updateBy = #{updateBy.id},
  113. updateDate = #{updateDate}
  114. WHERE id = #{id}
  115. </update>
  116. <delete id="delete">
  117. DELETE FROM project_company_apparatus
  118. WHERE id = #{id}
  119. </delete>
  120. <update id="updateEnabledStatusByIds">
  121. UPDATE project_company_apparatus a SET a.enabledStatus = #{param1}
  122. WHERE a.id IN
  123. <foreach collection="param2" item="id" index="index" open="(" separator="," close=")" >
  124. #{id}
  125. </foreach>
  126. </update>
  127. <delete id="deleteCompanyApparatusPro">
  128. DELETE FROM project_company_apparatus_pro
  129. WHERE companyApparatusId = #{param1}
  130. </delete>
  131. <insert id="insertCompanyApparatusPro">
  132. INSERT INTO project_company_apparatus_pro(companyApparatusId, companyProId)
  133. <foreach collection="param2" item="companyProId" separator=" union all ">
  134. SELECT #{param1}, #{companyProId}
  135. </foreach>
  136. </insert>
  137. </mapper>