EhsdPurchaseProductMapper.xml 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  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.fjhx.sale.mapper.purchase.EhsdPurchaseProductMapper">
  4. <select id="getPage" resultType="com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo">
  5. select epp.id,
  6. epp.purchase_id,
  7. epp.product_id,
  8. epp.product_name,
  9. epp.product_model,
  10. epp.quantity,
  11. epp.price,
  12. epp.amount,
  13. epp.remark,
  14. epp.json,
  15. epp.create_user,
  16. epp.create_time,
  17. epp.update_user,
  18. epp.update_time
  19. from ehsd_purchase_product epp
  20. ${ew.customSqlSegment}
  21. </select>
  22. <select id="getGroupSumAmount" resultType="com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo">
  23. SELECT
  24. CONCAT(
  25. IFNULL(
  26. (SELECT IFNULL( SUM( amount ), 0 ) FROM ehsd_purchase_product_mountings WHERE FIND_IN_SET(purchase_product_id,GROUP_CONCAT(t1.id))),
  27. 0
  28. ),
  29. "-",
  30. IFNULL( t2.currency, "¥" ),
  31. "-",
  32. IFNULL( t2.rate, 1 )) AS currencyAmount,
  33. t1.contract_id AS contractId
  34. FROM
  35. ehsd_purchase_product t1
  36. LEFT JOIN ehsd_purchase t2 ON t1.purchase_id = t2.id
  37. WHERE
  38. t2.`status` in(10,30)
  39. <if test="contractIds neq null and contractIds.size() > 0">
  40. <foreach collection="contractIds" item="contractId" open="AND t1.contract_id IN (" separator="," close=")">
  41. #{contractId}
  42. </foreach>
  43. </if>
  44. GROUP BY t1.contract_id
  45. </select>
  46. <select id="getPurchaseByContractId" resultType="com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo">
  47. SELECT
  48. t2.data_resource_id,
  49. IFNULL(t2.amount,0) AS amount ,
  50. t2.currency,
  51. IFNULL(t2.rate,0) AS rate,
  52. t1.product_id
  53. FROM
  54. ehsd_purchase_product t1
  55. LEFT JOIN ehsd_purchase t2 ON t1.purchase_id = t2.id
  56. WHERE
  57. t2.`status` IN ( 10, 30 )
  58. <if test="contractIds neq null and contractIds.size() > 0">
  59. <foreach collection="contractIds" item="contractId" open="AND t2.data_resource_id IN (" separator="," close=")">
  60. #{contractId}
  61. </foreach>
  62. </if>
  63. </select>
  64. <select id="getListByContractId" resultType="com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo">
  65. SELECT
  66. t1.*,
  67. t2.currency,
  68. t2.rate
  69. FROM
  70. ehsd_purchase_product t1
  71. LEFT JOIN ehsd_purchase t2 ON t1.purchase_id = t2.id
  72. WHERE
  73. t1.contract_id = #{contractId}
  74. </select>
  75. <select id="getPurchaseProductByContractProductIds" resultType="com.fjhx.sale.entity.purchase.po.EhsdPurchaseProduct">
  76. SELECT
  77. pp.*
  78. FROM
  79. ehsd_purchase_product pp
  80. LEFT JOIN ehsd_purchase p ON pp.purchase_id = p.id
  81. WHERE
  82. (p.`status` = 30
  83. OR p.`status` = 10)
  84. <foreach collection="dataResourceIds" item="dataResourceId" open="AND pp.data_resource_id IN (" separator=","
  85. close=")">
  86. #{dataResourceId}
  87. </foreach>
  88. </select>
  89. <select id="getPurchaseQuantitySumByContractId"
  90. resultType="com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo">
  91. SELECT epp.product_id,
  92. sum(epp.quantity) AS quantity
  93. FROM ehsd_purchase_product epp
  94. LEFT JOIN ehsd_purchase ep ON epp.purchase_id = ep.id
  95. WHERE ep.`status` IN (10, 30, 99)
  96. AND ep.data_resource_id = #{contractId}
  97. And ep.company_id = #{companyId}
  98. GROUP BY epp.product_id
  99. </select>
  100. <select id="getPurchaseQuantitySumBySubscribeDetailId" resultType="java.math.BigDecimal">
  101. SELECT IFNULL(sum(epp.quantity), 0)
  102. FROM ehsd_purchase_product epp
  103. LEFT JOIN ehsd_purchase ep ON epp.purchase_id = ep.id
  104. WHERE ep.`status` IN (10, 30, 99)
  105. AND epp.subscribe_detailId = #{subscribeDetailId}
  106. GROUP BY epp.product_id
  107. </select>
  108. <select id="getList" resultType="com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo">
  109. SELECT ep.`code` AS purchaseCode,
  110. ep.create_time,
  111. epp.id,
  112. epp.tenant_id,
  113. epp.purchase_id,
  114. epp.product_id,
  115. epp.product_name,
  116. epp.product_model,
  117. epp.quantity,
  118. epp.exceed_quantity,
  119. epp.price,
  120. epp.amount,
  121. epp.remark,
  122. epp.create_user,
  123. epp.update_user,
  124. epp.update_time,
  125. epp.data_resource,
  126. epp.data_resource_id,
  127. epp.contract_id,
  128. epp.subscribe_detail_id,
  129. epp.old_purchase_product_id,
  130. epp.price_including_tax,
  131. epp.amount_including_tax,
  132. IFNULL(t1.receiptQuantity, 0) AS arrivalQuantity,
  133. IFNULL(t1.receiptStatus, 0) AS receiptStatus,
  134. ep.sell_corporation_id
  135. FROM ehsd_purchase_product epp
  136. LEFT JOIN ehsd_purchase ep ON epp.purchase_id = ep.id
  137. LEFT JOIN (SELECT swd.purchase_detail_id,
  138. sw.`status` AS receiptStatus,
  139. IFNULL(sum(swd.receipt_quantity), 0) AS receiptQuantity
  140. FROM stock_wait_details swd
  141. JOIN stock_wait sw ON swd.stock_wait_id = sw.id
  142. GROUP BY swd.purchase_detail_id) t1 ON t1.purchase_detail_id = epp.id
  143. ${ew.customSqlSegment}
  144. </select>
  145. </mapper>