SubscribeDetailMapper.xml 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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.purchase.mapper.subscribe.SubscribeDetailMapper">
  4. <select id="getPage" resultType="com.fjhx.purchase.entity.subscribe.vo.SubscribeDetailVo">
  5. SELECT t1.*,
  6. t2.`code` AS subscribeCode,
  7. t2.subcribe_content AS subscribeContent,
  8. t2.subcribe_time AS subcribeTime,
  9. t2.subcribe_name AS subcribeName,
  10. t2.id AS subcribeId,
  11. t2.required_arrival_time AS requiredArrivalTime,
  12. t2.put_warehouse_id AS putWarehouseId,
  13. t2.victoriatourist_json,
  14. t2.flow_id,
  15. pi.code productCode,
  16. pi.name productName,
  17. pi.type productType,
  18. pc.name productCategory,
  19. pi.unit productUnit,
  20. pi.definition productDefinition,
  21. pi.custom_code productCustomCode,
  22. pi.spec productSpec,
  23. de.dept_id deptId
  24. FROM subscribe_detail t1
  25. LEFT JOIN subscribe t2 ON t1.subscribe_id = t2.id
  26. left JOIN bytesailing_item.product_info pi on t1.bussiness_id = pi.id
  27. left join bytesailing_item.product_classify pc on pi.product_classify_id = pc.id
  28. LEFT JOIN bytesailing_base.sys_dept de
  29. ON CAST(json_unquote(pi.victoriatourist_json -> '$.deptId') AS UNSIGNED) = de.dept_id
  30. ${ew.customSqlSegment}
  31. </select>
  32. <select id="getDetail" resultType="com.fjhx.purchase.entity.subscribe.vo.SubscribeDetailVo">
  33. SELECT
  34. t1.*,
  35. IFNULL( SUM( t2.count ), 0 ) AS purchaseCount
  36. FROM
  37. subscribe_detail t1
  38. LEFT JOIN purchase_detail t2 ON t1.id = t2.subscribe_detail_id
  39. <where>
  40. <if test="ids neq null and ids.size() > 0">
  41. <foreach collection="ids" item="id" open="t1.id IN (" separator="," close=")">
  42. #{id}
  43. </foreach>
  44. </if>
  45. </where>
  46. GROUP BY
  47. t1.id
  48. </select>
  49. <select id="subscribeStatistics" resultType="com.fjhx.purchase.entity.subscribe.vo.SubscribeDetailVo">
  50. SELECT
  51. count(DISTINCT(pi.id)) typeCount,
  52. count(DISTINCT(su.id)) counts,
  53. ifnull(pi.type,-1) type
  54. FROM
  55. subscribe su
  56. LEFT JOIN subscribe_detail sd ON su.id = sd.subscribe_id
  57. LEFT JOIN bytesailing_item.product_info pi ON sd.bussiness_id = pi.id
  58. ${ew.customSqlSegment}
  59. </select>
  60. </mapper>