ErpNodeMapper.xml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  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.dk.mdm.mapper.mst.ErpNodeMapper">
  4. <!-- 通用设置 -->
  5. <!-- 通用查询列 -->
  6. <sql id="Base_Column_List">
  7. ten.node_id, ten.node_code, ten.node_name, ten.node_type, ten.node_color, ten.display_no, ten.remarks, ten.flg_valid, ten.fty_id, ten.op_create_time, ten.op_create_user_id, ten.op_update_time, ten.op_update_user_id, ten.op_app_code, ten.op_timestamp, ten.op_db_user
  8. </sql>
  9. <!-- 通用查询映射结果 -->
  10. <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.mst.ErpNodeResponse">
  11. <id column="node_id" property="nodeId"/>
  12. <result column="node_code" property="nodeCode"/>
  13. <result column="node_name" property="nodeName"/>
  14. <result column="node_type" property="nodeType"/>
  15. <result column="node_color" property="nodeColor"/>
  16. <result column="display_no" property="displayNo"/>
  17. <result column="remarks" property="remarks"/>
  18. <result column="flg_valid" property="flgValid"/>
  19. <result column="nodeTypeName" property="nodeTypeName"/>
  20. </resultMap>
  21. <!-- 通用条件列 -->
  22. <sql id="Condition">
  23. <where>
  24. fty_id = #{ftyId}
  25. <if test="nodeCode != null and nodeCode != ''">
  26. AND position(#{nodeCode} in ten.node_code) > 0
  27. </if>
  28. <if test="nodeName != null and nodeName != ''">
  29. AND position(#{nodeName} in ten.node_name) > 0
  30. </if>
  31. <if test="nodeType != null and nodeType != ''">
  32. AND ten.node_type = #{nodeType}
  33. </if>
  34. <if test="flgValid != null">
  35. AND ten.flg_valid = #{flgValid}
  36. </if>
  37. <if test="flgValidList != null and flgValidList.size()>0">
  38. AND ten.flg_valid = any(#{flgValidList, typeHandler= BooleanListTypeHandler})
  39. </if>
  40. </where>
  41. </sql>
  42. <sql id="idsForeach">
  43. <!-- 根据主键nodeId批量操作 -->
  44. WHERE node_id in
  45. <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
  46. #{item}
  47. </foreach>
  48. </sql>
  49. <!-- 查询表mst.t_erp_node,(条件查询+分页)列表 -->
  50. <select id="selectByCond" resultMap="BaseResultMap">
  51. SELECT
  52. <include refid="Base_Column_List"/>
  53. ,sys.f_get_name_i18n_lang(tdk.kind_name_i18n,#{i18n}) as nodeTypeName
  54. FROM mst.t_erp_node ten
  55. left join sys.t_data_kind tdk on ten.node_type = tdk.kind_code
  56. <include refid="Condition"/>
  57. order by ten.display_no
  58. <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
  59. limit #{end} offset #{start}
  60. </if>
  61. </select>
  62. <!-- 查询表mst.t_erp_node,(条件查询)个数 -->
  63. <select id="countByCond" resultType="Long">
  64. SELECT
  65. count(1)
  66. FROM mst.t_erp_node ten
  67. <include refid="Condition"/>
  68. </select>
  69. <select id="selectById" resultMap="BaseResultMap">
  70. SELECT
  71. <include refid="Base_Column_List"/>
  72. FROM mst.t_erp_node ten
  73. WHERE ten.node_id = #{nodeId}
  74. </select>
  75. <!-- 根据主键锁定表mst.t_erp_node的多行数据 -->
  76. <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
  77. SELECT
  78. <include refid="Base_Column_List"/>
  79. FROM mst.t_erp_node
  80. <include refid="idsForeach"/>
  81. for update
  82. </select>
  83. <insert id="insertBatch">
  84. insert into mst.t_erp_node
  85. (
  86. <trim suffixOverrides=",">
  87. node_code,
  88. node_name,
  89. node_type,
  90. display_no,
  91. remarks,
  92. fty_id,
  93. op_app_code,
  94. </trim>
  95. )
  96. values
  97. <foreach collection="list" index="index" item="item" separator=",">
  98. (
  99. <trim suffixOverrides=",">
  100. #{item.nodeCode},
  101. #{item.nodeName},
  102. #{item.nodeType},
  103. #{item.displayNo},
  104. #{item.remarks},
  105. #{item.ftyId},
  106. #{item.opAppCode},
  107. </trim>
  108. )
  109. </foreach>
  110. </insert>
  111. <select id="checkExist" resultType="Integer">
  112. select 1 from mst.t_erp_node
  113. where fty_id = #{ftyId} and node_code = #{nodeCode}
  114. <if test="nodeId != null and nodeId != 0">
  115. and node_id != #{nodeId}
  116. </if>
  117. limit 1
  118. </select>
  119. </mapper>