<selectid="ageMoreList"resultType="com.huida.train.domain.TrainSignupMan">
SELECT s.record_id,s.name,s.id_card_type,s.id_card,s.tel,s.receipt_json,
c.class_name as training_course_name
FROM "train_signup_man" s
LEFT JOIN "training_course_new" c ON s."training_course_id" = c."record_id"
<where><iftest="startDate != null">
AND s.create_time >= #{startDate}
</if><iftest="endDate != null">
AND s.create_time <=#{endDate}
</if><choose><whentest="systemType != null and systemType!='' and systemType == 'bgtx'">
AND (c.system_type = #{systemType} OR c.system_type IS NULL)
</when><otherwise><iftest="systemType != null and systemType!=''">
AND c.system_type = #{systemType}
</if></otherwise></choose><iftest="ageText != null and ageText != ''"><choose><whentest="ageText == '31岁以下'.toString()">
AND s.id_card_type = '1'
AND EXTRACT(YEAR FROM AGE(CURRENT_DATE, TO_DATE(SUBSTRING(s.id_card FROM 7 FOR 8), 'YYYYMMDD')))
<= 31
</when><whentest="ageText == '31-40岁'.toString()">
AND s.id_card_type = '1'
AND EXTRACT(YEAR FROM AGE(CURRENT_DATE, TO_DATE(SUBSTRING(s.id_card FROM 7 FOR 8), 'YYYYMMDD')))
BETWEEN 31 AND 40
</when><whentest="ageText == '41-50岁'.toString()">
AND s.id_card_type = '1'
AND EXTRACT(YEAR FROM AGE(CURRENT_DATE, TO_DATE(SUBSTRING(s.id_card FROM 7 FOR 8), 'YYYYMMDD')))
BETWEEN 41 AND 50
</when><whentest="ageText == '51-60岁'.toString()">
AND s.id_card_type = '1'
AND EXTRACT(YEAR FROM AGE(CURRENT_DATE, TO_DATE(SUBSTRING(s.id_card FROM 7 FOR 8), 'YYYYMMDD')))
BETWEEN 51 AND 60
</when><whentest="ageText == '60岁以上'.toString()">
AND s.id_card_type = '1'
AND EXTRACT(YEAR FROM AGE(CURRENT_DATE, TO_DATE(SUBSTRING(s.id_card FROM 7 FOR 8), 'YYYYMMDD')))
>= 60
</when><otherwise>
AND s.id_card_type != '1'
</otherwise></choose></if></where></select>