VoyageStockMapper.xml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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.yc.ship.module.product.dal.mysql.voyagestock.VoyageStockMapper">
  4. <!--
  5. 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
  6. 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
  7. 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
  8. 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
  9. -->
  10. <select id="selectNoShelfdNumVoyageIdsByVoyageIds" resultType="java.lang.Long">
  11. select voyage_id
  12. from product_voyage_stock
  13. where voyage_id not in (select voyage_id from product_voyage_stock where shelfed_num != 0)
  14. and voyage_id in
  15. <foreach item="item" collection="voyageIds" open="(" separator="," close=")">
  16. #{item}
  17. </foreach>
  18. </select>
  19. <select id="selectTotal"
  20. resultType="com.yc.ship.module.product.controller.admin.voyagestock.vo.VoyageStockTotalVO">
  21. select sum(t1.total_num) total_num, sum(t1.can_sell_num) can_sale_num, sum(t1.book_num) book_num from product_voyage_stock t1 LEFT JOIN product_voyage t2 on t1.voyage_id = t2.id
  22. where 1=1
  23. <if test="pageReqVO.shipId != null">
  24. and t1.ship_id = #{pageReqVO.shipId}
  25. </if>
  26. <if test="pageReqVO.voyageIds != null">
  27. and t1.voyage_id in
  28. <foreach item="item" collection="pageReqVO.voyageIds" open="(" separator="," close=")">
  29. #{item}
  30. </foreach>
  31. </if>
  32. <if test="pageReqVO.voyageTime != null">
  33. and t2.start_time BETWEEN #{pageReqVO.voyageTime[0]} and #{pageReqVO.voyageTime[1]}
  34. </if>
  35. </select>
  36. </mapper>