| | |
| | | package com.ruoyi.device.service.impl; |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.json.JSONObject; |
| | | import com.alibaba.fastjson2.JSON; |
| | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.deepoove.poi.XWPFTemplate; |
| | | import com.deepoove.poi.config.Configure; |
| | | import com.ruoyi.basic.mapper.LaboratoryMapper; |
| | | import com.ruoyi.basic.mapper.StructureItemParameterMapper; |
| | | import com.ruoyi.basic.pojo.Laboratory; |
| | | import com.ruoyi.basic.pojo.StructureItemParameter; |
| | | import com.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.common.core.domain.entity.User; |
| | |
| | | import com.ruoyi.inspect.mapper.InsSampleMapper; |
| | | import com.ruoyi.inspect.pojo.InsProduct; |
| | | import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; |
| | | import com.ruoyi.performance.dto.AuxiliaryCorrectionHoursDto; |
| | | import com.ruoyi.performance.pojo.AuxiliaryCorrectionHours; |
| | | import com.ruoyi.system.mapper.SysDictDataMapper; |
| | | import com.ruoyi.system.mapper.UserMapper; |
| | | import lombok.AllArgsConstructor; |
| | | import org.apache.logging.log4j.util.Strings; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.*; |
| | | import java.util.regex.Pattern; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | private DeviceMapper deviceMapper; |
| | | |
| | | private UserMapper userMapper; |
| | | |
| | | private LaboratoryMapper laboratoryMapper; |
| | | |
| | | private SysDictDataMapper sysDictDataMapper; |
| | | |
| | | private StructureItemParameterMapper structureItemParameterMapper; |
| | | |
| | |
| | | throw new RuntimeException("导出失败"); |
| | | } |
| | | } |
| | | |
| | | |
| | | //导入设备 |
| | | @Override |
| | | public void importExcel(List<Device> list){ |
| | | if (CollectionUtil.isEmpty(list)) { |
| | | return; |
| | | } |
| | | List<Device> deviceList = new ArrayList<>(); |
| | | List<Device> devices = new ArrayList<>(); |
| | | for (Device device : list) { |
| | | Device device1 = deviceMapper.selectOne(Wrappers.<Device>lambdaQuery() |
| | | .eq(Device::getDeviceName, device.getDeviceName()) |
| | | .eq(Device::getSpecificationModel, device.getSpecificationModel()) |
| | | .eq(Device::getManagementNumber, device.getManagementNumber())); |
| | | //管理人 |
| | | if (ObjectUtils.isNotEmpty(device.getEquipmentManagerName())){ |
| | | //查对应管理人 |
| | | User user = userMapper.selectOne(Wrappers.<User>lambdaQuery() |
| | | .eq(User::getName, device.getEquipmentManagerName())); |
| | | device.setEquipmentManager(user.getId()); |
| | | } |
| | | //所属部门 |
| | | if (ObjectUtils.isNotEmpty(device.getSubordinateDepartments())){ |
| | | //查对应所属部门 |
| | | Laboratory laboratory = laboratoryMapper.selectOne(Wrappers.<Laboratory>lambdaQuery() |
| | | .eq(Laboratory::getLaboratoryName,device.getSubordinateDepartments())); |
| | | device.setSubordinateDepartmentsId(laboratory.getId()); |
| | | } |
| | | //设备状态 |
| | | if (ObjectUtils.isNotEmpty(device.getDeviceStatusName())){ |
| | | //查字典对应的值 |
| | | String status = sysDictDataMapper.selectDictValue("device_status", device.getDeviceStatusName()); |
| | | device.setDeviceStatus(Integer.parseInt(status)); |
| | | } |
| | | if (ObjectUtils.isNotEmpty(device1)) { |
| | | devices.add(device1); |
| | | } else { |
| | | deviceList.add(device); |
| | | } |
| | | } |
| | | //批量新增 |
| | | saveBatch(deviceList); |
| | | //批量修改 |
| | | updateBatchById(devices); |
| | | } |
| | | } |