From 4635770544e2d57416ad88a8983ee293919f5fec Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期一, 25 五月 2026 09:25:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro
---
src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java | 139 ++++++++++++++++++++++++++++++++++++++++------
1 files changed, 120 insertions(+), 19 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 ce4accd..154923d 100644
--- a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -1,65 +1,166 @@
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.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.basic.dto.StorageAttachmentDTO;
+import com.ruoyi.basic.enums.RecordTypeEnum;
+import com.ruoyi.basic.service.StorageAttachmentService;
import com.ruoyi.device.service.IDeviceLedgerService;
import com.ruoyi.framework.web.domain.AjaxResult;
-import lombok.AllArgsConstructor;
+import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.project.system.mapper.SysUserMapper;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.RequiredArgsConstructor;
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.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
@Service
-@AllArgsConstructor
+@RequiredArgsConstructor
@Slf4j
public class DeviceLedgerServiceImpl extends ServiceImpl<DeviceLedgerMapper, DeviceLedger> implements IDeviceLedgerService {
- @Autowired
- private DeviceLedgerMapper deviceLedgerMapper;
+ private final DeviceLedgerMapper deviceLedgerMapper;
+ private final SysUserMapper sysUserMapper;
+ private final StorageAttachmentService storageAttachmentService;
@Override
- public IPage<DeviceLedger> queryPage(Page page, DeviceLedger deviceLedger) {
+ public IPage<DeviceLedgerDto> queryPage(Page page, DeviceLedgerDto deviceLedger) {
return deviceLedgerMapper.queryPage(page, deviceLedger);
}
@Override
- public AjaxResult saveDeviceLedger(DeviceLedger deviceLedger) {
+ public AjaxResult saveDeviceLedger(DeviceLedgerDto deviceLedgerDto) {
+ LambdaQueryWrapper<DeviceLedger> deviceLedgerLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ deviceLedgerLambdaQueryWrapper.eq(DeviceLedger::getDeviceName,deviceLedgerDto.getDeviceName());
+ if (this.count(deviceLedgerLambdaQueryWrapper) > 0) {
+ return AjaxResult.error("璁惧鍚嶇О宸插瓨鍦�");
+ }
+ DeviceLedger deviceLedger = new DeviceLedger();
+ BeanUtils.copyProperties(deviceLedgerDto, deviceLedger);
boolean save = this.save(deviceLedger);
if (save){
+ if (deviceLedgerDto.getStorageBlobDTOs() != null) {
+ StorageAttachmentDTO attachmentDTO = new StorageAttachmentDTO();
+ attachmentDTO.setApplication("image");
+ attachmentDTO.setRecordType(RecordTypeEnum.DEVICE_LEDGER.getType());
+ attachmentDTO.setRecordId(deviceLedger.getId());
+ attachmentDTO.setStorageBlobDTOs(deviceLedgerDto.getStorageBlobDTOs());
+ storageAttachmentService.saveStorageAttachment(attachmentDTO);
+ }
return AjaxResult.success();
}
return AjaxResult.error();
}
@Override
- public AjaxResult updateDeviceLedger(DeviceLedger deviceLedger) {
+ public AjaxResult updateDeviceLedger(DeviceLedgerDto deviceLedgerDto) {
+ DeviceLedger deviceLedger = new DeviceLedger();
+ BeanUtils.copyProperties(deviceLedgerDto, deviceLedger);
if (this.updateById(deviceLedger)) {
+ if (deviceLedgerDto.getStorageBlobDTOs() != null) {
+ StorageAttachmentDTO attachmentDTO = new StorageAttachmentDTO();
+ attachmentDTO.setApplication("image");
+ attachmentDTO.setRecordType(RecordTypeEnum.DEVICE_LEDGER.getType());
+ attachmentDTO.setRecordId(deviceLedger.getId());
+ attachmentDTO.setStorageBlobDTOs(deviceLedgerDto.getStorageBlobDTOs());
+ storageAttachmentService.saveStorageAttachment(attachmentDTO);
+ }
return AjaxResult.success();
}
return AjaxResult.error();
}
@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 DeviceLedgerDto getDeviceLedgerDetail(Long id) {
+ DeviceLedger deviceLedger = this.getById(id);
+ if (deviceLedger != null) {
+ DeviceLedgerDto deviceLedgerDto = new DeviceLedgerDto();
+ BeanUtils.copyProperties(deviceLedger, deviceLedgerDto);
+ StorageAttachmentDTO dto = new StorageAttachmentDTO();
+ dto.setRecordType(RecordTypeEnum.DEVICE_LEDGER.getType());
+ dto.setRecordId(id);
+ dto.setApplication("image");
+ deviceLedgerDto.setStorageBlobVOs(storageAttachmentService.list(dto));
+ return deviceLedgerDto;
+ }
+ return null;
+ }
+
+ @Override
+ 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(arrayList::add);
+ 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);
+ // 閫氳繃鍚◣鍗曚环銆佹暟閲忋�佺◣鐜囪绠楀惈绋庢�讳环锛屼笉鍚◣鎬讳环
+ deviceLedger.setTaxIncludingPriceTotal(c.getTaxIncludingPriceUnit());
+ deviceLedger.setNumber(BigDecimal.ONE);
+ deviceLedger.setPlanRuntimeTime(DateUtils.toLocalDate(c.getPlanRuntimeTime()));
+ // 璁$畻涓嶅惈绋庢�讳环锛屽鐞嗙┖鍊兼儏鍐�
+ if (deviceLedger.getTaxIncludingPriceTotal() != null && c.getTaxRate() != null) {
+ deviceLedger.setUnTaxIncludingPriceTotal(deviceLedger.getTaxIncludingPriceTotal().divide(BigDecimal.ONE.add(c.getTaxRate()), 2, RoundingMode.HALF_UP));
+ }
+ deviceLedgerMapper.insert(deviceLedger);
+ });
+
+ return true;
}
}
--
Gitblit v1.9.3