mitao
2024-12-28 ec4cb43f83fdfdab0acc7c59b84ec91fff49d3f6
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwDisposalRecordServiceImpl.java
@@ -3,21 +3,23 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sinata.common.entity.PageDTO;
import com.sinata.common.utils.CollUtils;
import com.sinata.common.utils.StringUtils;
import com.sinata.system.domain.MwDisposalRecord;
import com.sinata.system.domain.query.DisposalReportQuery;
import com.sinata.system.domain.query.MwDisposalRecordItemQuery;
import com.sinata.system.domain.query.MwDisposalRecordQuery;
import com.sinata.system.domain.vo.DisposalRecordStaticsVO;
import com.sinata.system.domain.vo.MwCollectRecordVO;
import com.sinata.system.domain.vo.MwDisposalRecordItemVO;
import com.sinata.system.domain.vo.MwDisposalRecordReportVO;
import com.sinata.system.domain.vo.MwDisposalRecordVO;
import com.sinata.system.mapper.MwDisposalHandleRecordMapper;
import com.sinata.system.mapper.MwDisposalRecordMapper;
import com.sinata.system.service.MwDisposalRecordService;
import com.sinata.system.service.SysDepartmentService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
/**
@@ -32,6 +34,7 @@
@RequiredArgsConstructor
public class MwDisposalRecordServiceImpl extends ServiceImpl<MwDisposalRecordMapper, MwDisposalRecord> implements MwDisposalRecordService {
    private final SysDepartmentService sysDepartmentService;
    private final MwDisposalHandleRecordMapper mwDisposalHandleRecordMapper;
    /**
     * 统计数据
@@ -41,20 +44,12 @@
     */
    @Override
    public DisposalRecordStaticsVO statics(MwDisposalRecordQuery query) {
        String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId());
        String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId());
        DisposalRecordStaticsVO vo = null;
        if (StringUtils.isNotBlank(treeCode)) {
            List<MwDisposalRecordVO> disposalRecordVOList = baseMapper.getStaticsData(query, treeCode);
            if (CollUtils.isNotEmpty(disposalRecordVOList)) {
                DisposalRecordStaticsVO vo = new DisposalRecordStaticsVO();
                vo.setReceiveQuantity(disposalRecordVOList.stream().map(MwDisposalRecordVO::getReceiveQuantity).reduce(0, Integer::sum));
                vo.setReceiveWeight(disposalRecordVOList.stream().map(MwDisposalRecordVO::getReceiveWeight).reduce(BigDecimal.ZERO, BigDecimal::add));
                vo.setUnloadQuantity(disposalRecordVOList.stream().map(MwDisposalRecordVO::getUnloadQuantity).reduce(0, Integer::sum));
                vo.setUnloadWeight(disposalRecordVOList.stream().map(MwDisposalRecordVO::getUnloadWeight).reduce(BigDecimal.ZERO, BigDecimal::add));
                vo.setTotalHandledQuantity(disposalRecordVOList.stream().map(MwDisposalRecordVO::getTotalHandledQuantity).reduce(0, Integer::sum));
                vo.setTotalHandledWeight(disposalRecordVOList.stream().map(MwDisposalRecordVO::getTotalHandledWeight).reduce(BigDecimal.ZERO, BigDecimal::add));
            }
            vo = baseMapper.getStaticsData(query, treeCode);
        }
        return new DisposalRecordStaticsVO();
        return vo;
    }
    /**
@@ -65,7 +60,7 @@
     */
    @Override
    public PageDTO<MwDisposalRecordVO> pageList(MwDisposalRecordQuery query) {
        String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId());
        String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId());
        if (StringUtils.isBlank(treeCode)) {
            return PageDTO.empty(0L, 0L);
        }
@@ -84,4 +79,27 @@
        Page<MwDisposalRecordItemVO> page = baseMapper.pageDetail(new Page<>(query.getPageCurr(), query.getPageSize()), query.getDisposalRecordId());
        return PageDTO.of(page);
    }
    /**
     * 处置报表
     *
     * @param query
     * @return
     */
    @Override
    public List<MwDisposalRecordReportVO> disposalReceiveReport(DisposalReportQuery query) {
        return baseMapper.disposalReceiveReport(query);
    }
    /**
     * 监管报表医疗废物处置列表
     *
     * @param query
     * @return
     */
    @Override
    public List<MwCollectRecordVO> getRegulationReportList(DisposalReportQuery query) {
        String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId());
        return baseMapper.getRegulationReportList(query, treeCode);
    }
}