maven
2025-12-08 0100359605ba05638c1f683d68a2948cc273b0d2
src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -24,6 +24,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigDecimal;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.Arrays;
@@ -47,11 +48,11 @@
    @Override
    public AjaxResult saveDeviceLedger(DeviceLedger deviceLedger) {
        LambdaQueryWrapper<DeviceLedger> deviceLedgerLambdaQueryWrapper = new LambdaQueryWrapper<>();
        deviceLedgerLambdaQueryWrapper.eq(DeviceLedger::getDeviceModel,deviceLedger.getDeviceModel());
        if (this.count(deviceLedgerLambdaQueryWrapper) > 0) {
            return AjaxResult.error("设备型号已存在");
        }
//        LambdaQueryWrapper<DeviceLedger> deviceLedgerLambdaQueryWrapper = new LambdaQueryWrapper<>();
//        deviceLedgerLambdaQueryWrapper.eq(DeviceLedger::getDeviceModel,deviceLedger.getDeviceModel());
//        if (this.count(deviceLedgerLambdaQueryWrapper) > 0) {
//            return AjaxResult.error("设备型号已存在");
//        }
        boolean save = this.save(deviceLedger);
        if (save){
            return AjaxResult.success();
@@ -61,14 +62,6 @@
    @Override
    public AjaxResult updateDeviceLedger(DeviceLedger deviceLedger) {
        if (ObjectUtils.isNotNull(deviceLedger.getStartRuntimeTime()) && ObjectUtils.isNotNull(deviceLedger.getEndRuntimeTime())){
            //计算运行时长
            long start = deviceLedger.getStartRuntimeTime().toEpochSecond(ZoneOffset.UTC) * 1000;
            long end = deviceLedger.getEndRuntimeTime().toEpochSecond(ZoneOffset.UTC) * 1000;
            long diffMillis = Math.abs(end - start);
            double time = diffMillis / (1000.0 * 60 * 60);// 毫秒 -> 秒 -> 分钟 -> 小时
            deviceLedger.setRuntimeDuration(time+"h");
        }
        if (this.updateById(deviceLedger)) {
            return AjaxResult.success();
        }
@@ -114,15 +107,18 @@
        ExcelUtil<DeviceLedgerExeclDto> util = new ExcelUtil<DeviceLedgerExeclDto>(DeviceLedgerExeclDto.class);
        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());
            for (Integer i = 0; i < c.getNumber(); i++) {
                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);
                deviceLedger.setNumber(new BigDecimal(1));
                deviceLedgerMapper.insert(deviceLedger);
            }
            BeanUtils.copyProperties(c,deviceLedger);
            deviceLedgerMapper.insert(deviceLedger);
        });
        return true;