chenfeng 7 months ago
parent 61e028b973
commit ac643fa753
  1. 49
      src/main/java/com/cjy/back/ybsjHandset/dao/YbsjHandsetMapper.xml
  2. 2
      src/main/java/com/cjy/back/ybsjHandset/service/Impl/YbsjHandsetServiceImpl.java

@ -6,24 +6,35 @@
<select id="getPeopleCounting" resultType="map">
SELECT
SUM(total.appointment_count) AS totalBookingCapacity,
SUM(CASE
WHEN total.appointment_documents_write_off = 1
AND total.appointment_type_id IN (5702, 5703)
THEN total.appointment_count
ELSE 0
END) +
(SELECT COUNT(nmd.id)
FROM ybsj_appointment_people_info nmd
JOIN ybsj_appointment_documents_info cm ON nmd.appointment_documents_id = cm.id
WHERE cm.appointment_date =CURDATE( )
AND nmd.write_off = 1
(a.totalTicketCapacity + b.totalTicketCapacity) AS totalTicketCapacity,
(a.totalBookingCapacity + b.totalBookingCapacity) AS totalBookingCapacity
FROM
(
SELECT
SUM(CASE WHEN nmd.write_off = 1 THEN 1 ELSE 0 END) AS totalTicketCapacity,
SUM(CASE WHEN nmd.write_off = 0 THEN 1 ELSE 0 END) AS totalBookingCapacity
FROM
ybsj_appointment_people_info nmd
JOIN
ybsj_appointment_documents_info cm ON nmd.appointment_documents_id = cm.id
WHERE
cm.appointment_date = CURDATE()
AND cm.appointment_type_id = 5701
AND cm.scenic_id = 167) AS totalTicketCapacity
FROM ybsj_appointment_documents_info total
WHERE total.appointment_date = CURDATE( )
AND total.appointment_documents_write_off IN (0, 1)
AND total.scenic_id = #{scenicId};
AND cm.scenic_id = #{scenicId}
AND cm.del_flag = 0
) AS a,
(
SELECT
SUM(CASE WHEN cm.appointment_documents_write_off = 1 THEN 1 ELSE 0 END) AS totalTicketCapacity,
SUM(CASE WHEN cm.appointment_documents_write_off = 0 THEN 1 ELSE 0 END) AS totalBookingCapacity
FROM
ybsj_appointment_documents_info cm
WHERE
cm.appointment_date = CURDATE()
AND cm.appointment_type_id != 5701
AND cm.scenic_id = #{scenicId}
AND cm.del_flag = 0
) AS b;
</select>
<select id="getHaveTicketsCheckedPage" parameterType="map" resultType="map">
@ -42,6 +53,7 @@
WHERE
1 = 1
AND cn.write_off = 1
and cm.del_flag = 0
and cm.verification_tevice_type = 2
and cm.scenic_id =#{res.scenicId}
and DATE_FORMAT(cm.appointment_date, '%m-%d') =#{res.dateTime}
@ -125,6 +137,7 @@
LEFT JOIN ybsj_appointment_time_info nmd ON cm.appointment_time_info_id = nmd.id
WHERE
cn.write_off = 0
and cm.del_flag = 0
and cm.scenic_id =#{res.scenicId}
and DATE_FORMAT(cm.appointment_date, '%m-%d') =#{res.dateTime}
and cn.reservation_code is not null
@ -251,6 +264,7 @@
) AS seq_table
) AS date_generation
LEFT JOIN ybsj_appointment_documents_info ON date_generation.generated_date = ybsj_appointment_documents_info.appointment_date
and ybsj_appointment_documents_info.del_flag = 0
AND ybsj_appointment_documents_info.appointment_documents_write_off =
CASE
WHEN #{dateType} = 1 THEN 0
@ -294,6 +308,7 @@
AND ybsj_appointment_people_info.write_off = CASE WHEN #{dateType} = 1 THEN 0 ELSE 1 END
LEFT JOIN ybsj_appointment_documents_info
ON ybsj_appointment_people_info.appointment_documents_id = ybsj_appointment_documents_info.id
AND ybsj_appointment_documents_info.del_flag = 0
AND ybsj_appointment_documents_info.appointment_type_id = 5701
GROUP BY
generated_date

@ -422,6 +422,8 @@ public class YbsjHandsetServiceImpl implements YbsjHandsetService {
newMap.put("total_data", entry.getValue());
return newMap;
})
// 添加排序逻辑
.sorted(Comparator.comparing(map -> String.valueOf(map.get("generated_date"))))
.collect(Collectors.toList());
return mergedList;
}

Loading…
Cancel
Save