NascMatterMapper.xml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.nasc.custom.mapper.NascMatterMapper">
  6. <resultMap id="matterResult" type="NascMatter">
  7. <id property="id" column="id" />
  8. <result property="itemName" column="item_name" />
  9. <result property="deptId" column="dept_id" />
  10. <result property="prefixQuestion" column="prefix_question" />
  11. <result property="sortNum" column="sort_num" />
  12. <result property="contacts" column="contacts" />
  13. <result property="contactsPhone" column="contacts_phone" />
  14. <result property="commonProblem" column="common_problem" />
  15. <result property="delFlag" column="del_flag" />
  16. <result property="createBy" column="create_by" />
  17. <result property="createTime" column="create_time" />
  18. <result property="updateBy" column="update_by" />
  19. <result property="updateTime" column="update_time" />
  20. <association property="dept" javaType="SysDept" resultMap="deptResult" />
  21. <association property="print" javaType="NascPrint" resultMap="printResult" />
  22. </resultMap>
  23. <resultMap id="printResult" type="NascPrint">
  24. <id property="id" column="printId" />
  25. <result property="matterId" column="matter_id" />
  26. <result property="content" column="content" />
  27. <result property="missContent" column="miss_content" />
  28. <result property="denyContent" column="deny_content" />
  29. <result property="disposableContent" column="disposable_content" />
  30. <result property="printBy" column="print_by" />
  31. <result property="printTime" column="print_ime" />
  32. </resultMap>
  33. <resultMap id="deptResult" type="SysDept">
  34. <id property="deptId" column="dept_id" />
  35. <result property="parentId" column="parent_id" />
  36. <result property="deptName" column="dept_name" />
  37. <result property="ancestors" column="ancestors" />
  38. <result property="orderNum" column="order_num" />
  39. <result property="leader" column="leader" />
  40. <result property="status" column="dept_status" />
  41. </resultMap>
  42. <select id="selectMatterList" parameterType="NascMatter" resultMap="matterResult">
  43. SELECT nm.id, nm.item_name, nm.dept_id, nm.prefix_question, nm.sort_num, nm.del_flag, nm.create_by, nm.create_time,
  44. nm.update_by, nm.update_time, nm.contacts, nm.contacts_phone, nm.common_problem, d.dept_name
  45. FROM nasc_matter nm
  46. LEFT JOIN sys_dept d ON nm.dept_id = d.dept_id
  47. WHERE nm.del_flag != -1
  48. <if test="deptId != null and deptId != 0">
  49. AND nm.dept_id = #{deptId}
  50. </if>
  51. <if test="itemName != null and itemName != ''">
  52. AND nm.item_name like concat('%', #{itemName}, '%')
  53. </if>
  54. <if test="prefixQuestion != null and prefixQuestion != ''">
  55. AND nm.prefix_question = #{prefixQuestion}
  56. </if>
  57. ORDER BY nm.sort_num DESC
  58. </select>
  59. <select id="checkMatterDuplicates" parameterType="NascMatter" resultType="Long">
  60. SELECT COUNT(1)
  61. FROM nasc_matter nm
  62. WHERE nm.del_flag != -1 AND nm.dept_id = #{deptId} AND nm.item_name = #{itemName}
  63. <if test="id != null and id != 0">
  64. AND nm.id != #{id}
  65. </if>
  66. </select>
  67. <insert id="insertMatter" parameterType="NascMatter" useGeneratedKeys="true" keyProperty="id">
  68. INSERT INTO nasc_matter (item_name, dept_id, prefix_question, contacts, contacts_phone, common_problem, sort_num, create_by, create_time)
  69. VALUES (#{itemName}, #{deptId}, #{prefixQuestion}, #{contacts}, #{contactsPhone}, #{commonProblem}, #{sortNum}, #{createBy}, sysdate())
  70. </insert>
  71. <update id="updateMatter" parameterType="NascMatter">
  72. UPDATE nasc_matter
  73. SET item_name = #{itemName}, dept_id = #{deptId}, prefix_question = #{prefixQuestion}, sort_num = #{sortNum},
  74. contacts = #{contacts}, contacts_phone = #{contactsPhone}, common_problem = #{commonProblem}, update_by = #{updateBy}, update_time = sysdate()
  75. WHERE id = #{id}
  76. </update>
  77. <update id="deleteMatterByIds" parameterType="NascMatter">
  78. UPDATE nasc_matter
  79. SET del_flag = -1
  80. WHERE id IN
  81. <foreach collection="array" item="id" open="(" separator="," close=")">
  82. #{id}
  83. </foreach>
  84. </update>
  85. <select id="getMatterInfo" parameterType="NascMatter" resultMap="matterResult">
  86. SELECT nm.id, nm.item_name, nm.dept_id, nm.prefix_question, nm.contacts, nm.contacts_phone, nm.common_problem, nm.sort_num, nm.del_flag, nm.create_by, nm.create_time, nm.update_by, nm.update_time,
  87. d.dept_name, d.dept_id, d.parent_id,
  88. np.id AS printId, np.matter_id, np.content, np.miss_content, np.deny_content, np.disposable_content, np.print_by, np.print_time
  89. FROM nasc_matter nm
  90. LEFT JOIN sys_dept d ON nm.dept_id = d.dept_id
  91. LEFT JOIN nasc_print np ON nm.id = np.matter_id
  92. WHERE nm.del_flag != -1 AND nm.id = #{id}
  93. </select>
  94. <select id="checkDeptMatter" parameterType="Long" resultType="Long">
  95. SELECT COUNT(1)
  96. FROM nasc_matter
  97. WHERE dept_id = #{deptId} AND del_flag != -1
  98. </select>
  99. </mapper>