四类垃圾按年月日分别统计

四类垃圾按年月日分别统计

@Override
    public Object companyLin(String type) {
        List<Map<String, Object>> dataList = new ArrayList<>();
        Map<String, Object> dryGarbage = new HashMap<>();
        Map<String, Object> wetGarbage = new HashMap<>();
        Map<String, Object> recyclable = new HashMap<>();
        Map<String, Object> hazardous = new HashMap<>();
        List<String> date=new ArrayList<>();

        List<String> value1=new ArrayList<>();
        List<String> value2=new ArrayList<>();
        List<String> value3=new ArrayList<>();
        List<String> value4=new ArrayList<>();

        if (type.equals("day")){
            date=getDays(8);
            List<String> date1=getDays1(8);
            for (String str:date1){
                value1.add(jqPublicToiletMapper.getCompanyValue("day",str).get("dry_garbage").toString());
                value2.add(jqPublicToiletMapper.getCompanyValue("day",str).get("wet_garbage").toString());
                value3.add(jqPublicToiletMapper.getCompanyValue("day",str).get("recyclable_garbage").toString());
                value4.add(jqPublicToiletMapper.getCompanyValue("day",str).get("hazardous_garbage").toString());
            }

        }
        if (type.equals("month")){
            date=getMonths(8);
            for (String str:date){
                value1.add(jqPublicToiletMapper.getCompanyValue("month",str).get("dry_garbage").toString());
                value2.add(jqPublicToiletMapper.getCompanyValue("month",str).get("wet_garbage").toString());
                value3.add(jqPublicToiletMapper.getCompanyValue("month",str).get("recyclable_garbage").toString());
                value4.add(jqPublicToiletMapper.getCompanyValue("month",str).get("hazardous_garbage").toString());
            }
        }
        if (type.equals("year")){
            date=getYears(8);
            for (String str:date){
                value1.add(jqPublicToiletMapper.getCompanyValue("year",str).get("dry_garbage").toString());
                value2.add(jqPublicToiletMapper.getCompanyValue("year",str).get("wet_garbage").toString());
                value3.add(jqPublicToiletMapper.getCompanyValue("year",str).get("recyclable_garbage").toString());
                value4.add(jqPublicToiletMapper.getCompanyValue("year",str).get("hazardous_garbage").toString());
            }
        }

        dryGarbage.put("name","干垃圾");
        dryGarbage.put("date",date);
        dryGarbage.put("value",value1);

        wetGarbage.put("name","湿垃圾");
        wetGarbage.put("date",date);
        wetGarbage.put("value",value2);

        recyclable.put("name","可回收物");
        recyclable.put("date",date);
        recyclable.put("value",value3);

        hazardous.put("name","有害垃圾");
        hazardous.put("date",date);
        hazardous.put("value",value4);

        dataList.add(dryGarbage);
        dataList.add(wetGarbage);
        dataList.add(recyclable);
        dataList.add(hazardous);



        return dataList;
    }

根据当前时间获取最近八天,八月,八年时间

 private List<String> getYears(int months) {
        List<String> list = new ArrayList<>();
        SimpleDateFormat format = new SimpleDateFormat("yyyy");
        for (int i = months-1; i >= 0; i--) {
            Calendar c = Calendar.getInstance();
            c.setTime(new Date());
            c.add(Calendar.YEAR, -i);
            Date m3 = c.getTime();
            String mon3 = format.format(m3);
            list.add(mon3);
        }
        return list;
    }
    private List<String> getMonths(int months) {
        List<String> list = new ArrayList<>();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
        for (int i = months-1; i >= 0; i--) {
            Calendar c = Calendar.getInstance();
            c.setTime(new Date());
            c.add(Calendar.MONTH, -i);
            Date m3 = c.getTime();
            String mon3 = format.format(m3);
            list.add(mon3);
        }
        return list;
    }
    private List<String> getDays(int months) {
        List<String> list = new ArrayList<>();
        SimpleDateFormat format = new SimpleDateFormat("MM-dd");
        for (int i = months-1; i >= 0; i--) {
            Calendar c = Calendar.getInstance();
            c.setTime(new Date());
            c.add(Calendar.DATE, -i);
            Date m3 = c.getTime();
            String mon3 = format.format(m3);
            list.add(mon3);
        }
        return list;
    }
    private List<String> getDays1(int months) {
        List<String> list = new ArrayList<>();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        for (int i = months-1; i >= 0; i--) {
            Calendar c = Calendar.getInstance();
            c.setTime(new Date());
            c.add(Calendar.DATE, -i);
            Date m3 = c.getTime();
            String mon3 = format.format(m3);
            list.add(mon3);
        }
        return list;
    }

sql语句

<select id="getCompanyValue" resultType="map">
         SELECT
       IFNULL(SUM(dry_garbage), 0) dry_garbage,
		IFNULL(SUM(wet_garbage), 0) wet_garbage,
		IFNULL(SUM(recyclable_garbage), 0) recyclable_garbage,
		IFNULL(SUM(hazardous_garbage), 0) hazardous_garbage
    FROM jq_company_data
        <where>
            <if test="type=='day'"> and DATE_FORMAT( save_time, '%Y-%m-%d' ) = #{str}</if>
            <if test="type=='month'"> and DATE_FORMAT( save_time, '%Y-%m' ) = #{str}</if>
            <if test="type=='year'"> and DATE_FORMAT( save_time, '%Y' ) = #{str}</if>
            and is_del = '0'
        </where>
    </select>

返回参数结构

{
    "msg": "查询成功",
    "code": 0,
    "data": [
        {
            "date": [
                "12-30",
                "12-31",
                "01-01",
                "01-02",
                "01-03",
                "01-04",
                "01-05",
                "01-06"
            ],
            "name": "干垃圾",
            "value": [
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00"
            ]
        },
        {
            "date": [
                "12-30",
                "12-31",
                "01-01",
                "01-02",
                "01-03",
                "01-04",
                "01-05",
                "01-06"
            ],
            "name": "湿垃圾",
            "value": [
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00"
            ]
        },
        {
            "date": [
                "12-30",
                "12-31",
                "01-01",
                "01-02",
                "01-03",
                "01-04",
                "01-05",
                "01-06"
            ],
            "name": "可回收物",
            "value": [
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00"
            ]
        },
        {
            "date": [
                "12-30",
                "12-31",
                "01-01",
                "01-02",
                "01-03",
                "01-04",
                "01-05",
                "01-06"
            ],
            "name": "有害垃圾",
            "value": [
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00",
                "0.00"
            ]
        }
    ]
}

前端效果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值