mitao
2024-12-27 9c717849bee3d6cc25f29ad69a93a507e3de7d13
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwStagingRoomServiceImpl.java
@@ -1,13 +1,13 @@
package com.sinata.system.service.impl;
import com.alibaba.excel.EasyExcel;
import cn.idev.excel.FastExcel;
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.BeanUtils;
import com.sinata.common.utils.StringUtils;
import com.sinata.system.domain.MwStagingRoom;
import com.sinata.system.domain.SysDepartment;
import com.sinata.system.domain.dto.MwStagingRoomDTO;
import com.sinata.system.domain.query.CheckoutRecordQuery;
import com.sinata.system.domain.query.MwStagingRoomQuery;
@@ -48,17 +48,11 @@
     */
    @Override
    public PageDTO<MwStagingRoomVO> pageList(MwStagingRoomQuery query) {
        String treeCode = "";
        if (Objects.isNull(query.getDepartmentId())) {
            SysDepartment myDepartment = sysDepartmentService.getMyDepartment();
            if (Objects.isNull(myDepartment)) {
                return PageDTO.empty(0L, 0L);
            }
            treeCode = myDepartment.getTreeCode();
        } else if (Objects.nonNull(query.getDepartmentId())) {
            treeCode = sysDepartmentService.getById(query.getDepartmentId()).getTreeCode();
        String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId());
        if (StringUtils.isBlank(treeCode)) {
            return PageDTO.empty(0L, 0L);
        }
        Page<MwStagingRoomVO> page = baseMapper.pagelist(new Page<>(query.getPageCurr(), query.getPageSize()), treeCode);
        Page<MwStagingRoomVO> page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), treeCode);
        return PageDTO.of(page);
    }
@@ -111,15 +105,9 @@
     */
    @Override
    public PageDTO<MwStorageRecordVO> storageRecord(StorageRecordQuery query) {
        String treeCode = "";
        if (Objects.isNull(query.getDepartmentId()) && Objects.isNull(query.getStagingRoomId())) {
            SysDepartment myDepartment = sysDepartmentService.getMyDepartment();
            if (Objects.isNull(myDepartment)) {
                return PageDTO.empty(0L, 0L);
            }
            treeCode = myDepartment.getTreeCode();
        } else if (Objects.nonNull(query.getDepartmentId()) && Objects.isNull(query.getStagingRoomId())) {
            treeCode = sysDepartmentService.getById(query.getDepartmentId()).getTreeCode();
        String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId());
        if (StringUtils.isBlank(treeCode)) {
            return PageDTO.empty(0L, 0L);
        }
        Page<MwStorageRecordVO> page = baseMapper.storageRecordPage(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode);
        return PageDTO.of(page);
@@ -133,15 +121,9 @@
     */
    @Override
    public void storageRecordExport(StorageRecordQuery query, HttpServletResponse response) throws IOException {
        String treeCode = "";
        if (Objects.isNull(query.getDepartmentId()) && Objects.isNull(query.getStagingRoomId())) {
            SysDepartment myDepartment = sysDepartmentService.getMyDepartment();
            if (Objects.isNull(myDepartment)) {
                return;
            }
            treeCode = myDepartment.getTreeCode();
        } else if (Objects.nonNull(query.getDepartmentId()) && Objects.isNull(query.getStagingRoomId())) {
            treeCode = sysDepartmentService.getById(query.getDepartmentId()).getTreeCode();
        String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId());
        if (StringUtils.isBlank(treeCode)) {
            return;
        }
        List<MwStorageRecordVO> list = baseMapper.storageRecordList(query, treeCode);
        // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
@@ -150,7 +132,7 @@
        // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
        String fileName = URLEncoder.encode("暂存间入库记录", "UTF-8").replaceAll("\\+", "%20");
        response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
        EasyExcel.write(response.getOutputStream(), MwStorageRecordVO.class).sheet("暂存间入库记录").doWrite(list);
        FastExcel.write(response.getOutputStream(), MwStorageRecordVO.class).sheet("暂存间入库记录").doWrite(list);
    }
    /**
@@ -161,15 +143,9 @@
     */
    @Override
    public PageDTO<MwCheckoutRecordVO> checkoutRecord(CheckoutRecordQuery query) {
        String treeCode = "";
        if (Objects.isNull(query.getDepartmentId()) && Objects.isNull(query.getStagingRoomId())) {
            SysDepartment myDepartment = sysDepartmentService.getMyDepartment();
            if (Objects.isNull(myDepartment)) {
                return PageDTO.empty(0L, 0L);
            }
            treeCode = myDepartment.getTreeCode();
        } else if (Objects.nonNull(query.getDepartmentId()) && Objects.isNull(query.getStagingRoomId())) {
            treeCode = sysDepartmentService.getById(query.getDepartmentId()).getTreeCode();
        String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId());
        if (StringUtils.isBlank(treeCode)) {
            return PageDTO.empty(0L, 0L);
        }
        Page<MwCheckoutRecordVO> page = baseMapper.checkoutRecordPage(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode);
        return PageDTO.of(page);
@@ -183,15 +159,9 @@
     */
    @Override
    public void checkoutRecordExport(CheckoutRecordQuery query, HttpServletResponse response) throws IOException {
        String treeCode = "";
        if (Objects.isNull(query.getDepartmentId()) && Objects.isNull(query.getStagingRoomId())) {
            SysDepartment myDepartment = sysDepartmentService.getMyDepartment();
            if (Objects.isNull(myDepartment)) {
                return;
            }
            treeCode = myDepartment.getTreeCode();
        } else if (Objects.nonNull(query.getDepartmentId()) && Objects.isNull(query.getStagingRoomId())) {
            treeCode = sysDepartmentService.getById(query.getDepartmentId()).getTreeCode();
        String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId());
        if (StringUtils.isBlank(treeCode)) {
            return;
        }
        List<MwCheckoutRecordVO> list = baseMapper.checkoutRecordList(query, treeCode);
        // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
@@ -200,6 +170,6 @@
        // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
        String fileName = URLEncoder.encode("暂存间出库记录", "UTF-8").replaceAll("\\+", "%20");
        response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
        EasyExcel.write(response.getOutputStream(), MwCheckoutRecordVO.class).sheet("暂存间出库记录").doWrite(list);
        FastExcel.write(response.getOutputStream(), MwCheckoutRecordVO.class).sheet("暂存间出库记录").doWrite(list);
    }
}