From ae7f04be9321ddbe17c46fae8ab05d34e7493f9f Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 19 二月 2025 13:40:06 +0800 Subject: [PATCH] 管理后台bug修改 --- medicalWaste-system/src/main/java/com/sinata/system/service/biz/StaticsService.java | 70 +++++++++++++++++++---------------- 1 files changed, 38 insertions(+), 32 deletions(-) diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/biz/StaticsService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/biz/StaticsService.java index 2fa4733..8faca33 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/biz/StaticsService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/biz/StaticsService.java @@ -6,7 +6,6 @@ import com.sinata.common.core.domain.entity.SysDictData; import com.sinata.common.utils.CollUtils; import com.sinata.common.utils.DateUtils; -import com.sinata.system.domain.MedicalWasteStaticsVO; import com.sinata.system.domain.MwCollectRecord; import com.sinata.system.domain.MwWarningRecord; import com.sinata.system.domain.SysDepartment; @@ -29,6 +28,7 @@ import com.sinata.system.service.MwDisposalRecordService; import com.sinata.system.service.MwWarningRecordService; import com.sinata.system.service.SysDepartmentService; +import com.sinata.system.utils.ImageToBase64; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -42,6 +42,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -60,19 +61,7 @@ private final MwDisposalRecordService mwDisposalRecordService; private final MwDisposalHandleRecordService mwDisposalHandleRecordService; - /** - * 机构分布-获取机构列表 - * - * @param type 1:全部 2:医院 3:处置单位 - * @return - */ - public List<SysDepartment> departmentList(Integer type) { - return sysDepartmentService.lambdaQuery().eq(type != 1, SysDepartment::getOrgType, type).list(); - } - public MedicalWasteStaticsVO medicalWaste() { - return null; - } /** * 医院报表 @@ -82,6 +71,10 @@ */ public DepartmentReportVO hospitalReport(HospitalReportQuery query) { DepartmentReportVO vo = new DepartmentReportVO(); + SysDepartment department = sysDepartmentService.getById(query.getDepartmentId()); + if (Objects.nonNull(department)) { + vo.setDepartmentName(department.getDepartmentName()); + } List<SysDictDataVO> wasteTypeList = sysDictDataService.medicalWasteTypeList(); if (CollUtils.isEmpty(wasteTypeList)) { @@ -135,13 +128,17 @@ totalCount = totalCount.add(currentCount); totalWeight = totalWeight.add(weight); } + itemVO.getData().add(totalCount); + itemVO.getData().add(totalWeight); //查询预警记录判断是否超时 if (query.getDateType().equals(1)) { itemVO.setOverTimeFlag("否"); List<Long> collectIdList = collectRecordList.stream().filter(e -> finalSdf.format(e.getCollectTime()).equals(date)).map(MwCollectRecord::getId).collect(Collectors.toList()); - List<MwWarningRecord> warningRecordList = mwWarningRecordService.lambdaQuery().in(MwWarningRecord::getWarningTargetId, collectIdList).list(); - if (CollUtils.isNotEmpty(warningRecordList)) { - itemVO.setOverTimeFlag("是"); + if (CollUtils.isNotEmpty(collectIdList)) { + List<MwWarningRecord> warningRecordList = mwWarningRecordService.lambdaQuery().in(MwWarningRecord::getWarningTargetId, collectIdList).list(); + if (CollUtils.isNotEmpty(warningRecordList)) { + itemVO.setOverTimeFlag("是"); + } } } list.add(itemVO); @@ -224,6 +221,9 @@ public DepartmentReportVO transformList(TransformQuery query) { DepartmentReportVO vo = new DepartmentReportVO(); SysDepartment department = sysDepartmentService.getById(query.getDepartmentId()); + if (Objects.nonNull(department)) { + vo.setDepartmentName(department.getDepartmentName()); + } SysDepartment region = sysDepartmentService.getDepartmentByParentId(department.getParentId()); List<SysDepartment> hospitalList = sysDepartmentService.lambdaQuery().likeRight(SysDepartment::getTreeCode, region.getTreeCode()).eq(SysDepartment::getOrgType, DepartmentEnum.MEDICAL_INSTITUTION.getCode()).list(); if (CollUtils.isNotEmpty(hospitalList)) { @@ -234,6 +234,7 @@ if (CollUtils.isNotEmpty(wasteTypeList)) { vo.setLegend(wasteTypeList.stream().map(SysDictData::getDictLabel).collect(Collectors.toList())); vo.getLegend().add("小计"); + List<DepartmentReportItemVO> list = new ArrayList<>(); for (TransformVO transformVO : checkoutRecordVOList) { BigDecimal totalCount = BigDecimal.ZERO; BigDecimal totalWeight = BigDecimal.ZERO; @@ -241,7 +242,7 @@ departmentReportItemVO.setName(transformVO.getHospitalName()); departmentReportItemVO.setData(new ArrayList<>()); departmentReportItemVO.setDriverName(transformVO.getDriverName()); - departmentReportItemVO.setHospitalSignature(transformVO.getHospitalSignature()); + departmentReportItemVO.setHospitalSignature(ImageToBase64.convertImageToBase64(transformVO.getHospitalSignature())); departmentReportItemVO.setHandoverTime(transformVO.getCheckoutTime()); for (SysDictData sysDictData : wasteTypeList) { BigDecimal count = BigDecimal.valueOf(transformVO.getCollectRecordList().stream().filter(item -> item.getWasteType().equals(sysDictData.getDictCode())).count()); @@ -253,7 +254,9 @@ } departmentReportItemVO.getData().add(totalCount); departmentReportItemVO.getData().add(totalWeight); + list.add(departmentReportItemVO); } + vo.setList(list); } } } @@ -334,6 +337,10 @@ */ public DepartmentReportVO disposalReport(DisposalReportQuery query) { DepartmentReportVO vo = new DepartmentReportVO(); + SysDepartment department = sysDepartmentService.getById(query.getDepartmentId()); + if (Objects.nonNull(department)) { + vo.setDepartmentName(department.getDepartmentName()); + } //已接收 List<MwDisposalRecordReportVO> receivedList = mwDisposalRecordService.disposalReceiveReport(query); //已处置 @@ -364,23 +371,17 @@ SimpleDateFormat finalSdf = sdf; //接收 for (SysDictData sysDictData : wasteTypeList) { - departmentReportItemVO.getData().add(BigDecimal.ZERO); - if (CollUtils.isNotEmpty(receivedList)) { - BigDecimal totalWeight = receivedList.stream().filter(item -> item.getWasteType().equals(sysDictData.getDictCode()) && - finalSdf.format(item.getReceiveTime()).equals(date)).map(MwDisposalRecordReportVO::getWeight) - .reduce(BigDecimal.ZERO, BigDecimal::add); - departmentReportItemVO.getData().add(totalWeight); - } + BigDecimal totalWeight = receivedList.stream().filter(item -> item.getWasteType().equals(sysDictData.getDictCode()) && + finalSdf.format(item.getReceiveTime()).equals(date)).map(MwDisposalRecordReportVO::getWeight) + .reduce(BigDecimal.ZERO, BigDecimal::add); + departmentReportItemVO.getData().add(totalWeight); } //处置 for (SysDictData sysDictData : wasteTypeList) { - departmentReportItemVO.getData().add(BigDecimal.ZERO); - if (CollUtils.isNotEmpty(disposaledList)) { - BigDecimal totalWeight = disposaledList.stream().filter(item -> item.getWasteType().equals(sysDictData.getDictCode()) && - finalSdf.format(item.getReceiveTime()).equals(date)).map(MwDisposalRecordReportVO::getWeight) - .reduce(BigDecimal.ZERO, BigDecimal::add); - departmentReportItemVO.getData().add(totalWeight); - } + BigDecimal totalWeight = disposaledList.stream().filter(item -> item.getWasteType().equals(sysDictData.getDictCode()) && + finalSdf.format(item.getDisposalTime()).equals(date)).map(MwDisposalRecordReportVO::getWeight) + .reduce(BigDecimal.ZERO, BigDecimal::add); + departmentReportItemVO.getData().add(totalWeight); } list.add(departmentReportItemVO); } @@ -462,6 +463,10 @@ */ public DepartmentReportVO regulationReport(DisposalReportQuery query) { DepartmentReportVO vo = new DepartmentReportVO(); + SysDepartment department = sysDepartmentService.getById(query.getDepartmentId()); + if (Objects.nonNull(department)) { + vo.setDepartmentName(department.getDepartmentName()); + } //医废产生量 List<MwCollectRecordVO> collectRecordList = mwCollectRecordService.getRegulationReportList(query); //医废转移量 @@ -490,6 +495,7 @@ for (String date : dateList) { DepartmentReportItemVO departmentReportItemVO = new DepartmentReportItemVO(); departmentReportItemVO.setName(date); + departmentReportItemVO.setData(new ArrayList<>()); SimpleDateFormat finalSdf = sdf; for (SysDictData sysDictData : wasteTypeList) { BigDecimal weight = collectRecordList.stream().filter(e -> e.getWasteType().equals(sysDictData.getDictCode()) && @@ -499,7 +505,7 @@ } for (SysDictData sysDictData : wasteTypeList) { BigDecimal weight = checkoutRecordList.stream().filter(e -> e.getWasteType().equals(sysDictData.getDictCode()) && - finalSdf.format(e.getCollectTime()).equals(date)).map(MwCollectRecordVO::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add); + finalSdf.format(e.getCheckoutTime()).equals(date)).map(MwCollectRecordVO::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add); departmentReportItemVO.getData().add(weight); } for (SysDictData sysDictData : wasteTypeList) { -- Gitblit v1.7.1