ProductionFundMapper.xml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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.ProductionFundMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.dayou.entity.ProductionFund">
  6. <result column="id" property="id" />
  7. <result column="deleted" property="deleted" />
  8. <result column="created" property="created" />
  9. <result column="modified" property="modified" />
  10. <result column="business_type" property="businessType" />
  11. <result column="business_id" property="businessId" />
  12. <result column="business_sub_id" property="businessSubId" />
  13. <result column="should_amount" property="shouldAmount" />
  14. <result column="real_amount" property="realAmount" />
  15. <result column="standard_amount" property="standardAmount" />
  16. <result column="discount" property="discount" />
  17. </resultMap>
  18. <!-- 通用查询结果列 -->
  19. <sql id="Base_Column_List">
  20. id,
  21. deleted,
  22. created,
  23. modified,
  24. business_type, business_id, business_sub_id, should_amount, real_amount, standard_amount, discount
  25. </sql>
  26. <select id="deepQueryProductionFund" parameterType="java.util.List" resultType="com.dayou.entity.ProductionFund">
  27. select id,business_id,should_amount from production_fund where business_id in (
  28. <foreach collection="majorIds" item="item" index="index" separator=",">
  29. #{item}
  30. </foreach>
  31. ) and deleted = 0
  32. </select>
  33. <select id="getProductionFundByOrderFundId" parameterType="java.lang.Long" resultType="com.dayou.dto.ReportDTO">
  34. SELECT
  35. pf.id AS productionFundId,
  36. mp.id ,
  37. (case mp.production when 'STATEMENT' THEN '价值意见书' when 'REPORT' THEN '报告' else '复评函' end ) as productionType,
  38. mp.evaluate_amount,
  39. pf.real_amount,
  40. pf.standard_amount,
  41. mp.report_no as businessSubId
  42. FROM
  43. ( SELECT id, business_id FROM order_fund WHERE business_type = 'MAJOR_BUSINESS' AND deleted = 0 AND id = #{orderFundId} ) orf
  44. LEFT JOIN ( SELECT id, major_id, report_no, production, evaluate_amount FROM major_production WHERE deleted = 0 and name is not null ) mp ON orf.business_id = mp.major_id
  45. LEFT JOIN ( SELECT id, business_id, production_no, order_fund_id, real_amount, standard_amount,production_type FROM production_fund WHERE deleted = 0 ) pf ON (
  46. pf.business_id = mp.major_id
  47. AND pf.production_no = mp.report_no and pf.production_type = mp.production)
  48. order by mp.report_no
  49. </select>
  50. </mapper>