ItemBrokerageTechnicistMapper.xml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  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.dayou.mapper.ItemBrokerageTechnicistMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.dayou.entity.ItemBrokerageTechnicist">
  6. <result column="id" property="id" />
  7. <result column="modified" property="modified" />
  8. <result column="sequence_id" property="sequenceId" />
  9. <result column="item_id" property="itemId" />
  10. <result column="user_id" property="userId" />
  11. <result column="amount" property="amount" />
  12. <result column="residue_amount" property="residueAmount" />
  13. </resultMap>
  14. <resultMap id="defaultDeductionRecordsMap" type="com.dayou.vo.DeductionTechItemVO">
  15. <result column="id" property="id" />
  16. <result column="sequenceId" property="sequenceId"/>
  17. <result column="embody" property="embody"/>
  18. <result column="itemId" property="itemId"/>
  19. <result column="itemName" property="itemName"/>
  20. <result column="userId" property="userId" />
  21. <result column="userName" property="userName"/>
  22. <result column="brokerageAmount" property="brokerageAmount"/>
  23. <result column="residue_amount" property="residueAmount"/>
  24. <result column="created" property="created"/>
  25. <collection property="defaultDeductions" ofType="com.dayou.vo.TechDeductionVO" select="selectDefaultDeductionRecords" column="id"/>
  26. </resultMap>
  27. <!-- 通用查询结果列 -->
  28. <sql id="Base_Column_List">
  29. id,
  30. modified,
  31. sequence_id, item_id, user_id, amount, residue_amount
  32. </sql>
  33. <select id="notSettleForTechnicist" parameterType="java.lang.Long" resultType="com.dayou.entity.ItemBrokerageTechnicist">
  34. SELECT
  35. ibt.*
  36. FROM
  37. item_brokerage_technicist ibt
  38. LEFT JOIN item_brokerage_general ibg ON ibt.item_id = ibg.item_id
  39. WHERE
  40. (select amount from item where id = ibt.item_id and deleted = 0 ) =
  41. (select sum(amount) from payment_collection where item_id = ibt.item_id)
  42. AND ibt.residue_amount != 0
  43. AND ibt.user_id = #{userId}
  44. </select>
  45. <select id="xPage" parameterType="com.dayou.vo.DeductionTechItemVO" resultMap="defaultDeductionRecordsMap">
  46. SELECT
  47. ibt.id,
  48. ibt.sequence_id,
  49. ibt.item_id,
  50. ibt.user_id,
  51. ibt.amount AS brokerageAmount,
  52. ibt.residue_amount,
  53. ibt.created ,
  54. i.name as itemName,
  55. u.name as userName,
  56. ibs.embody
  57. FROM
  58. item_brokerage_technicist ibt
  59. LEFT JOIN item_brokerage_sequence ibs ON ibs.id = ibt.sequence_id
  60. LEFT JOIN item i ON i.id = ibt.item_id
  61. LEFT JOIN user u ON u.id = ibt.user_id
  62. WHERE
  63. ibt.deleted = 0
  64. AND ibs.deleted = 0
  65. AND ibt.user_id = #{vo.userId}
  66. <if test="vo.itemName!=null and vo.itemName!='' ">
  67. and i.name like concat ('%',#{vo.itemName},'%')
  68. </if>
  69. ORDER BY
  70. ibt.id DESC
  71. </select>
  72. <select id="selectDefaultDeductionRecords" parameterType="java.lang.Long" resultType="com.dayou.vo.TechDeductionVO">
  73. SELECT
  74. ibs.id,
  75. u.id AS userId,
  76. u.NAME AS userName,
  77. ibs.YEAR,
  78. ibs.MONTH,
  79. ibs.cate,
  80. ibs.brokerage_amount AS brokerageAmount,
  81. ibs.created,
  82. (ibs.brokerage_amount - ifnull( ibtd.deduction_amount, 0 )) AS notDeductionAmount
  83. FROM
  84. item_brokerage_technicist_deduction ibtd
  85. LEFT JOIN item_brokerage_sequence ibs ON ibtd.brokerage_sequence_id = ibs.id
  86. LEFT JOIN user u ON u.id = ibs.user_id
  87. where ibtd.brokerage_technicist_id = #{id} and ibtd.deleted = 0 and ibs.deleted = 0
  88. order by ibtd.id DESC
  89. </select>
  90. <select id="oncePage" parameterType="com.dayou.vo.DeductionTechItemVO" resultType="com.dayou.vo.DeductionTechItemVO">
  91. SELECT
  92. ibs.id,
  93. u.NAME AS userName,
  94. i.NAME AS itemName,
  95. ibs.brokerage_amount AS onceAmount,
  96. ibs.created,
  97. ibs.remark
  98. FROM
  99. item_brokerage_sequence ibs
  100. LEFT JOIN item_brokerage_technicist_deduction ibtd ON ibtd.brokerage_sequence_id = ibs.id
  101. LEFT JOIN item_brokerage_technicist ibt ON ibt.id = ibtd.brokerage_technicist_id
  102. LEFT JOIN item i ON i.id = ibt.item_id
  103. LEFT JOIN user u ON u.id = ibt.user_id
  104. WHERE
  105. ibs.cate = 'ONCE_SETTLE'
  106. AND ibt.user_id = #{vo.userId}
  107. <if test="vo.itemName!=null and vo.itemName!='' ">
  108. and i.name like concat ('%',#{vo.itemName},'%')
  109. </if>
  110. AND ibs.deleted = 0 and ibt.deleted = 0 and ibtd.deleted = 0
  111. </select>
  112. </mapper>