From 8c8f19c87c9dfa7576f04ad80d864b37d0617786 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期四, 15 一月 2026 09:38:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New
---
src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java | 4
src/main/resources/mapper/measuringinstrumentledger/MeasuringInstrumentLedgerMapper.xml | 62 ++++-----
src/main/java/com/ruoyi/device/controller/DeviceRepairController.java | 57 +++------
src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerServiceImpl.java | 93 +++++++--------
src/main/java/com/ruoyi/measuringinstrumentledger/controller/MeasuringInstrumentLedgerController.java | 9 -
src/main/java/com/ruoyi/measuringinstrumentledger/controller/MeasuringInstrumentLedgerRecordController.java | 5
doc/alter_table_measuring_instrument_ledger.sql | 5
src/main/java/com/ruoyi/measuringinstrumentledger/dto/MeasuringInstrumentLedgerPageDto.java | 13 ++
src/main/java/com/ruoyi/measuringinstrumentledger/pojo/MeasuringInstrumentLedger.java | 14 ++
src/main/java/com/ruoyi/measuringinstrumentledger/service/MeasuringInstrumentLedgerRecordService.java | 3
src/main/java/com/ruoyi/common/enums/StorageAttachmentRecordType.java | 3
src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java | 2
src/main/java/com/ruoyi/measuringinstrumentledger/dto/MeasuringInstrumentLedgerRecordDTO.java | 12 ++
src/main/java/com/ruoyi/measuringinstrumentledger/service/MeasuringInstrumentLedgerService.java | 5
src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerRecordServiceImpl.java | 28 ++++
15 files changed, 180 insertions(+), 135 deletions(-)
diff --git a/doc/alter_table_measuring_instrument_ledger.sql b/doc/alter_table_measuring_instrument_ledger.sql
new file mode 100644
index 0000000..2c036fe
--- /dev/null
+++ b/doc/alter_table_measuring_instrument_ledger.sql
@@ -0,0 +1,5 @@
+ALTER TABLE measuring_instrument_ledger
+ ADD COLUMN dept_id BIGINT COMMENT '閮ㄩ棬ID',
+ ADD COLUMN installation_location VARCHAR(255) COMMENT '瀹夎浣嶇疆',
+ ADD COLUMN unit VARCHAR(100) COMMENT '妫�瀹氬崟浣�',
+ ADD COLUMN cycle INT COMMENT '妫�瀹氬懆鏈燂紙澶╋級';
diff --git a/src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java b/src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java
index de2c096..4db9fad 100644
--- a/src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java
+++ b/src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java
@@ -23,7 +23,7 @@
* @param fileType 鏂囦欢绫诲瀷
* @return 鏂囦欢淇℃伅鍒楄〃
*/
- List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, StorageAttachmentConstants fileType);
+ List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, String fileType);
/**
* 淇濆瓨閫氱敤鏂囦欢涓婁紶鐨勯檮浠朵俊鎭�
diff --git a/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java
index b1c2ca5..9b1980a 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java
@@ -43,11 +43,11 @@
private MinioUtils minioUtils;
@Override
- public List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, StorageAttachmentConstants fileType) {
+ public List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, String fileType) {
List<StorageAttachment> storageAttachments = storageAttachmentMapper.selectList(new LambdaQueryWrapper<StorageAttachment>()
.eq(StorageAttachment::getRecordId, recordId)
.eq(StorageAttachment::getRecordType, recordType.ordinal())
- .eq(StorageAttachment::getName, fileType.toString()));
+ .eq(StorageAttachment::getName, fileType));
if (storageAttachments != null) {
for (StorageAttachment storageAttachment : storageAttachments) {
StorageBlob storageBlob = storageBlobMapper.selectById(storageAttachment.getStorageBlobId());
diff --git a/src/main/java/com/ruoyi/common/enums/StorageAttachmentRecordType.java b/src/main/java/com/ruoyi/common/enums/StorageAttachmentRecordType.java
index a4b889d..5f6cb9e 100644
--- a/src/main/java/com/ruoyi/common/enums/StorageAttachmentRecordType.java
+++ b/src/main/java/com/ruoyi/common/enums/StorageAttachmentRecordType.java
@@ -12,7 +12,8 @@
Template("Template","鑼冧緥"),
Archives("Archives","鏂囨。绠$悊"),
InspectionTasks("InspectionTasks","鐢熶骇宸℃"),
- QrCodeScanRecords("QrCodeScanRecords","浜岀淮鐮佹壂鐮佽褰曟枃浠�");
+ QrCodeScanRecords("QrCodeScanRecords","浜岀淮鐮佹壂鐮佽褰曟枃浠�"),
+ MeasuringInstrumentLedgerRecord("MeasuringInstrumentLedgerRecord","鍣ㄥ叿鏍″噯璁板綍");
private final String code;
diff --git a/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
index 130e5df..d9f4e5c 100644
--- a/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
+++ b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
@@ -5,27 +5,18 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.approve.pojo.ApproveProcess;
import com.ruoyi.approve.service.IApproveProcessService;
-import com.ruoyi.approve.vo.ApproveProcessVO;
-import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.device.dto.DeviceRepairDto;
-import com.ruoyi.device.pojo.DeviceLedger;
import com.ruoyi.device.pojo.DeviceRepair;
import com.ruoyi.device.service.IDeviceLedgerService;
import com.ruoyi.device.service.IDeviceRepairService;
-import com.ruoyi.framework.security.LoginUser;
import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.project.system.domain.SysDept;
-import com.ruoyi.project.system.domain.SysUser;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
import java.util.Arrays;
import java.util.List;
@@ -53,35 +44,25 @@
@ApiModelProperty("娣诲姞璁惧鎶ヤ慨")
public AjaxResult add( @RequestBody DeviceRepair deviceRepair) throws Exception {
deviceRepairService.saveDeviceRepair(deviceRepair);
- ApproveProcessVO approveProcessVO = new ApproveProcessVO();
- LoginUser loginUser = SecurityUtils.getLoginUser();
- SysUser user = loginUser.getUser();
- // 鑾峰彇褰撳墠鐧诲綍鍏徃
- Long tenantId = loginUser.getTenantId();
- if(null != tenantId){
- LambdaQueryWrapper<DeviceRepair> QueryWrapper = new LambdaQueryWrapper<>();
- QueryWrapper.eq(DeviceRepair::getDeviceLedgerId,deviceRepair.getDeviceLedgerId())
- .eq(DeviceRepair::getRemark,deviceRepair.getRemark())
- .eq(DeviceRepair::getDeviceName,deviceRepair.getDeviceName())
- .eq(DeviceRepair::getApproverId,deviceRepair.getApproverId())
- .eq(DeviceRepair::getRepairTime,deviceRepair.getRepairTime());
- DeviceRepair one = deviceRepairService.getOne(QueryWrapper);
- if(ObjectUtils.isEmpty(one)){
- return AjaxResult.error("璁惧鎶ヤ慨涓嶅瓨鍦�");
- }
- //鑾峰彇褰撳墠鐧诲綍閮ㄩ棬id
- approveProcessVO.setApproveDeptId(tenantId);
- //鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛id
- approveProcessVO.setApproveUser(loginUser.getUserId());
- //鑾峰彇褰撳墠鏃堕棿
- approveProcessVO.setApproveTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
- approveProcessVO.setApproveType(4);
- approveProcessVO.setApproveUserIds(deviceRepair.getApproverId().toString());
- approveProcessVO.setApproveReason(deviceRepair.getRemark());
- approveProcessVO.setDeviceRepairId(one.getId());
- approveProcessVO.setMaintenancePrice(deviceRepair.getMaintenancePrice());
- approveProcessService.addApprove(approveProcessVO);
- }
+ // todo 鍓嶇浠g爜涓嶅尮閰嶏紝寰呭鐞�
+// ApproveProcessVO approveProcessVO = new ApproveProcessVO();
+// LoginUser loginUser = SecurityUtils.getLoginUser();
+// // 鑾峰彇褰撳墠鐧诲綍鍏徃
+// Long tenantId = loginUser.getTenantId();
+// if(null != tenantId){
+// //鑾峰彇褰撳墠鐧诲綍閮ㄩ棬id
+// approveProcessVO.setApproveDeptId(tenantId);
+// //鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛id
+// approveProcessVO.setApproveUser(loginUser.getUserId());
+// //鑾峰彇褰撳墠鏃堕棿
+// approveProcessVO.setApproveTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+// approveProcessVO.setApproveType(4);
+// approveProcessVO.setApproveUserIds(deviceRepair.getApproverId().toString());
+// approveProcessVO.setApproveReason(deviceRepair.getRemark());
+// approveProcessVO.setDeviceRepairId(deviceRepair.getId());
+// approveProcessVO.setMaintenancePrice(deviceRepair.getMaintenancePrice());
+// approveProcessService.addApprove(approveProcessVO);
+// }
return AjaxResult.success();
}
diff --git a/src/main/java/com/ruoyi/measuringinstrumentledger/controller/MeasuringInstrumentLedgerController.java b/src/main/java/com/ruoyi/measuringinstrumentledger/controller/MeasuringInstrumentLedgerController.java
index 4e7b8f8..069642d 100644
--- a/src/main/java/com/ruoyi/measuringinstrumentledger/controller/MeasuringInstrumentLedgerController.java
+++ b/src/main/java/com/ruoyi/measuringinstrumentledger/controller/MeasuringInstrumentLedgerController.java
@@ -3,18 +3,15 @@
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.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.measuringinstrumentledger.dto.MeasuringInstrumentLedgerDto;
+import com.ruoyi.measuringinstrumentledger.dto.MeasuringInstrumentLedgerRecordDTO;
import com.ruoyi.measuringinstrumentledger.mapper.MeasuringInstrumentLedgerRecordMapper;
import com.ruoyi.measuringinstrumentledger.pojo.MeasuringInstrumentLedger;
import com.ruoyi.measuringinstrumentledger.pojo.MeasuringInstrumentLedgerRecord;
import com.ruoyi.measuringinstrumentledger.service.MeasuringInstrumentLedgerService;
-import com.ruoyi.measuringinstrumentledger.service.impl.MeasuringInstrumentLedgerServiceImpl;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import io.swagger.annotations.Api;
@@ -110,8 +107,8 @@
@ApiOperation("璁¢噺鍣ㄥ叿鍙拌处-妫�瀹�")
@Log(title = "璁¢噺鍣ㄥ叿鍙拌处-妫�瀹�", businessType = BusinessType.UPDATE)
@Transactional(rollbackFor = Exception.class)
- public AjaxResult verifying(@RequestBody MeasuringInstrumentLedgerDto measuringInstrumentLedger) throws IOException {
- boolean update = measuringInstrumentLedgerService.verifying(measuringInstrumentLedger);
+ public AjaxResult verifying(@RequestBody MeasuringInstrumentLedgerRecordDTO measuringInstrumentLedgerRecordDTO) throws IOException {
+ boolean update = measuringInstrumentLedgerService.verifying(measuringInstrumentLedgerRecordDTO);
return update ? AjaxResult.success("妫�瀹氭垚鍔�") : AjaxResult.error("妫�瀹氬け璐�");
}
diff --git a/src/main/java/com/ruoyi/measuringinstrumentledger/controller/MeasuringInstrumentLedgerRecordController.java b/src/main/java/com/ruoyi/measuringinstrumentledger/controller/MeasuringInstrumentLedgerRecordController.java
index 8c7116e..1dd9fa2 100644
--- a/src/main/java/com/ruoyi/measuringinstrumentledger/controller/MeasuringInstrumentLedgerRecordController.java
+++ b/src/main/java/com/ruoyi/measuringinstrumentledger/controller/MeasuringInstrumentLedgerRecordController.java
@@ -70,4 +70,9 @@
measuringInstrumentLedgerRecordService.export( response);
}
+ @GetMapping("/detail/{id}")
+ public AjaxResult getById(@PathVariable("id") Long id) {
+ return AjaxResult.success(measuringInstrumentLedgerRecordService.getById(id));
+ }
+
}
diff --git a/src/main/java/com/ruoyi/measuringinstrumentledger/dto/MeasuringInstrumentLedgerPageDto.java b/src/main/java/com/ruoyi/measuringinstrumentledger/dto/MeasuringInstrumentLedgerPageDto.java
new file mode 100644
index 0000000..41b0775
--- /dev/null
+++ b/src/main/java/com/ruoyi/measuringinstrumentledger/dto/MeasuringInstrumentLedgerPageDto.java
@@ -0,0 +1,13 @@
+package com.ruoyi.measuringinstrumentledger.dto;
+
+import com.ruoyi.measuringinstrumentledger.pojo.MeasuringInstrumentLedger;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class MeasuringInstrumentLedgerPageDto extends MeasuringInstrumentLedger {
+ private String deptName;
+
+
+}
diff --git a/src/main/java/com/ruoyi/measuringinstrumentledger/dto/MeasuringInstrumentLedgerRecordDTO.java b/src/main/java/com/ruoyi/measuringinstrumentledger/dto/MeasuringInstrumentLedgerRecordDTO.java
new file mode 100644
index 0000000..59a8b8b
--- /dev/null
+++ b/src/main/java/com/ruoyi/measuringinstrumentledger/dto/MeasuringInstrumentLedgerRecordDTO.java
@@ -0,0 +1,12 @@
+package com.ruoyi.measuringinstrumentledger.dto;
+
+import com.ruoyi.basic.dto.StorageBlobDTO;
+import com.ruoyi.measuringinstrumentledger.pojo.MeasuringInstrumentLedgerRecord;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class MeasuringInstrumentLedgerRecordDTO extends MeasuringInstrumentLedgerRecord {
+ List<StorageBlobDTO> blobs;
+}
diff --git a/src/main/java/com/ruoyi/measuringinstrumentledger/pojo/MeasuringInstrumentLedger.java b/src/main/java/com/ruoyi/measuringinstrumentledger/pojo/MeasuringInstrumentLedger.java
index 51c0360..b0082b3 100644
--- a/src/main/java/com/ruoyi/measuringinstrumentledger/pojo/MeasuringInstrumentLedger.java
+++ b/src/main/java/com/ruoyi/measuringinstrumentledger/pojo/MeasuringInstrumentLedger.java
@@ -104,7 +104,7 @@
* 鐘舵�侊紙1-鏈夋晥 2-閫炬湡锛�
*/
@ApiModelProperty("鐘舵�侊紙1-鏈夋晥 2-閫炬湡锛�")
- @Excel(name = "鐘舵��", readConverterExp = "1=鏈夋晥,2=閫炬湡")
+ @Excel(name = "鐘舵��", readConverterExp = "1=鏈夋晥,2=閫炬湡,3=鍗冲皢鍒版湡")
private Integer status;
/**
@@ -137,4 +137,16 @@
@TableField(fill = FieldFill.INSERT)
private Long tenantId;
+ @ApiModelProperty("閮ㄩ棬id")
+ private Long deptId;
+
+ @ApiModelProperty("瀹夎浣嶇疆")
+ private String installationLocation;
+
+ @ApiModelProperty("妫�瀹氬崟浣�")
+ private String unit;
+
+ @ApiModelProperty("妫�瀹氬懆鏈�(澶�)")
+ private Long cycle;
+
}
diff --git a/src/main/java/com/ruoyi/measuringinstrumentledger/service/MeasuringInstrumentLedgerRecordService.java b/src/main/java/com/ruoyi/measuringinstrumentledger/service/MeasuringInstrumentLedgerRecordService.java
index e8038da..59671e9 100644
--- a/src/main/java/com/ruoyi/measuringinstrumentledger/service/MeasuringInstrumentLedgerRecordService.java
+++ b/src/main/java/com/ruoyi/measuringinstrumentledger/service/MeasuringInstrumentLedgerRecordService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.measuringinstrumentledger.dto.MeasuringInstrumentLedgerRecordDTO;
import com.ruoyi.measuringinstrumentledger.pojo.MeasuringInstrumentLedgerRecord;
import javax.servlet.http.HttpServletResponse;
@@ -26,4 +27,6 @@
void export(HttpServletResponse response);
boolean updateMeasuringInstrumentLedgerRecord(MeasuringInstrumentLedgerRecord measuringInstrumentLedgerRecord) throws IOException;
+
+ MeasuringInstrumentLedgerRecordDTO getById(Long id);
}
diff --git a/src/main/java/com/ruoyi/measuringinstrumentledger/service/MeasuringInstrumentLedgerService.java b/src/main/java/com/ruoyi/measuringinstrumentledger/service/MeasuringInstrumentLedgerService.java
index 7ca300d..aaecce2 100644
--- a/src/main/java/com/ruoyi/measuringinstrumentledger/service/MeasuringInstrumentLedgerService.java
+++ b/src/main/java/com/ruoyi/measuringinstrumentledger/service/MeasuringInstrumentLedgerService.java
@@ -3,7 +3,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.measuringinstrumentledger.dto.MeasuringInstrumentLedgerDto;
+import com.ruoyi.measuringinstrumentledger.dto.MeasuringInstrumentLedgerRecordDTO;
import com.ruoyi.measuringinstrumentledger.pojo.MeasuringInstrumentLedger;
import javax.servlet.http.HttpServletResponse;
@@ -30,7 +30,8 @@
* @param measuringInstrumentLedger
* @return
*/
- boolean verifying(MeasuringInstrumentLedgerDto measuringInstrumentLedger) throws IOException;
+ boolean verifying(MeasuringInstrumentLedgerRecordDTO measuringInstrumentLedger) throws IOException;
+
void export(HttpServletResponse response);
diff --git a/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerRecordServiceImpl.java b/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerRecordServiceImpl.java
index 88e3bbc..840a15a 100644
--- a/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerRecordServiceImpl.java
@@ -4,9 +4,14 @@
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.basic.dto.StorageBlobDTO;
+import com.ruoyi.basic.pojo.StorageAttachment;
+import com.ruoyi.basic.service.StorageAttachmentService;
import com.ruoyi.common.enums.FileNameType;
+import com.ruoyi.common.enums.StorageAttachmentRecordType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.measuringinstrumentledger.dto.MeasuringInstrumentLedgerRecordDTO;
import com.ruoyi.measuringinstrumentledger.mapper.MeasuringInstrumentLedgerMapper;
import com.ruoyi.measuringinstrumentledger.mapper.MeasuringInstrumentLedgerRecordMapper;
import com.ruoyi.measuringinstrumentledger.pojo.MeasuringInstrumentLedger;
@@ -18,10 +23,10 @@
import com.ruoyi.sales.pojo.CommonFile;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FilenameUtils;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@@ -34,8 +39,11 @@
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;
+import java.util.Objects;
import java.util.UUID;
import java.util.stream.Collectors;
+
+import static com.ruoyi.common.constant.StorageAttachmentConstants.StorageAttachmentFile;
/**
* @author :yys
@@ -56,6 +64,9 @@
@Autowired
private TempFileMapper tempFileMapper;
+
+ @Autowired
+ private StorageAttachmentService storageAttachmentService;
@Value("${file.upload-dir}")
private String uploadDir;
@@ -175,4 +186,19 @@
}
}
}
+
+ @Override
+ public MeasuringInstrumentLedgerRecordDTO getById(Long id) {
+ MeasuringInstrumentLedgerRecord measuringInstrumentLedgerRecord = measuringInstrumentLedgerRecordMapper.selectById(id);
+ List<StorageAttachment> storageAttachments = storageAttachmentService.selectStorageAttachments(measuringInstrumentLedgerRecord.getId(), StorageAttachmentRecordType.MeasuringInstrumentLedgerRecord, StorageAttachmentFile);
+ List<StorageBlobDTO> storageBlobDTOList =
+ storageAttachments.stream()
+ .map(StorageAttachment::getStorageBlobDTO)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toList());
+ MeasuringInstrumentLedgerRecordDTO measuringInstrumentLedgerRecordDTO = new MeasuringInstrumentLedgerRecordDTO();
+ BeanUtils.copyProperties(measuringInstrumentLedgerRecord, measuringInstrumentLedgerRecordDTO);
+ measuringInstrumentLedgerRecordDTO.setBlobs(storageBlobDTOList);
+ return measuringInstrumentLedgerRecordDTO;
+ }
}
diff --git a/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerServiceImpl.java b/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerServiceImpl.java
index 72ce890..e695b97 100644
--- a/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerServiceImpl.java
@@ -5,11 +5,14 @@
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.StorageBlobDTO;
+import com.ruoyi.basic.pojo.StorageAttachment;
+import com.ruoyi.basic.service.StorageAttachmentService;
import com.ruoyi.common.enums.FileNameType;
+import com.ruoyi.common.enums.StorageAttachmentRecordType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.measuringinstrumentledger.dto.MeasuringInstrumentLedgerDto;
+import com.ruoyi.measuringinstrumentledger.dto.MeasuringInstrumentLedgerRecordDTO;
import com.ruoyi.measuringinstrumentledger.mapper.MeasuringInstrumentLedgerMapper;
import com.ruoyi.measuringinstrumentledger.mapper.MeasuringInstrumentLedgerRecordMapper;
import com.ruoyi.measuringinstrumentledger.pojo.MeasuringInstrumentLedger;
@@ -37,10 +40,12 @@
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
-import java.util.Date;
import java.util.List;
+import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;
+
+import static com.ruoyi.common.constant.StorageAttachmentConstants.StorageAttachmentFile;
/**
* @author :yys
@@ -65,64 +70,54 @@
@Autowired
private SysUserMapper sysUserMapper;
+ @Autowired
+ private StorageAttachmentService attachmentService;
+
@Value("${file.upload-dir}")
private String uploadDir;
@Override
public IPage<MeasuringInstrumentLedger> listPage(Page page, MeasuringInstrumentLedger measuringInstrumentLedger) {
- IPage<MeasuringInstrumentLedger> measuringInstrumentLedgerIPage = measuringInstrumentLedgerMapper.listPage(page, measuringInstrumentLedger);
- List<Integer> types = new ArrayList<>();
- types.add(FileNameType.MEASURING.getValue());
- types.add(FileNameType.MEASURINGRecord.getValue());
- measuringInstrumentLedgerIPage.getRecords().forEach(item -> {
- LambdaQueryWrapper<MeasuringInstrumentLedgerRecord> measuringInstrumentLedgerRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
- measuringInstrumentLedgerRecordLambdaQueryWrapper.eq(MeasuringInstrumentLedgerRecord::getMeasuringInstrumentLedgerId, item.getId());
- List<MeasuringInstrumentLedgerRecord> measuringInstrumentLedgerRecords = measuringInstrumentLedgerRecordMapper.selectList(measuringInstrumentLedgerRecordLambdaQueryWrapper);
- List<Long> collect = new ArrayList<>();
- if(!CollectionUtils.isEmpty(measuringInstrumentLedgerRecords)){
- collect = measuringInstrumentLedgerRecords.stream().map(MeasuringInstrumentLedgerRecord::getId).collect(Collectors.toList());
- }
- collect.add(item.getId());
- LambdaQueryWrapper<CommonFile> salesLedgerFileWrapper = new LambdaQueryWrapper<>();
- salesLedgerFileWrapper.in(CommonFile::getCommonId, collect)
- .in(CommonFile::getType,types);
- List<CommonFile> commonFiles = commonFileMapper.selectList(salesLedgerFileWrapper);
- item.setCommonFiles(commonFiles);
+ IPage<MeasuringInstrumentLedger> iPage = measuringInstrumentLedgerMapper.listPage(page, measuringInstrumentLedger);
+ List<MeasuringInstrumentLedger> records = iPage.getRecords();
+ List<Long> ids = records.stream().map(MeasuringInstrumentLedger::getId).collect(Collectors.toList());
- });
- return measuringInstrumentLedgerIPage;
+ List<MeasuringInstrumentLedgerRecord> measuringInstrumentLedgerRecords = measuringInstrumentLedgerRecordMapper.selectList(new LambdaQueryWrapper<MeasuringInstrumentLedgerRecord>()
+ .in(MeasuringInstrumentLedgerRecord::getMeasuringInstrumentLedgerId, ids)
+ .orderByDesc(MeasuringInstrumentLedgerRecord::getCreateTime));
+ if (!CollectionUtils.isEmpty(measuringInstrumentLedgerRecords)) {
+ Map<Long, List<MeasuringInstrumentLedgerRecord>> collect = measuringInstrumentLedgerRecords.stream().collect(Collectors.groupingBy(MeasuringInstrumentLedgerRecord::getMeasuringInstrumentLedgerId));
+ for (MeasuringInstrumentLedger ledger : records) {
+ if (collect.containsKey(ledger.getId())) {
+ ledger.setMostDate(collect.get(ledger.getId()).get(0).getRecordDate());
+ }
+ }
+ }
+ return iPage;
}
@Override
- public boolean verifying(MeasuringInstrumentLedgerDto req) throws IOException {
- MeasuringInstrumentLedger measuringInstrumentLedger = measuringInstrumentLedgerMapper.selectById(req.getId());
- if(measuringInstrumentLedger == null) {
- return false;
+ public boolean verifying(MeasuringInstrumentLedgerRecordDTO req) throws IOException {
+ MeasuringInstrumentLedger measuringInstrumentLedger = measuringInstrumentLedgerMapper.selectById(req.getMeasuringInstrumentLedgerId());
+ if (measuringInstrumentLedger == null) {
+ throw new RuntimeException("璁¢噺鍣ㄥ叿鍙拌处涓嶅瓨鍦�");
}
- SysUser sysUser = sysUserMapper.selectUserById(measuringInstrumentLedger.getUserId());
- measuringInstrumentLedger.setValid(req.getValid());
- measuringInstrumentLedger.setMostDate(req.getRecordDate());
- measuringInstrumentLedger.setNextDate(new Date(req.getRecordDate().getTime() + 1000L * 60 * 60 * 24 * req.getValid()));
- MeasuringInstrumentLedgerRecord measuringInstrumentLedgerRecord = new MeasuringInstrumentLedgerRecord();
- if(measuringInstrumentLedgerMapper.updateById(measuringInstrumentLedger) > 0) {
- measuringInstrumentLedgerRecord.setMeasuringInstrumentLedgerId(req.getId());
- measuringInstrumentLedgerRecord.setRecordDate(req.getRecordDate());
- measuringInstrumentLedgerRecord.setEntryDate(req.getEntryDate());
- measuringInstrumentLedgerRecord.setValid(req.getValid());
- measuringInstrumentLedgerRecord.setUserId(req.getUserId());
- measuringInstrumentLedgerRecord.setUserName(sysUser.getUserName());
- measuringInstrumentLedgerRecordMapper.insert(measuringInstrumentLedgerRecord);
- // 鍙拌处缁戝畾涓�娆�
-// if(!CollectionUtils.isEmpty(req.getTempFileIds())){
-// migrateTempFilesToFormal(measuringInstrumentLedger.getId(), req.getTempFileIds(), FileNameType.MEASURING.getValue());
-// }
- // 鍙拌处璁板綍缁戝畾涓�娆�
- if(!CollectionUtils.isEmpty(req.getTempFileIds())){
- migrateTempFilesToFormal(measuringInstrumentLedgerRecord.getId(), req.getTempFileIds(), FileNameType.MEASURINGRecord.getValue());
+ measuringInstrumentLedgerRecordMapper.insert(req);
+ if (req.getBlobs() != null && !req.getBlobs().isEmpty()) {
+ List<StorageAttachment> attachments = new ArrayList<>();
+
+ for (StorageBlobDTO storageBlobDTO : req.getBlobs()) {
+ StorageAttachment storageAttachment = new StorageAttachment(
+ StorageAttachmentFile,
+ (long) StorageAttachmentRecordType.MeasuringInstrumentLedgerRecord.ordinal(),
+ req.getId()
+ );
+ storageAttachment.setStorageBlobDTO(storageBlobDTO);
+ attachments.add(storageAttachment);
}
- return true;
+ attachmentService.saveStorageAttachment(attachments, req.getId(), StorageAttachmentRecordType.MeasuringInstrumentLedgerRecord, StorageAttachmentFile);
}
- return false;
+ return true;
}
@Override
diff --git a/src/main/resources/mapper/measuringinstrumentledger/MeasuringInstrumentLedgerMapper.xml b/src/main/resources/mapper/measuringinstrumentledger/MeasuringInstrumentLedgerMapper.xml
index fc680d0..78aaaa6 100644
--- a/src/main/resources/mapper/measuringinstrumentledger/MeasuringInstrumentLedgerMapper.xml
+++ b/src/main/resources/mapper/measuringinstrumentledger/MeasuringInstrumentLedgerMapper.xml
@@ -2,54 +2,48 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.measuringinstrumentledger.mapper.MeasuringInstrumentLedgerMapper">
- <select id="listPage" resultType="com.ruoyi.measuringinstrumentledger.pojo.MeasuringInstrumentLedger">
+ <select id="listPage" resultType="com.ruoyi.measuringinstrumentledger.dto.MeasuringInstrumentLedgerPageDto">
SELECT
- id,
- user_id,
- user_name,
- code,
- name,
- model,
- most_date,
- valid,
- next_date,
- record_date,
- CASE
- WHEN next_date >= DATE_FORMAT(now(),'%Y-%m-%d') THEN 1
- ELSE 2
- END AS status,
- create_user,
- create_time,
- update_user,
- update_time,
- tenant_id
+ mil.id,
+ mil.user_id,
+ mil.user_name,
+ mil.code,
+ sd.dept_name,
+ mil.installation_location,
+ mil.unit,
+ mil.cycle,
+ mil.name,
+ mil.model,
+ mil.most_date,
+ mil.valid,
+ mil.next_date,
+ mil.record_date,
+ mil.create_user,
+ mil.create_time,
+ mil.update_user,
+ mil.update_time,
+ mil.tenant_id
FROM
- measuring_instrument_ledger
+ measuring_instrument_ledger mil
+ left join sys_dept sd on sd.id = mil.dept_id
<where>
<!-- 鏌ヨ鏉′欢鍚屼笂 -->
<if test="req.code != null and req.code != ''">
- AND code LIKE CONCAT('%', #{req.code}, '%')
+ AND mil.code LIKE CONCAT('%', #{req.code}, '%')
</if>
<if test="req.name != null and req.name != ''">
- AND name LIKE CONCAT('%', #{req.name}, '%')
+ AND mil.name LIKE CONCAT('%', #{req.name}, '%')
</if>
<if test="req.status != null">
- <choose>
- <when test="req.status == 1">
- AND next_date >= DATE_FORMAT(now(),'%Y-%m-%d')
- </when>
- <when test="req.status == 2">
- AND next_date < DATE_FORMAT(now(),'%Y-%m-%d')
- </when>
- </choose>
+ AND mil.status = #{req.status}
</if>
<if test="req.tenantId != null">
- AND tenant_id = #{req.tenantId}
+ AND mil.tenant_id = #{req.tenantId}
</if>
<if test="req.recordDate != null">
- AND record_date = DATE_FORMAT(#{req.recordDate},'%Y-%m-%d')
+ AND mil.record_date = DATE_FORMAT(#{req.recordDate},'%Y-%m-%d')
</if>
</where>
- ORDER BY update_time DESC
+ ORDER BY mil.update_time DESC
</select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3