地质所 沉降监测网建设项目
suerwei
2024-05-18 439f5cc422f8fde89257d041fb7e6769ac39427e
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/DeviceLogServiceImpl.java
@@ -38,9 +38,6 @@
    @Autowired
    private IProjectService projectService;
    @Autowired
    private IDeviceService deviceService;
    private String fileSaveDir = Global.getProfile() + "\\template\\" ;
    /**
@@ -73,9 +70,6 @@
     */
    @Override
    public int insertDeviceLog(DeviceLog deviceLog) {
        if(ObjectUtils.isEmpty(deviceLog.getId())){
            deviceLog.setId(IdGenerate.nextId());
        }
        deviceLog.setCreateDate(DateUtils.getNowDate());
        return deviceLogMapper.insertDeviceLog(deviceLog);
    }
@@ -121,6 +115,8 @@
    public String importDeviceLog(String projectId,MultipartFile file, boolean updateSupport) {
        // 关联项目信息
        Project project = projectService.selectProjectById(projectId);
        // 关联code
        Integer number = deviceLogMapper.selectMaxDeviceLogId(projectId);
        try {
            String dest = saveExcel(file);
@@ -130,23 +126,14 @@
                item.setProjectId(projectId);
                item.setProjectName(project.getFullName());
                // 转换出入库类型
                String proTypeCode = RecordType.getKeyByName(item.getType());
                item.setType(proTypeCode);
                // 转换设备编码
                String deviceCode = item.getDeviceCode();
                if (!ObjectUtils.isEmpty(deviceCode)){
                    Device param = new Device();
                    param.setCode(deviceCode);
                    List<Device> devices = deviceService.selectDeviceList(param);
                    if (!ObjectUtils.isEmpty(devices)){
                        Device device = devices.get(0);
                        item.setDeviceId(device.getId());
                        item.setDeviceCode(device.getCode());
                        item.setDeviceName(device.getName());
                    }
                // 转换number信息
                if (ObjectUtils.isEmpty(number)){
                    number = 1;
                }else {
                    number++;
                }
                String code = "ZK" + String.format("%06d", number);
                item.setCode(code);
                item.setCreateDate(DateUtils.getNowDate());
                insertDeviceLog(item);
@@ -155,6 +142,19 @@
            return e.toString();
        }
        return "导入完毕" ;
    }
    /**
     * 查询数据库中id最大值
     * @return
     *
     * TRUNCATE TABLE js_device_log;
     * ALTER TABLE js_device_log AUTO_INCREMENT = 1;
     */
    @Override
    public Integer selectMaxDeviceLogId(String projectId) {
        return deviceLogMapper.selectMaxDeviceLogId(projectId);
    }
    private String saveExcel(MultipartFile file) {
@@ -175,12 +175,12 @@
    private List<DeviceLog> readData(String filepath) {
        ExcelReader reader = ExcelUtil.getReader(filepath, 0);
        reader.addHeaderAlias("出入库单子号", "code");
        reader.addHeaderAlias("设备编码", "deviceCode");
        reader.addHeaderAlias("出入库类型", "type");
        reader.addHeaderAlias("出入库时间", "transactionDate");
        reader.addHeaderAlias("设备名称", "deviceName");
        reader.addHeaderAlias("类型", "type");
        reader.addHeaderAlias("入库时间", "inboundDate");
        reader.addHeaderAlias("出库时间", "outboundDate");
        reader.addHeaderAlias("经办人", "optUser");
        reader.addHeaderAlias("使用人", "applyUser");
        reader.addHeaderAlias("负责人", "applyUser");
        reader.addHeaderAlias("出入库数量", "number");
        reader.addHeaderAlias("备注", "remark");