From f3bb76fa668530d5613700e57a30e6c7394d5224 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 06 三月 2025 16:50:00 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumRecord.java | 63
cnas-require/src/main/resources/mapper/FePowerStableMapper.xml | 71
cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesStoreMapper.java | 27
cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumDateService.java | 24
cnas-require/src/main/resources/static/foreign-register.docx | 0
cnas-require/src/main/java/com/ruoyi/requier/excel/FeCalibrationScheduleExport.java | 36
cnas-require/src/main/resources/mapper/FeStandardSubstanceRecordMapper.xml | 51
cnas-require/src/main/java/com/ruoyi/requier/mapper/SupplierManagementMapper.java | 31
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationServiceImpl.java | 135 +
cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesDetailServiceImpl.java | 20
cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationService.java | 29
basic-server/src/main/java/com/ruoyi/basic/pojo/Laboratory.java | 1
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ForeignRegisterServiceImpl.java | 101
cnas-require/src/main/resources/mapper/ProcurementSuppliesListMapper.xml | 74
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeMeasuredQuantityServiceImpl.java | 20
cnas-require/src/main/resources/static/temp_hum_date.docx | 0
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumDateMapper.java | 20
cnas-require/src/main/resources/mapper/ProcurementSuppliesExpendsMapper.xml | 43
cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesExpends.java | 62
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesConsumablesServiceImpl.java | 14
cnas-require/src/main/java/com/ruoyi/requier/service/FePowerStableService.java | 33
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstance.java | 81
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesContentsServiceImpl.java | 91
cnas-require/src/main/java/com/ruoyi/requier/dto/InternalWastesDto.java | 19
cnas-require/src/main/java/com/ruoyi/requier/mapper/FePowerStableMapper.java | 34
cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml | 21
cnas-require/src/main/resources/static/power-stable.docx | 0
cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceVo.java | 46
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java | 16
cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceMapper.xml | 46
cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesExpendDto.java | 27
cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceDetailsVo.java | 22
cnas-require/src/main/resources/mapper/ForeignRegisterMapper.xml | 39
cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceInspectionMapper.xml | 17
cnas-require/src/main/resources/mapper/FeStandardSubstanceMapper.xml | 56
cnas-require/src/main/java/com/ruoyi/requier/controller/FeCalibrationScheduleController.java | 88
cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesListMapper.java | 29
cnas-require/src/main/java/com/ruoyi/requier/controller/FePowerStableController.java | 96
cnas-require/src/main/java/com/ruoyi/requier/controller/FeTempHumDateController.java | 91
cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationDetectionAreaService.java | 16
cnas-require/src/main/java/com/ruoyi/requier/dto/AcceptanceDto.java | 15
basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java | 2
cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceInspectionController.java | 40
cnas-require/src/main/java/com/ruoyi/requier/controller/InternalWastesController.java | 93
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumDate.java | 54
cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesListService.java | 28
cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceService.java | 19
cnas-require/src/main/resources/mapper/SuppliersDirectoryContentsMapper.xml | 15
cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListDto.java | 17
cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesContentsMapper.java | 9
cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesContents.java | 42
cnas-require/src/main/java/com/ruoyi/requier/dto/StoreDto.java | 28
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumRecordMapper.java | 20
cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesDetailMapper.java | 16
pom.xml | 8
cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceRecordController.java | 60
cnas-require/src/main/java/com/ruoyi/requier/dto/ForeignRegisterDto.java | 32
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationDetectionAreaMapper.java | 16
cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastes.java | 44
cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumDateDto.java | 12
cnas-require/src/main/java/com/ruoyi/requier/pojo/FePowerStable.java | 58
cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesListController.java | 94
cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesConsumablesService.java | 7
cnas-require/src/main/java/com/ruoyi/requier/controller/SuppliersDirectoryContentsController.java | 77
cnas-require/src/main/java/com/ruoyi/requier/pojo/SuppliersDirectoryContents.java | 52
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationDetectionAreaServiceImpl.java | 20
cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesStoreController.java | 81
cnas-require/src/main/java/com/ruoyi/requier/vo/SubstanceRecordVo.java | 46
cnas-require/src/main/java/com/ruoyi/requier/excel/FeStandardSubstanceExcel.java | 54
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationMapper.java | 28
cnas-require/src/main/java/com/ruoyi/requier/dto/SupplierManagementDto.java | 67
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeMeasuredQuantity.java | 54
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceRecordMapper.java | 22
cnas-require/src/main/java/com/ruoyi/requier/controller/SupplierManagementController.java | 91
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIlluminationDetectionArea.java | 59
cnas-require/src/main/java/com/ruoyi/requier/service/FeCalibrationScheduleService.java | 20
cnas-require/src/main/java/com/ruoyi/requier/controller/FeLightningProtectionController.java | 80
cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesStore.java | 52
cnas-require/src/main/java/com/ruoyi/requier/service/SuppliersDirectoryContentsService.java | 22
cnas-require/src/main/java/com/ruoyi/requier/service/ForeignRegisterService.java | 34
cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesExpendsService.java | 23
cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesService.java | 63
cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableAddDto.java | 15
cnas-require/src/main/resources/mapper/SupplierManagementMapper.xml | 86
ruoyi-common/src/main/java/com/ruoyi/common/utils/FileSaveUtil.java | 179 +
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeLightningProtection.java | 58
cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesStoreService.java | 21
cnas-require/src/main/java/com/ruoyi/requier/mapper/SuppliersDirectoryContentsMapper.java | 16
cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesServiceImpl.java | 170 +
cnas-require/src/main/java/com/ruoyi/requier/service/SupplierManagementService.java | 32
cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesContentsService.java | 16
cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesConsumablesMapper.java | 9
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptance.java | 87
cnas-require/src/main/java/com/ruoyi/requier/pojo/ForeignRegister.java | 72
cnas-require/pom.xml | 39
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumDateServiceImpl.java | 86
cnas-require/src/main/resources/mapper/InternalWastesDetailMapper.xml | 6
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesListServiceImpl.java | 121 +
cnas-require/src/main/resources/mapper/FeLightningProtectionMapper.xml | 20
cnas-require/src/main/resources/mapper/InternalWastesMapper.xml | 16
cnas-require/src/main/java/com/ruoyi/requier/controller/ForeignRegisterController.java | 93
cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceRecordService.java | 30
cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationAddDto.java | 15
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIllumination.java | 55
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeCalibrationScheduleServiceImpl.java | 27
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeLightningProtectionMapper.java | 21
cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationExportDto.java | 25
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceRecordServiceImpl.java | 79
cnas-require/src/main/java/com/ruoyi/requier/excel/StoreExcel.java | 37
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java | 111
cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListEDto.java | 104
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceMapper.java | 20
cnas-require/src/main/resources/mapper/FeIlluminationMapper.xml | 54
cnas-require/src/main/resources/mapper/FeCalibrationScheduleMapper.xml | 38
cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesList.java | 101
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeLightningProtectionServiceImpl.java | 27
cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesExpendsMapper.java | 22
cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesMapper.java | 31
cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml | 26
cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableExportDto.java | 30
cnas-require/src/main/resources/static/internal-wastes.docx | 0
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeCalibrationSchedule.java | 81
cnas-require/src/main/resources/mapper/ProcurementSuppliesStoreMapper.xml | 84
cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceController.java | 82
cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceController.java | 88
cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationDto.java | 28
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeMeasuredQuantityMapper.java | 16
cnas-require/src/main/resources/mapper/FeIlluminationDetectionAreaMapper.xml | 16
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java | 20
cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableDto.java | 29
cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceInspectionService.java | 16
cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceService.java | 33
cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastesDetail.java | 66
cnas-require/src/main/resources/static/illumination.docx | 0
cnas-require/src/main/java/com/ruoyi/requier/service/impl/SuppliersDirectoryContentsServiceImpl.java | 76
cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesDetailService.java | 16
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FePowerStableServiceImpl.java | 123 +
cnas-require/src/main/resources/mapper/FeMeasuredQuantityMapper.xml | 17
cnas-require/src/main/java/com/ruoyi/requier/controller/FeIlluminationController.java | 87
cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesExpendsController.java | 50
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptanceInspection.java | 47
cnas-require/src/main/java/com/ruoyi/requier/service/FeMeasuredQuantityService.java | 16
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumRecordServiceImpl.java | 27
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeCalibrationScheduleMapper.java | 20
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceMapper.java | 22
ruoyi-admin/pom.xml | 6
cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesConsumables.java | 50
cnas-require/src/main/java/com/ruoyi/requier/pojo/SupplierManagement.java | 111
cnas-require/src/main/java/com/ruoyi/requier/excel/FeLightningProtectionExcel.java | 22
cnas-require/src/main/java/com/ruoyi/requier/mapper/ForeignRegisterMapper.java | 39
basic-server/src/main/resources/mapper/CertificationMapper.xml | 16
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceRecord.java | 78
basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java | 4
cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumRecordDto.java | 24
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesExpendsServiceImpl.java | 77
cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesContentsController.java | 75
cnas-require/src/main/java/com/ruoyi/requier/service/FeLightningProtectionService.java | 21
cnas-require/src/main/java/com/ruoyi/requier/service/impl/SupplierManagementServiceImpl.java | 92
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceServiceImpl.java | 26
cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumRecordService.java | 20
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesStoreServiceImpl.java | 142 +
161 files changed, 7,212 insertions(+), 10 deletions(-)
diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java
index 740218f..20de46f 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java
@@ -32,7 +32,7 @@
}
@ApiOperation(value = "鍒犻櫎璧勮川鏄庣粏鍒楄〃")
@DeleteMapping("/delCertificationDetail")
- public Result<?> delCertificationDetail( String ids) {
+ public Result<?> delCertificationDetail(String ids) {
return Result.success(certificationService.delCertificationDetail(ids));
}
}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/Laboratory.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/Laboratory.java
index a9343a1..92226bc 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/pojo/Laboratory.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/Laboratory.java
@@ -44,6 +44,7 @@
private Integer createUser;
@ApiModelProperty(value = "鍒涘缓浜�")
+ @TableField(select = false,exist = false)
private String createUserName;
@ApiModelProperty(value = "淇敼浜篿d")
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java
index 9028444..4249e3a 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java
@@ -12,7 +12,9 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.Arrays;
import java.util.List;
+import java.util.stream.Collectors;
@Service
@AllArgsConstructor
@@ -38,7 +40,7 @@
//鍒犻櫎璧勮川鏄庣粏鍒楄〃
@Override
public int delCertificationDetail(String ids) {
- List<Integer> list = JSON.parseArray(ids,Integer.class);
+ List<Integer> list = Arrays.stream(ids.split(",")).map(Integer::parseInt).collect(Collectors.toList());
return certificationMapper.deleteBatchIds(list);
}
diff --git a/basic-server/src/main/resources/mapper/CertificationMapper.xml b/basic-server/src/main/resources/mapper/CertificationMapper.xml
index 4926d05..bb4ab06 100644
--- a/basic-server/src/main/resources/mapper/CertificationMapper.xml
+++ b/basic-server/src/main/resources/mapper/CertificationMapper.xml
@@ -3,17 +3,17 @@
<mapper namespace="com.ruoyi.basic.mapper.CertificationMapper">
<select id="getCertificationDetail" resultType="com.ruoyi.basic.pojo.Certification">
select b.*
- from ( select a.`name`, a.`code`,a.organization,a.explanation,a.first_issuance_date,a.latest_issuance_date,c.expire_time FROM
- (SELECT id,name,MIN(date_of_issuance) AS first_issuance_date,
- MAX(date_of_issuance) AS latest_issuance_date,
- c.`code`,c.organization,c.explanation
- FROM
- certification c
+ from ( select a.id, a.`name`, a.`code`,a.organization,a.explanation,a.first_issuance_date,a.latest_issuance_date,c.expire_time FROM
+ (SELECT id,name,MIN(date_of_issuance) AS first_issuance_date,
+ MAX(date_of_issuance) AS latest_issuance_date,
+ c.`code`,c.organization,c.explanation
+ FROM
+ certification c
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
${ew.customSqlSegment}
</if>
- GROUP BY
- name) a left join certification c on a.id=c.id
+ GROUP BY
+ name) a left join certification c on a.id=c.id
) b
</select>
</mapper>
diff --git a/cnas-require/pom.xml b/cnas-require/pom.xml
new file mode 100644
index 0000000..32347b9
--- /dev/null
+++ b/cnas-require/pom.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>ruoyi</artifactId>
+ <groupId>com.ruoyi</groupId>
+ <version>3.8.9</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>cnas-require</artifactId>
+
+ <properties>
+ <maven.compiler.source>8</maven.compiler.source>
+ <maven.compiler.target>8</maven.compiler.target>
+ </properties>
+
+ <dependencies>
+ <!-- 閫氱敤宸ュ叿-->
+ <dependency>
+ <groupId>com.ruoyi</groupId>
+ <artifactId>ruoyi-common</artifactId>
+ </dependency>
+
+ <!-- 鏍稿績妯″潡-->
+ <dependency>
+ <groupId>com.ruoyi</groupId>
+ <artifactId>ruoyi-framework</artifactId>
+ </dependency>
+
+ <!--涓氬姟妯″潡-->
+ <dependency>
+ <groupId>com.ruoyi</groupId>
+ <artifactId>inspect-server</artifactId>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeCalibrationScheduleController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeCalibrationScheduleController.java
new file mode 100644
index 0000000..d2a9654
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeCalibrationScheduleController.java
@@ -0,0 +1,88 @@
+package com.ruoyi.requier.controller;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.read.listener.PageReadListener;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson2.JSON;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.requier.excel.FeCalibrationScheduleExport;
+import com.ruoyi.requier.pojo.FeCalibrationSchedule;
+import com.ruoyi.requier.service.FeCalibrationScheduleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * <p>
+ * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 02:53:05
+ */
+@Api(tags = "閲忓�兼函婧愯鍒�")
+@RestController
+@RequestMapping("/feCalibrationSchedule")
+public class FeCalibrationScheduleController {
+
+ @Resource
+ private FeCalibrationScheduleService feCalibrationScheduleService;
+
+ @ApiOperation(value = "閲忓�兼函婧愯鍒掓煡璇�")
+ @GetMapping("/getPageCalibrationSchedule")
+ public Result<IPage<FeCalibrationSchedule>> getPageCalibrationSchedule(Page page, String instrumentName, String managementNumber) {
+ IPage<FeCalibrationSchedule> ipage = feCalibrationScheduleService.page(page,instrumentName, managementNumber);
+ return Result.success(ipage);
+ }
+
+ @ApiOperation(value = "閲忓�兼函婧愯鍒掓柊澧炵紪杈�")
+ @PostMapping("/addCalibrationSchedule")
+ public Result addCalibrationSchedule(@RequestBody FeCalibrationSchedule feCalibrationSchedule) {
+ return Result.success(feCalibrationScheduleService.saveOrUpdate(feCalibrationSchedule));
+ }
+
+ @ApiOperation(value = "閲忓�兼函婧愯鍒掑垹闄�")
+ @DeleteMapping("/removeCalibrationSchedule")
+ public Result removeCalibrationSchedule(Integer id) {
+ return Result.success(feCalibrationScheduleService.removeById(id));
+ }
+
+ @ApiOperation(value = "閲忓�兼函婧愯鍒掑鍑�")
+ @GetMapping("exportOfValueTraceabilityPlan")
+ public void exportOfValueTraceabilityPlan(String instrumentName, String managementNumber,
+ HttpServletResponse response) throws Exception {
+ IPage<FeCalibrationSchedule> data = feCalibrationScheduleService.page(new Page<>(-1, -1),instrumentName, managementNumber);
+ List<FeCalibrationScheduleExport> studentList = JSONObject.parseArray(JSON.toJSONString(data.getRecords()), FeCalibrationScheduleExport.class);
+ response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+ response.setHeader("requestType", "excel");
+ response.setHeader("Access-Control-Expose-Headers", "requestType");
+ // 璁剧疆鍗曞厓鏍兼牱寮�
+ // 淇濆瓨鍒扮涓�涓猻heet涓�
+ EasyExcel.write(response.getOutputStream())
+ .head(FeCalibrationScheduleExport.class)
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
+ .sheet("sheet")
+ .doWrite(studentList);
+ }
+
+ @ApiOperation(value = "閲忓�兼函婧愯鍒掑鍏�")
+ @PostMapping("/importOfValueTraceabilityPlan")
+ public void importOfValueTraceabilityPlan(MultipartFile file) throws IOException {
+ if (file.isEmpty()) {
+ return;
+ }
+ EasyExcel.read(file.getInputStream(), FeCalibrationScheduleExport.class, new PageReadListener<FeCalibrationScheduleExport>(dataList -> {
+ List<FeCalibrationSchedule> studentList = JSONObject.parseArray(JSON.toJSONString(dataList), FeCalibrationSchedule.class);
+ feCalibrationScheduleService.saveOrUpdateBatch(studentList);
+ })).sheet().doRead();
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeIlluminationController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeIlluminationController.java
new file mode 100644
index 0000000..98bbd0c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeIlluminationController.java
@@ -0,0 +1,87 @@
+package com.ruoyi.requier.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.requier.dto.FeIlluminationAddDto;
+import com.ruoyi.requier.dto.FeIlluminationDto;
+import com.ruoyi.requier.pojo.FeIllumination;
+import com.ruoyi.requier.pojo.FeIlluminationDetectionArea;
+import com.ruoyi.requier.service.FeIlluminationDetectionAreaService;
+import com.ruoyi.requier.service.FeIlluminationService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:15:57
+ */
+@RestController
+@RequestMapping("/feIllumination")
+@Api(tags = "璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�")
+public class FeIlluminationController {
+
+ @Autowired
+ private FeIlluminationService feIlluminationService;
+
+ @Autowired
+ private FeIlluminationDetectionAreaService feIlluminationDetectionAreaService;
+
+ @PostMapping("addFeLightningProtection")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏂板/淇敼")
+ public Result<?> addFeLightningProtection(@RequestBody FeIlluminationAddDto feIlluminationAddDto) {
+ FeIllumination feIllumination = new FeIllumination();
+ BeanUtils.copyProperties(feIlluminationAddDto, feIllumination);
+ feIlluminationService.saveOrUpdate(feIllumination);
+ feIlluminationAddDto.getIlluminationDetectionAreaList().forEach(i -> i.setIntensityIlluminationId(feIllumination.getIntensityIlluminationId()));
+ feIlluminationDetectionAreaService.saveOrUpdateBatch(feIlluminationAddDto.getIlluminationDetectionAreaList());
+ return Result.success();
+ }
+
+ @DeleteMapping("deleteFeLightningProtection")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鍒犻櫎")
+ public Result<?> deleteFeLightningProtection(@RequestParam("intensityIlluminationId") Integer intensityIlluminationId) {
+ feIlluminationService.removeById(intensityIlluminationId);
+ return Result.success();
+ }
+
+ @GetMapping("getFeLightningProtection")
+ @ApiOperation("鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏌ヨ")
+ public Result<IPage<FeIlluminationDto>> getFeLightningProtection(Page page) {
+ IPage<FeIlluminationDto> page1 = feIlluminationService.getFeLightningProtection(page);
+ return Result.success(page1);
+ }
+
+ @DeleteMapping("deleteFeIlluminationDetectionArea")
+ @ApiOperation("鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鍒犻櫎")
+ public Result<?> deleteFeIlluminationDetectionArea(@RequestParam("detectionAreaId") Integer detectionAreaId) {
+ return Result.success(feIlluminationDetectionAreaService.removeById(detectionAreaId));
+ }
+
+ @GetMapping("getFeIlluminationDetectionArea")
+ @ApiOperation("鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏍规嵁鐓у害璁板綍鏌ヨ")
+ public Result<?> getFeIlluminationDetectionArea(@RequestParam("intensityIlluminationId") Integer intensityIlluminationId) {
+ return Result.success(feIlluminationDetectionAreaService.list(Wrappers.<FeIlluminationDetectionArea>lambdaQuery()
+ .eq(FeIlluminationDetectionArea::getIntensityIlluminationId, intensityIlluminationId)));
+ }
+
+ /**
+ * 瀵煎嚭鐓у害璁板綍
+ * @return
+ */
+ @ApiOperation(value = "瀵煎嚭鐓у害璁板綍")
+ @GetMapping("/exportFeIllumination")
+ public void exportFeIllumination(Integer intensityIlluminationId, HttpServletResponse response){
+ feIlluminationService.exportFeIllumination(intensityIlluminationId, response);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeLightningProtectionController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeLightningProtectionController.java
new file mode 100644
index 0000000..9b72a8a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeLightningProtectionController.java
@@ -0,0 +1,80 @@
+package com.ruoyi.requier.controller;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.utils.FileSaveUtil;
+import com.ruoyi.requier.excel.FeLightningProtectionExcel;
+import com.ruoyi.requier.pojo.FeLightningProtection;
+import com.ruoyi.requier.service.FeLightningProtectionService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:36
+ */
+@Api(tags = "璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴�")
+@RestController
+@RequestMapping("/feLightningProtection")
+public class FeLightningProtectionController {
+
+ @Autowired
+ private FeLightningProtectionService feLightningProtectionService;
+
+ @PostMapping("addLightningProtectionDetection")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴嬫柊澧�/淇敼")
+ public Result<?> addLightningProtectionDetection(FeLightningProtection feLightningProtection,
+ @RequestPart(value = "file", required = false) MultipartFile file) {
+ if (ObjectUtils.isNotEmpty(file)) {
+ String s = FileSaveUtil.StoreFile(file);
+ feLightningProtection.setSystemFileName(s);
+ feLightningProtection.setFileName(file.getOriginalFilename());
+ }
+ feLightningProtectionService.saveOrUpdate(feLightningProtection);
+ return Result.success();
+ }
+
+ @DeleteMapping("deleteLightningProtectionDetection")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴嬪垹闄�")
+ public Result<?> deleteFeLightningProtection(@RequestParam("lightningProtectionId") Integer lightningProtectionId) {
+ feLightningProtectionService.removeById(lightningProtectionId);
+ return Result.success();
+ }
+
+ @GetMapping("getLightningProtectionDetection")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴嬫煡璇�")
+ public Result<IPage<FeLightningProtection>> getFeLightningProtection(Page page) {
+ IPage<FeLightningProtection> page1 = feLightningProtectionService.page(page);
+ return Result.success(page1);
+ }
+
+ @ApiOperation(value = "璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴嬪鍑�")
+ @GetMapping("exportOfLightningProtectionDetection")
+ public void exportOfLightningProtectionDetection(HttpServletResponse response) throws Exception {
+ List<FeLightningProtectionExcel> ipage = feLightningProtectionService.exportOfLightningProtectionDetection();
+ response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+ response.setHeader("requestType", "excel");
+ response.setHeader("Access-Control-Expose-Headers", "requestType");
+ // 璁剧疆鍗曞厓鏍兼牱寮�
+ // 淇濆瓨鍒扮涓�涓猻heet涓�
+ EasyExcel.write(response.getOutputStream())
+ .head(FeLightningProtectionExcel.class)
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
+ .sheet("sheet")
+ .doWrite(ipage);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FePowerStableController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FePowerStableController.java
new file mode 100644
index 0000000..dd7d91d
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/FePowerStableController.java
@@ -0,0 +1,96 @@
+package com.ruoyi.requier.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.requier.dto.FePowerStableAddDto;
+import com.ruoyi.requier.dto.FePowerStableDto;
+import com.ruoyi.requier.pojo.FeMeasuredQuantity;
+import com.ruoyi.requier.pojo.FePowerStable;
+import com.ruoyi.requier.service.FeMeasuredQuantityService;
+import com.ruoyi.requier.service.FePowerStableService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:52
+ */
+@Api(tags = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�")
+@RestController
+@RequestMapping("/fePowerStable")
+public class FePowerStableController {
+
+ @Autowired
+ private FeMeasuredQuantityService feMeasuredQuantityService;
+
+ @Autowired
+ private FePowerStableService fePowerStableService;
+
+ @PostMapping("addLaboratoryFacilityPowerStable")
+ @ApiOperation("鐢垫簮绋冲畾鎬ф柊澧�/淇敼")
+ public Result<?> addLaboratoryFacilityPowerStable(@RequestBody FePowerStableAddDto fePowerStableAddDto) {
+ FePowerStable fePowerStable = new FePowerStable();
+ BeanUtils.copyProperties(fePowerStableAddDto, fePowerStable);
+ fePowerStableService.saveOrUpdate(fePowerStable);
+ fePowerStableAddDto.getFeMeasuredQuantityList().forEach(i -> i.setPowerStableId(fePowerStable.getPowerStableId()));
+ feMeasuredQuantityService.saveOrUpdateBatch(fePowerStableAddDto.getFeMeasuredQuantityList());
+ return Result.success();
+ }
+
+ @DeleteMapping("deleteLaboratoryFacilityPowerStable")
+ @ApiOperation("鐢垫簮绋冲畾鎬у垹闄�")
+ public Result<FePowerStable> deleteLaboratoryFacilityPowerStable(@RequestParam("powerStableId") Integer powerStableId) {
+ fePowerStableService.removeById(powerStableId);
+ feMeasuredQuantityService.remove(Wrappers.<FeMeasuredQuantity>lambdaQuery()
+ .eq(FeMeasuredQuantity::getPowerStableId, powerStableId));
+ return Result.success();
+ }
+
+ @GetMapping("getLaboratoryFacilityPowerStablePage")
+ @ApiOperation("鐢垫簮绋冲畾鎬ф煡璇�")
+ public Result<IPage<FePowerStableDto>> getLaboratoryFacilityPowerStablePage(
+ Page page) {
+ IPage<FePowerStableDto> page1 = fePowerStableService.getLaboratoryFacilityPowerStablePage(page);
+ return Result.success(page1);
+ }
+
+ @ApiOperation("閫夋嫨璁惧鍚庢煡璇㈡渶鏂拌澶囩紪鍙凤紝鏍″噯鏃ユ湡")
+ @GetMapping("getCalibrationDate")
+ public Result<?> getCalibrationDate(@RequestParam("deviceId") Integer deviceId) {
+ return Result.success(fePowerStableService.getCalibrationDate(deviceId));
+ }
+
+ @DeleteMapping("deleteFeMeasuredQuantity")
+ @ApiOperation("鐢垫簮绋冲畾鎬�-娴嬪畾閲� 鍒犻櫎")
+ public Result<?> deleteFeMeasuredQuantity(@RequestParam("measuredQuantityId") Integer measuredQuantityId) {
+ return Result.success(feMeasuredQuantityService.removeById(measuredQuantityId));
+ }
+
+ @GetMapping("getFeMeasuredQuantityService")
+ @ApiOperation("鐢垫簮绋冲畾鎬�-娴嬪畾閲� 鏍规嵁鐢垫簮绋冲畾鎬ф煡璇�")
+ public Result<?> getFeMeasuredQuantityService(@RequestParam("powerStableId") Integer powerStableId) {
+ return Result.success(feMeasuredQuantityService.list(Wrappers.<FeMeasuredQuantity>lambdaQuery()
+ .eq(FeMeasuredQuantity::getPowerStableId, powerStableId)));
+ }
+
+ /**
+ * 瀵煎嚭鐢垫簮绋冲畾鎬�
+ * @return
+ */
+ @ApiOperation(value = "瀵煎嚭鐢垫簮绋冲畾鎬�")
+ @GetMapping("/exportFePowerStable")
+ public void exportFePowerStable(Integer powerStableId, HttpServletResponse response){
+ fePowerStableService.exportFePowerStable(powerStableId, response);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceController.java
new file mode 100644
index 0000000..a55b1aa
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceController.java
@@ -0,0 +1,88 @@
+package com.ruoyi.requier.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.requier.dto.AcceptanceDto;
+import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
+import com.ruoyi.requier.service.FeStandardSubstanceAcceptanceInspectionService;
+import com.ruoyi.requier.service.FeStandardSubstanceAcceptanceService;
+import com.ruoyi.requier.vo.AcceptanceVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川楠屾敹 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:29:41
+ */
+@Api(tags = "鏍囧噯鐗╄川楠屾敹")
+@RestController
+@RequestMapping("/feStandardSubstanceAcceptance")
+public class FeStandardSubstanceAcceptanceController {
+
+ @Autowired
+ private FeStandardSubstanceAcceptanceInspectionService inspectionService;
+ @Resource
+ private FeStandardSubstanceAcceptanceService feStandardSubstanceAcceptanceService;
+
+ @ApiOperation(value = "鏂板")
+ @PostMapping("/addAcceptance")
+ @Transactional
+ public Result addAcceptance(@RequestBody AcceptanceDto dto) {
+ feStandardSubstanceAcceptanceService.addAcceptance(dto);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鏍囧噯鐗╄川楠屾敹鏌ヨ")
+ @GetMapping("/getPageAcceptance")
+ public Result<IPage<AcceptanceVo>> getPageAcceptance(Page page, String name) {
+ IPage<AcceptanceVo> ipage = feStandardSubstanceAcceptanceService.getPageAcceptance(page, name);
+ return Result.success(ipage);
+ }
+
+ @ApiOperation(value = "鏍囧噯鐗╄川楠屾敹鍒犻櫎")
+ @DeleteMapping("/deleteAcceptance/{id}")
+ public Result deleteAcceptance(@PathVariable("id") Integer id) {
+ return Result.success(feStandardSubstanceAcceptanceService.deleteAcceptance(id));
+ }
+
+ @ApiOperation(value = "缂栬緫")
+ @PostMapping("/updateAcceptance")
+ public Result updateAcceptance(@RequestBody AcceptanceDto acceptanceDto) {
+ feStandardSubstanceAcceptanceService.updateById(acceptanceDto.getAcceptance());
+ for (FeStandardSubstanceAcceptanceInspection v : acceptanceDto.getList()) {
+ if (v.getId()== null) {
+ inspectionService.save(v);
+ }else {
+ inspectionService.updateById(v);
+ }
+ }
+ return Result.success();
+ }
+
+
+ @ApiOperation(value = "鏍囧噯鐗╄川楠屾敹鏌ヨ")
+ @GetMapping("/getAcceptanceDetails")
+ public Result getAcceptanceDetails(Integer id) {
+ return Result.success(feStandardSubstanceAcceptanceService.getAcceptanceDetails(id));
+ }
+
+ @ApiOperation("瀵煎嚭鏍囧噯鐗╄川楠屾敹")
+ @GetMapping("/exportFeStandardSubstanceAcceptance")
+ public Result exportFeStandardSubstanceAcceptance(HttpServletResponse response) {
+ feStandardSubstanceAcceptanceService.exportFeStandardSubstanceAcceptance(response);
+ return Result.success();
+ }
+
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceInspectionController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceInspectionController.java
new file mode 100644
index 0000000..5253a8a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceInspectionController.java
@@ -0,0 +1,40 @@
+package com.ruoyi.requier.controller;
+
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
+import com.ruoyi.requier.service.FeStandardSubstanceAcceptanceInspectionService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * <p>
+ * 楠屾敹寮�绠辫褰� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:30:09
+ */
+@Api(tags = "楠屾敹寮�绠辫褰�")
+@RestController
+@RequestMapping("/feStandardSubstanceAcceptanceInspection")
+public class FeStandardSubstanceAcceptanceInspectionController {
+
+
+ @Resource
+ private FeStandardSubstanceAcceptanceInspectionService feStandardSubstanceAcceptanceInspectionService;
+
+
+ @ApiOperation(value = "鏂板鎴栫紪杈�")
+ @PostMapping("/addInspection")
+ public Result addInspection(@RequestBody FeStandardSubstanceAcceptanceInspection inspection) {
+ feStandardSubstanceAcceptanceInspectionService.saveOrUpdate(inspection);
+ return Result.success();
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceController.java
new file mode 100644
index 0000000..6fb3da4
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceController.java
@@ -0,0 +1,82 @@
+package com.ruoyi.requier.controller;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson2.JSON;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.requier.excel.FeStandardSubstanceExcel;
+import com.ruoyi.requier.pojo.FeStandardSubstance;
+import com.ruoyi.requier.service.FeStandardSubstanceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 03:58:59
+ */
+@Api(tags = "鏍囧噯鐗╄川娓呭崟")
+@RestController
+@RequestMapping("/feStandardSubstance")
+public class FeStandardSubstanceController {
+
+
+ @Resource
+ private FeStandardSubstanceService feStandardSubstanceService;
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鏌ヨ")
+ @GetMapping("/getPageStandardSubstance")
+ public Result<IPage<FeStandardSubstance>> getPageStandardSubstance(Page page, FeStandardSubstance feStandardSubstance) {
+ IPage<FeStandardSubstance> ipage = feStandardSubstanceService.page(page, feStandardSubstance);
+ return Result.success(ipage);
+ }
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鏂板缂栬緫")
+ @PostMapping("/addStandardSubstance")
+ public Result addStandardSubstance(@RequestBody FeStandardSubstance feStandardSubstance) {
+ return Result.success(feStandardSubstanceService.saveOrUpdate(feStandardSubstance));
+ }
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鍒犻櫎")
+ @DeleteMapping("/removeStandardSubstance")
+ public Result removeStandardSubstance(Integer id) {
+ return Result.success(feStandardSubstanceService.removeById(id));
+ }
+
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鏌ヨ鎵�鏈�")
+ @GetMapping("/getStandardSubstanceAll")
+ public Result<List<FeStandardSubstance>> getStandardSubstanceAll( ) {
+ return Result.success(feStandardSubstanceService.list());
+ }
+
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟瀵煎嚭")
+ @GetMapping("exportOfStandardSubstanceList")
+ public void exportOfStandardSubstanceList(FeStandardSubstance feStandardSubstance,
+ HttpServletResponse response) throws Exception {
+ IPage<FeStandardSubstance> ipage = feStandardSubstanceService.page(new Page<>(1, -1), feStandardSubstance);
+ List<FeStandardSubstanceExcel> studentList = JSONObject.parseArray(JSON.toJSONString(ipage.getRecords()), FeStandardSubstanceExcel.class);
+ response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+ response.setHeader("requestType", "excel");
+ response.setHeader("Access-Control-Expose-Headers", "requestType");
+ // 璁剧疆鍗曞厓鏍兼牱寮�
+ // 淇濆瓨鍒扮涓�涓猻heet涓�
+ EasyExcel.write(response.getOutputStream())
+ .head(FeStandardSubstanceExcel.class)
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
+ .sheet("sheet")
+ .doWrite(studentList);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceRecordController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceRecordController.java
new file mode 100644
index 0000000..1b2c449
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceRecordController.java
@@ -0,0 +1,60 @@
+package com.ruoyi.requier.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.requier.pojo.FeStandardSubstanceRecord;
+import com.ruoyi.requier.service.FeStandardSubstanceRecordService;
+import com.ruoyi.requier.vo.SubstanceRecordVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 01:49:11
+ */
+@Api(tags = "鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍")
+@RestController
+@RequestMapping("/feStandardSubstanceRecord")
+public class FeStandardSubstanceRecordController {
+
+ @Resource
+ private FeStandardSubstanceRecordService feStandardSubstanceRecordService;
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鍊熺敤")
+ @PostMapping("/borrowSubstance")
+ @Transactional
+ public Result borrowSubstance(@RequestBody FeStandardSubstanceRecord record) {
+ feStandardSubstanceRecordService.borrowSubstance(record);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟褰掕繕")
+ @PostMapping("/returnSubstance")
+ @Transactional
+ public Result returnSubstance(@RequestBody FeStandardSubstanceRecord record) {
+ feStandardSubstanceRecordService.returnSubstance(record);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟棰嗙敤鏌ヨ")
+ @GetMapping("/getSubstanceRecord")
+ public Result getSubstanceRecord(Integer id) {
+ return Result.success(feStandardSubstanceRecordService.getSubstanceRecord(id));
+ }
+
+ @ApiOperation(value = "鍒嗛〉鏌ヨ")
+ @GetMapping("/getPageSubstanceRecord")
+ public Result<IPage<SubstanceRecordVo>> getPageSubstanceRecord(Page page, SubstanceRecordVo vo) {
+ IPage<SubstanceRecordVo> ipage = feStandardSubstanceRecordService.getPage(page,vo);
+ return Result.success(ipage);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeTempHumDateController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeTempHumDateController.java
new file mode 100644
index 0000000..af391c9
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeTempHumDateController.java
@@ -0,0 +1,91 @@
+package com.ruoyi.requier.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.requier.dto.FeTempHumDateDto;
+import com.ruoyi.requier.dto.FeTempHumRecordDto;
+import com.ruoyi.requier.pojo.FeTempHumDate;
+import com.ruoyi.requier.pojo.FeTempHumRecord;
+import com.ruoyi.requier.service.FeTempHumDateService;
+import com.ruoyi.requier.service.FeTempHumRecordService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-09 11:02:18
+ */
+@RestController
+@RequestMapping("/feTempHumDate")
+@Api(tags = "璇曢獙鍖哄煙")
+public class FeTempHumDateController {
+
+ @Autowired
+ private FeTempHumDateService feTempHumDateService;
+
+ @Autowired
+ private FeTempHumRecordService feTempHumRecordService;
+
+ @PostMapping("addFeTempHumDate")
+ @ApiOperation("璇曢獙鍖哄煙-鏂板/淇敼")
+ public Result<?> addFeTempHumDate(@RequestBody FeTempHumDate feTempHumDate) {
+ feTempHumDateService.saveOrUpdate(feTempHumDate);
+ return Result.success();
+ }
+
+ @DeleteMapping("deleteFeTempHumDate")
+ @ApiOperation("璇曢獙鍖哄煙-鍒犻櫎")
+ public Result<?> deleteFeTempHumDate(
+ @RequestParam("dateId") Integer dateId) {
+ feTempHumDateService.removeById(dateId);
+ return Result.success();
+ }
+
+ @GetMapping("getFeTempHumDate")
+ @ApiOperation("璇曢獙鍖哄煙-鏌ヨ")
+ public Result<IPage<FeTempHumDateDto>> getFeTempHumDate(Page page) {
+ IPage<FeTempHumDateDto> page1 = feTempHumDateService.getFeTempHumDate(page);
+ return Result.success(page1);
+ }
+
+ @PostMapping("addFeTempHumRecord")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰曟柊澧�/淇敼")
+ public Result<FeTempHumRecord> addFeTempHumRecord(@RequestBody FeTempHumRecord feTempHumRecord) {
+ feTempHumRecordService.saveOrUpdate(feTempHumRecord);
+ return Result.success();
+ }
+
+ @DeleteMapping("deleteFeTempHumRecord")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰曞垹闄�")
+ public Result<?> deleteFeTempHumRecord(
+ @RequestParam("tempHumId") Integer tempHumId) {
+ feTempHumRecordService.removeById(tempHumId);
+ return Result.success();
+ }
+
+ @GetMapping("getFeTempHumRecordPage")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰曟煡璇�")
+ public Result<IPage<FeTempHumRecordDto>> getFeTempHumRecordPage(Page page, Integer dateId) {
+ IPage<FeTempHumRecordDto> page1 = feTempHumRecordService.getFeTempHumRecordPage(page, dateId);
+ return Result.success(page1);
+ }
+
+ /**
+ * 娓╂箍搴﹁褰曞鍑�
+ * @return
+ */
+ @ApiOperation(value = "娓╂箍搴﹁褰曞鍑�")
+ @GetMapping("/exportTemperatureAndHumidityRecords")
+ public void exportTemperatureAndHumidityRecords(Integer dateId, HttpServletResponse response){
+ feTempHumDateService.exportTemperatureAndHumidityRecords(dateId, response);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/ForeignRegisterController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/ForeignRegisterController.java
new file mode 100644
index 0000000..f3af0fb
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/ForeignRegisterController.java
@@ -0,0 +1,93 @@
+package com.ruoyi.requier.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.requier.dto.ForeignRegisterDto;
+import com.ruoyi.requier.pojo.ForeignRegister;
+import com.ruoyi.requier.service.ForeignRegisterService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 澶栨潵浜哄憳鐧昏 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 07:17:35
+ */
+@Api(tags = "澶栨潵浜哄憳鐧昏")
+@AllArgsConstructor
+@RestController
+@RequestMapping("/foreignRegister")
+public class ForeignRegisterController {
+
+ private ForeignRegisterService foreignRegisterService;
+
+ /**
+ * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ
+ * @param
+ * @return
+ */
+ @ApiOperation(value = "澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ")
+ @GetMapping("/pageForeignRegister")
+ public Result<IPage<ForeignRegisterDto>> pageForeignRegister(Page page, ForeignRegisterDto foreignRegister) throws Exception {
+ return Result.success(foreignRegisterService.pageForeignRegister(page, foreignRegister));
+ }
+
+ /**
+ * 澶栨潵浜哄憳鐧昏鏂板
+ * @return
+ */
+ @ApiOperation(value = "澶栨潵浜哄憳鐧昏鏂板")
+ @PostMapping("/addForeignRegister")
+ public Result addForeignRegister(@RequestBody ForeignRegister foreignRegister){
+ return Result.success(foreignRegisterService.save(foreignRegister));
+ }
+
+ /**
+ * 澶栨潵浜哄憳鐧昏淇敼
+ * @return
+ */
+ @ApiOperation(value = "澶栨潵浜哄憳鐧昏淇敼")
+ @PostMapping("/updateForeignRegister")
+ public Result updateForeignRegister(@RequestBody ForeignRegister foreignRegister){
+ return Result.success(foreignRegisterService.updateById(foreignRegister));
+ }
+
+ /**
+ * 澶栨潵浜哄憳鐧昏鍒犻櫎
+ * @return
+ */
+ @ApiOperation(value = "澶栨潵浜哄憳鐧昏鍒犻櫎")
+ @DeleteMapping("/delForeignRegister")
+ public Result delForeignRegister(Integer registerId){
+ return Result.success(foreignRegisterService.removeById(registerId));
+ }
+
+ /**
+ * 澶栨潵浜哄憳鐧昏鏌ョ湅璇︽儏
+ * @return
+ */
+ @ApiOperation(value = "澶栨潵浜哄憳鐧昏鏌ョ湅璇︽儏")
+ @GetMapping("/getForeignRegisterOne")
+ public Result<ForeignRegister> getForeignRegisterOne(Integer registerId){
+ return Result.success(foreignRegisterService.getById(registerId));
+ }
+
+ /**
+ * 瀵煎嚭澶栨潵浜哄憳鐧昏
+ * @return
+ */
+ @ApiOperation(value = "瀵煎嚭澶栨潵浜哄憳鐧昏")
+ @GetMapping("/exportForeignRegister")
+ public void exportForeignRegister(ForeignRegisterDto foreignRegister, HttpServletResponse response){
+ foreignRegisterService.exportForeignRegister(foreignRegister, response);
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/InternalWastesController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/InternalWastesController.java
new file mode 100644
index 0000000..f124356
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/InternalWastesController.java
@@ -0,0 +1,93 @@
+package com.ruoyi.requier.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.requier.dto.InternalWastesDto;
+import com.ruoyi.requier.pojo.InternalWastes;
+import com.ruoyi.requier.service.InternalWastesService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:27
+ */
+@Api(tags = "瀹夊叏鍐呭姟涓夊簾鐧昏")
+@AllArgsConstructor
+@RestController
+@RequestMapping("/internalWastes")
+public class InternalWastesController {
+
+ private InternalWastesService internalWastesService;
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒嗛〉鏌ヨ
+ * @param
+ * @return
+ */
+ @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鍒嗛〉鏌ヨ")
+ @GetMapping("/pageInternalWastes")
+ public Result<IPage<InternalWastesDto>> pageInternalWastes(Page page,InternalWastes internalWastes) throws Exception {
+ return Result.success(internalWastesService.pageInternalWastes(page, internalWastes));
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏂板
+ * @return
+ */
+ @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鏂板")
+ @PostMapping("/addInternalWastes")
+ public Result addInternalWastes(@RequestBody InternalWastesDto internalWastes){
+ return Result.success(internalWastesService.addInternalWastes(internalWastes));
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊淇敼
+ * @return
+ */
+ @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊淇敼")
+ @PostMapping("/updateInternalWastes")
+ public Result updateInternalWastes(@RequestBody InternalWastesDto internalWastes){
+ return Result.success(internalWastesService.updateInternalWastes(internalWastes));
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒犻櫎
+ * @return
+ */
+ @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鍒犻櫎")
+ @DeleteMapping("/delInternalWastes")
+ public Result delInternalWastes(Integer wastesId){
+ return Result.success(internalWastesService.delInternalWastes(wastesId));
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏌ョ湅璇︽儏
+ * @return
+ */
+ @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鏌ョ湅璇︽儏")
+ @GetMapping("/getInternalWastesOne")
+ public Result<InternalWastesDto> getInternalWastesOne(Integer wastesId){
+ return Result.success(internalWastesService.getInternalWastesOne(wastesId));
+ }
+
+ /**
+ * 瀵煎嚭涓夊簾澶勭悊
+ * @return
+ */
+ @ApiOperation(value = "瀵煎嚭涓夊簾澶勭悊")
+ @GetMapping("/exportInternalWastes")
+ public void exportInternalWastes(Integer wastesId, HttpServletResponse response){
+ internalWastesService.exportInternalWastes(wastesId, response);
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesContentsController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesContentsController.java
new file mode 100644
index 0000000..97d98ba
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesContentsController.java
@@ -0,0 +1,75 @@
+package com.ruoyi.requier.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.requier.pojo.ProcurementSuppliesContents;
+import com.ruoyi.requier.service.ProcurementSuppliesContentsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Api(tags = "鏈嶅姟鍜屼緵搴斿搧閲囪喘鍏徃鍒楄〃")
+@RestController
+@RequestMapping("/procurementSuppliesContents")
+@AllArgsConstructor
+public class ProcurementSuppliesContentsController {
+
+ private ProcurementSuppliesContentsService procurementSuppliesService;
+
+ @ApiOperation(value = "鏌ヨ鐩綍鍒楄〃")
+ @GetMapping("/directoryListing")
+ public Result directoryListing() {
+ return Result.success(procurementSuppliesService.directoryListing());
+ }
+
+ @ApiOperation(value = "鏍规嵁id鏌ヨ")
+ @GetMapping("/selectProcurementSuppliesContentById")
+ public Result selectProcurementSuppliesContentById(Integer id) {
+ return Result.success(procurementSuppliesService.getById(id));
+ }
+
+ @ApiOperation(value = "娣诲姞瀛愯妭鐐�")
+ @PostMapping("/addProcurementSuppliesContents")
+ public Result addProcurementSuppliesContents(@RequestBody ProcurementSuppliesContents procurementSupplies) {
+ procurementSupplies.setUpdateTime(LocalDateTime.now());
+ procurementSuppliesService.save(procurementSupplies);
+ return Result.success(procurementSupplies.getId());
+ }
+
+ @ApiOperation(value = "鏇存柊瀛愯妭鐐�")
+ @PostMapping("/updateProcurementSuppliesContents")
+ public Result updateProcurementSuppliesContents(@RequestBody ProcurementSuppliesContents procurementSupplies) {
+ return Result.success(procurementSuppliesService.updateById(procurementSupplies));
+ }
+
+ @ApiOperation(value = "鍒犻櫎瀛愯妭鐐�")
+ @DeleteMapping("/deleteProcurementSuppliesContentById")
+ public Result deleteProcurementSuppliesContentById(Integer id) {
+ List<ProcurementSuppliesContents> list = procurementSuppliesService.list(new LambdaQueryWrapper<ProcurementSuppliesContents>()
+ .eq(ProcurementSuppliesContents::getParentId, id));
+ if(list.size() > 0) {
+ throw new ErrorException("璇ヨ妭鐐瑰惈鏈夊瓙鑺傜偣,璇峰厛鍒犻櫎瀛愯妭鐐�");
+ }
+ procurementSuppliesService.removeById(id);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鏌ヨ鎵�鏈夎妭鐐�")
+ @GetMapping("/getNodeNames")
+ public Result getNodeNames() {
+ return Result.success(procurementSuppliesService.getNodeNames());
+ }
+
+ @ApiOperation(value = "鑾峰彇鎵�鏈変汉鍛�")
+ @GetMapping("/getUserList")
+ public Result getUserList() {
+ return Result.success(procurementSuppliesService.getUserList());
+ }
+
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesExpendsController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesExpendsController.java
new file mode 100644
index 0000000..7fcc1ed
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesExpendsController.java
@@ -0,0 +1,50 @@
+package com.ruoyi.requier.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.requier.dto.ProcurementSuppliesExpendDto;
+import com.ruoyi.requier.service.ProcurementSuppliesExpendsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 03:47:19
+ */
+@Api(tags = "鏈嶅姟鍜屼緵搴斿搧閲囪喘鑰楁潗娑堣��")
+@RestController
+@RequestMapping("/procurementSuppliesExpends")
+public class ProcurementSuppliesExpendsController {
+ @Autowired
+ private ProcurementSuppliesExpendsService procurementSuppliesExpendsService;
+
+ @ApiOperation(value = "鏌ヨ鎵�鏈夎褰�")
+ @GetMapping("/procurementSuppliesExpendlist")
+ public Result procurementSuppliesExpendlist(Page page,Long procurementSuppliesListId) {
+ return Result.success(procurementSuppliesExpendsService.selectAll(page,procurementSuppliesListId));
+ }
+
+ @ApiOperation(value = "鏂板娑堣�楄褰�")
+ @PostMapping("/addProcurementSuppliesExpends")
+ public Result addProcurementSuppliesExpends(@RequestBody ProcurementSuppliesExpendDto dto) {
+ Integer added = procurementSuppliesExpendsService.addExpends(dto);
+
+ if ( added == 0) {
+ return Result.fail("褰撳墠搴撳瓨涓嶈冻");
+ }
+ return Result.success(added);
+ }
+
+ @ApiOperation(value = "鍒犻櫎娑堣�楄褰�")
+ @DeleteMapping("/deleteProcurementSuppliesExpends")
+ public Result deleteProcurementSuppliesExpends(Long expendId) throws ServiceException {
+ return Result.success(procurementSuppliesExpendsService.deleteExpends(expendId));
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesListController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesListController.java
new file mode 100644
index 0000000..3af071e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesListController.java
@@ -0,0 +1,94 @@
+package com.ruoyi.requier.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.requier.dto.ProcurementSuppliesListDto;
+import com.ruoyi.requier.mapper.ProcurementSuppliesListMapper;
+import com.ruoyi.requier.mapper.SupplierManagementMapper;
+import com.ruoyi.requier.pojo.ProcurementSuppliesList;
+import com.ruoyi.requier.pojo.SupplierManagement;
+import com.ruoyi.requier.service.ProcurementSuppliesListService;
+import com.ruoyi.system.mapper.UserMapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 04:04:32
+ */
+@Api(tags = "鏈嶅姟鍜屼緵搴斿搧閲囪喘鑰楁潗")
+@RestController
+@RequestMapping("/procurementSuppliesList")
+public class ProcurementSuppliesListController {
+ @Autowired
+ private ProcurementSuppliesListService procurementSuppliesListService;
+
+ @Resource
+ private ProcurementSuppliesListMapper listMapper;
+
+ @Autowired
+ private UserMapper userMapper;
+
+ @Autowired
+ private SupplierManagementMapper supplierManagementMapper;
+
+ @ApiOperation(value = "鍒嗛〉鏌ヨ")
+ @GetMapping("/procurementSuppliesList")
+ public Result<IPage<ProcurementSuppliesListDto>> procurementSuppliesList(Page page, ProcurementSuppliesListDto list) {
+ return Result.success(procurementSuppliesListService.selectList(page, list));
+ }
+
+ @ApiOperation(value = "鏍规嵁id鏌ヨ鑰楁潗")
+ @GetMapping("/selectProcurementSuppliesListById")
+ public Result selectProcurementSuppliesListById(Integer id) {
+ ProcurementSuppliesList procurementSuppliesStore = listMapper.selectById(id);
+ ProcurementSuppliesListDto dto = new ProcurementSuppliesListDto();
+ BeanUtils.copyProperties(procurementSuppliesStore, dto);
+
+ User user = userMapper.selectById(procurementSuppliesStore.getPersonInCharge());
+ User updateUser = userMapper.selectById(procurementSuppliesStore.getUpdateUser());
+ SupplierManagement supplierManagement = supplierManagementMapper.selectById(procurementSuppliesStore.getSupplier());
+
+ dto.setPersonInChargeName(user.getName());
+ dto.setUpdateUserName(updateUser.getName());
+ dto.setSupplierName(supplierManagement.getSupplierName());
+ return Result.success(dto);
+ }
+
+ @ApiOperation(value = "鏂板鑰楁潗")
+ @PostMapping("/addProcurementSuppliesList")
+ public Result addProcurementSuppliesList(@RequestBody ProcurementSuppliesListDto dto) {
+ return Result.success(procurementSuppliesListService.addProcurementSuppliesList(dto));
+ }
+
+ @ApiOperation(value = "缂栬緫鑰楁潗")
+ @PostMapping("/updateProcurementSuppliesList")
+ public Result updateProcurementSuppliesList(@RequestBody ProcurementSuppliesListDto dto) {
+ return Result.success(procurementSuppliesListService.updateProcurementSuppliesList(dto));
+ }
+
+ @ApiOperation(value = "鍒犻櫎鑰楁潗")
+ @DeleteMapping("/deleteProcurementSuppliesList")
+ public Result deleteProcurementSuppliesList(Long id) {
+ return Result.success(listMapper.deleteById(id));
+ }
+
+ @ApiOperation(value = "瀵煎嚭鑰楁潗鍒楄〃")
+ @GetMapping("/exportProcurementSuppliesList/{parentId}")
+ public void exportProcurementSuppliesList( @PathVariable Integer parentId ,HttpServletResponse response) throws Exception {
+ procurementSuppliesListService.exportProcurementSuppliesList(parentId,response);
+
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesStoreController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesStoreController.java
new file mode 100644
index 0000000..7880499
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesStoreController.java
@@ -0,0 +1,81 @@
+package com.ruoyi.requier.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.utils.JackSonUtil;
+import com.ruoyi.requier.dto.StoreDto;
+import com.ruoyi.requier.pojo.ProcurementSuppliesConsumables;
+import com.ruoyi.requier.pojo.ProcurementSuppliesStore;
+import com.ruoyi.requier.service.ProcurementSuppliesConsumablesService;
+import com.ruoyi.requier.service.ProcurementSuppliesStoreService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "鏈嶅姟鍜屼緵搴斿搧閲囪喘鑰楁潗鍏ュ簱")
+@RestController
+@RequestMapping("/procurementSuppliesStore")
+@AllArgsConstructor
+public class ProcurementSuppliesStoreController {
+
+ private ProcurementSuppliesStoreService storeService;
+
+ private ProcurementSuppliesConsumablesService consumablesService;
+
+
+ @ApiOperation(value = "鑰楁潗鍏ュ簱鍒嗛〉鏌ヨ")
+ @GetMapping("/storeList")
+ public Result storeList(Page page,StoreDto storeDto) throws Exception {
+ return Result.success(storeService.selectStoreList(page, storeDto));
+ }
+
+ @ApiOperation(value = "娣诲姞鑰楁潗鍏ュ簱鍒楄〃")
+ @PostMapping("/addStore")
+ public Result addStore(@RequestBody Map<String,Object> map) {
+ storeService.addStore(map);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鍒犻櫎鑰楁潗鍏ュ簱")
+ @DeleteMapping("/deleteStore")
+ public Result deleteStore(@RequestParam("id") Integer id,@RequestParam("consumablesId") Integer consumablesId) {
+ storeService.deleteStore(id,consumablesId);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鏇存柊鑰楁潗鍏ュ簱")
+ @PostMapping("/updateStore")
+ public Result updateStore(@RequestBody Map<String,Object> map) {
+ storeService.updateStore(map);
+ return Result.success();
+ }
+
+
+ @ApiOperation(value = "鏍规嵁id鏌ヨ鑰楁潗鍏ュ簱")
+ @GetMapping("/selectStoreById")
+ public Result selectStore(Integer id) {
+ HashMap<String, Object> map = new HashMap<>();
+ ProcurementSuppliesStore procurementSuppliesStore = storeService.getById(id);
+ List<ProcurementSuppliesConsumables> list = consumablesService.list(new LambdaQueryWrapper<ProcurementSuppliesConsumables>()
+ .eq(ProcurementSuppliesConsumables::getStoreId, id));
+ map.put("store", procurementSuppliesStore);
+ map.put("consumables", list);
+ return Result.success(map);
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @GetMapping("/exportExcel/{parentId}")
+ public void exportExcel(@PathVariable Integer parentId, HttpServletResponse response) throws IOException {
+ storeService.exportExcel(parentId, response);
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/SupplierManagementController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/SupplierManagementController.java
new file mode 100644
index 0000000..3c67874
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/SupplierManagementController.java
@@ -0,0 +1,91 @@
+package com.ruoyi.requier.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.requier.pojo.SupplierManagement;
+import com.ruoyi.requier.service.ProcurementSuppliesContentsService;
+import com.ruoyi.requier.service.SupplierManagementService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 02:46:45
+ */
+@Api(tags = "渚涘簲鍟嗙鐞�")
+@RestController
+@RequestMapping("/supplierManagement")
+@AllArgsConstructor
+public class SupplierManagementController {
+
+ @Autowired
+ private SupplierManagementService supplierManagementService;
+
+ @Autowired
+ private ProcurementSuppliesContentsService procurementSuppliesContentsService;
+
+ @ApiOperation("鏌ヨ渚涙柟鍚嶅綍")
+ @GetMapping("/selectSupplierManagementByParentId/{parentId}")
+ public Result<List<SupplierManagement>> selectSupplierManagementByParentId(@PathVariable Integer parentId) throws Exception {
+ return Result.success(supplierManagementService.selectSupplierManagementByParentId(parentId));
+ }
+
+
+ @ApiOperation("鍒嗛〉鏌ヨ鍚堟牸渚涙柟鍚嶅綍")
+ @GetMapping("/selectQualifiedSupplierManagementPage")
+ public Result<IPage<SupplierManagement>> selectQualifiedSupplierManagement(SupplierManagement supplierManagement, Page page) throws Exception {
+ return Result.success(supplierManagementService.selectQualifiedSupplierManagement(page, supplierManagement));
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ渚涘簲鍟�")
+ @GetMapping("/selectQualifiedSupplierManagementById/{supplierManagementId}")
+ public Result<List<SupplierManagement>> selectQualifiedSupplierManagementById(@PathVariable Integer supplierManagementId) throws Exception {
+ return Result.success(supplierManagementService.selectQualifiedSupplierManagementById(supplierManagementId));
+ }
+
+ @ApiOperation("鏂板渚涘簲鍟�")
+ @PostMapping("/addSupplierManagement")
+ public Result addSupplierManagement(@RequestBody SupplierManagement supplierManagement) {
+ supplierManagement.setCreateUser(SecurityUtils.getUserId().intValue());
+ return Result.success(supplierManagementService.save(supplierManagement));
+ }
+
+ @ApiOperation("淇敼渚涘簲鍟�")
+ @PostMapping("/updateSupplierManagement")
+ public Result updateSupplierManagement(@RequestBody SupplierManagement supplierManagement) {
+ supplierManagement.setUpdateUser(SecurityUtils.getUserId().intValue());
+ return Result.success(supplierManagementService.updateById(supplierManagement));
+ }
+
+ @ApiOperation("鍒犻櫎渚涘簲鍟�")
+ @DeleteMapping("/delSupplierManagement/{id}")
+ public Result delSupplierManagement(@PathVariable Integer id) {
+ return Result.success(supplierManagementService.removeById(id));
+ }
+
+ @ApiOperation("瀵煎嚭渚涘簲鍟�")
+ @GetMapping("/exportSupplierManagement/{parentId}")
+ public void exportSupplierManagement(@PathVariable Integer parentId, HttpServletResponse response) throws Exception {
+ supplierManagementService.exportSupplierManagement(parentId, response);
+ }
+
+ @ApiOperation("鏌ヨ鍏ㄩ儴渚涙柟鍚嶅綍")
+ @GetMapping("/selectSupplierManagementAll")
+ public Result<List<SupplierManagement>> selectSupplierManagementAll() throws Exception {
+ return Result.success(supplierManagementService.selectSupplierManagementAll());
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/SuppliersDirectoryContentsController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/SuppliersDirectoryContentsController.java
new file mode 100644
index 0000000..c114f66
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/SuppliersDirectoryContentsController.java
@@ -0,0 +1,77 @@
+package com.ruoyi.requier.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.requier.pojo.SuppliersDirectoryContents;
+import com.ruoyi.requier.service.SuppliersDirectoryContentsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-12-17 06:14:51
+ */
+@Api(tags = "渚涘簲鍟嗙鐞嗘爲")
+@RestController
+@RequestMapping("/suppliersDirectoryContents")
+public class SuppliersDirectoryContentsController {
+
+ @Autowired
+ private SuppliersDirectoryContentsService suppliersDirectoryContentsService;
+
+ @ApiOperation(value = "鏌ヨ鐩綍鍒楄〃")
+ @GetMapping("/suppliersDirectoryContentsListing")
+ public Result suppliersDirectoryContentsListing() {
+ return Result.success(suppliersDirectoryContentsService.directoryListing());
+
+ }
+
+ @ApiOperation(value = "鏍规嵁id鏌ヨ")
+ @GetMapping("/selectSuppliersDirectoryContentsById")
+ public Result selectSuppliersDirectoryContentsById(Integer id) {
+ return Result.success(suppliersDirectoryContentsService.getById(id));
+ }
+
+ @ApiOperation(value = "娣诲姞瀛愯妭鐐�")
+ @PostMapping("/addSuppliersDirectoryContents")
+ public Result addSuppliersDirectoryContents(@RequestBody SuppliersDirectoryContents suppliersDirectoryContents ) {
+ suppliersDirectoryContents.setUpdateTime(LocalDateTime.now());
+ suppliersDirectoryContentsService.save(suppliersDirectoryContents);
+ return Result.success(suppliersDirectoryContents.getId());
+ }
+
+ @ApiOperation(value = "鏇存柊瀛愯妭鐐�")
+ @PostMapping("/updateSuppliersDirectoryContents")
+ public Result updateSuppliersDirectoryContents(@RequestBody SuppliersDirectoryContents suppliersDirectoryContents) {
+ return Result.success(suppliersDirectoryContentsService.updateById(suppliersDirectoryContents));
+ }
+
+ @ApiOperation(value = "鍒犻櫎瀛愯妭鐐�")
+ @DeleteMapping("/deleteSuppliersDirectoryContentsById")
+ public Result deleteSuppliersDirectoryContentsById(Integer id) {
+ List<SuppliersDirectoryContents> list = suppliersDirectoryContentsService.list(new LambdaQueryWrapper<SuppliersDirectoryContents>()
+ .eq(SuppliersDirectoryContents::getParentId, id));
+ if(list.size() > 0) {
+ throw new ErrorException("璇ヨ妭鐐瑰惈鏈夊瓙鑺傜偣,璇峰厛鍒犻櫎瀛愯妭鐐�");
+ }
+ suppliersDirectoryContentsService.removeById(id);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鏌ヨ鎵�鏈夎妭鐐�")
+ @GetMapping("/getSuppliersDirectoryContentsNodeNames")
+ public Result getSuppliersDirectoryContentsNodeNames() {
+ return Result.success(suppliersDirectoryContentsService.getSuppliersDirectoryContentsNodeNames());
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/AcceptanceDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/AcceptanceDto.java
new file mode 100644
index 0000000..287ca9a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/AcceptanceDto.java
@@ -0,0 +1,15 @@
+package com.ruoyi.requier.dto;
+
+import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptance;
+import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AcceptanceDto {
+
+ private FeStandardSubstanceAcceptance acceptance;
+
+ private List<FeStandardSubstanceAcceptanceInspection> list;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationAddDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationAddDto.java
new file mode 100644
index 0000000..804e9d9
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationAddDto.java
@@ -0,0 +1,15 @@
+package com.ruoyi.requier.dto;
+
+import com.ruoyi.requier.pojo.FeIllumination;
+import com.ruoyi.requier.pojo.FeIlluminationDetectionArea;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class FeIlluminationAddDto extends FeIllumination {
+
+ @ApiModelProperty("璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩�")
+ private List<FeIlluminationDetectionArea> illuminationDetectionAreaList;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationDto.java
new file mode 100644
index 0000000..554ec20
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationDto.java
@@ -0,0 +1,28 @@
+package com.ruoyi.requier.dto;
+
+import com.ruoyi.requier.pojo.FeIllumination;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class FeIlluminationDto extends FeIllumination {
+ @ApiModelProperty("妫�娴嬭��")
+ private String checkerUser;
+
+ @ApiModelProperty("鏍告煡浜�")
+ private String testerUser;
+
+ @ApiModelProperty("璁惧鍚嶇О")
+ private String deviceName;
+
+ @ApiModelProperty("璁惧缂栧彿")
+ private String managementNumber;
+
+ @ApiModelProperty("鏍″噯鏃ユ湡")
+ private Date calibrationDate;
+
+ @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
+ private Date nextCalibrationDate;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationExportDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationExportDto.java
new file mode 100644
index 0000000..3749a13
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationExportDto.java
@@ -0,0 +1,25 @@
+package com.ruoyi.requier.dto;
+
+import com.ruoyi.requier.pojo.FeIllumination;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author zhuo
+ * @Date 2024/11/28
+ */
+@Data
+public class FeIlluminationExportDto extends FeIllumination {
+
+ @ApiModelProperty("璁惧鍚嶇О")
+ private String deviceName;
+
+ @ApiModelProperty("璁惧缂栧彿")
+ private String managementNumber;
+
+ @ApiModelProperty("鏍″噯鏃ユ湡")
+ private String calibrationDateString;
+
+ @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
+ private String nextCalibrationDateString;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableAddDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableAddDto.java
new file mode 100644
index 0000000..7adfb9c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableAddDto.java
@@ -0,0 +1,15 @@
+package com.ruoyi.requier.dto;
+
+import com.ruoyi.requier.pojo.FeMeasuredQuantity;
+import com.ruoyi.requier.pojo.FePowerStable;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class FePowerStableAddDto extends FePowerStable {
+
+ @ApiModelProperty("璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲�")
+ private List<FeMeasuredQuantity> feMeasuredQuantityList;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableDto.java
new file mode 100644
index 0000000..5eb16b6
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableDto.java
@@ -0,0 +1,29 @@
+package com.ruoyi.requier.dto;
+
+import com.ruoyi.requier.pojo.FePowerStable;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class FePowerStableDto extends FePowerStable {
+
+ @ApiModelProperty("妫�娴嬭��")
+ private String checkerUser;
+
+ @ApiModelProperty("鏍告煡浜�")
+ private String testerUser;
+
+ @ApiModelProperty("璁惧鍚嶇О")
+ private String deviceName;
+
+ @ApiModelProperty("璁惧缂栧彿")
+ private String managementNumber;
+
+ @ApiModelProperty("鏍″噯鏃ユ湡")
+ private Date calibrationDate;
+
+ @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
+ private Date nextCalibrationDate;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableExportDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableExportDto.java
new file mode 100644
index 0000000..8c52cfc
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableExportDto.java
@@ -0,0 +1,30 @@
+package com.ruoyi.requier.dto;
+
+import com.ruoyi.requier.pojo.FePowerStable;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author zhuo
+ * @Date 2024/11/28
+ */
+@Data
+public class FePowerStableExportDto extends FePowerStable {
+
+ @ApiModelProperty("娴嬭瘯鏃ユ湡")
+ private String testDateString;
+
+ @ApiModelProperty("璁惧鍚嶇О")
+ private String deviceName;
+
+ @ApiModelProperty("璁惧缂栧彿")
+ private String managementNumber;
+
+ @ApiModelProperty("鏍″噯鏃ユ湡")
+ private String calibrationDateString;
+
+ @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
+ private String nextCalibrationDateString;
+
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumDateDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumDateDto.java
new file mode 100644
index 0000000..3179d2e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumDateDto.java
@@ -0,0 +1,12 @@
+package com.ruoyi.requier.dto;
+
+import com.ruoyi.requier.pojo.FeTempHumDate;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class FeTempHumDateDto extends FeTempHumDate {
+
+ @ApiModelProperty("鍒涘缓浜�")
+ private String createName;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumRecordDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumRecordDto.java
new file mode 100644
index 0000000..29a4308
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumRecordDto.java
@@ -0,0 +1,24 @@
+package com.ruoyi.requier.dto;
+
+import com.ruoyi.requier.pojo.FeTempHumRecord;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class FeTempHumRecordDto extends FeTempHumRecord {
+
+ @ApiModelProperty("涓嬪崍璁板綍鍛樺悕绉�")
+ private String afternoonRecorderUser;
+
+ @ApiModelProperty("涓婂崍璁板綍鍛樺悕绉�")
+ private String morningRecorderUser;
+
+ @ApiModelProperty("妫�娴嬪ぉ")
+ private Integer month;
+
+ @ApiModelProperty("涓嬪崍鏃堕棿")
+ private String afternoonTimeStr;
+
+ @ApiModelProperty("涓婂崍-鏃堕棿")
+ private String morningTestTimeStr;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/ForeignRegisterDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/ForeignRegisterDto.java
new file mode 100644
index 0000000..532fee7
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/ForeignRegisterDto.java
@@ -0,0 +1,32 @@
+package com.ruoyi.requier.dto;
+
+import com.deepoove.poi.data.PictureRenderData;
+import com.ruoyi.requier.pojo.ForeignRegister;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author zhuo
+ * @Date 2024/11/19
+ */
+@Data
+public class ForeignRegisterDto extends ForeignRegister {
+
+ @ApiModelProperty("寮�濮嬫椂闂�")
+ private String beginDate;
+
+ @ApiModelProperty("缁撴潫鏃堕棿")
+ private String endDate;
+
+ @ApiModelProperty("闄悓浜哄憳绛惧悕")
+ private PictureRenderData accompanyingRender;
+
+ @ApiModelProperty("鎵瑰噯浜哄憳绛惧悕")
+ private PictureRenderData approveRender;
+
+ @ApiModelProperty("闄悓浜哄憳绛惧悕鍦板潃")
+ private String accompanyingUrl;
+
+ @ApiModelProperty("闄悓浜哄憳绛惧悕鍦板潃")
+ private String approveUrl;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/InternalWastesDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/InternalWastesDto.java
new file mode 100644
index 0000000..4072707
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/InternalWastesDto.java
@@ -0,0 +1,19 @@
+package com.ruoyi.requier.dto;
+
+import com.ruoyi.requier.pojo.InternalWastes;
+import com.ruoyi.requier.pojo.InternalWastesDetail;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author zhuo
+ * @Date 2024/11/19
+ */
+@Data
+public class InternalWastesDto extends InternalWastes {
+
+ @ApiModelProperty("涓夊簾鐧昏璇︽儏")
+ private List<InternalWastesDetail> wastesDetailList;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesExpendDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesExpendDto.java
new file mode 100644
index 0000000..14b6450
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesExpendDto.java
@@ -0,0 +1,27 @@
+package com.ruoyi.requier.dto;
+
+import com.ruoyi.requier.pojo.ProcurementSuppliesExpends;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class ProcurementSuppliesExpendDto extends ProcurementSuppliesExpends {
+
+ /**
+ * 椤圭洰鑰楁潗鍚嶇О
+ */
+ @ApiModelProperty("椤圭洰鑰楁潗鍚嶇О")
+ private String listName;
+
+ /**
+ * 褰曞叆浜哄悕绉�
+ */
+ @ApiModelProperty("褰曞叆浜哄悕绉�")
+ private String enterUserName; //
+
+ /**
+ * 鏇存柊浜哄悕绉�
+ */
+ @ApiModelProperty("鏇存柊浜哄悕绉�")
+ private String updateUserName; //
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListDto.java
new file mode 100644
index 0000000..5b00229
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListDto.java
@@ -0,0 +1,17 @@
+package com.ruoyi.requier.dto;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.ruoyi.requier.pojo.ProcurementSuppliesList;
+import lombok.Data;
+
+@Data
+@ExcelIgnoreUnannotated
+public class ProcurementSuppliesListDto extends ProcurementSuppliesList {
+ @ExcelProperty("鍙傝�冧緵搴斿晢")
+ private String supplierName; // 渚涘簲鍟嗗悕绉�
+ @ExcelProperty("鏇存柊浜�")
+ private String updateUserName; // 鏇存柊浜哄悕绉�
+ @ExcelProperty("璐熻矗浜�")
+ private String personInChargeName; // 璐熻矗浜哄悕绉�
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListEDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListEDto.java
new file mode 100644
index 0000000..f75318a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListEDto.java
@@ -0,0 +1,104 @@
+package com.ruoyi.requier.dto;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+@ExcelIgnoreUnannotated
+public class ProcurementSuppliesListEDto {
+ @TableId(value = "id", type = IdType.AUTO)
+ @ApiModelProperty("缂栧彿")
+ @ExcelProperty("缂栧彿")
+ private Long id;
+
+ @ApiModelProperty("鐩綍id")
+ @ExcelProperty("鐩綍")
+ private Long contentsId;
+
+ @ApiModelProperty("鑰楁潗绫诲瀷")
+ @ExcelProperty("绫诲埆")
+ private String consumablesType;
+
+ @ApiModelProperty("璐у彿")
+ @ExcelProperty("璐у彿")
+ private String itemNumber;
+
+ @ApiModelProperty("鑰楁潗鍚嶇О")
+ @ExcelProperty("鍚嶇О")
+ private String consumablesName;
+
+ @ApiModelProperty("瑙勬牸")
+ @ExcelProperty("瑙勬牸")
+ private String specifications;
+
+ @ApiModelProperty("璁¢噺鍗曚綅")
+ @ExcelProperty("璁¢噺鍗曚綅")
+ private String unit;
+
+ @ApiModelProperty("鍙傝�冧环鏍�")
+ @ExcelProperty("鍙傝�冧环鏍�")
+ private BigDecimal referencePrice;
+
+ @ApiModelProperty("瀛樻斁浣嶇疆")
+ @ExcelProperty("瀛樻斁浣嶇疆")
+ private Integer contentId;
+
+ @ApiModelProperty("璐熻矗浜�")
+ @ExcelProperty("璐熻矗浜�")
+ private Integer personInCharge;
+
+ @ApiModelProperty("搴撳瓨涓婇檺")
+ @ExcelProperty("搴撳瓨涓婇檺")
+ private Integer upperLimit;
+
+ @ApiModelProperty("搴撳瓨涓嬮檺")
+ @ExcelProperty("搴撳瓨涓嬮檺")
+ private Integer lowerLimit;
+
+ @ApiModelProperty("渚涘簲鍟�")
+ @ExcelProperty("渚涘簲鍟�")
+ private Integer supplier;
+
+ @ApiModelProperty("鑰楁潗鍥炬爣")
+ @ExcelProperty("鑰楁潗鍥炬爣")
+ private String consumablesIcon;
+
+ @ApiModelProperty("鑰楁潗闄勪欢")
+ @ExcelProperty("鑰楁潗闄勪欢")
+ private String attachment;
+
+ @ApiModelProperty("澶囨敞")
+ @ExcelProperty("澶囨敞")
+ private String remark;
+
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @ExcelProperty("鍒涘缓鏃堕棿")
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @ExcelProperty("鏇存柊鏃堕棿")
+ private LocalDateTime updateTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @ApiModelProperty("鏇存柊浜�")
+ @ExcelProperty("鏇存柊浜�")
+ private Integer updateUser;
+
+ @ApiModelProperty("褰撳墠搴撳瓨鏁伴噺")
+ @ExcelProperty("褰撳墠搴撳瓨")
+ private Integer currentAmount;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/StoreDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/StoreDto.java
new file mode 100644
index 0000000..81ab776
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/StoreDto.java
@@ -0,0 +1,28 @@
+package com.ruoyi.requier.dto;
+
+import com.ruoyi.requier.pojo.ProcurementSuppliesStore;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class StoreDto extends ProcurementSuppliesStore {
+
+
+ @ApiModelProperty("鑰楁潗鍚嶇О")
+ private String consumablesName;
+
+ @ApiModelProperty("鍏ュ簱鏁伴噺")
+ private Integer storeNumber;
+
+ @ApiModelProperty("鍏ュ簱鎬讳环")
+ private Double totalPrice;
+
+ @ApiModelProperty("鐧昏浜�")
+ private String registrantName;
+
+ @ApiModelProperty("鍏ュ簱浜�")
+ private String storageUserName;
+
+ private Integer consumablesId;
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/SupplierManagementDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/SupplierManagementDto.java
new file mode 100644
index 0000000..3fb2358
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/SupplierManagementDto.java
@@ -0,0 +1,67 @@
+package com.ruoyi.requier.dto;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ExcelIgnoreUnannotated
+public class SupplierManagementDto {
+
+ @ApiModelProperty("渚涘簲鍟�")
+ @ExcelProperty("渚涘簲鍟�")
+ private String supplierName;
+
+ @ApiModelProperty("缂栧彿")
+ @ExcelProperty("缂栧彿")
+ private String supplierRef;
+
+ @ApiModelProperty("渚涘簲鍟嗙墿鍝佹湇鍔″悕绉�")
+ @ExcelProperty("渚涘簲鍟嗙墿鍝佹湇鍔″悕绉�")
+ private String supplierItemServiceName;
+
+ @ApiModelProperty("閭紪")
+ @ExcelProperty("閭紪")
+ private String postalCode;
+
+ @ApiModelProperty("鍦板潃")
+ @ExcelProperty("鍦板潃")
+ private String adress;
+
+ @ApiModelProperty("鑱旂郴浜�")
+ @ExcelProperty("鑱旂郴浜�")
+ private String contacts;
+
+ @ApiModelProperty("鑱旂郴鐢佃瘽")
+ @ExcelProperty("鑱旂郴鐢佃瘽")
+ private String phone;
+
+ @ApiModelProperty("鎴峰悕")
+ @ExcelProperty("鎴峰悕")
+ private String householdName;
+
+ @ApiModelProperty("浼犵湡")
+ @ExcelProperty("浼犵湡")
+ private String fax;
+
+ @ApiModelProperty("寮�鎴疯")
+ @ExcelProperty("寮�鎴疯")
+ private String openingName;
+
+ @ApiModelProperty("缃戝潃")
+ @ExcelProperty("缃戝潃")
+ private String website;
+
+ @ApiModelProperty("璐﹀彿")
+ @ExcelProperty("璐﹀彿")
+ private String accountName;
+
+ @ApiModelProperty("email")
+ @ExcelProperty("email")
+ private String email;
+
+ @ApiModelProperty("澶囨敞")
+ @ExcelProperty("澶囨敞")
+ private String remarks;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/excel/FeCalibrationScheduleExport.java b/cnas-require/src/main/java/com/ruoyi/requier/excel/FeCalibrationScheduleExport.java
new file mode 100644
index 0000000..5981c56
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/excel/FeCalibrationScheduleExport.java
@@ -0,0 +1,36 @@
+package com.ruoyi.requier.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class FeCalibrationScheduleExport {
+ @ExcelProperty("浠櫒鍚嶇О")
+ private String instrumentName;
+
+ @ExcelProperty("瑙勬牸鍨嬪彿")
+ private String model;
+
+ @ExcelProperty("绠$悊缂栧彿")
+ private Integer managementNumber;
+
+ @ExcelProperty("鎶�鏈寚鏍�")
+ private String technicalIndicators;
+
+ @ExcelProperty("妫�瀹氬懆鏈�")
+ private String verificationCyde;
+
+ @ExcelProperty("妫�瀹氬崟浣�")
+ private String verificationUnit;
+
+ @ExcelProperty("鏈�杩戞瀹氭椂闂�")
+ private LocalDateTime recentlyTime;
+
+ @ExcelProperty("璁″垝涓嬫妫�瀹氭椂闂�")
+ private LocalDateTime nextTime;
+
+ @ExcelProperty("澶囨敞")
+ private String remark;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/excel/FeLightningProtectionExcel.java b/cnas-require/src/main/java/com/ruoyi/requier/excel/FeLightningProtectionExcel.java
new file mode 100644
index 0000000..589d217
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/excel/FeLightningProtectionExcel.java
@@ -0,0 +1,22 @@
+package com.ruoyi.requier.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+@Data
+public class FeLightningProtectionExcel {
+ @ExcelProperty("鍘熸枃浠跺悕")
+ private String fileName;
+
+ @ExcelProperty("妫�娴嬫棩鏈�")
+ private String detectionDate;
+
+ @ExcelProperty("鏈夋晥鏈�")
+ private String termValidity;
+
+ @ExcelProperty("妫�娴嬪崟浣�")
+ private String detectionUnit;
+
+ @ExcelProperty("鍒涘缓鏃堕棿")
+ private String createTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/excel/FeStandardSubstanceExcel.java b/cnas-require/src/main/java/com/ruoyi/requier/excel/FeStandardSubstanceExcel.java
new file mode 100644
index 0000000..2820ccd
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/excel/FeStandardSubstanceExcel.java
@@ -0,0 +1,54 @@
+package com.ruoyi.requier.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class FeStandardSubstanceExcel {
+ @ExcelProperty("鏍囧噯鐗╄川鍚嶇О")
+ private String name;
+
+ @ExcelProperty("瑙勬牸鍨嬪彿")
+ private String model;
+
+ @ExcelProperty("鐢熶骇鍘傚")
+ private String factoryManufacturer;
+
+ @ExcelProperty("鍑哄満缂栧彿")
+ private String factoryNum;
+
+ @ExcelProperty("绠$悊缂栧彿")
+ private String manageNum;
+
+ @ExcelProperty("涓嶇‘瀹氬害")
+ private String uncertainty;
+
+ @ExcelProperty("鏁伴噺")
+ private Long quantity;
+
+ @ExcelProperty("璐疆鏃ユ湡")
+ private LocalDateTime acquisitionDate;
+
+ @ExcelProperty("鏈夋晥鏈�")
+ private LocalDateTime effectiveDate;
+
+ @ExcelProperty("鏂囨。缂栧彿")
+ private String fileNum;
+
+ @ExcelProperty("瀛樻斁浣嶇疆")
+ private String position;
+
+ @ExcelProperty("鍊熻皟鐘舵��")
+ private Integer state;
+
+ @ExcelProperty("澶囨敞")
+ private String remark;
+
+ @ExcelProperty("鍒涘缓浜�")
+ private String createUser;
+
+ @ExcelProperty("鍒涘缓鏃ユ湡")
+ private LocalDateTime createTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/excel/StoreExcel.java b/cnas-require/src/main/java/com/ruoyi/requier/excel/StoreExcel.java
new file mode 100644
index 0000000..26bb425
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/excel/StoreExcel.java
@@ -0,0 +1,37 @@
+package com.ruoyi.requier.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.time.LocalDate;
+
+@Data
+public class StoreExcel {
+ @ExcelProperty("鍏ュ簱鍗曞彿")
+ private String oddNumbers;
+
+ @ExcelProperty("鑰楁潗鍚嶇О")
+ private String consumablesName;
+
+ @ExcelProperty("鍏ュ簱鏁伴噺")
+ private Integer storeNumber;
+
+ @ExcelProperty("鍏ュ簱鎬讳环")
+ private Double totalPrice;
+
+ @ExcelProperty("鍏ュ簱浜�")
+ private String storageUserName;
+
+ @ExcelProperty("鍏ュ簱鏃ユ湡")
+ private LocalDate storageTime;
+
+ @ExcelProperty("璇存槑")
+ private String remark;
+
+ @ExcelProperty("鐧昏浜�")
+ private String registrantName;
+
+ @ExcelProperty("鐧昏鏃ユ湡")
+ private LocalDate registrantTime;
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeCalibrationScheduleMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeCalibrationScheduleMapper.java
new file mode 100644
index 0000000..81dd7b1
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeCalibrationScheduleMapper.java
@@ -0,0 +1,20 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.requier.pojo.FeCalibrationSchedule;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 02:53:05
+ */
+public interface FeCalibrationScheduleMapper extends BaseMapper<FeCalibrationSchedule> {
+
+ IPage<FeCalibrationSchedule> ipage(Page page, @Param("instrumentName") String instrumentName, @Param("managementNumber") String managementNumber);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationDetectionAreaMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationDetectionAreaMapper.java
new file mode 100644
index 0000000..1af8871
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationDetectionAreaMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.requier.pojo.FeIlluminationDetectionArea;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:28
+ */
+public interface FeIlluminationDetectionAreaMapper extends BaseMapper<FeIlluminationDetectionArea> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationMapper.java
new file mode 100644
index 0000000..928edae
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationMapper.java
@@ -0,0 +1,28 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.requier.dto.FeIlluminationDto;
+import com.ruoyi.requier.dto.FeIlluminationExportDto;
+import com.ruoyi.requier.pojo.FeIllumination;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:15:57
+ */
+public interface FeIlluminationMapper extends BaseMapper<FeIllumination> {
+
+ IPage<FeIlluminationDto> getFeLightningProtection(Page page);
+
+ /**
+ * 鏌ヨ鐓ф槑璁板綍
+ * @param intensityIlluminationId
+ * @return
+ */
+ FeIlluminationExportDto selectFeIllumination(Integer intensityIlluminationId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeLightningProtectionMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeLightningProtectionMapper.java
new file mode 100644
index 0000000..2a84194
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeLightningProtectionMapper.java
@@ -0,0 +1,21 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.requier.excel.FeLightningProtectionExcel;
+import com.ruoyi.requier.pojo.FeLightningProtection;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:36
+ */
+public interface FeLightningProtectionMapper extends BaseMapper<FeLightningProtection> {
+
+ List<FeLightningProtectionExcel> exportOfLightningProtectionDetection();
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeMeasuredQuantityMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeMeasuredQuantityMapper.java
new file mode 100644
index 0000000..1222f71
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeMeasuredQuantityMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.requier.pojo.FeMeasuredQuantity;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:44
+ */
+public interface FeMeasuredQuantityMapper extends BaseMapper<FeMeasuredQuantity> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FePowerStableMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FePowerStableMapper.java
new file mode 100644
index 0000000..1ce2f83
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FePowerStableMapper.java
@@ -0,0 +1,34 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.requier.dto.FePowerStableDto;
+import com.ruoyi.requier.dto.FePowerStableExportDto;
+import com.ruoyi.requier.pojo.FePowerStable;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:52
+ */
+public interface FePowerStableMapper extends BaseMapper<FePowerStable> {
+
+ IPage<FePowerStableDto> getLaboratoryFacilityPowerStablePage(Page page);
+
+ Map<String, Objects> getCalibrationDate(Integer deviceId);
+
+ /**
+ * 鏌ヨ鐢垫簮绋冲畾鎬�
+ * @param powerStableId
+ * @return
+ */
+ FePowerStableExportDto selectPowerStable(@Param("powerStableId") Integer powerStableId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java
new file mode 100644
index 0000000..deb7158
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
+
+/**
+ * <p>
+ * 楠屾敹寮�绠辫褰� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:30:09
+ */
+public interface FeStandardSubstanceAcceptanceInspectionMapper extends BaseMapper<FeStandardSubstanceAcceptanceInspection> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceMapper.java
new file mode 100644
index 0000000..65ff664
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceMapper.java
@@ -0,0 +1,22 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptance;
+import com.ruoyi.requier.vo.AcceptanceVo;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川楠屾敹 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:29:41
+ */
+public interface FeStandardSubstanceAcceptanceMapper extends BaseMapper<FeStandardSubstanceAcceptance> {
+
+
+ IPage<AcceptanceVo> getPageAcceptance(Page page, @Param("name")String name);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceMapper.java
new file mode 100644
index 0000000..6bc4786
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceMapper.java
@@ -0,0 +1,20 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.requier.pojo.FeStandardSubstance;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 03:58:59
+ */
+public interface FeStandardSubstanceMapper extends BaseMapper<FeStandardSubstance> {
+
+ IPage<FeStandardSubstance> getPage(Page page,@Param("ew")FeStandardSubstance feStandardSubstance);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceRecordMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceRecordMapper.java
new file mode 100644
index 0000000..def2916
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceRecordMapper.java
@@ -0,0 +1,22 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.requier.pojo.FeStandardSubstanceRecord;
+import com.ruoyi.requier.vo.SubstanceRecordVo;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 01:49:11
+ */
+public interface FeStandardSubstanceRecordMapper extends BaseMapper<FeStandardSubstanceRecord> {
+
+
+ IPage<SubstanceRecordVo> getPage(Page page,@Param("ew") SubstanceRecordVo vo);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumDateMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumDateMapper.java
new file mode 100644
index 0000000..66616dd
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumDateMapper.java
@@ -0,0 +1,20 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.requier.dto.FeTempHumDateDto;
+import com.ruoyi.requier.pojo.FeTempHumDate;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-09 11:02:18
+ */
+public interface FeTempHumDateMapper extends BaseMapper<FeTempHumDate> {
+
+ IPage<FeTempHumDateDto> getFeTempHumDate(Page page);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumRecordMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumRecordMapper.java
new file mode 100644
index 0000000..3cef462
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumRecordMapper.java
@@ -0,0 +1,20 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.requier.dto.FeTempHumRecordDto;
+import com.ruoyi.requier.pojo.FeTempHumRecord;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:28:52
+ */
+public interface FeTempHumRecordMapper extends BaseMapper<FeTempHumRecord> {
+
+ IPage<FeTempHumRecordDto> getFeTempHumRecordPage(Page page, Integer dateId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ForeignRegisterMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ForeignRegisterMapper.java
new file mode 100644
index 0000000..60cab30
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ForeignRegisterMapper.java
@@ -0,0 +1,39 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.requier.dto.ForeignRegisterDto;
+import com.ruoyi.requier.pojo.ForeignRegister;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 澶栨潵浜哄憳鐧昏 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 07:17:35
+ */
+public interface ForeignRegisterMapper extends BaseMapper<ForeignRegister> {
+
+ /**
+ * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ
+ * @return
+ */
+ IPage<ForeignRegisterDto> pageForeignRegister(Page page, @Param("ew") QueryWrapper<ForeignRegisterDto> ew,
+ @Param("beginDate") String beginDate,
+ @Param("endDate") String endDate);
+
+ /**
+ * 鏌ヨ澶栨潵浜哄憳鐧昏鍒楄〃
+ * @param
+ * @return
+ */
+ List<ForeignRegisterDto> getForeignRegisterList(@Param("ew") QueryWrapper<ForeignRegisterDto> ew,
+ @Param("beginDate") String beginDate,
+ @Param("endDate") String endDate);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesDetailMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesDetailMapper.java
new file mode 100644
index 0000000..5bb0060
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesDetailMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.requier.pojo.InternalWastesDetail;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:54
+ */
+public interface InternalWastesDetailMapper extends BaseMapper<InternalWastesDetail> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesMapper.java
new file mode 100644
index 0000000..0e364a4
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesMapper.java
@@ -0,0 +1,31 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.requier.dto.InternalWastesDto;
+import com.ruoyi.requier.pojo.InternalWastes;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:27
+ */
+@Mapper
+public interface InternalWastesMapper extends BaseMapper<InternalWastes> {
+
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏鍒嗛〉鏌ヨ
+ * @param page
+ * @param ew
+ * @return
+ */
+ IPage<InternalWastesDto> pageInternalWastes(Page page, @Param("ew") QueryWrapper<InternalWastes> ew);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesConsumablesMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesConsumablesMapper.java
new file mode 100644
index 0000000..1f540a1
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesConsumablesMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.requier.pojo.ProcurementSuppliesConsumables;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ProcurementSuppliesConsumablesMapper extends BaseMapper<ProcurementSuppliesConsumables> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesContentsMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesContentsMapper.java
new file mode 100644
index 0000000..9c6a96a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesContentsMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.requier.pojo.ProcurementSuppliesContents;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ProcurementSuppliesContentsMapper extends BaseMapper<ProcurementSuppliesContents> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesExpendsMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesExpendsMapper.java
new file mode 100644
index 0000000..2fc09fa
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesExpendsMapper.java
@@ -0,0 +1,22 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.requier.dto.ProcurementSuppliesExpendDto;
+import com.ruoyi.requier.pojo.ProcurementSuppliesExpends;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 03:47:19
+ */
+public interface ProcurementSuppliesExpendsMapper extends BaseMapper<ProcurementSuppliesExpends> {
+
+ IPage<ProcurementSuppliesExpendDto> pageList(Page page, @Param("ew") LambdaQueryWrapper<ProcurementSuppliesExpendDto> eq);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesListMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesListMapper.java
new file mode 100644
index 0000000..c16c7b5
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesListMapper.java
@@ -0,0 +1,29 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.requier.dto.ProcurementSuppliesListDto;
+import com.ruoyi.requier.pojo.ProcurementSuppliesList;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 04:04:32
+ */
+public interface ProcurementSuppliesListMapper extends BaseMapper<ProcurementSuppliesList> {
+ IPage<ProcurementSuppliesList> selectProcurementSuppliesList(Page page,@Param("contentsId") Long contentsId, @Param("ew") QueryWrapper<ProcurementSuppliesListDto> ew);
+
+ ProcurementSuppliesList selectProcurementSuppliesListForUpdate(@Param("id") Long id);
+
+ List<ProcurementSuppliesList> selectProcurementSuppliesListAll(@Param("ew") ProcurementSuppliesListDto ew);
+
+ List<ProcurementSuppliesList> selectProcurementSuppliesListByContentsId(@Param("id") Integer contentsId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesStoreMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesStoreMapper.java
new file mode 100644
index 0000000..8325693
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesStoreMapper.java
@@ -0,0 +1,27 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.requier.dto.StoreDto;
+import com.ruoyi.requier.excel.StoreExcel;
+import com.ruoyi.requier.pojo.ProcurementSuppliesStore;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface ProcurementSuppliesStoreMapper extends BaseMapper<ProcurementSuppliesStore> {
+
+ IPage<StoreDto> selectStoreList(Page page, @Param("ew") QueryWrapper<StoreDto> ew);
+
+ /**
+ * 鍜屾爲鍏宠仈鐨勬潯浠讹紝锛岋紝鐩墠娌℃湁鍏宠仈鍏崇郴 WHERE s.contents_id = #{contentsId}
+ * @param contentsId
+ * @return
+ */
+ List<StoreExcel> exportExcel(Integer contentsId);
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/SupplierManagementMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/SupplierManagementMapper.java
new file mode 100644
index 0000000..b2ff085
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/SupplierManagementMapper.java
@@ -0,0 +1,31 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.requier.pojo.SupplierManagement;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 02:46:45
+ */
+@Mapper
+public interface SupplierManagementMapper extends BaseMapper<SupplierManagement> {
+
+ IPage<SupplierManagement> pageSupplierManagement(Page page, @Param("ew") QueryWrapper<SupplierManagement> supplierManagementQueryWrapper);
+
+ IPage<SupplierManagement> selectQualifiedSupplierManagement(Page page, @Param("ew") QueryWrapper<SupplierManagement> supplierManagementQueryWrapper);
+
+ List<SupplierManagement> selectSupplierManagementAll(@Param("parentId") Integer parentId);
+
+ List<SupplierManagement> selectSupplierManagement(@Param("parentId")Integer parentId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/SuppliersDirectoryContentsMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/SuppliersDirectoryContentsMapper.java
new file mode 100644
index 0000000..1fae1c7
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/SuppliersDirectoryContentsMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.requier.pojo.SuppliersDirectoryContents;
+
+/**
+ * <p>
+ * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-12-17 06:14:51
+ */
+public interface SuppliersDirectoryContentsMapper extends BaseMapper<SuppliersDirectoryContents> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeCalibrationSchedule.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeCalibrationSchedule.java
new file mode 100644
index 0000000..8ce8a04
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeCalibrationSchedule.java
@@ -0,0 +1,81 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 02:53:05
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_calibration_schedule")
+@ApiModel(value = "FeCalibrationSchedule瀵硅薄", description = "浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛�")
+public class FeCalibrationSchedule implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("浠櫒鍚嶇О")
+ private String instrumentName;
+
+ @ApiModelProperty("瑙勬牸鍨嬪彿")
+ private String model;
+
+ @ApiModelProperty("绠$悊缂栧彿")
+ private Integer managementNumber;
+
+ @ApiModelProperty("鎶�鏈寚鏍�")
+ private String technicalIndicators;
+
+ @ApiModelProperty("妫�瀹氬懆鏈�")
+ private String verificationCyde;
+
+ @ApiModelProperty("妫�瀹氬崟浣�")
+ private String verificationUnit;
+
+ @ApiModelProperty("鏈�杩戞瀹氭椂闂�")
+ private LocalDateTime recentlyTime;
+
+ @ApiModelProperty("璁″垝涓嬫妫�瀹氭椂闂�")
+ private LocalDateTime nextTime;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
+ @ApiModelProperty("缂栧埗")
+ private String organization;
+
+ @ApiModelProperty("缂栧埗鏃ユ湡")
+ private LocalDateTime organizationDate;
+
+ @ApiModelProperty("鎵瑰噯")
+ private String approve;
+
+ @ApiModelProperty("鎵瑰噯鏃ユ湡")
+ private LocalDateTime approveDate;
+
+ @TableField(fill = FieldFill.INSERT)
+ private String createUser;
+
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIllumination.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIllumination.java
new file mode 100644
index 0000000..2754e00
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIllumination.java
@@ -0,0 +1,55 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:15:57
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_illumination")
+@ApiModel(value = "FeIllumination瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�")
+public class FeIllumination implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("鐓у害璁板綍琛╥d")
+ @TableId(value = "intensity_illumination_id", type = IdType.AUTO)
+ private Integer intensityIlluminationId;
+
+ @ApiModelProperty("璁惧id")
+ private Integer deviceId;
+
+ @ApiModelProperty("缁撹")
+ private String conclusion;
+
+ @ApiModelProperty("妫�娴嬩汉")
+ private Integer testerId;
+
+ @ApiModelProperty("鏍告煡浜�")
+ private Integer checkerId;
+
+ @ApiModelProperty("妫�娴嬫棩鏈�")
+ private Date testDate;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIlluminationDetectionArea.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIlluminationDetectionArea.java
new file mode 100644
index 0000000..bd8bc4c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIlluminationDetectionArea.java
@@ -0,0 +1,59 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:28
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_illumination_detection_area")
+@ApiModel(value = "FeIlluminationDetectionArea瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩�")
+public class FeIlluminationDetectionArea implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("妫�娴嬪尯鍩焛d")
+ @TableId(value = "detection_area_id", type = IdType.AUTO)
+ private Integer detectionAreaId;
+
+ @ApiModelProperty("妫�娴嬪尯鍩熷悕绉�")
+ private String detectionAreaLabel;
+
+ @ApiModelProperty("妫�娴嬪��-绗竴娆�")
+ private Integer valueOne;
+
+ @ApiModelProperty("妫�娴嬪��-绗簩娆�")
+ private Integer valueTwo;
+
+ @ApiModelProperty("妫�娴嬪��-绗笁娆�")
+ private Integer valueThree;
+
+ @ApiModelProperty("骞冲潎鍊�")
+ private Integer average;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
+ @ApiModelProperty("鐓у害璁板綍琛╥d")
+ private Integer intensityIlluminationId;
+
+ // 瀵煎嚭浣跨敤
+ @TableField(select = false, exist = false)
+ @ApiModelProperty("搴忓彿(瀵煎嚭浣跨敤)")
+ private Integer index;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeLightningProtection.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeLightningProtection.java
new file mode 100644
index 0000000..ab678f1
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeLightningProtection.java
@@ -0,0 +1,58 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:36
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_lightning_protection")
+@ApiModel(value = "FeLightningProtection瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴�")
+public class FeLightningProtection implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("涓婚敭id")
+ @TableId(value = "lightning_protection_id", type = IdType.AUTO)
+ private Integer lightningProtectionId;
+
+ @ApiModelProperty("鍘熸枃浠跺悕")
+ private String fileName;
+
+ @ApiModelProperty("绯荤粺鐢熸垚鏂囦欢鍚�")
+ private String systemFileName;
+
+ @ApiModelProperty("妫�娴嬫棩鏈�")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate detectionDate;
+
+ @ApiModelProperty("鏈夋晥鏈�")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate termValidity;
+
+ @ApiModelProperty("妫�娴嬪崟浣�")
+ private String detectionUnit;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeMeasuredQuantity.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeMeasuredQuantity.java
new file mode 100644
index 0000000..8033706
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeMeasuredQuantity.java
@@ -0,0 +1,54 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:44
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_measured_quantity")
+@ApiModel(value = "FeMeasuredQuantity瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲�")
+public class FeMeasuredQuantity implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("涓婚敭id")
+ @TableId(value = "measured_quantity_id", type = IdType.AUTO)
+ private Integer measuredQuantityId;
+
+ @ApiModelProperty("娴嬪畾閲忓悕绉�")
+ private String measuredQuantityLabel;
+
+ @ApiModelProperty("鍊糀")
+ private String valueA;
+
+ @ApiModelProperty("鍊糂")
+ private String valueB;
+
+ @ApiModelProperty("鍊糃")
+ private String valueC;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("鐢垫簮绋冲畾鎬d")
+ private Integer powerStableId;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FePowerStable.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FePowerStable.java
new file mode 100644
index 0000000..c0d0f80
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FePowerStable.java
@@ -0,0 +1,58 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:52
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_power_stable")
+@ApiModel(value = "FePowerStable瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�")
+public class FePowerStable implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("鐢垫簮绋冲畾鎬d")
+ @TableId(value = "power_stable_id", type = IdType.AUTO)
+ private Integer powerStableId;
+
+ @ApiModelProperty("娴嬭瘯鍦扮偣")
+ private String testLocation;
+
+ @ApiModelProperty("娴嬭瘯鏃ユ湡")
+ private Date testDate;
+
+ @ApiModelProperty("璁惧id")
+ private Integer deviceId;
+
+ @ApiModelProperty("缁撹")
+ private String conclusion;
+
+ @ApiModelProperty("妫�娴嬭�卛d")
+ private Integer testerId;
+
+ @ApiModelProperty("鏍告煡浜篿d")
+ private Integer checkerId;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstance.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstance.java
new file mode 100644
index 0000000..713fafb
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstance.java
@@ -0,0 +1,81 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 03:58:59
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_standard_substance")
+@ApiModel(value = "FeStandardSubstance瀵硅薄", description = "鏍囧噯鐗╄川娓呭崟")
+public class FeStandardSubstance implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鏍囧噯鐗╄川鍚嶇О")
+ private String name;
+
+ @ApiModelProperty("瑙勬牸鍨嬪彿")
+ private String model;
+
+ @ApiModelProperty("鐢熶骇鍘傚")
+ private String factoryManufacturer;
+
+ @ApiModelProperty("鍑哄満缂栧彿")
+ private String factoryNum;
+
+ @ApiModelProperty("绠$悊缂栧彿")
+ private String manageNum;
+
+ @ApiModelProperty("涓嶇‘瀹氬害")
+ private String uncertainty;
+
+ @ApiModelProperty("鏁伴噺")
+ private Long quantity;
+
+ @ApiModelProperty("璐疆鏃ユ湡")
+ private LocalDateTime acquisitionDate;
+
+ @ApiModelProperty("鏈夋晥鏈�")
+ private LocalDateTime effectiveDate;
+
+ @ApiModelProperty("鏂囨。缂栧彿")
+ private String fileNum;
+
+ @ApiModelProperty("瀛樻斁浣嶇疆")
+ private String position;
+
+ @ApiModelProperty("鍊熻皟鐘舵�侊紙0:鏈�熻皟 1:宸插�熻皟锛�")
+ private Integer state;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
+ @TableField(fill = FieldFill.INSERT)
+ private String createUser;
+
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptance.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptance.java
new file mode 100644
index 0000000..be9a52d
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptance.java
@@ -0,0 +1,87 @@
+package com.ruoyi.requier.pojo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川楠屾敹
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:29:41
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_standard_substance_acceptance")
+@ApiModel(value = "FeStandardSubstanceAcceptance瀵硅薄", description = "鏍囧噯鐗╄川楠屾敹")
+@ExcelIgnoreUnannotated
+public class FeStandardSubstanceAcceptance implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("娓呭崟id")
+ private Integer substanceId;
+
+ @ApiModelProperty("鍒拌揣鏃ユ湡")
+ @ExcelProperty("鍒拌揣鏃ユ湡")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate arriveDate;
+
+ @ApiModelProperty("缁翠慨鍗曚綅")
+ @ExcelProperty("缁翠慨鍗曚綅")
+ private String maintenanceUnit;
+
+ @ApiModelProperty("鍙傛暟")
+ @ExcelProperty("鍙傛暟")
+ private String perameters;
+
+ @ApiModelProperty("瀹夎璋冭瘯鎯呭喌")
+ @ExcelProperty("瀹夎璋冭瘯鎯呭喌")
+ private String installation;
+
+ @ApiModelProperty("楠屾敹鎯呭喌")
+ @ExcelProperty("楠屾敹鎯呭喌")
+ private String situation;
+
+ @ApiModelProperty("鎺ュ彈绛惧瓧")
+ @ExcelProperty("鎺ュ彈绛惧瓧")
+ private String signature;
+
+ @ApiModelProperty("鍘傚浠h〃")
+ @ExcelProperty("鍘傚浠h〃")
+ private String producer;
+
+ @ApiModelProperty("鎺ユ敹浜�")
+ @ExcelProperty("鎺ユ敹浜�")
+ private String recipient;
+
+ @ApiModelProperty("闄勪欢")
+ @ExcelProperty("闄勪欢")
+ private String file;
+
+ @TableField(fill = FieldFill.INSERT)
+ private String createUser;
+
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptanceInspection.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptanceInspection.java
new file mode 100644
index 0000000..10ab373
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptanceInspection.java
@@ -0,0 +1,47 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 楠屾敹寮�绠辫褰�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:30:09
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_standard_substance_acceptance_inspection")
+@ApiModel(value = "FeStandardSubstanceAcceptanceInspection瀵硅薄", description = "楠屾敹寮�绠辫褰�")
+public class FeStandardSubstanceAcceptanceInspection implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ private Integer acceptanceId;
+
+ private String name;
+
+ private Integer number;
+
+ @TableField(fill = FieldFill.INSERT)
+ private String createUser;
+
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceRecord.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceRecord.java
new file mode 100644
index 0000000..6c11eff
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceRecord.java
@@ -0,0 +1,78 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 01:49:11
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_standard_substance_record")
+@ApiModel(value = "FeStandardSubstanceRecord瀵硅薄", description = "鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛�")
+public class FeStandardSubstanceRecord implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鐗╄川id")
+ private Integer substanceId;
+
+ @ApiModelProperty("鍊熺敤-瀹屽ソ鎬�")
+ private String integrity;
+
+ @ApiModelProperty("鍊熺敤-鍊熺敤浜�")
+ private String borrowUser;
+
+ @ApiModelProperty("鍊熺敤-鑱旂郴鏂瑰紡")
+ private String phone;
+
+ @ApiModelProperty("鍊熺敤-鍊熷嚭鏃ユ湡")
+ private LocalDateTime borrowDate;
+
+ @ApiModelProperty("褰掕繕鏃ユ湡")
+ private LocalDateTime borrowReturnDate;
+
+ @ApiModelProperty("鍊熷嚭浜�")
+ private String lender;
+
+ @ApiModelProperty("褰掕繕-妫�鏌ヤ汉")
+ private String rummager;
+
+ @ApiModelProperty("0锛氬�熺敤 1:褰掕繕")
+ private String status;
+
+ @ApiModelProperty("褰掕繕浜�")
+ private String returnedPerson;
+
+ @ApiModelProperty("褰掕繕-鏃ユ湡")
+ private LocalDateTime returnDate;
+
+ @ApiModelProperty("褰掕繕-瀹屽ソ鎬�")
+ private String returnIntegrity;
+
+ @TableField(fill = FieldFill.INSERT)
+ private String createUser;
+
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumDate.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumDate.java
new file mode 100644
index 0000000..b6b1a75
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumDate.java
@@ -0,0 +1,54 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-09 11:02:18
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_temp_hum_date")
+@ApiModel(value = "FeTempHumDate瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖�")
+public class FeTempHumDate implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("涓婚敭ID")
+ @TableId(value = "date_id", type = IdType.AUTO)
+ private Integer dateId;
+
+ @ApiModelProperty("鏈堝害鏃堕棿")
+ private LocalDate monthDate;
+
+ @ApiModelProperty("璇曢獙鍖哄煙鍚嶇О")
+ private String testAreaName;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("鍒涘缓浜�")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty("鏇存柊浜�")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumRecord.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumRecord.java
new file mode 100644
index 0000000..dff462a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumRecord.java
@@ -0,0 +1,63 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:28:52
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_temp_hum_record")
+@ApiModel(value = "FeTempHumRecord瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰�")
+public class FeTempHumRecord implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("娓╂箍搴﹁褰�")
+ @TableId(value = "temp_hum_id", type = IdType.AUTO)
+ private Integer tempHumId;
+
+ @ApiModelProperty("涓婂崍-鏃堕棿")
+ private LocalDateTime morningTestTime;
+
+ @ApiModelProperty("涓婂崍娓╁害")
+ private String morningTemp;
+
+ @ApiModelProperty("涓婂崍婀垮害")
+ private String morningHum;
+
+ @ApiModelProperty("涓婂崍璁板綍鍛�")
+ private Integer morningRecorderId;
+
+ @ApiModelProperty("涓嬪崍鏃堕棿")
+ private LocalDateTime afternoonTime;
+
+ @ApiModelProperty("涓嬪崍娓╁害")
+ private String afternoonTemp;
+
+ @ApiModelProperty("涓嬪崍婀垮害")
+ private String afternoonHum;
+
+ @ApiModelProperty("涓嬪崍璁板綍鍛�")
+ private Integer afternoonRecorderId;
+
+ @ApiModelProperty("澶囨敞")
+ private String note;
+
+ @ApiModelProperty("娓╁害寰幆涓昏〃id")
+ private Integer dateId;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ForeignRegister.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ForeignRegister.java
new file mode 100644
index 0000000..70fe906
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ForeignRegister.java
@@ -0,0 +1,72 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 澶栨潵浜哄憳鐧昏
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 07:17:35
+ */
+@Data
+@TableName("cnas_foreign_register")
+@ApiModel(value = "ForeignRegister瀵硅薄", description = "澶栨潵浜哄憳鐧昏")
+public class ForeignRegister {
+
+ @TableId(value = "register_id", type = IdType.AUTO)
+ private Integer registerId;
+
+ @ApiModelProperty("鐧昏濡傛湡")
+ private LocalDate registerDate;
+
+ @ApiModelProperty("杩涘叆鍖哄煙")
+ private String area;
+
+ @ApiModelProperty("杩涘叆浜哄憳")
+ private String personnel;
+
+ @ApiModelProperty("杩涘叆鍘熷洜")
+ private String reason;
+
+ @ApiModelProperty("闄悓浜哄憳id")
+ private Integer accompanyingId;
+
+ @ApiModelProperty("闄悓浜哄憳")
+ private String accompanyingName;
+
+ @ApiModelProperty("鎵瑰噯浜篿d")
+ private Integer approveId;
+
+ @ApiModelProperty("鎵瑰噯浜�")
+ private String approveName;
+
+ @ApiModelProperty("淇濆瘑鍙婂叾浠栨儏鍐�")
+ private String confidentiality;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
+ @ApiModelProperty("鍒涘缓浜�")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("淇敼浜�")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty("淇敼鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastes.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastes.java
new file mode 100644
index 0000000..0348a78
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastes.java
@@ -0,0 +1,44 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:27
+ */
+@Data
+@TableName("cnas_internal_wastes")
+@ApiModel(value = "InternalWastes瀵硅薄", description = "瀹夊叏鍐呭姟涓夊簾鐧昏")
+public class InternalWastes {
+
+ @TableId(value = "wastes_id", type = IdType.AUTO)
+ private Integer wastesId;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
+ @ApiModelProperty("鍒涘缓浜�")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("淇敼浜�")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty("淇敼鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastesDetail.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastesDetail.java
new file mode 100644
index 0000000..f65c3f3
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastesDetail.java
@@ -0,0 +1,66 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:54
+ */
+@Data
+@TableName("cnas_internal_wastes_detail")
+@ApiModel(value = "InternalWastesDetail瀵硅薄", description = "瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏")
+public class InternalWastesDetail {
+
+ @TableId(value = "wastes_detail_id", type = IdType.AUTO)
+ private Integer wastesDetailId;
+
+ @ApiModelProperty("涓昏〃id")
+ private Integer wastesId;
+
+ @ApiModelProperty("鍚嶇О")
+ private String designation;
+
+ @ApiModelProperty("浣撶Н")
+ private String volume;
+
+ @ApiModelProperty("閫佸鐞嗘棩鏈�")
+ private String deliveryDate;
+
+ @ApiModelProperty("绉讳氦浜�")
+ private String transferPeople;
+
+ @ApiModelProperty("鎺ユ敹浜�")
+ private String acceptor;
+
+ @ApiModelProperty("鎺ユ敹鍗曚綅")
+ private String receivingUnit;
+
+ @ApiModelProperty("鍒涘缓浜�")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("淇敼浜�")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty("淇敼鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ // 瀵煎嚭浣跨敤
+ @TableField(select = false, exist = false)
+ private Integer index;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesConsumables.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesConsumables.java
new file mode 100644
index 0000000..304969f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesConsumables.java
@@ -0,0 +1,50 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@TableName("procurement_supplies_consumables")
+@ApiModel("鑰楁潗閲囪喘鏄庣粏琛�")
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ProcurementSuppliesConsumables {
+
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鑰楁潗涓昏〃id")
+ private Integer storeId;
+
+ @ApiModelProperty("鑰楁潗鍚嶇О")
+ private String consumablesName;
+
+ @ApiModelProperty("鍗曚环")
+ private Double unitPrice;
+
+ @ApiModelProperty("鍏ュ簱鏁伴噺")
+ private Integer storeNumber;
+
+ @ApiModelProperty("鎬讳环")
+ private Double totalPrice;
+
+ @ApiModelProperty("璐у彿")
+ private String itemNumber;
+
+ @ApiModelProperty("绫诲埆")
+ private String type;
+
+ @ApiModelProperty("瑙勬牸")
+ private String specifications;
+
+ @ApiModelProperty("鍙傝�冧緵搴斿晢")
+ private String supplier;
+
+ @ApiModelProperty("璁¢噺鍗曚綅")
+ private String unit;
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesContents.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesContents.java
new file mode 100644
index 0000000..ae9dd69
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesContents.java
@@ -0,0 +1,42 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Data
+@TableName("procurement_supplies_contents")
+@ApiModel("鏈嶅姟鍜屼緵搴斿搧閲囪喘琛�")
+public class ProcurementSuppliesContents {
+
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鑺傜偣鍚嶇О")
+ private String nodeName;
+
+ @ApiModelProperty("浠e彿")
+ private String code;
+
+
+ @ApiModelProperty("鏇存柊浜�")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("鐖惰妭鐐�")
+ private Integer parentId;
+
+ @TableField(exist = false)
+ private List<ProcurementSuppliesContents> children;
+
+
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesExpends.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesExpends.java
new file mode 100644
index 0000000..8a5b5a9
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesExpends.java
@@ -0,0 +1,62 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 03:47:19
+ */
+@Getter
+@Setter
+@TableName("procurement_supplies_expends")
+@ApiModel(value = "ProcurementSuppliesExpends瀵硅薄", description = "")
+public class ProcurementSuppliesExpends implements Serializable {
+
+
+ @ApiModelProperty("涓昏〃Id")
+ @TableId(value = "expend_id", type = IdType.AUTO)
+ private Long expendId;
+
+ @ApiModelProperty("鑰楁潗Id")
+ private Long listId;
+
+ @ApiModelProperty("娑堣�楁暟閲�")
+ private Integer amount;
+
+ @ApiModelProperty("妫�楠屽璞″悕绉�")
+ private String specimenName;
+
+ @ApiModelProperty("妫�楠岄」")
+ private String inspectionItem;
+
+ @ApiModelProperty("妫�楠屽瓙椤�")
+ private String inspectionItemSubclass;
+
+ @ApiModelProperty("褰曞叆浜篿d")
+ private Integer enterUserId;
+
+ @ApiModelProperty("鏇存柊浜篿d")
+ private Integer updateUserId;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesList.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesList.java
new file mode 100644
index 0000000..3011b84
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesList.java
@@ -0,0 +1,101 @@
+package com.ruoyi.requier.pojo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 04:04:32
+ */
+@Getter
+@Setter
+@TableName("procurement_supplies_list")
+@ApiModel(value = "ProcurementSuppliesList瀵硅薄", description = "鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃")
+public class ProcurementSuppliesList implements Serializable {
+
+
+ @TableId(value = "id", type = IdType.AUTO)
+ @ApiModelProperty("缂栧彿")
+ @ExcelProperty("缂栧彿")
+ private Long id;
+
+ @ApiModelProperty("鐩綍id")
+ private Long contentsId;
+
+ @ApiModelProperty("鑰楁潗绫诲瀷")
+ @ExcelProperty("绫诲埆")
+ private String consumablesType;
+
+ @ApiModelProperty("璐у彿")
+ @ExcelProperty("璐у彿")
+ private String itemNumber;
+
+ @ApiModelProperty("鑰楁潗鍚嶇О")
+ @ExcelProperty("鍚嶇О")
+ private String consumablesName;
+
+ @ApiModelProperty("瑙勬牸")
+ @ExcelProperty("瑙勬牸")
+ private String specifications;
+
+ @ApiModelProperty("璁¢噺鍗曚綅")
+ @ExcelProperty("璁¢噺鍗曚綅")
+ private String unit;
+
+ @ApiModelProperty("鍙傝�冧环鏍�")
+ private BigDecimal referencePrice;
+
+ @ApiModelProperty("瀛樻斁浣嶇疆")
+ private Integer contentId;
+
+ @ApiModelProperty("璐熻矗浜�")
+ private Integer personInCharge;
+
+ @ApiModelProperty("搴撳瓨涓婇檺")
+ private Integer upperLimit;
+
+ @ApiModelProperty("搴撳瓨涓嬮檺")
+ @ExcelProperty("搴撳瓨涓嬮檺")
+ private Integer lowerLimit;
+
+ @ApiModelProperty("渚涘簲鍟�")
+ private Integer supplier;
+
+ @ApiModelProperty("鑰楁潗鍥炬爣")
+ private String consumablesIcon;
+
+ @ApiModelProperty("鑰楁潗闄勪欢")
+ private String attachment;
+
+ @ApiModelProperty("澶囨敞")
+ @ExcelProperty("澶囨敞")
+ private String remark;
+
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty("褰撳墠搴撳瓨鏁伴噺")
+ @ExcelProperty("褰撳墠搴撳瓨")
+ private Integer currentAmount;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesStore.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesStore.java
new file mode 100644
index 0000000..b3b4271
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesStore.java
@@ -0,0 +1,52 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+
+@Data
+@TableName("procurement_supplies_store")
+@ApiModel("鑰楁潗鍏ュ簱琛�")
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ProcurementSuppliesStore implements Serializable {
+
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鐩綍id")
+ private Integer contentsId;
+
+ @ApiModelProperty("鍏ュ簱鍗曞彿")
+ private String oddNumbers;
+
+ @ApiModelProperty("鍏ュ簱搴撳瓨")
+ private String inventory;
+
+ @ApiModelProperty("鍏ュ簱鎬婚噾棰�")
+ private Double totalAmount;
+
+ @ApiModelProperty("鍏ュ簱浜�")
+ private Integer storageUser;
+
+ @ApiModelProperty("鍏ュ簱鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ private LocalDate storageTime;
+
+ @ApiModelProperty("鍏ュ簱璇存槑")
+ private String remark;
+
+ @ApiModelProperty("鐧昏浜�")
+ private Integer registrant;
+
+ @ApiModelProperty("鐧昏鏃堕棿")
+ private LocalDate registrantTime;
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/SupplierManagement.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/SupplierManagement.java
new file mode 100644
index 0000000..592ba76
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/SupplierManagement.java
@@ -0,0 +1,111 @@
+package com.ruoyi.requier.pojo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 02:46:45
+ */
+@Getter
+@Setter
+@TableName("cnas_supplier_management")
+@ApiModel(value = "SupplierManagement瀵硅薄", description = "")
+public class SupplierManagement implements Serializable {
+
+
+ @ApiModelProperty("涓昏〃Id")
+ @TableId(value = "supplier_management_id", type = IdType.AUTO)
+ private Integer supplierManagementId;
+
+ @ApiModelProperty("渚涘簲鍟�")
+ @ExcelProperty("渚涘簲鍟�")
+ private String supplierName;
+
+ @ApiModelProperty("缂栧彿")
+ @ExcelProperty("缂栧彿")
+ private String supplierRef;
+
+ @ApiModelProperty("渚涘簲鍟嗙墿鍝佹湇鍔″悕绉�")
+ @ExcelProperty("渚涘簲鍟嗙墿鍝佹湇鍔″悕绉�")
+ private String supplierItemServiceName;
+
+ @ApiModelProperty("閭紪")
+ @ExcelProperty("閭紪")
+ private String postalCode;
+
+ @ApiModelProperty("鍦板潃")
+ @ExcelProperty("鍦板潃")
+ private String adress;
+
+ @ApiModelProperty("logo")
+ private String logo;
+
+ @ApiModelProperty("鑱旂郴浜�")
+ @ExcelProperty("鑱旂郴浜�")
+ private String contacts;
+
+ @ApiModelProperty("鑱旂郴鐢佃瘽")
+ @ExcelProperty("鑱旂郴鐢佃瘽")
+ private String phone;
+
+ @ApiModelProperty("鎴峰悕")
+ @ExcelProperty("鎴峰悕")
+ private String householdName;
+
+ @ApiModelProperty("浼犵湡")
+ @ExcelProperty("浼犵湡")
+ private String fax;
+
+ @ApiModelProperty("寮�鎴疯")
+ @ExcelProperty("寮�鎴疯")
+ private String openingName;
+
+ @ApiModelProperty("缃戝潃")
+ @ExcelProperty("缃戝潃")
+ private String website;
+
+ @ApiModelProperty("璐﹀彿")
+ @ExcelProperty("璐﹀彿")
+ private String accountName;
+
+ @ApiModelProperty("email")
+ @ExcelProperty("email")
+ private String email;
+
+ @ApiModelProperty("澶囨敞")
+ @ExcelProperty("澶囨敞")
+ private String remarks;
+
+ @ApiModelProperty("闄勪欢")
+ private String enclosure;
+
+ @ApiModelProperty("鐘舵��")
+ private String status;
+
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty("鐖秈d")
+ private Integer parentId;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/SuppliersDirectoryContents.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/SuppliersDirectoryContents.java
new file mode 100644
index 0000000..4963620
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/SuppliersDirectoryContents.java
@@ -0,0 +1,52 @@
+package com.ruoyi.requier.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-12-17 06:14:51
+ */
+@Getter
+@Setter
+@TableName("suppliers_directory_contents")
+@ApiModel(value = "SuppliersDirectoryContents瀵硅薄", description = "鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍")
+public class SuppliersDirectoryContents implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鑺傜偣鍚嶇О")
+ private String nodeName;
+
+ @ApiModelProperty("浠e彿")
+ private String code;
+
+ @ApiModelProperty("鏇存柊浜�")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("鐖惰妭鐐�")
+ private Integer parentId;
+
+
+ @TableField(exist = false)
+ private List<SuppliersDirectoryContents> children;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeCalibrationScheduleService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeCalibrationScheduleService.java
new file mode 100644
index 0000000..5edbcad
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/FeCalibrationScheduleService.java
@@ -0,0 +1,20 @@
+package com.ruoyi.requier.service;
+
+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.requier.pojo.FeCalibrationSchedule;
+
+/**
+ * <p>
+ * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 02:53:05
+ */
+public interface FeCalibrationScheduleService extends IService<FeCalibrationSchedule> {
+
+
+ IPage<FeCalibrationSchedule> page(Page page,String instrumentName, String managementNumber);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationDetectionAreaService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationDetectionAreaService.java
new file mode 100644
index 0000000..de21f15
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationDetectionAreaService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.requier.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.requier.pojo.FeIlluminationDetectionArea;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:28
+ */
+public interface FeIlluminationDetectionAreaService extends IService<FeIlluminationDetectionArea> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationService.java
new file mode 100644
index 0000000..a674d45
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationService.java
@@ -0,0 +1,29 @@
+package com.ruoyi.requier.service;
+
+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.requier.dto.FeIlluminationDto;
+import com.ruoyi.requier.pojo.FeIllumination;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:15:57
+ */
+public interface FeIlluminationService extends IService<FeIllumination> {
+
+ IPage<FeIlluminationDto> getFeLightningProtection(Page page);
+
+ /**
+ * 瀵煎嚭鐓у害璁板綍
+ * @param intensityIlluminationId
+ * @param response
+ */
+ void exportFeIllumination(Integer intensityIlluminationId, HttpServletResponse response);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeLightningProtectionService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeLightningProtectionService.java
new file mode 100644
index 0000000..f53900c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/FeLightningProtectionService.java
@@ -0,0 +1,21 @@
+package com.ruoyi.requier.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.requier.excel.FeLightningProtectionExcel;
+import com.ruoyi.requier.pojo.FeLightningProtection;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:36
+ */
+public interface FeLightningProtectionService extends IService<FeLightningProtection> {
+
+ List<FeLightningProtectionExcel> exportOfLightningProtectionDetection();
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeMeasuredQuantityService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeMeasuredQuantityService.java
new file mode 100644
index 0000000..122917d
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/FeMeasuredQuantityService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.requier.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.requier.pojo.FeMeasuredQuantity;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:44
+ */
+public interface FeMeasuredQuantityService extends IService<FeMeasuredQuantity> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FePowerStableService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FePowerStableService.java
new file mode 100644
index 0000000..fe15469
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/FePowerStableService.java
@@ -0,0 +1,33 @@
+package com.ruoyi.requier.service;
+
+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.requier.dto.FePowerStableDto;
+import com.ruoyi.requier.pojo.FePowerStable;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:52
+ */
+public interface FePowerStableService extends IService<FePowerStable> {
+
+ IPage<FePowerStableDto> getLaboratoryFacilityPowerStablePage(Page page);
+
+ Map<String, Objects> getCalibrationDate(Integer deviceId);
+
+ /**
+ * 瀵煎嚭鐢垫簮绋冲畾鎬�
+ * @param powerStableId
+ * @param response
+ */
+ void exportFePowerStable(Integer powerStableId, HttpServletResponse response);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceInspectionService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceInspectionService.java
new file mode 100644
index 0000000..8f25219
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceInspectionService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.requier.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
+
+/**
+ * <p>
+ * 楠屾敹寮�绠辫褰� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:30:09
+ */
+public interface FeStandardSubstanceAcceptanceInspectionService extends IService<FeStandardSubstanceAcceptanceInspection> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceService.java
new file mode 100644
index 0000000..9aa8de9
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceService.java
@@ -0,0 +1,33 @@
+package com.ruoyi.requier.service;
+
+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.requier.dto.AcceptanceDto;
+import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptance;
+import com.ruoyi.requier.vo.AcceptanceDetailsVo;
+import com.ruoyi.requier.vo.AcceptanceVo;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川楠屾敹 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:29:41
+ */
+public interface FeStandardSubstanceAcceptanceService extends IService<FeStandardSubstanceAcceptance> {
+
+
+ void addAcceptance(AcceptanceDto dto);
+
+ IPage<AcceptanceVo> getPageAcceptance(Page page, String name);
+
+ AcceptanceDetailsVo getAcceptanceDetails(Integer id);
+
+ Integer deleteAcceptance(Integer id);
+
+ void exportFeStandardSubstanceAcceptance(HttpServletResponse response);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceRecordService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceRecordService.java
new file mode 100644
index 0000000..1c3568f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceRecordService.java
@@ -0,0 +1,30 @@
+package com.ruoyi.requier.service;
+
+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.requier.pojo.FeStandardSubstanceRecord;
+import com.ruoyi.requier.vo.SubstanceRecordVo;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 01:49:11
+ */
+public interface FeStandardSubstanceRecordService extends IService<FeStandardSubstanceRecord> {
+
+
+ void borrowSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord);
+
+ void returnSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord);
+
+ List<FeStandardSubstanceRecord> getSubstanceRecord(Integer id);
+
+ IPage<SubstanceRecordVo> getPage(Page page, SubstanceRecordVo vo);
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceService.java
new file mode 100644
index 0000000..cd7ea90
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceService.java
@@ -0,0 +1,19 @@
+package com.ruoyi.requier.service;
+
+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.requier.pojo.FeStandardSubstance;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 03:58:59
+ */
+public interface FeStandardSubstanceService extends IService<FeStandardSubstance> {
+
+ IPage<FeStandardSubstance> page(Page page,FeStandardSubstance feStandardSubstance);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumDateService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumDateService.java
new file mode 100644
index 0000000..bf1df8b
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumDateService.java
@@ -0,0 +1,24 @@
+package com.ruoyi.requier.service;
+
+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.requier.dto.FeTempHumDateDto;
+import com.ruoyi.requier.pojo.FeTempHumDate;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-09 11:02:18
+ */
+public interface FeTempHumDateService extends IService<FeTempHumDate> {
+
+ IPage<FeTempHumDateDto> getFeTempHumDate(Page page);
+
+ void exportTemperatureAndHumidityRecords(Integer dateId, HttpServletResponse response);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumRecordService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumRecordService.java
new file mode 100644
index 0000000..8c8724e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumRecordService.java
@@ -0,0 +1,20 @@
+package com.ruoyi.requier.service;
+
+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.requier.dto.FeTempHumRecordDto;
+import com.ruoyi.requier.pojo.FeTempHumRecord;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:28:52
+ */
+public interface FeTempHumRecordService extends IService<FeTempHumRecord> {
+
+ IPage<FeTempHumRecordDto> getFeTempHumRecordPage(Page page, Integer dateId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/ForeignRegisterService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/ForeignRegisterService.java
new file mode 100644
index 0000000..5897e3c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/ForeignRegisterService.java
@@ -0,0 +1,34 @@
+package com.ruoyi.requier.service;
+
+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.requier.dto.ForeignRegisterDto;
+import com.ruoyi.requier.pojo.ForeignRegister;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 澶栨潵浜哄憳鐧昏 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 07:17:35
+ */
+public interface ForeignRegisterService extends IService<ForeignRegister> {
+
+ /**
+ * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ
+ * @param page
+ * @param foreignRegister
+ * @return
+ */
+ IPage<ForeignRegisterDto> pageForeignRegister(Page page, ForeignRegisterDto foreignRegister);
+
+ /**
+ * 瀵煎嚭澶栨潵浜哄憳鐧昏
+ * @param foreignRegister
+ */
+ void exportForeignRegister(ForeignRegisterDto foreignRegister, HttpServletResponse response);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesDetailService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesDetailService.java
new file mode 100644
index 0000000..596342f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesDetailService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.requier.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.requier.pojo.InternalWastesDetail;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:54
+ */
+public interface InternalWastesDetailService extends IService<InternalWastesDetail> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesService.java
new file mode 100644
index 0000000..37b8d61
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesService.java
@@ -0,0 +1,63 @@
+package com.ruoyi.requier.service;
+
+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.requier.dto.InternalWastesDto;
+import com.ruoyi.requier.pojo.InternalWastes;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:27
+ */
+public interface InternalWastesService extends IService<InternalWastes> {
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒嗛〉鏌ヨ
+ * @param page
+ * @param internalWastes
+ * @return
+ */
+ IPage<InternalWastesDto> pageInternalWastes(Page page, InternalWastes internalWastes);
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏂板
+ * @param internalWastes
+ * @return
+ */
+ boolean addInternalWastes(InternalWastesDto internalWastes);
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊淇敼
+ * @param internalWastes
+ * @return
+ */
+ boolean updateInternalWastes(InternalWastesDto internalWastes);
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒犻櫎
+ * @param wastesId
+ * @return
+ */
+ boolean delInternalWastes(Integer wastesId);
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏌ョ湅璇︽儏
+ * @param wastesId
+ * @return
+ */
+ InternalWastesDto getInternalWastesOne(Integer wastesId);
+
+ /**
+ * 瀵煎嚭涓夊簾澶勭悊
+ * @param wastesId
+ * @param response
+ */
+ void exportInternalWastes(Integer wastesId, HttpServletResponse response);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesConsumablesService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesConsumablesService.java
new file mode 100644
index 0000000..0d5eeea
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesConsumablesService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.requier.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.requier.pojo.ProcurementSuppliesConsumables;
+
+public interface ProcurementSuppliesConsumablesService extends IService<ProcurementSuppliesConsumables> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesContentsService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesContentsService.java
new file mode 100644
index 0000000..b6f55be
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesContentsService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.requier.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.requier.pojo.ProcurementSuppliesContents;
+
+import java.util.List;
+import java.util.Map;
+
+public interface ProcurementSuppliesContentsService extends IService<ProcurementSuppliesContents> {
+
+ List<ProcurementSuppliesContents> directoryListing();
+
+ List<Map<String,Object>> getNodeNames();
+
+ List<Map<String,Object>> getUserList();
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesExpendsService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesExpendsService.java
new file mode 100644
index 0000000..e6eb91d
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesExpendsService.java
@@ -0,0 +1,23 @@
+package com.ruoyi.requier.service;
+
+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.requier.dto.ProcurementSuppliesExpendDto;
+import com.ruoyi.requier.pojo.ProcurementSuppliesExpends;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 03:47:19
+ */
+public interface ProcurementSuppliesExpendsService extends IService<ProcurementSuppliesExpends> {
+ IPage<ProcurementSuppliesExpendDto> selectAll(Page page, Long procurementSuppliesListId);
+
+ Integer addExpends(ProcurementSuppliesExpendDto expendDto);
+
+ Integer deleteExpends(Long id);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesListService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesListService.java
new file mode 100644
index 0000000..2b4c3cd
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesListService.java
@@ -0,0 +1,28 @@
+package com.ruoyi.requier.service;
+
+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.requier.dto.ProcurementSuppliesListDto;
+import com.ruoyi.requier.pojo.ProcurementSuppliesList;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 04:04:32
+ */
+public interface ProcurementSuppliesListService extends IService<ProcurementSuppliesList> {
+ IPage<ProcurementSuppliesListDto> selectList(Page page, ProcurementSuppliesListDto list);
+
+ public Integer addProcurementSuppliesList(ProcurementSuppliesListDto dto);
+
+ public Integer updateProcurementSuppliesList(ProcurementSuppliesListDto dto);
+
+ void exportProcurementSuppliesList(Integer contentsId,HttpServletResponse response);
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesStoreService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesStoreService.java
new file mode 100644
index 0000000..94e4009
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesStoreService.java
@@ -0,0 +1,21 @@
+package com.ruoyi.requier.service;
+
+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.requier.dto.StoreDto;
+import com.ruoyi.requier.pojo.ProcurementSuppliesStore;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Map;
+
+public interface ProcurementSuppliesStoreService extends IService<ProcurementSuppliesStore> {
+ void addStore(Map<String,Object> map);
+ void updateStore(Map<String,Object> map);
+
+ void deleteStore(Integer id, Integer consumablesId);
+ IPage<StoreDto> selectStoreList(Page page, StoreDto storeDto);
+
+ void exportExcel(Integer contentsId, HttpServletResponse response) throws IOException;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/SupplierManagementService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/SupplierManagementService.java
new file mode 100644
index 0000000..994b695
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/SupplierManagementService.java
@@ -0,0 +1,32 @@
+package com.ruoyi.requier.service;
+
+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.requier.pojo.SupplierManagement;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 02:46:45
+ */
+public interface SupplierManagementService extends IService<SupplierManagement> {
+
+ List<SupplierManagement> selectSupplierManagement(SupplierManagement supplierManagement);
+
+ void exportSupplierManagement(Integer parentId, HttpServletResponse response);
+
+ IPage<SupplierManagement> selectQualifiedSupplierManagement(Page page, SupplierManagement supplierManagement);
+
+ List<SupplierManagement> selectQualifiedSupplierManagementById(Integer supplierManagementId);
+
+ List<SupplierManagement> selectSupplierManagementByParentId(Integer parentId);
+
+ List<SupplierManagement> selectSupplierManagementAll();
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/SuppliersDirectoryContentsService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/SuppliersDirectoryContentsService.java
new file mode 100644
index 0000000..e8e35f9
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/SuppliersDirectoryContentsService.java
@@ -0,0 +1,22 @@
+package com.ruoyi.requier.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.requier.pojo.SuppliersDirectoryContents;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-12-17 06:14:51
+ */
+public interface SuppliersDirectoryContentsService extends IService<SuppliersDirectoryContents> {
+
+ ArrayList<SuppliersDirectoryContents> directoryListing();
+ List<Map<String, Object>> getSuppliersDirectoryContentsNodeNames();
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeCalibrationScheduleServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeCalibrationScheduleServiceImpl.java
new file mode 100644
index 0000000..98621dd
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeCalibrationScheduleServiceImpl.java
@@ -0,0 +1,27 @@
+package com.ruoyi.requier.service.impl;
+
+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.requier.mapper.FeCalibrationScheduleMapper;
+import com.ruoyi.requier.pojo.FeCalibrationSchedule;
+import com.ruoyi.requier.service.FeCalibrationScheduleService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 02:53:05
+ */
+@Service
+public class FeCalibrationScheduleServiceImpl extends ServiceImpl<FeCalibrationScheduleMapper, FeCalibrationSchedule> implements FeCalibrationScheduleService {
+
+ @Override
+ public IPage<FeCalibrationSchedule> page(Page page, String instrumentName, String managementNumber) {
+ IPage<FeCalibrationSchedule> ipage = this.baseMapper.ipage(page,instrumentName, managementNumber);
+ return ipage;
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationDetectionAreaServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationDetectionAreaServiceImpl.java
new file mode 100644
index 0000000..74f74e6
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationDetectionAreaServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.requier.mapper.FeIlluminationDetectionAreaMapper;
+import com.ruoyi.requier.pojo.FeIlluminationDetectionArea;
+import com.ruoyi.requier.service.FeIlluminationDetectionAreaService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:28
+ */
+@Service
+public class FeIlluminationDetectionAreaServiceImpl extends ServiceImpl<FeIlluminationDetectionAreaMapper, FeIlluminationDetectionArea> implements FeIlluminationDetectionAreaService {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationServiceImpl.java
new file mode 100644
index 0000000..c885dc9
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationServiceImpl.java
@@ -0,0 +1,135 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.deepoove.poi.XWPFTemplate;
+import com.deepoove.poi.config.Configure;
+import com.deepoove.poi.data.Pictures;
+import com.ruoyi.common.utils.DateImageUtil;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.inspect.util.HackLoopTableRenderPolicy;
+import com.ruoyi.system.mapper.UserMapper;
+import com.ruoyi.requier.dto.FeIlluminationDto;
+import com.ruoyi.requier.dto.FeIlluminationExportDto;
+import com.ruoyi.requier.mapper.FeIlluminationDetectionAreaMapper;
+import com.ruoyi.requier.mapper.FeIlluminationMapper;
+import com.ruoyi.requier.pojo.FeIllumination;
+import com.ruoyi.requier.pojo.FeIlluminationDetectionArea;
+import com.ruoyi.requier.service.FeIlluminationService;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:15:57
+ */
+@Service
+public class FeIlluminationServiceImpl extends ServiceImpl<FeIlluminationMapper, FeIllumination> implements FeIlluminationService {
+
+ @Resource
+ private FeIlluminationDetectionAreaMapper feIlluminationDetectionAreaMapper;
+ @Resource
+ private UserMapper userMapper;
+
+ @Value("${file.path}")
+ private String imgUrl;
+
+
+ @Override
+ public IPage<FeIlluminationDto> getFeLightningProtection(Page page) {
+ return baseMapper.getFeLightningProtection(page);
+ }
+
+ /**
+ * 瀵煎嚭鐓у害璁板綍
+ * @param intensityIlluminationId
+ * @param response
+ */
+ @Override
+ public void exportFeIllumination(Integer intensityIlluminationId, HttpServletResponse response) {
+ FeIlluminationExportDto illuminationExportDto = baseMapper.selectFeIllumination(intensityIlluminationId);
+ // 妫�娴嬩汉
+ String testerUrl = null;
+ if (illuminationExportDto.getTesterId() != null) {
+ testerUrl = userMapper.selectById(illuminationExportDto.getTesterId()).getSignatureUrl();
+ if (StringUtils.isBlank(testerUrl)) {
+ throw new ErrorException("鎵句笉鍒版娴嬩汉鐨勭鍚�");
+ }
+ }
+
+ // 鏍告煡浜�
+ String checkerUrl = null;
+ if (illuminationExportDto.getCheckerId() != null) {
+ checkerUrl = userMapper.selectById(illuminationExportDto.getCheckerId()).getSignatureUrl();
+ if (StringUtils.isBlank(checkerUrl)) {
+ throw new ErrorException("鎵句笉鍒版牳鏌ヤ汉鐨勭鍚�");
+ }
+ }
+
+ // 鏌ヨ璇︽儏
+ List<FeIlluminationDetectionArea> feIlluminationDetectionAreas = feIlluminationDetectionAreaMapper.selectList(Wrappers.<FeIlluminationDetectionArea>lambdaQuery()
+ .eq(FeIlluminationDetectionArea::getIntensityIlluminationId, intensityIlluminationId));
+
+ for (int i = 0; i < feIlluminationDetectionAreas.size(); i++) {
+ feIlluminationDetectionAreas.get(i).setIndex(i + 1);
+ }
+
+ // 鑾峰彇璺緞
+ InputStream inputStream = this.getClass().getResourceAsStream("/static/illumination.docx");
+ Configure configure = Configure.builder()
+ .bind("detectionAreaList", new HackLoopTableRenderPolicy())
+ .build();
+ String finalTesterUrl = testerUrl;
+ String finalCheckerUrl = checkerUrl;
+
+ // 鍒ゆ柇妫�娴嬫棩鏈熸槸鍚︿负绌�
+ LocalDateTime localDateTime = null;
+ if (illuminationExportDto.getTestDate() != null) {
+ Instant instant = illuminationExportDto.getTestDate().toInstant();
+ ZoneId zoneId = ZoneId.systemDefault();
+ localDateTime = instant.atZone(zoneId).toLocalDateTime();
+ }
+ LocalDateTime finalLocalDateTime = localDateTime;
+ XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
+ new HashMap<String, Object>() {{
+ put("illumination", illuminationExportDto);
+ put("detectionAreaList", feIlluminationDetectionAreas);
+ put("testerUrl", StringUtils.isNotBlank(finalTesterUrl) ? Pictures.ofLocal(imgUrl + "/" + finalTesterUrl).create() : null);
+ put("checkerUrl", StringUtils.isNotBlank(finalCheckerUrl) ? Pictures.ofLocal(imgUrl + "/" + finalCheckerUrl).create() : null);
+ put("testDateUrl", finalLocalDateTime != null ?
+ Pictures.ofStream(DateImageUtil.createDateImage(finalLocalDateTime)).create() : null);
+ }});
+ try {
+ response.setContentType("application/msword");
+ String fileName = URLEncoder.encode(
+ "鐓ф槑璁板綍瀵煎嚭", "UTF-8");
+ response.setHeader("Content-disposition",
+ "attachment;filename=" + fileName + ".docx");
+ OutputStream os = response.getOutputStream();
+ template.write(os);
+ os.flush();
+ os.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ }
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeLightningProtectionServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeLightningProtectionServiceImpl.java
new file mode 100644
index 0000000..665952b
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeLightningProtectionServiceImpl.java
@@ -0,0 +1,27 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.requier.excel.FeLightningProtectionExcel;
+import com.ruoyi.requier.mapper.FeLightningProtectionMapper;
+import com.ruoyi.requier.pojo.FeLightningProtection;
+import com.ruoyi.requier.service.FeLightningProtectionService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:36
+ */
+@Service
+public class FeLightningProtectionServiceImpl extends ServiceImpl<FeLightningProtectionMapper, FeLightningProtection> implements FeLightningProtectionService {
+
+ @Override
+ public List<FeLightningProtectionExcel> exportOfLightningProtectionDetection() {
+ return baseMapper.exportOfLightningProtectionDetection();
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeMeasuredQuantityServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeMeasuredQuantityServiceImpl.java
new file mode 100644
index 0000000..c471ed7
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeMeasuredQuantityServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.requier.mapper.FeMeasuredQuantityMapper;
+import com.ruoyi.requier.pojo.FeMeasuredQuantity;
+import com.ruoyi.requier.service.FeMeasuredQuantityService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:44
+ */
+@Service
+public class FeMeasuredQuantityServiceImpl extends ServiceImpl<FeMeasuredQuantityMapper, FeMeasuredQuantity> implements FeMeasuredQuantityService {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FePowerStableServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FePowerStableServiceImpl.java
new file mode 100644
index 0000000..9d00e6b
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FePowerStableServiceImpl.java
@@ -0,0 +1,123 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.deepoove.poi.XWPFTemplate;
+import com.deepoove.poi.config.Configure;
+import com.deepoove.poi.data.Pictures;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.inspect.util.HackLoopTableRenderPolicy;
+import com.ruoyi.system.mapper.UserMapper;
+import com.ruoyi.requier.dto.FePowerStableDto;
+import com.ruoyi.requier.dto.FePowerStableExportDto;
+import com.ruoyi.requier.mapper.FeMeasuredQuantityMapper;
+import com.ruoyi.requier.mapper.FePowerStableMapper;
+import com.ruoyi.requier.pojo.FeMeasuredQuantity;
+import com.ruoyi.requier.pojo.FePowerStable;
+import com.ruoyi.requier.service.FePowerStableService;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:52
+ */
+@Service
+public class FePowerStableServiceImpl extends ServiceImpl<FePowerStableMapper, FePowerStable> implements FePowerStableService {
+
+ @Resource
+ private FeMeasuredQuantityMapper feMeasuredQuantityMapper;
+ @Resource
+ private UserMapper userMapper;
+
+ @Value("${file.path}")
+ private String imgUrl;
+
+ @Override
+ public IPage<FePowerStableDto> getLaboratoryFacilityPowerStablePage(Page page) {
+ return baseMapper.getLaboratoryFacilityPowerStablePage(page);
+ }
+
+ @Override
+ public Map<String, Objects> getCalibrationDate(Integer deviceId) {
+ return baseMapper.getCalibrationDate(deviceId);
+ }
+
+ /**
+ * 瀵煎嚭鐢垫簮绋冲畾鎬�
+ * @param powerStableId
+ * @param response
+ */
+ @Override
+ public void exportFePowerStable(Integer powerStableId, HttpServletResponse response) {
+ FePowerStableExportDto powerStable = baseMapper.selectPowerStable(powerStableId);
+
+ // 妫�娴嬩汉
+ String testerUrl = null;
+ if (powerStable.getTesterId() != null) {
+ testerUrl = userMapper.selectById(powerStable.getTesterId()).getSignatureUrl();
+ if (StringUtils.isBlank(testerUrl)) {
+ throw new ErrorException("鎵句笉鍒版娴嬩汉鐨勭鍚�");
+ }
+ }
+
+ // 鏍告煡浜�
+ String checkerUrl = null;
+ if (powerStable.getCheckerId() != null) {
+ checkerUrl = userMapper.selectById(powerStable.getCheckerId()).getSignatureUrl();
+ if (StringUtils.isBlank(checkerUrl)) {
+ throw new ErrorException("鎵句笉鍒版牳鏌ヤ汉鐨勭鍚�");
+ }
+ }
+
+ // 鏌ヨ璇︽儏
+ List<FeMeasuredQuantity> feMeasuredQuantities = feMeasuredQuantityMapper.selectList(Wrappers.<FeMeasuredQuantity>lambdaQuery()
+ .eq(FeMeasuredQuantity::getPowerStableId, powerStableId));
+
+ // 鑾峰彇璺緞
+ InputStream inputStream = this.getClass().getResourceAsStream("/static/power-stable.docx");
+ Configure configure = Configure.builder()
+ .bind("measuredQuantityList", new HackLoopTableRenderPolicy())
+ .build();
+ String finalTesterUrl = testerUrl;
+ String finalCheckerUrl = checkerUrl;
+ XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
+ new HashMap<String, Object>() {{
+ put("stable", powerStable);
+ put("measuredQuantityList", feMeasuredQuantities);
+ put("testerUrl", StringUtils.isNotBlank(finalTesterUrl) ? Pictures.ofLocal(imgUrl + "/" + finalTesterUrl).create() : null);
+ put("checkerUrl", StringUtils.isNotBlank(finalCheckerUrl) ? Pictures.ofLocal(imgUrl + "/" + finalCheckerUrl).create() : null);
+ }});
+ try {
+ response.setContentType("application/msword");
+ String fileName = URLEncoder.encode(
+ "鐢垫簮绋冲畾鎬ф祴璇曞鍑�", "UTF-8");
+ response.setHeader("Content-disposition",
+ "attachment;filename=" + fileName + ".docx");
+ OutputStream os = response.getOutputStream();
+ template.write(os);
+ os.flush();
+ os.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ }
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java
new file mode 100644
index 0000000..99c906c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.requier.mapper.FeStandardSubstanceAcceptanceInspectionMapper;
+import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
+import com.ruoyi.requier.service.FeStandardSubstanceAcceptanceInspectionService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 楠屾敹寮�绠辫褰� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:30:09
+ */
+@Service
+public class FeStandardSubstanceAcceptanceInspectionServiceImpl extends ServiceImpl<FeStandardSubstanceAcceptanceInspectionMapper, FeStandardSubstanceAcceptanceInspection> implements FeStandardSubstanceAcceptanceInspectionService {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java
new file mode 100644
index 0000000..d24567b
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java
@@ -0,0 +1,111 @@
+package com.ruoyi.requier.service.impl;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.requier.dto.AcceptanceDto;
+import com.ruoyi.requier.mapper.FeStandardSubstanceAcceptanceInspectionMapper;
+import com.ruoyi.requier.mapper.FeStandardSubstanceAcceptanceMapper;
+import com.ruoyi.requier.mapper.FeStandardSubstanceMapper;
+import com.ruoyi.requier.pojo.FeStandardSubstance;
+import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptance;
+import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
+import com.ruoyi.requier.service.FeStandardSubstanceAcceptanceService;
+import com.ruoyi.requier.vo.AcceptanceDetailsVo;
+import com.ruoyi.requier.vo.AcceptanceVo;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川楠屾敹 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:29:41
+ */
+@Service
+public class FeStandardSubstanceAcceptanceServiceImpl extends ServiceImpl<FeStandardSubstanceAcceptanceMapper, FeStandardSubstanceAcceptance> implements FeStandardSubstanceAcceptanceService {
+
+ @Resource
+ private FeStandardSubstanceAcceptanceInspectionMapper feStandardSubstanceAcceptanceInspectionMapper;
+
+ @Resource
+ private FeStandardSubstanceMapper feStandardSubstanceMapper;
+
+
+
+ @Override
+ public void addAcceptance(AcceptanceDto dto) {
+ FeStandardSubstanceAcceptance acceptance = dto.getAcceptance();
+ List<FeStandardSubstanceAcceptanceInspection> list = dto.getList();
+ this.baseMapper.insert(acceptance);
+ list.forEach(v->{
+ v.setAcceptanceId(acceptance.getId());
+ feStandardSubstanceAcceptanceInspectionMapper.insert(v);
+ });
+ }
+
+ @Override
+ public IPage<AcceptanceVo> getPageAcceptance(Page page, String name) {
+ return this.baseMapper.getPageAcceptance(page,name);
+ }
+
+ @Override
+ public AcceptanceDetailsVo getAcceptanceDetails(Integer id) {
+ FeStandardSubstanceAcceptance acceptance = this.baseMapper.selectById(id);
+ FeStandardSubstance substance = feStandardSubstanceMapper.selectById(acceptance.getSubstanceId());
+ QueryWrapper<FeStandardSubstanceAcceptanceInspection> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("acceptance_id",id);
+ List<FeStandardSubstanceAcceptanceInspection> list = feStandardSubstanceAcceptanceInspectionMapper.selectList(queryWrapper);
+ AcceptanceDetailsVo vo = new AcceptanceDetailsVo();
+ vo.setSubstance(substance);
+ vo.setAcceptance(acceptance);
+ vo.setList(list);
+ return vo;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Integer deleteAcceptance(Integer id) {
+ feStandardSubstanceAcceptanceInspectionMapper.delete(new QueryWrapper<FeStandardSubstanceAcceptanceInspection>()
+ .lambda().eq(FeStandardSubstanceAcceptanceInspection::getAcceptanceId,id));
+ return this.baseMapper.deleteById(id);
+ }
+
+ @Override
+ public void exportFeStandardSubstanceAcceptance(HttpServletResponse response) {
+ List<FeStandardSubstanceAcceptance> list = this.list();
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("UTF-8");
+ // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
+ try {
+ String fileName = URLEncoder.encode("鏍囧噯鐗╄川楠屾敹", "UTF-8");
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ // 鏂板缓ExcelWriter
+ ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+ WriteSheet writeSheet = EasyExcel.writerSheet(0, "鏍囧噯鐗╄川楠屾敹").head(FeStandardSubstanceAcceptance.class).build();
+ excelWriter.write(list, writeSheet);
+ // 鍏抽棴娴�
+ excelWriter.finish();
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ }
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceRecordServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceRecordServiceImpl.java
new file mode 100644
index 0000000..74b7510
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceRecordServiceImpl.java
@@ -0,0 +1,79 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.requier.mapper.FeStandardSubstanceMapper;
+import com.ruoyi.requier.mapper.FeStandardSubstanceRecordMapper;
+import com.ruoyi.requier.pojo.FeStandardSubstance;
+import com.ruoyi.requier.pojo.FeStandardSubstanceRecord;
+import com.ruoyi.requier.service.FeStandardSubstanceRecordService;
+import com.ruoyi.requier.vo.SubstanceRecordVo;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 01:49:11
+ */
+@Transactional(rollbackFor = Exception.class)
+@Service
+public class FeStandardSubstanceRecordServiceImpl extends ServiceImpl<FeStandardSubstanceRecordMapper, FeStandardSubstanceRecord> implements FeStandardSubstanceRecordService {
+
+ @Resource
+ private FeStandardSubstanceMapper feStandardSubstanceMapper;
+
+ @Override
+ public void borrowSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord) {
+ FeStandardSubstance standardSubstance = feStandardSubstanceMapper.selectOne(Wrappers.<FeStandardSubstance>lambdaQuery()
+ .eq(FeStandardSubstance::getId, feStandardSubstanceRecord.getSubstanceId())
+ .eq(FeStandardSubstance::getState, 0)
+ .last("limit 1"));
+ if (ObjectUtils.isEmpty(standardSubstance)){
+ throw new ErrorException("璇ョ墿璐ㄥ凡琚�熷嚭锛�");
+ }
+ this.baseMapper.insert(feStandardSubstanceRecord);
+ standardSubstance.setState(1);
+ feStandardSubstanceMapper.updateById(standardSubstance);
+ }
+
+ @Override
+ public void returnSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord) {
+ FeStandardSubstance standardSubstance = feStandardSubstanceMapper.selectOne(Wrappers.<FeStandardSubstance>lambdaQuery()
+ .eq(FeStandardSubstance::getId, feStandardSubstanceRecord.getSubstanceId())
+ .eq(FeStandardSubstance::getState, 1));
+ if (ObjectUtils.isEmpty(standardSubstance)){
+ throw new ErrorException("璇ョ墿璐ㄦ湭琚鐢紝鏃犻渶褰掕繕锛�");
+ }
+ standardSubstance.setState(0);
+ feStandardSubstanceMapper.updateById(standardSubstance);
+ System.out.println(feStandardSubstanceRecord);
+ baseMapper.update(feStandardSubstanceRecord, Wrappers.<FeStandardSubstanceRecord>lambdaUpdate()
+ .eq(FeStandardSubstanceRecord::getSubstanceId, feStandardSubstanceRecord.getSubstanceId())
+ .eq(FeStandardSubstanceRecord::getStatus, 0));
+ }
+
+ @Override
+ public List<FeStandardSubstanceRecord> getSubstanceRecord(Integer id) {
+ QueryWrapper<FeStandardSubstanceRecord> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("substance_id",id);
+ List<FeStandardSubstanceRecord> list = this.baseMapper.selectList(queryWrapper);
+ return list;
+ }
+
+ @Override
+ public IPage<SubstanceRecordVo> getPage(Page page, SubstanceRecordVo vo) {
+ return this.baseMapper.getPage(page,vo);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceServiceImpl.java
new file mode 100644
index 0000000..21e50ee
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceServiceImpl.java
@@ -0,0 +1,26 @@
+package com.ruoyi.requier.service.impl;
+
+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.requier.mapper.FeStandardSubstanceMapper;
+import com.ruoyi.requier.pojo.FeStandardSubstance;
+import com.ruoyi.requier.service.FeStandardSubstanceService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 03:58:59
+ */
+@Service
+public class FeStandardSubstanceServiceImpl extends ServiceImpl<FeStandardSubstanceMapper, FeStandardSubstance> implements FeStandardSubstanceService {
+
+ @Override
+ public IPage<FeStandardSubstance> page(Page page,FeStandardSubstance feStandardSubstance) {
+ return this.baseMapper.getPage(page,feStandardSubstance);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumDateServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumDateServiceImpl.java
new file mode 100644
index 0000000..cde3cbd
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumDateServiceImpl.java
@@ -0,0 +1,86 @@
+package com.ruoyi.requier.service.impl;
+
+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.deepoove.poi.XWPFTemplate;
+import com.deepoove.poi.config.Configure;
+import com.ruoyi.inspect.util.HackLoopTableRenderPolicy;
+import com.ruoyi.requier.dto.FeTempHumDateDto;
+import com.ruoyi.requier.dto.FeTempHumRecordDto;
+import com.ruoyi.requier.mapper.FeTempHumDateMapper;
+import com.ruoyi.requier.pojo.FeTempHumDate;
+import com.ruoyi.requier.service.FeTempHumDateService;
+import com.ruoyi.requier.service.FeTempHumRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+import java.time.format.DateTimeFormatter;
+import java.util.HashMap;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-09 11:02:18
+ */
+@Service
+public class FeTempHumDateServiceImpl extends ServiceImpl<FeTempHumDateMapper, FeTempHumDate> implements FeTempHumDateService {
+
+ @Autowired
+ private FeTempHumRecordService feTempHumRecordService;
+
+ @Override
+ public IPage<FeTempHumDateDto> getFeTempHumDate(Page page) {
+ return baseMapper.getFeTempHumDate(page);
+ }
+
+ @Override
+ public void exportTemperatureAndHumidityRecords(Integer dateId, HttpServletResponse response) {
+ FeTempHumDate feTempHumDate = baseMapper.selectById(dateId);
+ IPage<FeTempHumRecordDto> list = feTempHumRecordService.getFeTempHumRecordPage(new Page<>(1, -1), dateId);
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ list.getRecords().forEach(i -> {
+ i.setMonth(i.getMorningTestTime().getMonth().getValue());
+ i.setMorningTestTimeStr(i.getMorningTestTime().format(formatter));
+ i.setAfternoonTimeStr(i.getAfternoonTime().format(formatter));
+ });
+ // 鑾峰彇璺緞
+ InputStream inputStream = this.getClass().getResourceAsStream("/static/temp_hum_date.docx");
+ Configure configure = Configure.builder()
+ .bind("recordList", new HackLoopTableRenderPolicy())
+ .build();
+
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("testAreaName", feTempHumDate.getTestAreaName());
+ map.put("experimentalYear", feTempHumDate.getMonthDate().getYear());
+ map.put("experimentalMonth", feTempHumDate.getMonthDate().getMonth().getValue());
+
+ XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
+ new HashMap<String, Object>() {{
+ put("feTempHum", map);
+ put("recordList", list.getRecords());
+ }});
+
+ try {
+ response.setContentType("application/msword");
+ String fileName = URLEncoder.encode(
+ "娓╂箍搴﹁褰曞鍑�", "UTF-8");
+ response.setHeader("Content-disposition",
+ "attachment;filename=" + fileName + ".docx");
+ OutputStream os = response.getOutputStream();
+ template.write(os);
+ os.flush();
+ os.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ }
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumRecordServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumRecordServiceImpl.java
new file mode 100644
index 0000000..0b54a27
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumRecordServiceImpl.java
@@ -0,0 +1,27 @@
+package com.ruoyi.requier.service.impl;
+
+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.requier.dto.FeTempHumRecordDto;
+import com.ruoyi.requier.mapper.FeTempHumRecordMapper;
+import com.ruoyi.requier.pojo.FeTempHumRecord;
+import com.ruoyi.requier.service.FeTempHumRecordService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:28:52
+ */
+@Service
+public class FeTempHumRecordServiceImpl extends ServiceImpl<FeTempHumRecordMapper, FeTempHumRecord> implements FeTempHumRecordService {
+
+ @Override
+ public IPage<FeTempHumRecordDto> getFeTempHumRecordPage(Page page, Integer dateId) {
+ return baseMapper.getFeTempHumRecordPage(page, dateId);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ForeignRegisterServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ForeignRegisterServiceImpl.java
new file mode 100644
index 0000000..cc56c2d
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ForeignRegisterServiceImpl.java
@@ -0,0 +1,101 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.deepoove.poi.XWPFTemplate;
+import com.deepoove.poi.config.Configure;
+import com.deepoove.poi.data.Pictures;
+import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.inspect.util.HackLoopTableRenderPolicy;
+import com.ruoyi.system.mapper.UserMapper;
+import com.ruoyi.requier.dto.ForeignRegisterDto;
+import com.ruoyi.requier.mapper.ForeignRegisterMapper;
+import com.ruoyi.requier.pojo.ForeignRegister;
+import com.ruoyi.requier.service.ForeignRegisterService;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * <p>
+ * 澶栨潵浜哄憳鐧昏 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 07:17:35
+ */
+@Service
+public class ForeignRegisterServiceImpl extends ServiceImpl<ForeignRegisterMapper, ForeignRegister> implements ForeignRegisterService {
+ @Resource
+ private UserMapper userMapper;
+ @Value("${file.path}")
+ private String imgUrl;
+
+ /**
+ * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ
+ * @param page
+ * @param foreignRegister
+ * @return
+ */
+ @Override
+ public IPage<ForeignRegisterDto> pageForeignRegister(Page page, ForeignRegisterDto foreignRegister) {
+ String beginDate = foreignRegister.getBeginDate();
+ String endDate = foreignRegister.getEndDate();
+ foreignRegister.setBeginDate(null);
+ foreignRegister.setEndDate(null);
+ return baseMapper.pageForeignRegister(page, QueryWrappers.queryWrappers(foreignRegister), beginDate, endDate);
+ }
+
+ /**
+ * 瀵煎嚭澶栨潵浜哄憳鐧昏
+ * @param foreignRegister
+ */
+ @Override
+ public void exportForeignRegister(ForeignRegisterDto foreignRegister, HttpServletResponse response) {
+ String beginDate = foreignRegister.getBeginDate();
+ String endDate = foreignRegister.getEndDate();
+ foreignRegister.setBeginDate(null);
+ foreignRegister.setEndDate(null);
+ List<ForeignRegisterDto> register = baseMapper.getForeignRegisterList(QueryWrappers.queryWrappers(foreignRegister), beginDate, endDate);
+
+ for (ForeignRegisterDto foreignRegisterDto : register) {
+ // 娣诲姞鍗忓悓浜哄拰鎵瑰噯浜虹鍚�
+ foreignRegisterDto.setAccompanyingRender(StringUtils.isNotBlank(foreignRegisterDto.getAccompanyingUrl())
+ ? Pictures.ofLocal(imgUrl + "/" + foreignRegisterDto.getAccompanyingUrl()).create() : null);
+ foreignRegisterDto.setApproveRender(StringUtils.isNotBlank(foreignRegisterDto.getApproveUrl())
+ ? Pictures.ofLocal(imgUrl + "/" + foreignRegisterDto.getApproveUrl()).create() : null);
+ }
+ // 鑾峰彇璺緞
+ InputStream inputStream = this.getClass().getResourceAsStream("/static/foreign-register.docx");
+ Configure configure = Configure.builder()
+ .bind("register", new HackLoopTableRenderPolicy())
+ .build();
+ XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
+ new HashMap<String, Object>() {{
+ put("register", register);
+ }});
+ try {
+ response.setContentType("application/msword");
+ String fileName = URLEncoder.encode(
+ "澶栨潵浜哄憳鐧昏", "UTF-8");
+ response.setHeader("Content-disposition",
+ "attachment;filename=" + fileName + ".docx");
+ OutputStream os = response.getOutputStream();
+ template.write(os);
+ os.flush();
+ os.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ }
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesDetailServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesDetailServiceImpl.java
new file mode 100644
index 0000000..578c914
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesDetailServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.requier.mapper.InternalWastesDetailMapper;
+import com.ruoyi.requier.pojo.InternalWastesDetail;
+import com.ruoyi.requier.service.InternalWastesDetailService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:54
+ */
+@Service
+public class InternalWastesDetailServiceImpl extends ServiceImpl<InternalWastesDetailMapper, InternalWastesDetail> implements InternalWastesDetailService {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesServiceImpl.java
new file mode 100644
index 0000000..f472230
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesServiceImpl.java
@@ -0,0 +1,170 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.deepoove.poi.XWPFTemplate;
+import com.deepoove.poi.config.Configure;
+import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.inspect.util.HackLoopTableRenderPolicy;
+import com.ruoyi.requier.dto.InternalWastesDto;
+import com.ruoyi.requier.mapper.InternalWastesMapper;
+import com.ruoyi.requier.pojo.InternalWastes;
+import com.ruoyi.requier.pojo.InternalWastesDetail;
+import com.ruoyi.requier.service.InternalWastesDetailService;
+import com.ruoyi.requier.service.InternalWastesService;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:27
+ */
+@Service
+@AllArgsConstructor
+@Transactional(rollbackFor = Exception.class)
+public class InternalWastesServiceImpl extends ServiceImpl<InternalWastesMapper, InternalWastes> implements InternalWastesService {
+
+ private InternalWastesDetailService internalWastesDetailService;
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏鍒嗛〉鏌ヨ
+ * @param page
+ * @param internalWastes
+ * @return
+ */
+ @Override
+ public IPage<InternalWastesDto> pageInternalWastes(Page page, InternalWastes internalWastes) {
+ return baseMapper.pageInternalWastes(page, QueryWrappers.queryWrappers(internalWastes));
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏鏂板
+ * @param internalWastes
+ * @return
+ */
+ @Override
+ public boolean addInternalWastes(InternalWastesDto internalWastes) {
+
+ baseMapper.insert(internalWastes);
+ // 鏂板璇︽儏
+ for (InternalWastesDetail internalWastesDetail : internalWastes.getWastesDetailList()) {
+ internalWastesDetail.setWastesId(internalWastes.getWastesId());
+ }
+ internalWastesDetailService.saveBatch(internalWastes.getWastesDetailList());
+ return true;
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏淇敼
+ * @param internalWastes
+ * @return
+ */
+ @Override
+ public boolean updateInternalWastes(InternalWastesDto internalWastes) {
+ baseMapper.updateById(internalWastes);
+
+ // 鍒犻櫎涔嬪墠鐨勮鎯�
+ internalWastesDetailService.remove(Wrappers.<InternalWastesDetail>lambdaQuery()
+ .eq(InternalWastesDetail::getWastesId, internalWastes.getWastesId()));
+
+ // 鏂板璇︽儏
+ for (InternalWastesDetail internalWastesDetail : internalWastes.getWastesDetailList()) {
+ internalWastesDetail.setWastesId(internalWastes.getWastesId());
+ }
+ internalWastesDetailService.saveBatch(internalWastes.getWastesDetailList());
+
+ return true;
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏鍒犻櫎
+ * @param WastesId
+ * @return
+ */
+ @Override
+ public boolean delInternalWastes(Integer WastesId) {
+ internalWastesDetailService.remove(Wrappers.<InternalWastesDetail>lambdaQuery()
+ .eq(InternalWastesDetail::getWastesId, WastesId));
+ baseMapper.deleteById(WastesId);
+ return true;
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏鏌ョ湅璇︽儏
+ * @param WastesId
+ * @return
+ */
+ @Override
+ public InternalWastesDto getInternalWastesOne(Integer WastesId) {
+ InternalWastes internalWastes = baseMapper.selectById(WastesId);
+ InternalWastesDto internalWastesDto = new InternalWastesDto();
+ BeanUtils.copyProperties(internalWastes, internalWastesDto);
+
+ // 鏌ヨ璇︾粏淇℃伅
+ internalWastesDto.setWastesDetailList(internalWastesDetailService.list(Wrappers.<InternalWastesDetail>lambdaQuery()
+ .eq(InternalWastesDetail::getWastesId, WastesId)));
+ return internalWastesDto;
+ }
+
+ /**
+ * 瀵煎嚭涓夊簾澶勭悊
+ * @param wastesId
+ * @param response
+ */
+ @Override
+ public void exportInternalWastes(Integer wastesId, HttpServletResponse response) {
+ InternalWastes internalWastes = baseMapper.selectById(wastesId);
+
+ List<InternalWastesDetail> wastesDetailList = internalWastesDetailService.list(Wrappers.<InternalWastesDetail>lambdaQuery()
+ .eq(InternalWastesDetail::getWastesId, wastesId));
+
+ int index = 1;
+ for (InternalWastesDetail detail : wastesDetailList) {
+ detail.setIndex(index);
+ index++;
+ }
+
+
+ // 鑾峰彇璺緞
+ InputStream inputStream = this.getClass().getResourceAsStream("/static/internal-wastes.docx");
+ Configure configure = Configure.builder()
+ .bind("wastesDetailList", new HackLoopTableRenderPolicy())
+ .build();
+ XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
+ new HashMap<String, Object>() {{
+ put("remark", internalWastes.getRemark());
+ put("wastesDetailList", wastesDetailList);
+ }});
+
+ try {
+ response.setContentType("application/msword");
+ String fileName = URLEncoder.encode(
+ "瀹夊叏鍐呭姟涓夊簾澶勭悊", "UTF-8");
+ response.setHeader("Content-disposition",
+ "attachment;filename=" + fileName + ".docx");
+ OutputStream os = response.getOutputStream();
+ template.write(os);
+ os.flush();
+ os.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ }
+
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesConsumablesServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesConsumablesServiceImpl.java
new file mode 100644
index 0000000..af8034e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesConsumablesServiceImpl.java
@@ -0,0 +1,14 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.requier.mapper.ProcurementSuppliesConsumablesMapper;
+import com.ruoyi.requier.pojo.ProcurementSuppliesConsumables;
+import com.ruoyi.requier.service.ProcurementSuppliesConsumablesService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@Service
+@AllArgsConstructor
+public class ProcurementSuppliesConsumablesServiceImpl extends ServiceImpl<ProcurementSuppliesConsumablesMapper, ProcurementSuppliesConsumables>
+ implements ProcurementSuppliesConsumablesService {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesContentsServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesContentsServiceImpl.java
new file mode 100644
index 0000000..25f6d14
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesContentsServiceImpl.java
@@ -0,0 +1,91 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.requier.mapper.ProcurementSuppliesContentsMapper;
+import com.ruoyi.requier.pojo.ProcurementSuppliesContents;
+import com.ruoyi.requier.service.ProcurementSuppliesContentsService;
+import com.ruoyi.system.mapper.UserMapper;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Service
+@AllArgsConstructor
+public class ProcurementSuppliesContentsServiceImpl extends ServiceImpl<ProcurementSuppliesContentsMapper, ProcurementSuppliesContents>
+ implements ProcurementSuppliesContentsService {
+
+ private UserMapper userMapper;
+
+ @Override
+ public List<ProcurementSuppliesContents> directoryListing() {
+ ArrayList<ProcurementSuppliesContents> list = new ArrayList<>();
+ // 鏌ュ嚭涓�绾х洰褰�
+ List<ProcurementSuppliesContents> firstLevel = baseMapper.selectList(new LambdaQueryWrapper<ProcurementSuppliesContents>()
+ .isNull(ProcurementSuppliesContents::getParentId));
+
+ // 鏌ュ嚭鍚湁鐖惰妭鐐圭殑 骞堕�氳繃鐖惰妭鐐瑰垎缁�
+ List<ProcurementSuppliesContents> seconds = baseMapper.selectList(new LambdaQueryWrapper<ProcurementSuppliesContents>()
+ .isNotNull(ProcurementSuppliesContents::getParentId));
+ if(firstLevel.size() > 0){
+ Map<Integer, List<ProcurementSuppliesContents>> collect = seconds.stream()
+ .collect(Collectors.groupingBy(ProcurementSuppliesContents::getParentId));
+ // 鏍规嵁鍒嗙粍鐨刱ey 璧嬪�煎搴旂殑children
+ for (int i = 0; i < firstLevel.size(); i++) {
+ recursion(firstLevel.get(i),collect);
+ list.add(firstLevel.get(i));
+ }
+ }
+ return list;
+ }
+
+ // 閫掑綊璧嬪�糲hildren
+ public ProcurementSuppliesContents recursion(ProcurementSuppliesContents firstLevel, Map<Integer, List<ProcurementSuppliesContents>> collect) {
+ // 灏嗙埗鑺傜偣鐨刢hildren璧嬪��
+ if(collect.containsKey(firstLevel.getId())) {
+ List<ProcurementSuppliesContents> procurementSupplies = collect.get(firstLevel.getId());
+ firstLevel.setChildren(procurementSupplies);
+ for (int i = 0; i < procurementSupplies.size(); i++) {
+ recursion(procurementSupplies.get(i),collect);
+ }
+ }
+ return firstLevel;
+ }
+
+ @Override
+ public List<Map<String, Object>> getNodeNames() {
+ List<ProcurementSuppliesContents> procurementSuppliesContents = baseMapper.selectList(null);
+ List<Map<String, Object>> collect = new ArrayList<>();
+ if(procurementSuppliesContents.size() > 0) {
+ collect = procurementSuppliesContents.stream().map(item -> {
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("id", item.getId());
+ map.put("nodeName", item.getNodeName());
+ return map;
+ }).collect(Collectors.toList());
+ }
+ return collect;
+ }
+
+ @Override
+ public List<Map<String, Object>> getUserList() {
+ // 1 鍋滅敤
+ List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getStatus, 0));
+ List<Map<String, Object>> collect = new ArrayList<>();
+ if(users.size() > 0) {
+ collect = users.stream().map(item -> {
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("id", item.getId());
+ map.put("nodeName", item.getName());
+ return map;
+ }).collect(Collectors.toList());
+ }
+ return collect;
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesExpendsServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesExpendsServiceImpl.java
new file mode 100644
index 0000000..ddb107b
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesExpendsServiceImpl.java
@@ -0,0 +1,77 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.requier.dto.ProcurementSuppliesExpendDto;
+import com.ruoyi.requier.mapper.ProcurementSuppliesExpendsMapper;
+import com.ruoyi.requier.mapper.ProcurementSuppliesListMapper;
+import com.ruoyi.requier.pojo.ProcurementSuppliesExpends;
+import com.ruoyi.requier.pojo.ProcurementSuppliesList;
+import com.ruoyi.requier.service.ProcurementSuppliesExpendsService;
+import com.ruoyi.system.mapper.UserMapper;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 03:47:19
+ */
+@Service
+public class ProcurementSuppliesExpendsServiceImpl extends ServiceImpl<ProcurementSuppliesExpendsMapper, ProcurementSuppliesExpends> implements ProcurementSuppliesExpendsService {
+ @Resource
+ private ProcurementSuppliesExpendsMapper expendsMapper;
+
+ @Resource
+ private ProcurementSuppliesListMapper listMapper;
+
+ @Override
+ public IPage<ProcurementSuppliesExpendDto> selectAll(Page page, Long procurementSuppliesListId) {
+ IPage<ProcurementSuppliesExpendDto> list = expendsMapper.pageList(page, Wrappers.<ProcurementSuppliesExpendDto>lambdaQuery().eq(ProcurementSuppliesExpendDto::getListId, procurementSuppliesListId));
+ return list;
+ }
+
+ @Override
+ @Transactional
+ public Integer addExpends(ProcurementSuppliesExpendDto expendDto) {
+ ProcurementSuppliesList list = listMapper.selectProcurementSuppliesListForUpdate(expendDto.getListId());
+
+ ProcurementSuppliesExpends expends = new ProcurementSuppliesExpends();
+ BeanUtils.copyProperties(expendDto, expends);
+ int userId = SecurityUtils.getUserId().intValue();
+ expends.setEnterUserId(userId);
+ expends.setUpdateUserId(userId);
+ expends.setSpecimenName(expendDto.getSpecimenName());
+ if (list.getCurrentAmount() < expendDto.getAmount()) {
+ return 0;
+ }
+
+ list.setCurrentAmount(list.getCurrentAmount() - expendDto.getAmount());
+
+ listMapper.updateById(list);
+ return expendsMapper.insert(expends);
+ }
+
+ @Override
+ @Transactional
+ public Integer deleteExpends(Long id) {
+ ProcurementSuppliesExpends expend = expendsMapper.selectById(id);
+ ProcurementSuppliesList list = listMapper.selectProcurementSuppliesListForUpdate(expend.getListId());
+ list.setCurrentAmount(list.getCurrentAmount() + expend.getAmount());
+ int userId = SecurityUtils.getUserId().intValue();
+ list.setUpdateUser(userId);
+ listMapper.updateById(list);
+ return expendsMapper.deleteById(id);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesListServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesListServiceImpl.java
new file mode 100644
index 0000000..c4645c7
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesListServiceImpl.java
@@ -0,0 +1,121 @@
+package com.ruoyi.requier.service.impl;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+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.core.domain.entity.User;
+import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.requier.dto.ProcurementSuppliesListDto;
+import com.ruoyi.requier.dto.ProcurementSuppliesListEDto;
+import com.ruoyi.requier.mapper.ProcurementSuppliesListMapper;
+import com.ruoyi.requier.mapper.SupplierManagementMapper;
+import com.ruoyi.requier.pojo.ProcurementSuppliesList;
+import com.ruoyi.requier.service.ProcurementSuppliesListService;
+import com.ruoyi.system.mapper.UserMapper;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 04:04:32
+ */
+@Service
+public class ProcurementSuppliesListServiceImpl extends ServiceImpl<ProcurementSuppliesListMapper, ProcurementSuppliesList> implements ProcurementSuppliesListService {
+ @Autowired
+ private UserMapper userMapper;
+
+ @Resource
+ private ProcurementSuppliesListMapper procurementSuppliesListMapper;
+
+ @Override
+ public IPage<ProcurementSuppliesListDto> selectList(Page page, ProcurementSuppliesListDto list) {
+ Long contentsId = list.getContentsId();
+ list.setContentsId(null);
+ IPage<ProcurementSuppliesList> iPage = baseMapper.selectProcurementSuppliesList(page,contentsId, QueryWrappers.queryWrappers(list));
+ IPage<ProcurementSuppliesListDto> result = new Page<>();
+ List<ProcurementSuppliesListDto> dtos = new ArrayList<>();
+ BeanUtils.copyProperties(iPage, result);
+ for (int i = 0; i < iPage.getRecords().size(); i++) {
+ ProcurementSuppliesList record = iPage.getRecords().get(i);
+ ProcurementSuppliesListDto dto = new ProcurementSuppliesListDto();
+ BeanUtils.copyProperties(record, dto);
+ if (record.getPersonInCharge() != 0) {
+ User user = userMapper.selectById(record.getPersonInCharge());
+ dto.setPersonInChargeName(user.getName());
+ }
+ if (record.getUpdateUser() != 0) {
+ User updateUser = userMapper.selectById(record.getUpdateUser());
+ dto.setUpdateUserName(updateUser.getName());
+ }
+ //鑰楁潗鍚嶇О
+ dto.setSupplierName(record.getConsumablesName());
+
+ dtos.add(dto);
+ }
+ result.setRecords(dtos);
+
+ return result;
+ }
+
+ @Override
+ public Integer addProcurementSuppliesList(ProcurementSuppliesListDto dto) {
+ ProcurementSuppliesList list = new ProcurementSuppliesList();
+ BeanUtils.copyProperties(dto, list);
+ return baseMapper.insert(list);
+ }
+
+ @Override
+ public Integer updateProcurementSuppliesList(ProcurementSuppliesListDto dto) {
+ ProcurementSuppliesList list = new ProcurementSuppliesList();
+ BeanUtils.copyProperties(dto, list);
+ return baseMapper.updateById(list);
+ }
+
+ @Override
+ public void exportProcurementSuppliesList(Integer contentsId,HttpServletResponse response) {
+ List<ProcurementSuppliesList> data = procurementSuppliesListMapper.selectProcurementSuppliesListByContentsId(contentsId);
+ if (contentsId==0){
+ data = procurementSuppliesListMapper.selectList(null);
+ }
+ if (data.size()==0) {
+ throw new ErrorException("鏃犳暟鎹�");
+ }
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("UTF-8");
+ // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
+ try {
+ String fileName = URLEncoder.encode("鑰楁潗鍒楄〃", "UTF-8");
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ // 鏂板缓ExcelWriter
+ ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+ WriteSheet writeSheet = EasyExcel.writerSheet(0, "鑰楁潗鍒楄〃").head(ProcurementSuppliesListEDto.class).build();
+ excelWriter.write(data, writeSheet);
+ // 鍏抽棴娴�
+ excelWriter.finish();
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ throw new ErrorException("瀵煎嚭澶辫触");
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new ErrorException("瀵煎嚭澶辫触");
+ }
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesStoreServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesStoreServiceImpl.java
new file mode 100644
index 0000000..79d7a52
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesStoreServiceImpl.java
@@ -0,0 +1,142 @@
+package com.ruoyi.requier.service.impl;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+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.common.utils.QueryWrappers;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.requier.dto.StoreDto;
+import com.ruoyi.requier.excel.StoreExcel;
+import com.ruoyi.requier.mapper.ProcurementSuppliesConsumablesMapper;
+import com.ruoyi.requier.mapper.ProcurementSuppliesStoreMapper;
+import com.ruoyi.requier.pojo.ProcurementSuppliesConsumables;
+import com.ruoyi.requier.pojo.ProcurementSuppliesList;
+import com.ruoyi.requier.pojo.ProcurementSuppliesStore;
+import com.ruoyi.requier.service.ProcurementSuppliesListService;
+import com.ruoyi.requier.service.ProcurementSuppliesStoreService;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+@Service
+@AllArgsConstructor
+public class ProcurementSuppliesStoreServiceImpl extends ServiceImpl<ProcurementSuppliesStoreMapper, ProcurementSuppliesStore>
+ implements ProcurementSuppliesStoreService {
+
+ private ProcurementSuppliesConsumablesMapper consumablesMapper;
+
+ @Autowired
+ private ProcurementSuppliesListService procurementSuppliesListService;
+
+
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void addStore(Map<String,Object> map) {
+ ProcurementSuppliesStore procurementSuppliesStore = JSONObject.parseObject(JSONObject.toJSONString(map.get("store")), ProcurementSuppliesStore.class);
+ procurementSuppliesStore.setRegistrant(SecurityUtils.getUserId().intValue());
+ procurementSuppliesStore.setRegistrantTime(LocalDate.now());
+ if (Objects.isNull(procurementSuppliesStore.getId())) {
+ baseMapper.insert(procurementSuppliesStore);
+ } else {
+ baseMapper.updateById(procurementSuppliesStore);
+ }
+
+ List<ProcurementSuppliesConsumables> list = JSON.parseArray(JSONObject.toJSONString(map.get("consumables")), ProcurementSuppliesConsumables.class);
+ for (ProcurementSuppliesConsumables consumables : list) {
+ ProcurementSuppliesList one = procurementSuppliesListService.getOne(new QueryWrapper<ProcurementSuppliesList>().lambda()
+ .eq(ProcurementSuppliesList::getConsumablesName, consumables.getConsumablesName()));
+ one.setCurrentAmount(one.getCurrentAmount() + consumables.getStoreNumber());
+ procurementSuppliesListService.updateById(one);
+ }
+ // 鐢熸垚璐у彿
+ DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
+ if(!Objects.isNull(list) && list.size() > 0) {
+ for (int i = 0; i < list.size(); i++) {
+ list.get(i).setStoreId(procurementSuppliesStore.getId());
+ String itemNumber ="HCRK" + LocalDate.now().format(dateTimeFormatter) + String.format("%03d", i);
+ list.get(i).setItemNumber(itemNumber);
+ consumablesMapper.insert(list.get(i));
+ }
+ }
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void updateStore(Map<String,Object> map) {
+ ProcurementSuppliesStore procurementSuppliesStore = JSONObject.parseObject(JSONObject.toJSONString(map.get("store")), ProcurementSuppliesStore.class);
+ baseMapper.updateById(procurementSuppliesStore);
+ List<ProcurementSuppliesConsumables> list = JSON.parseArray(JSONObject.toJSONString(map.get("consumables")), ProcurementSuppliesConsumables.class);
+ consumablesMapper.delete(new LambdaQueryWrapper<ProcurementSuppliesConsumables>()
+ .eq(ProcurementSuppliesConsumables::getStoreId, procurementSuppliesStore.getId()));
+ if(!Objects.isNull(list) && list.size() > 0) {
+ for (int i = 0; i < list.size(); i++) {
+ list.get(i).setId(null);
+ list.get(i).setStoreId(procurementSuppliesStore.getId());
+ consumablesMapper.insert(list.get(i));
+ }
+ }
+ }
+
+ @Override
+ public void deleteStore(Integer id, Integer consumablesId) {
+ consumablesMapper.deleteById(consumablesId);
+ List<ProcurementSuppliesConsumables> consumables = consumablesMapper.selectList(new LambdaQueryWrapper<ProcurementSuppliesConsumables>()
+ .eq(ProcurementSuppliesConsumables::getStoreId, id));
+ // 鍒ゆ柇鏄惁杩樻湁鑰楁潗 娌℃湁灏卞皢涓昏〃Store鍒犻櫎
+ if(CollectionUtils.isEmpty(consumables)) {
+ baseMapper.deleteById(id);
+ }
+ }
+
+ @Override
+ public IPage<StoreDto> selectStoreList(Page page, StoreDto storeDto) {
+ IPage<StoreDto> iPage = baseMapper.selectStoreList(page, QueryWrappers.queryWrappers(storeDto));
+ return iPage;
+ }
+
+ /**
+ * 瀵煎嚭excel
+ * @param contentsId
+ * @param response
+ */
+ @Override
+ public void exportExcel(Integer contentsId, HttpServletResponse response) throws IOException {
+ List<StoreExcel> storeExcels = baseMapper.exportExcel(contentsId);
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("UTF-8");
+ // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
+ String fileName = null;
+ try {
+ fileName = URLEncoder.encode("鑰楁潗鍏ュ簱", "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ throw new RuntimeException(e);
+ }
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+ WriteSheet writeSheet = EasyExcel.writerSheet(0, "鑰楁潗鍏ュ簱").head(StoreExcel.class).build();
+ excelWriter.write(storeExcels, writeSheet);
+ excelWriter.finish();
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/SupplierManagementServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/SupplierManagementServiceImpl.java
new file mode 100644
index 0000000..e4e505a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/SupplierManagementServiceImpl.java
@@ -0,0 +1,92 @@
+package com.ruoyi.requier.service.impl;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.QueryWrappers;
+import com.ruoyi.requier.dto.SupplierManagementDto;
+import com.ruoyi.requier.mapper.SupplierManagementMapper;
+import com.ruoyi.requier.pojo.SupplierManagement;
+import com.ruoyi.requier.service.SupplierManagementService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 02:46:45
+ */
+@Service
+public class SupplierManagementServiceImpl extends ServiceImpl<SupplierManagementMapper, SupplierManagement> implements SupplierManagementService {
+
+ @Resource
+ private SupplierManagementMapper supplierManagementMapper;
+
+ public SupplierManagementServiceImpl(SupplierManagementMapper supplierManagementMapper) {
+ this.supplierManagementMapper = supplierManagementMapper;
+ }
+
+ @Override
+ public List<SupplierManagement> selectSupplierManagement( SupplierManagement supplierManagement) {
+ return this.list();
+ }
+
+ @Override
+ public void exportSupplierManagement(Integer parentId, HttpServletResponse response) {
+ List<SupplierManagement> data = supplierManagementMapper.selectSupplierManagementAll(parentId);
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("UTF-8");
+ // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
+ try {
+ String fileName = URLEncoder.encode("渚涘簲鍟嗙鐞�", "UTF-8");
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ // 鏂板缓ExcelWriter
+ ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+ WriteSheet writeSheet = EasyExcel.writerSheet(0, "渚涘簲鍟嗙鐞�").head(SupplierManagementDto.class).build();
+ excelWriter.write(data, writeSheet);
+ // 鍏抽棴娴�
+ excelWriter.finish();
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ }
+ }
+
+ @Override
+ public IPage<SupplierManagement> selectQualifiedSupplierManagement(Page page, SupplierManagement supplierManagement) {
+ return baseMapper.selectQualifiedSupplierManagement(page, QueryWrappers.queryWrappers(supplierManagement));
+ }
+
+ @Override
+ public List<SupplierManagement> selectQualifiedSupplierManagementById(Integer supplierManagementId) {
+ return this.list(new QueryWrapper<SupplierManagement>().lambda().eq(SupplierManagement::getSupplierManagementId , supplierManagementId));
+ }
+
+ @Override
+ public List<SupplierManagement> selectSupplierManagementByParentId(Integer parentId) {
+ return supplierManagementMapper.selectSupplierManagement(parentId);
+ }
+
+ @Override
+ public List<SupplierManagement> selectSupplierManagementAll() {
+ return supplierManagementMapper.selectList(null);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/SuppliersDirectoryContentsServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/SuppliersDirectoryContentsServiceImpl.java
new file mode 100644
index 0000000..4ebe667
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/SuppliersDirectoryContentsServiceImpl.java
@@ -0,0 +1,76 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.requier.mapper.SuppliersDirectoryContentsMapper;
+import com.ruoyi.requier.pojo.SuppliersDirectoryContents;
+import com.ruoyi.requier.service.SuppliersDirectoryContentsService;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-12-17 06:14:51
+ */
+@Service
+public class SuppliersDirectoryContentsServiceImpl extends ServiceImpl<SuppliersDirectoryContentsMapper, SuppliersDirectoryContents> implements SuppliersDirectoryContentsService {
+
+ @Override
+ public ArrayList<SuppliersDirectoryContents> directoryListing() {
+ ArrayList<SuppliersDirectoryContents> list = new ArrayList<>();
+ // 鏌ュ嚭涓�绾х洰褰�
+ List<SuppliersDirectoryContents> firstLevel = baseMapper.selectList(new LambdaQueryWrapper<SuppliersDirectoryContents>()
+ .isNull(SuppliersDirectoryContents::getParentId));
+
+ // 鏌ュ嚭鍚湁鐖惰妭鐐圭殑 骞堕�氳繃鐖惰妭鐐瑰垎缁�
+ List<SuppliersDirectoryContents> seconds = baseMapper.selectList(new LambdaQueryWrapper<SuppliersDirectoryContents>()
+ .isNotNull(SuppliersDirectoryContents::getParentId));
+ if(firstLevel.size() > 0){
+ Map<Integer, List<SuppliersDirectoryContents>> collect = seconds.stream()
+ .collect(Collectors.groupingBy(SuppliersDirectoryContents::getParentId));
+ // 鏍规嵁鍒嗙粍鐨刱ey 璧嬪�煎搴旂殑children
+ for (int i = 0; i < firstLevel.size(); i++) {
+ recursion(firstLevel.get(i),collect);
+ list.add(firstLevel.get(i));
+ }
+ }
+ return list;
+ }
+
+ @Override
+ public List<Map<String, Object>> getSuppliersDirectoryContentsNodeNames() {
+ List<SuppliersDirectoryContents> procurementSuppliesContents = baseMapper.selectList(null);
+ List<Map<String, Object>> collect = new ArrayList<>();
+ if(procurementSuppliesContents.size() > 0) {
+ collect = procurementSuppliesContents.stream().map(item -> {
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("id", item.getId());
+ map.put("nodeName", item.getNodeName());
+ return map;
+ }).collect(Collectors.toList());
+ }
+ return collect;
+ }
+
+
+ public SuppliersDirectoryContents recursion(SuppliersDirectoryContents firstLevel, Map<Integer, List<SuppliersDirectoryContents>> collect) {
+ // 灏嗙埗鑺傜偣鐨刢hildren璧嬪��
+ if(collect.containsKey(firstLevel.getId())) {
+ List<SuppliersDirectoryContents> procurementSupplies = collect.get(firstLevel.getId());
+ firstLevel.setChildren(procurementSupplies);
+ for (int i = 0; i < procurementSupplies.size(); i++) {
+ recursion(procurementSupplies.get(i),collect);
+ }
+ }
+ return firstLevel;
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceDetailsVo.java b/cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceDetailsVo.java
new file mode 100644
index 0000000..2a1e7ff
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceDetailsVo.java
@@ -0,0 +1,22 @@
+package com.ruoyi.requier.vo;
+
+import com.ruoyi.requier.pojo.FeStandardSubstance;
+import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptance;
+import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AcceptanceDetailsVo extends FeStandardSubstanceAcceptance {
+
+ @ApiModelProperty("鐗╄川娓呭崟")
+ private FeStandardSubstance substance;
+
+ @ApiModelProperty("楠屾敹鍗�")
+ private FeStandardSubstanceAcceptance acceptance;
+
+ @ApiModelProperty("寮�绠辫褰�")
+ private List<FeStandardSubstanceAcceptanceInspection> list;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceVo.java b/cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceVo.java
new file mode 100644
index 0000000..071a374
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceVo.java
@@ -0,0 +1,46 @@
+package com.ruoyi.requier.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class AcceptanceVo {
+
+ @ApiModelProperty("妫�楠岃〃id")
+ private Integer id;
+
+ @ApiModelProperty("鏍囧噯鐗╄川鍚嶇О")
+ private String name;
+
+ @ApiModelProperty("瑙勬牸鍨嬪彿")
+ private String model;
+
+ @ApiModelProperty("鐢熶骇鍘傚")
+ private String factoryManufacturer;
+
+ @ApiModelProperty("鍑哄満缂栧彿")
+ private String factoryNum;
+
+ @ApiModelProperty("绠$悊缂栧彿")
+ private String manageNum;
+
+ @ApiModelProperty("涓嶇‘瀹氬害")
+ private String uncertainty;
+
+ @ApiModelProperty("鏁伴噺")
+ private Long quantity;
+
+ @ApiModelProperty("璐疆鏃ユ湡")
+ private LocalDateTime acquisitionDate;
+
+ @ApiModelProperty("鏈夋晥鏈�")
+ private LocalDateTime effectiveDate;
+
+ @ApiModelProperty("鏂囨。缂栧彿")
+ private String fileNum;
+
+ @ApiModelProperty("瀛樻斁浣嶇疆")
+ private String position;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/vo/SubstanceRecordVo.java b/cnas-require/src/main/java/com/ruoyi/requier/vo/SubstanceRecordVo.java
new file mode 100644
index 0000000..265637c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/vo/SubstanceRecordVo.java
@@ -0,0 +1,46 @@
+package com.ruoyi.requier.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class SubstanceRecordVo {
+
+ @ApiModelProperty("id")
+ private Integer id;
+
+ @ApiModelProperty("鏍囧噯鐗╄川鍚嶇О")
+ private String name;
+
+ @ApiModelProperty("瑙勬牸鍨嬪彿")
+ private String model;
+
+ @ApiModelProperty("鍑哄満缂栧彿")
+ private String factoryNum;
+
+ @ApiModelProperty("鏁伴噺")
+ private Long quantity;
+
+ @ApiModelProperty("棰嗙敤浜�")
+ private String borrowUser;
+
+ @ApiModelProperty("鍊熷嚭鏃ユ湡")
+ private LocalDateTime borrowDate;
+
+ @ApiModelProperty("褰掕繕鏃ユ湡")
+ private LocalDateTime returnDate;
+
+ @ApiModelProperty("褰掕繕浜�")
+ private String returnedPerson;
+
+ @ApiModelProperty("瀹屽ソ鎬�")
+ private String returnIntegrity;
+
+ @ApiModelProperty("0锛氬�熺敤 1:褰掕繕")
+ private String status;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+}
diff --git a/cnas-require/src/main/resources/mapper/FeCalibrationScheduleMapper.xml b/cnas-require/src/main/resources/mapper/FeCalibrationScheduleMapper.xml
new file mode 100644
index 0000000..bbdeeae
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/FeCalibrationScheduleMapper.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.FeCalibrationScheduleMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeCalibrationSchedule">
+ <id column="id" property="id" />
+ <result column="instrument_name" property="instrumentName" />
+ <result column="model" property="model" />
+ <result column="management_number" property="managementNumber" />
+ <result column="technical_indicators" property="technicalIndicators" />
+ <result column="verification_cyde" property="verificationCyde" />
+ <result column="verification_unit" property="verificationUnit" />
+ <result column="recently_time" property="recentlyTime" />
+ <result column="next_time" property="nextTime" />
+ <result column="remark" property="remark" />
+ <result column="organization" property="organization" />
+ <result column="organization_date" property="organizationDate" />
+ <result column="approve" property="approve" />
+ <result column="approve_date" property="approveDate" />
+ <result column="create_user" property="createUser" />
+ <result column="create_time" property="createTime" />
+ <result column="update_user" property="updateUser" />
+ <result column="update_time" property="updateTime" />
+ </resultMap>
+ <select id="ipage" resultType="com.ruoyi.requier.pojo.FeCalibrationSchedule">
+ select * from cnas_fe_calibration_schedule
+ <where>
+ <if test="instrumentName != null and instrumentName != ''">
+ instrument_name like CONCAT('%', #{instrumentName}, '%')
+ </if>
+ <if test="instrumentName != null and managementNumber != ''">
+ management_number like CONCAT('%', #{managementNumber}, '%')
+ </if>
+ </where>
+ </select>
+
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/FeIlluminationDetectionAreaMapper.xml b/cnas-require/src/main/resources/mapper/FeIlluminationDetectionAreaMapper.xml
new file mode 100644
index 0000000..7a7e576
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/FeIlluminationDetectionAreaMapper.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.FeIlluminationDetectionAreaMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeIlluminationDetectionArea">
+ <id column="detection_area_id" property="detectionAreaId" />
+ <result column="detection_area_label" property="detectionAreaLabel" />
+ <result column="value_one" property="valueOne" />
+ <result column="value_two" property="valueTwo" />
+ <result column="value_three" property="valueThree" />
+ <result column="average" property="average" />
+ <result column="remark" property="remark" />
+ </resultMap>
+
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/FeIlluminationMapper.xml b/cnas-require/src/main/resources/mapper/FeIlluminationMapper.xml
new file mode 100644
index 0000000..8721bda
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/FeIlluminationMapper.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.FeIlluminationMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeIllumination">
+ <id column="intensity_illumination_id" property="intensityIlluminationId" />
+ <result column="device_id" property="deviceId" />
+ <result column="conclusion" property="conclusion" />
+ <result column="tester_id" property="testerId" />
+ <result column="checker_id" property="checkerId" />
+ <result column="test_date" property="testDate" />
+ <result column="create_time" property="createTime" />
+ <result column="update_time" property="updateTime" />
+ </resultMap>
+
+ <select id="getFeLightningProtection" resultType="com.ruoyi.requier.dto.FeIlluminationDto">
+ SELECT cdi.*, d.*, u1.name checker_user, u2.name tester_user, dv.device_name, dv.management_number
+ FROM cnas_fe_illumination cdi
+ left join device dv on dv.id = cdi.device_id
+ LEFT JOIN (SELECT d.id,
+ dmr.calibration_date,
+ dmr.next_calibration_date
+ FROM device d
+ LEFT JOIN device_metric_record dmr ON dmr.device_id = d.id
+ AND dmr.type = 'calibrate'
+ GROUP BY d.id
+ HAVING max(dmr.id)) d ON d.id = cdi.device_id
+ left join user u1 on u1.id = cdi.checker_id
+ left join user u2 on u2.id = cdi.tester_id
+ </select>
+
+ <!-- 鏌ヨ鐓ф槑璁板綍 -->
+ <select id="selectFeIllumination" resultType="com.ruoyi.requier.dto.FeIlluminationExportDto">
+ SELECT cdi.*,
+ dv.device_name,
+ dv.management_number,
+ DATE_FORMAT(d.calibration_date, '%Y-%m-%d') calibrationDateString,
+ DATE_FORMAT(d.next_calibration_date, '%Y-%m-%d') nextCalibrationDateString
+ FROM cnas_fe_illumination cdi
+ left join device dv on dv.id = cdi.device_id
+ LEFT JOIN (SELECT d.id,
+ dmr.calibration_date,
+ dmr.next_calibration_date
+ FROM device d
+ LEFT JOIN device_metric_record dmr ON dmr.device_id = d.id
+ AND dmr.type = 'calibrate'
+ GROUP BY d.id
+ HAVING max(dmr.id)) d ON d.id = cdi.device_id
+ left join user u1 on u1.id = cdi.checker_id
+ left join user u2 on u2.id = cdi.tester_id
+ where cdi.intensity_illumination_id = #{intensityIlluminationId}
+ </select>
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/FeLightningProtectionMapper.xml b/cnas-require/src/main/resources/mapper/FeLightningProtectionMapper.xml
new file mode 100644
index 0000000..c56edd3
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/FeLightningProtectionMapper.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.FeLightningProtectionMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeLightningProtection">
+ <id column="lightning_protection_id" property="lightningProtectionId" />
+ <result column="file_name" property="fileName" />
+ <result column="system_file_name" property="systemFileName" />
+ <result column="detection_date" property="detectionDate" />
+ <result column="term_validity" property="termValidity" />
+ <result column="detection_unit" property="detectionUnit" />
+ <result column="create_time" property="createTime" />
+ <result column="update_time" property="updateTime" />
+ </resultMap>
+
+ <select id="exportOfLightningProtectionDetection" resultType="com.ruoyi.requier.excel.FeLightningProtectionExcel">
+ select * from cnas_fe_lightning_protection
+ </select>
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/FeMeasuredQuantityMapper.xml b/cnas-require/src/main/resources/mapper/FeMeasuredQuantityMapper.xml
new file mode 100644
index 0000000..d86783e
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/FeMeasuredQuantityMapper.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.FeMeasuredQuantityMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeMeasuredQuantity">
+ <id column="measured_quantity_id" property="measuredQuantityId" />
+ <result column="measured_quantity_label" property="measuredQuantityLabel" />
+ <result column="value_a" property="valueA" />
+ <result column="value_b" property="valueB" />
+ <result column="value_c" property="valueC" />
+ <result column="create_time" property="createTime" />
+ <result column="update_time" property="updateTime" />
+ <result column="power_stable_id" property="powerStableId" />
+ </resultMap>
+
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/FePowerStableMapper.xml b/cnas-require/src/main/resources/mapper/FePowerStableMapper.xml
new file mode 100644
index 0000000..b295659
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/FePowerStableMapper.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.FePowerStableMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FePowerStable">
+ <id column="power_stable_id" property="powerStableId" />
+ <result column="test_location" property="testLocation" />
+ <result column="test_date" property="testDate" />
+ <result column="device_id" property="deviceId" />
+ <result column="conclusion" property="conclusion" />
+ <result column="tester_id" property="testerId" />
+ <result column="checker_id" property="checkerId" />
+ <result column="create_time" property="createTime" />
+ <result column="update_time" property="updateTime" />
+ </resultMap>
+
+ <select id="getLaboratoryFacilityPowerStablePage" resultType="com.ruoyi.requier.dto.FePowerStableDto">
+ SELECT cfps.*, d.*, u1.name checker_user, u2.name tester_user, dv.device_name, dv.management_number
+ FROM cnas_fe_power_stable cfps
+ left join device dv on dv.id = cfps.device_id
+ LEFT JOIN (SELECT d.id,
+ dmr.calibration_date,
+ dmr.next_calibration_date
+ FROM device d
+ LEFT JOIN device_metric_record dmr ON dmr.device_id = d.id
+ AND dmr.type = 'calibrate'
+ GROUP BY d.id
+ HAVING max(dmr.id)) d ON d.id = cfps.device_id
+ left join user u1 on u1.id = cfps.checker_id
+ left join user u2 on u2.id = cfps.tester_id
+ </select>
+
+ <select id="getCalibrationDate" resultType="java.util.Map">
+ SELECT
+ d.device_name deviceName,
+ d.management_number managementNumber,
+ date_format(dmr.calibration_date,'%Y-%m-%d') calibrationDate,
+ date_format(dmr.next_calibration_date,'%Y-%m-%d') nextCalibrationDate
+ FROM
+ device d
+ LEFT JOIN device_metric_record dmr ON dmr.device_id = d.id
+ AND dmr.type = 'calibrate'
+ where d.id = #{deviceId}
+ GROUP BY
+ d.id
+ </select>
+
+ <!-- 鏌ヨ鐢垫簮绋冲畾鎬� -->
+ <select id="selectPowerStable" resultType="com.ruoyi.requier.dto.FePowerStableExportDto">
+ SELECT cfps.*,
+ dv.device_name,
+ dv.management_number,
+ DATE_FORMAT(cfps.test_date, '%Y-%m-%d') testDateString,
+ DATE_FORMAT(d.calibration_date, '%Y-%m-%d') calibrationDateString,
+ DATE_FORMAT(d.next_calibration_date, '%Y-%m-%d') nextCalibrationDateString
+ FROM cnas_fe_power_stable cfps
+ left join device dv on dv.id = cfps.device_id
+ LEFT JOIN (SELECT d.id,
+ dmr.calibration_date,
+ dmr.next_calibration_date
+ FROM device d
+ LEFT JOIN device_metric_record dmr ON dmr.device_id = d.id
+ AND dmr.type = 'calibrate'
+ GROUP BY d.id
+ HAVING max(dmr.id)) d ON d.id = cfps.device_id
+ left join user u1 on u1.id = cfps.checker_id
+ left join user u2 on u2.id = cfps.tester_id
+ where cfps.power_stable_id = #{powerStableId}
+ </select>
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceInspectionMapper.xml b/cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceInspectionMapper.xml
new file mode 100644
index 0000000..2419c7c
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceInspectionMapper.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.FeStandardSubstanceAcceptanceInspectionMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection">
+ <id column="id" property="id" />
+ <result column="acceptance_id" property="acceptanceId" />
+ <result column="name" property="name" />
+ <result column="number" property="number" />
+ <result column="create_user" property="createUser" />
+ <result column="create_time" property="createTime" />
+ <result column="update_user" property="updateUser" />
+ <result column="update_time" property="updateTime" />
+ </resultMap>
+
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceMapper.xml b/cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceMapper.xml
new file mode 100644
index 0000000..011dda2
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceMapper.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.FeStandardSubstanceAcceptanceMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeStandardSubstanceAcceptance">
+ <id column="id" property="id" />
+ <result column="substance_id" property="substanceId" />
+ <result column="arrive_date" property="arriveDate" />
+ <result column="maintenance_unit" property="maintenanceUnit" />
+ <result column="perameters" property="perameters" />
+ <result column="installation" property="installation" />
+ <result column="situation" property="situation" />
+ <result column="signature" property="signature" />
+ <result column="producer" property="producer" />
+ <result column="recipient" property="recipient" />
+ <result column="file" property="file" />
+ <result column="create_user" property="createUser" />
+ <result column="create_time" property="createTime" />
+ <result column="update_user" property="updateUser" />
+ <result column="update_time" property="updateTime" />
+ </resultMap>
+ <select id="getPageAcceptance" resultType="com.ruoyi.requier.vo.AcceptanceVo">
+ SELECT
+ sa.id,
+ ss.name,
+ ss.model,
+ ss.factory_manufacturer,
+ ss.factory_num,
+ ss.manage_num,
+ ss.uncertainty,
+ ss.quantity,
+ ss.acquisition_date,
+ ss.effective_date,
+ ss.file_num,
+ ss.position
+ FROM cnas_fe_standard_substance_acceptance sa
+ LEFT JOIN cnas_fe_standard_substance ss on ss.id = sa.substance_id
+ <where>
+ <if test="name != null and name != ''">
+ ss.name like CONCAT('%', #{name}, '%')
+ </if>
+ </where>
+ </select>
+
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/FeStandardSubstanceMapper.xml b/cnas-require/src/main/resources/mapper/FeStandardSubstanceMapper.xml
new file mode 100644
index 0000000..a19c2f8
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/FeStandardSubstanceMapper.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.FeStandardSubstanceMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeStandardSubstance">
+ <id column="id" property="id" />
+ <result column="name" property="name" />
+ <result column="model" property="model" />
+ <result column="factory_manufacturer" property="factoryManufacturer" />
+ <result column="factory_num" property="factoryNum" />
+ <result column="manage_num" property="manageNum" />
+ <result column="uncertainty" property="uncertainty" />
+ <result column="quantity" property="quantity" />
+ <result column="acquisition_date" property="acquisitionDate" />
+ <result column="effective_date" property="effectiveDate" />
+ <result column="file_num" property="fileNum" />
+ <result column="position" property="position" />
+ <result column="state" property="state" />
+ <result column="remark" property="remark" />
+ <result column="create_user" property="createUser" />
+ <result column="create_time" property="createTime" />
+ <result column="update_user" property="updateUser" />
+ <result column="update_time" property="updateTime" />
+ </resultMap>
+ <select id="getPage" resultType="com.ruoyi.requier.pojo.FeStandardSubstance">
+ select * from cnas_fe_standard_substance
+ <where>
+ <if test="ew.name != null and ew.name != ''">
+ name like CONCAT('%', #{ew.name}, '%')
+ </if>
+ <if test="ew.factoryManufacturer != null and ew.factoryManufacturer != ''">
+ and factory_manufacturer like CONCAT('%', #{ew.factoryManufacturer}, '%')
+ </if>
+ <if test="ew.factoryNum != null and ew.factoryNum != ''">
+ and factory_num like CONCAT('%', #{factoryNum}, '%')
+ </if>
+ <if test="ew.manageNum != null and ew.manageNum != ''">
+ and manage_num like CONCAT('%', #{ew.manageNum}, '%')
+ </if>
+ <if test="ew.model != null and ew.model != ''">
+ and model like CONCAT('%', #{ew.model}, '%')
+ </if>
+ <if test="ew.effectiveDate != null and ew.effectiveDate != ''">
+ and effective_date = #{ew.effectiveDate}
+ </if>
+ <if test="ew.fileNum != null and ew.fileNum != ''">
+ and file_num like CONCAT('%', #{ew.fileNum}, '%')
+ </if>
+ <if test="ew.position != null and ew.position != ''">
+ and position like CONCAT('%', #{ew.position}, '%')
+ </if>
+ </where>
+ </select>
+
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/FeStandardSubstanceRecordMapper.xml b/cnas-require/src/main/resources/mapper/FeStandardSubstanceRecordMapper.xml
new file mode 100644
index 0000000..7aef7cd
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/FeStandardSubstanceRecordMapper.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.FeStandardSubstanceRecordMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeStandardSubstanceRecord">
+ <id column="id" property="id" />
+ <result column="substance_id" property="substanceId" />
+ <result column="integrity" property="integrity" />
+ <result column="borrow_user" property="borrowUser" />
+ <result column="phone" property="phone" />
+ <result column="borrow_date" property="borrowDate" />
+ <result column="return_date" property="returnDate" />
+ <result column="lender" property="lender" />
+ <result column="rummager" property="rummager" />
+ <result column="status" property="status" />
+ <result column="create_user" property="createUser" />
+ <result column="create_time" property="createTime" />
+ <result column="update_user" property="updateUser" />
+ <result column="update_time" property="updateTime" />
+ </resultMap>
+ <select id="getPage" resultType="com.ruoyi.requier.vo.SubstanceRecordVo">
+ SELECT
+ ssr.id,
+ ss.name,
+ ss.model,
+ ss.factory_num,
+ ss.quantity,
+ ssr.borrow_user,
+ ssr.borrow_date,
+ ssr.return_date,
+ ssr.integrity,
+ ssr.return_integrity,
+ ssr.returned_person,
+ ss.remark
+ FROM cnas_fe_standard_substance_record ssr
+ LEFT JOIN cnas_fe_standard_substance ss on ss.id = ssr.substance_id
+ <where>
+ <if test="ew.name != null and ew.name != ''">
+ ss.name like CONCAT('%', #{ew.name}, '%')
+ </if>
+ <if test="ew.model != null and ew.model != ''">
+ and ss.model like CONCAT('%', #{ew.model}, '%')
+ </if>
+ <if test="ew.factoryNum != null and ew.factoryNum != ''">
+ and ss.factory_num like CONCAT('%', #{ew.factoryNum}, '%')
+ </if>
+ </where>
+ </select>
+
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml b/cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml
new file mode 100644
index 0000000..5e27062
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.FeTempHumDateMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeTempHumDate">
+ <id column="date_id" property="dateId" />
+ <result column="month_date" property="monthDate" />
+ <result column="test_area_name" property="testAreaName" />
+ <result column="create_time" property="createTime" />
+ <result column="update_time" property="updateTime" />
+ <result column="create_user" property="createUser" />
+ <result column="update_user" property="updateUser" />
+ </resultMap>
+
+ <select id="getFeTempHumDate" resultType="com.ruoyi.requier.dto.FeTempHumDateDto">
+ select c.*, u.name create_name
+ from cnas_fe_temp_hum_date c
+ left join user u on c.create_user = u.id
+ </select>
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml b/cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml
new file mode 100644
index 0000000..095bb33
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.FeTempHumRecordMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeTempHumRecord">
+ <id column="temp_hum_id" property="tempHumId" />
+ <result column="morning_test_time" property="morningTestTime" />
+ <result column="morning_temp" property="morningTemp" />
+ <result column="morning_hum" property="morningHum" />
+ <result column="morning_recorder_id" property="morningRecorderId" />
+ <result column="afternoon_time" property="afternoonTime" />
+ <result column="afternoon_temp" property="afternoonTemp" />
+ <result column="afternoon_hum" property="afternoonHum" />
+ <result column="note" property="note" />
+ </resultMap>
+
+ <select id="getFeTempHumRecordPage" resultType="com.ruoyi.requier.dto.FeTempHumRecordDto">
+ select c.*, u1.name afternoon_recorder_user, u2.name morning_recorder_user
+ from cnas_fe_temp_hum_record c
+ left join user u1 on u1.id = c.afternoon_recorder_id
+ left join user u2 on u2.id = c.morning_recorder_id
+ where c.date_id = #{dateId}
+ ORDER BY c.temp_hum_id desc
+ </select>
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/ForeignRegisterMapper.xml b/cnas-require/src/main/resources/mapper/ForeignRegisterMapper.xml
new file mode 100644
index 0000000..6d41b28
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/ForeignRegisterMapper.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.ForeignRegisterMapper">
+
+ <!-- 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ -->
+ <select id="pageForeignRegister" resultType="com.ruoyi.requier.dto.ForeignRegisterDto">
+ select *
+ from (select *
+ from cnas_foreign_register
+ <where>
+ <if test="beginDate != null and beginDate != '' and endDate != null and endDate != ''">
+ register_date between #{beginDate} and #{endDate}
+ </if>
+ </where>
+ order by create_time desc) a
+ <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+ ${ew.customSqlSegment}
+ </if>
+ </select>
+ <select id="getForeignRegisterList" resultType="com.ruoyi.requier.dto.ForeignRegisterDto">
+ select *
+ from (select cfr.*,
+ u1.signature_url accompanyingUrl,
+ u2.signature_url approveUrl
+ from cnas_foreign_register cfr
+ left join user u1 on u1.id = cfr.accompanying_id
+ left join user u2 on u2.id = cfr.approve_id
+ <where>
+ <if test="beginDate != null and beginDate != '' and endDate != null and endDate != ''">
+ cfr.register_date between #{beginDate} and #{endDate}
+ </if>
+ </where>
+ order by cfr.create_time desc) a
+ <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+ ${ew.customSqlSegment}
+ </if>
+ </select>
+
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/InternalWastesDetailMapper.xml b/cnas-require/src/main/resources/mapper/InternalWastesDetailMapper.xml
new file mode 100644
index 0000000..a417111
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/InternalWastesDetailMapper.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.InternalWastesDetailMapper">
+
+
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/InternalWastesMapper.xml b/cnas-require/src/main/resources/mapper/InternalWastesMapper.xml
new file mode 100644
index 0000000..bd64e20
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/InternalWastesMapper.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.InternalWastesMapper">
+
+ <!-- 瀹夊叏鍐呭姟涓夊簾鐧昏鍒楄〃 -->
+ <select id="pageInternalWastes" resultType="com.ruoyi.requier.dto.InternalWastesDto">
+ select *
+ from (select *
+ from cnas_internal_wastes
+ order by create_time desc) a
+ <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+ ${ew.customSqlSegment}
+ </if>
+ </select>
+
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/ProcurementSuppliesExpendsMapper.xml b/cnas-require/src/main/resources/mapper/ProcurementSuppliesExpendsMapper.xml
new file mode 100644
index 0000000..874a0bd
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/ProcurementSuppliesExpendsMapper.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.ProcurementSuppliesExpendsMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.ProcurementSuppliesExpends">
+ <id column="expend_id" property="expendId" />
+ <result column="list_id" property="listId" />
+ <result column="amount" property="amount" />
+ <result column="enter_user_id" property="enterUserId" />
+ <result column="update_user_id" property="updateUserId" />
+ <result column="update_time" property="updateTime" />
+ <result column="create_time" property="createTime" />
+ <result column="create_time" property="createTime" />
+ <result column="create_time" property="createTime" />
+ <result column="create_time" property="createTime" />
+ </resultMap>
+ <select id="pageList" resultType="com.ruoyi.requier.dto.ProcurementSuppliesExpendDto">
+ select
+ psl.consumables_name as list_name,
+ pse.specimen_name,
+ pse.inspection_item,
+ pse.inspection_item_subclass as inspection_item_sub_class,
+ pse.expend_id,
+ pse.list_id,
+ pse.amount,
+ pse.enter_user_id,
+ pse.update_user_id,
+ pse.update_time,
+ pse.create_time,
+ u1.name as enter_user_name,
+ u2.name as update_user_name
+ from procurement_supplies_expends pse
+ left join procurement_supplies_list psl on pse.list_id = psl.id
+ left join user u1 on pse.enter_user_id = u1.id
+ left join user u2 on pse.update_user_id = u2.id
+ <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+ ${ew.customSqlSegment}
+ </if>
+
+ </select>
+
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/ProcurementSuppliesListMapper.xml b/cnas-require/src/main/resources/mapper/ProcurementSuppliesListMapper.xml
new file mode 100644
index 0000000..f763d06
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/ProcurementSuppliesListMapper.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.ProcurementSuppliesListMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.ProcurementSuppliesList">
+ <id column="id" property="id" />
+ <result column="contents_id" property="contentsId" />
+ <result column="consumables_type" property="consumablesType" />
+ <result column="item_number" property="itemNumber" />
+ <result column="consumables_name" property="consumablesName" />
+ <result column="specifications" property="specifications" />
+ <result column="unit" property="unit" />
+ <result column="reference_price" property="referencePrice" />
+ <result column="content_id" property="contentId" />
+ <result column="person_in_charge" property="personInCharge" />
+ <result column="upper_limit" property="upperLimit" />
+ <result column="lower_limit" property="lowerLimit" />
+ <result column="supplier" property="supplier" />
+ <result column="consumables_icon" property="consumablesIcon" />
+ <result column="attachment" property="attachment" />
+ <result column="remark" property="remark" />
+ <result column="create_time" property="createTime" />
+ <result column="update_time" property="updateTime" />
+ <result column="update_user" property="updateUser" />
+ <result column="current_amount" property="currentAmount" />
+ </resultMap>
+
+ <select id="selectProcurementSuppliesList" resultMap="BaseResultMap">
+ select * from procurement_supplies_list
+ <where>
+ <if test="contentsId != null and contentsId != ''">
+ and contents_id = #{contentsId}
+ </if>
+ </where>
+ <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+ ${ew.customSqlSegment}
+ </if>
+ </select>
+
+ <select id="selectProcurementSuppliesListForUpdate" resultMap="BaseResultMap">
+ select * from procurement_supplies_list where id = ${id} for update
+ </select>
+
+ <select id="selectProcurementSuppliesListAll" resultMap="BaseResultMap">
+ select
+ contents_id,item_number, consumables_type, consumables_name, specifications, supplier, upper_limit,
+ lower_limit, unit, remark, person_in_charge, update_user, update_time
+ from procurement_supplies_list
+ <where>
+ <if test="ew.contentsId != null and ew.contentsId != ''">
+ and contents_id = ${ew.contentsId}
+ </if>
+ </where>
+ </select>
+ <select id="selectProcurementSuppliesListByContentsId"
+ resultType="com.ruoyi.requier.pojo.ProcurementSuppliesList">
+ select id,
+ item_number,
+ consumables_type,
+ consumables_name,
+ specifications,
+ lower_limit,
+ unit,
+ remark
+ from procurement_supplies_list
+ where contents_id = ${id}
+ or contents_id in
+ (SELECT id
+ FROM `procurement_supplies_contents`
+ WHERE id = ${id}
+ OR parent_id = ${id})
+ </select>
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/ProcurementSuppliesStoreMapper.xml b/cnas-require/src/main/resources/mapper/ProcurementSuppliesStoreMapper.xml
new file mode 100644
index 0000000..0df7937
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/ProcurementSuppliesStoreMapper.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ruoyi.requier.mapper.ProcurementSuppliesStoreMapper">
+ <resultMap id="map" type="com.ruoyi.requier.dto.StoreDto">
+ <id column="id" property="id"/>
+ <result column="consumables_id" property="consumablesId"/>
+ <result column="odd_numbers" property="oddNumbers"/>
+ <result column="consumables_name" property="consumablesName"/>
+ <result column="store_number" property="storeNumber"/>
+ <result column="total_price" property="totalPrice"/>
+ <result column="storage_user" property="storageUser"/>
+ <result column="storage_time" property="storageTime"/>
+ <result column="remark" property="remark"/>
+ <result column="registrant" property="registrant"/>
+ <result column="registrant_time" property="registrantTime"/>
+ <result column="storageUserName" property="storageUserName"/>
+ <result column="registrantName" property="registrantName"/>
+ </resultMap>
+
+ <resultMap id="storeExcelMap" type="com.ruoyi.requier.excel.StoreExcel">
+ <result column="odd_numbers" property="oddNumbers"/>
+ <result column="consumables_name" property="consumablesName"/>
+ <result column="store_number" property="storeNumber"/>
+ <result column="total_price" property="totalPrice"/>
+ <result column="storage_time" property="storageTime"/>
+ <result column="remark" property="remark"/>
+ <result column="registrant_time" property="registrantTime"/>
+ <result column="storageUserName" property="storageUserName"/>
+ <result column="registrantName" property="registrantName"/>
+ </resultMap>
+
+
+ <select id="selectStoreList" resultMap="map">
+select * from (
+ SELECT
+ s.id,
+ c.id AS consumables_id,
+ s.contents_id,
+ s.odd_numbers,
+ c.consumables_name,
+ c.store_number,
+ c.total_price,
+ s.storage_user,
+ s.storage_time,
+ s.remark,
+ s.registrant,
+ s.registrant_time,
+ u.name AS storageUserName,
+ u1.name AS registrantName
+ FROM
+ `procurement_supplies_store` s
+ LEFT JOIN procurement_supplies_consumables c ON s.id = c.store_id
+ LEFT JOIN user u ON u.id = s.storage_user
+ LEFT JOIN user u1 ON u1.id = s.registrant
+ )a
+ <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+ ${ew.customSqlSegment}
+ </if>
+ </select>
+
+ <select id="exportExcel" resultMap="storeExcelMap">
+ SELECT * FROM (
+ SELECT
+ s.odd_numbers,
+ c.consumables_name,
+ c.store_number,
+ c.total_price,
+ s.storage_time,
+ s.remark,
+ s.registrant_time,
+ u.name AS storageUserName,
+ u1.name AS registrantName
+ FROM
+ `procurement_supplies_store` s
+ LEFT JOIN procurement_supplies_consumables c ON s.id = c.store_id
+ LEFT JOIN user u ON u.id = s.storage_user
+ LEFT JOIN user u1 ON u1.id = s.registrant
+
+ ) a
+ </select>
+
+
+
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/SupplierManagementMapper.xml b/cnas-require/src/main/resources/mapper/SupplierManagementMapper.xml
new file mode 100644
index 0000000..ee8e38a
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/SupplierManagementMapper.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.SupplierManagementMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.SupplierManagement">
+ <id column="supplier_management_id" property="supplierManagementId" />
+ <result column="supplier_name" property="supplierName" />
+ <result column="supplier_ref" property="supplierRef" />
+ <result column="supplier_item_service_name" property="supplierItemServiceName" />
+ <result column="postal_code" property="postalCode" />
+ <result column="adress" property="adress" />
+ <result column="logo" property="logo" />
+ <result column="contacts" property="contacts" />
+ <result column="phone" property="phone" />
+ <result column="household_name" property="householdName" />
+ <result column="fax" property="fax" />
+ <result column="opening_name" property="openingName" />
+ <result column="website" property="website" />
+ <result column="account_name" property="accountName" />
+ <result column="email" property="email" />
+ <result column="remarks" property="remarks" />
+ <result column="enclosure" property="enclosure" />
+ <result column="create_time" property="createTime" />
+ <result column="create_user" property="createUser" />
+ <result column="update_time" property="updateTime" />
+ <result column="update_user" property="updateUser" />
+ <result column="status" property="status" />
+ <result column="parent_id" property="parentId" />
+ </resultMap>
+ <select id="pageSupplierManagement" resultType="com.ruoyi.requier.pojo.SupplierManagement">
+ select *
+ from (select *
+ from cnas_supplier_management
+ order by create_time desc
+ ) a
+ <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+ ${ew.customSqlSegment}
+ </if>
+ </select>
+
+ <select id="selectQualifiedSupplierManagement" resultType="com.ruoyi.requier.pojo.SupplierManagement">
+ select *
+ from (select *
+ from cnas_supplier_management
+ where status = 0
+ order by create_time desc
+ ) a
+ <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+ ${ew.customSqlSegment}
+ </if>
+ </select>
+ <select id="selectSupplierManagementAll" resultType="com.ruoyi.requier.pojo.SupplierManagement">
+ SELECT csm.supplier_name,
+ csm.supplier_ref,
+ csm.supplier_item_service_name,
+ csm.postal_code,
+ csm.adress,
+ csm.contacts,
+ csm.phone,
+ csm.household_name,
+ csm.fax,
+ csm.opening_name,
+ csm.website,
+ csm.account_name,
+ csm.email
+ FROM cnas_supplier_management csm
+ <where>
+ <if test="parentId != null and parentId != 0">
+ csm.parent_id in (select id
+ from suppliers_directory_contents
+ where id = #{parentId}
+ or parent_id = #{parentId})
+ </if>
+ </where>
+ </select>
+ <select id="selectSupplierManagement" resultType="com.ruoyi.requier.pojo.SupplierManagement">
+ select
+ *
+ from cnas_supplier_management csm
+ where
+ csm.parent_id = #{parentId} or
+ csm.parent_id in
+ (select id from suppliers_directory_contents where id = #{parentId} or parent_id = #{parentId})
+ </select>
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/SuppliersDirectoryContentsMapper.xml b/cnas-require/src/main/resources/mapper/SuppliersDirectoryContentsMapper.xml
new file mode 100644
index 0000000..c1a8e66
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/SuppliersDirectoryContentsMapper.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.SuppliersDirectoryContentsMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.SuppliersDirectoryContents">
+ <id column="id" property="id" />
+ <result column="node_name" property="nodeName" />
+ <result column="code" property="code" />
+ <result column="update_user" property="updateUser" />
+ <result column="update_time" property="updateTime" />
+ <result column="parent_id" property="parentId" />
+ </resultMap>
+
+</mapper>
diff --git a/cnas-require/src/main/resources/static/foreign-register.docx b/cnas-require/src/main/resources/static/foreign-register.docx
new file mode 100644
index 0000000..60c94cf
--- /dev/null
+++ b/cnas-require/src/main/resources/static/foreign-register.docx
Binary files differ
diff --git a/cnas-require/src/main/resources/static/illumination.docx b/cnas-require/src/main/resources/static/illumination.docx
new file mode 100644
index 0000000..c2bfb5b
--- /dev/null
+++ b/cnas-require/src/main/resources/static/illumination.docx
Binary files differ
diff --git a/cnas-require/src/main/resources/static/internal-wastes.docx b/cnas-require/src/main/resources/static/internal-wastes.docx
new file mode 100644
index 0000000..3c3809e
--- /dev/null
+++ b/cnas-require/src/main/resources/static/internal-wastes.docx
Binary files differ
diff --git a/cnas-require/src/main/resources/static/power-stable.docx b/cnas-require/src/main/resources/static/power-stable.docx
new file mode 100644
index 0000000..070576f
--- /dev/null
+++ b/cnas-require/src/main/resources/static/power-stable.docx
Binary files differ
diff --git a/cnas-require/src/main/resources/static/temp_hum_date.docx b/cnas-require/src/main/resources/static/temp_hum_date.docx
new file mode 100644
index 0000000..72b9222
--- /dev/null
+++ b/cnas-require/src/main/resources/static/temp_hum_date.docx
Binary files differ
diff --git a/pom.xml b/pom.xml
index 92721e5..4bc4e9e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -275,6 +275,13 @@
<version>${ruoyi.version}</version>
</dependency>
+ <!--cnas鏍囧噯鐗╄川-->
+ <dependency>
+ <groupId>com.ruoyi</groupId>
+ <artifactId>cnas-require</artifactId>
+ <version>${ruoyi.version}</version>
+ </dependency>
+
<!-- minio -->
<dependency>
@@ -390,6 +397,7 @@
<module>performance-server</module>
<module>cnas-manage</module>
<module>cnas-process</module>
+ <module>cnas-require</module>
</modules>
<packaging>pom</packaging>
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index f3e566d..0fbb1aa 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -98,6 +98,12 @@
<groupId>com.ruoyi</groupId>
<artifactId>cnas-process</artifactId>
</dependency>
+
+ <!--cnas鏍囧噯鐗╄川-->
+ <dependency>
+ <groupId>com.ruoyi</groupId>
+ <artifactId>cnas-require</artifactId>
+ </dependency>
</dependencies>
<build>
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/FileSaveUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/FileSaveUtil.java
new file mode 100644
index 0000000..da4ca5f
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/FileSaveUtil.java
@@ -0,0 +1,179 @@
+package com.ruoyi.common.utils;
+
+import com.alibaba.excel.util.IoUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+import org.springframework.util.FileSystemUtils;
+import org.springframework.util.ObjectUtils;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.PostConstruct;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Random;
+
+/**
+ * 淇濆瓨鏂囦欢宸ュ叿
+ */
+@Slf4j
+@Component
+public class FileSaveUtil {
+
+ // 鍙杫ml涓殑璺緞 + /
+ private static String FILE_PATH;
+
+ private static String WORD_URL_PATH;
+
+ private static String[] ALLOWED;
+
+ @Value("${file.path}")
+ private String file;
+
+ @Value("${wordUrl}")
+ private String wordUrl;
+
+ @Value("${file.allowed}")
+ private String[] allowed;
+
+ @PostConstruct
+ public void getFile() {
+ FILE_PATH = this.file;
+ }
+
+ @PostConstruct
+ public void getWordUrl(){
+ WORD_URL_PATH = this.wordUrl;
+ }
+
+ @PostConstruct
+ public void getAllowed(){
+ ALLOWED = this.allowed;
+ }
+
+ /**
+ * 瀛樺偍鏂囦欢涓诲嚱鏁�
+ * @param file 鏂囦欢浜岃繘鍒舵祦
+ * @return 杩斿洖鏂囦欢鍚嶇О鐢ㄤ簬瀛樺偍鏁版嵁搴�
+ */
+ public static String StoreFile(MultipartFile file) {
+ String originalFilename = file.getOriginalFilename();
+ // 鐢熸垚闅忔満鍚嶇О锛氭椂闂確闅忔満6浣嶆暟瀛�
+ String FileName = System.currentTimeMillis() + "_" + getNumber(6);
+ String suffix = null;
+ if (originalFilename != null) {
+ suffix = originalFilename.substring(originalFilename.lastIndexOf("."));
+ // 濡傛灉鍚庣紑鍚嶄笉閫氳繃鎶涘嚭寮傚父
+ if (!isFileAllowed(suffix)){
+ throw new RuntimeException(suffix);
+ }
+ }
+ // 鍚嶇О鎷兼帴
+ String fileName = FileName + suffix;
+ // 杩涜瀛樺偍
+ try {
+ storeFileWithFileName(file.getBytes(), fileName);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ return fileName;
+ }
+
+ public static Boolean DeleteFile(String fileName) {
+ if (ObjectUtils.isEmpty(fileName)) {
+ return false;
+ }
+ return FileSystemUtils.deleteRecursively(new File(FILE_PATH + "/" + fileName));
+ }
+ /**
+ * 瀛樺偍鏂囦欢鍑芥暟
+ * @param content 鏂囦欢浜岃繘鍒舵祦
+ * @param fileName 鏂囦欢鍚嶇О
+ */
+ private static void storeFileWithFileName(byte[] content, String fileName) {
+ // 瀛樺偍璺緞
+ String path = FILE_PATH + File.separatorChar;
+ // 鐩綍涓嶅瓨鍦ㄥ垯鍒涘缓
+ File file = new File(path);
+ if (!file.exists()) {
+ file.mkdirs();
+ }
+ // 寮�濮嬪瓨鍌�
+ try (FileOutputStream os = new FileOutputStream(path + fileName);
+ ByteArrayInputStream is = new ByteArrayInputStream(content)) {
+ IoUtils.copy(is, os);
+ } catch (IOException e) {
+ throw new RuntimeException("鏂囦欢瀛樺偍鏍煎紡寮傚父");
+ }
+ }
+
+ /**
+ * 鍒ゆ柇鏂囦欢鏄惁琚厑璁镐笂浼�
+ *
+ * @param fileName 鏂囦欢鍚�
+ * @return 鍏佽true, 鍚﹀垯false
+ */
+ private static boolean isFileAllowed(String fileName) {
+ // 鑾峰彇鍚庣紑鍚�
+ String suffixName = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
+ for (String allow : ALLOWED) {
+ if (allow.equals(suffixName)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * 淇濆瓨鏂囦欢鍒皐ord鏂囦欢澶归噷
+ * @param file
+ * @return
+ */
+ public static String uploadWordFile(MultipartFile file) {
+ String urlString;
+ String pathName;
+ String path;
+ try {
+ String contentType = file.getContentType();
+ if (contentType != null && contentType.startsWith("image/")) {
+ // 鏄浘鐗�
+ path = FILE_PATH;
+ } else {
+ // 鏄枃浠�
+ path = WORD_URL_PATH;
+ }
+ File realpath = new File(path);
+ if (!realpath.exists()) {
+ realpath.mkdirs();
+ }
+ pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmss")) + "-" + file.getOriginalFilename();
+ urlString = realpath + "/" + pathName;
+ file.transferTo(new File(urlString));
+ return pathName;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+
+
+ /**
+ * 鑾峰彇闅忔満鏁板瓧
+ * @param n 浣嶆暟
+ * @return 杩斿洖闅忔満鍊�
+ */
+ public static String getNumber(int n) {
+ char[] chars = "1234567890".toCharArray();
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < n; i++) {
+ char c = chars[new Random().nextInt(chars.length)];
+ sb.append(c);
+ }
+ return sb.toString();
+ }
+}
--
Gitblit v1.9.3