PersonalTargetMapper.xml 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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.PersonalTargetMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.dayou.entity.PersonalTarget">
  6. <result column="id" property="id" />
  7. <result column="created" property="created" />
  8. <result column="modified" property="modified" />
  9. <result column="deleted" property="deleted" />
  10. <result column="personal_id" property="personalId" />
  11. <result column="location" property="location" />
  12. <result column="amount" property="amount" />
  13. <result column="price" property="price" />
  14. <result column="house_certificate" property="houseCertificate" />
  15. <result column="land_certificate" property="landCertificate" />
  16. <result column="immovable_certificate" property="immovableCertificate" />
  17. <result column="entity_info" property="entityInfo" />
  18. <result column="background_info" property="backgroundInfo" />
  19. <result column="selling_ability" property="sellingAbility" />
  20. </resultMap>
  21. <!-- 通用查询结果列 -->
  22. <sql id="Base_Column_List">
  23. id,
  24. created,
  25. modified,
  26. deleted,
  27. personal_id, location, amount, price, house_certificate, land_certificate, immovable_certificate, entity_info, background_info, selling_ability
  28. </sql>
  29. <select id="validateProd" parameterType="java.lang.Long" resultType="com.dayou.vo.ProdValidateVO">
  30. SELECT
  31. pt.acreage,
  32. ROUND( pt.amount / 10000, 2 ) AS amount,
  33. p.location AS productionName,
  34. concat( '川友房估', p.order_id, '号' ) AS productionNo,
  35. p.bailorA,
  36. p.bailorB,
  37. DATE_FORMAT( JSON_UNQUOTE( JSON_EXTRACT( selling_ability, '$.sceneDateD' )), '%Y-%m-%d' ) AS valueTiming,
  38. (
  39. SELECT
  40. ( CASE production WHEN 'STATEMENT' THEN '价值意见书' WHEN 'FINAL' THEN '报告' WHEN 'TECHNIC' THEN '报告' END )
  41. FROM
  42. personal_production
  43. WHERE
  44. deleted = 0
  45. AND target_id = pt.id
  46. AND production_time IS NOT NULL
  47. ORDER BY
  48. production_time DESC
  49. LIMIT 1
  50. ) AS productions ,
  51. c.name AS clientName
  52. FROM
  53. personal_target pt
  54. LEFT JOIN personal p ON p.id = pt.personal_id
  55. left join customer_company c on c.id = p.clientele_id
  56. WHERE
  57. pt.personal_id = #{id}
  58. AND pt.deleted = 0
  59. and p.deleted =0
  60. </select>
  61. <select id="fuzzyBackgroundList" parameterType="java.lang.String" resultType="java.lang.String">
  62. SELECT
  63. background_info
  64. FROM
  65. personal_target
  66. WHERE
  67. background_info IS NOT NULL
  68. AND deleted = 0
  69. AND JSON_EXTRACT( background_info, '$.location' ) LIKE concat ('%',#{location},'%')
  70. order by id desc
  71. </select>
  72. <select id="queryPersonalTargetEvaData" parameterType="java.lang.String" resultType="com.dayou.dto.PersonalTargetEvaData">
  73. SELECT
  74. p.order_id as orderId,
  75. p.order_id as orderNO,
  76. JSON_UNQUOTE(JSON_EXTRACT(pt.entity_info,'$.communityName')) as houseName,
  77. pt.location as address,
  78. JSON_UNQUOTE(JSON_EXTRACT(pt.entity_info,'$.allFloor')) as totalFloor,
  79. JSON_UNQUOTE(JSON_EXTRACT(pt.entity_info,'$.buildingAge')) as buildYear,
  80. DATE_FORMAT(JSON_UNQUOTE(JSON_EXTRACT(selling_ability,'$.sceneDateD')),'%Y-%m-%d %H:%i:%s') AS priceDate,
  81. pt.acreage as area,
  82. pt.amount as money,
  83. pt.price as price,
  84. pt.modified as modifyTime
  85. FROM
  86. personal_target pt
  87. LEFT JOIN personal p ON p.id = pt.personal_id
  88. where p.created>='2025-01-01 00:00:00' and pt.modified &gt;#{startDate}
  89. </select>
  90. </mapper>