mitao
2025-04-04 d89a42213b4a32535e93185dedf41fe7a7fc1940
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java
@@ -4,7 +4,9 @@
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.exception.ServiceException;
import com.sinata.common.utils.StringUtils;
import com.sinata.system.config.AutoColumnWidthEntityStrategy;
import com.sinata.system.domain.MedicalWasteStaticsVO;
import com.sinata.system.domain.MwCollectRecord;
import com.sinata.system.domain.dto.CollectCarTotalUpDto;
@@ -13,9 +15,11 @@
import com.sinata.system.domain.dto.MwCollectRecordDTO;
import com.sinata.system.domain.query.DisposalReportQuery;
import com.sinata.system.domain.query.MwCollectRecordQuery;
import com.sinata.system.domain.vo.DepartmentTagInfoVO;
import com.sinata.system.domain.vo.MedicalWasteProcessVO;
import com.sinata.system.domain.vo.MwCollectRecordVO;
import com.sinata.system.domain.vo.MwCollectRecordWarningVO;
import com.sinata.system.enums.MedicalWasteStatusEnum;
import com.sinata.system.mapper.MwCollectRecordMapper;
import com.sinata.system.service.MwCollectRecordService;
import com.sinata.system.service.SysDepartmentService;
@@ -26,7 +30,6 @@
import java.io.IOException;
import java.net.URLEncoder;
import java.time.LocalDate;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -97,7 +100,14 @@
    public List<CollectDto> getGroup1(String boxNumber,Long departmentId) {
        return this.baseMapper.getGroup1(boxNumber,departmentId);
    }
    @Override
    public List<CollectDto> getGroup2(String boxNumber,Long departmentId) {
        return this.baseMapper.getGroup2(boxNumber,departmentId);
    }
    @Override
    public List<CollectDto> getGroup3(String boxNumber,Long departmentId,Long carId) {
        return this.baseMapper.getGroup3(boxNumber,departmentId,carId);
    }
    /**
     * 流转过程
     *
@@ -122,7 +132,9 @@
        // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
        String fileName = URLEncoder.encode("医废收集记录", "UTF-8").replaceAll("\\+", "%20");
        response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
        FastExcel.write(response.getOutputStream(), MwCollectRecordVO.class).sheet("医废收集记录").doWrite(vo);
        FastExcel.write(response.getOutputStream(), MwCollectRecordVO.class)
                .registerWriteHandler(new AutoColumnWidthEntityStrategy())
                .sheet("医废追溯").doWrite(vo);
    }
    /**
@@ -151,8 +163,8 @@
    }
    @Override
    public List<CollectCarTotalUpDto> carGroup(Long carId) {
        return this.baseMapper.carGroup(carId);
    public List<CollectCarTotalUpDto> carGroup(Long carId,String name) {
        return this.baseMapper.carGroup(carId,name);
    }
    /**
@@ -195,4 +207,31 @@
    public MedicalWasteStaticsVO queryMedicalWasteStatics(String treeCode) {
        return baseMapper.queryMedicalWasteStatics(treeCode);
    }
    /**
     * 获取大屏医疗机构标签信息
     *
     * @param id
     * @return
     */
    @Override
    public DepartmentTagInfoVO getTagInfo(Long id) {
        return baseMapper.getTagInfo(id);
    }
    /**
     * 删除医废
     *
     * @param id
     */
    @Override
    public void delete(Long id) {
        MwCollectRecord collectRecord = getById(id);
        if (Objects.nonNull(collectRecord)) {
            if (!collectRecord.getStatus().equals(MedicalWasteStatusEnum.TEMPORARILY_STORED.getCode())) {
                throw new ServiceException("该医废已被转运,不能删除");
            }
            removeById(id);
        }
    }
}