From 809562f45f703f99f9f75618428cef59a6458799 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 30 三月 2026 17:39:05 +0800
Subject: [PATCH] yys 1.设备导入,人员导入

---
 src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java |   36 ++++++++++++++++++++++++++++++++++--
 1 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
index e8405b4..e3c732a 100644
--- a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -1,8 +1,12 @@
 package com.ruoyi.device.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 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.DateUtils;
+import com.ruoyi.common.utils.OrderUtils;
+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.DeviceLedgerDto;
@@ -11,6 +15,7 @@
 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;
@@ -19,6 +24,9 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -41,6 +49,11 @@
 
     @Override
     public AjaxResult saveDeviceLedger(DeviceLedger deviceLedger) {
+        LambdaQueryWrapper<DeviceLedger> deviceLedgerLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        deviceLedgerLambdaQueryWrapper.eq(DeviceLedger::getDeviceName,deviceLedger.getDeviceName());
+        if (this.count(deviceLedgerLambdaQueryWrapper) > 0) {
+            return AjaxResult.error("璁惧鍚嶇О宸插瓨鍦�");
+        }
         boolean save = this.save(deviceLedger);
         if (save){
             return AjaxResult.success();
@@ -91,7 +104,26 @@
     }
 
     @Override
-    public Boolean importData(MultipartFile file) {
-        return null;
+    public Boolean importData(MultipartFile file) throws IOException {
+        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());
+            }
+            BeanUtils.copyProperties(c,deviceLedger);
+            // 閫氳繃鍚◣鍗曚环銆佹暟閲忋�佺◣鐜囪绠楀惈绋庢�讳环锛屼笉鍚◣鎬讳环
+            deviceLedger.setTaxIncludingPriceTotal(c.getTaxIncludingPriceUnit());
+            deviceLedger.setNumber(BigDecimal.ONE);
+            deviceLedger.setPlanRuntimeTime(DateUtils.toLocalDate(c.getPlanRuntimeTime()));
+            deviceLedger.setUnTaxIncludingPriceTotal(deviceLedger.getTaxIncludingPriceTotal().divide(BigDecimal.ONE.add(c.getTaxRate()),2, RoundingMode.HALF_UP));
+            deviceLedgerMapper.insert(deviceLedger);
+        });
+
+        return true;
     }
 }

--
Gitblit v1.9.3