mitao
2025-04-14 0852acae13603be95eaaa0b501f3441508ff3fe5
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMicroEquipmentRecordServiceImpl.java
@@ -12,6 +12,7 @@
import com.sinata.common.utils.DateUtils;
import com.sinata.common.utils.SecurityUtils;
import com.sinata.common.utils.StringUtils;
import com.sinata.system.config.AutoColumnWidthEntityStrategy;
import com.sinata.system.config.AutoColumnWidthStrategy;
import com.sinata.system.domain.MwCollectRecord;
import com.sinata.system.domain.MwMicroEquipment;
@@ -23,7 +24,6 @@
import com.sinata.system.domain.query.MwMicroEquipmentStaticsQuery;
import com.sinata.system.domain.vo.DepartmentReportItemVO;
import com.sinata.system.domain.vo.DepartmentReportVO;
import com.sinata.system.domain.vo.MwCollectRecordVO;
import com.sinata.system.domain.vo.MwMicroEquipmentRecordVO;
import com.sinata.system.domain.vo.MwMicroEquipmentStaticsTitleVO;
import com.sinata.system.domain.vo.MwMicroEquipmentStaticsVO;
@@ -117,11 +117,11 @@
        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
        response.setCharacterEncoding("utf-8");
        // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
        String fileName = URLEncoder.encode("微波设备使用记录", "UTF-8").replaceAll("\\+", "%20");
        String fileName = URLEncoder.encode("小型微波设备使用记录", "UTF-8").replaceAll("\\+", "%20");
        response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
        FastExcel.write(response.getOutputStream(), MwCollectRecordVO.class)
                .registerWriteHandler(new AutoColumnWidthStrategy())
                .sheet("微波设备使用记录").doWrite(list);
        FastExcel.write(response.getOutputStream(), MwMicroEquipmentRecordVO.class)
                .registerWriteHandler(new AutoColumnWidthEntityStrategy())
                .sheet("小型微波设备使用记录").doWrite(list);
    }
    /**
@@ -245,13 +245,13 @@
                ).map(MwMicroEquipmentStaticsVO::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, RoundingMode.HALF_UP);
                long count = staticsData.stream().filter(e -> e.getWasteType().equals(sysDictData.getDictCode())
                        && finalSdf.format(e.getUseTime()).equals(date)).count();
                departmentReportItemVO.getData().add(weight);
                departmentReportItemVO.getData().add(BigDecimal.valueOf(count));
                totalWeight = totalWeight.add(weight);
                departmentReportItemVO.getData().add(weight);
                totalCount = totalCount.add(BigDecimal.valueOf(count));
                totalWeight = totalWeight.add(weight);
            }
            departmentReportItemVO.getData().add(totalWeight);
            departmentReportItemVO.getData().add(totalCount);
            departmentReportItemVO.getData().add(totalWeight);
            result.add(departmentReportItemVO);
        }
@@ -370,11 +370,11 @@
        headTitles.add(Lists.newArrayList(title, "日期", "日期"));
        String finalTitle = title;
        medicalWasteTypeList.forEach(item -> {
            headTitles.add(Lists.newArrayList(finalTitle, item.getDictLabel(), "总重量(KG)"));
            headTitles.add(Lists.newArrayList(finalTitle, item.getDictLabel(), "总数量"));
            headTitles.add(Lists.newArrayList(finalTitle, item.getDictLabel(), "数量"));
            headTitles.add(Lists.newArrayList(finalTitle, item.getDictLabel(), "总重量(kg)"));
        });
        headTitles.add(Lists.newArrayList(title, "小计", "总重量(KG)"));
        headTitles.add(Lists.newArrayList(title, "小计", "总数量"));
        headTitles.add(Lists.newArrayList(title, "小计", "数量"));
        headTitles.add(Lists.newArrayList(title, "小计", "总重量(kg)"));
        return headTitles;
    }