Commit 485b2ff8 authored by 麻笑宇's avatar 麻笑宇

1.大屏监管新增等级设备趋势统计增加去年searchType为lastYear

parent 40911c25
......@@ -39,8 +39,10 @@ public interface JGStatisticsMapper {
List<Map<String, Object>> newVehicleEquCountByMonth(@Param("cityCode") String cityCode);
List<Map<String, Object>> newRegEquCountByYear(@Param("cityCode") String cityCode);
List<Map<String, Object>> newRegEquCountByLastYear(@Param("cityCode") String cityCode);
List<Map<String, Object>> newVehicleEquCountByYear(@Param("cityCode") String cityCode);
List<Map<String, Object>> newVehicleEquCountByLastYear(@Param("cityCode") String cityCode);
String newVehicleCountByYear(@Param("cityCode") String cityCode);
......
......@@ -253,6 +253,25 @@
ur.rec_date
</select>
<select id="newRegEquCountByLastYear" resultType="java.util.Map">
SELECT COUNT
( 1 ) ,
DATE_FORMAT(ur.rec_date,'%Y-%m')
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN tzs_jg_use_registration ur ON ur.use_unit_credit_code = bi.use_unit_code
AND ur.status = '已完成'
INNER JOIN tzs_jg_use_registration_eq te ON te.equip_transfer_id = ur.sequence_nbr
WHERE
pc.company_code = #{cityCode}
AND ur.rec_date like concat('%',DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 YEAR), '%Y') ,'%')
GROUP BY
DATE_FORMAT(ur.rec_date,'%Y-%m')
ORDER BY
ur.rec_date
</select>
<select id="newVehicleEquCountByYear" resultType="java.util.Map">
SELECT COUNT
( 1 ) ,
......@@ -272,6 +291,25 @@
ur.rec_date
</select>
<select id="newVehicleEquCountByLastYear" resultType="java.util.Map">
SELECT COUNT
( 1 ) ,
DATE_FORMAT(ur.rec_date,'%Y-%m')
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN tzs_jg_vehicle_information ur ON ur.use_unit_credit_code = bi.use_unit_code
AND ur.status = '已完成'
INNER JOIN tzs_jg_vehicle_information_eq te ON te.vehicle_id = ur.sequence_nbr
WHERE
pc.company_code = #{cityCode}
AND ur.rec_date like concat('%',DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 YEAR), '%Y') ,'%')
GROUP BY
DATE_FORMAT(ur.rec_date,'%Y-%m')
ORDER BY
ur.rec_date
</select>
<select id="newVehicleCountByYear" resultType="String">
SELECT COUNT
( 1 )
......
......@@ -1576,6 +1576,23 @@ public class JGDPStatisticsServiceImpl {
+ Integer.valueOf(vehicleCountMap.getOrDefault(LocalDate.now().minusMonths(i).format(DateTimeFormatter.ofPattern("yyyy-MM")), 0) + ""));
}
} else if("lastYear".equals(dpFilterParamDto.getSearchType())){
List<Map<String, Object>> useCountList = jgStatisticsMapper.newRegEquCountByLastYear(dpFilterParamDto.getCityCode());
List<Map<String, Object>> vehicleCountList = jgStatisticsMapper.newVehicleEquCountByLastYear(dpFilterParamDto.getCityCode());
for (int i = 0; i < useCountList.size(); i++) {
useCountMap.put(useCountList.get(i).getOrDefault("date_format", "") + "", Integer.valueOf(useCountList.get(i).getOrDefault("count", 0) + ""));
}
for (int i = 0; i < vehicleCountList.size(); i++) {
vehicleCountMap.put(vehicleCountList.get(i).getOrDefault("date_format", "") + "", Integer.valueOf(vehicleCountList.get(i).getOrDefault("count", 0) + ""));
}
int lastYear = LocalDate.now().getYear() - 1;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
for(int i=12;i>=1;i--){
String time = LocalDate.of(lastYear,i,1).format(formatter);
xDataList.add(time);
newRegisterEq.add(Integer.valueOf(useCountMap.getOrDefault(time, 0) + "")
+ Integer.valueOf(vehicleCountMap.getOrDefault(time, 0) + ""));
}
}
Collections.reverse(xDataList);
Collections.reverse(newRegisterEq);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment