liyong
昨天 fa59bd5bf64f818111b26744a3b51b936ab6f389
src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -3,20 +3,27 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.device.dto.DeviceLedgerExeclDto;
import com.ruoyi.device.dto.DeviceLedgerDto;
import com.ruoyi.device.execl.DeviceLedgerExeclDto;
import com.ruoyi.device.mapper.DeviceLedgerMapper;
import com.ruoyi.device.pojo.DeviceLedger;
import com.ruoyi.device.service.IDeviceLedgerService;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Service
@@ -26,9 +33,11 @@
    @Autowired
    private DeviceLedgerMapper deviceLedgerMapper;
    @Autowired
    private SysUserMapper sysUserMapper;
    @Override
    public IPage<DeviceLedger> queryPage(Page page, DeviceLedger deviceLedger) {
    public IPage<DeviceLedgerDto> queryPage(Page page, DeviceLedgerDto deviceLedger) {
        return deviceLedgerMapper.queryPage(page, deviceLedger);
    }
@@ -51,15 +60,55 @@
    }
    @Override
    public void export(HttpServletResponse response, ArrayList<Long> ids) {
        List<DeviceLedger> supplierManageList = deviceLedgerMapper.selectBatchIds(ids);
        ArrayList<DeviceLedgerExeclDto> deviceLedgerExeclDtos = new ArrayList<>();
        supplierManageList.stream().forEach(deviceLedger -> {
            DeviceLedgerExeclDto deviceLedgerExeclDto = new DeviceLedgerExeclDto();
            BeanUtils.copyProperties(deviceLedger,deviceLedgerExeclDto);
            deviceLedgerExeclDtos.add(deviceLedgerExeclDto);
        });
    public void export(HttpServletResponse response, Long[] ids) {
        if (ids == null || ids.length == 0) {
            List<DeviceLedger> supplierManageList = this.list();
            ArrayList<DeviceLedgerExeclDto> deviceLedgerExeclDtos = new ArrayList<>();
            supplierManageList.stream().forEach(deviceLedger -> {
                DeviceLedgerExeclDto deviceLedgerExeclDto = new DeviceLedgerExeclDto();
                BeanUtils.copyProperties(deviceLedger,deviceLedgerExeclDto);
                deviceLedgerExeclDto.setCreateUser(sysUserMapper.selectUserById(Long.valueOf(deviceLedger.getCreateUser().toString())).getUserName());
                deviceLedgerExeclDtos.add(deviceLedgerExeclDto);
            });
            ExcelUtil<DeviceLedgerExeclDto> util = new ExcelUtil<DeviceLedgerExeclDto>(DeviceLedgerExeclDto.class);
            util.exportExcel(response, deviceLedgerExeclDtos, "设备台账导出");
        }else  {
            ArrayList<Long> arrayList = new ArrayList<>();
            Arrays.stream(ids).map(id -> {
                return arrayList.add( id);
            });
            List<DeviceLedger> supplierManageList = deviceLedgerMapper.selectBatchIds(arrayList);
            ArrayList<DeviceLedgerExeclDto> deviceLedgerExeclDtos = new ArrayList<>();
            supplierManageList.stream().forEach(deviceLedger -> {
                DeviceLedgerExeclDto deviceLedgerExeclDto = new DeviceLedgerExeclDto();
                BeanUtils.copyProperties(deviceLedger,deviceLedgerExeclDto);
                deviceLedgerExeclDto.setCreateUser(sysUserMapper.selectUserById(Long.valueOf(deviceLedger.getCreateUser().toString())).getUserName());
                deviceLedgerExeclDtos.add(deviceLedgerExeclDto);
            });
            ExcelUtil<DeviceLedgerExeclDto> util = new ExcelUtil<DeviceLedgerExeclDto>(DeviceLedgerExeclDto.class);
            util.exportExcel(response, deviceLedgerExeclDtos, "设备台账导出");
        }
    }
    @Override
    public Boolean importData(MultipartFile file) throws IOException {
        ExcelUtil<DeviceLedgerExeclDto> util = new ExcelUtil<DeviceLedgerExeclDto>(DeviceLedgerExeclDto.class);
        util.exportExcel(response, deviceLedgerExeclDtos, "设备台账导出");
        List<DeviceLedgerExeclDto> userList = util.importExcel(file.getInputStream());
        userList.forEach(c -> {
            DeviceLedger deviceLedger = new DeviceLedger();
            SysUser sysUser = sysUserMapper.selectUserByUserName(c.getCreateUser());
            if (sysUser!=null) {
                deviceLedger.setCreateUser(sysUser.getUserId().intValue());
            }else {
                deviceLedger.setCreateUser(SecurityUtils.getUserId().intValue());
            }
            BeanUtils.copyProperties(c,deviceLedger);
            deviceLedgerMapper.insert(deviceLedger);
        });
        return true;
    }
}