| | |
| | | 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.DepartmentTagInfoVO; |
| | | 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.domain.vo.MwDisposalRecordWarningVO; |
| | | 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; |
| | | |
| | | /** |
| | |
| | | @RequiredArgsConstructor |
| | | public class MwDisposalRecordServiceImpl extends ServiceImpl<MwDisposalRecordMapper, MwDisposalRecord> implements MwDisposalRecordService { |
| | | private final SysDepartmentService sysDepartmentService; |
| | | private final MwDisposalHandleRecordMapper mwDisposalHandleRecordMapper; |
| | | |
| | | /** |
| | | * 统计数据 |
| | |
| | | @Override |
| | | public DisposalRecordStaticsVO statics(MwDisposalRecordQuery query) { |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | |
| | | 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); |
| | | } |
| | | |
| | | /** |
| | | * 处置单位存储量预警数据 |
| | | * |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MwDisposalRecordWarningVO> queryDisposalListByDepartment() { |
| | | return baseMapper.queryDisposalListByDepartment(); |
| | | } |
| | | |
| | | /** |
| | | * 获取大屏单位标签信息 |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @Override |
| | | public DepartmentTagInfoVO getTagInfo(Long id) { |
| | | return baseMapper.getTagInfo(id); |
| | | } |
| | | } |