From ad45ebdf25cae54a3950bba33aa767fc7a8a43d8 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 22 五月 2026 21:26:13 +0800
Subject: [PATCH] feat: 设备台账新增附件图片上传
---
src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 48 insertions(+), 7 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 b4c5d65..154923d 100644
--- a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -12,6 +12,9 @@
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 com.ruoyi.project.system.domain.SysUser;
@@ -36,6 +39,7 @@
private final DeviceLedgerMapper deviceLedgerMapper;
private final SysUserMapper sysUserMapper;
+ private final StorageAttachmentService storageAttachmentService;
@Override
public IPage<DeviceLedgerDto> queryPage(Page page, DeviceLedgerDto deviceLedger) {
@@ -44,25 +48,61 @@
}
@Override
- public AjaxResult saveDeviceLedger(DeviceLedger deviceLedger) {
+ public AjaxResult saveDeviceLedger(DeviceLedgerDto deviceLedgerDto) {
LambdaQueryWrapper<DeviceLedger> deviceLedgerLambdaQueryWrapper = new LambdaQueryWrapper<>();
- deviceLedgerLambdaQueryWrapper.eq(DeviceLedger::getDeviceName,deviceLedger.getDeviceName());
+ 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 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
@@ -82,9 +122,7 @@
util.exportExcel(response, deviceLedgerExeclDtos, "璁惧鍙拌处瀵煎嚭");
}else {
ArrayList<Long> arrayList = new ArrayList<>();
- Arrays.stream(ids).map(id -> {
- return arrayList.add( id);
- });
+ Arrays.stream(ids).map(arrayList::add);
List<DeviceLedger> supplierManageList = deviceLedgerMapper.selectBatchIds(arrayList);
ArrayList<DeviceLedgerExeclDto> deviceLedgerExeclDtos = new ArrayList<>();
supplierManageList.stream().forEach(deviceLedger -> {
@@ -116,7 +154,10 @@
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));
+ // 璁$畻涓嶅惈绋庢�讳环锛屽鐞嗙┖鍊兼儏鍐�
+ if (deviceLedger.getTaxIncludingPriceTotal() != null && c.getTaxRate() != null) {
+ deviceLedger.setUnTaxIncludingPriceTotal(deviceLedger.getTaxIncludingPriceTotal().divide(BigDecimal.ONE.add(c.getTaxRate()), 2, RoundingMode.HALF_UP));
+ }
deviceLedgerMapper.insert(deviceLedger);
});
--
Gitblit v1.9.3