ProductMapper.xml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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="cn.cslg.report.mapper.ProductMapper">
  4. <!--插入数据-->
  5. <!--int insert(Product product);-->
  6. <insert id="insert" useGeneratedKeys="true" keyProperty="id">
  7. insert into PRODUCT (PRODUCT_NAME, PRODUCT_IDENTIFY, PRODUCT_DESCRIPTION, SURVEY_AREA, PRODUCT_IMAGE,
  8. SEARCH_POLICY, DEADLINE, FOCUS_INFORMATION, REPORT_ID, CREATE_PERSON_NAME,
  9. CREATE_PERSON_ID)
  10. values (#{productName}, #{productIdentify}, #{productDescription}, #{surveyArea}, #{productImage},
  11. #{searchPolicy}, #{deadLine}, #{focusInformation}, #{reportId}, #{createPersonName},
  12. #{createPersonId})
  13. </insert>
  14. <!--根据id修改数据-->
  15. <!--int update(Product product);-->
  16. <update id="update">
  17. update PRODUCT
  18. <set>
  19. <if test="productName != null">
  20. PRODUCT_NAME = #{productName},
  21. </if>
  22. <if test="productIdentify != null">
  23. PRODUCT_IDENTIFY = #{productIdentify},
  24. </if>
  25. <if test="productDescription != null">
  26. PRODUCT_DESCRIPTION = #{productDescription},
  27. </if>
  28. <if test="surveyArea != null">
  29. SURVEY_AREA = #{surveyArea},
  30. </if>
  31. <if test="productImage != null">
  32. PRODUCT_IMAGE = #{productImage},
  33. </if>
  34. <if test="searchPolicy != null">
  35. SEARCH_POLICY = #{searchPolicy},
  36. </if>
  37. DEADLINE = #{deadLine},
  38. <if test="focusInformation != null">
  39. FOCUS_INFORMATION = #{focusInformation},
  40. </if>
  41. <if test="reportId != null">
  42. REPORT_ID = #{reportId},
  43. </if>
  44. <if test="createPersonName != null">
  45. CREATE_PERSON_NAME = #{createPersonName},
  46. </if>
  47. <if test="createPersonId != null">
  48. CREATE_PERSON_ID = #{createPersonId},
  49. </if>
  50. </set>
  51. where ID = #{id}
  52. </update>
  53. <!--根据报告reportId统计数量-->
  54. <!--int countByReportId(Integer reportId);-->
  55. <select id="countByReportId" resultType="int">
  56. select count(*)
  57. from PRODUCT
  58. where REPORT_ID = #{reportId}
  59. </select>
  60. <!--根据报告reportId关联产品表、产品文件关联表、报告系统文件表查询产品和产品附件数据-->
  61. <!--ProductIncludeFilesVO getWholeByReportId(Integer reportId);-->
  62. <select id="getWholeByReportId" resultMap="WholeResultMap">
  63. select p.ID p_ID,
  64. product_name,
  65. product_identify,
  66. product_description,
  67. survey_area,
  68. product_image,
  69. search_policy,
  70. deadline,
  71. focus_information,
  72. report_id,
  73. create_person_name,
  74. create_person_id,
  75. rf.ID rf_ID,
  76. name,
  77. address,
  78. zid,
  79. remark,
  80. update_time,
  81. uid,
  82. type,
  83. size,
  84. suffix,
  85. file_name
  86. from PRODUCT p
  87. left join ASSO_PRODUCT_FILE apf on p.ID = apf.PRODUCT_ID
  88. left join REPORT_FILE rf on apf.FILE_ID = rf.ID
  89. where REPORT_ID = #{reportId}
  90. order by rf_ID
  91. </select>
  92. <resultMap id="WholeResultMap" type="cn.cslg.report.common.model.vo.ProductIncludeFilesVO">
  93. <id column="p_ID" property="id"/>
  94. <result column="PRODUCT_NAME" property="productName"/>
  95. <result column="PRODUCT_IDENTIFY" property="productIdentify"/>
  96. <result column="PRODUCT_DESCRIPTION" property="productDescription"/>
  97. <result column="SURVEY_AREA" property="surveyArea"/>
  98. <result column="PRODUCT_IMAGE" property="productImage"/>
  99. <result column="SEARCH_POLICY" property="searchPolicy"/>
  100. <result column="DEADLINE" property="deadLine"/>
  101. <result column="FOCUS_INFORMATION" property="focusInformation"/>
  102. <result column="REPORT_ID" property="reportId"/>
  103. <result column="CREATE_PERSON_NAME" property="createPersonName"/>
  104. <result column="CREATE_PERSON_ID" property="createPersonId"/>
  105. <collection property="reportFiles" ofType="cn.cslg.report.common.model.vo.ReportFileStandardVO">
  106. <id column="rf_ID" property="id"/>
  107. <result column="NAME" property="name"/>
  108. <result column="ADDRESS" property="address"/>
  109. <result column="ZID" property="zid"/>
  110. <result column="REMARK" property="remark"/>
  111. <result column="UPDATE_TIME" property="updateTime"/>
  112. <result column="UID" property="uid"/>
  113. <result column="TYPE" property="type"/>
  114. <result column="SIZE" property="size"/>
  115. <result column="SUFFIX" property="suffix"/>
  116. <result column="FILE_NAME" property="fileName"/>
  117. </collection>
  118. </resultMap>
  119. <!--根据报告reportId删除数据-->
  120. <!--int deleteByReportId(Integer reportId);-->
  121. <delete id="deleteByReportId">
  122. delete
  123. from PRODUCT
  124. where REPORT_ID = #{reportId}
  125. </delete>
  126. </mapper>